KR102197218B1 - System and method for providing distributed id and fido based block chain identification - Google Patents
System and method for providing distributed id and fido based block chain identification Download PDFInfo
- Publication number
- KR102197218B1 KR102197218B1 KR1020190092838A KR20190092838A KR102197218B1 KR 102197218 B1 KR102197218 B1 KR 102197218B1 KR 1020190092838 A KR1020190092838 A KR 1020190092838A KR 20190092838 A KR20190092838 A KR 20190092838A KR 102197218 B1 KR102197218 B1 KR 102197218B1
- Authority
- KR
- South Korea
- Prior art keywords
- user
- document
- fido
- distributed
- counterpart
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- 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/3236—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 cryptographic hash functions
-
- 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/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/3263—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
Description
아래의 설명은 분산 ID와 FIDO 기반의 블록체인 신분증 체계에 관한 것이다. The description below is about a distributed ID and FIDO-based blockchain identification system.
계약서를 설명할 때 개인의 신원은 오프라인 신분증으로 확인한 후, 개인으로부터 서명을 받는다. 이러한 서명을 시각적인 방법으로 전문가의 도움을 받아 확인된다. 수기 서명의 경우, 진본과 위조를 감별하기 위하여 필적감정사에게 의뢰해야 하고, 의뢰비뿐만 아니라 2일에서 7일 정도 시간이 소요된다. 이러한 문제점을 해결하기 위하여 전자서명 방식이 도입되었다. 전자서명의 경우, 프로그램적으로 진본과 위조 서명에 대한 즉시 확인이 가능하다. When explaining the contract, the individual's identity is verified with an offline ID and then signed by the individual. These signatures are verified in a visual way with expert help. In the case of a handwritten signature, it must be requested to a handwriting appraiser to discriminate between the original and forged, and it takes about 2 to 7 days as well as the request fee. In order to solve this problem, an electronic signature method was introduced. In the case of electronic signatures, it is possible to immediately verify the original and counterfeit signatures programmatically.
한편, DID는 현재 국제 표준화가 진행되고 있는 첨단 신분확인 기술이다. 웹 표준단체 W3C에서는 DID 식별자와 증명서 등에 대한 표준 데이터 포맷을 제정하고 있다. Microsoft, IBM 등이 참여하는 DIF(Decentralized Identity Foundation) 컨소시엄에서는 DID 식별자와 증명서를 네트워크 상에서 찾아내고 저장하는 방법을 표준화하고 있다. 이와 같이, DID의 암호학적 증명서를 이용하면, 개인정보 중에서 꼭 필요한 부분만을 제시하고 공신력 있는 암호학적 증명을 첨부할 수 있어 프라이버시를 보호할 수 있다. Meanwhile, DID is a cutting-edge identification technology that is currently undergoing international standardization. The web standards organization W3C has established standard data formats for DID identifiers and certificates. The Decentralized Identity Foundation (DIF) consortium, including Microsoft and IBM, is standardizing the method of finding and storing DID identifiers and certificates on the network. In this way, if the cryptographic certificate of DID is used, only necessary parts of personal information can be presented and a credible cryptographic certificate can be attached, thereby protecting privacy.
분산ID 체계에 FIDO 인증을 접목하여 실용적이고 안전한 신분증 체계 및 방법을 제공할 수 있다. By combining FIDO authentication with the distributed ID system, a practical and safe identification card system and method can be provided.
안전하고 호환성이 높은 기술들을 이용하고 문서 승인의 증거를 암호학적으로 남김으로써 문서의 무결성을 검증하고, 승인에 대한 부인방지 기능을 제공하는 문서 결재 방법 및 시스템을 제공할 수 있다. It is possible to provide a document approval method and system that verifies the integrity of documents and provides non-repudiation functions for approval by using secure and highly compatible technologies and cryptographically leaving evidence of document approval.
인증 서버에서 수행되는 신분증 제공 방법은, 인증 기기를 분산 ID 기반으로 관리하는 분산신원확인 환경을 구성하는 단계; 상기 구성된 분산신원확인 환경에서 신원이 확인된 사용자의 전자 기기와 연관된 인증 기기를 이용하여 사용자를 등록하는 단계; 상기 등록된 사용자로부터 문서의 결재 요청을 수신하는 단계; 및 상기 문서가 상대방 사용자로부터 열람됨에 따라 상기 상대방 사용자의 전자 기기와 연관된 인증 기기를 이용한 전자서명을 통하여 문서를 승인하는 단계를 포함할 수 있다. The method of providing an identification card performed in an authentication server includes: configuring a distributed identification environment for managing an authentication device based on a distributed ID; Registering a user using an authentication device associated with an electronic device of a user whose identity has been verified in the configured distributed identification environment; Receiving a request for payment of a document from the registered user; And approving the document through an electronic signature using an authentication device associated with the electronic device of the counterpart user as the document is read by the counterpart user.
상기 분산신원확인 환경을 구성하는 단계는, 상기 사용자에게 분산 ID 기반의 신분증을 발급하는 단계; 및 상기 발급된 분산 ID 기반의 신분증을 검증하는 단계를 포함하고, 상기 사용자에게 분산 ID 기반의 신분증을 발급하는 단계는, 발급자로부터 대면 또는 비대면으로 사용자의 신원이 확인됨에 따라 FIDO 인증기를 이용한 FIDO 등록 과정을 통하여 획득된 사용자의 공개키를 이용하여 DID 문서(document)를 생성하여 블록체인에 저장하고 상기 사용자의 DID 식별자를 결정하고, 상기 결정된 사용자의 DID 식별자를 사용자에게 발급하고, 상기 사용자의 신원 확인을 통하여 확인된 신원 정보와 상기 사용자의 DID 식별자를 이용하여 DID 증명서(Verifiable claim)를 생성하여 블록체인에 저장하는 단계를 포함할 수 있다. The configuring of the distributed identification environment may include issuing an identification card based on a distributed ID to the user; And verifying the issued distributed ID-based identification card, wherein the issuing of the distributed ID-based identification card to the user comprises: FIDO using a FIDO authenticator as the identity of the user is confirmed face-to-face or non-face-to-face by the issuer. Using the user's public key obtained through the registration process, a DID document is created and stored in the blockchain, the user's DID identifier is determined, the user's DID identifier is issued to the user, and the user's It may include the step of generating a DID certificate (Verifiable claim) using the identity information checked through identity verification and the user's DID identifier and storing it in the blockchain.
상기 발급된 분산 ID 기반의 신분증을 검증하는 단계는, 상기 사용자로부터 상기 사용자의 DID 식별자가 검증자에게 제시됨에 따라 FIDO 인증기를 이용한 FIDO의 인증 과정이 수행되고, 상기 검증자가 상기 사용자로부터 제시된 DID 식별자를 이용하여 상기 블록체인에서 DID 문서와 DID 증명서를 조회하여 상기 FIDO 인증 과정에 사용된 공개키와 상기 DID 문서에 존재하는 공개키가 일치하는지 확인하고, 상기 DID 증명서에 존재하는 발급자의 전자서명을 확인하여 상기 사용자의 분산 ID 기반의 신분증을 검증하는 단계를 포함할 수 있다. In verifying the issued distributed ID-based identification card, as the DID identifier of the user is presented from the user to the verifier, the FIDO authentication process is performed using a FIDO authenticator, and the verifier is the DID ID presented by the user. Using the DID document and DID certificate in the blockchain, check whether the public key used in the FIDO authentication process matches the public key existing in the DID document, and check the digital signature of the issuer present in the DID certificate. It may include the step of verifying the identification card based on the distributed ID of the user by checking.
상기 사용자를 등록하는 단계는, 상기 사용자의 신원이 확인됨에 따라 상기 사용자의 FIDO 등록 과정을 통하여 상기 사용자에 대한 DID 값을 발급하고, 상기 FIDO 등록 과정을 통하여 확인된 사용자의 공개키를 이용하여 DID 문서를 생성하여 블록체인에 저장하고, 상기 사용자의 DID 값과 상기 사용자의 신원 확인을 통하여 획득된 신원 정보를 이용하여 생성된 DID 증명서를 블록체인에 저장하는 단계를 포함할 수 있다. The step of registering the user may include issuing a DID value for the user through the user's FIDO registration process as the user's identity is confirmed, and using the user's public key confirmed through the FIDO registration process. Generating a document and storing it in the blockchain, and storing the DID certificate generated using the user's DID value and the identity information obtained through the user's identity verification in the blockchain.
상기 문서를 승인하는 단계는, 상기 상대방 사용자로부터 상기 결재 요청된 문서가 열람됨에 따라 상기 문서가 승인 또는 반려되고, 상기 상대방 사용자와의 FIDO 인증 과정을 통하여 확인된 전자 서명에 기초하여 DID 증명서를 생성하여 블록체인에 저장하는 단계를 포함할 수 있다. In the step of approving the document, the document is approved or rejected as the document requested for payment from the counterpart user is read, and a DID certificate is generated based on the electronic signature verified through the FIDO authentication process with the counterpart user. And storing it in the blockchain.
상기 문서를 승인하는 단계는, 상기 결재 요청된 문서가 복수 명의 상대방 사용자로부터 승인되어야 할 경우, 상기 제1 상대방 사용자로부터 문서가 확인됨에 따라 문서를 해시화하고, 상기 제1 상대방 사용자로부터 상기 결재 요청된 문서의 승인 여부, 상기 결재 요청된 문서가 승인된 승인 시각 및 상기 제1 상대방 사용자의 식별 정보를 이용하여 메타데이터를 생성하고, 상기 해시화된 문서 및 메타데이터를 이용하여 생성된 해시값에 대한 제1 상대방 사용자에게 FIDO 인증을 요청함에 따라 상기 제1 상대방 사용자로부터 FIDO 인증기를 이용하여 상기 생성된 제1 해시값에 대한 전자서명이 전달됨을 수신하고, 상기 제2 상대방 사용자로부터 문서가 확인됨에 따라 상기 제2 상대방 사용자로부터 상기 결재 요청된 문서의 승인 여부, 상기 결재 요청된 문서가 승인된 승인 시각 및 상기 제2 상대방 사용자의 식별 정보를 이용하여 메타데이터를 생성하고, 상기 제1 상대방 사용자로부터 생성된 해시값 및 상기 제2 상대방 사용자로부터 생성된 메타데이터를 이용하여 제2 해시값을 생성하고, 상기 제2 상대방 사용자에게 상기 생성된 제2 해시값에 대한 FIDO 인증을 요청함에 따라 상기 제2 상대방 사용자로부터 FIDO 인증기를 이용하여 상기 생성된 제2 해시값에 대한 전자서명이 전달됨을 수신하는 단계를 포함할 수 있다. In the step of approving the document, when the document requested for approval is to be approved by a plurality of counterpart users, the document is hashed as the document is confirmed by the first counterpart user, and the approval request from the first counterpart user Metadata is generated using the approval of the documented document, the approval time of the approved document and the identification information of the first counterpart user, and the hash value generated using the hashed document and the metadata In response to a request for FIDO authentication to the first counterpart user, the digital signature for the generated first hash value is received from the first counterpart user using the FIDO authenticator, and the document is confirmed from the second counterpart user. Accordingly, metadata is generated using whether or not the second counterpart user approves the document requested for payment, the approval time at which the document requested for payment is approved, and the identification information of the second counterpart user, and from the first counterpart user The second hash value is generated by using the generated hash value and the metadata generated from the second counterpart user, and the second counterpart user requests FIDO authentication for the generated second hash value. It may include receiving from the counterpart user that the digital signature for the generated second hash value is transmitted using the FIDO authenticator.
일 실시예에 따른 인증 시스템은 비대칭 암호를 기반으로 무결성 검증과 부인방지 기능을 표준적인 방식으로 제공하여 문서에 위변조가 발생하였을 경우, 결재를 무효화할 수 있고, 결재 사실을 부인하는 것을 방지할 수 있다. The authentication system according to an embodiment provides integrity verification and non-repudiation functions in a standard manner based on an asymmetric password, so that when forgery or alteration occurs in a document, the approval can be invalidated and the fact of the payment can be prevented from being denied. have.
일 실시예에 따른 인증 시스템은 FIDO 인증 프로토콜을 문서에 대한 전자서명에 적용할 수 있다. The authentication system according to an embodiment may apply a FIDO authentication protocol to an electronic signature for a document.
인증 시스템은 PC, 인증 토큰, 모바일 등 어느 환경에서나 서비스를 이용할 수 있고, 생체 인증과 같은 편리한 인증 방법을 사용하도록 제공할 수 있다. The authentication system can use the service in any environment such as PC, authentication token, mobile, etc., and can be provided to use a convenient authentication method such as biometric authentication.
인증 시스템은 사용자에게 추가적인 프로그램 설치나 하드웨어 도입을 최소화할 수 있다. The authentication system can minimize the installation of additional programs or hardware introduction to the user.
인증 시스템은 FIDO 인증기를 분산 ID 기반으로 관리하여 호환성과 안전성을 높일 수 있다. The authentication system can improve compatibility and safety by managing the FIDO authenticator based on distributed ID.
도 1은 일 실시예에 따른 분산신원확인 환경을 설명하기 위한 예이다.
도 2는 일 실시예에 따른 인증 시스템의 구성을 설명하기 위한 블록도이다.
도 3 내지 도 6은 일 실시예에 따른 DID 자료 구조를 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 인증 시스템에서 분산 ID 신분증을 발급하는 동작을 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 인증 시스템에서 분산 ID 신분증을 검증하는 동작을 설명하기 위한 도면이다.
도 9는 일 실시예에 따른 인증 시스템에서 사용자를 등록하는 동작을 설명하기 위한 도면이다.
도 10은 일 실시예에 따른 인증 시스템에서 문서를 결재하는 동작을 설명하기 위한 도면이다.
도 11은 일 실시예에 따른 인증 시스템에서 결재선에 따른 순차적 승인 동작을 설명하기 위한 도면이다. 1 is an example for explaining a distributed identification environment according to an embodiment.
2 is a block diagram illustrating the configuration of an authentication system according to an embodiment.
3 to 6 are diagrams for explaining a DID data structure according to an embodiment.
7 is a diagram illustrating an operation of issuing a distributed ID identification card in an authentication system according to an embodiment.
8 is a diagram for describing an operation of verifying a distributed ID identification card in an authentication system according to an embodiment.
9 is a diagram illustrating an operation of registering a user in an authentication system according to an exemplary embodiment.
10 is a diagram for describing an operation of paying a document in an authentication system according to an embodiment.
11 is a diagram for describing a sequential approval operation according to an approval line in an authentication system according to an embodiment.
이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings.
도 1은 일 실시예에 따른 분산신원확인 환경을 설명하기 위한 예이다.1 is an example for explaining a distributed identification environment according to an embodiment.
분산ID (Decentralized ID), 또는 자기주권형ID(Self-sovereign ID)이라고 불리는 개념은 신분증(ID)이나 증명서(Certificate)를 디지털로 발급받고, 사용자 자신이 직접 보관하며, 사용자 자신이 필요할 때 원하는 만큼 제시할 수 있는 증명 체계를 의미한다. 분산 ID에서도 공인인증서와 같이 소정의 인증 절차를 거쳐서 디지털 증명서(certificate)를 발급받고 사용자 자신의 전자 기기에 저장한다. 그리고 증명서를 제시할 때는 증명서에 나와있는 공개키(public key)에 해당하는 개인키(private key)로 서명하여 자신이 증명서의 주인임을 보인다. 그러므로 분산ID의 사용에 있어서 핵심적인 기능은 개인키를 다루는 부분이라 할 수 있으며, 개인이 개인키를 가장 쉽고 안전하게 다룰 수 있는 방법은 인증 기기(예를 들면, FIDO)를 이용하는 것이다. 실시예에서는 분산ID 체계에 FIDO 인증을 접목하여 실용적이고 안전한 신분증 체계를 설명하기로 한다.The concept called Decentralized ID, or Self-sovereign ID, receives an ID or certificate digitally, stores it by the user himself, and It means a proof system that can be presented as much as possible. In distributed ID, a digital certificate is issued through a predetermined authentication procedure like a public certificate and stored in the user's own electronic device. And when presenting a certificate, it shows that you are the owner of the certificate by signing with a private key corresponding to the public key in the certificate. Therefore, the core function in the use of distributed ID is the part handling the private key, and the easiest and safest way for an individual to handle the private key is to use an authentication device (for example, FIDO). In the embodiment, a practical and safe identification card system will be described by combining FIDO authentication with a distributed ID system.
발급자(110)는 사용자(120)의 신원을 확인한 후, 인증 기기와 사용자(120)의 신원을 확인함에 따라 획득한 신원 정보를 연결시킬 수 있다. 예를 들면, 발급자(110)는 FIDO 인증기와 사용자(120)의 신원 정보를 연결시킬 수 있다. 실시예에서 발급자(110)는 국가가 인정하는 공인인증기관(CA)뿐만 아니라 어느 누구나 될 수 있다. 단, 신분증을 받아보는 측에서 발급자를 인증해주어야 한다. After confirming the identity of the user 120, the issuer 110 may associate the obtained identity information with the authentication device by confirming the identity of the user 120. For example, the issuer 110 may associate the FIDO authenticator with the identity information of the user 120. In the embodiment, the issuer 110 may be anyone, as well as an accredited certification authority (CA) recognized by the state. However, the person who receives the ID must authenticate the issuer.
사용자(120)는 FIDO 인증기를 보유할 수 있다. 다시 말해서, 개인키를 보유하고 있다. 예를 들면, FIDO 인증기에 저장된 개인키를 이용하여 인증을 수행할 수 있으며, FIDO 인증기에 저장된 패스워드, 생체 정보 등을 이용하여 인증될 수 잇다. User 120 may have a FIDO authenticator. In other words, it holds the private key. For example, authentication may be performed using a private key stored in the FIDO authenticator, and authentication may be performed using a password or biometric information stored in the FIDO authenticator.
검증자(130)는 사용자가 제시한 신분증을 검증할 수 있다. 검증자(130)는 서명된 데이터를 검증할 수 있다. The verifier 130 may verify the identification card presented by the user. The verifier 130 may verify the signed data.
저장소(140)는 사용자의 신원 정보 및 FIDO 인증기의 공개키를 저장할 수 있다. 이때, 저장소(140)는 블록체인에 기반하여 데이터를 저장할 수 있다. 저장소(140)는 사용자의 전자 기기(예를 들면, PC, 스마트 폰)에 DID 증명서를 저장할 수 있다. The storage 140 may store user identification information and a public key of the FIDO authenticator. At this time, the storage 140 may store data based on a block chain. The storage 140 may store the DID certificate in the user's electronic device (eg, PC, smart phone).
또한, 블록체인에서 DID 증명서가 취소(revoke)되었는지 확인할 수 있다. 실시예에 따르면, 서버가 분산되어 있기 때문에 데이터 변조가 불가능하고 DoS 공격을 하기에도 어렵다.In addition, you can check whether the DID certificate has been revoked in the blockchain. According to the embodiment, since the servers are distributed, data tampering is impossible and it is difficult to perform a DoS attack.
도 2는 일 실시예에 따른 인증 시스템의 구성을 설명하기 위한 블록도이다.2 is a block diagram illustrating the configuration of an authentication system according to an embodiment.
인증 시스템(100)의 프로세서는 분산신원 환경 구성부(210), 사용자 등록부(220), 결재 요청부(230) 및 문서 승인부(240)를 포함할 수 있다. 이러한 프로세서의 인증 시스템에 저장된 프로그램 코드가 제공하는 제어 명령에 따라 프로세서에 의해 수행되는 서로 다른 기능들(different functions)의 표현들일 수 있다. The processor of the
분산신원 환경 구성부(210)는 인증 기기를 분산 ID 기반으로 관리하는 분산신원확인 환경을 구성할 수 있다. 분산신원 환경 구성부(210)는 사용자에게 분산 ID 기반의 신분증을 발급하고, 발급된 분산 ID 기반의 신분증을 검증할 수 있다. 분산신원 환경 구성부(210)는 발급자로부터 대면 또는 비대면으로 사용자의 신원이 확인됨에 따라 FIDO 인증기를 이용한 FIDO 등록 과정을 통하여 획득된 사용자의 공개키를 이용하여 DID 문서(document)를 생성하여 블록체인에 저장하고 상기 사용자의 DID 식별자를 결정하고, 결정된 사용자의 DID 식별자를 사용자에게 발급하고, 사용자의 신원 확인을 통하여 확인된 신원 정보와 사용자의 DID 식별자를 이용하여 DID 증명서(Verifiable claim)를 생성하여 블록체인에 저장할 수 있다. 분산신원 환경 구성부(210)는 사용자로부터 사용자의 DID 식별자가 검증자에게 제시됨에 따라 FIDO 인증기를 이용한 FIDO의 인증 과정이 수행되고, 검증자가 사용자로부터 제시된 DID 식별자를 이용하여 블록체인에서 DID 문서와 DID 증명서를 조회하여 FIDO 인증 과정에 사용된 공개키와 DID 문서에 존재하는 공개키가 일치하는지 확인하고, DID 증명서에 존재하는 발급자의 전자서명을 확인하여 사용자의 분산 ID 기반의 신분증을 검증할 수 있다. The distributed identity
사용자 등록부(220)는 사용자의 신원이 확인됨에 따라 사용자의 FIDO 등록 과정을 통하여 사용자에 대한 DID 값을 발급하고, FIDO 등록 과정을 통하여 확인된 사용자의 공개키를 이용하여 DID 문서를 생성하여 블록체인에 저장하고, 사용자의 DID 값과 사용자의 신원 확인을 통하여 획득된 신원 정보를 이용하여 생성된 DID 증명서를 블록체인에 저장할 수 있다. As the user's identity is verified, the
결재 요청부(230)는 등록된 사용자로부터 문서의 결재 요청을 수신할 수 있다. The
문서 승인부(240)는 문서가 상대방 사용자로부터 열람됨에 따라 상대방 사용자의 전자 기기와 연관된 인증 기기를 이용한 전자서명을 통하여 문서를 승인할 수 있다. 문서 승인부(240)는 상대방 사용자로부터 결재 요청된 문서가 열람됨에 따라 상기 문서가 승인 또는 반려되고, 상대방 사용자와의 FIDO 인증 과정을 통하여 확인된 전자 서명에 기초하여 DID 증명서를 생성하여 블록체인에 저장할 수 있다. 문서 승인부(240)는 결재 요청된 문서가 복수 명의 상대방 사용자로부터 승인되어야 할 경우, 제1 상대방 사용자로부터 문서가 확인됨에 따라 문서를 해시화하고, 제1 상대방 사용자로부터 결재 요청된 문서의 승인 여부, 결재 요청된 문서가 승인된 승인 시각 및 제1 상대방 사용자의 식별 정보를 이용하여 메타데이터를 생성하고, 해시화된 문서 및 메타데이터를 이용하여 생성된 해시값에 대한 제1 상대방 사용자에게 FIDO 인증을 요청함에 따라 제1 상대방 사용자로부터 FIDO 인증기를 이용하여 생성된 제1 해시값에 대한 전자서명이 전달됨을 수신하고, 제2 상대방 사용자로부터 문서가 확인됨에 따라 제2 상대방 사용자로부터 결재 요청된 문서의 승인 여부, 결재 요청된 문서가 승인된 승인 시각 및 제2 상대방 사용자의 식별 정보를 이용하여 메타데이터를 생성하고, 제1 상대방 사용자로부터 생성된 해시값 및 제2 상대방 사용자로부터 생성된 메타데이터를 이용하여 제2 해시값을 생성하고, 제2 상대방 사용자에게 생성된 제2 해시값에 대한 FIDO 인증을 요청함에 따라 제2 상대방 사용자로부터 FIDO 인증기를 이용하여 생성된 제2 해시값에 대한 전자서명이 전달됨을 수신할 수 있다. As the document is viewed by the counterpart user, the
도 3 내지 도 6은 일 실시예에 따른 DID 자료 구조를 설명하기 위한 도면이다.3 to 6 are diagrams for explaining a DID data structure according to an embodiment.
도 3을 참고하면, 디지털 아이덴티티 문서(DID document)는 DID체계에서 사람이나 기관 같은 주체를 가리키기 위한 식별자(Identifier)를 선언하는 자료 구조를 의미하며, 식별자와 공개키가 포함되어 있는 형식으로 구성될 수 있다. DID는 분산 환경에서 안전하고 검증 가능한 방식으로 블록체인에 저장할 수 있다. 예를 들면, DID는 속성, 공개키, 유효기간 등이 함께 블록체인에 저장될 수 있다. Referring to Figure 3, a digital identity document (DID document) refers to a data structure that declares an identifier to indicate a subject such as a person or an institution in the DID system, and is composed in a format including an identifier and a public key. Can be. DIDs can be stored on the blockchain in a secure and verifiable manner in a distributed environment. For example, DIDs can be stored in the blockchain along with attributes, public keys, and expiration dates.
도 4를 참고하면, 일반적으로 DID 식별자 값은 공개키로부터 유도할 수 있는 값이 사용될 수 있다. 예를 들면, 이더리움 계좌 주소의 경우, Address = Last160bits(Hash(PublicKey))와 같이 정의될 수 있다. 식별자의 주인이 식별자에 대응하는 개인키를 가지고 데이터를 서명함으로써 식별자의 주인임을 증명할 수 있다. 이와 같이, 식별자와 공개키를 연결할 경우, 특정 암호 알고리즘을 사용해야 한다. 예를 들면, DID를 이더리움 블록체인에 저장하고자 한다면, 모든 사용자가 secp256k1 알고리즘의 개인키를 지녀야 한다. 실시예에서는 분산 ID와 FIDO 인증 프로세스에 기반한 신분증 체계를 제시하는 것을 설명하기로 한다. FIDO 표준에서는 FIDO 인증 기기가 RSA, secp25641, secp256k1 를 포함하는 비대칭 알고리즘 중 어느 하나에 제한되지 않는다. Referring to FIG. 4, in general, a value derivable from a public key may be used as the DID identifier value. For example, in the case of an Ethereum account address, it can be defined as Address = Last160bits (Hash(PublicKey)). The owner of the identifier can prove that it is the owner of the identifier by signing the data with the private key corresponding to the identifier. In this way, when linking the identifier and the public key, a specific encryption algorithm must be used. For example, if you want to store the DID on the Ethereum blockchain, all users must have a private key of the secp256k1 algorithm. In the embodiment, it will be described to present an identification card system based on a distributed ID and FIDO authentication process. In the FIDO standard, FIDO certified devices are not limited to any one of asymmetric algorithms including RSA, secp25641, and secp256k1.
이에, 식별자와 공개키가 직접적으로 연관성이 없도록 한다. 보다 구체적으로, 공개키를 블록체인 상의 스마트 컨트랙트에 저장하고, 식별자는 공개키가 블록체인 상의 어디에 위치해있는지 나타내도록 설정한다.Thus, the identifier and the public key are not directly related. More specifically, the public key is stored in a smart contract on the blockchain, and the identifier is set to indicate where the public key is located on the blockchain.
다음은 DID 식별자(Decentralized Identifier)의 예시이다. The following is an example of a DID identifier (Decentralized Identifier).
예를 들면, 1번의 'teeware'란 DID 구현 방식을 나타내는 이름을 나타낸 것이고, 2번의 '0x22B84d5FFeA8b801C0422AFe752377A64Aa738c2'란 공개키가 저장된 스마트 컨트랙트의 이더리움 주소를 의미하고, 3번의 '1234'는 스마트 컨트랙트 상에서 공개키의 위치를 의미한다. For example,'teeware' in
도 5를 참고하면, DID 문서(document)와 DID 증명서(verifiable claim)를 설명하기 위한 도면이다. DID 문서는 식별자와 공개키를 연결하는 문서이다. DID 증명서는 식별자(identifier)와 사실(claim)을 연결한 증명서이고, 발급 기관의 전자서명이 포함되어 있어 증명서의 유효성을 검증할 수 있다(verifiable). 도 6을 참고하면, DID 증명서의 예를 나타낸 것이다. 610은 증명서의 대상이 되는 주체의 식별자, 620은 증명하고자 하는 사실, 630은 발급자의 전자서명이다.Referring to FIG. 5, a diagram for explaining a DID document and a DID certificate (verifiable claim). The DID document is a document that links an identifier and a public key. The DID certificate is a certificate that connects an identifier and a claim, and it includes the issuing authority's digital signature, so that the validity of the certificate can be verified (verifiable). Referring to FIG. 6, an example of a DID certificate is shown. 610 is the identifier of the subject subject to the certificate, 620 is the fact to be proved, and 630 is the issuer's electronic signature.
도 7은 일 실시예에 따른 인증 시스템에서 분산 ID 신분증을 발급하는 동작을 설명하기 위한 도면이다.7 is a diagram for describing an operation of issuing a distributed ID identification card in an authentication system according to an embodiment.
사용자로부터 신원 확인이 요청될 수 있다. 예를 들면, 사용자의 개인정보(예를 들면, 이름, 이메일, 전화번호 등)가 입력될 수 있다. 발급자는 사용자를 대면 또는 비대면으로 신원을 확인할 수 있다(1). 서버(인증 시스템)과 사용자 간 FIDO 기반의 등록 과정을 수행할 수 있다. 사용자는 전자 기기와 연결된 FIDO 인증 기기를 서버에 등록할 수 있다. 서버와 사용자 간 FIDO 기반의 등록 과정에서 생성된 사용자의 공개키가 발급자에게 전달될 수 있다(3). 발급자는 사용자의 공개키를 이용하여 DID 문서를 생성하여 블록체인에 저장할 수 있고, 블록체인에 저장함에 따라 사용자의 DID 식별자가 결정될 수 있다(4). 발급자는 결정된 사용자의 DID 식별자를 사용자에게 발급할 수 있다(5). 발급자는 신원 확인을 통해 획득된 사용자의 신원 정보와 DID 식별자를 이용하여 DID 증명서를 생성하여 블록체인에 저장할 수 있다(6).Identification may be requested from the user. For example, user's personal information (eg, name, email, phone number, etc.) may be input. The issuer can verify the user's identity face-to-face or non-face-to-face (1). A FIDO-based registration process can be performed between the server (authentication system) and the user. The user can register the FIDO certified device connected to the electronic device to the server. The user's public key generated in the FIDO-based registration process between the server and the user can be delivered to the issuer (3). The issuer can create a DID document using the user's public key and store it in the blockchain, and by storing it in the blockchain, the user's DID identifier can be determined (4). The issuer can issue the determined user's DID identifier to the user (5). The issuer can generate a DID certificate using the user's identity information and DID identifier obtained through identity verification and store it in the blockchain (6).
도 8은 일 실시예에 따른 인증 시스템에서 분산 ID 신분증을 검증하는 동작을 설명하기 위한 도면이다.8 is a diagram for describing an operation of verifying a distributed ID identification card in an authentication system according to an embodiment.
검증자는 사용자로부터 제시된 DID 식별자를 확인할 수 있다(1). 사용자와 서버 간 FIDO 인증(Authentication)이 수행될 수 있다(2). 이때, 서버에서 사용자와 서버 간 FIDO 인증이 수행됨에 따라 인증 성공 여부가 판단될 수 있다. 서버는 사용자와 서버 간 FIDO 인증을 통하여 확인된 FIDO 공개키와 인증 성공 여부가 검증자에게 전달할 수 있다(3). 검증자는 블록체인 상에서 DID 식별자를 이용하여 DID 문서와 DID 증명서를 조회할 수 있다(4). 검증자는 FIDO 인증에 사용된 공개키 키와 DID 문서의 공개키 키가 일치하는 지 확인할 수 있다. 검증자는 DID 증명서에 존재하는 발급자의 전자서명이 올바른지 확인할 수 있다. 이때, (1) 내지 (4)를 포함하는 과정 중 어느 하나의 중간 과정이 하나라도 실패할 경우, 신분증 검증에 실패한 것으로 판명된다. The verifier can check the DID identifier presented by the user (1). FIDO authentication may be performed between a user and a server (2). In this case, as the server performs FIDO authentication between the user and the server, it may be determined whether authentication is successful. The server can transmit the FIDO public key verified through FIDO authentication between the user and the server and whether the authentication was successful (3). The validator can search DID documents and DID certificates using the DID identifier on the blockchain (4). The verifier can check whether the public key key used for FIDO authentication matches the public key key of the DID document. The verifier can check whether the digital signature of the issuer in the DID certificate is correct. At this time, if any one of the intermediate processes including (1) to (4) fails, it is determined that the identification verification has failed.
도 9는 일 실시예에 따른 인증 시스템에서 사용자를 등록하는 동작을 설명하기 위한 도면이다.9 is a diagram illustrating an operation of registering a user in an authentication system according to an exemplary embodiment.
실시예에서는 FIDO 인증 기술에 기반한 블록체인/비대칭암호 및 신뢰실행환경을 통하여 기업의 문서 결재 과정을 설명하기로 한다. 도 9를 참고하여, 사용자를 등록하는 과정을 설명하기로 한다.In the embodiment, a document approval process of a company will be described through a blockchain/asymmetric encryption and trusted execution environment based on FIDO authentication technology. Referring to FIG. 9, a process of registering a user will be described.
인사팀은 대면 또는 비대면을 통하여 직원의 신원을 확인할 수 있다(1). 예를 들면, 인사팀을 통하여 직원의 계정이 일괄적으로 생성될 수 있고, 또는 직원으로부터 회원가입을 통하여 사용자의 계정이 새로 생성될 수 있다. 직원의 계정이 생성됨에 따라 서버와 직원 간 FIDO 등록 과정이 수행될 수 있다. 예를 들면, 직원은 FIDO 인증기를 등록함에 따라 패스워드 없이 서버에 간편하게 로그인할 수 있다. 서버(인증 시스템)는 FIDO 및 문서 결재 기능을 구현한 어플리케이션 서버일 수 있다. 직원에 의하여 서버에 FIDO 인증기가 등록될 수 있다. 이때, FIDO 인증기를 통하여 사용자 인증이 수행될 수 있다. 직원에 의하여 FIDO 인증기가 등록됨에 따라 서버에서 직원에 대한 DID 값이 발급될 수 있다(3). 서버는 직원에 의하여 FIDO 인증기가 등록됨에 따라 획득된 직원의 공개키를 이용하여 DID 문서를 생성할 수 있고, 생성된 DID 문서를 저장소에 저장할 수 있다(4). 이때, 저장소는 문서와 전자 서명 등이 저장되는 데이터베이스 또는 블록체인일 수 있다. 예를 들면, DID 문서는 다음과 같은 형태로 저장될 수 있다. The HR team can verify an employee's identity through face-to-face or non-face-to-face (1). For example, an employee's account may be collectively created through a personnel team, or a user's account may be newly created through membership registration from an employee. As the employee's account is created, the FIDO registration process between the server and the employee can be performed. For example, employees can easily log in to the server without a password by registering a FIDO authenticator. The server (authentication system) may be an application server implementing FIDO and document approval functions. The FIDO authenticator can be registered on the server by the employee. In this case, user authentication may be performed through the FIDO authenticator. As the FIDO authenticator is registered by the employee, the DID value for the employee can be issued from the server (3). The server may generate a DID document using the employee's public key obtained as the FIDO authenticator is registered by the employee, and store the generated DID document in the storage (4). In this case, the storage may be a database or a blockchain in which documents and electronic signatures are stored. For example, the DID document can be stored in the following format.
서버는 직원의 DID 값과 직원의 신원 확인을 통하여 획득된 신원 정보를 공인인증기관(CA)에 입력할 수 있다(5). 여기서, 공인인증기관(CA)은 직원의 신원정보를 보증하는 인증 체인의 루트이다. 공인인증기관(CA)는 직원의 DID값과 직원의 신원 정보를 이용하여 DID 증명서를 생성하여 저장소에 저장할 수 있다(6). 예를 들면, DID 증명서는 다음과 같은 형태로 저장소에 저장될 수 있다. The server can input the employee's DID value and the identity information obtained through the employee's identity verification to a CA (5). Here, the accredited certification authority (CA) is the root of the authentication chain that guarantees the employee's identity information. The accredited certification authority (CA) can generate a DID certificate using the employee's DID value and the employee's identity information and store it in the storage (6). For example, the DID certificate can be stored in the storage in the following format.
도 10은 일 실시예에 따른 인증 시스템에서 문서를 결재하는 동작을 설명하기 위한 도면이다. 10 is a diagram for describing an operation of paying a document in an authentication system according to an embodiment.
직원으로부터 서버에 로그인된 이후, 문서에 대한 결재가 요청될 수 있다. 예를 들면, 직원의 전자 기기를 통하여 결재받아야 할 적어도 하나 이상의 문서가 출력될 수 있다. 직원은 결재받기 위한 문서를 선택할 수 있다. 문서와 관련된 적어도 하나 이상의 승인자로부터 문서 승인이 이루어질 수 있다. 승인자는 저장소에 저장된 문서를 열람할 수 있다(1). 예를 들면, 승인자는 직원으로부터 결재가 요청된 문서를 열람할 수 있다. 승인자는 열람된 문서를 확인함에 따라 승인 또는 반려할 수 있다(2). 예를 들면, 승인자는 열람된 문서를 확인함에 따라 승인 또는 반려를 위한 유저 인터페이스(예를 들면, 버튼)를 선택함으로써 승인 또는 반려할 수 있다. 서버와 승인자 간 FIDO 인증 과정이 수행될 수 있다(3). 예를 들면, 서버는 승인자로부터 문서가 승인 또는 반려됨에 따라 문서를 암호화하여 승인자에게 전송할 수 있고, 승인자는 암호화된 문서를 전자서명하여 서버에 응답할 수 있다. 서버는 FIDO 인증 과정을 통하여 획득된 데이터에 기초하여 DID 증명서를 생성하여 저장소에 저장할 수 있다(4). 예를 들면, 승인된 문서에 대한 DID 증명서가 다음과 같이 저장될 수 있다. After the employee logs in to the server, payment for the document may be requested. For example, at least one or more documents to be paid may be output through the employee's electronic device. Employees can select documents for approval. Document approval may take place from at least one approver associated with the document. The approver can view the documents stored in the repository (1). For example, an approver can view a document for which an employee has requested approval. The approver can approve or reject the viewed document (2). For example, the approver may approve or reject by selecting a user interface (eg, a button) for approving or rejecting, as the approver checks the viewed document. The FIDO authentication process may be performed between the server and the approver (3). For example, the server may encrypt the document and transmit it to the approver as the document is approved or rejected by the approver, and the approver may respond to the server by digitally signing the encrypted document. The server may generate a DID certificate based on data acquired through the FIDO authentication process and store it in the storage (4). For example, the DID certificate for an approved document can be stored as follows.
도 11은 일 실시예에 따른 인증 시스템에서 결재선에 따른 순차적 승인 동작을 설명하기 위한 도면이다. 도 11에서는 복수 명의 승인자가 존재하는 경우를 설명하기 위한 것으로, 설명의 편의를 위하여 2명의 승인자를 예를 들어 설명하기로 한다. 문서를 처음으로 승인하는 승인자를 최초 승인자, 최초 승인자 이후에 승인하는 승인자를 후속 승인자라고 기재하기로 한다. 문서가 복수 명의 승인자로부터 승인되어야 할 경우, 제1 승인자로부터 생성된 해시값과 제2 승인자의 정보가 포함된 메타데이터에 기초하여 해시 체인(Hash Chain)이 생성되어 문서가 결재될 수 있다. 이러한 해시 체인을 통하여 수신된 문서의 결재선에 명시된 순서대로 승인자의 승인이 이루어졌는지 검증될 수 있다. 11 is a diagram for describing a sequential approval operation according to an approval line in an authentication system according to an embodiment. In FIG. 11, it is for explaining a case where a plurality of approvers exist, and for convenience of description, two approvers will be described as an example. The first approver who approves the document will be described as the first approver, and the approver who approves after the first approver is the subsequent approver. When a document is to be approved by a plurality of approvers, a hash chain is generated based on metadata including a hash value generated from a first approver and information of a second approver, and the document can be approved. Through this hash chain, it can be verified that the approval of the approver has been made in the order specified in the approval line of the received document.
최초 승인자가 문서를 확인함에 따라 승인 명령을 입력할 수 있다. 예를 들면, 최초 승인자와 관련된 전자 기기를 통하여 문서를 열람하여 확인될 수 있다. 최초 승인자와 관련된 전자 기기를 통하여 문서가 확인됨에 따라 문서를 승인 또는 반려하는 명령을 입력하기 위한 유저 인터페이스(예를 들면, 버튼)가 제공될 수 있다. 최초 승인자가 유저 인터페이스를 통하여 승인 또는 거절을 입력할 수 있다. 최초 승인자로부터 문서에 대한 승인 버튼이 선택될 수 있다(1). 서버는 문서를 해시화할 수 있다(H 0=Hash(Docs)).As the first approver verifies the document, an approval order can be entered. For example, it can be verified by reading a document through an electronic device related to the first approver. As the document is confirmed through an electronic device related to the first approver, a user interface (eg, a button) for inputting a command to approve or reject the document may be provided. The first approver can input approval or rejection through the user interface. An approval button for the document can be selected from the first approver (1). The server can hash the document ( H 0 =Hash( Docs )).
서버는 최초 승인자에게 FIDO 인증을 요청할 수 있다. 구체적으로, 서버는 문서에 대한 승인 여부, 승인된 승인 시각 및 승인자의 식별 정보를 이용하여 메타 데이터를 생성할 수 있다(M 1=승인여부+승인시각+승인자 ID). 서버는 해시화된 문서와 메타 데이터를 이용하여 해시값을 생성(H 1=Hash(H 0+M 1))할 수 있고, 최초 승인자에게 생성된 해시값에 대한 FIDO 인증을 요청할 수 있다(Challenge=H 1)(2). 최초 승인자로부터 FIDO 인증기를 이용하여 생성된 해시값에 대한 전자서명이 전달됨을 수신할 수 있다(Response=S 1=Sign(H 1)). 다시 말해서, 최초 승인자는 FIDO 인증을 제시할 수 있다(3). The server may request FIDO authentication from the initial approver. Specifically, the server may generate meta data using whether or not to approve the document, the approved approval time, and the approver's identification information ( M 1 = approval or not + approval time + approver ID). The server can generate a hash value using the hashed document and metadata ( H 1 =Hash( H 0 + M 1 )), and can request FIDO authentication for the generated hash value to the first approver (Challenge = H 1 )(2). It is possible to receive that the digital signature for the hash value generated using the FIDO authenticator is transmitted from the first approver (Response= S 1 =Sign( H 1 )). In other words, the initial approver can present FIDO certification (3).
후속 승인자로부터 문서에 대한 승인 버튼이 선택될 수 있다(4). 서버는 문서에 대한 승인 여부, 승인된 승인 시각 및 승인자의 식별 정보를 이용하여 메타 데이터를 생성할 수 있다(M 2=승인여부+승인시각+승인자 ID). 서버는 문서의 메타 데이터를 이용하여 해시값을 생성(H 2=Hash(H 1+M 2)할 수 있고, 후속 승인자에게 생성된 해시값에 대한 FIDO 인증을 요청할 수 있다(Challenge=H 2)(5). 후속 승인자로부터 FIDO 인증기를 이용하여 생성된 해시값에 대한 전자서명이 전달됨을 수신할 수 있다(Response=S 2=Sign(H 2)). 다시 말해서, 최초 승인자는 FIDO 인증을 제시할 수 있다(6). 서버는 문서(Docs), 메타 데이터(M 1, M 2), 전자서명(S 1, S 2)을 저장할 수 있다.An approval button for the document can be selected from a subsequent approver (4). The server can generate metadata using the approval status of the document, the approved approval time, and the approver's identification information ( M 2 = approval status + approval time + approver ID). The server can generate a hash value using the document's metadata ( H 2 =Hash ( H 1 + M 2 ), and can request FIDO authentication for the generated hash value to a subsequent approver (Challenge= H 2 ). (5) It is possible to receive the digital signature of the hash value generated using the FIDO authenticator from the subsequent approver (Response= S 2 =Sign( H 2 )) In other words, the first approver presents the FIDO certification. (6) The server can store documents (Docs), metadata ( M 1 , M 2 ), and electronic signatures ( S 1 , S 2 ).
일 실시예에 따른 인증 시스템은 FIDO 인증 프로토콜을 문서에 대한 전자서명에 적용할 수 있다. 인증 시스템은 비대칭 암호를 기반으로 무결성 검증과 부인방지 기능을 표준적인 방식으로 제공할 수 있다. 인증 시스템은 PC, 인증 토큰, 모바일 등 어느 환경에서나 서비스를 이용할 수 있고, 생체 인증과 같은 편리한 인증 방법을 사용하도록 제공할 수 있다. 인증 시스템은 사용자에게 추가적인 프로그램 설치나 하드웨어 도입을 최소화할 수 있다. 인증 시스템은 FIDO 인증기를 분산 ID 기반으로 관리하여 호환성과 안전성을 높일 수 있다. The authentication system according to an embodiment may apply a FIDO authentication protocol to an electronic signature for a document. The authentication system can provide integrity verification and non-repudiation functions in a standard way based on asymmetric encryption. The authentication system can use the service in any environment such as PC, authentication token, mobile, etc., and can be provided to use a convenient authentication method such as biometric authentication. The authentication system can minimize the installation of additional programs or hardware introduction to the user. The authentication system can improve compatibility and safety by managing the FIDO authenticator based on distributed ID.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and/or a combination of a hardware component and a software component. For example, the devices and components described in the embodiments are, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA). , A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions, such as one or more general purpose computers or special purpose computers. The processing device may execute an operating system (OS) and one or more software applications executed on the operating system. In addition, the processing device may access, store, manipulate, process, and generate data in response to the execution of software. For the convenience of understanding, although it is sometimes described that one processing device is used, one of ordinary skill in the art, the processing device is a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as a parallel processor.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of these, configuring the processing unit to behave as desired or processed independently or collectively. You can command the device. Software and/or data may be interpreted by a processing device or to provide instructions or data to a processing device, of any type of machine, component, physical device, virtual equipment, computer storage medium or device. Can be embodyed. The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -A hardware device specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of the program instructions include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described by the limited embodiments and drawings, various modifications and variations are possible from the above description by those of ordinary skill in the art. For example, the described techniques are performed in a different order from the described method, and/or components such as a system, structure, device, circuit, etc. described are combined or combined in a form different from the described method, Alternatively, even if substituted or substituted by an equivalent, an appropriate result can be achieved.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and claims and equivalents fall within the scope of the claims to be described later.
Claims (6)
인증 기기를 분산 ID 기반으로 관리하는 분산신원확인 환경을 구성하는 단계;
상기 구성된 분산신원확인 환경에서 신원이 확인된 사용자의 전자 기기와 연관된 인증 기기를 이용하여 사용자를 등록하는 단계;
상기 등록된 사용자로부터 문서의 결재 요청을 수신하는 단계; 및
상기 문서가 상대방 사용자로부터 열람됨에 따라 상기 상대방 사용자의 전자 기기와 연관된 인증 기기를 이용한 전자서명을 통하여 문서를 승인하는 단계
를 포함하는 신분증 제공 방법. In the method of providing an identification card performed in an authentication server,
Configuring a distributed identity verification environment for managing authentication devices based on distributed ID;
Registering a user using an authentication device associated with an electronic device of a user whose identity has been verified in the configured distributed identification environment;
Receiving a request for payment of a document from the registered user; And
Approving the document through an electronic signature using an authentication device associated with the electronic device of the counterpart user as the document is viewed by the counterpart user
How to provide identification, including.
상기 분산신원확인 환경을 구성하는 단계는,
상기 사용자에게 분산 ID 기반의 신분증을 발급하는 단계; 및
상기 발급된 분산 ID 기반의 신분증을 검증하는 단계
를 포함하고,
상기 사용자에게 분산 ID 기반의 신분증을 발급하는 단계는,
발급자로부터 대면 또는 비대면으로 사용자의 신원이 확인됨에 따라 FIDO 인증기를 이용한 FIDO 등록 과정을 통하여 획득된 사용자의 공개키를 이용하여 DID 문서(document)를 생성하여 블록체인에 저장하고 상기 사용자의 DID 식별자를 결정하고, 상기 결정된 사용자의 DID 식별자를 사용자에게 발급하고, 상기 사용자의 신원 확인을 통하여 확인된 신원 정보와 상기 사용자의 DID 식별자를 이용하여 DID 증명서(Verifiable claim)를 생성하여 블록체인에 저장하는 단계
를 포함하는 신분증 제공 방법. The method of claim 1,
The step of configuring the distributed identification environment,
Issuing a distributed ID-based identification card to the user; And
Verifying the issued distributed ID-based identification card
Including,
Issuing a distributed ID-based identification card to the user,
As the user's identity is verified face-to-face or non-face-to-face by the issuer, a DID document is created using the user's public key obtained through the FIDO registration process using a FIDO authenticator, stored in the blockchain, and the user's DID identifier And issuing the determined user's DID identifier to the user, generating a DID certificate (Verifiable claim) using the user's identification information and the user's DID identifier, and storing it in the blockchain. step
How to provide identification, including.
상기 발급된 분산 ID 기반의 신분증을 검증하는 단계는,
상기 사용자로부터 상기 사용자의 DID 식별자가 검증자에게 제시됨에 따라 FIDO 인증기를 이용한 FIDO의 인증 과정이 수행되고, 상기 검증자가 상기 사용자로부터 제시된 DID 식별자를 이용하여 상기 블록체인에서 DID 문서와 DID 증명서를 조회하여 상기 FIDO 인증 과정에 사용된 공개키와 상기 DID 문서에 존재하는 공개키가 일치하는지 확인하고, 상기 DID 증명서에 존재하는 발급자의 전자서명을 확인하여 상기 사용자의 분산 ID 기반의 신분증을 검증하는 단계
를 포함하는 신분증 제공 방법. The method of claim 2,
The step of verifying the issued distributed ID-based identification card,
As the user's DID identifier is presented to the verifier from the user, the FIDO authentication process is performed using a FIDO authenticator, and the verifier searches the DID document and DID certificate in the blockchain using the DID identifier presented by the user. Verifying whether the public key used in the FIDO authentication process matches the public key existing in the DID document, and verifying the user's distributed ID-based identification card by checking the digital signature of the issuer existing in the DID certificate.
How to provide identification, including.
상기 사용자를 등록하는 단계는,
상기 사용자의 신원이 확인됨에 따라 상기 사용자의 FIDO 등록 과정을 통하여 상기 사용자에 대한 DID 값을 발급하고, 상기 FIDO 등록 과정을 통하여 확인된 사용자의 공개키를 이용하여 DID 문서를 생성하여 블록체인에 저장하고, 상기 사용자의 DID 값과 상기 사용자의 신원 확인을 통하여 획득된 신원 정보를 이용하여 생성된 DID 증명서를 블록체인에 저장하는 단계
를 포함하는 신분증 제공 방법. The method of claim 1,
The step of registering the user,
As the user's identity is verified, a DID value for the user is issued through the user's FIDO registration process, and a DID document is created using the user's public key verified through the FIDO registration process and stored in the blockchain. And storing the DID certificate generated using the user's DID value and the identity information obtained through the user's identity verification in the blockchain.
How to provide identification, including.
상기 문서를 승인하는 단계는,
상기 상대방 사용자로부터 상기 결재 요청된 문서가 열람됨에 따라 상기 문서가 승인 또는 반려되고, 상기 상대방 사용자와의 FIDO 인증 과정을 통하여 확인된 전자 서명에 기초하여 DID 증명서를 생성하여 블록체인에 저장하는 단계
를 포함하는 신분증 제공 방법. The method of claim 1,
The step of approving the document,
The step of generating a DID certificate based on the electronic signature verified through the FIDO authentication process with the counterpart user and storing the DID certificate on the basis of the electronic signature confirmed through the FIDO authentication process with the counterpart user as the document is approved or rejected as the document requested for payment is read
How to provide identification, including.
상기 문서를 승인하는 단계는,
상기 결재 요청된 문서가 복수 명의 상대방 사용자로부터 승인되어야 할 경우, 제1 상대방 사용자로부터 문서가 확인됨에 따라 문서를 해시화하고, 상기 제1 상대방 사용자로부터 상기 결재 요청된 문서의 승인 여부, 상기 결재 요청된 문서가 승인된 승인 시각 및 상기 제1 상대방 사용자의 식별 정보를 이용하여 메타데이터를 생성하고, 상기 해시화된 문서 및 메타데이터를 이용하여 생성된 해시값에 대한 제1 상대방 사용자에게 FIDO 인증을 요청함에 따라 상기 제1 상대방 사용자로부터 FIDO 인증기를 이용하여 상기 생성된 제1 해시값에 대한 전자서명이 전달됨을 수신하고,
제2 상대방 사용자로부터 문서가 확인됨에 따라 상기 제2 상대방 사용자로부터 상기 결재 요청된 문서의 승인 여부, 상기 결재 요청된 문서가 승인된 승인 시각 및 상기 제2 상대방 사용자의 식별 정보를 이용하여 메타데이터를 생성하고, 상기 제1 상대방 사용자로부터 생성된 해시값 및 상기 제2 상대방 사용자로부터 생성된 메타데이터를 이용하여 제2 해시값을 생성하고, 상기 제2 상대방 사용자에게 상기 생성된 제2 해시값에 대한 FIDO 인증을 요청함에 따라 상기 제2 상대방 사용자로부터 FIDO 인증기를 이용하여 상기 생성된 제2 해시값에 대한 전자서명이 전달됨을 수신하는 단계
를 포함하는 신분증 제공 방법.
The method of claim 5,
The step of approving the document,
When the document requested for approval is to be approved by a plurality of counterpart users, the document is hashed as the document is confirmed by the first counterparty user, and whether the document requested for approval is approved by the first counterparty user, and the approval request Metadata is generated using the approval time of the approved document and the identification information of the first counterpart user, and FIDO authentication is provided to the first counterpart user for the hash value generated using the hashed document and the metadata. Upon request, receiving from the first counterpart user that the digital signature for the generated first hash value is transmitted using a FIDO authenticator
As the document is confirmed by the second counterpart user, metadata is determined using whether the document requested for approval from the second counterpart user is approved, the approval time at which the document requested for payment is approved, and the identification information of the second counterpart user. And generates a second hash value using a hash value generated from the first counterpart user and metadata generated by the second counterpart user, and provides the second counterpart user with respect to the generated second hash value. Receiving that a digital signature for the generated second hash value is transmitted from the second counterpart user using a FIDO authenticator in response to requesting FIDO authentication
How to provide identification, including.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190092838A KR102197218B1 (en) | 2019-07-31 | 2019-07-31 | System and method for providing distributed id and fido based block chain identification |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190092838A KR102197218B1 (en) | 2019-07-31 | 2019-07-31 | System and method for providing distributed id and fido based block chain identification |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102197218B1 true KR102197218B1 (en) | 2021-01-04 |
Family
ID=74127382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190092838A KR102197218B1 (en) | 2019-07-31 | 2019-07-31 | System and method for providing distributed id and fido based block chain identification |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102197218B1 (en) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102302097B1 (en) * | 2021-01-06 | 2021-09-15 | 이화여자대학교 산학협력단 | System and method for providing decentralized identity service for corporation based on block chain |
US20220014367A1 (en) * | 2018-12-13 | 2022-01-13 | Login Id Inc. | Decentralized computing systems and methods for performing actions using stored private data |
KR102419311B1 (en) * | 2021-11-08 | 2022-07-11 | 부산대학교 산학협력단 | System and method for self-sovereign identity verification with enhanced privacy based on trusted execution environment and blockchain |
WO2022177199A1 (en) * | 2021-02-22 | 2022-08-25 | 주식회사 블록체인기술연구소 | Did-based user authentication system that remedies blockchain oracle problem |
KR102439879B1 (en) * | 2022-04-28 | 2022-09-02 | 주식회사 잇다헬스케어 | System for authenticating identity based on blockchain and method thereof |
KR20220146999A (en) * | 2021-04-26 | 2022-11-02 | 두나무 주식회사 | Method and appartus for supproting transactions of commodites |
KR20230013591A (en) * | 2021-07-19 | 2023-01-26 | 케이포시큐리티 주식회사 | Apparatus and method for segmenting and managing self-sovereign identity information |
KR20230052599A (en) | 2021-10-13 | 2023-04-20 | 우효천 | System and Method for Registrating Personal information capable of identificacion |
KR20230110844A (en) | 2022-01-17 | 2023-07-25 | 주식회사 카르마랩 | Certificates Supplying System at Cloud using Decentralized Identity |
KR20230119802A (en) | 2022-02-08 | 2023-08-16 | 우효천 | System and Method for Registrating Personal information capable of identification |
WO2024187903A1 (en) * | 2023-03-10 | 2024-09-19 | 支付宝(杭州)信息技术有限公司 | Did-based payment method and apparatus, readable storage medium, and electronic device |
JP7555553B1 (en) | 2024-02-05 | 2024-09-25 | SingulaNet株式会社 | Information terminal, information processing system, computer program, and information processing method |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101645862B1 (en) * | 2015-03-16 | 2016-08-05 | 주식회사 시큐센 | Method, electronic document management device and computer-readable recording media for managing electronic document signed by electronic signature based on the biological information |
-
2019
- 2019-07-31 KR KR1020190092838A patent/KR102197218B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101645862B1 (en) * | 2015-03-16 | 2016-08-05 | 주식회사 시큐센 | Method, electronic document management device and computer-readable recording media for managing electronic document signed by electronic signature based on the biological information |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220014367A1 (en) * | 2018-12-13 | 2022-01-13 | Login Id Inc. | Decentralized computing systems and methods for performing actions using stored private data |
WO2022149816A1 (en) * | 2021-01-06 | 2022-07-14 | 이화여자대학교 산학협력단 | System and method for providing blockchain-based corporate did service |
KR102302097B1 (en) * | 2021-01-06 | 2021-09-15 | 이화여자대학교 산학협력단 | System and method for providing decentralized identity service for corporation based on block chain |
KR102465466B1 (en) | 2021-02-22 | 2022-11-09 | 주식회사 블록체인기술연구소 | The DID-based user authentication system that complements the blockchain's oracle problem |
WO2022177199A1 (en) * | 2021-02-22 | 2022-08-25 | 주식회사 블록체인기술연구소 | Did-based user authentication system that remedies blockchain oracle problem |
KR20220120058A (en) * | 2021-02-22 | 2022-08-30 | 주식회사 블록체인기술연구소 | The DID-based user authentication system that complements the blockchain's oracle problem |
KR102708397B1 (en) * | 2021-04-26 | 2024-09-23 | 두나무 주식회사 | Method and appartus for supproting transactions of commodites |
KR20220146999A (en) * | 2021-04-26 | 2022-11-02 | 두나무 주식회사 | Method and appartus for supproting transactions of commodites |
KR102563183B1 (en) | 2021-07-19 | 2023-08-04 | 케이포시큐리티(주) | Apparatus and method for segmenting and managing self-sovereign identity information |
KR20230013591A (en) * | 2021-07-19 | 2023-01-26 | 케이포시큐리티 주식회사 | Apparatus and method for segmenting and managing self-sovereign identity information |
KR20230052599A (en) | 2021-10-13 | 2023-04-20 | 우효천 | System and Method for Registrating Personal information capable of identificacion |
WO2023080332A1 (en) * | 2021-11-08 | 2023-05-11 | 부산대학교 산학협력단 | Privacy enhancing self-sovereign identity system and method based on trusted execution environment and blockchain |
KR102419311B1 (en) * | 2021-11-08 | 2022-07-11 | 부산대학교 산학협력단 | System and method for self-sovereign identity verification with enhanced privacy based on trusted execution environment and blockchain |
KR20230110844A (en) | 2022-01-17 | 2023-07-25 | 주식회사 카르마랩 | Certificates Supplying System at Cloud using Decentralized Identity |
KR20230119802A (en) | 2022-02-08 | 2023-08-16 | 우효천 | System and Method for Registrating Personal information capable of identification |
KR102439879B1 (en) * | 2022-04-28 | 2022-09-02 | 주식회사 잇다헬스케어 | System for authenticating identity based on blockchain and method thereof |
WO2024187903A1 (en) * | 2023-03-10 | 2024-09-19 | 支付宝(杭州)信息技术有限公司 | Did-based payment method and apparatus, readable storage medium, and electronic device |
JP7555553B1 (en) | 2024-02-05 | 2024-09-25 | SingulaNet株式会社 | Information terminal, information processing system, computer program, and information processing method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102197218B1 (en) | System and method for providing distributed id and fido based block chain identification | |
US11777726B2 (en) | Methods and systems for recovering data using dynamic passwords | |
US11895239B1 (en) | Biometric electronic signature tokens | |
US11170092B1 (en) | Document authentication certification with blockchain and distributed ledger techniques | |
RU2434340C2 (en) | Infrastructure for verifying biometric account data | |
US20190190723A1 (en) | Authentication system and method, and user equipment, authentication server, and service server for performing same method | |
US11669605B1 (en) | Dynamic enrollment using biometric tokenization | |
JP7083892B2 (en) | Mobile authentication interoperability of digital certificates | |
US20090293111A1 (en) | Third party system for biometric authentication | |
KR101937220B1 (en) | Method for generating and verifying a digital signature or message authentication code based on a block chain that does not require key management | |
US20110289318A1 (en) | System and Method for Online Digital Signature and Verification | |
EP2184888B1 (en) | Verifying device and program | |
KR20170141976A (en) | System and method for providing electronic signature service | |
JP7554197B2 (en) | One-click login procedure | |
TWM595792U (en) | Authorization system for cross-platform authorizing access to resources | |
CN113271207A (en) | Escrow key using method and system based on mobile electronic signature, computer equipment and storage medium | |
CN110392043B (en) | Method and system for endowing electronic contract notarization with mandatory execution effect | |
US12074987B1 (en) | Systems and methods of using group functions certificate extension | |
CN110521180B (en) | System and method for biometric authentication for certificate signing request processing | |
EP3883204B1 (en) | System and method for secure generation, exchange and management of a user identity data using a blockchain | |
Shakila et al. | Design and analysis of digital certificate verification and validation using blockchain-based technology | |
KR101868564B1 (en) | Apparatus for authenticating user in association with user-identification-registration and local-authentication and method for using the same | |
JP2024535330A (en) | Secure signature method, device and system | |
KR102048025B1 (en) | System and method for secure and convenient approval of document based on authentication protocol | |
KR20110115256A (en) | Electronic signature management method using signer identification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |