KR20230069554A - Method of communicationg using multiple secure channel and device implementing thereof - Google Patents

Method of communicationg using multiple secure channel and device implementing thereof Download PDF

Info

Publication number
KR20230069554A
KR20230069554A KR1020210155682A KR20210155682A KR20230069554A KR 20230069554 A KR20230069554 A KR 20230069554A KR 1020210155682 A KR1020210155682 A KR 1020210155682A KR 20210155682 A KR20210155682 A KR 20210155682A KR 20230069554 A KR20230069554 A KR 20230069554A
Authority
KR
South Korea
Prior art keywords
user device
block
public key
user
information
Prior art date
Application number
KR1020210155682A
Other languages
Korean (ko)
Other versions
KR102658318B1 (en
Inventor
김철승
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020210155682A priority Critical patent/KR102658318B1/en
Publication of KR20230069554A publication Critical patent/KR20230069554A/en
Application granted granted Critical
Publication of KR102658318B1 publication Critical patent/KR102658318B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0827Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving distinctive intermediate devices or communication paths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3033Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to pseudo-prime or prime number generation, e.g. primality test
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Abstract

본 발명은 다중 암호화 채널을 이용한 통신 방법에 관한 것으로, 본 발명의 일 실시예에 의한 방법은, 사용자 장치가 사용자의 제1생체 정보를 이용하여 1차 암호화키 및 이에 대응하는 1차 공개키를 생성하여 저장하는 단계와 사용자 장치가 사용자의 제2생체 정보를 이용하여 2차 암호화키 및 이에 대응하는 2차 공개키를 생성하여 저장하는 단계와, 사용자 장치는 통신 대상인 메타버스 서버 또는 판매자 장치의 1차 공개키를 이용하여 2차 공개키 및 랜덤 넘버를 암호화한 제1블록의 식별정보를 메타버스 서버 또는 판매자 장치에게 전송하는 단계와 사용자 장치가 메타버스 서버 또는 판매자 장치로부터 수신한 제2블록의 식별정보를 이용하여 제2블록을 사용자 장치의 2차 암호화키로 복호화하여 랜덤 넘버를 확인하는 단계와 사용자 장치는 메타버스 서버 또는 판매자 장치를 신뢰성있는 통신 상대 장치로 설정하고 데이터 또는 블록의 식별정보를 송수신하는 단계를 포함한다. The present invention relates to a communication method using multiple encryption channels, and in accordance with an embodiment of the present invention, a user device generates a primary encryption key and a primary public key corresponding thereto using first biometric information of a user. The step of generating and storing and the step of generating and storing, by the user device, a secondary encryption key and a corresponding secondary public key using the user's second biometric information, and the user device is a metaverse server or seller device that is a communication target. Transmitting the identification information of the first block that encrypts the secondary public key and the random number using the primary public key to the metaverse server or seller device and the second block received by the user device from the metaverse server or seller device Decrypting the second block with the secondary encryption key of the user device using the identification information of and confirming the random number, and the user device sets the metaverse server or seller device as a reliable communication counterpart device and identifies data or block identification information It includes the step of transmitting and receiving.

Description

다중 암호화 채널을 이용한 통신 방법 및 이를 구현하는 장치{METHOD OF COMMUNICATIONG USING MULTIPLE SECURE CHANNEL AND DEVICE IMPLEMENTING THEREOF}Communication method using multiple encryption channels and device implementing the same

본 발명은 다중 암호화 채널을 이용한 통신 방법 및 이를 구현하는 장치에 관한 기술이다.The present invention relates to a communication method using multiple encryption channels and an apparatus implementing the same.

블록체인은 정보의 내용이나 유통 과정의 위조 또는 변조가 불가능한 블록들을 연결하여 정보의 신뢰성을 제공할 수 있다. 따라서 블록체인을 이용하여 정보를 생성하고 검증하는 기술에 대한 관심이 증대되고 있다. Blockchain can provide reliability of information by connecting blocks that cannot be falsified or tampered with in the contents or distribution process of information. Therefore, interest in technology for generating and verifying information using blockchain is increasing.

또한, 가상의 공간에서 현실 세계의 여러 경제, 사회, 문화적 활동에 대응하는 행동들을 수행할 수 있는 패러다임으로 메타버스(Metaverse)가 제시되고 있다.In addition, the metaverse is proposed as a paradigm that can perform actions corresponding to various economic, social, and cultural activities in the real world in a virtual space.

그러나, 블록체인 및 메타버스는 모두 온라인 상에서 이루어지고 있으므로 해킹 가능성이 발생한다. 따라서, 이들 장치들 사이에서 안전하게 암호화를 수행하면서도 편리한 방식의 암호화 기술이 필요하다. However, since both blockchain and metaverse are conducted online, the possibility of hacking arises. Therefore, there is a need for an encryption technology in a convenient method while safely performing encryption between these devices.

본 명세서는 전술한 문제점을 해결하기 위한 것으로, 장치들 사이의 신뢰성있는 정보를 교환할 수 있도록 한다. The present specification is intended to solve the above problems, and allows reliable information to be exchanged between devices.

또한, 본 명세서는 사용자의 생체 정보를 반영하여 암호화를 수행함으로써 사용자의 편의성을 향상시키고자 한다. In addition, the present specification is intended to improve user convenience by performing encryption by reflecting the user's biometric information.

또한, 본 명세서는 장치들의 암호화 과정을 다중으로 수행하여 해킹으로부터 보안을 유지할 수 있도록 한다. In addition, the present specification allows devices to perform multiple encryption processes to maintain security from hacking.

본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있다. The objects of the present invention are not limited to the above-mentioned objects, and other objects and advantages of the present invention not mentioned above can be understood by the following description.

본 발명의 일 실시예에 의한 방법은, 사용자 장치가 사용자의 제1생체 정보를 이용하여 1차 암호화키 및 이에 대응하는 1차 공개키를 생성하여 저장하는 단계와 사용자 장치가 사용자의 제2생체 정보를 이용하여 2차 암호화키 및 이에 대응하는 2차 공개키를 생성하여 저장하는 단계와, 사용자 장치는 통신 대상인 메타버스 서버 또는 판매자 장치의 1차 공개키를 이용하여 2차 공개키 및 랜덤 넘버를 암호화한 제1블록의 식별정보를 메타버스 서버 또는 판매자 장치에게 전송하는 단계와 사용자 장치가 메타버스 서버 또는 판매자 장치로부터 수신한 제2블록의 식별정보를 이용하여 제2블록을 사용자 장치의 2차 암호화키로 복호화하여 랜덤 넘버를 확인하는 단계와 사용자 장치는 메타버스 서버 또는 판매자 장치를 신뢰성있는 통신 상대 장치로 설정하고 데이터 또는 블록의 식별정보를 송수신하는 단계를 포함한다.The method according to an embodiment of the present invention includes the steps of generating and storing, by a user device, a primary encryption key and a primary public key corresponding thereto using first biometric information of a user; Generating and storing a secondary encryption key and a corresponding secondary public key using information, and the user device uses the primary public key of the metaverse server or seller device to communicate with the secondary public key and random number Transmitting the identification information of the encrypted first block to the metaverse server or seller device and the user device using the identification information of the second block received from the metaverse server or seller device to convert the second block to the second block of the user device. Decryption using the primary encryption key to confirm the random number; and the user device setting the metaverse server or seller device as a reliable communication counterpart device and transmitting/receiving data or block identification information.

본 발명의 일 실시예에 의한 사용자 장치는 1차 암호화키 및 이에 대응하는 1차 공개키와 2차 암호화키 및 이에 대응하는 2차 공개키를 저장하는 저장부와 메타버스 서버, 판매자 장치 및 블록체인 노드들과 통신하는 통신부와 저장부와 통신부를 제어하는 제어부를 포함한다. A user device according to an embodiment of the present invention is a storage unit for storing a primary encryption key, a primary public key corresponding thereto, a secondary encryption key and a secondary public key corresponding thereto, a metaverse server, a seller device, and a block It includes a communication unit that communicates with the chain nodes and a control unit that controls the storage unit and the communication unit.

본 발명의 일 실시예에 의한 사용자 장치는 사용자의 제1생체 정보를 이용하여 1차 암호화키 및 이에 대응하는 1차 공개키를 생성하여 저장부에 저장하고, 사용자의 제2생체 정보를 이용하여 2차 암호화키 및 이에 대응하는 2차 공개키를 생성하여 저장부에 저장한다. The user device according to an embodiment of the present invention generates and stores a primary encryption key and a primary public key corresponding thereto using the user's first biometric information, stores it in a storage unit, and uses the user's second biometric information A secondary encryption key and a corresponding secondary public key are generated and stored in a storage unit.

본 발명의 일 실시예에 의한 사용자 장치는 통신 대상인 메타버스 서버 또는 판매자 장치의 1차 공개키를 이용하여 2차 공개키 및 랜덤 넘버를 암호화한 제1블록을 생성하여 블록체인에 추가하는 프로세스를 수행한다. The user device according to an embodiment of the present invention uses the primary public key of the metaverse server or seller device to be communicated with to create a first block that encrypts the secondary public key and random number and adds it to the blockchain. carry out

본 발명의 일 실시예에 의한 사용자 장치는 메타버스 서버 또는 판매자 장치로부터 수신한 제2블록의 식별정보를 이용하여 제2블록을 사용자 장치의 2차 암호화키로 복호화하여 랜덤 넘버를 확인하여 메타버스 서버 또는 판매자 장치를 신뢰성있는 통신 상대 장치로 설정하고 메타버스 서버 또는 판매자 장치와 데이터 또는 블록의 식별정보를 송수신한다. The user device according to an embodiment of the present invention uses the identification information of the second block received from the metaverse server or the seller device to decrypt the second block with the secondary encryption key of the user device and check the random number to the metaverse server Alternatively, the seller device is set as a reliable communication counterpart device, and data or block identification information is transmitted and received with the metaverse server or seller device.

본 발명의 실시예들을 적용할 경우 장치들 사이의 신뢰성있는 정보를 교환할 수 있다. When the embodiments of the present invention are applied, reliable information can be exchanged between devices.

또한, 본 발명의 실시예들을 적용할 경우 사용자의 생체 정보를 반영하여 암호화를 수행함으로써 사용자의 편의성을 향상시킨다. In addition, when the embodiments of the present invention are applied, user convenience is improved by performing encryption by reflecting the user's biometric information.

또한, 본 발명의 실시예들을 적용할 경우 장치들의 암호화 과정을 다중으로 수행하여 해킹으로부터 보안을 유지할 수 있다. In addition, when the embodiments of the present invention are applied, security from hacking can be maintained by performing multiple encryption processes on devices.

본 발명의 효과는 전술한 효과에 한정되지 않으며, 본 발명의 구성에서 본 발명의 다양한 효과들이 쉽게 도출될 수 있다. The effects of the present invention are not limited to the above-mentioned effects, and various effects of the present invention can be easily derived from the configuration of the present invention.

도 1은 본 발명의 일 실시예에 의한 각각의 장치들의 상호 작용을 보여주는 도면이다.
도 2는 본 발명의 일 실시예에 의한 각각의 장치들이 다중 암호화 채널을 이용하는 과정을 보여주는 도면이다.
도 3은 본 발명의 일 실시예에 의한 1차 암호화키를 생성하는 과정을 보여주는 도면이다.
도 4는 본 발명의 일 실시예에 의한 2차 암호화키를 만드는 과정을 보여주는 도면이다.
도 5는 본 발명의 일 실시예에 의한 2차 암호화키를 생성하는 과정을 보여주는 도면이다.
도 6 내지 도 7은 본 발명의 일 실시예에 의한 암호화된 정보를 이용하여 장치들이 안전하게 정보를 교환하는 과정을 보여주는 도면이다.
도 8은 본 발명의 일 실시예에 의한 장치들 사이의 암호화 메시지의 구성을 보여주는 도면이다.
도 9는 본 발명의 일 실시예에 의한 암호화키를 생성하는 3차원 신호 스페이스를 보여주는 도면이다.
도 10은 본 발명의 일 실시예에 의한 가상 세계의 공간을 분할하는 예를 보여주는 도면이다.
도 11은 본 발명의 일 실시예에 의한 사용자 장치의 구성을 보여주는 도면이다.
1 is a diagram showing the interaction of each device according to an embodiment of the present invention.
2 is a diagram showing a process in which each device uses multiple encryption channels according to an embodiment of the present invention.
3 is a diagram showing a process of generating a primary encryption key according to an embodiment of the present invention.
4 is a diagram showing a process of generating a secondary encryption key according to an embodiment of the present invention.
5 is a diagram showing a process of generating a secondary encryption key according to an embodiment of the present invention.
6 and 7 are diagrams illustrating a process of securely exchanging information between devices using encrypted information according to an embodiment of the present invention.
8 is a diagram showing the configuration of an encryption message between devices according to an embodiment of the present invention.
9 is a diagram showing a three-dimensional signal space for generating an encryption key according to an embodiment of the present invention.
10 is a diagram showing an example of dividing a space of a virtual world according to an embodiment of the present invention.
11 is a diagram showing the configuration of a user device according to an embodiment of the present invention.

본 발명의 실시예를 명확하게 설명하기 위해서 도면을 참조할 수 있으며, 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조 부호를 붙이도록 한다. In order to clearly describe the embodiments of the present invention, reference may be made to the drawings, parts irrelevant to the description are omitted, and the same reference numerals are assigned to the same or similar components throughout the specification.

어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 다른 구성 요소가 "개재"되거나, 각 구성 요소가 다른 구성 요소를 통해 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.When an element is described as being “connected,” “coupled to,” or “connected” to another element, that element is or may be directly connected to that other element, but intervenes between each element. It will be understood that may be "interposed", or each component may be "connected", "coupled" or "connected" through other components.

본 명세서에서 블록의 블록체인 추가 프로세스는 생성된 블록을 블록체인에 추가하는 일련의 과정을 포함한다. 블록 추가 프로세스는 블록을 생성한 후, 이 블록의 무결성 검증이 완료되면(즉, 정상인 경우) 해당 블록을 블록체인에 추가하고, 추가된 블록의 식별정보(예를 들어 블록의 주소)를 응답받는 일련의 과정을 포함한다. In this specification, the process of adding a block to a blockchain includes a series of processes of adding a generated block to a blockchain. The block adding process creates a block, then adds the block to the blockchain when integrity verification of the block is complete (i.e., if it is normal), and receives the response of the added block's identification information (eg block's address). It includes a series of processes.

본 명세서에서 블록은 암호화될 수 있다. 블록을 생성하는 장치 측은 해당 블록의 식별정보를 수신하는 장치 측의 공개키로 해당 블록의 내용을 암호화할 수 있다. 그리고 블록의 식별정보를 수신한 장치는 자신의 개인키로 해당 블록의 내용을 복호화할 수 있다. In this specification, blocks may be encrypted. The device generating the block may encrypt the contents of the corresponding block with a public key of the device receiving the identification information of the corresponding block. And the device receiving the identification information of the block can decrypt the contents of the corresponding block with its own private key.

또한, 암호화 방식은 위의 공개키-개인키 방식 외에도 미리 약속된 방식으로 진행될 수 있다. In addition, the encryption method may be performed in a previously agreed method other than the above public key-private key method.

본 명세서는 블록체인에 기반하여 메타버스와 연동된 다중 암호화 채널을 이용하여 아이템 거래와 가상 자산의 거래의 안전성을 보장하는 기술에 대해 살펴본다.This specification looks at a technology that guarantees the safety of item transactions and virtual asset transactions using multiple encryption channels linked to the metaverse based on blockchain.

이하, 가전제품을 구매하거나 가전제품의 UX를 통해서 광고 동영상, 음성, 음악을 고객에게 재생해주고 광고업체에서 보상으로 받게되는 가상화폐를 저장할 수 있는 전자지갑을 고객 가정의 각 가족 구성원 별 또는 가족전체에 1개를 생성하고, 각 가족 구성원 별 전자지갑에 보상으로 지급되는 가상화폐를 각 가족 구성원을 식별하여 각 전자지갑으로 지급하는 과정에 대해 살펴본다. Hereinafter, each family member of the customer's home or the entire family is provided with an electronic wallet that can store virtual currency received as compensation from advertising companies by playing advertisement videos, voices, and music to customers by purchasing home appliances or through the UX of home appliances. Create one in , and look at the process of identifying each family member and paying the virtual currency that is paid as a reward to the electronic wallet for each family member to each electronic wallet.

메타버스 세계에서 취득한 가상화폐를 가전제품에 생성된 각 가족 구성원 별 전자지갑으로 자동으로 전송을 하고, 메타버스 세계에서 가상 아이템을 구매하거나 실물과 연동되어있는 NFT를 구매할 때에도 가상화폐를 전자지갑에서 출금하여 매도자에게 지불할 수 있도록 한다. The virtual currency acquired in the metaverse world is automatically transferred to the electronic wallet for each family member created in the home appliance, and the virtual currency is transferred from the electronic wallet when purchasing virtual items or NFTs linked to real objects in the metaverse world. Withdraw and make payments to the seller.

도 1은 본 발명의 일 실시예에 의한 각각의 장치들의 상호 작용을 보여주는 도면이다. 1 is a diagram showing the interaction of each device according to an embodiment of the present invention.

사용자 장치(User Device, 100)는 사용자가 사용하는 가전제품, 휴대폰 등의 통신단말, 컴퓨터 등을 포함한다. 사용자의 정보를 암호화하여 메타버스 서버(300)에게 전송하고, 메타버스 서버(300)가 구현하는 메타버스 세계 내에서 소정의 가상 자산을 거래할 수 있다. 또한. 사용자 장치(100)는 사용자의 생체 정보를 취득하여 이를 기반으로 암호화를 수행할 수 있다. The user device (User Device, 100) includes a home appliance used by a user, a communication terminal such as a mobile phone, a computer, and the like. The user's information is encrypted and transmitted to the metaverse server 300, and a predetermined virtual asset can be traded within the metaverse world implemented by the metaverse server 300. also. The user device 100 may acquire the user's biometric information and perform encryption based on it.

판매자 장치(200) 역시 다른 사용자가 이용할 수 있는 가전제품, 휴대폰 등의 통신단말, 컴퓨터 등을 포함한다. 판매자 장치(200)는 사용자 장치(100)와 메타버스 세계 내에서의 가상 자산 또는 현실 자산에 대응하는 가상 자산을 거래하는 장치이다. The seller device 200 also includes home appliances, communication terminals such as mobile phones, and computers that other users can use. The seller device 200 is a device that trades virtual assets corresponding to virtual assets or real assets in the user device 100 and the metaverse world.

메타버스 서버(Metaverse Server, 300)는 다양한 사용자 장치(100)와 통신하며 통신 과정에서 소정의 암호화/복호화 작업을 수행한다. 메타버스 서버(300)는 메타버스를 구현하여 사용자 장치(100)들에게 메타버스 세계/환경을 제공할 수 있다.The metaverse server 300 communicates with various user devices 100 and performs predetermined encryption/decryption tasks during communication. The metaverse server 300 may provide a metaverse world/environment to the user devices 100 by implementing the metaverse.

블록체인 노드(500)는 블록체인에 추가되는 블록들의 무결성을 검증한 후 블록체인에 블록을 추가하며, 추가된 블록의 식별정보(예를 들어 주소)를 장치들 또는 서버들에게 전송하는 하나 이상의 장치들을 포함한다. 이하 블록체인 추가 프로세스는 NFT 블록의 추가 프로세스 또는 정보나 메시지를 포함하는 블록을 블록체인에 추가하는 프로세스에 적용될 수 있다. 아울러, 블록체인 노드(500)는 블록 추가가 성공적으로 이루어진 경우 추가된 블록의 식별 정보를 블록 추가를 요청한 장치 또는 블록의 식별 정보를 수신할 장치 등에게 전송할 수 있다. The blockchain node 500 verifies the integrity of the blocks added to the blockchain, adds the block to the blockchain, and transmits identification information (eg, address) of the added block to devices or servers. includes devices. The process of adding a blockchain below can be applied to a process of adding an NFT block or a process of adding a block containing information or messages to a blockchain. In addition, the blockchain node 500 may transmit identification information of the added block to a device requesting block addition or a device to receive the block identification information when block addition is successfully performed.

도 2는 본 발명의 일 실시예에 의한 각각의 장치들이 다중 암호화 채널을 이용하는 과정을 보여주는 도면이다. 도 2는 가전/휴대폰 장치를 일 실시예로 하는 사용자 장치(100)가 최초로 생체정보를 바탕으로 1차 인증을 수행하고 사용자를 인증하여 서버와 상호간에 인증하는 과정을 보여준다. 2 is a diagram showing a process in which each device uses multiple encryption channels according to an embodiment of the present invention. FIG. 2 shows a process in which the user device 100, which is a home appliance/mobile phone device as an embodiment, first performs primary authentication based on biometric information, authenticates the user, and authenticates the server and each other.

사용자 장치(100)는 사용자의 제1생체 정보를 추출하여 1차 암호화키로 저장한다(S11). 예를 들어, 사용자 장치(100)는 사용자의 지문 정보를 추출하여 저장할 수 있다. 일 실시예로, 사용자 장치(100)는 지문의 특징점을 추출하고, 사용자의 1차 암호화키를 생성하며, 지문정보를 사용자 장치(100)의 하드웨어 칩(Hardware Chip)내부에 저장한다. The user device 100 extracts the user's first biometric information and stores it as a primary encryption key (S11). For example, the user device 100 may extract and store user's fingerprint information. As an embodiment, the user device 100 extracts feature points of a fingerprint, generates a user's primary encryption key, and stores fingerprint information in a hardware chip of the user device 100 .

다음으로 사용자 장치(100)는 사용자의 제2생체 정보를 추출하여 2차 암호화키로 저장한다(S12). 앞서 1차 암호화키를 이용하여 사용자의 지문을 접촉한 후 사용자 장치(100)는 홍채 데이터 또는 음성 데이터를 센싱하여 제2생체 정보를 확보한다. 그리고 사용자 장치(100)는 홍채, 음성 특징점을 바탕으로 사용자의 2차 암호화키를 생성한다. Next, the user device 100 extracts the user's second biometric information and stores it as a secondary encryption key (S12). After contacting the user's fingerprint using the primary encryption key, the user device 100 secures the second biometric information by sensing iris data or voice data. Further, the user device 100 generates a user's secondary encryption key based on the iris and voice feature points.

아울러, 사용자 장치(100)는 2차 암호화키에 대응하는 2차 공개키를 생성할 수 있다. In addition, the user device 100 may generate a secondary public key corresponding to the secondary encryption key.

그리고, 사용자 장치는 랜덤 넘버(Random number)를 생성하고(S13), 랜덤넘버와 사용자의 2차 공개키를 메타버스 서버(300)의 1차 공개키로 암호화하여 메타버스 서버(300)에게 전송한다(S14). 메타버스 서버(300)는 서버의 개인키로 복호화하여 랜덤넘버와 사용자의 2차 공개키를 복화화한다(S15). 사용자의 2차 공개키는 추후 사용자 장치(100)와의 암호화된 정보를 교환하는 과정에서 사용된다.Then, the user device generates a random number (S13), encrypts the random number and the user's secondary public key with the primary public key of the metaverse server 300, and transmits it to the metaverse server 300. (S14). The metaverse server 300 decrypts the random number and the user's secondary public key by decrypting with the private key of the server (S15). The user's secondary public key is used in the process of exchanging encrypted information with the user device 100 later.

이후 메타버스 서버(300)는 랜덤 넘버를 사용자의 2차 공개키로 암호화하여 사용자 단말(100)에게 전송한다(S16). 그리고 사용자 장치(100)는 메타버스 내의 정보(사용자 캐릭터의 위치, 속도 등)를 저장한 후 해당 정보를 메타버스 서버(300)의 1차 공개키로 암호화하여 메타버스 서버(300)에게 전송한다(S17, S18). 메타버스 서버(300)는 서버의 개인키로 복호화하여 정보를 확인한다(S19). 이후 메타버스 서버(300)는 사용자 장치(100)에게 ACK를 전송한다(S20). Then, the metaverse server 300 encrypts the random number with the user's secondary public key and transmits it to the user terminal 100 (S16). In addition, the user device 100 stores information (position, speed, etc. of the user character) in the metaverse, encrypts the information with the primary public key of the metaverse server 300, and transmits it to the metaverse server 300 ( S17, S18). Metaverse server 300 decrypts with the private key of the server to check the information (S19). Then, the metaverse server 300 transmits an ACK to the user device 100 (S20).

도 2의 실시예는 다음과 같이 적용할 수 있다. 사용자 장치(100)가 사용자의 제1생체 정보를 이용하여 1차 암호화키 및 이에 대응하는 1차 공개키를 생성하여 저장한다. 그리고 사용자 장치(100)가 사용자의 제2생체 정보를 이용하여 2차 암호화키 및 이에 대응하는 2차 공개키를 생성하여 저장한다. The embodiment of FIG. 2 can be applied as follows. The user device 100 generates and stores a primary encryption key and a primary public key corresponding thereto using the user's first biometric information. Then, the user device 100 generates and stores a secondary encryption key and a corresponding secondary public key using the user's second biometric information.

그리고, 사용자 장치(100)는 통신 대상인 메타버스 서버(300) 또는 판매자 장치(200)의 1차 공개키를 이용하여 사용자 장치의 2차 공개키 및 랜덤 넘버를 암호화한 제1블록의 식별정보를 메타버스 서버(300) 또는 판매자 장치(200)에게 전송한다. 이후, 사용자 장치(100)가 메타버스 서버(300) 또는 판매자 장치(200)로부터 수신한 제2블록의 식별정보를 이용하여 사용자 장치(100)의 2차 암호화키로 제2블록을 복호화하여 랜덤 넘버를 확인한다. 앞서 보냈던 랜덤 넘버와 수신한 랜덤 넘버가 동일하면 사용자 장치(100)는 통신 상대를 해커가 아닌 것으로 확인한다. In addition, the user device 100 uses the primary public key of the metaverse server 300 or the seller device 200 as a communication target to identify the identification information of the first block that encrypts the secondary public key and random number of the user device. It is transmitted to the metaverse server 300 or the seller device 200. Thereafter, the user device 100 decrypts the second block with the secondary encryption key of the user device 100 using the identification information of the second block received from the metaverse server 300 or the seller device 200 to obtain a random number Check the If the previously sent random number and the received random number are the same, the user device 100 determines that the communication partner is not a hacker.

이후 사용자 장치(100)는 메타버스 서버(300) 또는 판매자 장치(200)를 신뢰성있는 통신 상대 장치로 설정하고 데이터 또는 블록의 식별정보를 송수신할 수 있다. Then, the user device 100 may set the metaverse server 300 or the seller device 200 as a reliable communication counterpart device and transmit/receive data or block identification information.

여기서, 제1생체 정보는 사용자의 지문의 특징점 정보가 될 수 있으며, 제2생체 정보는 사용자의 홍채 특징점 또는 사용자의 음성 특징점 중 어느 하나 이상이 될 수 있다. Here, the first biometric information may be the user's fingerprint feature point information, and the second biometric information may be any one or more of the user's iris feature point or the user's voice feature point.

도 2의 과정을 통해 두 개의 암호화키가 생성되며 이를 이용하여 안전하게 통신이 이루어진다. Two encryption keys are generated through the process of FIG. 2, and communication is performed safely using them.

암호화키를 만드는 상세한 실시예를 살펴본다. 사용자 장치(100)의 일 실시예로 가전제품을 살펴본다. 가전제품의 센서는 각 가정 내의 구성원들의 음향, 음성, 동작센서, CCTV 영상 등에서 측정한 로우 데이터(Raw Data)를 메타버스 서버(300)로 전송한다. 메타버스 서버(300)는 클라우드 분석 서버의 기능을 제공하며 가전제품의 센서들이 획득한 로우 데이터를 각 데이터의 특성에 맞추어서 분석한다. Let's look at a detailed embodiment of creating an encryption key. Home appliances will be described as an example of the user device 100 . The sensor of the home appliance transmits the raw data (Raw Data) measured from the sound, voice, motion sensor, CCTV image, etc. of members in each household to the metaverse server (300). The metaverse server 300 provides the function of a cloud analysis server and analyzes raw data obtained by sensors of home appliances according to the characteristics of each data.

이후, 메타버스 서버(300)는 각 가족구성원의 특성(성별, 나이, 음성성문분석, 홍채인식, 지문인식, 키, 걸음정보 등) 정보를 식별하여, 각 가족 구성원의 외모, 키, 체형, 성별을 기초로 하여 메타버스 세계 내에서 가상의 입체적 형상을 지닌 캐릭터를 생성한다. 그리고 메타버스 서버(300)는 전자 지갑을 각 가족 구성원 별로 생성할 수 있다. Then, the metaverse server 300 identifies the characteristics (gender, age, voice analysis, iris recognition, fingerprint recognition, height, step information, etc.) of each family member, and identifies each family member's appearance, height, body type, Based on gender, a character with a virtual three-dimensional shape is created within the metaverse world. In addition, the metaverse server 300 may create an electronic wallet for each family member.

전자 지갑은 블록체인상에 존재하는 개인이 가상화폐 자산의 입금, 출금, 계좌번호, 현재 잔고 등의 장부기록들이 기록된 데이터를 개인키로 암호화한다. 블록체인상의 블록에 다양한 데이터가 저장되며, 사용자 장치(100)는 해당 블록을 읽어와서 사용자의 개인키로 복호화한 후에 현재 잔고, 과거 입금, 출금 내역 등의 내역들을 확인할 수 있다. The electronic wallet encrypts the data recorded in the ledger records such as deposit, withdrawal, account number, and current balance of virtual currency assets by individuals existing on the blockchain with a private key. Various data are stored in blocks on the blockchain, and the user device 100 can read the block and decrypt it with the user's private key, and then check details such as current balance, past deposit and withdrawal details.

아울러, 가상 화폐가 부족한 경우 사용자 장치(100)는 전자지갑에서 가상화폐를 신용카드, 은행계좌상의 화폐, 다른 가상화폐를 이용해서 해당 가상화폐(코인)등을 구매할 수 있다.In addition, when the virtual currency is insufficient, the user device 100 may purchase the corresponding virtual currency (coin) using a credit card, money in a bank account, or other virtual currency in an electronic wallet.

사용자 장치(100)는 메타버스 세계 내에서 가상의 캐릭터를 생성할 때에 사용되는 생체 정보, 예를 들어, 눈동자 색상, 머리카락 색상, 동공의 주름, 음성의 성문 등을 카메라와 센서로 측정할 수 있다. 그리고 사용자 장치(100)는 한 종류의 센서 데이터의 고유값과 다른 종류의 N개 이상의 다수 센서데이터의 고유값을 조합하여 M비트이상의 길이를 가지는 개인키를 생성한다.The user device 100 may measure biometric information used when creating a virtual character in the metaverse world, for example, pupil color, hair color, pupil wrinkles, voice voice, etc., with a camera and a sensor. . Further, the user device 100 generates a private key having a length of M bits or more by combining a unique value of one type of sensor data with a unique value of N or more sensor data of different types.

사용자 장치(100)가 개인키를 생성하는 방식은 블록체인 알고리즘에서 허용되는 블록의 최대크기와 헤더의 최대크기에 비례할 수 있다.The method by which the user device 100 generates a private key may be proportional to the maximum block size and header size allowed in the blockchain algorithm.

사용자 장치(100)는 생체 정보의 일 실시예인 음성성문분석값, 동공주름분석값, 지문분석값들을 비트값의 형태로 연달아 연결하고, 해당 블록을 암호화하기 위하여 허용되는 개인키의 최대길이(비트)까지 잘라서 사용할 수 있다. The user device 100 successively connects the voice print analysis value, the pupil wrinkle analysis value, and the fingerprint analysis value, which are examples of biometric information, in the form of a bit value, and the maximum length of the private key allowed to encrypt the block (bit value). ) can be cut and used.

그리고 사용자 장치(100)는 최초로 사용자 장치(100, 예를 들어 가전제품/휴대폰)에 생체 정보(지문)을 등록하고, 1차 암호화키(개인키)를 생성한 후, 사용자 장치의 내부에 존재하는 하드웨어 칩에 1차 암호화키(개인키)를 등록할 수 있다. 해당 하드웨어 시큐리티 칩(Hardware Security Chip)의 일 실시예는 1회만 쓰기가 가능한 칩일 수 있다. 그리고 사용자 장치(100)는 1차 암호화키(개인키)를 등록한 후에, 하드웨어 내부에 저장한다.In addition, the user device 100 registers biometric information (fingerprint) in the user device 100 (eg, home appliance/mobile phone) for the first time, generates a primary encryption key (private key), and then exists inside the user device. It is possible to register the primary encryption key (private key) in the hardware chip to be used. An embodiment of the corresponding hardware security chip may be a chip capable of being written only once. And, after the user device 100 registers the primary encryption key (private key), it is stored inside the hardware.

도 3은 본 발명의 일 실시예에 의한 1차 암호화키를 생성하는 과정을 보여주는 도면이다. 사용자 장치가 제1생체 정보의 특징점을 소수(prime number)의 리스트를 원형으로 생성하여 특정한 길이의 1차 암호화키를 산출하는 과정을 보여준다. 3 is a diagram showing a process of generating a primary encryption key according to an embodiment of the present invention. The user device generates a list of prime numbers of feature points of first biometric information in a circular form to calculate a primary encryption key of a specific length.

사용자 장치(100)는 지문의 특징점을 추출하여 시퀀스를 생성한다(S31). 예를 들어, 휴대폰 또는 가전제품은 지문의 특징점을 인식하여 소수들의 리스트(x 시퀀스)를 만든다. 그리고 사용자 장치(100)는 S32와 같이 원형순환의 형태로 만들어서 특정한 길이의 비트의 길이만큼 입력시퀀스를 생성한다. S32는 지문의 특징점에서 추출된 소수(prime number)들을 원순열로 만들고, 마지막 숫자 다음에는 첫번째 숫자를 배치한 형태이다. The user device 100 generates a sequence by extracting feature points of the fingerprint (S31). For example, mobile phones or home appliances recognize feature points of a fingerprint and create a list (x sequence) of prime numbers. Then, the user device 100 generates an input sequence as long as a bit length of a specific length by making it in the form of a circular cycle as in S32. S32 is a form in which the prime numbers extracted from the feature points of the fingerprint are made in circular order, and the first number is arranged after the last number.

S32에서 사용자 장치(100)는 지문의 특징점에 소수(prime number)를 임의로 할당하고 (13, 17, 19, 23, 29, 31) 소수의 순열을 만든 후에 마지막 29->13으로 연결되도록 원순열을 만든다. 사용자 장치(100)는 소수가 최소 1Byte 이상의 길이를 가지며, 비트로 환산하면 8bit이상의 길이를 가지도록 한다. 1차 개인키의 길이는 보안 칩(security chip)의 싸이퍼링(chipering) 구조를 반영하여 128비트, 256비트로 설정될 수 있다. In S32, the user device 100 randomly assigns prime numbers to feature points of the fingerprint (13, 17, 19, 23, 29, 31), creates a permutation of the prime numbers, and then repeats the prime numbers so that the last 29->13 are connected. makes The user device 100 ensures that a decimal number has a length of at least 1 Byte or more, and has a length of 8 bits or more when converted into bits. The length of the primary private key may be set to 128 bits or 256 bits by reflecting the ciphering structure of the security chip.

이후 사용자 장치(100)는 공개키 y를 생성한다(S33). 일 실시예로, 사용자 장치(100)는 엘립틱스 커브(Elliptics Curve) 함수인 f(x,y)=K를 만족시키는 공개키 y시퀀스를 찾을 수 있다. Then, the user device 100 generates a public key y (S33). As an example, the user device 100 may find a public key y sequence that satisfies f(x,y)=K, which is an elliptics curve function.

그리고 사용자 장치(100)는 메타버스 서버(300)에게 사용자 장치의 공개키(y)를 전송한다(S34). 마찬가지로 메타버스 서버(300)도 전술한 실시예에 따라 자신의 공개키와 개인키를 생성한 후에 공개키를 휴대폰 또는 가전제품과 같은 사용자 장치(100)에게 전송할 수 있다. And the user device 100 transmits the public key (y) of the user device to the metaverse server 300 (S34). Similarly, the metaverse server 300 may generate its own public key and private key according to the above-described embodiment and then transmit the public key to the user device 100 such as a mobile phone or home appliance.

사용자 장치(100)가 공개키를 생성하는 방식의 일 실시예로 함수(예를 들어 Elliptics Curve Decline)를 이용할 수 있다. 사용자 장치(100)는 F(x,y)=K 라는 수학적으로 정의된 함수 중에서 x(개인키)를 이용하여 y(공개키)는 쉽게 계산해서 찾을 수 있으나, y를 이용할 경우에는 개인키 x를 찾을 수 없도록 y를 생성할 수 있다. As an example of a method for generating a public key by the user device 100, a function (eg, Elliptics Curve Decline) may be used. The user device 100 can easily calculate and find y (public key) using x (private key) from a mathematically defined function F(x,y)=K, but when using y, the private key x You can create y so that it cannot be found.

앞서 도 2 및 도 3에서 살펴본 바와 같이, 사용자 장치(100)는 통신의 상대방이 해커인지 메타버스 서버(300)인지 확인하기 위하여 랜덤한 숫자들을 발생시키고 서버의 공개키로 암호화하여 랜덤한 숫자를 전송한다. 서버는 자신의 개인키로 복호화하여 해당 랜덤한 숫자들을 복호화한 후에 다시 사용자 장치(100)의 공개키로 암호화하여 사용자 장치(100)에게 전송한다. As described above in FIGS. 2 and 3, the user device 100 generates random numbers to determine whether the other party of communication is a hacker or the metaverse server 300, encrypts them with the public key of the server, and transmits the random numbers. do. The server decrypts the corresponding random numbers by decrypting them with its own private key, and then encrypts them again with the public key of the user device 100 and transmits them to the user device 100.

이때, 사용자 장치(100)는 수신한 데이터를 개인키로 복호화하여 사용자 장치(100)가 처음에 생성했던 숫자들의 나열과 복호화한 데이터가 동일한지 확인하여 동일하면 상대방은 정당한 서버임을 인증한다. 마찬가지로 메타버스 서버(300) 역시 전술한 과정을 거쳐서 사용자 장치(100)가 정당한 장치임을 확인할 수 있다. At this time, the user device 100 decrypts the received data with the private key and checks whether the list of numbers initially generated by the user device 100 and the decrypted data are the same. Similarly, the metaverse server 300 can also confirm that the user device 100 is a legitimate device through the above process.

도 4는 본 발명의 일 실시예에 의한 2차 암호화키를 만드는 과정을 보여주는 도면이다. 사용자 장치(100)가 제1생체 정보에서 산출된 정보 및 제2생체 정보에서 산출된 정보 중 일부 비트를 추출하여 2차 암호화키를 산출하는 과정을 보여준다.4 is a diagram showing a process of generating a secondary encryption key according to an embodiment of the present invention. A process in which the user device 100 extracts some bits from the information calculated from the first biometric information and the information calculated from the second biometric information to calculate the secondary encryption key is shown.

사용자 장치(100)는 사용자의 N개의 생체 정보(예를 들어 음성성문 분석값, 각막 주름 분석값, 지문 분석값)을 센싱하여 각각 X1/Y1/Z1 비트를 가지는 정보를 생성한다(S35). The user device 100 senses the user's N pieces of biometric information (for example, a voice print analysis value, a corneal wrinkle analysis value, and a fingerprint analysis value) and generates information having X1/Y1/Z1 bits, respectively (S35).

사용자 장치(100)는 암호화할 데이터의 길이(V) 보다 암호화키(N 종류의 고유값들 중에서 일부분만 취득하여 결합한 고유값들을 이어붙인 값)의 길이가 충분히 길며, 또한 암호화용 칩(chip)에서 처리할 수 있는 길이(W)가 충분히 긴 경우에는 W = X1+Y1+Z1 비트의 길이로 개인키를 생성한다.In the user device 100, the length of the encryption key (a value obtained by concatenating the unique values obtained by acquiring only some of N types of unique values) is sufficiently longer than the length (V) of the data to be encrypted, and the user device 100 has a chip for encryption. If the length (W) that can be processed in is sufficiently long, a private key is generated with the length of W = X1+Y1+Z1 bits.

만약, W < X1+Y1+Z1 인 경우에는, X1비트 + Y1비트 +Z2비트의 길이로 개인키를 생성한다. Z2비트는 Z1비트의 일부이다. If W < X1+Y1+Z1, a private key is generated with a length of X1 bits + Y1 bits + Z2 bits. The Z2 bit is part of the Z1 bit.

사용자 장치(100)가 암호화키를 생성함에 있어서 각 음성성문분석값의 전체 X1 비트값을 사용할 경우 각 개인의 음성의 특성이 중복되지 않고 식별이 된다. 마찬가지로, 각막주름분석값도 전체 Y1비트 값을 모두 활용할 경우 각 개인의 각막을 식별할 수 있는 고유한 값으로서 가치가 높아진다. When the user device 100 uses all X1 bit values of each voiceprint analysis value when generating an encryption key, the characteristics of each person's voice are not duplicated and identified. Similarly, when all Y1 bit values are used for the corneal wrinkle analysis value, the value increases as a unique value capable of identifying each individual's cornea.

따라서, 지문분석값의 원래 길이인 Z1비트를 모두 사용할 수 없는 경우에 사용자 장치(100)는 지문 분석값의 맨 앞 비트값부터 Z2비트길이까지 잘라서 앞에 다른 고유값들에게 붙여서 개인키를 생성할 수 있다(S36). Therefore, when all Z1 bits, which are the original length of the fingerprint analysis value, cannot be used, the user device 100 cuts the first bit value of the fingerprint analysis value to the Z2 bit length and appends them to other unique values to generate a private key. It can (S36).

W = X1 + Y1 + Z2W = X1 + Y1 + Z2

만약, 지문분석값에서 산출된 Z2비트의 길이가 Z1을 기준으로 일정 기준 이상 짧은 경우, X1, Y1에서 일부 앞부분 또는 뒷부분을 제외시킨 X2, Y2 비트를 S36 단계에서 사용할 수 있다. 이 경우 X2 비트의 길이는 X1 비트의 길이 보다 작으며 Y2 비트의 길이는 Y1 비트의 길이보다 작다. 사용자 장치(100)는 암호화키를 생성하는 과정에서 Z2/Z1, Y2/Y1, X2/X1의 범위를 정할 수 있다. If the length of Z2 bits calculated from the fingerprint analysis value is shorter than a certain standard based on Z1, X2 and Y2 bits excluding some front or rear parts from X1 and Y1 can be used in step S36. In this case, the length of the X2 bits is less than the length of the X1 bits, and the length of the Y2 bits is less than the length of the Y1 bits. The user device 100 may determine the ranges of Z2/Z1, Y2/Y1, and X2/X1 in the process of generating an encryption key.

W는 암호화 칩이 한번에 데이터를 입력받아서 암호화키(개인키)와 곱하기 연산을 할 수 있는 길이를 의미한다(S37). W denotes a length at which the encryption chip can receive data at once and perform a multiplication operation with an encryption key (private key) (S37).

만약, 암호화할 데이터의 길이(V)가 암호화 칩에서 한번에 읽어들일 수 있는 최대길이(W비트)보다 더 긴 경우에는, 사용자 장치(100)는 V 길이 중에서 W 길이만큼만 칩에 입력하고, 나머지 데이터들은 다음 번 순서에서 W+1비트 위치부터 2W비트의 위치까지 개인키를 곱해서 데이터를 암호화시켜서 2번째 (암호화 칩의) 사이클에 두번째 암호화된 데이터를 만들 수 있다(S38, S39). If the length (V) of the data to be encrypted is longer than the maximum length (W bits) that can be read from the encryption chip at one time, the user device 100 inputs only W length out of the V length to the chip, and the remaining data In the next order, the data is encrypted by multiplying the private key from the W+1 bit position to the 2W bit position to create second encrypted data in the second (encryption chip) cycle (S38, S39).

도 4의 실시예를 적용할 경우 2차 암호화 개인키의 보안성을 높이도록 길게 형성할 수 있다. 사용자 장치(100)가 사용자의 각 생체특징점들에서 추출한 비트들을 엇갈리게 섞어서 랜덤니스(Randomness)을 높여 암호화용 시퀀스를 생성할 수 있다. When the embodiment of FIG. 4 is applied, the secondary encryption private key can be formed long to increase security. The user device 100 may generate a sequence for encryption by alternating and mixing bits extracted from each of the user's biological feature points to increase randomness.

도 3 및 4를 정리하면 다음과 같다. 도 3에 도시된 바와 같이, 사용자 장치(100)는 지문을 이용한 1차 암호화키는 지문 특징점에서 소수(prime number)의 순열을 만들고, 원순열로 만들어서 앞에서부터 해당 시퀀스가 44개의 소수를 원순열로 배치하여 반복하며 암호화비트를 생성한다. 3 and 4 are summarized as follows. As shown in FIG. 3, the user device 100 creates a primary encryption key using a fingerprint by permuting prime numbers at fingerprint feature points and creating a circular permutation, so that the sequence from the front is a circular permutation of 44 prime numbers. It is arranged and repeated to generate encryption bits.

1개의 소수는 1byte이상으로 구성될 수 있으며, 44개의 소수는 44*8bit, 최소 352 bit이상의 길이를 가질 수 있다. 만약 암호화 칩이 128비트 또는 256비트로 길이가 제한될 경우 사용자 장치(100)는 352비트의 일부 비트를 128비트 또는 256비트로 잘라서 1차 암호화 개인키로 사용할 수 있다. One prime number can consist of more than 1 byte, and 44 prime numbers can have a length of 44*8 bits or at least 352 bits. If the length of the encryption chip is limited to 128 bits or 256 bits, the user device 100 may cut some bits of 352 bits into 128 bits or 256 bits and use them as the primary encryption private key.

도 5는 본 발명의 일 실시예에 의한 2차 암호화키를 생성하는 과정을 보여주는 도면이다. 5 is a diagram showing a process of generating a secondary encryption key according to an embodiment of the present invention.

도 4에 도시된 바와 같이 2차 개인키는 보안성을 높이고, 랜덤니스를 높이되, 개인의 신원정보를 인증할 수 있도록 생체 인식 정보 중에서 길이가 긴(음성성문, 홍채(66종류 이상)) 2개의 이형의 정보 시퀀스를 조합하여 생성한다. As shown in FIG. 4, the secondary private key increases security and randomness, but has a long length (voice voiceprint, iris (66 types or more)) among biometric information to authenticate personal identity information. It is generated by combining two heterogeneous information sequences.

도 5는 앞서 도 4에서 S36 단계에서 산출된 X1비트 및 Y1 비트를 이용함에 있어서 보다 복합적으로 조합하여 암호화하는 과정을 보여준다. FIG. 5 shows a more complex combination and encryption process in using the X1 bit and the Y1 bit calculated in step S36 in FIG. 4 above.

예를 들어, 사용자 장치(100)는 암호화 과정에서 제1 레이어(layer)로 지문을, 제2 레이어로 홍채(각막 주름 인식) 및 음성 성문을 이용하여 암호화키를 생성할 수 있다. For example, the user device 100 may generate an encryption key by using a fingerprint as a first layer and an iris (corneal wrinkle recognition) and a voice print as a second layer in an encryption process.

이와 같이 암호화를 2-layer에 의해서 진행하여, 1차 개인키 암호화가 노출될 경우라도 2차 암호화 채널에서 데이터가 암호화 되어 있어 보안성이 높일 수 있다. In this way, encryption is performed by 2-layer, and even when the primary private key encryption is exposed, security can be enhanced because data is encrypted in the secondary encryption channel.

제1 레이어에서 사용자 장치(100)는 지문의 특징점을 이용한 소수 시퀀스(prime number sequence)를 생성할 수 있다. 이때, 지문의 특징점이 대략적으로 33개 정도이며, 랜덤니스(randomness)을 더 높이기 위하여 사용자 장치(100)는 더 긴 길이를 가진 암호화키(2차 암호화키)를 어플리케이션 레이어(application layer, OS, 미들웨어, 어플리케이션 등)에서 생성한다. In the first layer, the user device 100 may generate a prime number sequence using feature points of the fingerprint. At this time, the feature points of the fingerprint are approximately 33, and in order to further increase the randomness, the user device 100 uses an encryption key (secondary encryption key) with a longer length for an application layer (OS, middleware, application, etc.).

데이터를 암호화시키는 스트림(암호화된 데이터 블록의 기본 단위)의 사이즈가 제1레이어의 키(1차 암호화키)보다는 길며, 홍채인식 등의 2차 고유 시퀀스들(도 5의 41)은 66가지 이상으로 종류가 다양하여, 쉽게 추정이 되기 어렵다.The size of the stream for encrypting data (basic unit of encrypted data block) is longer than the key (primary encryption key) of the first layer, and the number of secondary unique sequences (41 in FIG. 5) such as iris recognition is more than 66. There are many different types, so it is difficult to estimate easily.

따라서, 생성가능한 소수들의 순열도 66가지 이상으로 다양하다. 아울러, 사용자 장치(100)는 음성의 성문분석을 이용한 시퀀스(도 5의 42)와 홍채인식을 통한 시퀀스의 각 비트들을 교차하여 결합되도록 하여 랜덤니스가 높은 시퀀스(45)를 생성할 수 있다. Thus, there are more than 66 different permutations of prime numbers that can be generated. In addition, the user device 100 may generate a sequence 45 having high randomness by crossing and combining respective bits of a sequence using voiceprint analysis (42 in FIG. 5) and a sequence using iris recognition.

또한, 사용자 장치(100)는 41 및 42를 조합한 긴 시퀀스 중에서 특정 영역을 잘라서 사용할 경우에는, 넌스(Nonce)의 값을 랜덤하게 지정할 수 있다. 또한 사용자 장치(100)는 해당 넌스의 값을 여러 개를 지정할 수 있으며, 각 넌스1과 넌스2 각각에 지정된 길이만큼, 비트 시퀀스를 추출하여, 전체 비트시퀀스를 순열로 연결하여 45와 같은 2차 암호화키(개인키)를 생성할 수 있다.In addition, when the user device 100 cuts and uses a specific region from a long sequence in which 41 and 42 are combined, a nonce value can be designated randomly. In addition, the user device 100 may designate multiple values of the corresponding nonce, extract bit sequences as long as the lengths specified for each nonce 1 and nonce 2, and connect the entire bit sequence in permutation to obtain a secondary value such as 45. You can generate an encryption key (private key).

일 실시예로, 사용자 장치(100)는 도 5에 도시된 바와 같이, Nonce1=3 이므로 해당 위치로부터 길이 L1=3 까지 비트시퀀스를 복사하고, Nonce2= 7이고, 해당 위치로부터 길이 L2=2까지의 비트시퀀스들을 복사한다. 이때, L1의 길이와 L2의 길이는 랜덤하게 사용자 장치(100)가 정할 수 있다.As one embodiment, as shown in FIG. 5, since Nonce1=3, the user device 100 copies the bit sequence from the corresponding location to the length L1=3, and Nonce2=7, from the corresponding location to the length L2=2. Copy the bit sequences of At this time, the user device 100 may randomly determine the lengths of L1 and L2.

그리고 복사한 2개의 비트시퀀스를 연결하여, 45와 같이 2차 개인키(A)를 완성하고, 엘립틱스 커브 수식(Elliptics Curve Formulation) (f)에 입력하여 f(A,B) = K 인 공개키 B를 산출한다. Then, connect the two copied bit sequences to complete the secondary private key (A), such as 45, and enter it into the Elliptics Curve Formulation (f) to reveal that f(A,B) = K Calculate key B.

그리고 사용자 장치(100)는 자신의 2차 공개키(B)와 2차 공개키에 대한 해쉬값을 서버의 1차 공개키로 암호화하여 메타버스 서버(300)에게 전송한다. And the user device 100 encrypts its own secondary public key (B) and the hash value for the secondary public key with the primary public key of the server and transmits it to the metaverse server 300.

도 5에서 넌스 1(Nonce 1)과 넌스 2(Nonce2)의 위치를 서로 다르게 랜덤하게 지정하고, 각각 몇 비트씩 잘라서 서브 시퀀스를 만들 것인지(즉, L1, L2의 크기)도 랜덤하기 설정할 수 있다. 2차 개인키는 어플리케이션/OS/미들웨어 등의 메모리상에서 CPU로 데이터를 암호화 및 복호화를 위한 것이므로, 최대한 긴 암호화키를 생성하여 데이터 블록을 한번에 암호화할 수 있다. In FIG. 5, the positions of Nonce 1 and Nonce 2 are randomly designated differently from each other, and how many bits each are cut to create a subsequence (ie, the size of L1 and L2) can also be randomly set. . Since the secondary private key is for encrypting and decrypting data with the CPU in the memory of an application/OS/middleware, etc., a data block can be encrypted at once by generating an encryption key as long as possible.

만약, 짧은 길이의 암호화키로 데이터를 여러 블록으로 쪼개서 암호화하면 해커가 각 블록의 특성을 반복하여 테스트하여 해킹하기가 쉬워지므로, 사용자 장치(100)는 가장 랜덤니스가 큰 시퀀스 중에서 최대한 길이가 긴 키값을 곱해서 암호화시켜 해커에게 반복적인 특징을 노출시키지 않도록 하여 보안성을 높일 수 있다. If data is divided into several blocks with a short-length encryption key and encrypted, it becomes easy for hackers to hack by repeatedly testing the characteristics of each block. By multiplying and encrypting, security can be increased by not exposing repetitive characteristics to hackers.

한편, 메타버스 서버(300)는 지문 특징점이나 음성성문 특징점, 홍채 인식 등의 생체 정보를 저장하지 않으므로, 랜덤하게 생성한 임의의 충분히 긴 길이의 2차 개인키(C)를 생성하고 f(C,D)=K를 만족하는 2차 서버 공개키(D)를 생성한다. On the other hand, since the metaverse server 300 does not store biometric information such as fingerprint feature points, voice print feature points, and iris recognition, a randomly generated secondary private key (C) of sufficiently long length is generated and f (C ,D) = Generate a secondary server public key (D) that satisfies K.

그리고, 2차 서버공개키(D)와 2차 서버 공개키(D)에 대한 해쉬값을 사용자 장치(100)의 1차 공개키로 암호화하여 사용자 장치(100)에게 전송한다.Then, the secondary server public key (D) and the hash value for the secondary server public key (D) are encrypted with the primary public key of the user device 100 and transmitted to the user device 100.

사용자 장치(100)와 서버(300)는 통신 상대가 해커가 아닌 정상적인 사용자 장치 또는 서버인지를 확인하기 위한 과정을 수행할 수 있다. The user device 100 and the server 300 may perform a process for verifying whether the communication partner is a normal user device or server and not a hacker.

사용자 장치(100)는 임의의 랜덤 숫자들을 생성해서, 2차 서버 공개키로 암호화한 값과 해쉬값을 다시 1차 서버 공개키로 암호화하여 서버에게 전송한다. 메타버스 서버(300)는 1차 개인키로 복호화한 데이터를 다시 2차 개인키로 복호화하여 사용자 장치(100)가 전송한 랜덤한 숫자들의 목록을 확인한다. The user device 100 generates random numbers, encrypts the hash value and the value encrypted with the secondary server public key again with the primary server public key, and transmits it to the server. The metaverse server 300 decrypts the data decrypted with the primary private key again with the secondary private key and checks the list of random numbers transmitted by the user device 100.

그리고 메타버스 서버(300)는 해쉬값을 비교하여 해쉬값이 일치하면, 위변조되지 않은 데이터를 정상적으로 수신했다는 의미로 사용자 장치(100)의 2차 공개키로 동일한 숫자들의 시퀀스들을 암호화한다. 그리고 47과 같이, 메타버스 서버(300)는 숫자들의 시퀀스의 해쉬값을 첨부한다. In addition, the metaverse server 300 compares hash values, and if the hash values match, it encrypts sequences of the same numbers with the secondary public key of the user device 100, meaning that data that has not been forged or altered is normally received. And like 47, the metaverse server 300 appends the hash value of the sequence of numbers.

메타버스 서버(300)는 <사용자 장치(100)의 2차 공개키로 암호화된 숫자들의 시퀀스와 해쉬값>을 사용자 장치(100)의 1차 공개키로 암호화한 후에 다시 사용자 장치(100)에게 전송한다.The metaverse server 300 encrypts <sequence and hash value of numbers encrypted with the secondary public key of the user device 100> with the primary public key of the user device 100 and transmits it to the user device 100 again. .

사용자 장치(100)는 수신된 데이터를 1차 개인키로 복호화하여 <2차 공개키로 암호화된 데이터 + 해쉬값>을 추출한다. 그리고 사용자 장치(100)는 다시 2차 개인키로 데이터를 복호화하여 나온 숫자들의 시퀀스를 확인한다. The user device 100 decrypts the received data with the primary private key and extracts <data encrypted with the secondary public key + hash value>. Then, the user device 100 checks the sequence of numbers obtained by decrypting the data again with the secondary private key.

사용자 장치(100)는 이 숫자들의 해쉬값과 첨부된 해쉬값을 비교하여 동일하면 메타버스 서버(300)가 해커가 아닌 정상 서버임을 확인한다. The user device 100 compares the hash value of these numbers and the attached hash value, and if the same, it confirms that the metaverse server 300 is a normal server, not a hacker.

서버 역시 전술한 과정을 반복하여 사용자 장치(100)가 해커가 아닌 정상 사용자 장치(100)임을 확인할 수 있다. 그리고 사용자 장치(100)와 메타버스 서버(300) 사이에 형성된 보안 채널을 통해서 새로운 2단계 보안 채널이 형성된다.The server may also repeat the above process to confirm that the user device 100 is not a hacker but a normal user device 100 . And a new two-level security channel is formed through the security channel formed between the user device 100 and the metaverse server 300.

전술한 과정을 통해 사용자 장치(100)가 메타버스 서버(300)로 데이터를 전송할 때 사용자 장치(100)의 2차 공개키를 서버에게 안전하게 전달할 수 있다. When the user device 100 transmits data to the metaverse server 300 through the above process, the secondary public key of the user device 100 can be safely delivered to the server.

즉, 47에서 2차 KEY로 암호화된 데이터는 사용자 장치(100)의 2차 공개키로 암호화된 데이터를 의미한다. 또한, 사용자 장치(100)는 메타버스 서버(300)로 정보를 안전하게 전달하기 위하여 서버의 1차 공개키로 "A+B"을 암호화해서 전송한다. That is, data encrypted with the secondary key in 47 means data encrypted with the secondary public key of the user device 100 . In addition, the user device 100 encrypts "A + B" with the primary public key of the server and transmits the information to the metaverse server 300 safely.

도 6 내지 도 7은 본 발명의 일 실시예에 의한 암호화된 정보를 이용하여 장치들이 안전하게 정보를 교환하는 과정을 보여주는 도면이다. 메타버스 서버(300)가 제공하는 메타버스 세계 내에서 사용자 장치(100)는 자신의 아바타를 움직이며 메타버스 세계 내의 상점을 방문하여 물품을 구매할 수 있다. 6 and 7 are diagrams illustrating a process of securely exchanging information between devices using encrypted information according to an embodiment of the present invention. In the metaverse world provided by the metaverse server 300, the user device 100 may move its own avatar and visit a store in the metaverse world to purchase an item.

사용자 장치(100)는 메타버스 세계 내에서 표시되는 사용자의 캐릭터 정보를 서버의 1차 공개키로 암호화한다(S51). 예를 들어 사용자 장치(100)는 사용자의 캐릭터가 스케이트 보드를 타고 이동하는 위치, 속도, 또는 캐릭터가 메타버스 세계 내에서 방문한 상점 등의 정보 등을 서버의 1차 공개키로 암호화한다. 암호화한 블록을 BLK_1이라고 지시한다. 여기서 사용자의 캐릭터 정보는 사용자의 실제 움직임이나 상태를 그대로 나타낼 수도 있고, 또는 사용자가 자신의 캐릭터를 제어한 결과를 반영할 수 있다. The user device 100 encrypts the user's character information displayed in the metaverse world with the primary public key of the server (S51). For example, the user device 100 encrypts information, such as the position and speed at which the user's character moves on a skateboard, or the store the character has visited in the metaverse world, with the primary public key of the server. The encrypted block is indicated as BLK_1. Here, the user's character information may represent the user's actual movement or state as it is, or may reflect the result of the user's control of his or her character.

그리고, 암호화한 데이터가 포함된 블록을 블록체인에 추가하는 프로세스를 수행한다(S52). 예를 들어, 사용자 장치(100)는 BLK_1의 블록체인 추가 프로세스 및 BLK_1 블록의 식별 정보를 서버(300)에게 전송한다. Then, a process of adding a block containing encrypted data to the block chain is performed (S52). For example, the user device 100 transmits the block chain addition process of BLK_1 and identification information of the BLK_1 block to the server 300 .

보다 상세히 살펴보면, 사용자 장치(100)는 BLK_1(사용자의 암호화된 데이터, 위치, 속도, 상점, 소유주의 신원정보 등)을 블록으로 만들어서 블록체인 노드들에게 검증을 요청한다. 그리고 블록체인 노드들은 14. 블록을 검증하고, 정상이라고 확인해주는 응답메세지를 보낸다. Looking in more detail, the user device 100 creates a block with BLK_1 (the user's encrypted data, location, speed, store, owner's identity information, etc.) and requests verification from the blockchain nodes. And the blockchain nodes verify the 14. block and send a response message confirming that it is normal.

이후 사용자 장치(100)는 암호화된 사용자의(위치, 속도, 상점위치 등)의 정보를 메타버스 서버(300)에게 전송한다. 사용자 장치(100)는 BLK_1의 식별 정보(예를 들어 주소)를 메타버스 서버(300)에게 전송하여 메타버스 서버(300)가 정보를 확인할 수 있다. Then, the user device 100 transmits the encrypted information of the user (location, speed, store location, etc.) to the metaverse server 300. The user device 100 transmits identification information (eg, address) of BLK_1 to the metaverse server 300 so that the metaverse server 300 can check the information.

메타버스 서버(300)는 서버의 1차 개인키를 이용하여 BLK_1을 복호화하여 사용자 캐릭터에 관한 내용을 확인한다(S53). 예를 들어, 메타버스 서버(300)는 사용자의 현재 위치 또는 사용자의 움직임 등에 관한 내용을 확인한 후, 메타버스 세계 내에 표시할 수 있다. 그리고 메타버스 서버(300)는 확인한 정보(사용자의 위치나 캐릭터 모양, 움직임 정보 등)를 판매자 장치(200)에게 전송한다(S54). 전송 결과 상점 직원이 관리하는 판매자 장치(200)가 사용자의 위치나 캐릭터 모양, 움직임 등의 정보를 확인 및 표시할 수 있다. The metaverse server 300 decrypts BLK_1 using the primary private key of the server and checks the contents of the user character (S53). For example, the metaverse server 300 may check the user's current location or the user's motion, and then display it in the metaverse world. Then, the metaverse server 300 transmits the checked information (user's location, character shape, movement information, etc.) to the seller device 200 (S54). As a result of the transmission, the seller device 200 managed by the store employee may check and display information such as the user's location, character shape, and movement.

한편, 판매자 장치(200)는 자신의 1차 공개키와 랜덤 넘버를 메시지에 포함하여 서버의 1차 공개키로 암호화한다(S55). 그리고 이 메시지를 판매자 장치(200)가 메타버스 서버(300)에게 전송한다(S56). 물론, 이 과정에서 판매자 장치(200)는 S52와 같이 블록체인에 메시지를 블록으로 추가하는 프로세스를 수행할 수 있다.Meanwhile, the seller device 200 includes its primary public key and random number in the message and encrypts the message with the primary public key of the server (S55). And the seller device 200 transmits this message to the metaverse server 300 (S56). Of course, in this process, the seller device 200 may perform a process of adding a message to the block chain as in S52.

메타버스 서버(300)는 자신의 1차 개인키로 랜덤넘버와 판매자 장치의 1차 공개키를 복호화한다(S57). 그리고 메타버스 서버(300)는 사용자 장치(100)의 1차 공개키로 암호화한 판매자 장치의 1차 공개키를 전송한다(S58).The metaverse server 300 decrypts the random number and the primary public key of the seller device with its primary private key (S57). Then, the metaverse server 300 transmits the primary public key of the seller device encrypted with the primary public key of the user device 100 (S58).

이후 사용자 장치(100)는 판매자 장치(200)에게 사용자의 2차 공개키 및 구매에 관련된 정보를 포함하며 판매자 장치의 2차 공개키를 요청하는 블록을 판매자 장치의 1차 공개키로 암호화하여 블록 BLK_2 생성한다(S59). 일 실시예로, 사용자 장치(100)는 구매 희망하는 제품의 이름과 자신의 식별정보(ID), 캐릭터의 위치, 키 등의 정보와 사용자 장치(100)의 2차 공개키를 포함하는 BLK_2를 생성한다. 이때, BLK_2에는 판매자 장치(200)의 2차 공개키를 요청하는 내용도 포함된다. 그리고 사용자 장치(100)는 판매자 장치(200)의 1차 공개키로 암호화하여 블록 BLK_2를 생성한다.Thereafter, the user device 100 encrypts a block requesting the seller device's secondary public key, which includes the user's secondary public key and purchase-related information from the seller device 200, with the seller device's primary public key, and encrypts the block BLK_2. Generate (S59). In one embodiment, the user device 100 provides BLK_2 including information such as the name of a product desired to be purchased, its own identification information (ID), the location of a character, and a key, and a secondary public key of the user device 100. generate At this time, BLK_2 also includes content requesting the secondary public key of the seller device 200. And the user device 100 encrypts with the primary public key of the seller device 200 to generate a block BLK_2.

도 7을 참조한다. See FIG. 7 .

사용자 장치(100)는 BLK_2를 블록체인에 추가하는 프로세스를 수행한다(S61). 예를 들어, 사용자 장치(100)는 BLK_2를 블록체인에 추가하는 프로세스를 진행할 수 있다. 이 과정에서 사용자 장치(100)는 암호화한 블록을 체인에 연결해달라는 요청을 블록체인 노드들(500)에게 한다. 블록체인 노드들(500)은 검증 후 무결성을 확인한 후, 블록의 무결성에 문제 없다고 사용자 장치(100)에게 응답한다. 그리고 사용자 장치(100)는 BLK_2 블록의 식별 정보를 판매자 장치(200)에게 전송한다. The user device 100 performs a process of adding BLK_2 to the blockchain (S61). For example, the user device 100 may proceed with the process of adding BLK_2 to the blockchain. In this process, the user device 100 requests the blockchain nodes 500 to connect the encrypted block to the chain. The blockchain nodes 500 respond to the user device 100 that there is no problem with the integrity of the block after verifying the integrity. And the user device 100 transmits the identification information of the BLK_2 block to the seller device 200 .

이후, 판매자 장치(200)는 자신의 1차 개인키로 BLK_2의 내용을 복호화한 후, 사용자 장치의 2차 공개키를 수령하고 블록의 내용을 확인하고 거래를 위한 BLK_3을 생성하여 사용자 장치의 2차 공개키로 암호화한다(S62). 예를 들어, 판매자 장치(200)는 자신의 1차 개인키로 BLK_2를 복호화하여, 사용자 장치(100)의 2차 공개키를 수령한다. 그리고 사용자 장치(100)가 거래를 위해 요구한 내용(구매희망 제품의 가격 문의 등의 정보)를 확인한다. Thereafter, the seller device 200 decrypts the contents of BLK_2 with its primary private key, receives the secondary public key of the user device, checks the contents of the block, and generates BLK_3 for transaction to generate the secondary public key of the user device. Encryption is performed with the public key (S62). For example, the seller device 200 decrypts BLK_2 with its primary private key and receives the secondary public key of the user device 100. Then, the user device 100 checks the content requested for the transaction (information such as price inquiry of the product desired to be purchased).

그리고 판매자 장치(200)는 2차 개인키, 공개키를 생성하고 자신의 2차 공개키와 거래에 필요한 정보(예를 들어 제품의 가격으로 코인 수량 등)를 포함하는 BLK_3을 생성한 후, 사용자 장치(100)의 2차 공개키로 암호화한다.Then, the seller device 200 generates a secondary private key and a public key, and generates BLK_3 including its own secondary public key and information necessary for the transaction (for example, the number of coins at the price of the product, etc.), and then the user It is encrypted with the secondary public key of the device 100.

그리고 판매자 장치(200)는 BLK_3을 블록체인에 추가하는 프로세스를 수행한다(S63). 예를 들어, 판매자 장치(200)는 BLK_3을 블록체인에 추가하는 프로세스를 진행할 수 있다. 이 과정에서 판매자 장치(200)는 암호화한 블록을 체인에 연결해달라는 요청을 블록체인 노드들(500)에게 한다. 블록체인 노드들(500)은 검증 후 무결성을 확인한 후, 블록의 무결성에 문제 없다고 판매자 장치(200)에게 응답한다. 그리고 판매자 장치(200)는 BLK_3 블록의 식별 정보를 사용자 장치(100)에게 전송한다. And the seller device 200 performs a process of adding BLK_3 to the blockchain (S63). For example, the seller device 200 may proceed with the process of adding BLK_3 to the blockchain. In this process, the seller device 200 makes a request to the blockchain nodes 500 to connect the encrypted block to the chain. The blockchain nodes 500 respond to the seller device 200 that there is no problem with the integrity of the block after verifying the integrity after verification. And the seller device 200 transmits the identification information of the BLK_3 block to the user device 100.

사용자 장치(100)는 블록체인에서 BLK_3 내용 확인하고, 2차 개인키로 블록을 암호화한 후, 전달된 내용을 확인하고 구매 확정을 위한 암호화된 블록 BLK_4를 생성한다(S64). 예를 들어, 사용자 장치(100)는 블록 BLK_3의 주소를 확인하고, 블록의 주소에 게시된 블록을 읽어온다. The user device 100 checks the content of BLK_3 in the block chain, encrypts the block with the secondary private key, checks the transmitted content, and generates an encrypted block BLK_4 for purchase confirmation (S64). For example, the user device 100 checks the address of block BLK_3 and reads a block posted to the address of the block.

그리고 사용자 장치(100)는 사용자 장치(100)의 2차 개인키로 블록 BLK_3을 복호화하여 판매자 장치(200)가 요청한 제품의 명칭, 지불해야 하는 코인의 개수 등을 확인한 후에 판매자 장치(200)의 2차 공개키로 제품명, 수량, 구매에 소요될 코인 등을 기록한 블록 BLK_4를 암호화한다. 그리고 사용자 장치(100)는 BLK_4의 블록체인 추가 프로세스를 진행하고 BLK_4 블록의 식별 정보를 판매자 장치(200)에게 전송한다(S65). 앞서 S61의 과정과 동일한 방식으로 이루어질 수 있다. In addition, the user device 100 decrypts block BLK_3 with the secondary private key of the user device 100, confirms the name of the product requested by the seller device 200, the number of coins to be paid, etc. The block BLK_4, which records the product name, quantity, and coins required for purchase, is encrypted with the primary public key. And the user device 100 proceeds with the block chain addition process of BLK_4 and transmits the identification information of the BLK_4 block to the seller device 200 (S65). It may be performed in the same manner as the process of S61 above.

판매자 장치(200)는 자신의 2차 개인키로 BLK_4를 복호화하여, BLK_4의 내용을 확인하고, 사용자 장치(100)가 구매를 요청한 제품, 수량을 확인한 후 코인을 수령한다. 그리고 정상적으로 거래가 이루어졌음을 알리기 위한 응답 블록인 BLK_5를 생성한다(S66). 물론, BLK_5는 전술한 사용자 장치(100)의 2차공개키로 암호화될 수 있다. 그리고, 판매자 장치(200)는 BLK_5를 블록체인에 추가하는 프로세스를 수행한다(S67). The seller device 200 decrypts BLK_4 with its own secondary private key, checks the contents of BLK_4, confirms the product and quantity that the user device 100 has requested to purchase, and then receives the coin. Then, BLK_5, which is a response block for notifying that a normal transaction has been made, is generated (S66). Of course, BLK_5 may be encrypted with the secondary public key of the user device 100 described above. Then, the seller device 200 performs a process of adding BLK_5 to the blockchain (S67).

BLK_5는 판매자 장치(200)가 코인 및 요청 등을 잘 수령했다는 응답을 기록한 블록이며, 판매자 장치(200)는 BLK_5를 사용자 장치(100)의 2차공개키로 암호화한 후 블록체인 노드(500)들에게 무결성 검증을 요청한다. BLK_5 is a block that records the response that the merchant device 200 received coins and requests well, and the seller device 200 encrypts BLK_5 with the secondary public key of the user device 100, and then blocks the blockchain nodes 500. request integrity verification.

이때 코인의 새로운 소유주 정보가 사용자 장치(100)에서 판매자 장치(200)로 변경되고, 이 정보가 블록에 기록된다. At this time, the new owner information of the coin is changed from the user device 100 to the seller device 200, and this information is recorded in the block.

사용자 장치(100)는 BLK_5의 식별정보(예를 들어 주소)를 판매자 장치(200)로부터 수신하여 블록체인에서 BLK_5을 읽어와서 사용자 장치(100)의 2차 개인키로 블록 BLK_5를 복호화한다. 그리고 사용자 장치(100)는 구매가 정상적으로 이루어졌음을 확인한다(S68). 사용자 장치(100)는 구매하고자 했던 아이템의 소유주가 사용자 장치(100)로 변경되었고, 코인의 소유주가 판매자 장치(200)로 변경되었고, 블록에 기록이 남겨졌음을 확인한다. The user device 100 receives identification information (eg, address) of BLK_5 from the seller device 200, reads BLK_5 from the blockchain, and decrypts the block BLK_5 with the secondary private key of the user device 100. Then, the user device 100 confirms that the purchase has been normally made (S68). The user device 100 confirms that the owner of the item to be purchased is changed to the user device 100, the owner of the coin is changed to the seller device 200, and a record is left in the block.

도 6의 실시예에서 사용자 장치(100)는 메타버스 서버(300) 또는 판매자 장치(200)로부터 사용자 장치(100)의 1차 공개키로 암호화된 제3블록의 식별 정보를 수신하여 사용자 장치의(100) 1차 암호화키로 제3블록을 복호화한다(S55~S59). 그 결과, 사용자 장치(100)는 판매자 장치(200)의 1차 공개키를 확인할 수 있다. In the embodiment of FIG. 6, the user device 100 receives the identification information of the third block encrypted with the primary public key of the user device 100 from the metaverse server 300 or the seller device 200, and the user device ( 100) The third block is decrypted with the primary encryption key (S55 to S59). As a result, the user device 100 can check the primary public key of the seller device 200 .

사용자 장치(100)는 사용자 장치(100)의 2차 공개키, 구매 정보 및 판매자 장치(200)의 2차 공개키를 요청하는 제4블록(도 6의 BLK_2)을 판매자 장치(200)의 1차 공개키로 암호화하고 제4블록의 식별 정보를 판매자 장치(200)에게 전송할 수 있다(S59~S61). The user device 100 sends a fourth block (BLK_2 in FIG. 6) requesting the secondary public key of the user device 100, the purchase information, and the secondary public key of the seller device 200 to the 1 of the seller device 200. It can be encrypted with a secondary public key and transmitted to the identification information of the fourth block to the seller device 200 (S59 to S61).

또한, 도 7의 실시예에서 사용자 장치(100)는 상기 판매자 장치(200)로부터 제5블록(BLK_3)의 식별정보를 수신하여 제5블록을 상기 사용자 장치(100)의 2차 암호화키로 복호화한다(S62~S64). 그 결과 사용자 장치(100)는 판매자 장치(200)의 2차 공개키를 확인한다. In addition, in the embodiment of FIG. 7, the user device 100 receives the identification information of the fifth block (BLK_3) from the seller device 200 and decrypts the fifth block with the secondary encryption key of the user device 100. (S62~S64). As a result, the user device 100 checks the secondary public key of the seller device 200 .

이후, 사용자 장치(100)는 구매 정보에 대응하는 거래 대금인 코인을 포함하는 제6블록(BLK_4)을 판매자 장치(200)의 2차 공개키로 암호화하여 제6블록(BLK_4)의 식별 정보를 판매자 장치(200)에게 전송한다(S64~66). 사용자 장치(100) 및 판매자 장치(200) 사이에서 추가적으로 응답 블록인 BLK_5의 식별정보를 교환될 수 있으며, 사용자 장치(100)는 구매를 확인할 수 있다. Thereafter, the user device 100 encrypts the sixth block (BLK_4) including the coin, which is the transaction price corresponding to the purchase information, with the secondary public key of the seller device 200, and converts the identification information of the sixth block (BLK_4) to the seller. It is transmitted to the device 200 (S64 to 66). Identification information of BLK_5, which is a response block, may be additionally exchanged between the user device 100 and the seller device 200, and the user device 100 may confirm purchase.

도 6 및 도 7에서 사용자 장치(100)와 판매자 장치(200)는 상대방의 1차 및 2차 공개키를 이용하여 암호화를 진행한다. 그 결과 암호화 채널이 1차 및 2차로 이루어지므로 정보의 보안성을 높일 수 있다.6 and 7, the user device 100 and the vendor device 200 perform encryption using the primary and secondary public keys of the other party. As a result, since the encryption channel is made of primary and secondary, information security can be increased.

또한, 도 6 및 도 7의 판매자 장치(200)와 사용자 장치(100)의 1차 및 2차 공개키를 이용하여 거래하는 과정은 사용자 장치(100)와 메타버스 서버(300) 사이의 거래에서도 구현할 수 있다. In addition, the process of transacting using the primary and secondary public keys of the seller device 200 and the user device 100 of FIGS. 6 and 7 is also in the transaction between the user device 100 and the metaverse server 300. can be implemented

1차 공개키에 기반한 1차 암호화채널과 2차 공개키에 기반한 2차 암호화 채널을 이용해서 NFT나 가상의 아이템, 또는 이와 연계되는 현실 자산을 구매하기 위하여 사용자 장치(100)는 제품의 목록을 메타버스 서버(300)로부터 수신한다. In order to purchase an NFT, a virtual item, or a real asset related thereto using a primary encryption channel based on a primary public key and a secondary encryption channel based on a secondary public key, the user device 100 selects a list of products. It is received from the metaverse server 300.

그리고 사용자 장치(100)는 목록에서 선택한 제품을 구매하기 위해 필요한 주문 상세정보(제품명, 수량, 설치희망일 등)을 서버(300)로 1차 및 2차 암호화 채널을 통해서 신청한다.In addition, the user device 100 requests detailed order information (product name, quantity, desired installation date, etc.) necessary for purchasing the product selected from the list to the server 300 through primary and secondary encryption channels.

이때, 메타버스 서버(300)는 재고수량, 생산, 배송, 설치 가능일정 등을 확인하여 가능한 날짜, 시간, 주문가능수량, 구매 가격 등의 정보를 1+2차 암호화 채널을 통해서 사용자 장치(100)에게 전송할 수 있다. At this time, the metaverse server 300 checks the inventory quantity, production, delivery, installation schedule, etc., and transmits information such as possible date, time, orderable quantity, purchase price, etc. through the 1st + 2nd encryption channel to the user device (100 ) can be sent to

사용자 장치(100)는 자신의 코인의 결제정보(수량 등)를 담아서 암호화 블록을 생성하여 노드들의 검증을 받은 후에 블록체인에 추가하고, 해당 블록의 주소를 1+2차 채널을 통해서 메타버스 서버(300)에게 전송한다. The user device 100 creates an encryption block containing the payment information (quantity, etc.) of its own coin, adds it to the blockchain after being verified by the nodes, and transfers the address of the block to the metaverse server through the 1st + 2nd channel. Send to (300).

메타버스 서버(300)는 해당 주문정보와 코인을 확인하여, 해당 암호화 블록을 2차 서버 공개키 복호화 작업을 수행한 후에 다시 1차 서버 공개키 복호화 작업과 해쉬값 비교를 통하여, 정상적인 사용자 장치(100)가 주문을 하였음을 확인하고 사용자 장치(100)의 주문내역과 코인을 수령한다. The metaverse server 300 checks the order information and coin, performs the second server public key decryption operation on the corresponding encryption block, and then compares the hash value with the primary server public key decryption operation again, and the normal user device ( 100) confirms that the order has been placed and receives the order details and coins of the user device 100.

그리고 메타버스 서버(300)는 NFT나 가상자산, 또는 현실 자산을 메타버스 세계 내에서 표시하는 아이템 등의 명세서의 (공개되는) 표제부에 기록되는 소유자를 사용자 장치(100)로 변경한다. 메타버스 서버(300)는 해당 명세서의 암호화 데이터부를 사용자 장치(100)의 2차 공개키로 암호화한 후에 다시 사용자 장치(100)의 1차 공개키로 암호화한 데이터를 첨부하고, 해쉬값을 표제부에 기록하여 블록을 형성한다. 또한, 메타버스 서버(300)는 해당 블록을 블록체인 노드들(500)의 검증을 받고 블록체인에 게시한다. And the metaverse server 300 changes the owner recorded in the (public) heading of the NFT, virtual asset, or item that displays real assets in the metaverse world to the user device 100. The metaverse server 300 encrypts the encrypted data part of the specification with the secondary public key of the user device 100, then attaches the data encrypted with the primary public key of the user device 100 again, and records the hash value in the title part. to form blocks. In addition, the metaverse server 300 receives the verification of the blockchain nodes 500 and posts the corresponding block to the blockchain.

메타버스 서버(300)는 사용자 장치(100)에게 블록의 주소를 통지하며 사용자 장치(100)는 해당 블록을 읽어와서 2차 개인키로 복호화하고 해쉬값을 확인하여 동일한지 비교한 후에 다시 1차 개인키로 복호화하여 NFT의 내용을 확인할 수 있다. The metaverse server 300 notifies the user device 100 of the address of the block, and the user device 100 reads the corresponding block, decrypts it with the secondary private key, checks the hash value, compares whether they are the same, and then returns the primary private key to the user device 100. You can check the contents of the NFT by decrypting it with the key.

특히, 1차 및 2차 개인키를 생성함에 있어서, 메타버스 세계 내에서 캐릭터의 동시 수행 행위에서의 동일 시간간에 생체 정보 기반의 시큐어 다중 액티비티(Secure multiple activity)를 실행할 수 있다. In particular, in generating the primary and secondary private keys, it is possible to execute biometric information-based secure multiple activities during the same time in the character's simultaneous performance in the metaverse world.

즉, 메타버스 세계에서 사이버 캐릭터가 한 타이밍에 동시에 여러 개의 동작을 수행할 때 각 행위에 대하여 생체 신호 기반의 암호채널을 자동으로 형성한다. 그리고 각 암호화채널을 통해서 송수신되는 데이터는 메타버스 세계 내부뿐만 아니라 메타버스 외부의 다른 사용자 장치들(예를 들어 판매자 장치)인 컴퓨터, 핸드폰 네트워크 상에서 송수신되며, 데이터가 각 채널 별로 각각의 서로 다른 생체 정보를 바탕으로 하는 각각의 암호화키를 사용할 수 있으며, 각각의 암호화 채널을 형성하여 각각 서로 다른 데이터를 송수신할 수 있다. In other words, when a cyber character performs several actions at the same time in the metaverse world, a biosignal-based encryption channel is automatically formed for each action. In addition, the data transmitted and received through each encryption channel is transmitted and received not only inside the metaverse world but also on other user devices (eg seller devices) outside the metaverse, such as computer and mobile phone networks, and data is transmitted and received on different biometrics for each channel. Each encryption key based on information can be used, and each different data can be transmitted and received by forming each encryption channel.

일 실시예로, 메타버스 세계 내에서 캐릭터가 화상회의/화상통화를 수행하면서 스케이트 보드를 타면서 길가다가 아이크림을 구매해서 아이스크림을 먹는 행위를 한번에 여러 개의 동작을 수행할 수 있다. 이때 각각의 데이터들은 외부에 유출되지 않아야 하는 개인 정보가 포함된다. 화상통화는 가족, 친구, 회사 회의, 거래처 미팅을 수행할 수 있어서 개인 정보의 유출이 있어서는 안되며, 또한 업무상의 대화내용이 경쟁사에 유출되어서는 안되기 때문에 암호화 채널을 통해서 화상회의를 진행하는 것이 필요하다.As an embodiment, in the metaverse world, a character can perform several actions at once, such as purchasing eye cream and eating ice cream while riding a skateboard while conducting a video conference/video call. At this time, each data includes personal information that should not be leaked to the outside. Since video calls can hold family, friends, company meetings, and business partners meetings, personal information should not be leaked, and business conversations should not be leaked to competitors, so it is necessary to conduct video conferences through an encrypted channel. .

이때, 사용자 장치(100)는 화상회의의 내용을 법적인 구속력을 가지려면 녹화되어서 보존이 되어야 하는데, 해당 녹화데이터를 캐릭터의 원래 현실세계의 주인의 각막 신호 특징점 비트 패턴을 기반으로 한 암호화키와 음성 신호 특징점에서 추출한 비트 패턴을 결합하여 생성한 암호화키를 바탕으로 블록에 데이터를 암호화하여 기록하여 블록체인에 연결한다.At this time, the user device 100 needs to be recorded and stored to have the contents of the video conference legally binding, and the recorded data is converted into an encryption key and voice based on the bit pattern of the character's original corneal signal characteristic point of the owner in the real world. Based on the encryption key generated by combining the bit patterns extracted from the signal feature points, the data is encrypted and recorded in a block and connected to the block chain.

또한, 메타버스 세계 내에서 캐릭터가 스케이트보드를 타고 이동하는 동작에서 발행하는 정보는 위치, 속도, 캐릭터의 동작(다리 구부리는 각도, 머리의 각도, 팔다리의 위치 등) 등이 있다. 사용자 장치(100)는 이들 정보에 기반해서 메타버스 서버(300)에게 사용자 장치(100)가 현재 캐릭터의 위치나 속도, 움직임 등을 전송하기 위하여 화상회의와 관련된 암호화 채널과 다른 별도의 암호화 채널을 생성하여 데이터를 전송할 수 있다. In addition, the information issued by the motion of a character riding a skateboard in the metaverse world includes position, speed, motion of the character (leg bending angle, head angle, limb position, etc.). The user device 100 uses a separate encryption channel different from the encryption channel related to the video conference to transmit the current position, speed, movement, etc. of the user device 100 to the metaverse server 300 based on these information. Create and transmit data.

메타버스 세계 내부에서 타 캐릭터에 의한 고가의 가상 아이템들을 강탈을 당하거나 해킹을 당할 가능성을 차단하기 위해 메타버스 세계 내부에서 각 캐릭터의 위치를 직접 공유하지 않고 암호화채널을 통해서만 전달하도록 사용자 장치(100)와 메타버스 서버(300), 그리고 다른 판매자 장치(200)를 구현할 수 있다.User device (100 ) and the metaverse server 300, and other vendor devices 200 can be implemented.

또한, 사용자 장치(100)는 스케이트보드를 타는 행위의 특성을 반영하여 목소리의 성문 특징점을 기반으로 한 암호화키를 생성하여 캐릭터와 메타버스 서버(300)와의 연결 및 데이터 송수신을 암호화한다. 또한 사용자 장치(100)는 캐릭터와 사용자의 사용자 장치들, 예를 들어 휴대폰 또는 가전제품과의 커넥션을 암호화할 수 있다.In addition, the user device 100 reflects the characteristics of the act of riding a skateboard and generates an encryption key based on the glottal characteristics of the voice to encrypt the connection between the character and the metaverse server 300 and data transmission and reception. In addition, the user device 100 may encrypt a connection between the character and user devices of the user, for example, a mobile phone or home appliance.

메타버스 세계 내에서 사용자 장치(100)가 제어하는 캐릭터가 스케이트보드를 타다가 길거리의 상점에서 아이스크림을 구매해서 다시 스케이트보드를 타고 이동하는 경우에는 음성통화를 위해서 위에서 생성한 암호화채널-1을 통해서 음성데이터가 송수신된다. In the case where a character controlled by the user device 100 rides a skateboard in the metaverse world, purchases ice cream at a street shop and moves again on the skateboard, through the encryption channel-1 created above for voice communication. Voice data is transmitted and received.

한편, 별도의 캐릭터인 상점 주인(판매자 장치)과 대화를 하고, 가상화폐를 지급하여 아이스크림을 구매하기 위하여 캐릭터는 움직임을 멈추고, 가상 상점으로 이동하여 상점의 매장의 직원(판매자 장치)과 대화를 위해서 새로운 통신채널을 생성할 때에 새로운 암호화채널을 생성할 수 있다. On the other hand, in order to have a conversation with the store owner (seller device), which is a separate character, and to purchase ice cream by paying virtual currency, the character stops moving, moves to the virtual store, and has a conversation with a store employee (seller device). For this purpose, when a new communication channel is created, a new encryption channel may be created.

이를 위하여 사용자의 오프라인 핸드폰(사용자 장치)의 홍채인식 센서를 이용해서 현재 가상의 캐릭터를 조작하는 사람이 오프라인의 실제 사용자라는 것을 인증할 수 있다. 그리고, 상점의 직원(판매자 장치)와 새로운 세션을 형성하기 위하여 음성의 성문 특징점을 이용한 암호화키를 생성하여 캐릭터의 음성 데이터와 상점 직원의 음성데이터를 암호화하여 암호화된 음성대화채널, 문자채팅 채널 등을 형성할 수 있다.To this end, it is possible to authenticate that the person currently manipulating the virtual character is an offline actual user by using the iris recognition sensor of the user's offline mobile phone (user device). In addition, in order to form a new session with the store employee (seller device), an encryption key is generated using the voiceprint feature of the voice to encrypt the character's voice data and the store employee's voice data, such as an encrypted voice conversation channel, text chat channel, etc. can form

그리고 사용자 장치와 판매자 장치 둘 간의 주고받는 모든 데이터는 해당 암호화키로 암호화하여 블록을 형성하여 블록체인에 연결하여 추후에 캐릭터와 상점 직원간에 주고 받는 거래에 관한 내용 및 대화내용을 모두 기록하여 보관함으로서 범법적인 행위(EX: 사기, 협박, 등)를 추후에 증거로 삼아서 메타버스 내부 세계와 현실 세계에서 모두 처벌할 수 있는 법적인 근거로서 활용할 수 있다. In addition, all data exchanged between the user device and the seller device is encrypted with the corresponding encryption key to form a block and connected to the block chain to record and store all the contents of transactions and conversations exchanged between the character and the store employee in the future. Enemy acts (EX: fraud, intimidation, etc.) can be used as evidence later and used as legal grounds for punishment both in the metabus internal world and in the real world.

메타버스 세계 내에서의 음성은 현실 세계의 사용자의 음성을 음성 변조하여 사용하므로, 가상의 세계에서 다른 해커가 음성을 위조하여 해당 가상캐릭터의 신분을 위조하여 사용자의 가상 캐릭터가 범법행위(ex: 사기 구매, 협박, 피싱 등)들을 하는 것을 방지하기 위해 가상 캐릭터가 메타버스 세계에서 하는 행위들 각각은 서로 다른 암호화키로 암호화하여 데이터 통신을 수행한다. Since the voice in the metaverse world is used by modifying the voice of the user in the real world, another hacker in the virtual world forges the voice and forges the identity of the virtual character so that the user's virtual character commits a crime (ex: In order to prevent fraudulent purchases, blackmail, phishing, etc.), data communication is performed by encrypting each action of a virtual character in the metaverse world with a different encryption key.

그 결과 가상 캐릭터들간에 대화하거나 거래를 하는 경우에도 항상 암호화한 채널을 통해서 데이터, 가상화폐, 가상자산(ex: 옷, 신발, 캐릭터 등)을 매매, 양도할 수 있다.As a result, even when talking or trading between virtual characters, data, virtual currency, and virtual assets (ex: clothes, shoes, characters, etc.) can be traded and transferred through encrypted channels.

도 8은 본 발명의 일 실시예에 의한 장치들 사이의 암호화 메시지의 구성을 보여주는 도면이다. 8 is a diagram showing the configuration of an encryption message between devices according to an embodiment of the present invention.

사용자 장치(100)가 메타버스 서버(300)에게 전송하는 암호화 메시지는 서버의 1차 공개키(1차 서버 공개키)로 암호화된다. 메타버스 서버(300)가 도 8의 메시지를 서버의 1차 개인키로 복호화하면, 랜덤 넘버와 2차 주인공 공개키, 즉 사용자 장치(100)의 2차 공개키를 확인할 수 있다. 사용자 장치(100)의 2차 공개키는 앞서 도 4 내지 5에서 살펴본 바와 같이, 사용자의 신체 정보(예를 들어 음성 성문 정보)에서 추출된 2차개인키에 대응한다. The encrypted message transmitted from the user device 100 to the metaverse server 300 is encrypted with the server's primary public key (primary server public key). When the metaverse server 300 decrypts the message of FIG. 8 with the primary private key of the server, the random number and the secondary protagonist public key, that is, the secondary public key of the user device 100 can be confirmed. As described above in FIGS. 4 and 5 , the secondary public key of the user device 100 corresponds to the secondary private key extracted from the user's body information (eg, voiceprint information).

그리고 캐릭터의 행위에 따라 사용자 장치(100)와 서버(300) 사이에는 새로운 암호화 채널을 생성할 수 있다. 예를 들어, 사용자 장치(100)가 오프라인의 현실세계와 연동되는 행위를 메타버스 세계 내에서 수행할 경우에는 기존에 사용하던 암호화 채널과 별도의 암호화 채널을 생성한다. In addition, a new encryption channel may be created between the user device 100 and the server 300 according to the action of the character. For example, when the user device 100 performs an action linked with the offline real world within the metaverse world, an encryption channel separate from the previously used encryption channel is created.

그리고, 현실세계 연동 행위의 중요도에 따라서 2차 암호화키의 길이를 더 길게 형성하여 보안성을 높일 수 있다.In addition, security may be enhanced by forming a longer secondary encryption key according to the importance of the real world interlocking action.

예를 들어, 사용자 장치(100)가 메타버스 세계 내에서 부동산 거래를 하는 경우에, 가상 세계에서의 매매 행위가 현실세계에서의 토지, 상가, 건물의 매매 행위로 연결되는 법률적 행위를 하기 위해서 가상세계의 캐릭터가 오프라인의 자신임을 신원을 인증하는 것이 필요한 경우를 가정한다. 이때, 사용자는 사용자 장치(100), 예를 들어 가전제품 또는 휴대폰을 통해서, 기존에 가전장치에 저장된 지문의 패턴을 이용해서 장치에서 1차적으로 동일인임을 확인한다.For example, in the case where the user device 100 makes a real estate transaction in the metaverse world, in order to perform a legal act in which the trading activity in the virtual world is linked to the trading activity of land, shopping malls, and buildings in the real world It is assumed that it is necessary to authenticate the identity that the character in the virtual world is offline. At this time, the user primarily confirms that the device is the same person through the user device 100, for example, a home appliance or a mobile phone, using a pattern of a fingerprint previously stored in the home appliance.

이때, 가상의 특정 공간(법원 등)에서 지문 또는 패턴인식으로 OTP를 형성해서 1차 신원인증을 수행한 후, 가상의 캐릭터가 해커가 위장한 것이 아님을 입증하기 위해, 2차적으로 현실세계의 사용자의 음성 성문 특징점을 바탕으로 생성한 사용자 장치(100)의 2차 공개키를 메타버스 서버(300)에게 전송한다. 이때, 1차 랜덤넘버와 서버의 공개키로 암호화해서 전송을 하면 서버는 해당 데이터를 복호화하여 랜덤넘버와 음성성문특징점에서 추출한 사용자 장치(100)의 2차공개키를 수신한다. 그리고 메타버스 서버(300)는 해당 2차 공개키로 랜덤넘버를 암호화한 후에 사용자 장치(100)에게 전송한다.At this time, after performing primary identity authentication by forming an OTP by fingerprint or pattern recognition in a specific virtual space (court, etc.), in order to prove that the virtual character is not a hacker disguised, a secondary user in the real world Transmits the secondary public key of the user device 100 generated based on the speech voiceprint characteristics of to the metaverse server 300. At this time, if the primary random number and the public key of the server are encrypted and transmitted, the server decrypts the corresponding data and receives the secondary public key of the user device 100 extracted from the random number and the speech voiceprint characteristic point. Then, the metaverse server 300 encrypts the random number with the secondary public key and transmits it to the user device 100.

사용자 장치(100)는 자신의 2차 개인키로 전송한 정보를 복호화하여 자신이 보냈던 랜덤넘버와 방금 수신된 랜덤넘버가 동일하면 믿을만한 서버로 인정을 하고, 부동산 거래에 관한 데이터를 암호화 채널을 통하여 송수신한다.The user device 100 decrypts the transmitted information with its own secondary private key, recognizes it as a reliable server if the random number it has sent is the same as the random number just received, and transmits and receives real estate transaction data through an encryption channel. do.

도 9는 본 발명의 일 실시예에 의한 암호화키를 생성하는 3차원 신호 스페이스를 보여주는 도면이다. 9 is a diagram showing a three-dimensional signal space for generating an encryption key according to an embodiment of the present invention.

사용자 장치(100)가 사용자의 제1생체 정보, 제2생체 정보 및 제3생체 정보를 3차원 공간의 제1축, 제2축 및 제3축에 각각 배치하여 둘 이상의 축으로 구성된 점의 좌표를 2차 암호화키의 서브 집합으로 설정하는 실시예를 보여준다. The user device 100 arranges the user's first biological information, second biological information, and third biological information on the first axis, second axis, and third axis of the 3D space, respectively, and coordinates of points composed of two or more axes. It shows an embodiment in which is set as a subset of the secondary encryption key.

위 3개 축의 좌표점들이 중첩되는 검은색 점의 좌표들이 전술한 좌표를 의미하며 원(70)의 반경 안에 있는 점들이 한 개의 서브 세트를 구성하는 키들의 서브 집합이 될 수 있다. 그리고 사용자 장치(100)는 이들 좌표들을 2차 암호화키의 서브집합으로 설정하여 2차 암호화키를 생성할 수 있다. The coordinates of the black dots where the coordinate points of the three axes overlap mean the above-mentioned coordinates, and the points within the radius of the circle 70 may be a subset of keys constituting one subset. In addition, the user device 100 may generate a secondary encryption key by setting these coordinates as a subset of the secondary encryption key.

도 10은 본 발명의 일 실시예에 의한 가상 세계의 공간을 분할하는 예를 보여주는 도면이다.10 is a diagram showing an example of dividing a space of a virtual world according to an embodiment of the present invention.

사용자 장치(100)는 메타버스 서버(300)가 제공하는 메타버스 세계 내의 가상 자산을 소유하며, 사용자 장치(100)는 가상 자산의 좌표 정보를 전술한 2차 공개키 또는 1차 공개키로 암호화하여 자산 블록에 저장하고 추후 해당 가산 자산의 소유권을 입증할 수 있다. The user device 100 owns a virtual asset in the metaverse world provided by the metaverse server 300, and the user device 100 encrypts the coordinate information of the virtual asset with the above-mentioned secondary public key or primary public key It can be stored in the asset block and later prove ownership of the countable asset.

부동산 거래를 수행함에 있어서, 메타버스 세계 내의 가상의 땅, 건물 등의 모양을 현실세계와 달리 다양한 모양(직사각형이나 각지 형태가 아니라 손가락으로 터치하여 다양한 곡선으로 이루어진 지적도 등)을 지도로 그릴 수 있다. 또한, 현실세계에는 존재하지 않는 특이한 형태의 건축물을 메타버스 세계 내에 건축할 수 있다.In carrying out real estate transactions, different shapes of virtual land and buildings in the metaverse world can be mapped in various shapes (not rectangular or angular, but cadastral maps made of various curves by touching with a finger). . In addition, unique types of buildings that do not exist in the real world can be built in the metaverse world.

예를 들어, 메타버스 세계 내에서는 강남역 한복판에 에펠탑을 세우는 것이 가능하다. 그리고, 사용자 장치(100)는 그 소유권을 가상세계에서 인정받기 위해, 더 높은 수준의 3D 보안키를 생성할 수 있다. 이때 사용자 장치(100)는 3차원 보안키를 생성하기 위해, 생체 정보를 바탕으로 3D 신호 스페이스(Signal Space)를 수립하고, 각 생체정보(지문, 홍채, 음성)의 특징점들에게 부여된 소수(prime numbe)들을 3D 신호 스페이스(Signal Space)에 X축, Y축, Z축으로 매핑한다. 도 9에서 지문 특징점의 소수들의 축은 Y축, 음성성문 특징점의 소수들의 축은 X축, 그리고 홍채 특징점의 소수들의 축은 Z축으로 설정된다. For example, within the metaverse world, it is possible to build the Eiffel Tower in the middle of Gangnam Station. In addition, the user device 100 may generate a higher level 3D security key in order to recognize its ownership in the virtual world. At this time, in order to generate a 3D security key, the user device 100 establishes a 3D signal space based on biometric information, and a small number assigned to feature points of each biometric information (fingerprint, iris, voice) ( prime numbes are mapped to the X-axis, Y-axis, and Z-axis in the 3D signal space. In FIG. 9, the axis of prime numbers of fingerprint feature points is Y-axis, the axis of prime numbers of speech voiceprint feature points is X-axis, and the axis of prime numbers of iris feature points is set as Z-axis.

그리고, 사용자 장치(100)는 가장 근거리에 위치한 점들의 그룹을 형성하여 각각 P1 = {{{x11, y11, z11}, {x12, y12, z12}, {x23, y23, z23}}, {{x21, y21, z21}, {x22, y22, z22}, {x23, y23, z23}}, {{x31, y31, z31}, {x32, y32, z32}, {x33, y33, z33}}, { {x41, y41, z41}, {x42, y42, z42}, {x43, y43, z43} }} 라고 정의한다 그리고 사용자 장치(100)는 이들 점들을 이용하여 암호화키의 그룹을 형성할 수 있다. 그리고 사용자 장치(100)가 가상/현실의 자산의 정보를 기록할 때, 자산의 특징있는 영역의 구간을 분할하여, 전술한 암호화키의 그룹 중에서 임의의 키 그룹을 선택하여 자산의 분할된 구역마다 서로 다른 키들을 적용할 수 있다. Then, the user device 100 forms a group of points located closest to P1 = {{{x 11 , y 11 , z 11 }, {x 12 , y 12 , z 12 }, {x 23 , y 23 , z 23 }}, {{x 21 , y 21 , z 21 }, {x 22 , y 22 , z 22 }, {x 23 , y 23 , z 23 }}, {{x 31 , y 31 , z 31 }, {x 32 , y 32 , z 32 }, {x 33 , y 33 , z 33 }}, { {x 41 , y 41 , z 41 }, {x 42 , y 42 , z 42 }, It is defined as {x 43 , y 43 , z 43 } }} and the user device 100 may form an encryption key group using these points. Further, when the user device 100 records virtual/real asset information, a section of a characteristic area of the asset is divided, and an arbitrary key group is selected from among the above-described encryption key groups for each divided area of the asset. Different keys can be applied.

도 10은 암호화키를 생성함에 있어서 보안 레벨에 따라 차등화된 서비스를 제공하기 위해 지적도를 분할한다. 예를 들어, 도 10은 단순한 사각형의 형태가 아니라 복잡한 경계선을 가지는 지적도로 구성되어 있다. 그리고 지적도를 나타내기 위한 각각의 점들은 (a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p), (q, r), (s, u), (v, w), (x, y)로 정의된다. 10 divides cadastral maps to provide differentiated services according to security levels in generating encryption keys. For example, FIG. 10 is composed of a cadastral map having complex boundary lines rather than a simple rectangular shape. And each point to indicate the cadastral map is (a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n ), (o, p), (q, r), (s, u), (v, w), (x, y).

그리고 이 중에서 (a, b), (c, d)는 지적도를 분할한 제1그룹에 포함된다. (e, f), (g, h), (i, j), (k, l)는 지적도를 분할한 제2그룹에 포함된다. (m, n), (o, p), (q, r), (s, u)는 지적도를 분할한 제3그룹에 포함된다. (v, w), (x, y)는 지적도를 분할한 제4그룹에 포함된다. Among them, (a, b) and (c, d) are included in the first group in which the cadastral map is divided. (e, f), (g, h), (i, j), and (k, l) are included in the second group in which the cadastral map is divided. (m, n), (o, p), (q, r), and (s, u) are included in the third group in which the cadastral map is divided. (v, w) and (x, y) are included in the fourth group in which the cadastral map is divided.

그리고, 지적도 분할 그룹 1, 2, 3, 4의 데이터를 암호화하기 위하여 보안도가 높은 키의 조합인 그룹 P1의 원소 키원소 서브그룹 중에서 랜덤하게 키의 서브 그룹들을 위 데이터의 갯수(4개, 사각형으로 표시)만큼 선택하여, 각각의 키를 위 분할 1, 2, 3, 4에 곱해서 암화화 데이터 스트림인 B1, B2, B3, B4를 생성하여 사용자 장치(100)가 서버에게 보안채널을 통해서 전송한다. In addition, in order to encrypt the data of cadastral map division groups 1, 2, 3, and 4, the number of subgroups of keys (4, rectangle), each key is multiplied by the above divisions 1, 2, 3, and 4 to generate encrypted data streams B 1 , B 2 , B 3 , and B 4 so that the user device 100 sends the server transmitted over a secure channel.

메타버스 서버(300)는 이전의 사용자 장치(100)와 상호 인증 메커니즘을 통해서 사용자 장치(100)의 생체인증 키들(동공, 음성, 지문 등에서 산출된 키들)의 정보를 저장하고 있다. 따라서, 메타버스 서버(300)는 도 9와 같이 3차원 키의 신호 스페이스(Signal Space)를 형성할 수 있으며, 각 특징점 좌표들을 매핑시켜서 각 그룹을 형성하는 룰에 대한 정보 및 각 암호화된 블록들이 4개가 수신되었음을 미리 확인할 수 있다.The metaverse server 300 stores information on biometric authentication keys (keys calculated from pupil, voice, fingerprint, etc.) of the user device 100 through a mutual authentication mechanism with the previous user device 100 . Therefore, the metaverse server 300 can form a signal space of a three-dimensional key as shown in FIG. 9, and information on rules for forming each group by mapping the coordinates of each feature point and each encrypted block It can be confirmed in advance that four have been received.

그리고 메타버스 서버(300)는 암호화 블록 4개를 사용자 장치(100)의 공개키 4개로 각각 복호화하여 각 지적도분할 1, 2, 3, 4의 정보를 해석할 수 있다. In addition, the metaverse server 300 may decrypt the four encryption blocks with the four public keys of the user device 100, respectively, and interpret the information of each cadastral map division 1, 2, 3, and 4.

도 10에서 메타버스 세계에서의 가상의 자산의 소유를 위한 가산자산의 암호화 기술에 대해 살펴본다. 16개의 점의 좌표는 가상세계에서의 땅의 지도중 에서 주요 구분을 지을 수 있는 주요 지점에 대한 좌표이다. 그리고 4개의 점을 모으면 해당 영역의 땅을 구분할 수 있다. 4개의 점의 좌표를 집합으로 구성하여 {(a,b), (c,d),(e,f),(g,h)}, 형태로 표현한 집합이 4개가 존재한다. In FIG. 10, we look at the encryption technology of countable assets for the possession of virtual assets in the metaverse world. The coordinates of the 16 points are the coordinates of the main points that can be distinguished from the map of the land in the virtual world. And if you collect 4 dots, you can distinguish the land of the area. There are four sets expressed in the form of {(a,b), (c,d), (e,f), (g,h)} by composing the coordinates of four points.

2차 암호화 공개키의 길이는 충분히 길고, 임의의 지점을 각각 4군데를 지정하여, 암호화 비트의 스트림을 생성하고, 위 {(a,b), (c,d),(e,f),(g,h)}를 각 비트의 스트림을 곱해서 암호화된 비트를 생성한다.The length of the secondary encryption public key is sufficiently long, and each of four random points is designated to generate a stream of encryption bits, and the above {(a,b), (c,d), (e,f), (g,h)} multiplied by each stream of bits to produce encrypted bits.

실제로 가상셰계의 자산이나 토지의 좌표는 반듯한 선의 형태가 아니고 다양한 형태의 곡면과 3차원 입체 공간에 대한 3차원 좌표로 표현될 수 있다. 즉, 도 10은 간략하게 표현하기 위해서 짧은 길이의 숫자들의 집합들만을 표현하였으나 실제로 메타버스 세계 내에서 사용되는 입체적 형상을 지닌 가상자산들의 좌표는 길이가 충분히 긴 좌표들의 집합들일 수 있다. 즉, (a,b) = (0x1234567890ABCDEF, 0x9876543210FEDCDBA) 등의 형태로서 값 1개가 굉장히 긴 길이의 bit를 가질 수 있다. In fact, the coordinates of assets or land in the virtual world are not in the form of straight lines, but can be expressed as 3D coordinates for various types of curved surfaces and 3D space. That is, although FIG. 10 represents only short-length sets of numbers for simplicity, the coordinates of virtual assets having three-dimensional shapes actually used in the metaverse world may be sets of long-length coordinates. That is, in the form of (a,b) = (0x1234567890ABCDEF, 0x9876543210FEDCDBA), one value can have a very long bit.

입체적 형상의 좌표는 (a,b,c) = (0x1234567890ABCDEF, 0x9876543210FEDCDBA, 0xFFFFAAAADDDD)와 긴 길이를 가지는 비트들로 3차원좌표로 구성된다.The coordinates of a three-dimensional shape are composed of three-dimensional coordinates with (a,b,c) = (0x1234567890ABCDEF, 0x9876543210FEDCDBA, 0xFFFFAAAADDDD) and long bits.

메타버스 서버(300)는 (a, b, c)의 각 원소 a, b, c를 2차원키에서 추출한 충분히 긴 암호화시퀀스를 3개를 추출하여, 각각의 원소와 곱하여 암호화된 시퀀스 S1, S2, S3, S4, S5, S6, S7, S8, S9, S10, S11, S12 들을 블록의 암호화부에 넣은후에, "표제부+암호화부"로 구성된 블록을 형성하고, 노드들에게 무결성 검증을 받은 후에 블록체인에 블록을 연결함으로서 가상자산에 대한 소유권을 블록체인에 기록한다.The metaverse server 300 extracts three sufficiently long encryption sequences obtained by extracting each element a, b, and c of (a, b, c) from the two-dimensional key, and multiplies them with each element to obtain an encrypted sequence S 1 , After putting S 2 , S 3 , S 4 , S 5 , S 6 , S 7 , S 8 , S 9 , S 10 , S 11 , S 12 into the encryption part of the block, the block composed of "heading part + encryption part" and record the ownership of the virtual asset in the blockchain by connecting the block to the blockchain after receiving integrity verification from the nodes.

전술한 실시예를 적용할 경우, 가전제품에서 사용자가 직접 비밀번호(개인키)를 입력하지 않아도 다수의 생체인증수단을 통해서 1차 암호채널 및 2차 암호채널을 형성하여 사용자 장치(100)와 서버(300)간에 인증을 수행하고 NFT, 아이템 등을 가상자산으로 구매할 수 있다. 특히, 생체 정보를 이용하여 암호화키들을 생성하고, 1차 암호화 개인정보와 구매정보를 2차 암호화채널을 통해 송수신하여 구매를 진행할 수 있다. NFT나 아이템 등은 1, 2차 암호화 과정을 거쳐 블록체인에 연결하여 양도될 수 있다. When the above-described embodiment is applied, the user device 100 and the server form a primary encryption channel and a secondary encryption channel through a plurality of biometric authentication means even if the user does not directly input a password (private key) in the home appliance. Authentication can be performed between (300) and NFTs, items, etc. can be purchased as virtual assets. In particular, it is possible to make a purchase by generating encryption keys using biometric information and transmitting and receiving primary encrypted personal information and purchase information through a secondary encryption channel. NFTs or items can be transferred by connecting them to the blockchain through the 1st and 2nd encryption process.

또한, 가전 제품 등의 사용자 장치(100)에 특화된 전자 지갑을 기반으로 메타버스 세계에서 가상의 아이템 거래와 가상자산을 지불하기 위해 장치들 사이에 1차 암호화채널 및 2차 암호화채널을 형성하여 블록체인을 기반으로 2중으로 암호화된 NFT, 아이템과 가산자산과 교환할 수 있다. In addition, based on electronic wallets specialized for user devices 100 such as home appliances, in order to trade virtual items and pay virtual assets in the metaverse world, a primary encryption channel and a secondary encryption channel are formed between devices to block blocks Based on the chain, it can be exchanged with double-encrypted NFTs, items, and countable assets.

종래에는 핸드폰 앱 또는 pc에서 사용자가 직접 개인정보를 입력하고, 신원인증을 받은 후에 각자 전자 지갑을 생성할 수 있었다. 그러나, 본 발명의 실시예를 적용할 경우, 집안에 설치된 가전제품에서 측정한 센서데이터를 메타버스 서버(300)가 심도있게 분석하여 각 고객을 음성성문 분석, 얼굴인식을 통해서 식별하고 각 개인별로 전자 지갑을 발행하며 메타버스 세계에서 주고 받는 NFT 또는 아이템에 대한 대가와 보상으로 가상화폐를 송금, 수신할 수 있다. Conventionally, users can directly enter personal information in a mobile phone app or PC, and after receiving identity authentication, each user can create an electronic wallet. However, when the embodiment of the present invention is applied, the metaverse server 300 in-depth analyzes the sensor data measured by home appliances installed in the house to identify each customer through voice analysis and face recognition, and individually Electronic wallets are issued, and virtual currencies can be sent and received as compensation and compensation for NFTs or items exchanged in the metaverse world.

본 발명은 전자지갑을 핸드폰이나 PC의 웹브라우저의 플러그인앱 또는 PC에 설치하는 애플리케이션 형태로 구현하지 않는다. 전술한 장치들 또는 가전제품(냉장고, 세탁기, 건조기 등)등을 포괄하는 사용자 장치(100)에 전자지갑을 생성하고 가전제품이나 PC, 휴대폰 등이 센서를 통하여 습득한 로우 데이터(Raw Data)를 메타버스 서버(300)가 분석하여 각 개인을 식별하는 정보를 생성하여 전자지갑을 자동으로 생성한다. 그리고 안전한 개인키로서 개인의 음성성문, 지문인식, 동공인식, 걸음걸이 인식을 사용하여 가상화폐의 송금, 수신을 제어하여 편리성을 높일 수 있다. The present invention does not implement an electronic wallet in the form of a plug-in app of a web browser of a mobile phone or PC, or an application installed on a PC. Create an electronic wallet in the user device 100 that encompasses the aforementioned devices or home appliances (refrigerator, washing machine, dryer, etc.) The metaverse server 300 analyzes and generates information identifying each individual to automatically create an electronic wallet. In addition, as a safe private key, it is possible to increase convenience by controlling the remittance and reception of virtual currency using personal voice, fingerprint recognition, pupil recognition, and gait recognition.

메타버스 세계 내에서 사용자 장치(100)가 가상 자산 또는 "가산자산+현물자산(가전제품 등)"을 구매, 배송, 설치, AS, 양도 등의 행위를 할 경우, 지불되는 비용을 가상화폐로 자동으로 송금, 수신할 수 있도록 하여 보안성을 높이고 가상화폐로 현실세계의 제품(가전제품, 화장품, 기타 상품들 등)을 구매할 수 있다.In the metaverse world, when the user device 100 purchases, delivers, installs, AS, or transfers virtual assets or "countable assets + physical assets (home appliances, etc.)", the cost to be paid is converted into virtual currency. It enhances security by automatically sending and receiving money, and you can purchase real world products (home appliances, cosmetics, other products, etc.) with virtual currency.

본 명세서에서 NFT(Non-Fungible Token)은 사용자 장치 또는 판매자 장치 사이에서 거래될 수 있는 가상 자산에 대한 정보를 포함한다. 이 정보는 메타버스 상에서, 혹은 블록체인을 이용하여 거래 가능하거나 또는 다른 장치들에게 배포될 수 있다. In this specification, NFT (Non-Fungible Token) includes information about virtual assets that can be traded between user devices or seller devices. This information can be transacted on the metaverse, or using a blockchain, or distributed to other devices.

본 명세서에서 가상자산 또는 NFT를 전송 및 수신한다는 의미는 가상자산이나 NFT가 블록체인에 포함되며 해당 가상자산 또는 NFT를 포함하는 블록의 식별정보(예를 들어 주소)를 전송하거나 수신하는 것을 일 실시예로 한다.In this specification, the meaning of transmitting and receiving a virtual asset or NFT means that the virtual asset or NFT is included in a blockchain and transmits or receives identification information (eg address) of a block including the virtual asset or NFT. example

또한, 가상자산은 전자지갑의 형태로 교환될 수 있으며, 각 장치들에게 고유하게 할당된 전자지갑에서 가상자산이 유통될 수 있다.In addition, virtual assets can be exchanged in the form of electronic wallets, and virtual assets can be circulated in electronic wallets uniquely assigned to each device.

도 11은 본 발명의 일 실시예에 의한 사용자 장치의 구성을 보여주는 도면이다. 사용자 장치(100)는 통신부(110), 제어부(120) 및 저장부(150)로 구성된다. 11 is a diagram showing the configuration of a user device according to an embodiment of the present invention. The user device 100 is composed of a communication unit 110, a control unit 120 and a storage unit 150.

저장부(150)는 1차 암호화키 및 이에 대응하는 1차 공개키와 2차 암호화키 및 이에 대응하는 2차 공개키를 저장한다. 통신부(110)는 메타버스 서버(300), 판매자 장치(200) 및 블록체인 노드들(500)과 통신한다. 제어부(120)는 저장부(150)와 통신부(110)를 제어한다. 통신부(110)는 다른 장치와의 데이터 또는 블록의 식별 정보를 송수신하는 작업을 수행한다. 제어부(120)는 정보나 블록을 암호화 또는 복호화하거나 생성하는 작업을 수행한다. The storage unit 150 stores a primary encryption key, a primary public key corresponding thereto, a secondary encryption key, and a secondary public key corresponding thereto. The communication unit 110 communicates with the metaverse server 300, the seller device 200 and the blockchain nodes 500. The control unit 120 controls the storage unit 150 and the communication unit 110 . The communication unit 110 transmits and receives data or block identification information with other devices. The controller 120 encrypts, decrypts, or generates information or blocks.

보다 상세히 살펴본다. 제어부(120)가 사용자의 제1생체 정보를 이용하여 1차 암호화키 및 이에 대응하는 1차 공개키를 생성하여 저장부(150)에 저장하고, 사용자의 제2생체 정보를 이용하여 2차 암호화키 및 이에 대응하는 2차 공개키를 생성하여 저장부(150)에 저장한다. Let's take a closer look. The control unit 120 generates a primary encryption key and a corresponding primary public key using the user's first biometric information, stores them in the storage unit 150, and performs secondary encryption using the user's second biometric information. A key and a secondary public key corresponding thereto are generated and stored in the storage unit 150 .

제어부(120)는 통신 대상인 메타버스 서버(300) 또는 판매자 장치(200)의 1차 공개키를 이용하여 2차 공개키 및 랜덤 넘버를 암호화한 제1블록을 생성하여 블록체인에 추가하는 프로세스를 수행한다.The controller 120 uses the primary public key of the metaverse server 300 or seller device 200 to generate a first block that encrypts the secondary public key and random number and adds it to the blockchain. carry out

통신부(110)가 제1블록의 식별정보를 블록체인 노드(500)로부터 수신하여 메타버스 서버(300) 또는 판매자 장치(200)에게 전송할 수 있다. The communication unit 110 may receive the identification information of the first block from the blockchain node 500 and transmit it to the metaverse server 300 or the seller device 200.

제어부(120)가 메타버스 서버(300) 또는 판매자 장치(200)로부터 수신한 제2블록의 식별정보를 이용하여 제2블록을 사용자 장치의 2차 암호화키로 복호화하여 랜덤 넘버를 확인한다. 그리고 제어부(120)는 메타버스 서버(300) 또는 판매자 장치(200)를 신뢰성있는 통신 상대 장치로 설정하고 통신부(110)가 메타버스 서버(300) 또는 판매자 장치(200)와 데이터 또는 블록의 식별정보를 송수신한다. The control unit 120 uses the identification information of the second block received from the metaverse server 300 or the seller device 200 to decrypt the second block with the secondary encryption key of the user device to check the random number. And the control unit 120 sets the metaverse server 300 or seller device 200 as a reliable communication counterpart device, and the communication unit 110 identifies the metaverse server 300 or seller device 200 and data or blocks. send and receive information

전술한 암호화 과정 및 구성은 사용자 장치뿐만 아니라 판매자 장치에도 적용된다. The above encryption process and configuration are applied to the seller's device as well as the user's device.

또한, 전술한 과정에서는 1차 암호화키-1차 공개키와 2차 암호화키-2차 공개키를 생성하였으나, 동일한 메커니즘으로 3차 암호화키-3차 공개키를 생성할 수 있으며, 사용자 장치, 서버, 판매자 장치 등은 각각의 정보 공유 과정에서 각기 다른 암호화키-공개키를 사용하여 보안성을 높일 수 있다. 즉, 다중 암호화 채널을 유지함으로써 해킹 시도가 발생할 경우에도 데이터의 유출을 방지할 수 있다. In addition, in the above process, the first encryption key-first public key and the second encryption key-second public key were generated, but the third encryption key-third public key can be generated with the same mechanism, and the user device, Servers, vendor devices, etc. may increase security by using different encryption keys-public keys in each information sharing process. That is, by maintaining multiple encryption channels, data leakage can be prevented even when a hacking attempt occurs.

본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않으며 다양한 변경과 변형은 발명의 범위를 벗어나지 않는 한 본 발명의 범주에 포함된다. 각 구성 요소들이 각각 하나의 독립적인 구성요소인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램 또는 소프트웨어 등으로 구현될 수도 있다. 또는 구성요소가 하나의 장치 또는 모듈 내에 구현될 수도 있고, 혹은 하나의 구성요소가 다수의 장치 또는 모듈들에 나뉘어져서 구현될 수도 있다.The present invention may be embodied in many different forms and is not limited to the embodiments described herein, and various changes and modifications are included in the scope of the present invention without departing from the scope of the present invention. Although each component can be implemented as an independent hardware component, some or all of the components are selectively combined to perform some or all of the combined functions in one or a plurality of hardware program modules. It may be implemented as a computer program or software having Alternatively, a component may be implemented in one device or module, or one component may be implemented by being divided into multiple devices or modules.

100: 사용자 장치 200: 판매자 장치
300: 메타버스 서버 500: 블록체인 노드
100: user device 200: seller device
300: metaverse server 500: blockchain node

Claims (16)

사용자 장치가 사용자의 제1생체 정보를 이용하여 1차 암호화키 및 이에 대응하는 1차 공개키를 생성하여 저장하는 단계;
사용자 장치가 상기 사용자의 제2생체 정보를 이용하여 2차 암호화키 및 이에 대응하는 2차 공개키를 생성하여 저장하는 단계;
상기 사용자 장치는 통신 대상인 메타버스 서버 또는 판매자 장치의 1차 공개키를 이용하여 상기 2차 공개키 및 랜덤 넘버를 암호화한 제1블록의 식별정보를 상기 메타버스 서버 또는 상기 판매자 장치에게 전송하는 단계;
상기 사용자 장치가 메타버스 서버 또는 상기 판매자 장치로부터 수신한 제2블록의 식별정보를 이용하여 상기 제2블록을 상기 사용자 장치의 2차 암호화키로 복호화하여 상기 랜덤 넘버를 확인하는 단계; 및
상기 사용자 장치는 상기 메타버스 서버 또는 상기 판매자 장치를 신뢰성있는 통신 상대 장치로 설정하고 데이터 또는 블록의 식별정보를 송수신하는 단계를 포함하는, 다중 암호화 채널을 이용한 통신 방법.
generating and storing, by a user device, a primary encryption key and a primary public key corresponding to the primary encryption key using the user's first biometric information;
generating and storing, by a user device, a second encryption key and a corresponding second public key using the second biometric information of the user;
The user device using the primary public key of the metaverse server or seller device to communicate, transmitting identification information of the first block that encrypts the secondary public key and random number to the metaverse server or the seller device ;
Decrypting the second block with a secondary encryption key of the user device using the identification information of the second block received by the user device from the metaverse server or the seller device to check the random number; and
The user device sets the metaverse server or the seller device as a reliable communication counterpart device and transmits and receives data or block identification information.
제1항에 있어서,
상기 사용자 장치는 상기 메타버스 서버 또는 상기 판매자 장치로부터 상기 사용자 장치의 1차 공개키로 암호화된 제3블록의 식별 정보를 수신하여 상기 사용자 장치의 1차 암호화키로 상기 제3블록을 복호화하여 상기 판매자 장치의 1차 공개키를 확인하는 단계;
상기 사용자 장치는 상기 사용자 장치의 상기 2차 공개키, 구매 정보 및 상기 판매자 장치의 2차 공개키를 요청하는 제4블록을 상기 판매자 장치의 1차 공개키로 암호화하고 상기 제4블록의 식별 정보를 상기 판매자 장치에게 전송하는 단계를 더 포함하는, 다중 암호화 채널을 이용한 통신 방법.
According to claim 1,
The user device receives the identification information of the third block encrypted with the primary public key of the user device from the metaverse server or the seller device, decrypts the third block with the primary encryption key of the user device, and decrypts the seller device Checking the primary public key of;
The user device encrypts a fourth block requesting the secondary public key of the user device, purchase information, and the secondary public key of the seller device with the primary public key of the seller device, and generates identification information of the fourth block. Further comprising the step of transmitting to the seller device, a communication method using multiple encryption channels.
제2항에 있어서,
상기 사용자 장치는 상기 판매자 장치로부터 제5블록의 식별정보를 수신하여 상기 제5블록을 상기 사용자 장치의 2차 암호화키로 복호화하여 상기 판매자 장치의 2차 공개키를 확인하는 단계; 및
상기 사용자 장치는 상기 구매 정보에 대응하는 거래 대금인 코인을 포함하는 제6블록을 상기 판매자 장치의 상기 2차 공개키로 암호화하여 상기 제6블록의 식별 정보를 상기 판매자 장치에게 전송하는 단계를 더 포함하는, 다중 암호화 채널을 이용한 통신 방법.
According to claim 2,
the user device receiving identification information of a fifth block from the seller device, decrypting the fifth block with a secondary encryption key of the user device, and confirming a secondary public key of the seller device; and
The user device further comprising the step of encrypting a sixth block containing a coin that is the transaction price corresponding to the purchase information with the secondary public key of the seller device and transmitting identification information of the sixth block to the seller device. A communication method using multiple encryption channels.
제1항에 있어서,
상기 제1생체 정보는 상기 사용자의 지문의 특징점 정보이며,
상기 제2생체 정보는 상기 사용자의 홍채 특징점 또는 상기 사용자의 음성 특징점 중 어느 하나 이상인, 다중 암호화 채널을 이용한 통신 방법.
According to claim 1,
The first biometric information is feature point information of the user's fingerprint,
The second biometric information is at least one of the user's iris feature point and the user's voice feature point.
제1항에 있어서,
상기 사용자 장치는 상기 제1생체 정보의 특징점을 소수(prime number)의 리스트를 원형으로 생성하여 특정한 길이의 1차 암호화키를 산출하는 단계를 더 포함하는, 다중 암호화 채널을 이용한 통신 방법.
According to claim 1,
The user device further comprises calculating a primary encryption key of a specific length by generating a list of prime numbers of feature points of the first biometric information in a circular form.
제1항에 있어서,
상기 사용자 장치는 상기 제1생체 정보에서 산출된 정보 및 상기 제2생체 정보에서 산출된 정보 중 일부 비트를 추출하여 상기 2차 암호화키를 산출하는 단계를 더 포함하는, 다중 암호화 채널을 이용한 통신 방법.
According to claim 1,
The user device further comprises calculating the secondary encryption key by extracting some bits from among the information calculated from the first biological information and the information calculated from the second biological information. .
제1항에 있어서,
상기 2차 암호화키 및 이에 대응하는 2차 공개키를 생성하여 저장하는 단계는
상기 사용자 장치가 상기 사용자의 상기 제1생체 정보, 상기 제2생체 정보 및 제3생체 정보를 3차원 공간의 제1축, 제2축 및 제3축에 각각 배치하는 단계; 및
상기 둘 이상의 축으로 구성된 점의 좌표를 상기 2차 암호화키의 서브 집합으로 설정하는 단계를 더 포함하는, 다중 암호화 채널을 이용한 통신 방법.
According to claim 1,
The step of generating and storing the secondary encryption key and the secondary public key corresponding thereto
arranging, by the user device, the first, second, and third biological information of the user on a first axis, a second axis, and a third axis, respectively, in a 3D space; and
The communication method using multiple encryption channels further comprising setting coordinates of points composed of the two or more axes as a subset of the secondary encryption key.
제1항에 있어서,
상기 사용자 장치는 상기 메타버스 서버가 제공하는 메타버스 세계 내의 가상 자산을 소유하며,
상기 사용자 장치는 상기 가상 자산의 좌표 정보를 상기 2차 공개키 또는 상기 1차 공개키로 암호화하여 자산 블록에 저장하는 단계를 더 포함하는, 다중 암호화 채널을 이용한 통신 방법.
According to claim 1,
The user device owns virtual assets in the metaverse world provided by the metaverse server,
The user device further comprises encrypting the coordinate information of the virtual asset with the secondary public key or the primary public key and storing it in an asset block.
1차 암호화키 및 이에 대응하는 1차 공개키와 2차 암호화키 및 이에 대응하는 2차 공개키를 저장하는 저장부;
메타버스 서버, 판매자 장치 및 블록체인 노드들과 통신하는 통신부; 및
상기 저장부와 상기 통신부를 제어하는 제어부를 포함하며,
상기 제어부가 사용자의 제1생체 정보를 이용하여 1차 암호화키 및 이에 대응하는 1차 공개키를 생성하여 상기 저장부에 저장하고, 상기 사용자의 제2생체 정보를 이용하여 2차 암호화키 및 이에 대응하는 2차 공개키를 생성하여 상기 저장부에 저장한 후,
상기 제어부는 통신 대상인 메타버스 서버 또는 판매자 장치의 1차 공개키를 이용하여 상기 2차 공개키 및 랜덤 넘버를 암호화한 제1블록을 생성하여 상기 블록체인에 추가하는 프로세스를 수행하며,
상기 통신부가 상기 제1블록의 식별정보를 상기 블록체인 노드로부터 수신하여 상기 메타버스 서버 또는 상기 판매자 장치에게 전송하며,
상기 제어부가 상기 메타버스 서버 또는 상기 판매자 장치로부터 수신한 제2블록의 식별정보를 이용하여 상기 제2블록을 상기 사용자 장치의 2차 암호화키로 복호화하여 상기 랜덤 넘버를 확인한 후,
상기 제어부는 상기 메타버스 서버 또는 상기 판매자 장치를 신뢰성있는 통신 상대 장치로 설정하고 상기 통신부가 상기 메타버스 서버 또는 상기 판매자 장치와 데이터 또는 블록의 식별정보를 송수신하는, 사용자 장치.
a storage unit for storing a primary encryption key, a primary public key corresponding thereto, a secondary encryption key, and a secondary public key corresponding thereto;
A communication unit that communicates with the metaverse server, merchant device, and blockchain nodes; and
And a control unit for controlling the storage unit and the communication unit,
The control unit generates a primary encryption key and a primary public key corresponding thereto using the user's first biometric information and stores them in the storage unit, and uses the user's second biometric information to generate a secondary encryption key and a primary encryption key corresponding thereto. After generating the corresponding secondary public key and storing it in the storage unit,
The control unit performs a process of generating a first block in which the secondary public key and random number are encrypted using the primary public key of the metaverse server or seller device to be communicated and adding to the blockchain,
The communication unit receives the identification information of the first block from the blockchain node and transmits it to the metaverse server or the seller device,
After the controller checks the random number by decrypting the second block with the secondary encryption key of the user device using the identification information of the second block received from the metaverse server or the seller device,
The control unit sets the metaverse server or the seller device as a reliable communication counterpart device, and the communication unit transmits and receives identification information of data or blocks with the metaverse server or the seller device.
제9항에 있어서,
상기 통신부가 상기 메타버스 서버 또는 상기 판매자 장치로부터 상기 사용자 장치의 1차 공개키로 암호화된 제3블록의 식별 정보를 수신한 후,
상기 제어부가 상기 사용자 장치의 1차 암호화키로 상기 제3블록을 복호화하여 상기 판매자 장치의 1차 공개키를 확인한 후, 상기 사용자 장치의 상기 2차 공개키, 구매 정보 및 상기 판매자 장치의 2차 공개키를 요청하는 제4블록을 상기 판매자 장치의 1차 공개키로 암호화하며,
상기 통신부 상기 제4블록의 식별 정보를 상기 판매자 장치에게 전송하는, 사용자 장치.
According to claim 9,
After the communication unit receives the identification information of the third block encrypted with the primary public key of the user device from the metaverse server or the seller device,
After the control unit decrypts the third block with the primary encryption key of the user device and confirms the primary public key of the seller device, the secondary public key of the user device, purchase information, and secondary disclosure of the seller device The fourth block requesting a key is encrypted with the primary public key of the seller device,
The communication unit transmits the identification information of the fourth block to the seller device, the user device.
제10항에 있어서,
상기 통신부가 상기 판매자 장치로부터 제5블록의 식별정보를 수신하면 상기 제어부는 상기 제5블록을 상기 사용자 장치의 2차 암호화키로 복호화하여 상기 판매자 장치의 2차 공개키를 확인한 후, 상기 구매 정보에 대응하는 거래 대금인 코인을 포함하는 제6블록을 상기 판매자 장치의 상기 2차 공개키로 암호화하며,
상기 통신부는 상기 제6블록의 식별 정보를 상기 판매자 장치에게 전송하는, 사용자 장치.
According to claim 10,
When the communication unit receives the identification information of the fifth block from the seller device, the control unit decrypts the fifth block with the secondary encryption key of the user device, confirms the secondary public key of the seller device, Encrypting a sixth block containing coins corresponding to the transaction price with the secondary public key of the seller device;
The communication unit transmits the identification information of the sixth block to the seller device, the user device.
제9항에 있어서,
상기 제1생체 정보는 상기 사용자의 지문의 특징점 정보이며,
상기 제2생체 정보는 상기 사용자의 홍채 특징점 또는 상기 사용자의 음성 특징점 중 어느 하나 이상인, 사용자 장치.
According to claim 9,
The first biometric information is feature point information of the user's fingerprint,
The second biometric information is at least one of the user's iris feature point and the user's voice feature point.
제9항에 있어서,
상기 제어부는 상기 제1생체 정보의 특징점을 소수(prime number)의 리스트를 원형으로 생성하여 특정한 길이의 1차 암호화키를 산출하는, 사용자 장치.
According to claim 9,
The control unit calculates a primary encryption key of a specific length by generating a list of prime numbers of feature points of the first biometric information in a circular form.
제9항에 있어서,
상기 제어부는 상기 제1생체 정보에서 산출된 정보 및 상기 제2생체 정보에서 산출된 정보 중 일부 비트를 추출하여 상기 2차 암호화키를 산출하는, 사용자 장치.
According to claim 9,
wherein the control unit calculates the secondary encryption key by extracting some bits from among the information calculated from the first biological information and the information calculated from the second biological information.
제9항에 있어서,
상기 제어부는 상기 사용자의 상기 제1생체 정보, 상기 제2생체 정보 및 제3생체 정보를 3차원 공간의 제1축, 제2축 및 제3축에 각각 배치하여 상기 둘 이상의 축으로 구성된 점의 좌표를 상기 2차 암호화키의 서브 집합으로 설정하는, 사용자 장치.
According to claim 9,
The control unit arranges the first, second, and third biological information of the user on a first axis, a second axis, and a third axis of a 3D space, respectively, so that a point composed of the two or more axes is obtained. A user device that sets coordinates to a subset of the secondary encryption key.
제9항에 있어서,
상기 사용자 장치는 상기 메타버스 서버가 제공하는 메타버스 세계 내의 가상 자산을 소유하며,
상기 제어부는 상기 가상 자산의 좌표 정보를 상기 2차 공개키 또는 상기 1차 공개키로 암호화하여 자산 블록에 저장하는, 사용자 장치.

According to claim 9,
The user device owns virtual assets in the metaverse world provided by the metaverse server,
The control unit encrypts the coordinate information of the virtual asset with the secondary public key or the primary public key and stores it in an asset block.

KR1020210155682A 2021-11-12 2021-11-12 Method of communicationg using multiple secure channel and device implementing thereof KR102658318B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210155682A KR102658318B1 (en) 2021-11-12 2021-11-12 Method of communicationg using multiple secure channel and device implementing thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210155682A KR102658318B1 (en) 2021-11-12 2021-11-12 Method of communicationg using multiple secure channel and device implementing thereof

Publications (2)

Publication Number Publication Date
KR20230069554A true KR20230069554A (en) 2023-05-19
KR102658318B1 KR102658318B1 (en) 2024-04-16

Family

ID=86546834

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210155682A KR102658318B1 (en) 2021-11-12 2021-11-12 Method of communicationg using multiple secure channel and device implementing thereof

Country Status (1)

Country Link
KR (1) KR102658318B1 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019102979A (en) * 2017-12-01 2019-06-24 ソラミツ株式会社 Method related to transaction based on personal identification using biological information
KR102154657B1 (en) * 2018-11-22 2020-09-10 금오공과대학교 산학협력단 Data transmission method of wireless communication system using block chain

Also Published As

Publication number Publication date
KR102658318B1 (en) 2024-04-16

Similar Documents

Publication Publication Date Title
US10147076B2 (en) Digital currency (virtual payment cards) issued by central bank for mobile and wearable devices
US10521776B2 (en) UN currency (virtual payment cards) issued by central bank or other issuer for mobile and wearable devices
US10521777B2 (en) Crypto digital currency (virtual payment cards) issued by central bank or other issuer for mobile and wearable devices
US10055714B2 (en) Digital currency (virtual payment cards) issued by central bank for mobile and wearable devices
US20210357893A1 (en) Systems and methods for commerce in a distributed system with blockchain protocols and smart contracts
US20160125403A1 (en) Offline virtual currency transaction
CN103370688B (en) A kind of system and method being generated multifactor personalization server strong encryption keys by ease of user password
US20210224795A1 (en) Escrow non-face-to-face cryptocurrency transaction device and method using phone number
US6339765B1 (en) Method and apparatus for defining private currencies
US20150046337A1 (en) Offline virtual currency transaction
CN106462843A (en) Master applet for secure remote payment processing
CN107278307A (en) Software layer is mutually authenticated
US20120203663A1 (en) Method and apparatus for authentication utilizing location
CN110383757A (en) System and method for safe handling electronic identity
JP2009526321A (en) System for executing a transaction in a point-of-sale information management terminal using a changing identifier
CN107240010B (en) Method and system for transferring digital currency to digital currency chip card
Christodorescu et al. Towards a two-tier hierarchical infrastructure: an offline payment system for central bank digital currencies
WO2020109972A1 (en) Un currency (virtual payment cards) issued by central bank or other issuer for mobile and wearable devices
CN107230078B (en) Method and system for paying digital currency using a visual digital currency chip card
WO2018189660A1 (en) Digital currency (virtual payment cards) issued by central bank for mobile and wearable devices
CN107230074B (en) Method and system for depositing digital currency into digital currency chip card
WO2023036143A1 (en) Decentralized zero-trust identity verification and authentication system and method
CN110689412A (en) Method, device, server and storage medium for game virtual article transaction based on block chain
WO2019150255A1 (en) Digital currency (virtual payment cards) issued by central bank for mobile and wearable devices
KR102658318B1 (en) Method of communicationg using multiple secure channel and device implementing thereof

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant