KR20240013298A - The private key restoration system using DID and biometric information - Google Patents
The private key restoration system using DID and biometric information Download PDFInfo
- Publication number
- KR20240013298A KR20240013298A KR1020220090657A KR20220090657A KR20240013298A KR 20240013298 A KR20240013298 A KR 20240013298A KR 1020220090657 A KR1020220090657 A KR 1020220090657A KR 20220090657 A KR20220090657 A KR 20220090657A KR 20240013298 A KR20240013298 A KR 20240013298A
- Authority
- KR
- South Korea
- Prior art keywords
- private key
- user terminal
- biometric information
- blockchain
- server
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/0825—Key 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Storage Device Security (AREA)
Abstract
DID와 생체정보 기반의 개인키 복원 시스템이 제공된다. 상기 DID와 생체정보 기반의 개인키 복원 시스템은, 사용자 생체정보와 핀(pin) 값을 입력받고, DID 기반의 개인키/공개키 쌍을 생성하고, 상기 핀 값의 해쉬(hash) 값을 생성하고, 상기 개인키와 상기 사용자 생체정보를 결합하여 암호화 코드(Encrypted Code)를 생성하는 사용자 단말, 상기 사용자 단말로부터 상기 DID와 상기 공개키를 전달받아 저장하고, 상기 핀 값의 해쉬 값을 전달받아 상기 DID에 매핑하여 저장하는 블록체인, 상기 사용자 단말로부터 상기 DID 및 상기 사용자 단말에서 상기 개인키를 이용하여 전자서명한 암호화 코드를 전달받아 저장하는 DIDH 서버, 및 상기 사용자 단말로부터 상기 개인키에 대한 복원 요청이 있는 경우에, 상기 사용자 단말에서 입력받은 핀 값의 해쉬 값을 이용하여 상기 블록체인으로부터 상기 공개키를 획득하고, 상기 블록체인으로부터 획득한 공개키를 이용하여 상기 DIDH 서버로 상기 암호화 코드를 요청하고, 상기 DIDH 서버로부터 전달받은 상기 암호화 코드를 상기 사용자 단말로 전달하는 서비스 제공자 서버를 포함한다.A private key recovery system based on DID and biometric information is provided. The DID and biometric information-based private key recovery system receives user biometric information and a pin value, generates a DID-based private key/public key pair, and generates a hash value of the pin value. A user terminal generates an encrypted code by combining the private key and the user biometric information, receives and stores the DID and the public key from the user terminal, and receives a hash value of the pin value. A blockchain that maps and stores the DID, a DIDH server that receives and stores the DID from the user terminal and an encryption code electronically signed using the private key in the user terminal, and When there is a request for restoration, the public key is obtained from the blockchain using the hash value of the PIN value input from the user terminal, and the encryption code is sent to the DIDH server using the public key obtained from the blockchain. It includes a service provider server that requests and delivers the encryption code received from the DIDH server to the user terminal.
Description
본 발명은 DID와 생체정보 기반의 개인키 복원 시스템에 관한 것이다. 더욱 상세하게는, 본 발명은 사용자 생체정보를 인식하고 DID 기반의 개인키와 결합하여 암호화 코드(Encrypted Code)를 생성하고, 상기 암호화 코드를 저장 및 관리하는 DIDH 서버와 서비스 제공자 서버 간의 상호작용에 의해, 사용자가 개인키를 잊어버리거나 사용자 단말의 분실로 인하여 개인키를 분실하는 경우에도 사용자의 생체정보를 재인식하여 상기 암호화 코드로부터 개인키를 복원할 수 있는 DID와 생체정보 기반의 개인키 복원 시스템에 관한 것이다. The present invention relates to a private key recovery system based on DID and biometric information. More specifically, the present invention recognizes user biometric information and combines it with a DID-based private key to generate an encryption code, and involves the interaction between the DIDH server and the service provider server that stores and manages the encryption code. A private key recovery system based on DID and biometric information that can restore the private key from the encryption code by re-recognizing the user's biometric information even if the user forgets the private key or loses the private key due to loss of the user terminal. It's about.
블록체인(Block Chain)은 네트워크에 참여하는 모든 사용자가 관리 대상이 되는 모든 데이터를 분산하여 저장하는 데이터 분산처리기술을 의미한다. 거래 정보가 담긴 원장을 거래 주체나 특정 기관에서 보유하는 것이 아니라 네트워크 참여자 모두가 나누어 가지는 기술이라는 점에서 '분산원장기술(DLT:Distributed Ledger Technology)' 또는 '공공거래장부'라고도 한다. 블록체인은 거래 내용이 담긴 블록(Block)을 사슬처럼 연결(chain)한 것이라 하여 붙여진 명칭이다. 이러한 블록체인은 거래 내용의 위변조와 같은 해킹을 막기 위한 기술이며, 거래에 참여하는 모든 사용자에게 거래 내역을 보내 주며 거래 때마다 이를 대조해 데이터 위조를 막는 방식을 사용한다. Blockchain refers to a data distribution processing technology that distributes and stores all data subject to management by all users participating in the network. It is also called 'Distributed Ledger Technology (DLT)' or 'Public Transaction Ledger' in that the ledger containing transaction information is not held by the transaction subject or a specific institution, but is shared by all network participants. Blockchain is a name given to a chain of blocks containing transaction information. This blockchain is a technology to prevent hacking such as forgery and falsification of transaction details. It sends transaction details to all users participating in the transaction and compares them for each transaction to prevent data forgery.
블록체인은 금융기관에서 모든 거래를 담보하고 관리하는 기존의 금융 시스템에서 벗어나 P2P(Peer to Peer;개인 대 개인) 거래를 지향하는, 탈중앙화를 핵심 개념으로 한다. P2P란 서버나 클라이언트 없이 개인 컴퓨터 사이를 연결하는 통신망을 말하며, 연결된 각각의 컴퓨터가 서버이자 클라이언트 역할을 하며 정보를 공유하는 방식이다. 다수의 노드가 같은 데이터를 공유하고 검증하는 방식을 통해 디지털 상에 신뢰관계를 형성하게 된다. 이러한 환경은 중개자 없이 P2P로 편리하게 계약을 체결하고 수정할 수 있는 스마트 컨트랙트를 실현 가능하게 한다.Blockchain has decentralization as its core concept, moving away from the existing financial system in which all transactions are secured and managed by financial institutions and oriented toward P2P (Peer to Peer) transactions. P2P refers to a communication network that connects personal computers without a server or client, and each connected computer acts as a server and client and shares information. A digital trust relationship is formed through multiple nodes sharing and verifying the same data. This environment makes it possible to implement smart contracts that can conveniently conclude and modify contracts through P2P without an intermediary.
기존 금융 시스템에서는 금융회사들이 중앙 서버에 거래 기록을 보관해 온 반면, P2P 방식을 기반으로 하는 블록체인에서는 거래 정보를 블록에 담아 차례대로 연결하고 이를 모든 참여자가 공유한다.In the existing financial system, financial companies have stored transaction records on a central server, whereas in a blockchain based on the P2P method, transaction information is stored in blocks, linked in turn, and shared by all participants.
그리고, 블록체인 상의 모든 거래 정보가 블록에 기록되기 위해서는 유효한 전자서명이 있어야 하고, 이러한 전자서명은 유효한 디지털 키에 의해 수행된다. 디지털 키는 개인키(private key)와 공개키(public key) 쌍으로 구성되는데, 공개키는 은행의 계좌번호 역할을 하고, 개인키는 계좌의 비밀번호 역할을 한다. 따라서, 개인키 관리는 중요한 문제이며, 개인키의 분실 시 문제가 발생할 가능성이 있기 때문에 높은 주의를 요구한다. 그러나, 개인키를 분실하는 경우 복구가 상당히 어렵거나 불가능하여 해당 디지털 자산에 대한 권리를 상실하게 된다. 이에 따라, 본 발명에서는 분실한 개인키를 간편하게 복원할 수 있는 방법을 제안한다. In addition, in order for all transaction information on the blockchain to be recorded in a block, there must be a valid electronic signature, and this electronic signature is performed using a valid digital key. A digital key consists of a private key and a public key pair. The public key serves as the bank account number, and the private key serves as the account password. Therefore, private key management is an important issue and requires great attention because problems may occur if the private key is lost. However, if the private key is lost, recovery is extremely difficult or impossible, resulting in loss of rights to the digital asset. Accordingly, the present invention proposes a method to easily restore a lost private key.
본 발명이 해결하고자 하는 기술적 과제는, 블록체인 네트워크 내에서 거래 정보 기록을 위해 이용하는 디지털 키인 개인키를 분실하는 경우를 대비하여 사용자 생체정보와 개인키를 결합하여 암호화 코드(Encrypted Code)를 생성하고, 상기 암호화 코드를 저장 및 관리하는 DIDH 서버와 서비스 제공자 서버 간의 상호작용에 의해, 개인키를 분실하는 경우에도 사용자의 생체정보를 재인식하여 상기 암호화 코드로부터 개인키를 복원할 수 있는 DID와 생체정보 기반의 개인키 복원 시스템을 제공하는 것이다. The technical problem that the present invention aims to solve is to generate an encrypted code by combining the user's biometric information and the private key in case the private key, which is a digital key used to record transaction information within the blockchain network, is lost. , DID and biometric information that can restore the private key from the encryption code by re-recognizing the user's biometric information even if the private key is lost, through interaction between the DIDH server that stores and manages the encryption code and the service provider server It provides a private key recovery system based on
본 발명이 해결하고자 하는 다른 기술적 과제는, 사용자 단말에서 DID 기반으로 개인키/공개키 쌍을 생성하고, 사용자로부터 입력받은 핀 값의 해쉬 값을 생성하여, 블록체인에 사용자의 DID와 매핑된 공개키 및 핀 해쉬 값을 저장하고, 개인키 분실 시에 핀 해쉬 값을 이용하여 암호화 코드를 획득하고, 상기 암호화 코드로부터 사용자의 생체정보를 이용하여 개인키를 복원할 수 있는 DID와 생체정보 기반의 개인키 복원 시스템을 제공하는 것이다. Another technical problem that the present invention aims to solve is to generate a private key/public key pair based on DID in the user terminal, generate a hash value of the PIN value input from the user, and publicize it mapped to the user's DID on the blockchain. A DID and biometric information-based system that stores the key and pin hash value, obtains an encryption code using the pin hash value when the private key is lost, and restores the private key using the user's biometric information from the encryption code. It provides a private key recovery system.
다만, 본 발명이 해결하고자 하는 기술적 과제들은 상기 과제들로 한정되는 것이 아니며, 본 발명의 기술적 사상 및 영역으로부터 벗어나지 않는 범위에서 다양하게 확장될 수 있다. However, the technical problems to be solved by the present invention are not limited to the above problems, and may be expanded in various ways without departing from the technical spirit and scope of the present invention.
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 DID와 생체정보 기반의 개인키 복원 시스템은, 사용자 생체정보와 핀(pin) 값을 입력받고, DID 기반의 개인키/공개키 쌍을 생성하고, 상기 핀 값의 해쉬(hash) 값을 생성하고, 상기 개인키와 상기 사용자 생체정보를 결합하여 암호화 코드(Encrypted Code)를 생성하는 사용자 단말, 상기 사용자 단말로부터 상기 DID와 상기 공개키를 전달받아 저장하고, 상기 핀 값의 해쉬 값을 전달받아 상기 DID에 매핑하여 저장하는 블록체인, 상기 사용자 단말로부터 상기 DID 및 상기 사용자 단말에서 상기 개인키를 이용하여 전자서명한 암호화 코드를 전달받아 저장하는 DIDH 서버, 및 상기 사용자 단말로부터 상기 개인키에 대한 복원 요청이 있는 경우에, 상기 사용자 단말에서 입력받은 핀 값의 해쉬 값을 이용하여 상기 블록체인으로부터 상기 공개키를 획득하고, 상기 블록체인으로부터 획득한 공개키를 이용하여 상기 DIDH 서버로 상기 암호화 코드를 요청하고, 상기 DIDH 서버로부터 전달받은 상기 암호화 코드를 상기 사용자 단말로 전달하는 서비스 제공자 서버를 포함한다. The private key recovery system based on DID and biometric information according to an embodiment of the present invention to solve the above problem receives user biometric information and pin value and generates a DID-based private key/public key pair. A user terminal generates a hash value of the PIN value and generates an encrypted code by combining the private key and the user biometric information, and transmits the DID and the public key from the user terminal. A blockchain that receives and stores the hash value of the pin value and maps it to the DID and stores it, and receives and stores the DID from the user terminal and an encryption code electronically signed using the private key from the user terminal. When there is a request to restore the private key from the DIDH server and the user terminal, the public key is obtained from the blockchain using the hash value of the PIN value input from the user terminal, and obtained from the blockchain. It includes a service provider server that requests the encryption code from the DIDH server using a public key and delivers the encryption code received from the DIDH server to the user terminal.
본 발명에 따른 몇몇 실시예에서, 상기 DIDH 서버는 상기 서비스 제공자 서버로부터 상기 암호화 코드에 관한 요청이 있는 경우에 상기 서비스 제공자 서버에 대한 VC(Verifiable Credential) 인증 후 상기 암호화 코드를 전달할 수 있다. In some embodiments according to the present invention, the DIDH server may transmit the encryption code after VC (Verifiable Credential) authentication for the service provider server when there is a request for the encryption code from the service provider server.
본 발명에 따른 몇몇 실시예에서, 상기 서비스 제공자 서버는 상기 사용자 단말로 상기 암호화 코드를 전달할 때 상기 블록체인에서 획득한 DID를 함께 전달할 수 있다. In some embodiments according to the present invention, the service provider server may transmit the DID obtained from the blockchain together with the encryption code when transmitting the encryption code to the user terminal.
본 발명에 따른 몇몇 실시예에서, 상기 DIDH 서버는 상기 블록체인으로부터 획득한 공개키를 이용하여 상기 전자서명된 암호화 코드에 대한 검증 후 상기 암호화 코드를 저장할 수 있다. In some embodiments according to the present invention, the DIDH server may store the encryption code after verifying the digitally signed encryption code using a public key obtained from the blockchain.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Other specific details of the invention are included in the detailed description and drawings.
본 발명에 따르면, 사용자의 생체정보와 DID 기반의 개인키를 결합하여 암호화 코드(Encrypted Code)로 암호화하여 관리함으로써 사용자가 개인키를 분실한 경우에도 사용자의 생체정보를 이용하여 개인키를 용이하게 복원할 수 있다. According to the present invention, the user's biometric information and the DID-based private key are combined, encrypted and managed with an encryption code, so that even if the user loses the private key, the private key can be easily retrieved using the user's biometric information. It can be restored.
또한, 본 발명에 따르면, 블록체인 네트워크 내에서 거래 정보 기록을 위해 이용하는 개인키를 분실하더라도 복원이 가능하며, 개인키 분실에 따른 유/무형 자산에 대한 권리를 상실하게 될 염려를 줄일 수 있다.In addition, according to the present invention, even if the private key used to record transaction information within the blockchain network is lost, it can be restored, and concerns about losing rights to tangible and intangible assets due to loss of the private key can be reduced.
또한, 본 발명에 따르면, 개인키를 분실한 경우에 개인키를 재발급하는 것이 아니라 사용자의 생체정보를 이용하여 원래의 개인키를 복원할 수 있어 개인키 관리의 어려움을 덜 수 있다. In addition, according to the present invention, when the private key is lost, the original private key can be restored using the user's biometric information rather than reissuing the private key, thereby reducing the difficulty of managing the private key.
또한, 본 발명에 따르면, DID 기반의 식별자를 이용함으로써 사용자의 개인정보를 보호하고, 블록체인에 등록되는 데이터의 양을 줄여 자원을 효율적으로 활용할 수 있다. In addition, according to the present invention, by using a DID-based identifier, the user's personal information can be protected and resources can be efficiently utilized by reducing the amount of data registered in the blockchain.
다만, 본 발명의 효과는 상기 효과들로 한정되는 것이 아니며, 본 발명의 기술적 사상 및 영역으로부터 벗어나지 않는 범위에서 다양하게 확장될 수 있다. However, the effects of the present invention are not limited to the above effects, and may be expanded in various ways without departing from the technical spirit and scope of the present invention.
도 1은 본 발명에 따른 기술적 사상이 적용될 수 있는 블록체인을 이용한 분산처리 시스템을 도시한 도면이다.
도 2 및 도 3은 블록체인 시스템에서 이용되는 블록의 연결을 도시한 블록도이다.
도 4는 본 발명의 실시예에 따른 DID와 생체정보 기반의 개인키 복원 시스템의 구성을 개략적으로 도시한 블록도이다.
도 5는 본 발명의 실시예에 따른 DID와 생체정보 기반의 개인키 복원 시스템에서 암호화 코드 등록 과정을 도시한 도면이다.
도 6은 본 발명의 실시예에 따른 DID와 생체정보 기반의 개인키 복원 시스템에서 개인키 분실 시 개인키 복원을 위한 과정을 도시한 도면이다.
도 7은 본 발명의 실시예에 따른 DID와 생체정보 기반의 개인키 복원 시스템에서 개인키를 사용하는 과정을 도시한 도면이다.
도 8은 본 발명의 실시예에 따른 노드의 컴퓨팅 장치의 구성도이다.Figure 1 is a diagram showing a distributed processing system using blockchain to which the technical idea according to the present invention can be applied.
Figures 2 and 3 are block diagrams showing the connection of blocks used in a blockchain system.
Figure 4 is a block diagram schematically showing the configuration of a private key recovery system based on DID and biometric information according to an embodiment of the present invention.
Figure 5 is a diagram illustrating an encryption code registration process in a private key recovery system based on DID and biometric information according to an embodiment of the present invention.
Figure 6 is a diagram illustrating a process for restoring a private key when the private key is lost in a private key recovery system based on DID and biometric information according to an embodiment of the present invention.
Figure 7 is a diagram showing the process of using a private key in a private key recovery system based on DID and biometric information according to an embodiment of the present invention.
Figure 8 is a configuration diagram of a node computing device according to an embodiment of the present invention.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. The advantages and features of the present invention and methods for achieving them will become clear by referring to the embodiments described in detail below along with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below and will be implemented in various different forms, but the present embodiments only serve to ensure that the disclosure of the present invention is complete and are within the scope of common knowledge in the technical field to which the present invention pertains. It is provided to fully inform those who have the scope of the invention, and the present invention is only defined by the scope of the claims.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며, 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.The terminology used herein is for describing embodiments and is not intended to limit the invention. As used herein, singular forms also include plural forms, unless specifically stated otherwise in the context. As used herein, “comprises” and/or “comprising” refers to the presence of one or more other components, steps, operations and/or elements. or does not rule out addition.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used in this specification may be used with meanings that can be commonly understood by those skilled in the art to which the present invention pertains. Additionally, terms defined in commonly used dictionaries are not interpreted ideally or excessively unless clearly specifically defined.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예들을 보다 상세하게 설명하고자 한다. 도면 상의 동일한 구성요소에 대해서는 동일한 참조 부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the attached drawings. The same reference numerals are used for the same components in the drawings, and duplicate descriptions for the same components are omitted.
이하에서는 본 발명의 개념이 적용될 수 있는 블록체인을 이용한 분산처리 시스템에 관해 먼저 설명하기로 한다. Below, we will first describe a distributed processing system using blockchain to which the concept of the present invention can be applied.
도 1은 본 발명에 따른 기술적 사상이 적용될 수 있는 블록체인을 이용한 분산처리 시스템을 도시한 도면이다.Figure 1 is a diagram showing a distributed processing system using blockchain to which the technical idea according to the present invention can be applied.
도 1을 참조하면 블록체인을 이용한 분산처리 시스템은 복수의 노드들(110~170)로 이루어진 분산형 네트워크(distributed network) 시스템이다. 상기 분산형 네트워크(100)를 구성하는 노드들(110~170)은 컴퓨터, 이동 단말기, 전용 전자 장치 등 연산 능력이 있는 전자 장치일 수 있다.Referring to Figure 1, a distributed processing system using blockchain is a distributed network system consisting of a plurality of nodes (110 to 170). The nodes 110 to 170 constituting the distributed network 100 may be electronic devices with computing capabilities, such as computers, mobile terminals, and dedicated electronic devices.
일반적으로 분산형 네트워크(100)는 블록체인이라 불리는 블록(block)의 연결 묶음 내에 모든 참여 노드에 공통으로 알려진 정보를 저장하고 참조할 수 있다. 상기 노드들(110~170)은 상호간 통신이 가능하며 블록체인을 저장, 관리 및 전파를 담당하는 완전 노드(full node)와 단순하게 트랜잭션에만 참여할 수 있는 간이 노드(light node)로 구분될 수 있다. 본 명세서에서 별다른 설명 없이 노드에 대하여 언급되는 경우, 이는 분산형 네트워크(100)에 참여하며 블록체인을 생성, 저장 또는 검증하는 동작을 수행하는 완전 노드를 지칭하는 경우가 많으나, 이에 한정되는 것은 아니다. In general, the distributed network 100 can store and reference information commonly known to all participating nodes within a connected bundle of blocks called a blockchain. The nodes 110 to 170 are capable of communicating with each other and can be divided into full nodes, which are responsible for storing, managing, and disseminating the blockchain, and light nodes, which can simply participate in transactions. . When a node is mentioned without further explanation in this specification, it often refers to a full node that participates in the decentralized network 100 and performs the operation of creating, storing, or verifying the blockchain, but is not limited to this. .
상기 블록체인에 연결되어 있는 각 블록들은 일정 기간 내의 거래 내역, 즉 트랜잭션(transaction)들을 포함한다. 상기 노드들은 각각 역할에 따라 블록체인을 생성, 저장 또는 검증함으로써 트랜잭션들을 관리할 수 있다.Each block connected to the blockchain contains transaction details, that is, transactions, within a certain period of time. The nodes can manage transactions by creating, storing, or verifying blockchains according to their respective roles.
실시 형태에 따라 상기 트랜잭션은 다양한 형태의 거래를 나타낼 수 있다. 일 실시예에서 상기 트랜잭션은 가상화폐의 소유 상태 및 그 변동을 나타내기 위한 금융 거래에 해당할 수 있다. 다른 실시예에서 상기 트랜잭션은 물건의 소유 상태 및 그 변동을 나타내기 위한 실물 거래에 해당할 수 있다. 또 다른 실시예에서 상기 트랜잭션은 정보의 기록, 저장 및 이송을 나타내기 위한 정보 공유 과정에 해당할 수 있다. 상기 분산형 네트워크(100)에서 거래를 수행하는 노드들은 각각의 암호학적 연관관계가 있는 개인키(private key) 및 공개키(public key) 쌍을 가질 수 있다.Depending on the embodiment, the transaction may represent various types of transactions. In one embodiment, the transaction may correspond to a financial transaction to indicate the ownership status of virtual currency and its changes. In another embodiment, the transaction may correspond to a physical transaction to indicate the ownership status of an item and its changes. In another embodiment, the transaction may correspond to an information sharing process to represent the recording, storage, and transfer of information. Nodes that perform transactions in the distributed network 100 may have a private key and public key pair with a cryptographic relationship.
도 2 및 도 3은 블록체인 시스템에서 이용되는 블록의 연결을 도시한 블록도이다.Figures 2 and 3 are block diagrams showing the connection of blocks used in a blockchain system.
도 2를 참조하면 블록체인(200)은 순차적으로 연결된 하나 이상의 블록들(210, 220, 230)의 분산 데이터베이스의 일종이다. 상기 블록체인(200)은 블록체인 시스템 내 사용자의 거래 내역을 저장하고 관리하기 위해 사용되며, 상기 블록체인 시스템의 네트워크에 참여하는 각 노드가 블록을 생성하여 상기 블록체인(200)에 연결한다. 도 2에는 제한된 수의 블록들(210, 220, 230)이 도시되어 있으나 블록체인에 포함될 수 있는 블록의 수는 이에 제한되지 아니한다.Referring to FIG. 2, the blockchain 200 is a type of distributed database of one or more sequentially connected blocks 210, 220, and 230. The blockchain 200 is used to store and manage users' transaction details within the blockchain system, and each node participating in the network of the blockchain system creates a block and connects it to the blockchain 200. Although a limited number of blocks 210, 220, and 230 are shown in Figure 2, the number of blocks that can be included in the blockchain is not limited thereto.
상기 블록체인(200)에 포함된 각 블록은 블록 헤더(211)와 블록 바디(213)를 포함하도록 구성될 수 있다. 상기 블록 헤더(211)는 각 블록들간의 연결 관계를 나타내기 위하여 이전 블록(220)의 해시 값을 포함할 수 있다. 상기 블록체인(200)이 유효한지 검증하는 과정에서 상기 블록 헤더(211) 내의 연결 관계가 사용된다. 상기 블록 바디(213)는 상기 블록(210)에 저장되고 관리되는 데이터, 예를 들어 트랜잭션 리스트 또는 트랜잭션 체인을 포함할 수 있다.Each block included in the blockchain 200 may be configured to include a block header 211 and a block body 213. The block header 211 may include the hash value of the previous block 220 to indicate the connection relationship between each block. In the process of verifying whether the blockchain 200 is valid, the connection relationship within the block header 211 is used. The block body 213 may include data stored and managed in the block 210, for example, a transaction list or a transaction chain.
도 3을 참조하면, 상기 블록 헤더(211)는 이전 블록의 해시(2112), 현재 블록의 해시(2113), 넌스(Nonce)(2114)를 포함할 수 있다. 또한, 상기 블록 헤더(211)는 블록 내의 트랜잭션 리스트의 헤더를 나타내는 루트(2115)를 포함할 수 있다.Referring to FIG. 3, the block header 211 may include a hash 2112 of the previous block, a hash 2113 of the current block, and a nonce 2114. Additionally, the block header 211 may include a root 2115 indicating the header of the transaction list within the block.
전술된 바와 같이, 상기 블록체인(200)은 연결된 하나 이상의 블록들을 포함할 수 있다. 상기 하나 이상의 블록들은 상기 블록 헤더(211) 내의 해시 값에 기초하여 연결된다. 상기 블록 헤더(211)에 포함된 이전 블록의 해시 값(2112)은 직전 블록(220)에 대한 해시 값으로서 직전 블록(220)에 포함된 현재 해시(2213)와 동일한 값이다. 상기 하나 이상의 블록들은 각 블록 헤더 내의 이전 블록의 해시 값에 의하여 연쇄적으로 연결된다. 상기 분산형 네트워크(100)에 참여하는 노드들은 상기 하나 이상의 블록들에 포함된 이전 블록의 해시 값에 기반하여 블록의 유효성을 검증하므로 악의적인 단일 노드가 이미 생성된 블록의 내용을 위조 또는 변조하는 행위가 불가능하다.As described above, the blockchain 200 may include one or more connected blocks. The one or more blocks are connected based on the hash value in the block header 211. The hash value 2112 of the previous block included in the block header 211 is a hash value for the previous block 220 and is the same as the current hash 2213 included in the previous block 220. The one or more blocks are chained by the hash value of the previous block in each block header. Nodes participating in the decentralized network 100 verify the validity of blocks based on the hash value of the previous block included in the one or more blocks, so that a single malicious node cannot forge or alter the contents of an already created block. The action is impossible.
상기 블록 바디(213)는 트랜잭션 리스트(2131)를 포함할 수 있다. 상기 트랜잭션 리스트(2131)는 블록체인 기반의 거래의 목록이다. 예를 들면, 상기 트랜잭션 리스트(2131)는 상기 블록체인 기반의 금융 시스템에서 이루어진 금융 거래에 대한 기록을 포함할 수 있다. 상기 트랜잭션 리스트(2131)는 트리(tree) 형태로 표현될 수 있으며, 예를 들어, 사용자 A가 사용자 B에게 전송한 금액을 목록 형태로 기록하며, 블록 내의 저장 길이는 현재 블록에 포함된 트랜잭션의 수에 기초하여 증감될 수 있다.The block body 213 may include a transaction list 2131. The transaction list 2131 is a list of blockchain-based transactions. For example, the transaction list 2131 may include records of financial transactions made in the blockchain-based financial system. The transaction list 2131 may be expressed in the form of a tree. For example, the amount sent by user A to user B is recorded in the form of a list, and the storage length in the block is the length of the transaction included in the current block. It can be increased or decreased based on the number.
그리고, 블록(210)은 블록 헤더(211)와 블록 바디(213)에 포함된 정보 이외의 기타 정보(2116)를 포함할 수 있다. Additionally, the block 210 may include other information 2116 other than the information included in the block header 211 and the block body 213.
분산형 네트워크(100)에 참여하는 노드들은 동일한 블록체인을 가지며, 블록에는 동일한 트랜잭션이 저장된다. 트랜잭션 목록이 포함된 블록이 네트워크에 공유되므로 모든 참여자가 검증할 수 있다.Nodes participating in the decentralized network 100 have the same blockchain, and the same transaction is stored in the block. Blocks containing the transaction list are shared across the network, so all participants can verify them.
본 발명에서는 상술한 개인키 복원 시스템을 적용하기 위해 DID 기반의 접근 통제 스토리지(이하에서는 DIDH(DID-Identity Data Hub)로 명명하기로 한다.)를 제안하고자 한다. In the present invention, we would like to propose a DID-based access control storage (hereinafter referred to as DIDH (DID-Identity Data Hub)) to apply the above-described private key recovery system.
즉, 본 발명에서는 사용자의 생체정보 및 DID 기반 개인키가 결합되어 암호화된 암호화 코드(Encrypted Code)를 생성하되, 상기 암호화 코드를 중앙서버에 저장하는 방안이 아니라 DID 기반의 접근 통제 스토리지(DIDH)를 통해 각 사용자의 논리적 스토리지(허브 인스턴스)에 저장하는 방안을 제안한다. 개인키 복원을 위해 필요한 경우에만 상기 DIDH에 저장된 각 사용자의 암호화 코드를 이용하며, 암호화 코드 반환시에는 서비스 제공자 서버의 VC 인증을 필요로 하므로 개인키 복원의 편리성과 사용자 개인정보에 대한 보안성 강화를 동시에 달성할 수 있다. That is, in the present invention, the user's biometric information and DID-based private key are combined to generate an encrypted code, but rather than storing the encryption code in a central server, DID-based access control storage (DIDH) We propose a method of storing data in each user's logical storage (hub instance). Each user's encryption code stored in the DIDH is used only when necessary to restore the private key, and when returning the encryption code, VC authentication from the service provider server is required, improving the convenience of restoring the private key and enhancing the security of the user's personal information. can be achieved simultaneously.
이하에서는 우선, DID와 DID 문서에 대한 개념에 대해 설명하기로 한다. Below, we will first explain the concept of DID and DID document.
DID란, 중앙기관 없이 사용자를 중심으로 개인을 식별할 수 있는 정보를 CRUD(Create, Read, Update, Delete)하여 본인임을 증명할 수 있는 유일한 식별자를 의미한다. DID는 하나의 키 값으로 블록체인 트랜잭션의 DID 문서를 가리키는 포인터 역할을 수행한다. 특히, DID는 사용자의 공개키를 기반으로 생성된 식별자이다. DID refers to a unique identifier that can prove your identity by CRUD (Create, Read, Update, Delete) information that can identify an individual without a central agency. DID is a key value that serves as a pointer to the DID document of a blockchain transaction. In particular, DID is an identifier generated based on the user's public key.
DID 문서란, 개인이 자신을 인증하고 DID와 연관성을 증명하는데 필요한 집합을 의미한다. DID의 CRUD 수행 대상이 DID 문서이며, DID 서비스 이용 시 검증하는데 필요한 정보들을 의미하며 데이터 집합에는 공개키, 인증 방법 등의 속성들이 존재한다. A DID document refers to a set of documents required for an individual to authenticate himself and prove his association with a DID. The object of DID's CRUD performance is the DID document, which refers to the information required for verification when using the DID service, and the data set contains properties such as public key and authentication method.
DID와 DID 문서의 연관관계는 DID를 블록체인에서 검색하여 트랜잭션 내용을 기반으로 DID 문서를 생성하는 것이며, DID를 기반으로 DID 문서를 읽어오는 방식은 블록체인마다 상이할 수 있다. The relationship between DID and DID document is to search DID in the blockchain and create DID document based on transaction contents, and the method of reading DID document based on DID may be different for each blockchain.
본 발명에 따른 DID와 생체정보 기반의 개인키 복원 시스템은, 사용자 단말(300), DIDH 서버(500), 블록체인(200), 서비스 제공자 서버(600) 사이의 유기적인 관계에 의한 동작으로 작동된다. The private key recovery system based on DID and biometric information according to the present invention operates through an organic relationship between the user terminal 300, DIDH server 500, blockchain 200, and service provider server 600. do.
이하에서는 도면을 참조하여 본 발명에 따른 DID와 생체정보 기반의 개인키 복원 시스템의 구성과 동작 절차에 대해 설명하기로 한다. Hereinafter, the configuration and operation procedures of the DID and biometric information-based private key recovery system according to the present invention will be described with reference to the drawings.
도 4는 본 발명의 실시예에 따른 DID와 생체정보 기반의 개인키 복원 시스템의 구성을 개략적으로 도시한 블록도이다. 도 5는 본 발명의 실시예에 따른 DID와 생체정보 기반의 개인키 복원 시스템에서 암호화 코드 등록 과정을 도시한 도면이다. 도 6은 본 발명의 실시예에 따른 DID와 생체정보 기반의 개인키 복원 시스템에서 개인키 분실 시 개인키 복원을 위한 과정을 도시한 도면이다. Figure 4 is a block diagram schematically showing the configuration of a private key recovery system based on DID and biometric information according to an embodiment of the present invention. Figure 5 is a diagram illustrating an encryption code registration process in a private key recovery system based on DID and biometric information according to an embodiment of the present invention. Figure 6 is a diagram illustrating a process for restoring a private key when the private key is lost in a private key recovery system based on DID and biometric information according to an embodiment of the present invention.
도 4 내지 도 6을 참조하면, 본 발명의 실시예에 따른 DID와 생체정보 기반의 개인키 복원 시스템은 사용자 단말(300), DIDH 서버(500), 블록체인(200), 서비스 제공자 서버(600)를 포함한다. 본 발명에 따른 DID와 생체정보 기반의 개인키 복원 방법은 어플리케이션을 통해 구현되는 알고리즘일 수 있다. Referring to Figures 4 to 6, the private key recovery system based on DID and biometric information according to an embodiment of the present invention includes a user terminal 300, a DIDH server 500, a blockchain 200, and a service provider server 600. ) includes. The private key recovery method based on DID and biometric information according to the present invention may be an algorithm implemented through an application.
본 발명의 구성요소 중 사용자 단말(300)은 어플리케이션 설치 후 사용자의 생체정보를 인식하고, 핀(pin) 값을 입력받는 단말 장치로서, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. Among the components of the present invention, the user terminal 300 is a terminal device that recognizes the user's biometric information after installing the application and receives a pin value, and is implemented as a computer that can access a remote server or terminal through a network. It can be. Here, the computer may include, for example, a laptop equipped with a navigation system and a web browser, a desktop, a laptop, etc.
또한, 사용자 단말(300)은 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(smartphone), 스마트 패드(smartpad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.In addition, the user terminal 300 is, for example, a wireless communication device that guarantees portability and mobility, and includes navigation, personal communication system (PCS), global system for mobile communications (GSM), personal digital cellular (PDC), and PHS ( Personal Handyphone System), PDA (Personal Digital Assistant), IMT (International Mobile Telecommunication)-2000, CDMA (Code Division Multiple Access)-2000, W-CDMA (W-Code Division Multiple Access), Wibro (Wireless Broadband Internet) terminal , may include all types of handheld-based wireless communication devices such as smartphones, smartpads, tablet PCs, etc.
사용자 단말(300)은 사용자 생체정보와 핀 값을 입력받고, DID 기반의 개인키/공개키 쌍을 생성하고, 상기 핀 값의 해쉬 값을 생성하고, 상기 개인키와 상기 사용자 생체정보를 결합하여 암호화 코드를 생성한다. 여기에서 암호화 코드란, 사용자의 생체정보를 데이터화하고(이미지 데이터 등), 사용자의 DID 기반 개인키를 데이터화하여 이들을 미리 정해진 알고리즘(예들 들어, XOR 연산 등)에 의해 결합하여 생성된 암호화된 코드로서, 매칭되는 사용자의 생체정보 데이터를 이용하여 디코딩하면 원래의 개인키를 복원할 수 있다. The user terminal 300 receives user biometric information and a PIN value, generates a DID-based private key/public key pair, generates a hash value of the PIN value, and combines the private key and the user biometric information. Generate an encryption code. Here, the encryption code is an encrypted code generated by converting the user's biometric information (image data, etc.) into data, converting the user's DID-based private key into data, and combining them using a predetermined algorithm (e.g., XOR operation, etc.). , the original private key can be restored by decoding it using the matched user's biometric data.
블록체인(200)은 사용자 단말(300)로부터 사용자의 DID와 사용자의 공개키를 전달받아 저장하고, 상기 핀 값의 해쉬 값을 전달받아 사용자의 DID에 매핑하여 저장한다. The blockchain 200 receives and stores the user's DID and the user's public key from the user terminal 300, and receives the hash value of the pin value, maps it to the user's DID, and stores it.
DIDH 서버(500)는 사용자 단말(300)로부터 사용자의 DID 및 사용자 단말(300)에서 사용자의 개인키를 이용하여 전자서명한 암호화 코드를 전달받아 저장한다. 사용자 단말(300)에서 상기 암호화 코드에 대해 사용자의 개인키로 전자서명을 하여 DIDH 서버(500)로 전달하면, DIDH 서버(500)는 사용자의 DID에 기초하여 블록체인(200)으로부터 사용자의 공개키를 조회하고, 사용자의 공개키를 이용하여 상기 전자서명한 암호화 코드에 대해 검증한다. 검증 후, DIDH 서버(500)는 사용자의 DID 및 상기 암호화 코드를 저장한다. The DIDH server 500 receives the user's DID from the user terminal 300 and the encryption code electronically signed by the user terminal 300 using the user's private key and stores it. When the user terminal 300 electronically signs the encryption code with the user's private key and transmits it to the DIDH server 500, the DIDH server 500 receives the user's public key from the blockchain 200 based on the user's DID. and verify the digitally signed encryption code using the user's public key. After verification, the DIDH server 500 stores the user's DID and the encryption code.
DIDH 서버(500)는 사용자의 DID 및 상기 암호화 코드를 각 사용자마다 개별적으로 정의된 논리적인 스토리지(허브 인스턴스)에 저장하며, 사용자별 논리적 스토리지를 구분하기 위하여 HUB DID를 사용할 수도 있다. DIDH 서버(500)에서 식별자를 DID로 이용하는 이유는 DIDH 서버(500)를 운영하는 서비스 업체로부터 사용자의 개인정보를 보호하기 위함이다. 또한, DIDH 서버(500)에 연계된 데이터베이스가 탈취될 가능성을 고려하여 모든 식별자를 DID로 비식별화 처리하여 악의적인 사용자로부터 사용자 개인정보를 보호하기 위함이다.The DIDH server 500 stores the user's DID and the encryption code in a logical storage (hub instance) individually defined for each user, and can also use the HUB DID to distinguish logical storage for each user. The reason why the DIDH server 500 uses the identifier as DID is to protect the user's personal information from the service company that operates the DIDH server 500. In addition, considering the possibility that the database linked to the DIDH server 500 may be stolen, all identifiers are de-identified as DIDs to protect user personal information from malicious users.
서비스 제공자 서버(600)는 사용자 단말(300)로부터 사용자의 개인키에 대한 복원 요청이 있는 경우에, 사용자 단말(300)에서 입력받은 핀 값의 해쉬 값을 이용하여 블록체인(200)으로부터 사용자의 공개키를 획득하고, 블록체인(200)으로부터 획득한 사용자의 공개키를 이용하여 DIDH 서버(500)로 상기 암호화 코드를 요청하고, DIDH 서버(500)로부터 전달받은 상기 암호화 코드를 사용자 단말(300)로 전달한다. 여기에서, 서비스 제공자 서버(600)는 예를 들어, 가상자산에 관한 지갑 서비스를 제공하는 업체의 서버일 수 있다. When there is a request to restore the user's private key from the user terminal 300, the service provider server 600 uses the hash value of the PIN value input from the user terminal 300 to retrieve the user's private key from the blockchain 200. Obtain a public key, request the encryption code from the DIDH server 500 using the user's public key obtained from the blockchain 200, and send the encryption code received from the DIDH server 500 to the user terminal 300. ) is transmitted. Here, the service provider server 600 may be, for example, a server of a company that provides wallet services for virtual assets.
사용자의 개인키 복원을 위한 과정에서, DIDH 서버(500)는 서비스 제공자 서버(600)로부터 상기 암호화 코드에 관한 요청이 있는 경우에 서비스 제공자 서버(600)에 대한 VC(Verifiable Credential) 인증 후 상기 암호화 코드를 서비스 제공자 서버(600)로 전달할 수 있다. 서비스 제공자 서버(600)에 대한 신뢰성 확인을 위해 DIDH 서버(500)는 VC 인증을 수행하며, VC는 검증가능한 자격증명으로서 이와 관련하여, Claim은 하나의 주체에 대한 설명이며 주체-특성-정보의 관계로 표현된다. Credential은 발행인이 발급하는 증명서로서 하나의 주체에 대해 만들어진 하나 이상의 Claim의 집합이다. Verifiable Credential은 발행인의 전자서명이 포함된 데이터로 발급한 Credential이 변경되었는지에 관한 정보, 발행인 정보, 전자서명 등의 메타 데이터가 포함된 데이터의 집합이다.In the process of restoring the user's private key, when there is a request for the encryption code from the service provider server 600, the DIDH server 500 performs VC (Verifiable Credential) authentication for the service provider server 600 and then performs the encryption. The code may be transmitted to the service provider server 600. To confirm the reliability of the service provider server 600, the DIDH server 500 performs VC authentication, and VC is a verifiable credential. In relation to this, Claim is a description of a subject and is a representation of subject-characteristic-information. expressed as a relationship. Credential is a certificate issued by an issuer and is a set of one or more claims made for one subject. Verifiable Credential is a set of data containing the issuer's electronic signature and metadata such as information on whether the issued Credential has been changed, issuer information, and electronic signature.
서비스 제공자 서버(600)는 사용자 단말(300)로 상기 암호화 코드를 전달할 때 블록체인(200)에서 획득한 DID를 함께 전달하며, 사용자 단말(300)에서는 사용자 DID 및 서비스 제공자 서버(600)로부터 전달받은 암호화 코드를 저장한다. 사용자 단말(300)은 사용자 생체정보를 입력받고, 이를 이용하여 상기 암호화 코드를 디코딩하여 원래의 사용자 개인키를 복원할 수 있다. When transmitting the encryption code to the user terminal 300, the service provider server 600 also transmits the DID obtained from the blockchain 200, and the user terminal 300 transmits the user DID and the service provider server 600. Save the received encryption code. The user terminal 300 can receive user biometric information, use it to decode the encryption code, and restore the original user private key.
평상시에 사용자 개인키를 사용하고자 하는 경우, 사용자 단말(300)에는 사용자 DID 및 암호화 코드가 저장되어 있고, 어플리케이션을 통해 사용자 생체정보를 입력받은 후 상기 암호화 코드를 디코딩하여 사용자 개인키를 복원하고, 서비스 제공자 서버(600)로 사용자 DID 및 DID 기반 사용자 개인키의 전자서명 값을 전송하고, 서비스 제공자 서버(600)는 블록체인(200)으로부터 사용자 DID에 매핑된 사용자 공개키를 요청하여 획득하고, DID 기반 사용자 공개키로 상기 사용자 개인키의 전자서명 값을 검증하여 그 검증 결과를 다시 사용자 단말(300)로 전달한다. 사용자 단말(300)은 서비스 제공자 서버(600)로부터 전달받은 인증 결과를 서비스를 받고자 하는 서비스 업체 서버(400)로 제공하여 결제 등과 같은 비즈니스 처리를 수행할 수 있다. If you want to use the user's private key in normal times, the user DID and encryption code are stored in the user terminal 300, and after receiving the user's biometric information through the application, the encryption code is decoded to restore the user's private key, The digital signature value of the user DID and the DID-based user private key is transmitted to the service provider server 600, and the service provider server 600 requests and obtains the user public key mapped to the user DID from the blockchain 200. The digital signature value of the user's private key is verified using the DID-based user public key, and the verification result is transmitted back to the user terminal 300. The user terminal 300 can perform business processing such as payment by providing the authentication result received from the service provider server 600 to the service provider server 400 from which the service is desired.
도 7은 본 발명의 실시예에 따른 DID와 생체정보 기반의 개인키 복원 시스템에서 개인키를 사용하는 과정을 도시한 도면이다. Figure 7 is a diagram showing the process of using a private key in a private key recovery system based on DID and biometric information according to an embodiment of the present invention.
도 7을 참조하면, 본 발명의 실시예에 따른 DID와 생체정보 기반의 개인키 복원 시스템에서, 암호화 코드로부터 DID 개인키를 복원하여 전자결제 등을 수행하는 과정은, 우선 사용자 단말(300)이 서비스 업체 서버(400)로 서비스 인증을 요청 및 DID 지갑 앱 링크를 전달받아 앱 실행 후 사용자의 생체정보를 인식한다. Referring to FIG. 7, in the private key recovery system based on DID and biometric information according to an embodiment of the present invention, the process of restoring the DID private key from the encryption code to perform electronic payment, etc. is, first, the user terminal 300 Service authentication is requested from the service provider server (400), a link to the DID wallet app is sent, and the user's biometric information is recognized after running the app.
이 때, 사용자 단말(300)에서 입력받은 생체정보를 이용하여 암호화 코드로부터 DID 개인키를 복원하고, 사용자 단말(300)은 서비스 제공자 서버(600)로 DID 및 DID 개인키를 이용한 서명 값을 전달한다. At this time, the DID private key is restored from the encryption code using the biometric information input from the user terminal 300, and the user terminal 300 transmits the DID and the signature value using the DID private key to the service provider server 600. do.
서비스 제공자 서버(600)는 블록체인(200)에 대해 DID에 매핑된 공개키를 요청하여 획득하고, DID 공개키로 상기 서명 값을 검증한다. 서비스 제공자 서버(600)는 서명 검증 결과를 사용자 단말(300)로 전달하고, 사용자 단말(300)은 인증 결과를 서비스 업체 서버(400)로 전달하여 전자결제 등과 같은 비즈니스 처리를 수행할 수 있다. The service provider server 600 requests and obtains the public key mapped to the DID from the blockchain 200 and verifies the signature value with the DID public key. The service provider server 600 transmits the signature verification result to the user terminal 300, and the user terminal 300 transmits the authentication result to the service provider server 400 to perform business processing such as electronic payment.
도 8은 본 발명의 실시예에 따른 노드의 컴퓨팅 장치의 구성도이다.Figure 8 is a configuration diagram of a node computing device according to an embodiment of the present invention.
본 발명의 실시예에 따른 노드의 컴퓨팅 장치(1000)는 프로세서(1100)와 메모리(1200)를 포함하고, 프로세서(1100)는 하나 이상의 코어(core) 및 그래픽 처리부 및/또는 다른 구성요소와 신호를 송수신하는 연결 통로(예를 들어, 버스(bus) 등)를 포함할 수 있다.The computing device 1000 of the node according to an embodiment of the present invention includes a processor 1100 and a memory 1200, and the processor 1100 includes one or more cores, a graphics processing unit, and/or other components and signals. It may include a connection passage (for example, a bus, etc.) for transmitting and receiving.
일 실시예에 따른 프로세서(1100)는 메모리(1200)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 도 4 내지 도 7과 관련하여 설명된 DID와 생체정보 기반의 개인키 복원 시스템의 동작을 실행한다. The processor 1100 according to one embodiment executes the operation of the DID and biometric information-based private key recovery system described in relation to FIGS. 4 to 7 by executing one or more instructions stored in the memory 1200.
예를 들어, 프로세서(1100)는 메모리에 저장된 하나 이상의 인스트럭션을 실행함으로써 하나 이상의 노드에서 발생되는 데이터 업로드/다운로드에 관한 정보들을 수집하고, 상기 수집된 정보들을 블록에 기록하고, 상기 블록에 기록된 정보에 기초하여, 적어도 하나의 노드에 대해 관련 정보를 제공한다. For example, the processor 1100 collects information about data upload/download occurring in one or more nodes by executing one or more instructions stored in memory, records the collected information in a block, and executes the information recorded in the block. Based on the information, relevant information is provided for at least one node.
한편, 프로세서(1100)는 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(RAM: Random Access Memory) 및 롬(ROM: Read-Only Memory)을 더 포함할 수 있다. 또한, 프로세서(1100)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템온칩(SoC: system on chip) 형태로 구현될 수 있다. Meanwhile, the processor 1100 may further include RAM (Random Access Memory) and ROM (Read-Only Memory) that temporarily and/or permanently store internally processed signals (or data). . Additionally, the processor 1100 may be implemented in the form of a system on chip (SoC) including at least one of a graphics processing unit, RAM, and ROM.
메모리(1200)에는 프로세서(1100)의 처리 및 제어를 위한 프로그램들(하나 이상의 인스트럭션들)을 저장할 수 있다. 메모리(1200)에 저장된 프로그램들은 기능에 따라 복수 개의 모듈들로 구분될 수 있다.The memory 1200 may store programs (one or more instructions) for processing and controlling the processor 1100. Programs stored in the memory 1200 may be divided into a plurality of modules according to their functions.
본 발명의 실시예와 관련하여 설명된 시스템의 동작들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.The operations of the system described in relation to embodiments of the present invention may be implemented directly in hardware, implemented as a software module executed by hardware, or a combination thereof. The software module may be RAM (Random Access Memory), ROM (Read Only Memory), EPROM (Erasable Programmable ROM), EEPROM (Electrically Erasable Programmable ROM), Flash Memory, hard disk, removable disk, CD-ROM, or It may reside on any type of computer-readable recording medium well known in the art to which the present invention pertains.
본 발명의 구성 요소들은 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 어플리케이션)으로 구현되어 매체에 저장될 수 있다. 본 발명의 구성 요소들은 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있으며, 이와 유사하게, 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다.The components of the present invention may be implemented as a program (or application) and stored in a medium in order to be executed in conjunction with a hardware computer. Components of the invention may be implemented as software programming or software elements, and similarly, embodiments may include various algorithms implemented as combinations of data structures, processes, routines or other programming constructs, such as C, C++, , may be implemented in a programming or scripting language such as Java, assembler, etc. Functional aspects may be implemented as algorithms running on one or more processors.
전술된 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해되어야 하며, 본 발명의 범위는 전술된 상세한 설명보다는 후술될 청구범위에 의해 나타내어질 것이다. 그리고 이 청구범위의 의미 및 범위는 물론, 그 등가개념으로부터 도출되는 모든 변경 및 변형 가능한 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The above-described embodiments should be understood in all respects as illustrative and not restrictive, and the scope of the present invention will be indicated by the claims below rather than the detailed description above. In addition, the meaning and scope of this claim, as well as all changes and modifications derived from the equivalent concept, should be construed as being included in the scope of the present invention.
100: 분산형 네트워크
110~170: 노드들
200: 블록체인
210, 220, 230: 블록
300: 사용자 단말
400: 서비스 업체 서버
500: DIDH 서버
600: 서비스 제공자 서버100: Decentralized network
110~170: Nodes
200: Blockchain
210, 220, 230: Block
300: User terminal
400: Service provider server
500: DIDH server
600: Service provider server
Claims (4)
사용자 생체정보와 핀(pin) 값을 입력받고, DID 기반의 개인키/공개키 쌍을 생성하고, 상기 핀 값의 해쉬(hash) 값을 생성하고, 상기 개인키와 상기 사용자 생체정보를 결합하여 암호화 코드(Encrypted Code)를 생성하는 사용자 단말;
상기 사용자 단말로부터 상기 DID와 상기 공개키를 전달받아 저장하고, 상기 핀 값의 해쉬 값을 전달받아 상기 DID에 매핑하여 저장하는 블록체인;
상기 사용자 단말로부터 상기 DID 및 상기 사용자 단말에서 상기 개인키를 이용하여 전자서명한 암호화 코드를 전달받아 저장하는 DIDH 서버; 및
상기 사용자 단말로부터 상기 개인키에 대한 복원 요청이 있는 경우에, 상기 사용자 단말에서 입력받은 핀 값의 해쉬 값을 이용하여 상기 블록체인으로부터 상기 공개키를 획득하고, 상기 블록체인으로부터 획득한 공개키를 이용하여 상기 DIDH 서버로 상기 암호화 코드를 요청하고, 상기 DIDH 서버로부터 전달받은 상기 암호화 코드를 상기 사용자 단말로 전달하는 서비스 제공자 서버;를 포함하는, DID와 생체정보 기반의 개인키 복원 시스템.In a private key recovery system based on DID and biometric information that includes a user terminal, blockchain, DIDH server, and service provider server,
Receives user biometric information and PIN value, generates a DID-based private key/public key pair, generates a hash value of the PIN value, and combines the private key with the user biometric information. A user terminal that generates an Encrypted Code;
A blockchain that receives and stores the DID and the public key from the user terminal, receives a hash value of the pin value, maps it to the DID, and stores it;
a DIDH server that receives and stores the DID and an encryption code electronically signed by the user terminal using the private key from the user terminal; and
When there is a request to restore the private key from the user terminal, the public key is obtained from the blockchain using the hash value of the PIN value input from the user terminal, and the public key obtained from the blockchain is A service provider server that requests the encryption code from the DIDH server and delivers the encryption code received from the DIDH server to the user terminal. A private key recovery system based on DID and biometric information.
상기 DIDH 서버는,
상기 서비스 제공자 서버로부터 상기 암호화 코드에 관한 요청이 있는 경우에 상기 서비스 제공자 서버에 대한 VC(Verifiable Credential) 인증 후 상기 암호화 코드를 전달하는, DID와 생체정보 기반의 개인키 복원 시스템.According to clause 1,
The DIDH server is,
A private key recovery system based on DID and biometric information that delivers the encryption code after VC (Verifiable Credential) authentication for the service provider server when there is a request for the encryption code from the service provider server.
상기 서비스 제공자 서버는,
상기 사용자 단말로 상기 암호화 코드를 전달할 때 상기 블록체인에서 획득한 DID를 함께 전달하는, DID와 생체정보 기반의 개인키 복원 시스템.According to clause 1,
The service provider server,
A private key recovery system based on DID and biometric information that transmits the DID obtained from the blockchain when transmitting the encryption code to the user terminal.
상기 DIDH 서버는,
상기 블록체인으로부터 획득한 공개키를 이용하여 상기 전자서명된 암호화 코드에 대한 검증 후 상기 암호화 코드를 저장하는, DID와 생체정보 기반의 개인키 복원 시스템.According to clause 1,
The DIDH server is,
A private key recovery system based on DID and biometric information that verifies the digitally signed encryption code using a public key obtained from the blockchain and stores the encryption code.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220090657A KR102800532B1 (en) | 2022-07-22 | 2022-07-22 | The private key restoration system using DID and biometric information |
PCT/KR2022/012267 WO2024019217A1 (en) | 2022-07-22 | 2022-08-17 | Did and biometric information-based private key reconstructing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220090657A KR102800532B1 (en) | 2022-07-22 | 2022-07-22 | The private key restoration system using DID and biometric information |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20240013298A true KR20240013298A (en) | 2024-01-30 |
KR102800532B1 KR102800532B1 (en) | 2025-04-29 |
Family
ID=89617973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220090657A Active KR102800532B1 (en) | 2022-07-22 | 2022-07-22 | The private key restoration system using DID and biometric information |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102800532B1 (en) |
WO (1) | WO2024019217A1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101936758B1 (en) | 2018-06-08 | 2019-01-11 | 주식회사 미탭스플러스 | Encryption apparatus and method for integrity of information inquiry history |
KR102101719B1 (en) * | 2019-10-11 | 2020-05-29 | (주)소프트제국 | A method and system for simple authentication by using web storage |
KR20210046357A (en) * | 2019-10-18 | 2021-04-28 | 삼성전자주식회사 | Method and apparatus for key storing and recovery for blockchain based system |
KR20210156776A (en) * | 2020-06-18 | 2021-12-27 | 주식회사 디에스알브이랩스 | System and method for Private key recovery using recovery transaction |
KR20220075723A (en) * | 2020-11-30 | 2022-06-08 | 다이브 주식회사 | Personal authentication method and system using decentralized identifiers |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11868995B2 (en) * | 2017-11-27 | 2024-01-09 | Nok Nok Labs, Inc. | Extending a secure key storage for transaction confirmation and cryptocurrency |
-
2022
- 2022-07-22 KR KR1020220090657A patent/KR102800532B1/en active Active
- 2022-08-17 WO PCT/KR2022/012267 patent/WO2024019217A1/en unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101936758B1 (en) | 2018-06-08 | 2019-01-11 | 주식회사 미탭스플러스 | Encryption apparatus and method for integrity of information inquiry history |
KR102101719B1 (en) * | 2019-10-11 | 2020-05-29 | (주)소프트제국 | A method and system for simple authentication by using web storage |
KR20210046357A (en) * | 2019-10-18 | 2021-04-28 | 삼성전자주식회사 | Method and apparatus for key storing and recovery for blockchain based system |
KR20210156776A (en) * | 2020-06-18 | 2021-12-27 | 주식회사 디에스알브이랩스 | System and method for Private key recovery using recovery transaction |
KR20220075723A (en) * | 2020-11-30 | 2022-06-08 | 다이브 주식회사 | Personal authentication method and system using decentralized identifiers |
Also Published As
Publication number | Publication date |
---|---|
WO2024019217A1 (en) | 2024-01-25 |
KR102800532B1 (en) | 2025-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102054410B1 (en) | Method for providing reward for delegating computing power for blockchain service management | |
US20230291544A1 (en) | Advanced non-fungible token blockchain architecture | |
EP3721578B1 (en) | Methods and systems for recovering data using dynamic passwords | |
JP7530890B2 (en) | Distributed Ledgers for Cryptographic Digital Identities | |
JP6524347B2 (en) | Information sharing system | |
KR20190075793A (en) | Authentication System for Providing Instant Access Using Block Chain | |
Tackmann | Secure event tickets on a blockchain | |
US20210365584A1 (en) | Portable reputation brokering using linked blockchains and shared events | |
KR20190089506A (en) | System and method for e-contract with shared and distributed ledger coupled with outer storage devices | |
US20230412393A1 (en) | Multisignature Custody of Digital Assets | |
Garg | Distributed ecosystem for identity management | |
US20240348461A1 (en) | Information processing system | |
US20230419285A1 (en) | NFT Enforcement Control System | |
KR102800532B1 (en) | The private key restoration system using DID and biometric information | |
KR20240014317A (en) | The ownership proof system of personal signature through NFT issuance about personal signature data | |
KR20210041980A (en) | The block chain private key generation system using smart devices with KYC data and biometric information | |
KR20210041984A (en) | The block chain private key generation method using smart devices with KYC data and biometric information | |
KR102800530B1 (en) | The payment system using biometric information authentication based on DID | |
KR20210014458A (en) | Method for providing integrated authentication service based on blockchain | |
KR20210017308A (en) | Method for providing secondary authentication service using device registration and distributed storage of data | |
KR20210014457A (en) | Method for providing data cloud service using blockchain-based data distribution | |
KR102628944B1 (en) | Blockchain-based Legal Archive Authentication System and Method Using the Same | |
Megha | Authentication of Financial Wallet System and Data Protection using BlockChain | |
Agrawal | Blockchain Technology-Concepts and Applications | |
KR20230164824A (en) | The NFT(Non-Fungible Token) trading system based on DID |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20220722 |
|
PA0201 | Request for examination | ||
PG1501 | Laying open of application | ||
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20241112 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20250421 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20250421 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration |