KR102118962B1 - Method and server for managing user identity using blockchain network, and method and terminal for verifying user using user identity based on blockchain network - Google Patents

Method and server for managing user identity using blockchain network, and method and terminal for verifying user using user identity based on blockchain network Download PDF

Info

Publication number
KR102118962B1
KR102118962B1 KR1020190030195A KR20190030195A KR102118962B1 KR 102118962 B1 KR102118962 B1 KR 102118962B1 KR 1020190030195 A KR1020190030195 A KR 1020190030195A KR 20190030195 A KR20190030195 A KR 20190030195A KR 102118962 B1 KR102118962 B1 KR 102118962B1
Authority
KR
South Korea
Prior art keywords
specific
user
specific user
identity
certification authority
Prior art date
Application number
KR1020190030195A
Other languages
Korean (ko)
Inventor
어준선
송주한
이주민
Original Assignee
주식회사 코인플러그
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 코인플러그 filed Critical 주식회사 코인플러그
Priority to KR1020190030195A priority Critical patent/KR102118962B1/en
Priority to PCT/KR2020/003027 priority patent/WO2020189927A1/en
Application granted granted Critical
Publication of KR102118962B1 publication Critical patent/KR102118962B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/321Cryptographic 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 a third party or a trusted authority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3263Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3297Cryptographic 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 time stamps, e.g. generation of time stamps
    • H04L2209/38
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

The present invention relates to a method and a server for managing user identity by using a blockchain network and a method and a terminal for authenticating a user by using user identity based on a blockchain network. The method for managing user identity by using a blockchain network comprises the steps of: checking, by a specific authentication institution server, a specific user self-claim registered in a distributed ledger by using a specific user self-claim ID to obtain a second specific user specific value included in the specific user self-claim; and obtaining, by the specific authentication institution server, a specific user specific identity claim ID corresponding to a specific user specific identity claim registered in the distributed ledger by using a specific user specific identity claim registration transaction ID and transmitting a specific claim signature value made by signing at least the specific user specific identity with a private key of the specific certification institution server and the specific user specific identity claim ID to a specific user terminal.

Description

블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말{METHOD AND SERVER FOR MANAGING USER IDENTITY USING BLOCKCHAIN NETWORK, AND METHOD AND TERMINAL FOR VERIFYING USER USING USER IDENTITY BASED ON BLOCKCHAIN NETWORK}METHOD AND SERVER FOR MANAGING USER IDENTITY USING BLOCKCHAIN NETWORK, AND METHOD AND TERMINAL FOR VERIFYING USER USING USER IDENTITY BASED ON BLOCKCHAIN NETWORK}

본 발명은 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말에 관한 것으로, 보다 상세하게는, 사용자 단말로부터의 사용자 어드레스를 이용한 사용자 아이디 생성 데이터와 사용자 아이디 생성 데이터를 사용자 마스터 프라이빗 키로 서명한 제1 사용자 서명값을 포함하는 사용자 아이디 생성 트랜잭션이 획득되면, 제1 사용자 서명값을 검증하여 제1 사용자 서명값이 유효한 것으로 확인되면, 블록체인 네트워크의 분산원장에 등록된 아이디 관리 컨트랙트를 실행하여 사용자 아이덴티티들에 대한 클레임을 생성하도록 하는 사용자 스마트 컨트랙트를 분산원장에 등록하도록 하고, 사용자 스마트 컨트랙트를 분산원장에 등록하도록 하는 사용자 스마트 컨트랙트 등록 트랜잭션에 대응되는 사용자 스마트 컨트랙트 등록 트랜잭션 아이디를 사용자 단말로 전송함으로써, 사용자 단말로 하여금 사용자 스마트 컨트랙트 등록 트랜잭션 아이디를 이용하여 분산원장에 등록된 사용자 스마트 컨트랙트의 어드레스를 사용자 아이디로 획득하도록 하며, 사용자 아이디, 사용자 아이덴티티들을 가공한 사용자 특정값, 및 사용자 아이디와 사용자 특정값을 사용자 프라이빗 키로 서명한 제2 사용자 서명값을 포함하는 사용자 셀프 클레임 데이터와, 사용자 셀프 클레임 데이터를 사용자 마스터 프라이빗 키로 서명한 제3 사용자 서명값을 포함하는 사용자 셀프 클레임 등록 요청 트랜잭션이 획득되면, 제3 사용자 서명값을 검증하여 제3 사용자 서명값이 유효한 것으로 확인되면, 사용자 아이디에 대응되는 사용자 스마트 컨트랙트를 실행하여 사용자 셀프 클레임 데이터에 대응하는 사용자 셀프 클레임이 분산원장에 등록되도록 하며, 분산원장에 등록된 사용자 셀프 클레임에 대응되는 사용자 셀프 클레임 트랜잭션 아이디가 사용자 단말로 전송되도록 하는 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말에 관한 것이다.The present invention relates to a method and a server for managing a user's identity using a blockchain network, and a method and a terminal for authenticating a user using a blockchain network-based user identity, and more specifically, from a user terminal. When the user ID generation transaction including the user ID generation data using the user address of the user and the first user signature value signed with the user master private key is obtained, the first user signature value is verified by verifying the first user signature value If it is confirmed that this is valid, the user management smart contract that executes the ID management contract registered in the distributed ledger of the blockchain network to generate claims for user identities is registered in the distributed ledger, and the user smart contract is registered in the distributed ledger. By sending the user smart contract registration transaction ID corresponding to the user smart contract registration transaction to the user terminal, the user terminal uses the user smart contract registration transaction ID as the user ID of the address of the user smart contract registered in the distributed ledger. User self-claim data and user self-claim data including a user ID, a user-specific value processed with user identities, and a second user signature value signing the user ID and user-specific value with a user private key, and the user self-claim data When a user self-claim registration request transaction including a third user signature value signed with a private key is obtained, if the third user signature value is verified to be valid by verifying the third user signature value, the user smart contract corresponding to the user ID is opened. Execute to enable the user self-claim corresponding to the user self-claim data to be registered in the distributed ledger, and the user using the blockchain network to send the user self-claim transaction ID corresponding to the user self-claim registered in the distributed ledger to the user terminal. How to manage the identity and server, and blockchain network It relates to a method and a terminal for authenticating a user using a user identity based.

일반적인 거래 구조에서 생산기술, 교통 수단 등의 발전으로 거래의 대상이 늘어나고 거래의 범위가 넓어짐에 따라 거래의 구조는 점차 복잡해지고, 거래비용은 증가해 왔다. 또한, 직접 거래 대신 대부분의 거래가 간접적으로 이뤄짐에 따라, 거래의 당사자와 대상을 신뢰하기 위해 많은 비용이 필요해졌다.With the development of production technology, transportation, and the like in a general trading structure, the structure of the transaction has gradually increased and the transaction cost has increased as the target of the transaction increases and the scope of the transaction expands. In addition, as most transactions are made indirectly, instead of direct transactions, it is expensive to trust the parties and targets of the transaction.

예를 들어, 거래 당사자를 신뢰하기 위해 신용 평가기관을 활용해 평가하고, 상품의 품질이나 가치를 보증하기 위해 인증서나 보증서, 제3자에 의한 담보 등이 필요하게 됐다. 또한 대금의 지급/결제의 안정성과 신뢰를 위한 금융 기관이나 계약을 보증하기 위한 공증이나 신뢰기관 등 무수히 많은 중간자가 등장하고, 신뢰의 비용이 발생하고 있다.For example, it is necessary to use a credit rating agency to trust a trading party, and to guarantee the quality or value of a product, a certificate, a guarantee certificate, and collateral by a third party are required. In addition, a myriad of intermediaries such as notarization and trust institutions for guaranteeing payment and settlement stability and trust for financial institutions and contracts are appearing, and the cost of trust is incurred.

특히, 사용자 인증을 위한 개인 인증서에 대한 정보는 인증 기관 등이 보유하고 있으므로, 본인 인증을 위한 인증서 정보를 확인하는 동안 해킹에 노출될 위험이 있을 수 있으므로, 이를 방지하기 위한 보안 강화를 위하여 여러 보안 프로그램을 이용하여야 하는 불편함이 있다.In particular, since the information about the personal certificate for user authentication is held by the certification authority, there may be a risk of being exposed to hacking while checking the certificate information for the user authentication, so various security measures are needed to strengthen security to prevent this. There is the inconvenience of using the program.

또한, 사용자 개인 인증서에 대한 정보를 보관하고 있는 인증 기관 등이 해킹 당하면 대량의 개인 정보가 해킹 당하는 피해도 발생하고 있다.In addition, if a certification authority or the like that stores information on a user's personal certificate is hacked, a large amount of personal information is hacked.

한편, 종래 사용자 인증을 위한 개인 인증서 등의 인증 정보는 인증을 받은 각각의 인증 기관 등에 보관되게 되며, 사용자는 다수의 인증 기관 등에 보관된 각각의 인증 정보에 접근하기 위한 해당 인증 정보가 보관된 인증 기관을 매번 확인하여야 하는 불편함이 있으며, 각각의 인증 기관 등에 보관에 인증 정보에 대한 권한은 각각의 인증 기관이 소유하고 있어서 사용자가 자신의 인증 정보들을 용이하게 관리하는 데 어려움이 있다.On the other hand, authentication information such as a personal certificate for conventional user authentication is stored in each authentication authority that has been authenticated, and the user authenticates in which the corresponding authentication information for accessing each authentication information stored in a plurality of authentication authorities is stored. It is inconvenient to check the authority every time, and the authority for the authentication information to be stored in each certification authority is owned by each certification authority, so it is difficult for the user to easily manage his or her authentication information.

KRKR 10-2011-002903210-2011-0029032 AA KRKR 10-148474410-1484744 B1B1

본 발명은 상술한 문제점들을 모두 해결하는 것을 그 목적으로 한다.The present invention aims to solve all of the above-mentioned problems.

또한, 본 발명은 사용자 인증을 위한 각각의 사용자 아이덴티티들에 대한 권한을 사용자 자신이 소유할 수 있도록 하는 것을 다른 목적으로 한다.In addition, another object of the present invention is to enable the user himself to have the authority for each user identity for user authentication.

또한, 본 발명은 사용자 인증을 위한 각각의 사용자 아이덴티티들에 대한 관리를 용이하게 할 수 있도록 하는 것을 또 다른 목적으로 한다.In addition, another object of the present invention is to facilitate management of respective user identities for user authentication.

또한, 본 발명은 사용자 아이덴티티들에 대한 접근 권한을 사용자 자신이 직접 관리할 수 있도록 하는 것을 또 다른 목적으로 한다.In addition, another object of the present invention is to enable the user himself to directly manage access rights to user identities.

상기 목적을 달성하기 위한 본 발명의 일 실시예에 따르면, 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법에 있어서, (a) 사용자들 및 인증기관들의 아이덴티티들에 대한 클레임을 생성하도록 하는 클레임 스마트 컨트렉트가 사용자들 및 인증기관들에 대응하여 각각 사용자 스마트 컨트랙트들과 인증기관 스마트 컨트랙트들로 다수의 블록체인 노드들에 의해 구성되는 블록체인 네트워크의 분산원장에 등록되며, 상기 사용자 스마트 컨트랙트들 및 상기 인증기관 스마트 컨트랙트들에 대한 상기 분산원장 상의 어드레스들이 상기 사용자들 및 상기 인증기관들의 아이디들로 관리되고, 상기 사용자들에 각각 대응되는 사용자 아이덴티티들을 가공한 사용자 특정값들을 포함하는 각각의 사용자 셀프 클레임들이 상기 분산원장에 등록된 상태에서, (i) 특정 사용자 단말로부터의 특정 사용자 아이디, 특정 사용자 아이덴티티들 중 인증을 위한 특정 사용자 특정 아이덴티티, 및 적어도 상기 특정 사용자 아이덴티티들을 가공한 제1 특정 사용자 특정값을 포함하는 특정 사용자 특정 아이덴티티에 대한 특정 사용자 특정 아이덴티티 클레임 등록 요청에 대응하거나, (ii) 상기 특정 사용자 단말로부터의 아이덴티티 클레임 등록 요청에 대응하여 특정 사용자에 대응되는 상기 특정 사용자 특정 아이덴티티를 상기 특정 사용자 단말로 전송하여 줌으로써 상기 특정 사용자 단말로부터 획득되는 상기 특정 사용자 특정 아이덴티티 클레임 등록 요청에 대응하여 특정 인증기관 서버로부터 특정 사용자 셀프 클레임에 대응하는 특정 사용자 셀프 클레임 아이디에 대한 확인 요청이 획득되면, 상기 다수의 블록체인 노드들 중 적어도 하나의 블록체인 노드가, 특정 사용자 스마트 컨트랙트를 실행하여 상기 분산원장에 등록된 상기 특정 사용자 셀프 클레임에 대응하는 상기 특정 사용자 셀프 클레임 아이디를 상기 특정 인증기관 서버로 전송함으로써 상기 특정 인증기관 서버로 하여금 상기 특정 사용자 셀프 클레임 아이디를 이용하여 상기 분산원장에 등록된 상기 특정 사용자 셀프 클레임을 확인하여 상기 특정 사용자 셀프 클레임에 포함된 제2 특정 사용자 특정값을 획득하도록 하는 단계; 및 (b) 상기 특정 인증기관 서버로부터 특정 사용자 특정 아이덴티티 클레임 - 상기 특정 사용자 특정 아이덴티티 클레임은 상기 특정 인증기관 서버에서 생성된 것으로, 상기 특정 사용자 단말로부터의 상기 특정 사용자 특정 아이덴티티 클레임 등록 요청에 포함된 상기 제1 특정 사용자 특정값과 상기 분산원장의 상기 특정 사용자 셀프 클레임에 포함된 상기 제2 특정 사용자 특정값이 일치하는 상태에서, 상기 특정 인증기관 서버가 상기 특정 사용자 특정 아이덴티티를 검증한 다음, 상기 특정 인증기관 서버에 대응되는 특정 인증기관 아이디, 상기 특정 사용자 특정 아이덴티티에 대응되는 특정 클레임 타입, 및 상기 특정 사용자 아이디와 상기 특정 클레임 타입을 상기 특정 인증기관 서버의 프라이빗 키로 서명한 제1 특정 인증기관 서명값을 포함하여 생성한 것임 - 과 상기 특정 사용자 특정 아이덴티티 클레임을 상기 특정 인증기관의 마스터 프라이빗 키로 서명한 제2 특정 인증기관 서명값을 포함하는 특정 사용자 특정 아이덴티티 클레임 등록 요청 트랜잭션이 획득되면, 상기 적어도 하나의 블록체인 노드가, 상기 제2 특정 인증기관 서명값을 검증하여 상기 제2 특정 인증기관 서명값이 유효한 경우, 상기 특정 사용자 스마트 컨트랙트를 실행하여 상기 특정 사용자 특정 아이덴티티 클레임이 상기 분산원장에 등록되도록 하고, 상기 특정 사용자 특정 아이덴티티 클레임을 상기 분산원장에 등록하도록 하는 특정 사용자 특정 아이덴티티 클레임 등록 트랜잭션에 대응되는 특정 사용자 특정 아이덴티티 클레임 등록 트랜잭션 아이디를 상기 특정 인증기관 서버로 전송함으로써, 상기 특정 인증기관 서버로 하여금 상기 특정 사용자 특정 아이덴티티 클레임 등록 트랜잭션 아이디를 이용하여 상기 분산원장에 등록된 상기 특정 사용자 특정 아이덴티티 클레임에 대응하는 특정 사용자 특정 아이덴티티 클레임 아이디를 획득하고, 적어도 상기 특정 사용자 특정 아이덴티티를 상기 특정 인증기관의 프라이빗 키로 서명한 특정 클레임 서명값과 상기 특정 사용자 특정 아이덴티티 클레임 아이디를 상기 특정 사용자 단말로 전송하도록 하는 단계; 를 포함하는 방법이 제공된다.According to an embodiment of the present invention for achieving the above object, in a method for managing the identity of a user using a blockchain network, (a) claims to generate claims for the identities of users and certification authorities The smart contract is registered in the distributed ledger of the blockchain network composed of a plurality of blockchain nodes with user smart contracts and certification authority smart contracts, respectively, in response to users and certification authorities, and the user smart contract And the addresses on the distributed ledger for the certification authority smart contracts are managed with the IDs of the users and the certification authorities, and each includes user specific values processed by user identities corresponding to the users. In the state where user self claims are registered in the distributed ledger, (i) a specific user ID from a specific user terminal, a specific user specific identity for authentication among specific user identities, and at least a first specific processing of the specific user identities A specific user specific identity claim request for a specific user specific identity including a user specific value, or (ii) the specific user specific identity corresponding to a specific user in response to an identity claim registration request from the specific user terminal When a request for confirmation of a specific user self claim ID corresponding to a specific user self claim is obtained from a specific certification authority server in response to the specific user specific identity claim registration request obtained from the specific user terminal by transmitting to the specific user terminal , At least one blockchain node among the plurality of blockchain nodes executes a specific user smart contract and sets the specific user self-claim ID corresponding to the specific user self-claim registered in the distributed ledger to the specific certification authority server By sending to the specific certification authority server using the specific user self-claim ID registered in the distributed ledger Confirming the specific user self claim to obtain a second specific user specific value included in the specific user self claim; And (b) a specific user-specific identity claim from the specific certification authority server-the specific user-specific identity claim is generated by the specific certification authority server, and is included in the specific user-specific identity claim registration request from the specific user terminal. After the first specific user specific value and the second specific user specific value included in the specific user self-claim of the distributed ledger match, the specific certification authority server verifies the specific user specific identity, and then the A first specific certification authority that signs a specific certification authority ID corresponding to a specific certification authority server, a specific claim type corresponding to the specific user specific identity, and the specific user ID and the specific claim type with a private key of the specific certification authority server. Generated by including a signature value-and a specific user-specific identity claim registration request transaction including a second specific certification authority signature value signed with the specific private authority's master private key and the specific user-specific identity claim is obtained. When at least one blockchain node verifies the signature value of the second specific certification authority and the second specific certification authority signature value is valid, the specific user specific identity claim is executed to the distributed ledger by executing the specific user smart contract. The specific certification authority by sending a specific user-specific identity claim registration transaction ID corresponding to a specific user-specific identity claim registration transaction to be registered and to register the specific user-specific identity claim to the distributed ledger, to the specific certification authority server A server obtains a specific user-specific identity claim ID corresponding to the specific user-specific identity claim registered in the distributed ledger by using the specific user-specific identity claim transaction ID, and at least authenticates the specific user-specific identity The specific claims signature value signed with your institution's private key, Transmitting the specific user-specific identity claim ID to the specific user terminal; A method is provided that includes.

본 발명의 일 실시예에 따르면, 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 블록체인 네트워크의 블록체인 노드에 있어서, 사용자 아이덴티티를 관리하기 위한 인스트럭션들이 저장된 메모리; 및 상기 메모리에 저장된 상기 인스트럭션들에 따라 상기 사용자 아이덴티티를 관리하는 동작을 수행하는 프로세서; 를 포함하되, 상기 프로세서는, (i) 사용자들 및 인증기관들의 아이덴티티들에 대한 클레임을 생성하도록 하는 클레임 스마트 컨트렉트가 사용자들 및 인증기관들에 대응하여 각각 사용자 스마트 컨트랙트들과 인증기관 스마트 컨트랙트들로 다수의 블록체인 노드들에 의해 구성되는 블록체인 네트워크의 분산원장에 등록되며, 상기 사용자 스마트 컨트랙트들 및 상기 인증기관 스마트 컨트랙트들에 대한 상기 분산원장 상의 어드레스들이 상기 사용자들 및 상기 인증기관들의 아이디들로 관리되고, 상기 사용자들에 각각 대응되는 사용자 아이덴티티들을 가공한 사용자 특정값들을 포함하는 각각의 사용자 셀프 클레임들이 상기 분산원장에 등록된 상태에서, (i-1) 특정 사용자 단말로부터의 특정 사용자 아이디, 특정 사용자 아이덴티티들 중 인증을 위한 특정 사용자 특정 아이덴티티, 및 적어도 상기 특정 사용자 아이덴티티들을 가공한 제1 특정 사용자 특정값을 포함하는 특정 사용자 특정 아이덴티티에 대한 특정 사용자 특정 아이덴티티 클레임 등록 요청에 대응하거나, (i-2) 상기 특정 사용자 단말로부터의 아이덴티티 클레임 등록 요청에 대응하여 특정 사용자에 대응되는 상기 특정 사용자 특정 아이덴티티를 상기 특정 사용자 단말로 전송하여 줌으로써 상기 특정 사용자 단말로부터 획득되는 상기 특정 사용자 특정 아이덴티티 클레임 등록 요청에 대응하여 특정 인증기관 서버로부터 특정 사용자 셀프 클레임에 대응하는 특정 사용자 셀프 클레임 아이디에 대한 확인 요청이 획득되면, 특정 사용자 스마트 컨트랙트를 실행하여 상기 분산원장에 등록된 상기 특정 사용자 셀프 클레임에 대응하는 상기 특정 사용자 셀프 클레임 아이디를 상기 특정 인증기관 서버로 전송함으로써 상기 특정 인증기관 서버로 하여금 상기 특정 사용자 셀프 클레임 아이디를 이용하여 상기 분산원장에 등록된 상기 특정 사용자 셀프 클레임을 확인하여 상기 특정 사용자 셀프 클레임에 포함된 제2 특정 사용자 특정값을 획득하도록 하는 프로세스, 및 (ii) 상기 특정 인증기관 서버로부터 특정 사용자 특정 아이덴티티 클레임 - 상기 특정 사용자 특정 아이덴티티 클레임은 상기 특정 인증기관 서버에서 생성된 것으로, 상기 특정 사용자 단말로부터의 상기 특정 사용자 특정 아이덴티티 클레임 등록 요청에 포함된 상기 제1 특정 사용자 특정값과 상기 분산원장의 상기 특정 사용자 셀프 클레임에 포함된 상기 제2 특정 사용자 특정값이 일치하는 상태에서, 상기 특정 인증기관 서버가 상기 특정 사용자 특정 아이덴티티를 검증한 다음, 상기 특정 인증기관 서버에 대응되는 특정 인증기관 아이디, 적어도 상기 특정 사용자 특정 아이덴티티에 대응되는 특정 클레임 타입, 및 상기 특정 사용자 아이디와 상기 특정 클레임 타입을 상기 특정 인증기관 서버의 프라이빗 키로 서명한 제1 특정 인증기관 서명값을 포함하여 생성한 것임 - 과 상기 특정 사용자 특정 아이덴티티 클레임을 상기 특정 인증기관의 마스터 프라이빗 키로 서명한 제2 특정 인증기관 서명값을 포함하는 특정 사용자 특정 아이덴티티 클레임 등록 요청 트랜잭션이 획득되면, 상기 제2 특정 인증기관 서명값을 검증하여 상기 제2 특정 인증기관 서명값이 유효한 경우, 상기 특정 사용자 스마트 컨트랙트를 실행하여 상기 특정 사용자 특정 아이덴티티 클레임이 상기 분산원장에 등록되도록 하고, 상기 특정 사용자 특정 아이덴티티 클레임을 상기 분산원장에 등록하도록 하는 특정 사용자 특정 아이덴티티 클레임 등록 트랜잭션에 대응되는 특정 사용자 특정 아이덴티티 클레임 등록 트랜잭션 아이디를 상기 특정 인증기관 서버로 전송함으로써, 상기 특정 인증기관 서버로 하여금 상기 특정 사용자 특정 아이덴티티 클레임 등록 트랜잭션 아이디를 이용하여 상기 분산원장에 등록된 상기 특정 사용자 특정 아이덴티티 클레임에 대응하는 특정 사용자 특정 아이덴티티 클레임 아이디를 획득하고, 적어도 상기 특정 사용자 특정 아이덴티티를 상기 특정 인증 기관의 프라이빗 키로 서명한 특정 클레임 서명값과 상기 특정 사용자 특정 아이덴티티 클레임 아이디를 상기 특정 사용자 단말로 전송하도록 하는 프로세스를 수행하는 블록체인 노드가 제공된다.According to an embodiment of the present invention, a blockchain node of a blockchain network that manages a user's identity using a blockchain network, comprising: a memory in which instructions for managing the user identity are stored; And a processor performing an operation of managing the user identity according to the instructions stored in the memory. Including, wherein the processor, (i) claims smart contracts to generate claims for the identities of users and certification authorities corresponding to the users and the certification authority user smart contracts and certification authority smart respectively Addresses on the distributed ledger for the user smart contracts and the certification authority smart contracts are registered in the distributed ledger of the blockchain network constituted by a plurality of blockchain nodes as contracts, the users and the certification authority (I-1) from a specific user terminal while each user self-claim including user-specific values managed by user IDs and processed user identities corresponding to the users is registered in the distributed ledger. Responding to a specific user specific identity claim registration request for a specific user specific identity, including a specific user ID, a specific user specific identity for authentication among specific user identities, and a first specific user specific value at least processing the specific user identities. Alternatively, (i-2) the specific user identification obtained from the specific user terminal by transmitting the specific user specific identity corresponding to the specific user to the specific user terminal in response to the identity claim registration request from the specific user terminal When a request for confirmation of a specific user self-claim ID corresponding to a specific user self-claim is obtained from a specific certification authority server in response to an identity claim registration request, the specific user self-claim registered in the distributed ledger is executed by executing a specific user smart contract By sending the specific user self-claim ID corresponding to the specific certification authority server, the specific certification authority server confirms the specific user self-claim registered in the distributed ledger by using the specific user self-claim ID to identify the A process for obtaining a second specific user specific value included in the user self claim, and (ii) the specific authentication A specific user specific identity claim from an authority server-The specific user specific identity claim is generated by the specific certification authority server, and the first specific user specific value included in the specific user specific identity claim registration request from the specific user terminal And the second specific user specific value included in the specific user self-claim of the distributed ledger, the specific certification authority server verifies the specific user specific identity, and then corresponds to the specific certification authority server. Generated by including a specific certification authority ID, at least a specific claim type corresponding to the specific user specific identity, and a first specific certification authority signature value signing the specific user ID and the specific claim type with the private key of the specific certification authority server -The second specific certification authority signature when a specific user specific identity claim registration request transaction is obtained, including the second specific certification authority signature value signed with the master private key of the specific certification authority and the specific user specific identity claim If the second specific certification authority signature value is valid by verifying a value, the specific user-specific identity claim is executed in the distributed ledger by executing the specific user smart contract, and the specific user-specific identity claim is sent to the distributed ledger. By sending a specific user-specific identity claim registration transaction ID corresponding to a specific user-specific identity claim registration transaction to be registered to the specific certification authority server, the specific certification authority server uses the specific user-specific identity claim registration transaction ID Obtain a specific user-specific identity claim ID corresponding to the specific user-specific identity claim registered in the distributed ledger, and at least the specific user signature identity and the specific user signature value that signed the specific user-specific identity with the private key of the specific certification authority Identifies the identity claim ID There is provided a blockchain node that performs a process to transmit to a specific user terminal.

이 외에도, 본 발명의 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 더 제공된다.In addition to this, a computer readable recording medium for recording a computer program for executing the method of the present invention is further provided.

본 발명에 의하면, 다음과 같은 효과가 있다.According to the present invention, there are the following effects.

본 발명은 보안성이 우수한 블록체인 기술을 이용하여 사용자 인증을 위한 각각의 사용자 아이덴티티들에 대한 권한을 사용자 자신이 소유할 수 있게 되므로, 사용자 의지와는 관계없이 사용자 정보가 거래되는 것을 방지할 수 있게 된다.The present invention can prevent user information from being traded regardless of the user's will, because the user can own the authority for each user identity for user authentication by using a blockchain technology with excellent security. There will be.

본 발명은 사용자 아이덴티티들을 사용자가 보관하므로 각각의 사용자 아이덴티티들에 대한 관리를 용이하게 할 수 있게 된다.In the present invention, since user identities are stored by a user, management of each user identities can be facilitated.

본 발명은 사용자 아이덴티티들에 대한 접근 권한을 사용자 자신이 직접 관리할 수 있도록 함으로써 사용자의 의지와는 관계없이 사용자 정보가 노출되는 것을 방지할 수 있게 된다.According to the present invention, it is possible to prevent user information from being exposed irrespective of the user's will by allowing the user himself to directly manage access rights to user identities.

도 1은 본 발명의 일 실시예에 따른 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 시스템을 개략적으로 도시한 것이고,
도 2a와 도 2b는 본 발명의 일 실시예에 따른 블록체인 네트워크를 이용하여 사용자 아이덴티티를 관리하는 방법에서 사용자 아이디 등을 생성하는 방법을 개략적으로 도시한 것이고,
도 3a와 도 3b는 본 발명의 일 실시예에 따른 블록체인 네트워크를 이용하여 사용자 아이덴티티를 관리하는 방법에서 사용자 셀프 클레임을 등록하는 방법을 개략적으로 도시한 것이고,
도 4a와 도 4b는 본 발명의 일 실시예에 따른 블록체인 네트워크를 이용하여 사용자 아이덴티티를 관리하는 방법에서 사용자 키를 추가 및 삭제하는 방법을 개략적으로 도시한 것이고,
도 5a와 도 5b는 본 발명의 일 실시예에 따른 블록체인 네트워크를 이용하여 사용자 아이덴티티를 관리하는 방법에서 사용자 데이터를 백업하는 방법을 개략적으로 도시한 것이고,
도 6은 본 발명의 일 실시예에 따른 블록체인 네트워크를 이용하여 사용자 아이덴티티를 관리하는 방법에서 사용자 데이터를 복구하는 방법을 개략적으로 도시한 것이고,
도 7a와 도 7b는 본 발명의 일 실시예에 따른 블록체인 네트워크를 이용하여 사용자 아이덴티티를 관리 방법에서 특정 아이덴티티 클레임을 등록하는 방법을 개략적으로 도시한 것이고,
도 8a와 도 8b는 본 발명의 일 실시예에 따른 블록체인 네트워크를 이용하여 사용자 아이덴티티를 관리하는 방법에서 특정 아이덴티티 클레임을 삭제하는 방법을 개략적으로 도시한 것이고,
도 9a와 도 9b는 본 발명의 일 실시예에 따른 블록체인 네트워크를 이용하여 사용자 아이덴티티를 관리하는 방법에서 특정 아이덴티티 클레임을 삭제하는 다른 방법을 개략적으로 도시한 것이고,
도 10a와 도 10b는 본 발명의 일 실시예에 따른 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법을 개략적으로 도시한 것이다.
1 schematically shows a system for managing the identity of a user using a blockchain network according to an embodiment of the present invention,
2A and 2B schematically illustrate a method of generating a user ID and the like in a method of managing user identities using a blockchain network according to an embodiment of the present invention,
3A and 3B schematically illustrate a method for registering user self-claim in a method of managing user identity using a blockchain network according to an embodiment of the present invention,
4A and 4B schematically illustrate a method of adding and deleting user keys in a method for managing user identity using a blockchain network according to an embodiment of the present invention,
5A and 5B schematically illustrate a method of backing up user data in a method of managing user identity using a blockchain network according to an embodiment of the present invention,
6 schematically shows a method of recovering user data in a method of managing user identity using a blockchain network according to an embodiment of the present invention,
7A and 7B schematically illustrate a method of registering a specific identity claim in a method of managing a user identity using a blockchain network according to an embodiment of the present invention,
8A and 8B schematically illustrate a method of deleting a specific identity claim in a method of managing user identities using a blockchain network according to an embodiment of the present invention,
9A and 9B schematically illustrate another method of deleting a specific identity claim in a method for managing user identity using a blockchain network according to an embodiment of the present invention,
10A and 10B schematically illustrate a method of authenticating a user using a user identity based on a blockchain network according to an embodiment of the present invention.

후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.For a detailed description of the present invention, which will be described later, reference is made to the accompanying drawings that illustrate, by way of example, specific embodiments in which the invention may be practiced. These examples are described in detail enough to enable those skilled in the art to practice the present invention. It should be understood that the various embodiments of the present invention are different, but need not be mutually exclusive. For example, certain shapes, structures, and properties described herein may be implemented in other embodiments without departing from the spirit and scope of the invention in relation to one embodiment. In addition, it should be understood that the location or placement of individual components within each disclosed embodiment can be changed without departing from the spirit and scope of the invention. Therefore, the following detailed description is not intended to be taken in a limiting sense, and the scope of the present invention, if appropriately described, is limited only by the appended claims, along with all ranges equivalent to those claimed. In the drawings, similar reference numerals refer to the same or similar functions throughout several aspects.

이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings in order to enable those skilled in the art to easily implement the present invention.

도 1은 본 발명의 일 실시예에 따른 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 시스템에 관한 것으로, 시스템은 사용자 단말(100), 인증기관 서버(200), 및 블록체인 노드(300)를 포함할 수 있다.1 relates to a system for managing the identity of a user using a blockchain network according to an embodiment of the present invention, the system includes a user terminal 100, a certification authority server 200, and a blockchain node 300 It may include.

먼저, 사용자 단말(100)은 사용자 아이덴티티를 관리하는 주체로, PC(Personal Computer), 모바일 컴퓨터, PDA/EDA, 휴대 전화, 스마트폰, 태블릿, IoT 기기 등을 포함할 수 있다. 그리고, 사용자 단말(100)은 이에 한정되지 않으며, 유무선 통신 기능을 가진 휴대용 게임기, 디지털 카메라, 개인 내비게이션 등의 모든 디바이스를 포함할 수 있다. 또한, 사용자 단말(100)은 사용자 아이덴티티의 관리를 위한 인스트럭션들을 저장하는 메모리(110)와 메모리(110)에 저장된 인스트럭션들에 대응하여 사용자 아이덴티티의 관리를 위한 동작을 수행하는 프로세서(120)를 포함할 수 있다. 이때, 도1에서는 하나의 사용자 단말(100)만을 도시하였으나, 이는 설명의 편의를 위한 것으로, 사용자 단말(100)은 각각의 사용자에 대응되는 다수 개로 이루어질 수 있다.First, the user terminal 100 is a subject that manages a user identity, and may include a personal computer (PC), a mobile computer, a PDA/EDA, a mobile phone, a smartphone, a tablet, and an IoT device. In addition, the user terminal 100 is not limited to this, and may include any device such as a portable game machine having a wired/wireless communication function, a digital camera, and personal navigation. In addition, the user terminal 100 includes a memory 110 for storing instructions for the management of the user identity and a processor 120 for performing an operation for managing the user identity in response to the instructions stored in the memory 110. can do. In this case, although only one user terminal 100 is illustrated in FIG. 1, this is for convenience of description, and the user terminal 100 may be composed of a plurality corresponding to each user.

구체적으로, 사용자 단말(100)은 전형적으로 컴퓨팅 장치(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.Specifically, the user terminal 100 is typically a computing device (eg, a computer processor, memory, storage, input device and output device, a device that may include components of other existing computing devices; electronics such as routers, switches, etc.) A desired system using a combination of communication devices; electronic information storage systems such as network attached storage (NAS) and storage area networks (SAN)) and computer software (i.e. instructions that cause the computing device to function in a particular way). It may be to achieve performance.

또한, 컴퓨팅 장치의 프로세서는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 컴퓨팅 장치는 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.In addition, the processor of the computing device may include hardware configurations such as a micro processing unit (MPU) or a central processing unit (CPU), a cache memory, and a data bus. Further, the computing device may further include a software configuration of an operating system and an application performing a specific purpose.

다음으로, 인증기관 서버(200)는 사용자 아이덴티티들에 대한 인증을 수행하는 것으로, 사용자 아이덴티티 인증을 위한 인스트럭션들을 저장하는 메모리(210)와 메모리(210)에 저장된 인스트럭션들에 대응하여 사용자 아이덴티티의 인증을 위한 동작을 수행하는 프로세서(220)를 포함할 수 있다. 이때, 도1에서는 하나의 인증기관 서버(200)만을 도시하였으나, 이는 설명의 편의를 위한 것으로, 인증기관 서버(200)는 사용자 아이덴티티에 대한 인증을 수행하는 각각의 인증기관에 대응되는 다수 개로 이루어질 수 있다.Next, the certification authority server 200 performs authentication for user identities, and authenticates the user identity in response to the memory 210 storing instructions for user identity authentication and the instructions stored in the memory 210. It may include a processor 220 for performing an operation for. In this case, although only one certification authority server 200 is shown in FIG. 1, this is for convenience of explanation, and the certification authority server 200 is made up of a plurality of numbers corresponding to each certification authority that performs authentication for a user identity. Can be.

구체적으로, 인증기관 서버(200)는 전형적으로 컴퓨팅 장치(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.Specifically, the certification authority server 200 is typically a computing device (eg, a computer processor, memory, storage, input device and output device, other devices that may include components of existing computing devices; routers, switches, and the like) Electronic communication devices; electronic information storage systems such as network attached storage (NAS) and storage area networks (SAN)) and computer software (i.e. instructions that cause a computing device to function in a particular way). It may be to achieve system performance.

다음으로, 블록체인 노드(300)들은 사용자 아이덴티들에 대응되는 클레임들 또는 클레임들과 관련한 정보를 저장 및 관리하는 것으로, 블록체인 네트워크를 구성하는 서버일 수 있으며, 사용자 아이덴티티 관리를 위한 인스트럭션들을 저장하는 메모리(310)와 메모리(310)의 인스트럭션들에 대응하여 사용자 아이덴티티 관리를 위한 동작을 수행하는 프로세서(320)를 포함할 수 있다. 이때, 도 1에서는 블록체인 노드(300)를 6개로 도시하였으나, 이는 설명의 편의를 위한 것으로, 블록체인 노드(300)의 개수는 이에 한정되지 않는다.Next, the blockchain nodes 300 store and manage claims corresponding to user identities or information related to claims, and may be a server constituting a blockchain network, and store instructions for user identity management The memory 310 may include a processor 320 that performs an operation for user identity management in response to the memory 310 and instructions of the memory 310. At this time, in FIG. 1, the block chain node 300 is shown as six, but this is for convenience of description, and the number of the block chain nodes 300 is not limited thereto.

구체적으로, 블록체인 노드(300)는 구체적으로, 정보 관리 서버(200)는 전형적으로 컴퓨팅 장치(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.Specifically, the blockchain node 300 is specifically, the information management server 200 is typically a computing device (e.g., computer processor, memory, storage, input and output devices, other components of the existing computing device) Devices that can: electronic communication devices such as routers, switches, etc.; electronic information storage systems such as network attached storage (NAS) and storage area networks (SAN)) and computer software (i.e., enable computing devices to function in a particular way) It may be to achieve the desired system performance using a combination of instructions).

이에 더하여, 본 발명의 일 실시예에 따른 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 시스템은 서비스 제공 서버(미도시)를 더 포함할 수 있으며, 서비스 제공 서버는 사용자 아이덴티티를 이용한 사용자 인증 등을 통해 사용자 단말(100)을 통해 사용자가 원하는 서비스를 제공하여 줄 수 있다. 이때, 서비스 제공 서버는 전형적으로 컴퓨팅 장치와 컴퓨터 소프트웨어의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.In addition, the system for managing the user's identity using a blockchain network according to an embodiment of the present invention may further include a service providing server (not shown), and the service providing server may authenticate a user using a user identity, etc. Through the user terminal 100 may provide a service desired by the user. In this case, the service providing server may be one that achieves desired system performance using a combination of a computing device and computer software.

이와 같이 구성된 본 발명의 일 실시예에 따른 블록체인 네트워크를 이용하여 사용자 아이덴티티를 관리하는 시스템을 이용하여 사용자 아이덴티티를 관리하는 방법을 설명하면 다음과 같다.A method of managing user identity using a system for managing user identity using a blockchain network according to an embodiment of the present invention configured as described above will be described as follows.

도 2a를 참조하여 본 발명의 일 실시예에 따른 블록체인 네트워크를 이용하여 사용자 아이덴티티를 관리하는 방법에서 사용자 아이디 등을 생성하는 방법을 설명한다.A method of generating a user ID and the like in a method of managing user identities using a blockchain network according to an embodiment of the present invention will be described with reference to FIG. 2A.

사용자가 사용자 단말(100)에 설치된 아이덴티티 관리 앱을 실행하여 사용자 프라이빗 키와 사용자 퍼블릭 키를 생성하고, 사용자 퍼블릭 키를 이용하여 사용자 어드레스를 생성한 상태에서, 사용자가 사용자 아이디를 생성하기 위하여 사용자 단말(100), 일 예로, 사용자 단말(100)에 설치된 아이덴티티 관리 앱을 실행하여 사용자 아이디 생성 트랜잭션이 블록체인 네트워크로 전송(S1)되도록 한다. 이때, 사용자 아이디 생성 트랜잭션은 사용자 어드레스를 이용한 사용자 아이디 생성 데이터와 사용자 아이디 생성 데이터를 사용자 마스터 프라이빗 키로 서명한 제1 사용자 서명값을 포함할 수 있다. 그리고, 사용자 마스터 프라이빗 키는 사용자 프라이빗 키일 수 있다.When the user runs the identity management app installed on the user terminal 100 to generate the user private key and the user public key, and the user address is generated using the user public key, the user terminal to generate the user ID (100), for example, by executing the identity management app installed on the user terminal 100 to transmit the user ID generation transaction to the blockchain network (S1). At this time, the user ID generation transaction may include user ID generation data using the user address and a first user signature value signed with the user master private key. In addition, the user master private key may be a user private key.

그러면, 블록체인 네트워크를 구성하는 다수의 블록체인 노드들 중 적어도 하나의 블록체인 노드(300)가, 사용자 아이디 생성 트랜잭션에 포함된 제1 사용자 서명값을 검증(S2)한다.Then, at least one blockchain node 300 among the plurality of blockchain nodes constituting the blockchain network verifies the first user signature value included in the user ID generation transaction (S2).

일 예로, 적어도 하나의 블록체인 노드(300)는 블록체인 네트워크 상의 분산원장에 등록된 디지털 서명 검증 모듈을 실행하여 제1 사용자 서명값과 사용자 아이디 생성 데이터를 참조하여 사용자 마스터 프라이빗 키에 대응되는 사용자 마스터 퍼블릭 키를 획득하도록 할 수 있다. 즉, 적어도 하나의 블록체인 노드(300)는 제1 사용자 서명값과 사용자 아이디 생성 데이터를 블록체인 네트워크 상의 분산원장에 등록된 디지털 서명 검증 모듈로 전송하게 되며, 디지털 서명 검증 모듈은 입력되는 제1 사용자 서명값과 사용자 아이디 생성 데이터를 이용하여 제1 사용자 서명값의 서명에 이용된 사용자 마스터 프라이빗 키에 대응되는 사용자 마스터 프라이빗 키를 획득하게 된다. 그리고, 적어도 하나의 블록체인 노드(300)는 획득된 사용자 마스터 퍼블릭 키를 이용하여 제1 사용자 서명값으로부터 확인되는 제1 비교 대상 데이터와 사용자 아이디 생성 데이터가 일치하는 지를 확인함으로써 제1 사용자 서명값이 유효한지를 검증하게 된다.For example, at least one blockchain node 300 executes a digital signature verification module registered in a distributed ledger on the blockchain network, and refers to a user's master private key by referring to the first user signature value and user ID generation data. You can get the master public key. That is, the at least one blockchain node 300 transmits the first user signature value and user ID generation data to the digital signature verification module registered in the distributed ledger on the blockchain network, and the digital signature verification module is input first The user master private key corresponding to the user master private key used to sign the first user signature value is obtained using the user signature value and the user ID generation data. Then, the at least one blockchain node 300 checks whether the first comparison target data identified from the first user signature value and the user ID generation data match by using the acquired user master public key. We will verify that this is valid.

다른 예로, 사용자 단말(100)이 사용자 아이디 생성 트랜잭션에 사용자 마스터 프라이빗 키에 대응되는 사용자 마스터 퍼블릭 키를 더 포함하여 전송함으로써, 적어도 하나의 블록체인 노드(100)가, 사용자 마스터 퍼블릭 키를 이용하여 제1 사용자 서명값으로부터 확인되는 제1 비교 대상 데이터와 사용자 아이디 생성 데이터가 일치하는 지를 확인함으로써 제1 사용자 서명값이 유효한지를 검증하게 된다.As another example, the user terminal 100 further includes the user master public key corresponding to the user master private key in the user ID generation transaction, so that at least one blockchain node 100 uses the user master public key. It is verified whether the first user signature value is valid by confirming whether the first comparison target data identified from the first user signature value and the user ID generation data match.

이후, 제1 사용자 서명값이 유효한 것으로 확인되면, 적어도 하나의 블록체인 노드(300)는 블록체인 네트워크의 분산원장에 등록된 아이디 관리 컨트랙트를 실행하여 사용자 아이덴티티들에 대한 클레임을 생성하도록 하는 사용자 스마트 컨트랙트를 분산원장에 등록(S3)하도록 한다.Subsequently, when it is determined that the first user signature value is valid, at least one blockchain node 300 executes an identity management contract registered in the distributed ledger of the blockchain network to generate a claim for user identities. Register the contract with the distributed ledger (S3).

그리고, 적어도 하나의 블록체인 노드(300)는 사용자 스마트 컨트랙트를 분산원장에 등록하도록 하는 사용자 스마트 컨트랙트 등록 트랜잭션에 대응되는 사용자 스마트 컨트랙트 등록 트랜잭션 아이디를 사용자 단말(100)로 전송(S4)한다.Then, the at least one blockchain node 300 transmits the user smart contract registration transaction ID corresponding to the user smart contract registration transaction to register the user smart contract to the distributed ledger to the user terminal 100 (S4).

그러면, 사용자 단말(100)은 사용자 스마트 컨트랙트 등록 트랜잭션 아이디를 이용하여 사용자 스마트 컨트랙트가 분산원장에 등록되었는지를 확인(S5)하며, 블록체인 네트워크를 구성하는 블록체인 노드(300)들의 합의에 의해 사용자 스마트 컨트랙트가 분산원장에 등록된 경우, 분산원장에서 사용자 스마트 컨트랙트가 등록된 위치 정보인 사용자 스마트 컨트랙트 어드레스를 획득(S6)하게 되며, 획득된 사용자 스마트 컨트랙트 어드레스를 사용자 아이디로 사용자 단말(100)에 등록하게 된다.Then, the user terminal 100 checks whether the user smart contract is registered in the distributed ledger using the user smart contract registration transaction ID (S5), and the user is agreed by the blockchain nodes 300 constituting the blockchain network. When the smart contract is registered in the distributed ledger, the user smart contract address, which is the location information of the user smart contract registered in the distributed ledger, is obtained (S6), and the obtained user smart contract address is used as the user ID in the user terminal 100 You will be registered.

도 2a에서는 사용자 단말(100)이 블록체인 네트워크로 직접 사용자 아이디 생성 트랜잭션을 전송함으로써 블록체인 네트워크 상에서의 트랜잭션 피(fee)를 사용자 단말(100)이 지급하여야 한다. 하지만, 이와는 사용자 단말(100)이 직접적으로 트랜잭션 피를 지급하지 않고 타 장치를 통해 트랜잭션 피를 지급하도록 할 수도 있다.In FIG. 2A, the user terminal 100 must pay the transaction fee on the blockchain network by transmitting the user ID generation transaction directly to the blockchain network. However, in this case, the user terminal 100 may directly pay the transaction blood through another device without paying the transaction blood.

즉, 도 2b를 참조하면, 사용자 아이디 생성 트랜잭션에 대한 트랜잭션 피를 사용자 단말(100)이 지급하는 것이 아니라, 프록시 서버(150)로 하여금 트랜잭션 피를 지급하도록 할 수 있다.That is, referring to FIG. 2B, the user terminal 100 does not pay the transaction blood for the user ID generation transaction, but allows the proxy server 150 to pay the transaction blood.

이때, 사용자 단말(100)은 사용자 아이디 생성 트랜잭션을 프록시 서버(150)로 전송(S1-1)한다.At this time, the user terminal 100 transmits a user ID generation transaction to the proxy server 150 (S1-1).

그러면, 프록시 서버(150)는 사용자 아이디 생성 트랜잭션과 사용자 아이디 생성 트랜잭션을 프록시 서버(150)의 프록시 서버 마스터 프라이빗 키로 서명한 제1 프록시 서버 서명값을 블록체인 네트워크로 전송(S1-2)하게 되며, 그에 따라, 블록체인 네트워크를 구성하는 적어도 하나의 블록체인 노드(300)는 제1 프록시 서버 서명값을 검증(S1-3)하게 되며, 제1 프록시 서버 서명값이 유효한 경우 제1 사용자 서명값을 검증(S2)하게 된다. 이때, 적어도 하나의 블록체인 노드(300)가 제1 사용자 검증값을 검증하였으나, 이와는 달리 프록시 서버(150)가 제1 사용자 검증값을 검증할 수도 있다.Then, the proxy server 150 transmits the first proxy server signature value signed by the proxy server master private key of the user ID generation transaction and the user ID generation transaction to the blockchain network (S1-2). , Accordingly, at least one blockchain node 300 constituting the blockchain network verifies the first proxy server signature value (S1-3), and if the first proxy server signature value is valid, the first user signature value Will be verified (S2). At this time, at least one blockchain node 300 has verified the first user verification value, but unlike this, the proxy server 150 may verify the first user verification value.

또한, 적어도 하나의 블록체인 서버(300)는 사용자 스마트 컨트랙트 등록 트랜잭션 아이디를 프록시 서버(150)로 전송(S4-1)함으로써 프록시 서버(150)가 사용자 스마트 컨트랙트 등록 트랜잭션 아이디를 사용자 단말(100)로 전송(S4-2)하게 된다.In addition, the at least one blockchain server 300 transmits the user smart contract registration transaction ID to the proxy server 150 (S4-1), so that the proxy server 150 sends the user smart contract registration transaction ID to the user terminal 100. To (S4-2).

상기에서는 사용자 단말(100)을 통해 사용자 아이디를 생성하는 과정을 설명하였으나, 인증기관 서버, 서비스 제공 서버 등도 동일한 방법에 의해 각각의 아이디를 생성할 수 있다.In the above, the process of generating a user ID through the user terminal 100 has been described, but a certification authority server, a service providing server, etc. can also generate each ID by the same method.

도 3a를 참조하여 본 발명의 일 실시예에 따른 블록체인 네트워크를 이용하여 사용자 아이덴티티를 관리하는 방법에서 사용자 셀프 클레임을 등록하는 방법을 설명한다.A method of registering user self-claim in a method of managing user identity using a blockchain network according to an embodiment of the present invention will be described with reference to FIG. 3A.

사용자가 사용자 단말(100)의 사용자 아이덴티티 관리 앱을 이용하여 등록하고자 하는 사용자 셀프 클레임을 생성(S11)한다.The user creates a user self-claim to be registered by using the user identity management app of the user terminal 100 (S11).

이때, 사용자 셀프 클레임은 사용자 아이디, 사용자 아이덴티티들을 가공한 사용자 특정값, 및 사용자 아이디와 사용자 특정값을 사용자 프라이빗 키로 서명한 제2 사용자 서명값을 포함할 수 있다. 이때, 사용자 특정값은 사용자에 대한 특정 아이덴티티들 각각을 가공한 값일 수도 있다.At this time, the user self-claim may include a user ID, a user specific value processed with user identities, and a second user signature value signed with the user ID and the user specific value. In this case, the user-specific value may be a value obtained by processing each of the specific identities for the user.

일 예로, 사용자 셀프 클레임은 1. 토픽, 2. scheme, 3. 소유자, 4, 서명값, 5. 데이터의 포멧으로 생성될 수 있다. 이때, 토픽은 사용자 아이덴티티들과 관련한 클레임의 타입, scheme은 사용되는 암호화 알고리즘, 소유자는 클레임을 생성하는 주체, 서명값은 주체의 서명값, 데이터는 클레임 내용일 수 있다.As an example, the user self-claim may be generated in a format of 1. topic, 2. scheme, 3. owner, 4, signature value, 5. data. At this time, the topic may be the type of claim related to user identities, the scheme is the encryption algorithm used, the owner is the subject generating the claim, the signature value is the subject's signature value, and the data is the claim content.

한편, 사용자 아이덴티티들은 사용자를 식별하기 위한 특징 정보들을 포함하며, 특징 정보들은 사용자 단말에 저장된 상태일 수 있다. 그리고, 사용자 아이덴티티들은 사용자 성명, 생년월일, 성별, 별명, 전화번호, 이메일 주소, 생체 정보, 행동 특성, 취미, 신체 특징, 생활 패턴 등 사용자와 관련한 모든 특징 정보들을 포함할 수 있고, 토픽을 통해 각각의 특징 정보들을 클레임 타입별로 분류할 수 있으며, 필요에 따라 토픽을 추가 및 삭제할 수 있다. 그리고, 소유자는 도 2a 또는 도 2b의 방법에 의해 생성된 사용자 아이디일 수 있다. 또한, 데이터는 클레임을 위한 아이덴티티 정보일 수 있으며, 사용자 셀프 클레임에서는 사용자의 모든 아이덴티티들을 가공한 사용자 특정값이고, 아이덴티티 클레임에서는 적어도 하나의 특정 아이덴티티에 대응되는 클레임 타입, 즉 토픽의 종류일 수 있다. 그리고, 데이터는 타임 스탬프를 포함할 수 있으나, 이에 한정되지 않으며, 다양한 인증 확인 데이터를 포함할 수 있다. 이때, 인증 확인 데이터는 사용자의 아이덴티티들 및 이들을 가공한 값이 아니며, 사용자의 아이덴티티 각각을 인증하였다는 증거를 확인하기 위한 논스 등의 임의의 테이터를 포함할 수 있다. 또한, 데이터에는 사용자 아이디 등을 추가하여 보안성을 향상시킬 수 있다.Meanwhile, the user identities include feature information for identifying the user, and the feature information may be stored in the user terminal. In addition, user identities may include all user-related feature information, such as user name, date of birth, gender, nickname, phone number, e-mail address, biometric information, behavioral characteristics, hobbies, body features, and life patterns, and each through a topic. Characteristic information of can be classified by claim type, and topics can be added and deleted as needed. In addition, the owner may be a user ID generated by the method of FIG. 2A or 2B. In addition, the data may be identity information for a claim, a user specific value in which all the identities of the user are processed in the user self claim, and a claim type corresponding to at least one specific identity in the identity claim, that is, a kind of topic. . In addition, the data may include a time stamp, but is not limited thereto, and may include various authentication confirmation data. At this time, the authentication verification data is not the user's identities and the processed values, and may include arbitrary data such as nonce for confirming the evidence that each of the user's identities has been authenticated. In addition, security can be improved by adding a user ID to the data.

또한, 사용자 특정값은 사용자 아이덴티티들 각각에 대한 해시값들이 각각의 리프 노드들 중 적어도 일부에 할당된 머클트리의 루트 해시값일 수 있다. 이때, 사용자 특정값은 하나의 사용자 아이덴티티에 대한 해시값일 수도 있다.Further, the user specific value may be a root hash value of the Merkle tree in which hash values for each of the user identities are assigned to at least some of the respective leaf nodes. In this case, the user specific value may be a hash value for one user identity.

이후, 사용자 단말(100)은 생성된 사용자 셀프 클레임을 등록하기 위한 사용자 셀프 클레임 등록 요청 트랜잭션을 블록체인 네트워크로 전송(S12)한다. 이때, 사용자 셀프 클레임 등록 요청 트랜잭션은 사용자 셀프 클레임 데이터, 즉, 사용자 아이디, 사용자 아이덴티티들을 가공한 사용자 특정값, 및 사용자 아이디와 사용자 특정값을 사용자 프라이빗 키로 서명한 제2 사용자 서명값을 포함하는 사용자 셀프 클레임과, 사용자 셀프 클레임 데이터를 사용자 마스터 프라이빗 키로 서명한 제3 사용자 서명값을 포함할 수 있다.Thereafter, the user terminal 100 transmits a user self claim registration request transaction for registering the generated user self claim to the blockchain network (S12). At this time, the user self-claim registration request transaction includes a user self-claim data, that is, a user ID, a user specific value processed with user identities, and a user including a user ID and a second user signature value signed with the user specific value as a user private key It may include a self-claim and a third user signature value that signs the user self-claim data with a user master private key.

그러면, 블록체인 네트워크를 구성하는 다수의 블록체인 노드들 중 적어도 하나의 블록체인 노드(300)가 제3 사용자 서명값을 검증(S13)한다. 이때, 제3 사용자 서명값의 검증은 도 2a를 참조하여 설명한 것과 동일한 방법으로 수행할 수 있으며, 이하의 설명에서는 서명값의 검증에 대한 구체적인 방법은 생략하기로 한다.Then, at least one blockchain node 300 among the plurality of blockchain nodes constituting the blockchain network verifies the third user signature value (S13). At this time, verification of the third user signature value may be performed in the same manner as described with reference to FIG. 2A, and a detailed method for verifying the signature value will be omitted in the following description.

이후, 제3 사용자 서명값이 유효한 것으로 확인되면, 적어도 하나의 블록체인 노드(300)는 사용자 셀프 클레임에 포함된 제2 사용자 서명값을 검증(S14)한다.Thereafter, when it is determined that the third user signature value is valid, the at least one blockchain node 300 verifies the second user signature value included in the user self claim (S14).

그리고, 제2 사용자 서명값이 유효한 것으로 확인되면, 적어도 하나의 블록체인 노드(300)는 블록체인 네크워크의 분산원장에 등록된 사용자 아이디에 대응되는 사용자 스마트 컨트랙트를 실행하여 사용자 셀프 클레임 데이터에 대응하는 사용자 셀프 클레임이 분산원장에 등록(S15)되도록 하며, 분산원장에 사용자 셀프 클레임을 등록하기 위한 트랜잭션에 대응되는 사용자 셀프 클레임 트랜잭션 아이디를 사용자 단말(100)로 전송하여 준다(S18).And, when it is confirmed that the second user signature value is valid, at least one blockchain node 300 executes a user smart contract corresponding to the user ID registered in the distributed ledger of the blockchain network to correspond to the user self-claim data. The user self-claim is registered in the distributed ledger (S15), and the user self-claim transaction ID corresponding to the transaction for registering the user self-claim in the distributed ledger is transmitted to the user terminal 100 (S18).

그러면, 사용자 단말(100)은 사용자 셀프 클레임 트랜잭션 아이디를 이용하여 사용자 셀프 클레임이 분산원장에 등록되었는지를 확인하며, 블록체인 네트워크를 구성하는 블록체인 노드(300)들의 합의에 의해 사용자 셀프 클레임이 분산원장에 등록된 경우, 분산원장에서 사용자 셀프 클레임이 등록된 위치 정보인 사용자 셀프 클레임 어드레스, 즉, 사용자 셀프 클레임 아이디를 획득하게 된다.Then, the user terminal 100 checks whether the user self-claim is registered in the distributed ledger using the user self-claim transaction ID, and the user self-claim is distributed by agreement of the blockchain nodes 300 constituting the blockchain network. When registered in the ledger, the user self claim address, that is, the user self claim ID, which is the location information where the user self claim is registered in the distributed ledger is obtained.

한편, 도 3b를 참조하면, 사용자 단말(100)이 사용자 셀프 클레임 등록 요청 트랜잭션을 프록시 서버(150)로 전송(S12-1)하며, 프록시 서버(150)가 사용자 셀프 클레임 등록 요청 트랜잭션과, 사용자 셀프 클레임 등록 요청 트랜잭션을 프록시 서버 마스터 프라이빗 키로 서명한 제2 프록시 서버 서명값을 블록체인 네트워크로 전송(S12-2)하게 된다. 그러면, 블록체인 네트워크를 구성하는 다수의 블록체인 노드들 중 적어도 하나의 블록체인 노드(300)는 제2 프록시 서버 서명값을 검증(S13-1)하고, 제2 프록시 서버 서명값이 유효하면 제2 사용자 서명값을 검증(S14)하게 된다. 이때, 적어도 하나의 블록체인 노드(300)가 제2 사용자 서명값을 검증하였으나, 이와는 달리, 프록시 서버(150)가 제2 사용자 서명값을 검증할 수도 있다.On the other hand, referring to Figure 3b, the user terminal 100 transmits a user self claim registration request transaction to the proxy server 150 (S12-1), the proxy server 150 is a user self claim registration request transaction, the user The second proxy server signature value, which signed the self-claim registration request transaction with the proxy server master private key, is transmitted to the blockchain network (S12-2). Then, at least one blockchain node 300 among the plurality of blockchain nodes constituting the blockchain network verifies the second proxy server signature value (S13-1), and if the second proxy server signature value is valid, 2 The user signature value is verified (S14). At this time, at least one blockchain node 300 has verified the second user signature value. Alternatively, the proxy server 150 may verify the second user signature value.

또한, 적어도 하나의 블록체인 노드(300)는 사용자 셀프 클레임 트랜잭션 아이디를 프록시 서버(150)로 전송(S16-1)하여 주며, 프록시 서버(150)는 사용자 셀프 클레임 트랜잭션 아이디를 사용자 단말(100)로 전송(S16-2)하여, 사용자 단말(100)이 사용자 셀프 클레임 아이디를 획득하도록 할 수 있다.In addition, at least one blockchain node 300 transmits the user self-claim transaction ID to the proxy server 150 (S16-1), and the proxy server 150 sends the user self-claim transaction ID to the user terminal 100 By transmitting to (S16-2), the user terminal 100 may obtain a user self-claim ID.

이를 통해, 도 3a에서는 사용자 단말(100)이 트랜잭션 피를 지급하였으나, 도 3b에서는 프록시 서버(150)가 사용자 단말(100)을 대신하여 트랜잭션 피를 지급하도록 할 수 있다.Through this, in FIG. 3A, the user terminal 100 has paid transaction blood, but in FIG. 3B, the proxy server 150 may allow the transaction payment to be made on behalf of the user terminal 100.

도 4a를 참조하여 본 발명의 일 실시예에 따른 블록체인 네트워크를 이용하여 사용자 아이덴티티를 관리하는 방법에서 사용자 키를 추가 및 삭제하는 방법을 설명한다.A method of adding and deleting user keys in a method for managing user identity using a blockchain network according to an embodiment of the present invention will be described with reference to FIG. 4A.

본 발명의 일 실시예에 따른 블록체인 네트워크를 이용하여 사용자 아이덴티티를 관리하는 방법에서는 사용자 어드레스를 이용하여 사용자 프라이빗 키를 생성하게 되며, 키의 사용 목적에 따라 각각의 사용자 키를 추가하거나 삭제할 수 있다. 그리고, 각각의 목적에 대응되는 사용자 키에 대해서만 해당하는 목적의 동작을 수행하도록 할 수 있다.In a method of managing user identity using a blockchain network according to an embodiment of the present invention, a user private key is generated using a user address, and each user key can be added or deleted according to the purpose of using the key. . In addition, it is possible to perform an operation of a corresponding purpose only for a user key corresponding to each purpose.

사용자가 사용자 단말(100)의 사용자 아이덴티티 관리 앱을 통해 사용자 어드레스 및 키 목적을 포함하는 사용자 키 추가 또는 삭제 요청 데이터와 이를 사용자 마스터 프라이빗 키로 서명한 사용자 서명값을 포함하는 사용자 키 추가 또는 삭제 요청 트랜잭션을 전송(S21)을 전송하면, 적어도 하나의 블록체인 노드(300)가 사용자 서명값을 검증(S22)한다.A user key addition or deletion request transaction including a user key addition or deletion request data including a user address and a key purpose and a user signature value signed by the user master private key through the user identity management app of the user terminal 100 When transmitting (S21), at least one blockchain node 300 verifies the user signature value (S22).

이때, 사용자 서명값이 유효한 것으로 확인되면, 적어도 하나의 블록체인 노드(300)는 분산원장 상의 사용자 키 리스트에서 키 목적에 따른 사용자 키를 추가하거나 키 리스트에 등록된 사용자 키를 삭제하도록 한다(S23).At this time, if it is confirmed that the user signature value is valid, the at least one blockchain node 300 adds the user key according to the key purpose from the user key list on the distributed ledger or deletes the user key registered in the key list (S23). ).

그리고, 적어도 하나의 블록체인 노드(300)는 사용자 키 추가 또는 삭제 요청 트랜잭션을 분산원장에 등록하기 위한 트랜잭션 아이디를 사용자 단말(100)로 전송(S24)하여 준다.Then, the at least one blockchain node 300 transmits the transaction ID for registering the transaction for adding or deleting the user key to the distributed ledger to the user terminal 100 (S24).

그러면, 사용자 단말(100)은 트랜잭션 아이디를 이용하여 요청한 사용자 키가 분산원장에서 추가 또는 삭제되었는지를 확인(S25)하고, 블록체인 네트워크의 분산원장으로부터의 결과 정보를 전송받음(S26)으로써 분산원장에서 요청한 사용자 키가 추가 또는 삭제되었는지에 대한 결과를 확인할 수 있게 된다. 이때, 사용자 어드레스는 최초에는 디폴트로 모든 목적의 키 리스트에 등록될 수 있으며, 사용자 키 추가에 따라 해당하는 목적의 각각 다른 사용자 어드레스가 각각의 목적의 키 리스트에 등록될 수 있다.Then, the user terminal 100 confirms whether the requested user key is added or deleted from the distributed ledger using the transaction ID (S25), and receives the result information from the distributed ledger of the blockchain network (S26). In result, it is possible to check the result of whether the requested user key is added or deleted. At this time, the user address may initially be registered in the key list for all purposes by default, and different user addresses for the corresponding purpose may be registered in the key list for each purpose according to the addition of the user key.

또한, 도 4b를 참조하면, 사용자 단말(100)이 사용자 키 추가 또는 삭제 요청 트랜잭션을 프록시 서버(150)로 전송(S21-1)하면, 프록시 서버가 사용자 키 추가 또는 삭제 요청 트랜잭션과, 이를 프록시 서버 마스터 프라이빗 키로 서명한 프록시 서버 서명값을 블록체인 네트워크로 전송(S21-2)하게 되며, 블록체인 네트워크를 구성하는 다수의 블록체인 노드들 중 적어도 하나의 블록체인 노드(300)가 프록시 서버 서명값을 검증(S21-3)하여 유효한 것으로 판단되면 사용자 키를 추가하거나 삭제하게 된다(S23). 이때, 사용자 키 추가 또는 삭제 요청 트랜잭션에 포함된 사용자 서명값은 프록시 서버(150)가 검증하거나, 적어도 하나의 블록체인 노드(300)가 검증할 수 있다.In addition, referring to FIG. 4B, when the user terminal 100 transmits a transaction for adding or deleting a user key to the proxy server 150 (S21-1), the proxy server proxies the transaction for adding or deleting a user key and the same. The proxy server signature value signed with the server master private key is transmitted to the blockchain network (S21-2), and at least one blockchain node 300 among the plurality of blockchain nodes constituting the blockchain network is signed by the proxy server. If it is determined that the value is valid by verifying the value (S21-3), the user key is added or deleted (S23). At this time, the user signature value included in the user key addition or deletion request transaction may be verified by the proxy server 150 or at least one blockchain node 300.

또한, 적어도 하나의 블록체인 노드(300)는 트랜잭션 아이디를 프록시 서버(150)로 전송(S24-1)하여 주며, 프록시 서버(150)가 트랜잭션 아이디를 사용자 단말(100)로 전송(S24-2)하여 줌으로써 사용자 단말(100)이 트랜잭션 아이디를 이용하여 사용자 키의 추가 또는 삭제된 결과를 확인할 수 있도록 한다.In addition, at least one blockchain node 300 transmits the transaction ID to the proxy server 150 (S24-1), and the proxy server 150 transmits the transaction ID to the user terminal 100 (S24-2) ) To allow the user terminal 100 to confirm the result of the addition or deletion of the user key using the transaction ID.

이를 통해, 도 4a에서는 사용자 단말(100)이 트랜잭션 피를 지급하였으나, 도 4b에서는 프록시 서버(150)가 사용자 단말(100)을 대신하여 트랜잭션 피를 지급하도록 할 수 있다.Through this, in FIG. 4A, the user terminal 100 has paid transaction blood, but in FIG. 4B, the proxy server 150 may allow the transaction payment for the user terminal 100.

도 5a를 참조하여 본 발명의 일 실시예에 따른 블록체인 네트워크를 이용하여 사용자 아이덴티티를 관리하는 방법에서 사용자 데이터를 백업하는 방법을 설명한다.A method of backing up user data in a method of managing user identity using a blockchain network according to an embodiment of the present invention will be described with reference to FIG. 5A.

사용자 데이터 백업은 사용자 단말(100)에 설치된 사용자 아이덴티티 관리 앱이 삭제되거나 관리할 수 없을 경우, 사용자가 검증받은 데이터를 복구할 수 있도록 하기 위하여 사용자 아이덴티티들 및 사용자 키들을 IPFS(InterPlanetary File System) 등과 같은 분산저장 시스템, 이메일, 개인 저장 공간에 저장하는 것일 수 있다.User data backup is performed when the user identity management app installed in the user terminal 100 is deleted or cannot be managed. In order to enable the user to recover the verified data, the user identities and user keys are IPFS (InterPlanetary File System), etc. It may be stored in the same distributed storage system, email, or personal storage space.

사용자는 사용자 단말(100)의 사용자 아이덴티티 앱을 통해 백업 하고자 하는 사용자 데이터, 일 예로, 사용자 아이덴티티들과 사용자 키들을 사용자 퍼블릭 키로 암호화하여 암호화된 사용자 데이터를 생성(S31)한다.The user generates encrypted user data by encrypting user data to be backed up through the user identity app of the user terminal 100, for example, user identities and user keys with a user public key (S31).

그리고, 사용자 단말(100)은 생성된 암호화된 사용자 데이터를 분산저장 시스템으로 전송하여 암호화된 사용자 데이터 등록 요청(S32)을 하며, 이에 따라 분산저장 시스템을 구성하는 다수의 분산저장 서버 중 적어도 하나의 분산저장 서버(400)는 암호화된 사용자 데이터를 분산저장 시스템에 등록(S33)하게 된다.Then, the user terminal 100 transmits the generated encrypted user data to the distributed storage system to request an encrypted user data registration (S32), and accordingly, at least one of a plurality of distributed storage servers constituting the distributed storage system. The distributed storage server 400 registers the encrypted user data in the distributed storage system (S33).

이후, 분산저장 서버(400)는 분산저장 시스템에 등록된 암호화된 사용자 데이터의 위치 정보인 파일 아이디를 사용자 단말(100)로 전송(S34)하여 준다.Thereafter, the distributed storage server 400 transmits the file ID, which is the location information of the encrypted user data registered in the distributed storage system, to the user terminal 100 (S34).

이와는 달리, 사용자는 사용자 단말(100)의 사용자 아이덴티티 앱을 통해 백업하고자 하는 사용자 데이터를 사용자 퍼블릭 키로 암호화하여 암호화된 사용자 데이터를 생성하고, 암호화된 사용자 데이터를 이메일, 개인 저장 공간 등에 저장할 수 있다. 이때, 개인 저장 공간은 웹 하드, 클라우드 하드, 메모리 카드, 사용자 단말의 저장 공간 등을 포함할 수 있으나, 이에 한정되지 않으며, 사용자가 액세스할 수 있는 모든 저장 공간을 포함할 수 있다.Alternatively, the user may encrypt user data to be backed up through the user identity app of the user terminal 100 with a user public key to generate encrypted user data, and store the encrypted user data in an email, personal storage space, and the like. At this time, the personal storage space may include a web hard, a cloud hard, a memory card, a storage space of a user terminal, and the like, but is not limited thereto, and may include all storage spaces accessible by a user.

그러면, 사용자 단말(100)은 사용자 아이디와 파일 아이디를 포함하는 사용자 셀프 클레임을 생성(S35)한다.Then, the user terminal 100 generates a user self-claim including a user ID and a file ID (S35).

그리고, 도 3a에서와 같은 방법에 의해, 사용자 단말(100)은 블록체인 네트워크로 사용자 셀프 클레임 등록 요청(S36)을 하며, 블록체인 네트워크를 구성하는 적어도 하나의 블록체인 노드(300)는 파일 아이디에 대한 사용자 셀프 클레임을 분산원장에 등록(S37)하게 된다. 이후, 사용자 단말(100)은 사용자 셀프 클레임 아이디를 확인(S38)함으로써 등록 결과를 확인할 수 있게 된다.And, by the same method as in Figure 3a, the user terminal 100 makes a user self claim registration request (S36) to the blockchain network, the at least one blockchain node 300 constituting the blockchain network is the file ID The user's self-claim for is registered in the distributed ledger (S37). Thereafter, the user terminal 100 may check the registration result by checking the user self-claim ID (S38).

또한, 도 5b를 참조하면, 사용자 단말(100)은 프록시 서버(150)로 암호화된 사용자 데이터 등록 요청(S32-1)을 하고, 프록시 서버(15)가 분산저장 시스템으로 암호화된 사용자 데이터 등록 요청(S32-2)을 하며, 이에 따라 분산저장 시스템을 구성하는 다수의 분산저장 서버 중 적어도 하나의 분산저장 서버(400)가 암호화된 사용자 데이터를 분산저장 시스템에 등록(S33)하게 된다.In addition, referring to FIG. 5B, the user terminal 100 makes a request for registering encrypted user data with the proxy server 150 (S32-1), and the proxy server 15 requests for registering user data encrypted with the distributed storage system. (S32-2), and accordingly, at least one distributed storage server 400 among the multiple distributed storage servers constituting the distributed storage system registers the encrypted user data in the distributed storage system (S33).

그리고, 분산저장 서버(400)는 분산저장 시스템에 등록된 암호화된 사용자 데이터의 위치 정보인 파일 아이디를 프록시 서버(150)로 전송(S34-1)하고, 프록시 서버(150)가 파일 아이디를 사용자 단말(100)로 전송(S34-2)하여 준다.Then, the distributed storage server 400 transmits the file ID which is the location information of the encrypted user data registered in the distributed storage system to the proxy server 150 (S34-1), and the proxy server 150 uses the file ID. It transmits to the terminal 100 (S34-2).

이와는 달리, 사용자는 사용자 단말(100)의 사용자 아이덴티티 앱을 통해 백업하고자 하는 사용자 데이터를 사용자 퍼블릭 키로 암호화하여 암호화된 사용자 데이터를 생성하고, 암호화된 사용자 데이터를 이메일, 개인 저장 공간 등에 저장할 수 있다. 이때, 개인 저장 공간은 웹 하드, 클라우드 하드, 메모리 카드, 사용자 단말의 저장 공간 등을 포함할 수 있으나, 이에 한정되지 않으며, 사용자가 액세스할 수 있는 모든 저장 공간을 포함할 수 있다.Alternatively, the user may encrypt user data to be backed up through the user identity app of the user terminal 100 with a user public key to generate encrypted user data, and store the encrypted user data in an email, personal storage space, and the like. At this time, the personal storage space may include a web hard, a cloud hard, a memory card, a storage space of a user terminal, and the like, but is not limited thereto, and may include all storage spaces accessible by a user.

또한, 도 3b에서와 같은 방법에 의해, 사용자 단말(100)은 프록시 서버(150)로 사용자 셀프 클레임 등록 요청(S36-1)하고, 프록시 서버(150)가 블록체인 네트워크로 사용자 셀프 클레임 등록 요청(S36-2)을 한다.In addition, by the same method as in FIG. 3B, the user terminal 100 requests the user self claim registration to the proxy server 150 (S36-1), and the proxy server 150 requests the user self claim registration to the blockchain network. (S36-2).

이를 통해, 도 5a에서는 사용자 단말(100)이 트랜잭션 피를 지급하였으나, 도 5b에서는 프록시 서버(150)가 사용자 단말(100)을 대신하여 트랜잭션 피를 지급하도록 할 수 있다.Through this, in FIG. 5A, the user terminal 100 has paid transaction blood, but in FIG. 5B, the proxy server 150 may allow the transaction payment to be made on behalf of the user terminal 100.

도 6을 참조하여 본 발명의 일 실시예에 따른 블록체인 네트워크를 이용하여 사용자 아이덴티티를 관리하는 방법에서 사용자 데이터를 복구하는 방법을 설명한다.A method of recovering user data in a method of managing user identity using a blockchain network according to an embodiment of the present invention will be described with reference to FIG. 6.

사용자가 사용자 아이덴티티들에 대한 사용자 데이터의 복구를 위하여, 사용자 단말(100)의 사용자 아이덴티티 관리 앱을 통해 블록체인 네트워크로 사용자 셀프 클레임 아이디 확인 요청(S41)을 한다. 이때, 확인하고자 하는 사용자 셀프 클레임은 도 5a에서와 같은 방법에 의해 등록한 파일 아이디에 대응되는 사용자 셀프 클레임일 수 있다.In order to recover the user data for the user identities, the user makes a user self-claim ID verification request (S41) to the blockchain network through the user identity management app of the user terminal 100. In this case, the user self-claim to be checked may be a user self-claim corresponding to the file ID registered by the method as shown in FIG. 5A.

그러면, 블록체인 네트워크를 구성하는 적어도 하나의 블록체인 서버(300)는 사용자 스마트 컨트랙트를 실행하여 분산원장에 등록된 사용자 클레임들 중 파일 아이디와 관련하여 등록된 사용자 셀프 클레임 아이디를 확인하고, 사용자 단말(100)로 사용자 셀프 클레임 아이디를 전송(S42)하여 준다.Then, at least one blockchain server 300 constituting the blockchain network executes a user smart contract to check the registered user self-claim ID in relation to the file ID among the user claims registered in the distributed ledger, and the user terminal The user self-claim ID is transmitted to (100) (S42).

그리고, 사용자 단말(100)은 확인된 사용자 셀프 클레임 아이디를 이용하여 블록체인 네트워크로 사용자 셀프 클레임에 대한 확인 요청(S43)을 하며, 그에 따라 블록체인 네트워크를 구성하는 적어도 하나의 블록체인 노드(300)는 사용자 스마트 컨트랙트를 실행하여 사용자 셀프 클레임에 포함된 파일 아이디를 사용자 단말(100)로 전송(S44)하여 준다.Then, the user terminal 100 makes a request for confirmation of the user self-claim (S43) to the blockchain network using the verified user self-claim ID, and accordingly at least one blockchain node (300) constituting the blockchain network ) Executes the user smart contract and transmits the file ID included in the user self-claim to the user terminal 100 (S44 ).

그러면, 사용자 단말(100)은 획득된 파일 아이디를 이용하여 분산저장 시스템으로 파일 아이디에 대응되는 암호화된 사용자 데이터를 요청(S45)하며, 분산저장 시스템의 적어도 하나의 분산저장 서버(400)는 파일 아이디에 대응되는 암호화된 사용자 데이터를 확인하고, 확인된 암호화된 사용자 데이터를 사용자 단말(100)로 전송(S46)하여 준다.Then, the user terminal 100 requests the encrypted user data corresponding to the file ID to the distributed storage system using the obtained file ID (S45), and at least one distributed storage server 400 of the distributed storage system is a file The encrypted user data corresponding to the ID is checked, and the checked encrypted user data is transmitted to the user terminal 100 (S46).

이와는 달리, 암호화된 사용자 데이터를 이메일, 개인 저장 공간 등에 저장한 경우, 사용자는 사용자 단말(100)을 통해 이메일, 개인 저장 공간 등으로부터 직접적으로 암호화된 사용자 데이터를 획득할 수 있다.Unlike this, when the encrypted user data is stored in an email, a personal storage space, or the like, the user may directly obtain encrypted user data from an email, a personal storage space, etc. through the user terminal 100.

그리고, 사용자 단말(100)은 획득된 암호화된 사용자 데이터를 사용자 프라이빗 키로 복호화하여 사용자 데이터를 획득하게 하며, 이를 통해 사용자 데이터를 복구(S47)하게 된다.Then, the user terminal 100 decrypts the obtained encrypted user data with a user private key to obtain user data, and thereby recovers the user data (S47).

상기에서는 사용자 단말(100)이 직접적으로 분산저장 시스템 및 블록체인 네트워크와 통신을 하였으나, 이와는 달리, 상기에서와 같은 방법에 의해 프록시 서버를 통해 통신을 중개할 수도 있다.In the above, the user terminal 100 directly communicates with the distributed storage system and the blockchain network. Alternatively, the user terminal 100 may mediate communication through a proxy server by the same method as above.

도 7a를 참조하여 본 발명의 일 실시예에 따른 블록체인 네트워크를 이용하여 사용자 아이덴티티를 관리 방법에서 특정 아이덴티티 클레임을 등록하는 방법을 설명한다.A method of registering a specific identity claim in a method of managing a user identity using a blockchain network according to an embodiment of the present invention will be described with reference to FIG. 7A.

도 2a와 도 3a에서와 같은 방법에 의해 사용자들 및 인증기관들의 아이덴티티들에 대한 클레임을 생성하도록 하는 클레임 스마트 컨트렉트가 사용자들 및 인증기관들에 대응하여 각각 사용자 스마트 컨트랙트들과 인증기관 스마트 컨트랙트들로 다수의 블록체인 노드들에 의해 구성되는 블록체인 네트워크의 분산원장에 등록되며, 사용자 스마트 컨트랙트들 및 인증기관 스마트 컨트랙트들에 대한 분산원장 상의 어드레스들이 사용자들 및 인증기관들의 아이디들로 관리되고, 사용자들에 각각 대응되는 사용자 아이덴티티들을 가공한 사용자 특정값들을 포함하는 각각의 사용자 셀프 클레임들이 분산원장에 등록된 상태에서, 특정 사용자 단말(100)로부터 인증기관들의 리스트 요청(S51)이 획득되면, 적어도 하나의 블록체인 노드(300)는 분산원장에 등록된 인증기관들의 리스트를 특정 사용자 단말(100)로 전송(S52)하여 준다. 그러면, 특정 사용자 단말(100)은 인증기관 리스트에서 사용자가 특정 사용자 아이덴티티에 대한 인증을 수행할 특정 인증기관을 선택할 수 있도록 하며, 사용자에 의해 특정 인증기관이 선택되면, 선택된 특정 인증기관 서버(200)로 특정 인증기관에 대한 정보를 요청(S53)한다.Claims smart contracts to generate claims for the identities of users and certification authorities by the same method as in FIGS. 2A and 3A correspond to users and certification authorities, respectively, user smart contracts and certification authority smart Registered in the distributed ledger of the blockchain network composed of multiple blockchain nodes as contracts, and the addresses on the distributed ledger for user smart contracts and certification authorities smart contracts are managed by the IDs of users and certification authorities In the state in which each user self-claim including user-specific values processed by user identities corresponding to the users is registered in the distributed ledger, a list request of authentication authorities (S51) is obtained from the specific user terminal 100 If it does, the at least one blockchain node 300 transmits a list of authentication agencies registered in the distributed ledger to the specific user terminal 100 (S52). Then, the specific user terminal 100 allows the user to select a specific certification authority to perform authentication for a specific user identity in the certification authority list, and when a specific certification authority is selected by the user, the selected specific certification authority server 200 ) To request information about a specific certification authority (S53).

그리고, 특정 인증기관 서버(200)는 사용자 단말(100)로부터의 정보 요청에 대응하여 자신의 정보, 즉, 특정 인증기관 정보를 사용자 단말(100)로 전송(S54)하여 준다, 이때, 특정 인증기관 서버(200)는 서버에 저장하고 있는 인증기관 정보를 전송하여 주거나, 블록체인 네트워크 또는 분산저장 시스템에 등록된 특정 인증기관 정보에 대한 접근 키를 전송하여 줌으로써 사용자 단말(100)이 접근 키를 통해 블록체인 네트워크 또는 분산저장 시스템에서 특정 인증기관 정보를 획득할 수 있도록 할 수 있다. 그리고, 특정 인증기관 정보는 인증기관에 대한 정보 및 인증 가능한 사용자 아이덴티티들에 대한 정보를 포함할 수 있으나, 이에 한정되는 것은 아니다.Then, the specific certification authority server 200 transmits (S54) its own information, that is, specific certification authority information to the user terminal 100 in response to a request for information from the user terminal 100 (S54). The authority server 200 transmits the authentication key information stored in the server, or transmits the access key for the specific authentication authority information registered in the blockchain network or distributed storage system, so that the user terminal 100 accesses the access key. Through this, it is possible to obtain specific certification authority information from a blockchain network or a distributed storage system. Further, the specific certification authority information may include information about the certification authority and information about authenticable user identities, but is not limited thereto.

그러면, 특정 사용자 단말(100)은 특정 사용자에 의해 선택된 특정 아이덴티티에 대한 인증을 위하여 특정 인증기관 서버(200)로 특정 사용자 특정 아이덴티티 클레임 등록 요청을 전송(S55)한다. 이때, 특정 사용자 특정 아이덴티티 클레임 등록 요청에는 특정 사용자 아이디, 특정 사용자 아이덴티티들 중 인증을 위한 특정 사용자 특정 아이덴티티, 및 특정 사용자 아이덴티티들을 가공한 제1 특정 사용자 특정값이 포함될 수 있다. 그리고, 제1 특정 사용자 특정값은 특정 사용자 아이덴티티들 각각에 대한 해시값들이 각각의 리프 노드들 중 적어도 일부에 할당된 머클트리의 루트 해시값일 수 있으며, 특정 사용자 특정 아이덴티티 클레임 등록 요청에는 머클트리 정보가 포함될 수 있다. 이때, 특정 사용자 특정 아이덴티티 클레임 등록 요청에는 인증 확인 데이터, 일 예로, 타임 스탬프, 논스 등이 포함될 수 있다.Then, the specific user terminal 100 transmits a specific user specific identity claim registration request to the specific certification authority server 200 for authentication for the specific identity selected by the specific user (S55). At this time, the request for registering a specific user-specific identity claim may include a specific user ID, a specific user-specific identity for authentication among specific user identities, and a first specific user-specific value processed by specific user identities. In addition, the first specific user specific value may be a root hash value of the Merkle tree in which hash values for each of the specific user identities are assigned to at least some of the respective leaf nodes, and the Merkle tree information is requested in the specific user specific identity claim registration request. May be included. At this time, the request for registering a specific user-specific identity claim may include authentication confirmation data, for example, a time stamp, nonce, and the like.

한편, 특정 사용자 단말(100)이 특정 사용자에 의해 선택된 특정 아이덴티티에 대한 인증을 위하여 특정 인증기관 서버(200)로 특정 사용자 특정 아이덴티티 클레임 등록 요청을 하는 것과는 달리, 특정 사용자는 특정 인증기관 서버(200)에 저장되어 있는 특정 사용자 특정 아이덴티티에 대한 인증을 요청할 수 있으며, 이때, 특정 인증기관 서버(200)는 특정 사용자 단말(100)로 저장되어 있는 특정 사용자 특정 아이덴티티를 전송하여 줌으로써 특정 사용자 단말(100)이 특정 사용자 특정 아이덴티티에 대한 특정 사용자 특정 아이덴티티 클레임 등록 요청을 하도록 할 수도 있다. 일 예로, 특정 인증기관 서버(200)는 제1 특정 사용자 특정값을 가지고 있지 않으므로 사용자 단말(100)로 특정 사용자 특정 아이덴티티를 전송함으로써 특정 사용자 특정 아이덴티티에 대응하는 제1 특정 사용자 특정값을 전송하도록 할 수 있다.On the other hand, unlike the specific user terminal 100 requests a specific user specific identity claim registration to the specific certification authority server 200 for authentication for a specific identity selected by the specific user, the specific user is a specific certification authority server 200 ) May request authentication for a specific user-specific identity, and at this time, the specific certification authority server 200 transmits a specific user-specific identity stored in the specific user terminal 100 to transmit a specific user-specific identity. ) May request a specific user-specific identity claim registration for a specific user-specific identity. As an example, since the specific certification authority server 200 does not have a first specific user specific value, the specific specific user specific value corresponding to the specific user specific identity is transmitted by transmitting the specific user specific identity to the user terminal 100. can do.

그리고, 특정 인증기관 서버(200)는 특정 사용자 단말(100)로부터의 특정 사용자 특정 아이덴티티 클레임 등록 요청에 대응하여, 블록체인 네트워크로 특정 사용자 아이디에 대응되는 특정 사용자 셀프 클레임에 대한 특정 사용자 셀프 클레임 아이디에 대한 확인을 요청(S56)한다.Then, the specific certification authority server 200 responds to a request for registering a specific user-specific identity claim from the specific user terminal 100, and a specific user self-claim ID for a specific user self-claim corresponding to a specific user ID through the blockchain network Request for confirmation (S56).

그러면, 블록체인 네트워크를 구성하는 다수의 블록체엔 노드들 중 적어도 하나의 블록체인 노드(300)가, 특정 사용자 스마트 컨트랙트를 실행하여 분산원장에 등록된 특정 사용자 셀프 클레임에 대응되는 특정 사용자 셀프 클레임 아이디를 확인하여 특정 인증기관 서버(200)로 전송(S57)하여 준다. 이때, 적어도 하나의 블록체인 노드(300)는 특정 사용자에 대응되는 클레임들에서 셀프 클레임에 해당하는 클레임을 확인함으로써 특정 사용자 셀프 클레임 아이디를 확인할 수 있게 된다.Then, at least one blockchain node 300 among a plurality of blockchain nodes constituting the blockchain network executes a specific user smart contract to execute a specific user self claim corresponding to a specific user self claim registered in the distributed ledger. Check the ID and send it to the specific certification authority server 200 (S57). At this time, the at least one blockchain node 300 can identify the specific user self-claim ID by checking the claim corresponding to the self-claim from claims corresponding to the specific user.

이후, 특정 인증기관 서버(200)는 특정 사용자 셀프 클레임 아이디를 이용하여 분산원장에 등록된 특정 사용자 셀프 클레임을 확인(S58)하여 특정 사용자 셀프 클레임에 포함된 제2 특정 사용자 특정값을 획득(S59)할 수 있다.Then, the specific certification authority server 200 confirms the specific user self-claim registered in the distributed ledger using the specific user self-claim ID (S58) to obtain a second specific user specific value included in the specific user self-claim (S59) )can do.

그리고, 특정 인증기관 서버(200)는 특정 사용자 단말(100)로부터의 특정 사용자 특정 아이덴티티 클레임 등록 요청에 포함된 제1 특정 사용자 특정값과 분산원장의 특정 사용자 셀프 클레임에 포함된 제2 특정 사용자 특정값이 일치하는지를 확인하고, 제1 특정 사용자 특정값과 제2 특정 사용자 특정값이 일치하면 특정 사용자 특정 아이덴티티를 검증(S60)한다.Then, the specific certification authority server 200 includes the first specific user specific value included in the specific user specific identity claim registration request from the specific user terminal 100 and the second specific user specified in the specific user self claim of the distributed ledger. It is checked whether the values match, and if the first specific user specific value and the second specific user specific value match, the specific user specific identity is verified (S60 ).

일 예로, 제1 특정 사용자 특정값이 특정 사용자 아이덴티티들 각각에 대한 해시값들을 리프 노드로 하는 머클트리의 루트 해시값일 경우, 특정 사용자 특정 아이덴티티 클레임 등록 요청에 포함된 제1 루트 해시값과 분산원장의 특정 사용자 셀프 클레임에 포함된 제2 루트 해시값이 동일한지 확인하며, 제1 루트 해시값과 제2 루트 해시값이 동일한 경우, 머클트리 정보와 특정 사용자 특정 아이덴티티의 해시값을 이용하여 비교 대상 루트 해시값을 생성하고, 생성된 비교 대상 해시값이 제1 루트 해시값과 동일한지 확인하여 특정 사용자 특정 아이덴티티가 특정 사용자의 정보인지를 확인한다. 그리고, 특정 아이덴티티가 정확하지를 검증한다. 이때, 특정 아이덴티티의 검증은 특정 인증기관 서버(200)가 수행하는 것으로, 특정 사용자 특정 아이덴티티가 특정 사용자의 특징 정보와 일치하는 지를 확인하여 인증하여 줄 수 있다. 예를 들어, 특정 아이덴티티가 전화번호일 경우 일반적인 전화번호 인증을 수행하여 해당 전화번호가 특정 사용자의 전화번호와 일치하는 지 확인한다.As an example, when the first specific user specific value is a root hash value of the Merkle tree using hash values for each of the specific user identities as leaf nodes, the first root hash value and the distributed ledger included in the specific user specific identity claim registration request Checks whether the second root hash value included in the specific user self-claim of is the same, and when the first root hash value and the second root hash value are the same, is compared by using the merkle tree information and the hash value of the specific user specific identity A root hash value is generated, and whether the generated comparison hash value is the same as the first root hash value determines whether a specific user specific identity is information of a specific user. Then, it is verified that the specific identity is not correct. At this time, the verification of the specific identity is performed by the specific certification authority server 200, and may be verified by confirming whether the specific user specific identity matches the characteristic information of the specific user. For example, if a specific identity is a phone number, normal phone number authentication is performed to check whether the corresponding phone number matches a specific user's phone number.

그리고, 특정 사용자 특정 아이덴티티가 검증되면, 특정 인증기관 서버(200)는 특정 사용자 특정 아이덴티티 클레임을 생성(S61)한다.Then, when the specific user-specific identity is verified, the specific certification authority server 200 generates a specific user-specific identity claim (S61).

이때, 특정 사용자 특정 아이덴티티 클레임은 특정 인증기관 서버(200)에 대응되는 특정 인증기관 아이디, 특정 사용자 특정 아이덴티티에 대응되는 특정 클레임 타입, 및 특정 사용자 아이디와 특정 클레임 타입을 특정 인증기관 서버의 프라이빗 키로 서명한 제1 특정 인증기관 서명값을 포함할 수 있다. 이때, 특정 사용자 특정 아이덴티티 클레임은 인증 확인 데이터, 일 예로, 타임 스탬프, 논스 등을 포함할 수 있으며, 제1 특정 인증기관 서명값은 인증 확인 데이터를 추가하여 서명한 것일 수 있다.At this time, the specific user specific identity claim is a specific certification authority ID corresponding to a specific certification authority server 200, a specific claim type corresponding to a specific user specific identity, and a specific user ID and a specific claim type as a private key of the specific certification authority server. It may include a signed first specific certification authority signature value. In this case, the specific user specific identity claim may include authentication verification data, for example, a time stamp, nonce, etc., and the first specific certification authority signature value may be signed by adding authentication verification data.

일 예로, 특정 사용자 특정 아이덴티티 클레임은, 1. 토픽, 2. scheme, 3. 소유자, 4, 서명값, 5. 데이터의 포멧으로 생성될 수 있다. 이때, 토픽은 사용자 아이덴티티들과 관련한 클레임의 타입, scheme은 사용되는 암호화 알고리즘, 소유자는 클레임을 생성하는 주체, 서명값은 주체의 서명값, 데이터는 인증 확인 데이터일 수 있다.For example, a specific user-specific identity claim may be generated in a format of 1. topic, 2. scheme, 3. owner, 4, signature value, 5. data. At this time, the topic may be the type of claims related to user identities, the scheme is the encryption algorithm used, the owner is the subject generating the claim, the signature value is the subject's signature value, and the data is authentication verification data.

이후, 특정 인증기관 서버(200)는 생성된 특정 사용자 특정 아이덴티티 클레임을 등록하기 위한 특정 사용자 특정 아이덴티티 클레임 등록 요청 트랜잭션을 블록체인 네트워크로 전송(S62)한다. 이때, 특정 사용자 특정 아이덴티티 클레임 등록 요청 트랜잭션은 특정 사용자 특정 아이덴티티 클레임과 특정 사용자 특정 아이덴티티 클레임을 특정 인증기관의 마스터 프라이빗 키로 서명한 제2 특정 인증기관 서명값을 포함할 수 있다.Thereafter, the specific certification authority server 200 transmits a request for registering a specific user-specific identity claim to register the generated specific user-specific identity claim to the blockchain network (S62). At this time, the specific user specific identity claim registration request transaction may include a specific user specific identity claim and a second specific certification authority signature value signed by the specific user authority identity claim with the master private key of the specific certification authority.

그러면, 블록체인 네트워크의 적어도 하나의 블록체인 노드(300)는 제2 특정 인증기관 서명값을 검증한다. 이에 더하여 적어도 하나의 블록체인 노드(300)는 제2 특정 인증기관 서명값이 유효한 경우, 특정 사용자 특정 아이덴티티 클레임에 포함된 제2 특정 인증기관 서명값을 검증할 수 있다.Then, at least one blockchain node 300 of the blockchain network verifies the signature value of the second specific certification authority. In addition, when the second specific certification authority signature value is valid, the at least one blockchain node 300 may verify the second specific certification authority signature value included in the specific user-specific identity claim.

그리고, 적어도 하나의 블록체인 노드(300)는 분산원장에 등록된 특정 사용자 스마트 컨트랙트를 실행하여 특정 사용자 특정 아이덴티티 클레임이 분산원장에 등록(S63)되도록 하며, 특정 사용자 특정 아이덴티티 클레임을 분산원장에 등록하도록 하는 특정 사용자 특정 아이덴티티 클레임 등록 트랜잭션에 대응되는 특정 사용자 특정 아이덴티티 클레임 등록 트랜잭션 아이디를 특정 인증기관 서버(200)로 전송(S64)하여 준다.And, the at least one blockchain node 300 executes a specific user smart contract registered in the distributed ledger so that the specific user specific identity claim is registered in the distributed ledger (S63), and the specific user specific identity claim is registered in the distributed ledger. The specific user specific identity claim registration transaction ID corresponding to the specific user specific identity claim registration transaction to be transmitted is transmitted to the specific certification authority server 200 (S64).

그러면, 특정 인증기관 서버(200)는 특정 사용자 특정 아이덴티티 클레임 등록 트랜잭션 아아디를 이용하여 특정 사용자 특정 아이덴티티 클레임이 분산원장에 등록되었는지를 확인(S65)하며, 블록체인 네트워크를 구성하는 블록체인 노드(300)들의 합의에 의해 특정 사용자 특정 아이덴티티 클레임이 분산원장에 등록된 경우, 분산원장에서 특정 사용자 특정 아이덴티티 클레임이 등록된 위치 정보인 특정 사용자 특정 아이덴티티 클레임 아이디를 획득(S66)하고, 특정 사용자 특정 아이덴티티를 특정 인증 기관의 프라이빗 키로 서명한 특정 클레임 서명값과 획득된 특정 사용자 특정 아이덴티티 클레임 아이디를 사용자 단말(100)로 전송(S67)하여 준다. 이때, 특정 클레임 서명값은 타임 스탬프, 논스 등의 인증 확인 데이터를 더 포함하여 서명된 것일 수 있다.Then, the specific certification authority server 200 checks whether the specific user-specific identity claim is registered in the distributed ledger (S65) by using the transaction ID of the specific user-specific identity claim (S65), and the blockchain node constituting the blockchain network ( When a specific user-specific identity claim is registered in the distributed ledger by agreement of 300), a specific user-specific identity claim ID that is location information in which the specific user-specific identity claim is registered in the distributed ledger is obtained (S66), and the specific user-specific identity And transmits the specific claim signature value signed with the private key of the specific certification authority and the obtained specific user specific identity claim ID to the user terminal 100 (S67). In this case, the specific claim signature value may be signed by further including authentication confirmation data such as a time stamp and nonce.

이에 더하여, 특정 인증기관 서버(200)에 의해 등록된 특정 사용자 특정 아이덴티티 클레임에 대하여 사용자가 승인을 하기 위하여, 특정 사용자 단말(100)을 통해 블록체인 네트워크로 특정 사용자 특정 아이덴티티 클레임 승인 트랜잭션을 전송(S68)한다.In addition, in order to allow the user to approve a specific user-specific identity claim registered by the specific certification authority server 200, a specific user-specific identity claim approval transaction is transmitted to the blockchain network through the specific user terminal 100 ( S68).

이때, 특정 사용자 특정 아이덴티티 클레임 승인 트랜잭션은 특정 사용자 특정 아이덴티티 승인 데이터와 특정 사용자 특정 아이덴티티 승인 데이터를 특정 사용자 마스터 프라이빗 키로 서명한 제3 특정 사용자 서명값을 포함할 수 있으며, 특정 사용자 특정 아이덴티티 승인 데이터는 특정 사용자 특정 아이덴티티 클레임 아이디와 특정 사용자 특정 아이덴티티 클레임에 대한 승인 정보를 포함할 수 있다.In this case, the specific user-specific identity claim approval transaction may include the specific user-specific identity approval data and the third specific user signature value that signs the specific user-specific identity approval data with the specific user master private key, and the specific user-specific identity approval data is It may include identification information for a specific user-specific identity claim and a specific user-specific identity claim.

그러면, 블록체인 네트워크의 적어도 하나의 블록체인 노드(300)는 제3 특정 사용자 서명값을 검증하여 제3 특정 사용자 서명값이 유효한 경우, 특정 사용자 스마트 컨트랙트를 실행하여 특정 사용자 특정 아이덴티티 클레임 승인 트랜잭션이 분산원장에 등록(S69)되도록 한다.Then, at least one blockchain node 300 of the blockchain network verifies the third specific user signature value, and when the third specific user signature value is valid, executes a specific user smart contract to execute a specific user specific identity claim approval transaction. Register with the distributed ledger (S69).

그리고, 적어도 하나의 블록체인 노드(300)는 분산원장에 특정 사용자 특정 아이덴티티 클레임 승인 트랜잭션을 등록하기 위한 특정 사용자 특정 아이덴티티 클레임 승인 트랜잭션 아이디를 특정 사용자 단말(100)로 전송(S70)하여 주며, 특정 사용자 단말(100)은 특정 사용자 특정 아이덴티티 클레임 승인 트랜잭션 아이디를 이용하여 특정 사용자 특정 아이덴티티 클레임 승인 트랜잭션이 분산원장에 등록되었는지를 확인(S71)(S72)한다.And, the at least one blockchain node 300 transmits (S70) a specific user specific identity claim approval transaction ID to a specific user terminal 100 to register a specific user specific identity claim approval transaction in the distributed ledger (S70). The user terminal 100 checks whether the specific user-specific identity claim approval transaction is registered in the distributed ledger using the specific user-specific identity claim approval transaction ID (S71) (S72).

한편, 도 7b를 참조하면, 특정 인증기관 서버(200)는 생성된 특정 사용자 특정 아이덴티티 클레임을 등록하기 위한 특정 사용자 특정 아이덴티티 클레임 등록 요청 트랜잭션을 프록시 서버(150)로 전송(S62-1)하며, 프록시 서버(150)가 특정 사용자 특정 아이덴티티 클레임 등록 요청 트랜잭션과, 이를 프록시 서버 마스터 프라이빗 키로 서명한 제2 프록시 서버 서명값을 블록체인 네트워크로 전송(S62-2)하게 된다. 그러면, 블록체인 네트워크의 적어도 하나의 블록체인 노드(300)는 제2 프록시 서버 서명값을 검증하고, 제2 프록시 서버 서명값이 유효하면 특정 사용자 특정 아이덴티티 클레임을 분산원장에 등록(S63)하게 된다. 그리고, 블록체인 네트워크의 적어도 하나의 블록체인 노드(300)는 특정 사용자 특정 아이덴티티 클레임 등록 트랜잭션 아이디를 프록시 서버(150)로 전송(S64-1)하게 되며, 프록시 서버(150)가 특정 사용자 특정 아이덴티티 클레임 등록 트랜잭션 아이디를 특정 인증기관 서버(200)로 전송(S64-2)하여 준다.Meanwhile, referring to FIG. 7B, the specific certification authority server 200 transmits a specific user specific identity claim registration request transaction for registering the generated specific user specific identity claim to the proxy server 150 (S62-1), The proxy server 150 transmits a specific user-specific identity claim registration transaction and a second proxy server signature value signed with the proxy server master private key to the blockchain network (S62-2). Then, at least one blockchain node 300 of the blockchain network verifies the second proxy server signature value, and if the second proxy server signature value is valid, registers a specific user-specific identity claim with the distributed ledger (S63). . Then, at least one blockchain node 300 of the blockchain network transmits the transaction ID of the specific user-specific identity claim registration to the proxy server 150 (S64-1), and the proxy server 150 identifies the specific user-specific identity. The claim registration transaction ID is transmitted to the specific certification authority server 200 (S64-2).

또한, 특정 사용자 단말(100)을 통해 특정 사용자 특정 아이덴티티 클레임 승인 트랜잭션을 프록시 서버(150)로 전송(S68-1)하여 주며, 프록시 서버(150)가 특정 사용자 특정 아이덴티티 클레임 승인 트랜잭션과 이를 프록시 서버 마스터 프라이빗 키로 서명한 제1 프록시 서버 서명값을 전송(S68-2)한다. 그러면, 블록체인 네트워크의 적어도 하나의 블록체인 노드(300)는 제1 프록시 서버 서명값을 검증하여 제1 프록시 서버 서명값이 유효한 경우 특정 사용자 스마트 컨트랙트를 실행하여 특정 사용자 특정 아이덴티티 클레임 승인 트랜잭션이 분산원장에 등록(S69)되도록 한다. 그리고, 블록체인 네트워크의 적어도 하나의 블록체인 노드(300)는 특정 사용자 특정 아이덴티티 클레임 승인 트랜잭션 아이디를 프록시 서버(150)로 전송(S78-1)하게 되며, 프록시 서버(150)가 특정 사용자 특정 아이덴티티 클레임 승인 트랜잭션 아이디를 특정 사용자 단말(100)로 전송(S70-2)하게 된다.Further, the specific user-specific identity claim approval transaction is transmitted to the proxy server 150 through the specific user terminal 100 (S68-1), and the proxy server 150 transmits the specific user-specific identity claim approval transaction and the proxy server. The first proxy server signature value signed with the master private key is transmitted (S68-2). Then, at least one blockchain node 300 in the blockchain network verifies the first proxy server signature value, executes a specific user smart contract when the first proxy server signature value is valid, and distributes a specific user-specific identity claim approval transaction. Register with the ledger (S69). Then, at least one blockchain node 300 of the blockchain network transmits the transaction ID of the specific user-specific identity claim approval to the proxy server 150 (S78-1), and the proxy server 150 identifies the specific user-specific identity. The claim approval transaction ID is transmitted to the specific user terminal 100 (S70-2).

이를 통해, 도 7a에서는 특정 사용자 단말(100) 및 특정 인증기관 서버(200)가 트랜잭션 피를 지급하였으나, 도 7b에서는 프록시 서버(150)가 사용자 단말(100) 및 특정 인증기관 서버(200)를 대신하여 트랜잭션 피를 지급하도록 할 수 있다.Through this, in FIG. 7A, the specific user terminal 100 and the specific certification authority server 200 have paid transaction blood, but in FIG. 7B, the proxy server 150 displays the user terminal 100 and the specific certification authority server 200. Instead, you can make payments for transactions.

상기에서는 새로운 특정 사용자 특정 아이덴티티 클레임을 등록하는 동작을 설명하였으나, 같은 방법에 의해 기등록되어 있는 특정 사용자 특정 아이덴티티 클레임을 업데이트할 수 있다. 즉, 등록하고자 하는 특정 아이덴티티에 대응하는 이전의 아이덴티티 클레임이 있을 경우, 동일한 특정 아이덴티티 클레임에 대한 등록 요청이 있을 경우, 이를 분산원장에 등록하고, 새롭게 등록된 특정 아이덴티티 클레임을 특정 사용자의 특정 아이덴티티에 대응하는 클레임으로 업데이트한다. 이때, 특정 아이덴티티에 대응하는 클레임의 확인은 기설정된 토픽을 이용할 수 있으며, 동일한 토픽에 대해서 새로운 클레임이 등록될 경우, 사용자 아이덴티티 클레임에 대한 업데이트인 것을 인지할 수 있다. 하지만, 이에 한정되지 않으며, 클레임을 등록 클레임, 업데이트 클레임, 삭제 클레임 등과 같이 각각의 클레임의 기능을 정의하여 수행할 수도 있다.In the above, the operation of registering a new specific user-specific identity claim has been described, but it is possible to update a specific user-specific identity claim registered in the same manner. That is, if there is a previous identity claim corresponding to a specific identity to be registered, if there is a request to register for the same specific identity claim, it is registered in the distributed ledger, and the newly registered specific identity claim is assigned to the specific identity of the specific user. Update to the corresponding claim. At this time, it is possible to confirm a claim corresponding to a specific identity, a preset topic can be used, and when a new claim is registered for the same topic, it can be recognized that it is an update to the user identity claim. However, the present invention is not limited to this, and it is also possible to define and perform functions of each claim, such as a registration claim, an update claim, and a deletion claim.

도 8a를 참조하여 본 발명의 일 실시예에 따른 블록체인 네트워크를 이용하여 사용자 아이덴티티를 관리하는 방법에서 특정 아이덴티티 클레임을 삭제하는 방법을 설명한다.A method of deleting a specific identity claim in a method of managing user identity using a blockchain network according to an embodiment of the present invention will be described with reference to FIG. 8A.

도 7a에서와 같은 방법에 의해 특정 사용자 특정 아이덴티티 클레임이 등록된 상태에서, 특정 사용자 단말(100)이 사용자의 선택에 따라 특정 사용자 특정 아이덴티티 클레임을 삭제하기 위하여 블록체인 네트워크로 특정 사용자 특정 아이덴티티 클레임 삭제 요청 트랜잭션을 전송(S81)한다. 이때, 특정 사용자 특정 아이덴티티 클레임 삭제 요청 트랜잭션은 특정 사용자 특정 아이덴티티 클레임 아이디를 이용한 특정 사용자 특정 아이덴티티 삭제 클레임 데이터와, 특정 사용자 특정 아이덴티티 삭제 클레임 데이터를 특정 사용자 마스터 프라이빗 키로 서명한 제1 특정 사용자 서명값을 포함할 수 있다.In the state in which a specific user-specific identity claim is registered by the method as in FIG. 7A, the specific user terminal 100 deletes the specific user-specific identity claim to the blockchain network in order to delete the specific user-specific identity claim according to the user's selection The request transaction is transmitted (S81). At this time, the specific user specific identity claim deletion transaction uses the specific user specific identity deletion claim data using the specific user specific identity claim ID and the first specific user signature value that signs the specific user specific identity deletion claim data with the specific user master private key. It can contain.

그러면, 블록체인 네트워크의 적어도 하나의 블록체인 노드(300)는 제1 특정 사용자 서명값을 검증하여 제1 특정 사용자 서명값이 유효한 경우, 특정 사용자 스마트 컨트랙트를 실행하여 특정 사용자 특정 아이덴티티 클레임 아이디에 대응되는 특정 사용자 특정 아이덴티티 클레임을 삭제하기 위한 특정 사용자 특정 아이덴티티 클레임 삭제 트랜잭션이 분산원장에 등록(S82)되도록 한다.Then, at least one blockchain node 300 of the blockchain network verifies the first specific user signature value, and if the first specific user signature value is valid, executes a specific user smart contract to correspond to a specific user specific identity claim ID A specific user-specific identity claim deletion transaction for deleting a specific user-specific identity claim is registered in the distributed ledger (S82).

그리고, 블록체인 네트워크의 적어도 하나의 블록체인 노드(300)는 특정 사용자 특정 아이덴티티 클레임 삭제 트랜잭션 아이디를 특정 사용자 단말(100)로 전송(S83)하여 주며, 특정 사용자 단말(100)은 특정 사용자 특정 아이덴티티 클레임 삭제 트랜잭션 아이디를 이용하여 삭제하고자 하는 특정 사용자 특정 아이덴티티 클레임이 분산원장에서 삭제되었는지를 확인(S84)(S85)한다.And, at least one blockchain node 300 of the blockchain network transmits (S83) a specific user specific identity claim deletion transaction ID to the specific user terminal 100, and the specific user terminal 100 is a specific user specific identity It is checked whether a specific user-specific identity claim to be deleted is deleted from the distributed ledger using the transaction deletion transaction ID (S84) (S85).

또한, 도 8b를 참조하면, 특정 사용자 단말(100)은 프록시 서버(150)로 특정 사용자 특정 아이덴티티 클레임 삭제 요청 트랜잭션을 전송(S81-1)하며, 프록시 서버(150)가 특정 사용자 특정 아이덴티티 클레임 삭제 요청 트랜잭션과 이를 프록시 서버 마스터 프라이빗 키로 서명한 프록시 서버 서명값을 블록체인 네트워크로 전송(S81-2)한다.In addition, referring to FIG. 8B, the specific user terminal 100 transmits a request transaction for deleting a specific user specific identity claim to the proxy server 150 (S81-1), and the proxy server 150 deletes the specific user specific identity claim The request transaction and the proxy server signature value signed with the proxy server master private key are transmitted to the blockchain network (S81-2).

그러면, 블록체인 네트워크의 적어도 하나의 블록체인 노드(300)는 프록시 서버 서명값을 검증(S81-3)하고, 프록시 서버 서명값이 유효하면 특정 사용자 특정 아이덴티티 클레임 삭제 요청 트랜잭션에 포함된 제1 특정 사용자 서명값을 검증한 다음 특정 사용자 특정 아이덴티티 클레임을 삭제하기 위한 특정 사용자 특정 아이덴티티 클레임 삭제 트랜잭션이 분산원장에 등록(S82)되도록 한다.Then, at least one blockchain node 300 of the blockchain network verifies the proxy server signature value (S81-3), and if the proxy server signature value is valid, the first specific included in the transaction for deleting a specific user-specific identity claim After verifying the user signature value, a specific user specific identity claim deletion transaction for deleting a specific user specific identity claim is registered in the distributed ledger (S82).

그리고, 블록체인 네트워크의 적어도 하나의 블록체인 노드(300)는 특정 사용자 특정 아이덴티티 클레임 삭제 트랜잭션 아이디를 프록시 서버(150)로 전송(S83-1)하며, 프록시 서버(150)가 특정 사용자 특정 아이덴티티 클레임 삭제 트랜잭션 아이디를 특정 사용자 단말(100)로 전송(S83-2)하여 준다.Then, at least one blockchain node 300 of the blockchain network transmits the transaction ID for deleting a specific user-specific identity claim to the proxy server 150 (S83-1), and the proxy server 150 claims the specific user-specific identity The deleted transaction ID is transmitted to the specific user terminal 100 (S83-2).

이를 통해, 도 8a에서는 사용자 단말(100)이 트랜잭션 피를 지급하였으나, 도 8b에서는 프록시 서버(150)가 사용자 단말(100)을 대신하여 트랜잭션 피를 지급하도록 할 수 있다.Through this, in FIG. 8A, the user terminal 100 has paid transaction blood, but in FIG. 8B, the proxy server 150 may allow the transaction payment to be made on behalf of the user terminal 100.

도 9a를 참조하여 본 발명의 일 실시예에 따른 블록체인 네트워크를 이용하여 사용자 아이덴티티를 관리하는 방법에서 특정 아이덴티티 클레임을 삭제하는 다른 방법을 설명한다.Another method of deleting a specific identity claim in a method of managing a user identity using a blockchain network according to an embodiment of the present invention will be described with reference to FIG. 9A.

도 7a에서와 같은 방법에 의해 특정 사용자 특정 아이덴티티 클레임이 등록된 상태에서, 특정 인증기관 서버(200)가 특정 사용자 특정 아이덴티티 클레임을 삭제하기 위하여 블록체인 네트워크로 특정 사용자 특정 아이덴티티 클레임 삭제 요청 트랜잭션을 전송(S91)한다. 이때, 특정 사용자 특정 아이덴티티 클레임 삭제 요청 트랜잭션은 특정 사용자 특정 아이덴티티 클레임 아이디를 이용한 특정 사용자 특정 아이덴티티 삭제 클레임 데이터와, 특정 사용자 특정 아이덴티티 삭제 클레임 데이터를 특정 인증기관 마스터 프라이빗 키로 서명한 제3 특정 인증기관 서명값을 포함할 수 있다.In a state in which a specific user-specific identity claim is registered by the method as in FIG. 7A, the specific certification authority server 200 transmits a transaction for deleting a specific user-specific identity claim to the blockchain network in order to delete the specific user-specific identity claim (S91). At this time, the specific user specific identity claim deletion transaction is signed by a third specific certification authority that signs the specific user specific identity deletion claim data and the specific user specific identity deletion claim data using the specific user specific identity claim ID with the specific certification authority master private key. It can contain values.

그러면, 블록체인 네트워크의 적어도 하나의 블록체인 노드(300)는 제3 특정 인증기관 서명값을 검증하여 제3 특정 인증기관 서명값이 유효한 경우, 특정 사용자 스마트 컨트랙트를 실행하여 특정 사용자 특정 아이덴티티 클레임 아이디에 대응되는 특정 사용자 특정 아이덴티티 클레임을 삭제하기 위한 특정 사용자 특정 아이덴티티 클레임 삭제 트랜잭션이 분산원장에 등록되도록 한다.Then, at least one blockchain node 300 in the blockchain network verifies the third specific certification authority signature value, and when the third specific certification authority signature value is valid, executes a specific user smart contract to execute a specific user specific identity claim ID Delete a specific user-specific identity claim transaction for deleting a specific user-specific identity claim corresponding to is registered in the distributed ledger.

그리고, 블록체인 네트워크의 적어도 하나의 블록체인 노드(300)는 특정 사용자 특정 아이덴티티 클레임 삭제 트랜잭션 아이디를 특정 인증기관 서버(200)로 전송(S92)하여 주며, 특정 인증기관 서버(200)는 특정 사용자 특정 아이덴티티 클레임 삭제 트랜잭션 아이디를 이용하여 분산원장에 등록된 상기 특정 사용자 특정 아이덴티티 삭제 클레임의 아이디인 특정 사용자 특정 아이덴티티 삭제 클레임 아이디를 확인(S93)(S94)한다.And, at least one blockchain node 300 of the blockchain network transmits the transaction ID of the specific user specific identity claim deletion to the specific certification authority server 200 (S92), and the specific certification authority server 200 is the specific user The ID of the specific user specific identity deletion claim that is the ID of the specific user specific identity deletion claim registered in the distributed ledger is confirmed by using the specific identity claim deletion transaction ID (S93) (S94).

이후, 특정 인증기관 서버(200)는 특정 사용자 특정 아이덴티티 삭제 클레임 아이디를 특정 사용자 단말(100)로 전송(S95)하여 준다.Thereafter, the specific certification authority server 200 transmits the claim ID for deleting the specific user-specific identity to the specific user terminal 100 (S95).

그러면, 특정 사용자 단말(100)은 특정 사용자 특정 아이덴티티 클레임 삭제 승인 트랜잭션을 블록체인 네트워크로 전송(S96)하여 준다. 이때, 특정 사용자 특정 아이덴티티 클레임 삭제 승인 트랜잭션은 특정 사용자 특정 아이덴티티 클레임 삭제 승인 데이터와 이를 특정 사용자 마스터 프라이빗 키로 서명한 제2 특정 사용자 서명값을 포함할 수 있으며, 특정 사용자 특정 아이덴티티 클레임 삭제 승인 데이터는 특정 사용자 특정 아이덴티티 삭제 클레임 아이디와 특정 사용자 특정 아이덴티티 삭제 클레임에 대한 승인 정보를 포함할 수 있다.Then, the specific user terminal 100 transmits the transaction for deleting a specific user-specific identity claim to the blockchain network (S96). At this time, the specific user-specific identity claim deletion approval transaction may include the specific user-specific identity claim deletion approval data and the second specific user signature value signed with the specific user master private key, and the specific user-specific identity claim deletion approval data may be specified. The user-specific identity deletion claim ID and approval information for a specific user-specific identity deletion claim may be included.

그리고, 블록체인 네트워크의 적어도 하나의 블록체인 노드(300)는 제2 특정 사용자 서명값을 검증하여 제2 특정 사용자 서명값이 유효한 경우, 특정 사용자 스마트 컨트랙트를 실행하여 삭제하고자 하는 특정 사용자 특정 아이덴티티 클레임이 분산원장에서 삭제(S97)되도록 한다.And, at least one blockchain node 300 of the blockchain network verifies the second specific user signature value, and when the second specific user signature value is valid, executes a specific user smart contract to claim a specific user specific identity to be deleted. Deleted from this distributed ledger (S97).

이후, 블록체인 네트워크의 적어도 하나의 블록체인 노드(300)는 특정 사용자 특정 아이덴티티 클레임 삭제 승인 트랜잭션 아이디를 특정 사용자 단말(100)로 전송(S98)하여 주며, 특정 사용자 단말(100)은 특정 사용자 특정 아이덴티티 클레임 삭제 승인 트랜잭션 아이디를 이용하여 삭제하고자 하는 특정 사용자 특정 아이덴티티 클레임이 분산원장에서 삭제되었는지를 확인(S99)(S100)한다.Thereafter, at least one blockchain node 300 of the blockchain network transmits (S98) a specific user specific identity claim deletion transaction ID to the specific user terminal 100, and the specific user terminal 100 specifies a specific user It is checked whether the specific user-specific identity claim to be deleted is deleted from the distributed ledger using the identity claim deletion approval transaction ID (S99) (S100).

또한, 도 9b를 참조하면, 특정 인증기관 서버(200)가 프록시 서버(150)로 특정 사용자 특정 아이덴티티 클레임 삭제 요청 트랜잭션을 전송(S91-1)하며, 프록시 서버(150)가 특정 사용자 특정 아이덴티티 삭제 요청 트랜잭션과 이를 프록시 서버 마스터 프라이빗 키로 서명한 프록시 서버 서명값을 블록체인 네트워크로 전송(S91-2)한다.In addition, referring to FIG. 9B, the specific certification authority server 200 transmits a request for deleting a specific user-specific identity claim to the proxy server 150 (S91-1), and the proxy server 150 deletes the specific user-specific identity The request transaction and the proxy server signature value signed with the proxy server master private key are transmitted to the blockchain network (S91-2).

그러면, 블록체인 네트워크의 적어도 하나의 블록체인 노드(300)는 프록시 서버 서명값을 검증하여 프록시 서버 서명값이 유효한 경우, 특정 사용자 스마트 컨트랙트를 실행하여 특정 사용자 특정 아이덴티티 클레임 아이디에 대응되는 특정 사용자 특정 아이덴티티 클레임을 삭제하기 위한 특정 사용자 특정 아이덴티티 클레임 삭제 트랜잭션이 분산원장에 등록되도록 한다.Then, at least one blockchain node 300 of the blockchain network verifies the proxy server signature value, and if the proxy server signature value is valid, executes a specific user smart contract to identify a specific user corresponding to a specific user specific identity claim ID A specific user to delete an identity claim Delete a specific identity claim transaction to be registered in the distributed ledger.

그리고, 블록체인 네트워크의 적어도 하나의 블록체인 노드(300)는 특정 사용자 특정 아이덴티티 클레임 삭제 트랜잭션 아이디를 프록시 서버(150)로 전송(S92-1)하고, 프록시 서버(150)가 특정 사용자 특정 아이덴티티 클레임 삭제 트랜잭션 아이디를 특정 인증기관 서버(200)로 전송(S92-2)하여 준다.Then, at least one blockchain node 300 of the blockchain network transmits the transaction ID for deleting the specific user-specific identity claim to the proxy server 150 (S92-1), and the proxy server 150 claims the specific user-specific identity The deleted transaction ID is transmitted to the specific certification authority server 200 (S92-2).

또한, 특정 사용자 단말(100)은 프록시 서버(150)로 특정 사용자 특정 아이덴티티 삭제 승인 트랜잭션을 전송(S96-1)하여 주며, 프록시 서버(150)는 특정 사용자 특정 아이덴티티 클레임 삭제 승인 트랜잭션을 블록체인 네트워크로 전송(S96-2)하여 준다.In addition, the specific user terminal 100 transmits a transaction for deleting a specific user-specific identity to the proxy server 150 (S96-1), and the proxy server 150 transmits a transaction for approval of deletion of a specific user-specific identity claim to the blockchain network To (S96-2).

그리고, 블록체인 네트워크의 적어도 하나의 블록체인 노드(300)는 특정 사용자 특정 아이덴티티 클레임 삭제 승인 트랜잭션 아이디를 프록시 서버(150)로 전송(S98-1)하여 주며, 프록시 서버(150)는 특정 사용자 특정 아이덴티티 클레임 삭제 승인 트랜잭션 아이디를 특정 사용자 단말(100)로 전송(S98-2)하여 준다.In addition, at least one blockchain node 300 of the blockchain network transmits the transaction ID for the approval of deleting a specific user-specific identity to the proxy server 150 (S98-1), and the proxy server 150 identifies the specific user The identity claim deletion approval transaction ID is transmitted to the specific user terminal 100 (S98-2).

이를 통해, 도 9a에서는 특정 사용자 단말(100) 및 특정 인증기관 서버(200)가 트랜잭션 피를 지급하였으나, 도 9b에서는 프록시 서버(150)가 사용자 단말(100) 및 특정 인증기관 서버(200)를 대신하여 트랜잭션 피를 지급하도록 할 수 있다.Through this, in FIG. 9A, the specific user terminal 100 and the specific certification authority server 200 paid transaction blood, but in FIG. 9B, the proxy server 150 displays the user terminal 100 and the specific certification authority server 200. Instead, you can make payments for transactions.

상기에서와 같은 방법에 의해 셀프 클레임, 아이덴티티 클레임들을 생성할 경우, 클레임을 생성하는 주체, 클레임의 소유주, 클레임을 이용하는 주체 등에 각각의 클레임에 대응하는 성취도를 제공할 수 있으며, 성취도에 대응하는 보상을 제공할 수 있다. 이때, 성취도 현황 및 보상 지급 현황 등은 상기에서의 설명한 것과 유사한 방법에 의해 블록체인 네트워크를 통해 관리할 수 있다. 즉, 주체가 획득한 각각의 성취도들을 셀프 클레임과 유사한 방법으로 블록체인 네트워크에 등록하며, 성취도들 중 보상을 원하는 특정 보상들을 아이덴티티 클레임과 유사한 방법으로 블록체인 네트워크에 등록하여 관리할 수 있다.In the case of generating self-claims and identity claims by the method as described above, achievements corresponding to each claim can be provided, such as the subject who generates the claim, the owner of the claim, and the subject who uses the claim, and rewards corresponding to the achievement Can provide At this time, the achievement status and the compensation payment status, etc. can be managed through the blockchain network by a method similar to that described above. That is, each achievement acquired by the subject can be registered in the blockchain network in a manner similar to self-claim, and specific rewards desired for compensation among achievements can be registered and managed in the blockchain network in a manner similar to the identity claim.

도 10a와 도 10b를 참조하여 본 발명의 일 실시예에 다른 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법을 설명한다.A method of authenticating a user using another blockchain network-based user identity according to an embodiment of the present invention will be described with reference to FIGS. 10A and 10B.

먼저, 도 10a를 참조하여 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사인 업(sign up)을 수행하는 방법을 설명한다.First, referring to FIG. 10A, a method of performing sign up using a user identity based on a blockchain network will be described.

사용자들의 아이덴티티들에 대한 클레임을 생성하도록 하는 클레임 스마트 컨트렉트가 사용자들에 각각 대응하여 사용자 스마트 컨트랙트들로 다수의 블록체인 노드들에 의해 구성되는 블록체인 네트워크의 분산원장에 등록되며, 사용자 스마트 컨트랙트들에 대한 분산원장 상의 어드레스들이 사용자들의 아이디들로 관리되고, 사용자들에 각각 대응되는 사용자 아이덴티티들을 가공한 사용자 특정값들을 포함하는 각각의 사용자 셀프 클레임들, 사용자 아이덴티티들 각각에 대하여 적어도 하나의 인증기관이 인증하여 등록한 사용자 아이덴티티 클레임들, 및 사용자 키에 대응하는 사용자 어드레스들이 분산원장 상에 등록되어 관리되는 상태에서, 사용자가 서비스 이용 단말(110)을 통해 서비스 제공 서버(500)로 사인 업을 요청(S111)하면, 서비스 제공 서버(500)는 서비스 이용 단말(110)로 사인 업에 필요한 사용자 특정 정보를 요청(S112)한다. 이때, 서비스 이용 단말(110)에서 앱(application) 또는 웹(web)을 통해 서비스 제공 서버(500)로 접속할 수 있으며, 서비스 제공 서버(500)는 사용자 특정 정보 요청에 콜백(callback) URL 또는 URL scheme을 추가하여 서비스 제공 서버(500)로의 접속 정보를 제공하여 줄 수 있다.Claim smart contracts that allow users to generate claims for their identities are registered in the distributed ledger of the blockchain network, which is composed of multiple blockchain nodes with user smart contracts corresponding to each user, and user smart At least one for each of the user self claims, each of the user identities, including user specific values whose addresses on the distributed ledger for the contracts are managed by the user's identities and which process user identities corresponding to the users respectively. The user identity claims registered by the certification authority and the user addresses corresponding to the user key are registered and managed on the distributed ledger, and the user signs up to the service providing server 500 through the service using terminal 110. When requesting (S111), the service providing server 500 requests user specific information required for signing up to the service using terminal 110 (S112). At this time, the service using terminal 110 may access the service providing server 500 through an application or the web, and the service providing server 500 may callback URL or URL for requesting user specific information. A scheme can be added to provide access information to the service providing server 500.

그리고, 서비스 이용 단말(110)은 서비스 제공 서버(500)로부터의 사용자 특정 정보 요청을 사용자 단말(100)로 전송(S113)하여 준다. 이때, 서비스 이용 단말(110)은 사용자 단말(100)과 동일한 단말이거나 서로 다른 단말일 수 있다.Then, the service using terminal 110 transmits the user specific information request from the service providing server 500 to the user terminal 100 (S113). At this time, the service use terminal 110 may be the same terminal as the user terminal 100 or a different terminal.

그러면, 사용자 단말(100)은 사용자 아이덴티티 관리 앱을 통해 서비스 제공 서버(500)로부터 요청된 사용자 특정 정보를 확인(S114)한다. 이때, 사용자 단말(100)은 요청된 사용자 특정 정보에 대응하는 사용자 특정 아이덴티티들의 사용자 특정 아이덴티티 클레임들이 블록체인 네트워크의 분산원장 상에 등록된 상태인지를 확인한다.Then, the user terminal 100 checks the user specific information requested from the service providing server 500 through the user identity management app (S114). At this time, the user terminal 100 checks whether the user specific identity claims of the user specific identities corresponding to the requested user specific information are registered on the distributed ledger of the blockchain network.

그리고, 사용자 단말(100)은 요청된 사용자 특정 정보를 서비스 제공 단말(500)로 제공(S115)하여 준다.Then, the user terminal 100 provides the requested user-specific information to the service providing terminal 500 (S115).

이때, 사용자 단말(100)은 요청된 사용자 특정 정보에 대응하는 사용자 특정 아이덴티티 클레임들이 분산원장에 등록된 상태일 경우에는, 특정 사용자 아이디, 특정 사용자 특정 정보에 대응되는 특정 사용자 특정 아이덴티티, 특정 사용자 특정 아이덴티티 클레임 아이디, 사용자 셀프 클레임 아이디, 특정 사용자 특정값, 특정 사용자 특정 아이덴티티를 이용한 특정 사용자 특정값의 생성 정보, 특정 사용자 특정값을 특정 사용자 프라이빗 키로 서명한 특정 사용자 서명값, 및 특정 사용자 특정 아이덴티티를 특정 인증기관 서버의 프라이빗 키로 서명한 특정 클레임 서명값을 포함하는 특정 사용자 클레임 정보를 서비스 제공 서버(500)로 제공하여 줄 수 있다. 이때, 요청된 정보가 다수일 경우에는, 특정 사용자 클레임 정보는 각각의 정보에 대응되는 특정 사용자 특정 아이덴티티들, 특정 사용자 특정 아이덴티티 클레임 아이디들, 특정 사용자 특정값의 생성 정보들, 특정 클레임 서명값들을 포함할 수 있다.In this case, the user terminal 100, when the user-specific identity claims corresponding to the requested user-specific information is registered in the distributed ledger, a specific user ID, a specific user-specific identity corresponding to the specific user-specific information, a specific user-specific Identity claim ID, user self-claim ID, specific user-specific value, specific user-specific identity creation information, specific user-signed value of specific user-signed value with specific user private key, and specific user-specific identity Specific user claim information including a specific claim signature value signed with the private key of the specific certification authority server may be provided to the service providing server 500. At this time, if the requested information is multiple, the specific user claim information includes specific user specific identities, specific user specific identity claim IDs, specific user specific value generation information, and specific claim signature values corresponding to each information. It can contain.

그러면, 서비스 제공 서버(500)는 특정 사용자 특정값 및 특정 사용자 특정 아이덴티티를 이용한 특정 사용자 특정값의 생성 정보를 참조하여 특정 사용자 특정값의 생성 정보가 유효한지를 확인하고, 특정 사용자 특정값의 생성 정보가 유효하면 특정 사용자 서명값이 유효한지를 확인(S116)한다.Then, the service provision server 500 checks whether the specific user specific value generation information is valid by referring to the specific user specific value and specific user specific value generation information using the specific user specific value, and the specific user specific value generation information If is valid, it is checked whether a specific user signature value is valid (S116).

이때, 특정 사용자 특정값은 특정 사용자 아이덴티티들 각각에 대한 해시값들이 각각의 리프 노드들 중 적어도 일부에 할당된 머클트리의 루트 해시값이며, 특정 사용자 특정 아이덴티티를 이용한 특정 사용자 특정값의 생성 정보는 특정 사용자 특정 아이덴티티에 대한 머클트리정보일 수 있으며, 이 경우, 서비스 제공 서버(500)는 머클트리 정보와 특정 사용자 특정 아이덴티티를 이용하여 비교 대상 루트 해시값을 생성하며, 비교 대상 루트 해시값과 루트 해시값이 일치하는지를 확인하여 특정 사용자 특정값의 생성 정보가 유효한지를 확인할 수 있다.In this case, the specific user specific value is a root hash value of the Merkle tree in which hash values for each of the specific user identities are assigned to at least some of the respective leaf nodes, and the generation information of the specific user specific value using the specific user specific identity is It may be merkle tree information for a specific user-specific identity, and in this case, the service providing server 500 generates a comparison target hash value using the merkle tree information and a specific user-specific identity, and compares the comparison hash value and the route. By checking whether the hash values match, it is possible to check whether generation information of a specific user-specific value is valid.

또한, 서비스 제공 서버(500)는 분산원장에 등록된 디지털 서명 검증 모듈을 실행하여 특정 사용자 서명값과 특정 사용자 특정값을 참조하여 특정 사용자 프라이빗 키에 대응되는 특정 사용자 퍼블릭 키를 획득하거나, 사용자 단말(100)이 특정 사용자 클레임 정보에 특정 사용자 프라이빗 키에 대응되는 특정 사용자 퍼블릭 키를 포함하여 전송함으로써 특정 사용자 클레임 정보로부터 특정 사용자 퍼블릭 키를 획득할 수 있으며, 특정 사용자 퍼블릭 키를 이용하여 특정 사용자 서명값으로부터 확인되는 비교 대상 데이터와 특정 사용자 특정값이 일치하는지를 확인함으로써 특정 사용자 서명값이 유효한지를 확인할 수 있다.In addition, the service providing server 500 executes a digital signature verification module registered in the distributed ledger to obtain a specific user public key corresponding to a specific user private key by referring to a specific user signature value and a specific user specific value, or a user terminal By transmitting the specific user public key corresponding to the specific user private key to the specific user claim information, the specific user public key may be obtained from the specific user claim information, and the specific user signature may be signed using the specific user public key It is possible to confirm whether a specific user signature value is valid by confirming whether the comparison target data identified from the value matches a specific user specific value.

그리고, 서비스 제공 서버(500)는 특정 사용자 서명값이 유효한 경우, 특정 사용자 셀프 클레임 아이디 및 특정 사용자 특정 아이덴티티 클레임 아이디를 참조하여 분산원장에 등록된 특정 사용자 셀프 클레임 및 특정 사용자 특정 아이덴티티 클레임을 확인(S117)(S118)하고, 확인된 특정 사용자 셀프 클레임 및 특정 사용자 특정 아이덴티티 클레임을 참조하여 특정 사용자 클레임 정보를 인증(S119)한다.In addition, when the specific user signature value is valid, the service provision server 500 checks the specific user self-claim and the specific user-specific identity claim registered in the distributed ledger with reference to the specific user self-claim ID and the specific user specific identity claim ID ( S117) (S118), and the specific user claim information is authenticated with reference to the identified specific user self claim and the specific user specific identity claim (S119).

이때, 서비스 제공 서버(500)는 특정 사용자 셀프 클레임을 이용하여 특정 사용자 특정값을 검증하고, 특정 사용자 특정 아이덴티티 클레임을 이용하여 특정 사용자 특정 아이덴티티를 검증할 수 있다.In this case, the service provision server 500 may verify a specific user specific value using a specific user self claim, and verify a specific user specific identity using a specific user specific identity claim.

또한, 서비스 제공 서버(500)는 특정 사용자 특정값 및 특정 사용자 특정 아이덴티티를 검증한 다음 특정 사용자 특정 아이덴티티 클레임을 생성한 인증기관을 확인하며, 인증기관이 신뢰성이 있는 것으로 판단될 경우 특정 사용자 특정 아이덴티티가 유효한 것으로 인증할 수 있다.In addition, the service providing server 500 verifies a specific user-specific value and a specific user-specific identity, and then verifies a certification authority that generates a specific user-specific identity claim, and if the certification authority is determined to be reliable, a specific user-specific identity Can be verified as valid.

이후, 서비스 제공 서버(500)는 특정 사용자 클레임 정보가 인증되면 특정 사용자의 사인 업을 허용(S120)한다. 일 예로, 서비스 제공 서버(500)는 특정 사용자 아이디를 서비스 제공 서버(500)의 유저 아이디로 등록할 수 있다.Subsequently, when the specific user claim information is authenticated, the service providing server 500 allows sign-up of the specific user (S120 ). For example, the service providing server 500 may register a specific user ID as the user ID of the service providing server 500.

그리고, 리플레이 어택을 방지하기 위하여, 사용자 단말(100)은 특정 사용자 클레임 정보에 타임스탬프를 포함시키고, 특정 사용자 특정값과 타임스탬프를 특정 사용자 프라이빗 키로 서명하여 특정 사용자 서명값을 생성하여 전송할 수 있으며, 서비스 제공 서버(500)는 특정 사용자 서명값이 유효한지 확인한 다음, 타임스탬프의 유효성을 확인할 수 있다.In addition, in order to prevent a replay attack, the user terminal 100 includes a timestamp in the specific user claim information, generates a specific user signature value by signing the specific user specific value and timestamp with a specific user private key, and transmits the generated specific user signature value. , The service providing server 500 may check whether a specific user signature value is valid, and then check the validity of the time stamp.

한편, 사용자 단말(100)은 요청된 사용자 특정 정보에 대응하는 사용자 특정 아이덴티티 클레임들이 분산원장에 등록되어 있지 않은 상태일 경우에는, 특정 사용자 아이디, 특정 사용자 특정 아이덴티티, 특정 사용자 셀프 클레임 아이디, 특정 사용자 특정값, 특정 사용자 특정 아이덴티티를 이용한 특정 사용자 특정값의 생성 정보, 및 특정 사용자 특정값을 특정 사용자 프라이빗 키로 서명한 특정 사용자 서명값을 포함하는 특정 사용자 클레임 정보를 서비스 제공 서버(500)로 제공하여 줄 수 있다.On the other hand, the user terminal 100 when the user-specific identity claims corresponding to the requested user-specific information is not registered in the distributed ledger, a specific user ID, a specific user-specific identity, a specific user self-claim ID, a specific user By providing the service provision server 500 with specific user claim information including a specific user signature value, a specific user signature value using a specific user specific identity, and a specific user signature value signing a specific user specific value with a specific user private key Can give.

그러면, 서비스 제공 서버(500)는 사용자 서명값을 확인(S116)한 다음, 특정 사용자 셀프 클레임 아이디를 참조하여 분산원장에 등록된 특정 사용자 셀프 클레임을 확인(S117)(S118)하고, 확인된 특정 사용자 셀프 클레임을 참조하여 상기 특정 사용자 클레임 정보를 인증하고, 특정 사용자 특정 아이덴티티가 특정 사용자의 특징 정보와 일치하는 지를 확인하여 인증(S119)한 다음 특정 사용자의 사인 업을 허용(S120)할 수 있다. 이때, 특정 사용자 특정 아이덴티티가 특정 사용자의 특징 정보와 일치하는지를 확인하여 인증하는 것은, 서비스 제공 서버(500) 자체에서 특정 사용자 특정 아이덴티티를 인증하는 것일 수 있다. 예를 들어, 특정 아이덴티티가 전화번호일 경우 일반적인 전화번호 인증을 수행하여 해당 전화번호가 특정 사용자의 전화번호와 일치하는 지 확인할 수 있다.Then, the service providing server 500 checks the user signature value (S116), then checks the specific user self-claim registered in the distributed ledger with reference to the specific user self-claim ID (S117) (S118), and confirms the specific The specific user claim information may be authenticated by referring to the user self-claim, and then, by verifying whether the specific user-specific identity matches the characteristic information of the specific user (S119), sign-up of the specific user may be allowed (S120). . At this time, checking and authenticating whether the specific user-specific identity matches the characteristic information of the specific user may be authenticating the specific user-specific identity in the service providing server 500 itself. For example, if a specific identity is a phone number, normal phone number authentication can be performed to check whether the corresponding phone number matches a specific user's phone number.

이에 더하여, 서비스 제공 서버(500)는 도 7a에서와 같은 방법에 의해 인증한 특정 아이덴티티에 대한 특정 사용자 특정 아이덴티티 클레임을 블록체인 네트워크의 분산원장에 등록(S121)할 수 있다.In addition, the service providing server 500 may register a specific user-specific identity claim for a specific identity authenticated by the method as in FIG. 7A to the distributed ledger of the blockchain network (S121).

즉, 서비스 제공 서버(500)는 인증된 상기 특정 사용자 특정 아이덴티티를 참조하여, 서비스 제공 서버에 대응되는 서비스 제공 서버 아이디, 특정 사용자 특정 아이덴티티에 대응되는 특정 클레임 타입, 및 특정 사용자 아이디와 특정 클레임 타입을 서비스 제공 서버(500)의 프라이빗 키로 서명한 제1 서비스 제공 서버 서명값을 포함하는 특정 사용자 특정 아이덴티티 클레임을 생성하며, 특정 사용자 특정 아이덴티티 클레임을 서비스 제공 서버의 프라이빗 키로 서명한 제2 서비스 제공 서버 서명값을 포함하는 특정 사용자 특정 아이덴티티 클레임 등록 요청 트랜잭션을 블록체인 네트워크로 전송한다. 이때, 특정 사용자 특정 아이덴티티 클레임은 타임 스탬프 등의 인증 확인 데이터를 포함할 수 있으며, 제1 서비스 제공 서버 서명값은 타임 스탬프 등의 인증 확인 데이터를 추가하여 서명한 것일 수 있다. 그러면, 블록체인 네트워크의 적어도 하나의 블록체인 노드(300)가 제2 서비스 제공 서버 서명값을 검증하여 제2 서비스 제공 서버 서명값이 유효한 경우, 특정 사용자 스마트 컨트랙트를 실행하여 특정 사용자 특정 아이덴티티 클레임을 분산원장에 등록하게 된다. 그리고, 특정 사용자 특정 아이덴티티를 서비스 제공 서버의 프라이빗 키로 서명한 특정 클레임 서명값은 사용자 단말(100)로 전송하여 저장하도록 할 수 있다.That is, the service provision server 500 refers to the specific user-specific identity that has been authenticated, a service provision server ID corresponding to the service provision server, a specific claim type corresponding to a specific user-specific identity, and a specific user ID and specific claim type A second service provision server that generates a specific user-specific identity claim including the first service provision server signature value signed with the private key of the service provision server 500, and signs the specific user-specific identity claim with the private key of the service provision server A transaction for requesting registration of a specific user-specific identity claim including the signature value is transmitted to the blockchain network. In this case, the specific user-specific identity claim may include authentication verification data such as a time stamp, and the first service provision server signature value may be signed by adding authentication verification data such as a time stamp. Then, when at least one blockchain node 300 of the blockchain network verifies the second service provision server signature value and the second service provision server signature value is valid, a specific user specific contract is executed by executing a specific user smart contract You will be registered in the distributed ledger. In addition, the specific claim signature value signed by the specific user specific identity with the private key of the service providing server may be transmitted to and stored in the user terminal 100.

다음으로, 도 10b를 참조하여 블록체인 네트워크를 기반의 사용자 아이덴티티를 이용하여 서비스를 이용하는 방법을 설명한다.Next, a method of using a service using a user identity based on a blockchain network will be described with reference to FIG. 10B.

사용자들의 아이덴티티들에 대한 클레임을 생성하도록 하는 클레임 스마트 컨트렉트가 사용자들에 각각 대응하여 사용자 스마트 컨트랙트들로 다수의 블록체인 노드들에 의해 구성되는 블록체인 네트워크의 분산원장에 등록되며, 사용자 스마트 컨트랙트들에 대한 분산원장 상의 어드레스들이 사용자들의 아이디들로 관리되고, 사용자들에 각각 대응되는 사용자 아이덴티티들을 가공한 사용자 특정값들을 포함하는 각각의 사용자 셀프 클레임들, 사용자 아이덴티티들 각각에 대하여 적어도 하나의 인증기관이 인증하여 등록한 사용자 아이덴티티 클레임들, 및 사용자 키에 대응하는 사용자 어드레스들이 분산원장 상에 등록되어 관리되는 상태에서, 사용자가 서비스 이용 단말(110)을 통해 서비스 제공 서버(500)로 서비스 요청(S131)하면, 서비스 제공 서버(500)는 서비스 이용 단말(110)로 서비스 제공을 위한 특정 사용자 서명값을 요청(S132)한다. 이때, 서비스 이용 단말(110)에서 앱(application) 또는 웹(web)을 통해 서비스 제공 서버(500)로 접속할 수 있으며, 서비스 제공 서버(500)는 특정 사용자 서명값 요청에 콜백(callback) URL 또는 URL scheme을 추가하여 서비스 제공 서버(500)로의 접속 정보를 제공하여 줄 수 있다.Claim smart contracts that allow users to generate claims for their identities are registered in the distributed ledger of the blockchain network, which is composed of multiple blockchain nodes with user smart contracts corresponding to each user, and user smart At least one for each of the user self claims, each of the user identities, including user specific values whose addresses on the distributed ledger for the contracts are managed by the user's identities and which process user identities corresponding to the users respectively. In the state in which the user identity claims registered by the certification authority and the user addresses corresponding to the user key are registered and managed on the distributed ledger, the user requests a service from the service using terminal 110 to the service providing server 500 If (S131), the service providing server 500 requests a specific user signature value for service provision to the service using terminal 110 (S132). At this time, the service using terminal 110 may access the service providing server 500 through an application or the web, and the service providing server 500 may request a specific user signature value callback URL or By adding a URL scheme, access information to the service providing server 500 may be provided.

그리고, 서비스 이용 단말(110)은 서비스 제공 서버(500)로부터의 사용자 서명값 요청을 사용자 단말(100)로 전송(S133)하여 준다. 이때, 서비스 이용 단말(110)은 사용자 단말(100)과 동일한 단말이거나 서로 다른 단말일 수 있다.Then, the service using terminal 110 transmits a request for a user signature value from the service providing server 500 to the user terminal 100 (S133). At this time, the service use terminal 110 may be the same terminal as the user terminal 100 or a different terminal.

그러면, 사용자 단말(100)은 사용자 아이덴티티 관리 앱을 통해 특정 사용자 서명값을 생성(S134)한다.Then, the user terminal 100 generates a specific user signature value through the user identity management app (S134).

이때, 사용자 단말(100)은 특정 사용자 서명값 요청에 대응되는 데이터를 확인하며, 데이터를 특정 사용자 프라이빗 키로 서명한 특정 사용자 서명값을 생성할 수 있다.At this time, the user terminal 100 checks data corresponding to a specific user signature value request, and may generate a specific user signature value that signs the data with a specific user private key.

또한, 데이터는 서비스 제공 서버(500)에서 생성되고, 특정 사용자 서명값 요청 정보에 포함된 것일 수 있으며, 거래 정보에 대한 데이터, 서비스 제공을 위하여 사용자가 확인을 하여야 하는 정보에 대한 데이터, 서명값 확인을 위한 논스에 대한 데이터 등을 포함할 수 있으나, 이에 한정되지 않으며, 서비스 제공과 관련하여 서비스 제공 서버(500)가 생성하는 모든 데이터를 포함할 수 있다.In addition, the data may be generated in the service providing server 500, and may be included in specific user signature value request information, data for transaction information, data for information to be verified by the user for service provision, and signature value It may include data on nonce for verification, but is not limited thereto, and may include all data generated by the service providing server 500 in connection with service provision.

이에 더하여, 데이터는 서비스 제공 서버(500)에서 요청된 정보에 대응하여 사용자 단말(100)이 생성한 것일 수 있으며, 서비스 이용에 필요한 거래 정보에 대한 데이터, 로그인을 위한 특정 사용자 아이덴티티, 비밀 번호 등의 데이터, 서명값 확인에 이용하기 위한 논스에 대한 데이터 등을 포함할 수 있으나, 이에 한정되지 않으며, 서비스 이용과 관련하여 사용자 단말(100)이 생성하는 모든 데이터를 포함할 수 있다.In addition to this, the data may be generated by the user terminal 100 in response to information requested from the service providing server 500, data on transaction information required for service use, a specific user identity for logging in, a password, etc. Data, nonce data for use in verifying the signature value, and the like, but is not limited thereto, and may include all data generated by the user terminal 100 in connection with the use of the service.

이후, 사용자 단말(100)은 특정 사용자 아이디, 특정 사용자 어드레스, 데이터, 및 특정 사용자 서명값을 서비스 제공 서버(500)로 전송(S135)하여 준다.Thereafter, the user terminal 100 transmits a specific user ID, a specific user address, data, and a specific user signature value to the service providing server 500 (S135).

그러면, 서비스 제공 서버(500)는 특정 사용자 서명값이 유효한지를 확인(S136)하며, 특정 사용자 서명값이 유효한 경우 특정 사용자 아이디를 참조하여 블록체인 네트워크의 분산원장에 등록된 비교 대상 사용자 어드레스를 확인(S137)(S138)하고, 비교 대상 사용자 어드레스를 참조하여 특정 사용자 어드레스가 유효한지를 확인(S139)한 다음, 서비스 요청 단말(100)로 요청된 서비스를 제공(S140)하여 줄 수 있다.Then, the service providing server 500 checks whether the specific user signature value is valid (S136), and when the specific user signature value is valid, checks the comparison target user address registered in the distributed ledger of the blockchain network by referring to the specific user ID. (S137) (S138), and check whether a specific user address is valid by referring to the comparison target user address (S139), and then provide the requested service to the service requesting terminal 100 (S140).

이때, 사용자 단말(100)에서 전송되는 데이터가 특정 사용자 특정 아이덴티티 및 특정 사용자 특정 아이덴티티 클레임 아이디를 포함할 경우, 서비스 제공 서버(500)는 특정 사용자 특정 아이덴티티 클레임 아이디를 참조하여 블록체인 네트워크의 분산원장에서 특정 사용자 특정 아이덴티티 클레임을 획득하도록 하며, 특정 사용자 특정 아이덴티티 클레임을 참조하여 특정 사용자 특정 아이덴티티를 검증할 수 있다.At this time, when the data transmitted from the user terminal 100 includes a specific user-specific identity and a specific user-specific identity claim ID, the service provision server 500 refers to the specific user-specific identity claim ID to distribute the ledger of the blockchain network. In order to obtain a specific user-specific identity claim, a specific user-specific identity may be verified by referring to the specific user-specific identity claim.

또한, 서비스 제공 서버(500)는 분산원장에 등록된 디지털 서명 검증 모듈을 실행하여 특정 사용자 서명값과 데이터를 참조하여 특정 사용자 프라이빗 키에 대응되는 특정 사용자 퍼블릭 키를 획득하거나, 사용자 단말(100)이 특정 사용자 프라이빗 키에 대응되는 특정 사용자 퍼블릭 키를 추가하여 전송함으로써 특정 사용자 퍼블릭 키를 획득할 수 있으며, 특정 사용자 퍼블릭 키를 이용하여 특정 사용자 서명값으로부터 확인되는 비교 대상 데이터와 데이터가 일치하는지를 확인함으로써 특정 사용자 서명값이 유효한지를 확인할 수 있다.In addition, the service providing server 500 executes a digital signature verification module registered in the distributed ledger to obtain a specific user public key corresponding to a specific user private key by referring to a specific user signature value and data, or the user terminal 100 A specific user public key can be obtained by adding and transmitting a specific user public key corresponding to the specific user private key, and using the specific user public key, check whether the data to be compared with the comparison data verified from the specific user signature value matches By doing so, it is possible to check whether a specific user signature value is valid.

또한, 이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.In addition, the embodiments according to the present invention described above may be implemented in the form of program instructions that can be executed through various computer components to be recorded in a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, or the like alone or in combination. The program instructions recorded on the computer-readable recording medium may be specially designed and configured for the present invention or may be known and usable by those skilled in the computer software field. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs, DVDs, and magneto-optical media such as floptical disks. media), and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes produced by a compiler, but also high-level language codes executable by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules to perform processing according to the present invention, and vice versa.

이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.In the above, the present invention has been described by specific matters such as specific components and limited embodiments and drawings, but this is provided only to help a more comprehensive understanding of the present invention, and the present invention is not limited to the above embodiments , Those skilled in the art to which the present invention pertains can make various modifications and variations from these descriptions.

따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention is not limited to the above-described embodiment, and should not be determined, and all claims that are equally or equivalently modified with the claims as described below belong to the scope of the spirit of the present invention. Would say

100: 사용자 단말,
150: 프록시 서버
200: 인증기관 서버,
300: 블록체인 노드,
500: 서비스 제공 서버
100: user terminal,
150: proxy server
200: certification authority server,
300: blockchain node,
500: service providing server

Claims (24)

블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법에 있어서,
(a) 사용자들 및 인증기관들의 아이덴티티들에 대한 클레임을 생성하도록 하는 클레임 스마트 컨트렉트가 사용자들 및 인증기관들에 대응하여 각각 사용자 스마트 컨트랙트들과 인증기관 스마트 컨트랙트들로 다수의 블록체인 노드들에 의해 구성되는 블록체인 네트워크의 분산원장에 등록되며, 상기 사용자 스마트 컨트랙트들 및 상기 인증기관 스마트 컨트랙트들에 대한 상기 분산원장 상의 어드레스들이 상기 사용자들 및 상기 인증기관들의 아이디들로 관리되고, 상기 사용자들에 각각 대응되는 사용자 아이덴티티들을 가공한 사용자 특정값들을 포함하는 각각의 사용자 셀프 클레임들이 상기 분산원장에 등록된 상태에서, (i) 특정 사용자 단말로부터의 특정 사용자 아이디, 특정 사용자 아이덴티티들 중 인증을 위한 특정 사용자 특정 아이덴티티, 및 적어도 상기 특정 사용자 아이덴티티들을 가공한 제1 특정 사용자 특정값을 포함하는 특정 사용자 특정 아이덴티티에 대한 특정 사용자 특정 아이덴티티 클레임 등록 요청에 대응하거나, (ii) 상기 특정 사용자 단말로부터의 아이덴티티 클레임 등록 요청에 대응하여 특정 사용자에 대응되는 상기 특정 사용자 특정 아이덴티티를 상기 특정 사용자 단말로 전송하여 줌으로써 상기 특정 사용자 단말로부터 획득되는 상기 특정 사용자 특정 아이덴티티 클레임 등록 요청에 대응하여 특정 인증기관 서버로부터 특정 사용자 셀프 클레임에 대응하는 특정 사용자 셀프 클레임 아이디에 대한 확인 요청이 획득되면, 상기 다수의 블록체인 노드들 중 적어도 하나의 블록체인 노드가, 특정 사용자 스마트 컨트랙트를 실행하여 상기 분산원장에 등록된 상기 특정 사용자 셀프 클레임에 대응하는 상기 특정 사용자 셀프 클레임 아이디를 상기 특정 인증기관 서버로 전송함으로써 상기 특정 인증기관 서버로 하여금 상기 특정 사용자 셀프 클레임 아이디를 이용하여 상기 분산원장에 등록된 상기 특정 사용자 셀프 클레임을 확인하여 상기 특정 사용자 셀프 클레임에 포함된 제2 특정 사용자 특정값을 획득하도록 하는 단계; 및
(b) 상기 특정 인증기관 서버로부터 특정 사용자 특정 아이덴티티 클레임 - 상기 특정 사용자 특정 아이덴티티 클레임은 상기 특정 인증기관 서버에서 생성된 것으로, 상기 특정 사용자 단말로부터의 상기 특정 사용자 특정 아이덴티티 클레임 등록 요청에 포함된 상기 제1 특정 사용자 특정값과 상기 분산원장의 상기 특정 사용자 셀프 클레임에 포함된 상기 제2 특정 사용자 특정값이 일치하는 상태에서, 상기 특정 인증기관 서버가 상기 특정 사용자 특정 아이덴티티를 검증한 다음, 상기 특정 인증기관 서버에 대응되는 특정 인증기관 아이디, 상기 특정 사용자 특정 아이덴티티에 대응되는 특정 클레임 타입, 및 상기 특정 사용자 아이디와 상기 특정 클레임 타입을 상기 특정 인증기관 서버의 특정 인증기관 프라이빗 키로 서명한 제1 특정 인증기관 서명값을 포함하여 생성한 것임 - 과 상기 특정 사용자 특정 아이덴티티 클레임을 상기 특정 인증기관 프라이빗 키로 서명한 제2 특정 인증기관 서명값을 포함하는 특정 사용자 특정 아이덴티티 클레임 등록 요청 트랜잭션이 획득되면, 상기 적어도 하나의 블록체인 노드가, 상기 제2 특정 인증기관 서명값을 검증하여 상기 제2 특정 인증기관 서명값이 유효한 경우, 상기 특정 사용자 스마트 컨트랙트를 실행하여 상기 특정 사용자 특정 아이덴티티 클레임이 상기 분산원장에 등록되도록 하고, 상기 특정 사용자 특정 아이덴티티 클레임을 상기 분산원장에 등록하도록 하는 특정 사용자 특정 아이덴티티 클레임 등록 트랜잭션에 대응되는 특정 사용자 특정 아이덴티티 클레임 등록 트랜잭션 아이디를 상기 특정 인증기관 서버로 전송함으로써, 상기 특정 인증기관 서버로 하여금 상기 특정 사용자 특정 아이덴티티 클레임 등록 트랜잭션 아이디를 이용하여 상기 분산원장에 등록된 상기 특정 사용자 특정 아이덴티티 클레임에 대응하는 특정 사용자 특정 아이덴티티 클레임 아이디를 획득하고, 적어도 상기 특정 사용자 특정 아이덴티티를 상기 특정 인증기관 프라이빗 키로 서명한 특정 클레임 서명값과 상기 특정 사용자 특정 아이덴티티 클레임 아이디를 상기 특정 사용자 단말로 전송하도록 하는 단계;
를 포함하는 방법.
In the method of managing the identity of the user using the blockchain network,
(a) Claims smart contracts to generate claims for the identities of users and certifying authorities, multiple blockchain nodes with user smart contracts and certifying authority smart contracts respectively corresponding to users and certifying authorities Registered in the distributed ledger of the blockchain network constituted by, the addresses on the distributed ledger for the user smart contracts and the certification authority smart contracts are managed with the IDs of the users and the certification authorities, and the In the state where each user self-claim including user-specific values processed by user identities corresponding to users is registered in the distributed ledger, (i) authentication from a specific user ID and specific user identities from a specific user terminal. Respond to a specific user-specific identity claim registration request for a specific user-specific identity, including a specific user-specific identity for, and at least a first specific user-specific value processing the specific user identities, or (ii) from the specific user terminal In response to the specific user specific identity claim registration request obtained from the specific user terminal by transmitting the specific user specific identity corresponding to a specific user to the specific user terminal in response to the identity claim registration request of When a confirmation request for a specific user self-claim ID corresponding to a specific user self-claim is obtained, at least one blockchain node among the plurality of blockchain nodes executes a specific user smart contract and is registered in the distributed ledger By sending the specific user self claim ID corresponding to a specific user self claim to the specific certification authority server, the specific certification authority server uses the specific user self claim ID to register the specific user self claim registered in the distributed ledger. Confirming to obtain a second specific user specific value included in the specific user self claim; And
(b) a specific user-specific identity claim from the specific certification authority server-the specific user-specific identity claim is generated by the specific certification authority server, and included in the specific user-specific identity claim registration request from the specific user terminal In a state where the first specific user specific value and the second specific user specific value included in the specific user self-claim of the distributed ledger match, the specific certification authority server verifies the specific user specific identity, and then the specific The first specific signature of the specific certification authority ID corresponding to the certification authority server, the specific claim type corresponding to the specific user specific identity, and the specific user ID and the specific claim type with the specific certification authority private key of the specific certification authority server. Generated by including a certification authority signature value-and a specific user-specific identity claim registration request transaction including the second specific certification authority signature value signed by the specific certification authority private key and the specific user-specific identity claim is obtained. When at least one blockchain node verifies the signature value of the second specific certification authority and the second specific certification authority signature value is valid, the specific user specific identity claim is executed to the distributed ledger by executing the specific user smart contract. The specific certification authority by sending a specific user-specific identity claim registration transaction ID corresponding to a specific user-specific identity claim registration transaction to be registered and to register the specific user-specific identity claim to the distributed ledger, to the specific certification authority server A server obtains a specific user-specific identity claim ID corresponding to the specific user-specific identity claim registered in the distributed ledger by using the specific user-specific identity claim transaction ID, and at least authenticates the specific user-specific identity The specific claims signature value signed with the institution private key, Transmitting the specific user-specific identity claim ID to the specific user terminal;
How to include.
제1항에 있어서,
(c) 상기 특정 사용자 단말로부터 상기 특정 사용자 특정 아이덴티티 클레임 아이디를 이용한 상기 특정 사용자 특정 아이덴티티 삭제 클레임 데이터와 상기 특정 사용자 특정 아이덴티티 삭제 클레임 데이터를 상기 특정 사용자의 특정 사용자 프라이빗 키로 서명한 제1 특정 사용자 서명값을 포함하는 특정 사용자 특정 아이덴티티 클레임 삭제 요청 트랜잭션이 획득되면, 상기 적어도 하나의 블록체인 노드가, 상기 제1 특정 사용자 서명값을 검증하여 상기 제1 특정 사용자 서명값이 유효한 경우, 상기 특정 사용자 스마트 컨트랙트를 실행하여 상기 특정 사용자 특정 아이덴티티 클레임 아이디에 대응되는 상기 특정 사용자 특정 아이덴티티 클레임을 삭제하기 위한 특정 사용자 특정 아이덴티티 클레임 삭제 트랜잭션이 상기 분산원장에 등록되도록 하는 단계;
를 더 포함하는 것을 특징으로 하는 방법.
According to claim 1,
(c) a first specific user signature that signs the specific user specific identity deletion claim data and the specific user specific identity deletion claim data with the specific user private key of the specific user using the specific user specific identity claim ID from the specific user terminal When a request for deleting a specific user-specific identity claim including a value is obtained, the at least one blockchain node verifies the first specific user signature value, and if the first specific user signature value is valid, the specific user smart Executing a contract so that a transaction for deleting a specific user-specific identity claim for deleting the specific user-specific identity claim corresponding to the specific user-specific identity claim is registered in the distributed ledger;
Method further comprising a.
제1항에 있어서,
(d) 상기 특정 인증기관 서버로부터 상기 특정 사용자 특정 아이덴티티 클레임 아이디를 이용한 상기 특정 사용자 특정 아이덴티티 삭제 클레임 데이터와 상기 특정 사용자 특정 아이덴티티 삭제 클레임 데이터를 상기 특정 인증기관 프라이빗 키로 서명한 제3 특정 인증기관 서명값을 포함하는 특정 사용자 특정 아이덴티티 클레임 삭제 요청 트랜잭션이 획득되면, 상기 적어도 하나의 블록체인 노드가, 상기 제3 특정 인증기관 서명값을 검증하여 상기 제3 특정 인증기관 서명값이 유효한 경우, 상기 특정 사용자 스마트 컨트랙트를 실행하여 상기 특정 사용자 특정 아이덴티티 클레임 아이디에 대응되는 상기 특정 사용자 특정 아이덴티티 클레임을 삭제하기 위한 특정 사용자 특정 아이덴티티 클레임 삭제 트랜잭션이 상기 분산원장에 등록되도록 하는 단계;
를 더 포함하는 것을 특징으로 하는 방법.
According to claim 1,
(d) a third specific certification authority signing the specific user specific identity deletion claim data and the specific user specific identity deletion claim data with the specific certification authority private key using the specific user specific identity claim ID from the specific certification authority server When a request for deleting a specific user-specific identity claim including a value is obtained, the at least one blockchain node verifies the third specific certification authority signature value, and if the third specific certification authority signature value is valid, the specific Executing a user smart contract so that a transaction for deleting a specific user-specific identity claim for deleting the specific user-specific identity claim corresponding to the specific user-specific identity claim is registered in the distributed ledger;
Method further comprising a.
제3항에 있어서,
상기 적어도 하나의 블록체인 노드는, 사용자 특정 아이덴티티 클레임 삭제 트랜잭션에 대응하여 상기 분산원장에 등록된 상기 특정 사용자 특정 아이덴티티 삭제 클레임의 아이디인 특정 사용자 특정 아이덴티티 삭제 클레임 아이디를 상기 특정 인증기관 서버로 전송함으로써, 상기 특정 인증기관 서버로 하여금 상기 특정 사용자 특정 아이덴티티 삭제 클레임 아이디를 상기 특정 사용자 단말로 전송하도록 하며, 상기 특정 사용자 단말로부터 상기 특정 사용자 특정 아이덴티티 삭제 클레임 아이디와 상기 특정 사용자 특정 아이덴티티 삭제 클레임에 대한 승인 정보를 포함하는 특정 사용자 특정 아이덴티티 삭제 승인 데이터와, 상기 특정 사용자 특정 아이덴티티 클레임 삭제 승인 데이터를 상기 특정 사용자의 특정 사용자 프라이빗 키로 서명한 제2 특정 사용자 서명값을 포함하는 특정 사용자 특정 아이덴티티 클레임 삭제 승인 트랜잭션이 획득되면, 상기 제2 특정 사용자 서명값을 검증하여 상기 제2 특정 사용자 서명값이 유효한 경우, 상기 특정 사용자 스마트 컨트랙트를 실행하여 상기 특정 사용자 특정 아이덴티티 클레임이 상기 분산원장에서 삭제되도록 하는 것을 특징으로 하는 방법.
According to claim 3,
The at least one blockchain node transmits a specific user specific identity deletion claim ID which is an ID of the specific user specific identity deletion claim registered in the distributed ledger to the specific certification authority server in response to a user specific identity claim deletion transaction. , To allow the specific certification authority server to transmit the ID of the specific user-specific identity deletion claim to the specific user terminal, and approve the specific user-specific identity deletion claim ID and the specific user-specific identity deletion claim from the specific user terminal A specific user-specific identity claim deletion approval transaction that includes a specific user-specific identity deletion approval data including information and a second specific user signature value that signs the specific user-specific identity claim deletion approval data with the specific user private key of the specific user When it is obtained, if the second specific user signature value is valid by verifying the second specific user signature value, the specific user specific identity claim is deleted from the distributed ledger by executing the specific user smart contract. How to.
제1항에 있어서,
(e) 상기 특정 인증기관 서버로부터의 상기 분산원장에 등록된 상기 특정 사용자 특정 아이덴티티 클레임에 대응하는 특정 사용자 특정 아이덴티티 클레임 아이디를 참조하여 상기 특정 사용자 단말로부터 상기 특정 사용자 특정 아이덴티티 클레임 아이디와 상기 특정 사용자 특정 아이덴티티 클레임에 대한 승인 정보를 포함하는 특정 사용자 특정 아이덴티티 승인 데이터와, 상기 특정 사용자 특정 아이덴티티 승인 데이터를 상기 특정 사용자의 특정 사용자 프라이빗 키로 서명한 제3 특정 사용자 서명값을 포함하는 특정 사용자 특정 아이덴티티 클레임 승인 트랜잭션이 획득되면, 상기 적어도 하나의 블록체인 노드가, 상기 제3 특정 사용자 서명값을 검증하여 상기 제3 특정 사용자 서명값이 유효한 경우, 상기 특정 사용자 스마트 컨트랙트를 실행하여 상기 특정 사용자 특정 아이덴티티 클레임 승인 트랜잭션이 상기 분산원장에 등록되도록 하는 단계;
를 더 포함하는 것을 특징으로 하는 방법.
According to claim 1,
(e) The specific user-specific identity claim ID and the specific user from the specific user terminal by referring to the specific user-specific identity claim ID corresponding to the specific user-specific identity claim registered in the distributed ledger from the specific certification authority server. A specific user-specific identity claim including a specific user-specific identity approval data including approval information for a specific identity claim, and a third specific user signature value signing the specific user-specific identity approval data with the specific user private key of the specific user. When an approval transaction is obtained, the at least one blockchain node verifies the third specific user signature value, and if the third specific user signature value is valid, executes the specific user smart contract to claim the specific user specific identity Allowing an approval transaction to be registered in the distributed ledger;
Method further comprising a.
제5항에 있어서,
상기 (e) 단계에서,
상기 적어도 하나의 블록체인 노드는, 상기 특정 사용자 특정 아이덴티티 클레임 승인 트랜잭션을 프록시 서버로부터 획득하되, 상기 프록시 서버로부터 상기 특정 사용자 특정 아이덴티티 클레임 승인 트랜잭션과 상기 특정 사용자 특정 아이덴티티 클레임 승인 트랜잭션을 상기 프록시 서버의 프록시 서버 프라이빗 키로 서명한 제1 프록시 서버 서명값을 획득하며, 상기 제1 프록시 서버 서명값을 검증하여 상기 제1 프록시 서버 서명값이 유효한 경우 상기 특정 사용자 스마트 컨트랙트를 실행하는 것을 특징으로 하는 방법.
The method of claim 5,
In step (e),
The at least one blockchain node obtains the specific user-specific identity claim approval transaction from a proxy server, and the specific user-specific identity claim approval transaction and the specific user-specific identity claim approval transaction are obtained from the proxy server. A method of obtaining a first proxy server signature value signed with a proxy server private key, and verifying the first proxy server signature value to execute the specific user smart contract when the first proxy server signature value is valid.
제1항에 있어서,
상기 (a) 단계에서,
상기 적어도 하나의 블록체인 노드는, 상기 특정 사용자 단말로부터 상기 인증기관들의 리스트 요청에 대응하여 상기 분산원장에 등록된 상기 인증기관들의 리스트를 상기 특정 사용자 단말로 전송하여 줌으로써 상기 특정 사용자 단말이 상기 인증기관들 중 상기 특정 사용자 특정 아이덴티티에 대한 인증을 수행할 특정 인증기관을 선택할 수 있도록 하는 것을 특징으로 하는 방법.
According to claim 1,
In step (a),
The at least one blockchain node transmits a list of the certification authorities registered in the distributed ledger to the specific user terminal in response to a request for a list of the certification authorities from the specific user terminal, so that the specific user terminal authenticates the A method characterized in that it is possible to select a specific certification authority to perform authentication for the specific user-specific identity among institutions.
제1항에 있어서,
상기 특정 사용자 셀프 클레임에 등록된 상기 특정 사용자 특정값은 상기 특정 사용자 아이덴티티들 각각에 대한 해시값들이 각각의 리프 노드들 중 적어도 일부에 할당된 머클트리의 루트 해시값이며,
상기 (a) 단계에서,
상기 특정 사용자 특정 아이덴티티 클레임 등록 요청에는 상기 머클트리의 정보가 포함되며,
상기 (b) 단계에서,
상기 특정 인증기관 서버는 상기 머클트리의 정보와 상기 특정 사용자 특정 아이덴티티의 해시값을 이용하여 루트 해시값을 생성하며, 생성된 상기 루트 해시값과 상기 특정 사용자 셀프 클레임에 포함된 비교 대상 루트 해시값이 일치하는지 확인하는 것을 특징으로 하는 방법.
According to claim 1,
The specific user specific value registered in the specific user self-claim is a root hash value of the Merkle tree in which hash values for each of the specific user identities are assigned to at least some of the respective leaf nodes,
In step (a),
The request for registering the specific user-specific identity claim includes the information of the Merkle tree,
In step (b),
The specific certification authority server generates a root hash value using the information of the Merkle tree and a hash value of the specific user-specific identity, and the generated root hash value and the comparison target root hash value included in the specific user self-claim A method characterized in that it matches.
제1항에 있어서,
상기 (b) 단계에서,
상기 적어도 하나의 블록체인 노드는, 상기 분산원장에 등록된 디지털 서명 검증 모듈을 실행하여 상기 제2 특정 인증기관 서명값과 상기 특정 사용자 특정 아이덴티티 클레임을 참조하여 상기 특정 인증기관 프라이빗 키에 대응되는 특정 인증기관 퍼블릭 키를 획득하도록 하며, 상기 특정 인증기관 퍼블릭 키를 이용하여 상기 제2 특정 인증기관 서명값으로부터 확인되는 비교 대상 데이터와 상기 특정 사용자 특정 아이덴티티 클레임이 일치하는지를 확인함으로써 상기 제2 특정 인증기관 서명값이 유효한지를 검증하는 것을 특징으로 하는 방법.
According to claim 1,
In step (b),
The at least one blockchain node executes a digital signature verification module registered in the distributed ledger, and refers to the second specific certification authority signature value and the specific user-specific identity claim to correspond to the specific certification authority private key. The second specific certification authority is obtained by confirming whether the comparison target data identified from the second specific certification authority signature value and the specific user-specific identity claim match by using the specific certification authority public key. And verifying that the signature value is valid.
제1항에 있어서,
상기 (b) 단계에서,
상기 특정 사용자 특정 아이덴티티 클레임 등록 요청 트랜잭션은, 상기 특정 인증기관 프라이빗 키에 대응되는 특정 인증기관 퍼블릭 키를 포함하며,
상기 적어도 하나의 블록체인 노드는, 상기 특정 인증기관 퍼블릭 키를 이용하여 상기 제2 특정 인증기관 서명값으로부터 확인되는 비교 대상 데이터와 상기 특정 사용자 특정 아이덴티티 클레임이 일치하는지를 확인함으로써 상기 제2 특정 인증기관 서명값이 유효한지를 검증하는 것을 특징으로 하는 방법.
According to claim 1,
In step (b),
The specific user specific identity claim registration request transaction includes a specific certification authority public key corresponding to the specific certification authority private key,
The at least one blockchain node uses the specific certification authority public key to confirm whether the comparison target data identified from the second specific certification authority signature value and the specific user-specific identity claim match. And verifying that the signature value is valid.
제1항에 있어서,
상기 (b) 단계에서,
상기 적어도 하나의 블록체인 노드는, (i) 상기 특정 사용자 특정 아이덴티티 클레임 등록 요청 트랜잭션을 프록시 서버로부터 획득하되, 상기 프록시 서버로부터 상기 특정 사용자 특정 아이덴티티 클레임 등록 요청 트랜잭션과 상기 특정 사용자 특정 아이덴티티 클레임 등록 요청 트랜잭션을 상기 프록시 서버의 프록시 서버 프라이빗 키로 서명한 제2 프록시 서버 서명값을 획득하며, 상기 제2 프록시 서버 서명값을 검증하여 상기 제2 프록시 서버 서명값이 유효한 경우 상기 특정 사용자 스마트 컨트랙트를 실행하며, (ii) 상기 특정 사용자 특정 아이덴티티 클레임 등록 트랜잭션 아이디를 상기 프록시 서버로 전송함으로써 상기 프록시 서버가 상기 특정 사용자 특정 아이덴티티 클레임 등록 트랜잭션 아이디를 상기 특정 인증기관 서버로 전송하도록 하는 것을 특징으로 하는 방법.
According to claim 1,
In step (b),
The at least one blockchain node may obtain (i) the specific user-specific identity claim registration request transaction from a proxy server, but the specific user-specific identity claim registration transaction and the specific user-specific identity claim registration request from the proxy server Acquire a second proxy server signature value that signs a transaction with the proxy server private key of the proxy server, and verify the second proxy server signature value to execute the specific user smart contract when the second proxy server signature value is valid, , (ii) sending the specific user-specific identity claim registration transaction ID to the proxy server, so that the proxy server transmits the specific user-specific identity claim registration transaction ID to the specific certification authority server.
제1항에 있어서,
상기 (a) 단계에서,
상기 특정 사용자 특정 아이덴티티 클레임 등록 요청은 타임 스탬프를 더 포함하며,
상기 (b) 단계에서,
상기 특정 사용자 특정 아이덴티티 클레임은 상기 타임 스탬프를 더 포함하고,
상기 제1 특정 인증기관 서명값 및 상기 특정 클레임 서명값은 상기 타임 스탬프를 더 포함하여 서명된 것을 특징으로 하는 방법.
According to claim 1,
In step (a),
The request to register the specific user-specific identity claim further includes a time stamp,
In step (b),
The specific user-specific identity claim further includes the time stamp,
And wherein the first specific certification authority signature value and the specific claim signature value further include the time stamp.
블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 블록체인 네트워크의 블록체인 노드에 있어서,
사용자 아이덴티티를 관리하기 위한 인스트럭션들이 저장된 메모리; 및
상기 메모리에 저장된 상기 인스트럭션들에 따라 상기 사용자 아이덴티티를 관리하는 동작을 수행하는 프로세서;
를 포함하되,
상기 프로세서는,
(i) 사용자들 및 인증기관들의 아이덴티티들에 대한 클레임을 생성하도록 하는 클레임 스마트 컨트렉트가 사용자들 및 인증기관들에 대응하여 각각 사용자 스마트 컨트랙트들과 인증기관 스마트 컨트랙트들로 다수의 블록체인 노드들에 의해 구성되는 블록체인 네트워크의 분산원장에 등록되며, 상기 사용자 스마트 컨트랙트들 및 상기 인증기관 스마트 컨트랙트들에 대한 상기 분산원장 상의 어드레스들이 상기 사용자들 및 상기 인증기관들의 아이디들로 관리되고, 상기 사용자들에 각각 대응되는 사용자 아이덴티티들을 가공한 사용자 특정값들을 포함하는 각각의 사용자 셀프 클레임들이 상기 분산원장에 등록된 상태에서, (i-1) 특정 사용자 단말로부터의 특정 사용자 아이디, 특정 사용자 아이덴티티들 중 인증을 위한 특정 사용자 특정 아이덴티티, 및 적어도 상기 특정 사용자 아이덴티티들을 가공한 제1 특정 사용자 특정값을 포함하는 특정 사용자 특정 아이덴티티에 대한 특정 사용자 특정 아이덴티티 클레임 등록 요청에 대응하거나, (i-2) 상기 특정 사용자 단말로부터의 아이덴티티 클레임 등록 요청에 대응하여 특정 사용자에 대응되는 상기 특정 사용자 특정 아이덴티티를 상기 특정 사용자 단말로 전송하여 줌으로써 상기 특정 사용자 단말로부터 획득되는 상기 특정 사용자 특정 아이덴티티 클레임 등록 요청에 대응하여 특정 인증기관 서버로부터 특정 사용자 셀프 클레임에 대응하는 특정 사용자 셀프 클레임 아이디에 대한 확인 요청이 획득되면, 특정 사용자 스마트 컨트랙트를 실행하여 상기 분산원장에 등록된 상기 특정 사용자 셀프 클레임에 대응하는 상기 특정 사용자 셀프 클레임 아이디를 상기 특정 인증기관 서버로 전송함으로써 상기 특정 인증기관 서버로 하여금 상기 특정 사용자 셀프 클레임 아이디를 이용하여 상기 분산원장에 등록된 상기 특정 사용자 셀프 클레임을 확인하여 상기 특정 사용자 셀프 클레임에 포함된 제2 특정 사용자 특정값을 획득하도록 하는 프로세스, 및 (ii) 상기 특정 인증기관 서버로부터 특정 사용자 특정 아이덴티티 클레임 - 상기 특정 사용자 특정 아이덴티티 클레임은 상기 특정 인증기관 서버에서 생성된 것으로, 상기 특정 사용자 단말로부터의 상기 특정 사용자 특정 아이덴티티 클레임 등록 요청에 포함된 상기 제1 특정 사용자 특정값과 상기 분산원장의 상기 특정 사용자 셀프 클레임에 포함된 상기 제2 특정 사용자 특정값이 일치하는 상태에서, 상기 특정 인증기관 서버가 상기 특정 사용자 특정 아이덴티티를 검증한 다음, 상기 특정 인증기관 서버에 대응되는 특정 인증기관 아이디, 적어도 상기 특정 사용자 특정 아이덴티티에 대응되는 특정 클레임 타입, 및 상기 특정 사용자 아이디와 상기 특정 클레임 타입을 상기 특정 인증기관 서버의 특정 인증기관 프라이빗 키로 서명한 제1 특정 인증기관 서명값을 포함하여 생성한 것임 - 과 상기 특정 사용자 특정 아이덴티티 클레임을 상기 특정 인증기관 프라이빗 키로 서명한 제2 특정 인증기관 서명값을 포함하는 특정 사용자 특정 아이덴티티 클레임 등록 요청 트랜잭션이 획득되면, 상기 제2 특정 인증기관 서명값을 검증하여 상기 제2 특정 인증기관 서명값이 유효한 경우, 상기 특정 사용자 스마트 컨트랙트를 실행하여 상기 특정 사용자 특정 아이덴티티 클레임이 상기 분산원장에 등록되도록 하고, 상기 특정 사용자 특정 아이덴티티 클레임을 상기 분산원장에 등록하도록 하는 특정 사용자 특정 아이덴티티 클레임 등록 트랜잭션에 대응되는 특정 사용자 특정 아이덴티티 클레임 등록 트랜잭션 아이디를 상기 특정 인증기관 서버로 전송함으로써, 상기 특정 인증기관 서버로 하여금 상기 특정 사용자 특정 아이덴티티 클레임 등록 트랜잭션 아이디를 이용하여 상기 분산원장에 등록된 상기 특정 사용자 특정 아이덴티티 클레임에 대응하는 특정 사용자 특정 아이덴티티 클레임 아이디를 획득하고, 적어도 상기 특정 사용자 특정 아이덴티티를 상기 특정 인증기관 프라이빗 키로 서명한 특정 클레임 서명값과 상기 특정 사용자 특정 아이덴티티 클레임 아이디를 상기 특정 사용자 단말로 전송하도록 하는 프로세스를 수행하는 것을 특징으로 하는 블록체인 노드.
In the blockchain node of the blockchain network that manages the user's identity using the blockchain network,
A memory in which instructions for managing user identities are stored; And
A processor performing an operation of managing the user identity according to the instructions stored in the memory;
Including,
The processor,
(i) Claims smart contracts to generate claims for the identities of users and certifying authorities, multiple blockchain nodes with user smart contracts and certifying authority smart contracts, respectively, corresponding to users and certifying agents Registered in the distributed ledger of the blockchain network constituted by, the addresses on the distributed ledger for the user smart contracts and the certification authority smart contracts are managed with the IDs of the users and the certification authorities, and the In the state where each user self-claim including user-specific values processed by user identities corresponding to users is registered in the distributed ledger, (i-1) a specific user ID from a specific user terminal, specific user identities Respond to a specific user specific identity claim registration request for a specific user specific identity including a specific user specific identity for authentication, and at least a first specific user specific value processing the specific user identities, or (i-2) In response to a request for registering an identity claim from a specific user terminal, the specific user-specific identity corresponding to a specific user is transmitted to the specific user terminal to be specified in response to the specific user-specific identity claim registration request obtained from the specific user terminal When a request for confirmation of a specific user self-claim ID corresponding to a specific user self-claim is obtained from a certification authority server, the specific user self-claim corresponding to the specific user self-claim registered in the distributed ledger is executed by executing a specific user smart contract By sending the ID to the specific certification authority server, the specific certification authority server confirms the specific user self-claim registered in the distributed ledger using the specific user self-claim ID, and the second included in the specific user self-claim A process for obtaining a specific user specific value, and (ii) specific user identification from the specific certification authority server Identity claim-The specific user specific identity claim is generated by the specific certification authority server, and includes the first specific user specific value and the distributed ledger included in the specific user specific identity claim registration request from the specific user terminal. In the state in which the second specific user specific value included in the specific user self-claim matches, the specific certification authority server verifies the specific user specific identity, and then the specific certification authority ID corresponding to the specific certification authority server, at least It is generated by including a specific claim type corresponding to the specific user specific identity, and a first specific certification authority signature value signing the specific user ID and the specific claim type with a specific certification authority private key of the specific certification authority server − And a specific user-specific identity claim registration request transaction including the second specific certification authority signature value signed with the specific certification authority private key, and verifying the second specific certification authority signature value. If the second specific certification authority signature value is valid, the specific user executes the specific user smart contract so that the specific user specific identity claim is registered in the distributed ledger, and the specific user specific identity claim is registered in the distributed ledger By sending a specific user specific identity claim registration transaction ID corresponding to a specific identity claim registration transaction to the specific certification authority server, the specific certification authority server registers with the distributed ledger using the specific user specific identity claim registration transaction ID Obtain a specific user-specific identity claim ID corresponding to the specific user-specific identity claim, and at least the specific user-signed identity signed by the specific certification authority private key and the specific user-signed identity value and the specific user-specific identity claim ID Even when transmitted to the user terminal Blockchain node characterized by performing a locking process.
제13항에 있어서,
상기 프로세스는,
(iii) 상기 특정 사용자 단말로부터 상기 특정 사용자 특정 아이덴티티 클레임 아이디를 이용한 상기 특정 사용자 특정 아이덴티티 삭제 클레임 데이터와 상기 특정 사용자 특정 아이덴티티 삭제 클레임 데이터를 상기 특정 사용자의 특정 사용자 프라이빗 키로 서명한 제1 특정 사용자 서명값을 포함하는 특정 사용자 특정 아이덴티티 클레임 삭제 요청 트랜잭션이 획득되면, 상기 제1 특정 사용자 서명값을 검증하여 상기 제1 특정 사용자 서명값이 유효한 경우, 상기 특정 사용자 스마트 컨트랙트를 실행하여 상기 특정 사용자 특정 아이덴티티 클레임 아이디에 대응되는 상기 특정 사용자 특정 아이덴티티 클레임을 삭제하기 위한 특정 사용자 특정 아이덴티티 클레임 삭제 트랜잭션이 상기 분산원장에 등록되도록 하는 프로세스를 더 수행하는 것을 특징으로 하는 블록체인 노드.
The method of claim 13,
The process is
(iii) a first specific user signature that has signed the specific user specific identity deletion claim data and the specific user specific identity deletion claim data with the specific user private key of the specific user using the specific user specific identity claim ID from the specific user terminal When a request for deleting a specific user specific identity claim including a value is obtained, if the first specific user signature value is valid by validating the first specific user signature value, executing the specific user smart contract to execute the specific user specific identity Blockchain node further comprising the process of deleting a specific user-specific identity claim transaction for deleting the specific user-specific identity claim corresponding to the claim ID in the distributed ledger.
제13항에 있어서,
상기 프로세서는,
(iv) 상기 특정 인증기관 서버로부터 상기 특정 사용자 특정 아이덴티티 클레임 아이디를 이용한 상기 특정 사용자 특정 아이덴티티 삭제 클레임 데이터와 상기 특정 사용자 특정 아이덴티티 삭제 클레임 데이터를 상기 특정 인증기관 프라이빗 키로 서명한 제3 특정 인증기관 서명값을 포함하는 특정 사용자 특정 아이덴티티 클레임 삭제 요청 트랜잭션이 획득되면, 상기 제3 특정 인증기관 서명값을 검증하여 상기 제3 특정 인증기관 서명값이 유효한 경우, 상기 특정 사용자 스마트 컨트랙트를 실행하여 상기 특정 사용자 특정 아이덴티티 클레임 아이디에 대응되는 상기 특정 사용자 특정 아이덴티티 클레임을 삭제하기 위한 특정 사용자 특정 아이덴티티 클레임 삭제 트랜잭션이 상기 분산원장에 등록되도록 하는 프로세스를 더 수행하는 것을 특징으로 하는 블록체인 노드.
The method of claim 13,
The processor,
(iv) a third specific certification authority signing the specific user specific identity deletion claim data and the specific user specific identity deletion claim data with the specific certification authority private key using the specific user specific identity claim ID from the specific certification authority server When a request for deleting a specific user specific identity claim including a value is obtained, if the third specific certification authority signature value is valid by verifying the third specific certification authority signature value, the specific user is executed by executing the specific user smart contract A blockchain node, further comprising a process of deleting a specific user-specific identity claim for deleting the specific user-specific identity claim corresponding to a specific identity claim ID in the distributed ledger.
제15항에 있어서,
상기 프로세스는, 사용자 특정 아이덴티티 클레임 삭제 트랜잭션에 대응하여 상기 분산원장에 등록된 상기 특정 사용자 특정 아이덴티티 삭제 클레임의 아이디인 특정 사용자 특정 아이덴티티 삭제 클레임 아이디를 상기 특정 인증기관 서버로 전송함으로써, 상기 특정 인증기관 서버로 하여금 상기 특정 사용자 특정 아이덴티티 삭제 클레임 아이디를 상기 특정 사용자 단말로 전송하도록 하며, 상기 특정 사용자 단말로부터 상기 특정 사용자 특정 아이덴티티 삭제 클레임 아이디와 상기 특정 사용자 특정 아이덴티티 삭제 클레임에 대한 승인 정보를 포함하는 특정 사용자 특정 아이덴티티 삭제 승인 데이터와, 상기 특정 사용자 특정 아이덴티티 클레임 삭제 승인 데이터를 상기 특정 사용자의 특정 사용자 프라이빗 키로 서명한 제2 특정 사용자 서명값을 포함하는 특정 사용자 특정 아이덴티티 클레임 삭제 승인 트랜잭션이 획득되면, 상기 제2 특정 사용자 서명값을 검증하여 상기 제2 특정 사용자 서명값이 유효한 경우, 상기 특정 사용자 스마트 컨트랙트를 실행하여 상기 특정 사용자 특정 아이덴티티 클레임이 상기 분산원장에서 삭제되도록 하는 것을 특징으로 하는 블록체인 노드.
The method of claim 15,
In response to the user specific identity claim deletion transaction, the process transmits the specific user specific identity deletion claim ID, which is the ID of the specific user specific identity deletion claim registered in the distributed ledger, to the specific certification authority server, so that the specific certification authority The server is configured to transmit the specific user specific identity deletion claim ID to the specific user terminal, and includes the specific user specific identity deletion claim ID and approval information for the specific user specific identity deletion claim from the specific user terminal. When a specific user specific identity claim deletion approval transaction is obtained, which includes a user specific identity deletion approval data and a second specific user signature value that signs the specific user specific identity claim deletion approval data with the specific user private key of the specific user, the transaction A blockchain node characterized by verifying a second specific user signature value to execute the specific user smart contract so that the specific user specific identity claim is deleted from the distributed ledger when the second specific user signature value is valid.
제13항에 있어서,
상기 프로세서는,
(v) 상기 특정 인증기관 서버로부터의 상기 분산원장에 등록된 상기 특정 사용자 특정 아이덴티티 클레임에 대응하는 특정 사용자 특정 아이덴티티 클레임 아이디를 참조하여 상기 특정 사용자 단말로부터 상기 특정 사용자 특정 아이덴티티 클레임 아이디와 상기 특정 사용자 특정 아이덴티티 클레임에 대한 승인 정보를 포함하는 특정 사용자 특정 아이덴티티 승인 데이터와, 상기 특정 사용자 특정 아이덴티티 승인 데이터를 상기 특정 사용자의 특정 사용자 프라이빗 키로 서명한 제3 특정 사용자 서명값을 포함하는 특정 사용자 특정 아이덴티티 클레임 승인 트랜잭션이 획득되면, 상기 제3 특정 사용자 서명값을 검증하여 상기 제3 특정 사용자 서명값이 유효한 경우, 상기 특정 사용자 스마트 컨트랙트를 실행하여 상기 특정 사용자 특정 아이덴티티 클레임 승인 트랜잭션이 상기 분산원장에 등록되도록 하는 프로세스를 더 수행하는 것을 특징으로 하는 블록체인 노드.
The method of claim 13,
The processor,
(v) the specific user-specific identity claim ID and the specific user from the specific user terminal by referring to the specific user-specific identity claim ID corresponding to the specific user-specific identity claim registered in the distributed ledger from the specific certification authority server A specific user-specific identity claim including a specific user-specific identity approval data including approval information for a specific identity claim, and a third specific user signature value signing the specific user-specific identity approval data with the specific user private key of the specific user. When an approval transaction is obtained, if the third specific user signature value is valid by validating the third specific user signature value, execute the specific user smart contract so that the specific user specific identity claim approval transaction is registered in the distributed ledger. Blockchain node characterized by further performing the process.
제17항에 있어서,
상기 프로세서는,
상기 (v) 프로세스에서, 상기 특정 사용자 특정 아이덴티티 클레임 승인 트랜잭션을 프록시 서버로부터 획득하되, 상기 프록시 서버로부터 상기 특정 사용자 특정 아이덴티티 클레임 승인 트랜잭션과 상기 특정 사용자 특정 아이덴티티 클레임 승인 트랜잭션을 상기 프록시 서버의 프록시 서버 프라이빗 키로 서명한 제1 프록시 서버 서명값을 획득하며, 상기 제1 프록시 서버 서명값을 검증하여 상기 제1 프록시 서버 서명값이 유효한 경우 상기 특정 사용자 스마트 컨트랙트를 실행하는 것을 특징으로 하는 블록체인 노드.
The method of claim 17,
The processor,
In the (v) process, the specific user-specific identity claim approval transaction is obtained from a proxy server, but the specific user-specific identity claim approval transaction and the specific user-specific identity claim approval transaction are obtained from the proxy server. A blockchain node characterized by acquiring a first proxy server signature value signed with a private key, and executing the specific user smart contract when the first proxy server signature value is valid by verifying the first proxy server signature value.
제13항에 있어서,
상기 프로세서는,
상기 (i) 프로세스에서, 상기 특정 사용자 단말로부터 상기 인증기관들의 리스트 요청에 대응하여 상기 분산원장에 등록된 상기 인증기관들의 리스트를 상기 특정 사용자 단말로 전송하여 줌으로써 상기 특정 사용자 단말이 상기 인증기관들 중 상기 특정 사용자 특정 아이덴티티에 대한 인증을 수행할 특정 인증기관을 선택할 수 있도록 하는 것을 특징으로 하는 블록체인 노드.
The method of claim 13,
The processor,
In the process (i), the specific user terminal transmits the list of the certification authorities registered in the distributed ledger to the specific user terminal in response to a request for the list of the certification authorities from the specific user terminal, so that the specific user terminal is the authentication authorities. Among them, a blockchain node characterized by allowing a specific certification authority to perform authentication for the specific user-specific identity.
제13항에 있어서,
상기 특정 사용자 셀프 클레임에 등록된 상기 특정 사용자 특정값은 상기 특정 사용자 아이덴티티들 각각에 대한 해시값들이 각각의 리프 노드들 중 적어도 일부에 할당된 머클트리의 루트 해시값이며,
상기 (i) 프로세스에서,
상기 특정 사용자 특정 아이덴티티 클레임 등록 요청에는 상기 머클트리의 정보가 포함되며,
상기 (ii) 프로세스에서,
상기 특정 인증기관 서버는 상기 머클트리의 정보와 상기 특정 사용자 특정 아이덴티티의 해시값을 이용하여 루트 해시값을 생성하며, 생성된 상기 루트 해시값과 상기 특정 사용자 셀프 클레임에 포함된 비교 대상 루트 해시값이 일치하는지 확인하는 것을 특징으로 하는 블록체인 노드.
The method of claim 13,
The specific user specific value registered in the specific user self-claim is a root hash value of the Merkle tree in which hash values for each of the specific user identities are assigned to at least some of the respective leaf nodes,
In the (i) process,
The request for registering the specific user-specific identity claim includes the information of the Merkle tree,
In the above (ii) process,
The specific certification authority server generates a root hash value using the information of the Merkle tree and a hash value of the specific user-specific identity, and the generated root hash value and the comparison target root hash value included in the specific user self-claim Blockchain node, characterized in that it matches.
제13항에 있어서,
상기 프로세서는,
상기 (ii) 프로세스에서, 상기 분산원장에 등록된 디지털 서명 검증 모듈을 실행하여 상기 제2 특정 인증기관 서명값과 상기 특정 사용자 특정 아이덴티티 클레임을 참조하여 상기 특정 인증기관 프라이빗 키에 대응되는 특정 인증기관 퍼블릭 키를 획득하도록 하며, 상기 특정 인증기관 퍼블릭 키를 이용하여 상기 제2 특정 인증기관 서명값으로부터 확인되는 비교 대상 데이터와 상기 특정 사용자 특정 아이덴티티 클레임이 일치하는지를 확인함으로써 상기 제2 특정 인증기관 서명값이 유효한지를 검증하는 것을 특징으로 하는 블록체인 노드.
The method of claim 13,
The processor,
In the process (ii), the digital signature verification module registered in the distributed ledger is executed to refer to the second specific certification authority signature value and the specific user-specific identity claim, and the specific certification authority corresponding to the specific certification authority private key. The second specific certification authority signature value is obtained by confirming whether the comparison target data identified from the second specific certification authority signature value and the specific user-specific identity claim match by using the specific certification authority public key. Blockchain node characterized by verifying that this is valid.
제13항에 있어서,
상기 프로세서는,
상기 (ii) 프로세스에서,
상기 특정 사용자 특정 아이덴티티 클레임 등록 요청 트랜잭션은, 상기 특정 인증기관 프라이빗 키에 대응되는 특정 인증기관 퍼블릭 키를 포함하며,
상기 특정 인증기관 퍼블릭 키를 이용하여 상기 제2 특정 인증기관 서명값으로부터 확인되는 비교 대상 데이터와 상기 특정 사용자 특정 아이덴티티 클레임이 일치하는지를 확인함으로써 상기 제2 특정 인증기관 서명값이 유효한지를 검증하는 것을 특징으로 하는 블록체인 노드.
The method of claim 13,
The processor,
In the above (ii) process,
The specific user specific identity claim registration request transaction includes a specific certification authority public key corresponding to the specific certification authority private key,
Verifying that the second specific certification authority signature value is valid by confirming whether the comparison target data identified from the second specific certification authority signature value and the specific user-specific identity claim match using the specific certification authority public key Blockchain node.
제13항에 있어서,
상기 프로세서는,
상기 (ii) 프로세스에서, (ii-1) 상기 특정 사용자 특정 아이덴티티 클레임 등록 요청 트랜잭션을 프록시 서버로부터 획득하되, 상기 프록시 서버로부터 상기 특정 사용자 특정 아이덴티티 클레임 등록 요청 트랜잭션과 상기 특정 사용자 특정 아이덴티티 클레임 등록 요청 트랜잭션을 상기 프록시 서버의 프록시 서버 프라이빗 키로 서명한 제2 프록시 서버 서명값을 획득하며, 상기 제2 프록시 서버 서명값을 검증하여 상기 제2 프록시 서버 서명값이 유효한 경우 상기 특정 사용자 스마트 컨트랙트를 실행하며, (ii-2) 상기 특정 사용자 특정 아이덴티티 클레임 등록 트랜잭션 아이디를 상기 프록시 서버로 전송함으로써 상기 프록시 서버가 상기 특정 사용자 특정 아이덴티티 클레임 등록 트랜잭션 아이디를 상기 특정 인증기관 서버로 전송하도록 하는 것을 특징으로 하는 블록체인 노드.
The method of claim 13,
The processor,
In the process (ii), (ii-1) obtaining the specific user specific identity claim registration transaction from a proxy server, wherein the specific user specific identity claim registration transaction and the specific user specific identity claim registration request from the proxy server Acquire a second proxy server signature value that signs a transaction with the proxy server private key of the proxy server, and verify the second proxy server signature value to execute the specific user smart contract when the second proxy server signature value is valid, , (ii-2) A block characterized in that the proxy server transmits the specific user specific identity claim registration transaction ID to the specific certification authority server by sending the specific user specific identity claim registration transaction ID to the proxy server. Chain node.
제13항에 있어서,
상기 (i) 프로세스에서,
상기 특정 사용자 특정 아이덴티티 클레임 등록 요청은 타임 스탬프를 더 포함하며,
상기 (ii) 단계에서,
상기 특정 사용자 특정 아이덴티티 클레임은 상기 타임 스탬프를 더 포함하고,
상기 상기 제1 특정 인증기관 서명값 및 상기 특정 클레임 서명값은 상기 타임 스탬프를 더 포함하여 서명된 것을 특징으로 하는 블록체인 노드.
The method of claim 13,
In the (i) process,
The request to register the specific user-specific identity claim further includes a time stamp,
In step (ii),
The specific user-specific identity claim further includes the time stamp,
The first specific certification authority signature value and the particular claim signature value are further signed by including the time stamp, a blockchain node.
KR1020190030195A 2019-03-15 2019-03-15 Method and server for managing user identity using blockchain network, and method and terminal for verifying user using user identity based on blockchain network KR102118962B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190030195A KR102118962B1 (en) 2019-03-15 2019-03-15 Method and server for managing user identity using blockchain network, and method and terminal for verifying user using user identity based on blockchain network
PCT/KR2020/003027 WO2020189927A1 (en) 2019-03-15 2020-03-03 Method and server for managing identity of user by using blockchain network, and method and terminal for authenticating user by using user identity on basis of blockchain network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190030195A KR102118962B1 (en) 2019-03-15 2019-03-15 Method and server for managing user identity using blockchain network, and method and terminal for verifying user using user identity based on blockchain network

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020190112070A Division KR20200110121A (en) 2019-09-10 2019-09-10 Method and server for managing user identity using blockchain network, and method and terminal for verifying user using user identity based on blockchain network

Publications (1)

Publication Number Publication Date
KR102118962B1 true KR102118962B1 (en) 2020-06-05

Family

ID=71089289

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190030195A KR102118962B1 (en) 2019-03-15 2019-03-15 Method and server for managing user identity using blockchain network, and method and terminal for verifying user using user identity based on blockchain network

Country Status (2)

Country Link
KR (1) KR102118962B1 (en)
WO (1) WO2020189927A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102299246B1 (en) * 2020-12-10 2021-09-07 이제너두 주식회사 Method and system for trading local current in online local win-win welfare mall
CN114553440A (en) * 2022-04-22 2022-05-27 山东省计算中心(国家超级计算济南中心) Cross-data center identity authentication method and system based on block chain and attribute signature

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11722312B2 (en) * 2020-03-09 2023-08-08 Sony Group Corporation Privacy-preserving signature
US11449585B2 (en) * 2020-04-01 2022-09-20 International Business Machines Corporation Dynamic management of user identifications
CN112769917B (en) * 2020-12-31 2022-08-02 山西特信环宇信息技术有限公司 Owner power alliance chain of cone block chain
CN113269546B (en) * 2021-07-19 2021-10-12 域世安(北京)科技有限公司 User identity card system and method based on block chain
CN113824570B (en) * 2021-11-23 2022-03-25 北京中超伟业信息安全技术股份有限公司 Block chain-based security terminal authentication method and system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110029032A (en) 2009-09-14 2011-03-22 사단법인 금융결제원 Method for processing issue public certificate of attestation, terminal and recording medium
KR101484744B1 (en) 2013-12-20 2015-01-21 고려대학교 산학협력단 Private key exposure detecting method and system for user authentication certificate
KR20160121231A (en) * 2015-04-10 2016-10-19 (주)인스타페이 Method, system and recording medium for user authentication using double encryption
KR101849912B1 (en) * 2017-05-25 2018-04-19 주식회사 코인플러그 Method for providing certificate service based on smart contract and server using the same
KR20180079805A (en) * 2017-01-02 2018-07-11 주식회사 코인플러그 Method for authenticating a user without a face-to-face contact by using mobile id based on blockchain, and terminal and server using the same
KR101903620B1 (en) * 2017-06-23 2018-10-02 홍석현 Method for authorizing peer in blockchain based distributed network, and server using the same

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3380984A4 (en) * 2015-11-24 2019-07-31 Ben-Ari, Adi A system and method for blockchain smart contract data privacy

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110029032A (en) 2009-09-14 2011-03-22 사단법인 금융결제원 Method for processing issue public certificate of attestation, terminal and recording medium
KR101484744B1 (en) 2013-12-20 2015-01-21 고려대학교 산학협력단 Private key exposure detecting method and system for user authentication certificate
KR20160121231A (en) * 2015-04-10 2016-10-19 (주)인스타페이 Method, system and recording medium for user authentication using double encryption
KR20180079805A (en) * 2017-01-02 2018-07-11 주식회사 코인플러그 Method for authenticating a user without a face-to-face contact by using mobile id based on blockchain, and terminal and server using the same
KR101849912B1 (en) * 2017-05-25 2018-04-19 주식회사 코인플러그 Method for providing certificate service based on smart contract and server using the same
KR101903620B1 (en) * 2017-06-23 2018-10-02 홍석현 Method for authorizing peer in blockchain based distributed network, and server using the same

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102299246B1 (en) * 2020-12-10 2021-09-07 이제너두 주식회사 Method and system for trading local current in online local win-win welfare mall
CN114553440A (en) * 2022-04-22 2022-05-27 山东省计算中心(国家超级计算济南中心) Cross-data center identity authentication method and system based on block chain and attribute signature

Also Published As

Publication number Publication date
WO2020189927A1 (en) 2020-09-24

Similar Documents

Publication Publication Date Title
US11777726B2 (en) Methods and systems for recovering data using dynamic passwords
KR102116235B1 (en) Method and server for managing user identity using blockchain network, and method and terminal for verifying user using user identity based on blockchain network
KR102118962B1 (en) Method and server for managing user identity using blockchain network, and method and terminal for verifying user using user identity based on blockchain network
US10771459B2 (en) Terminal apparatus, server apparatus, blockchain and method for FIDO universal authentication using the same
US11025435B2 (en) System and method for blockchain-based cross-entity authentication
US11082221B2 (en) Methods and systems for creating and recovering accounts using dynamic passwords
US11196573B2 (en) Secure de-centralized domain name system
KR102181600B1 (en) Method for sso service through blockchain, and terminal and server using the same
KR102254499B1 (en) Method for oauth service through blockchain, and terminal and server using the same
US8683196B2 (en) Token renewal
KR102118935B1 (en) Method and server for managing user identity using blockchain network, and method and terminal for verifying user using user identity based on blockchain network
KR102118947B1 (en) Method and server for managing user identity using blockchain network, and method and terminal for verifying user using user identity based on blockchain network
KR20200083396A (en) Method and server for managing user identity using blockchain network, and method and terminal for verifying user using user identity based on blockchain network
KR20200110118A (en) Method and server for managing user identity using blockchain network, and method and terminal for verifying user using user identity based on blockchain network
KR102216292B1 (en) Method for sso service through blockchain, and terminal and server using the same
KR102216305B1 (en) Method for sso service through blockchain, and terminal and server using the same
KR20200130191A (en) Method and server for managing user identity using blockchain network, and method and terminal for verifying user using user identity based on blockchain network
KR20200083179A (en) Method and server for managing user identity using blockchain network, and method and terminal for verifying user using user identity based on blockchain network
KR20200083178A (en) Method and server for managing user identity using blockchain network, and method and terminal for verifying user using user identity based on blockchain network
KR20190114421A (en) Method for sso service through blockchain, and terminal and server using the same
KR20200110121A (en) Method and server for managing user identity using blockchain network, and method and terminal for verifying user using user identity based on blockchain network
KR102118921B1 (en) Method and server for managing user identity using blockchain network, and method and terminal for verifying user using user identity based on blockchain network
KR102353808B1 (en) Method for sso service through blockchain, and terminal and server using the same
KR20200062098A (en) Method for sso service through blockchain, and terminal and server using the same
KR20200043320A (en) Method for sso service through blockchain, and terminal and server using the same

Legal Events

Date Code Title Description
GRNT Written decision to grant