KR101974452B1 - Methods and system for managing personal information based on programmable blockchain and one-id - Google Patents

Methods and system for managing personal information based on programmable blockchain and one-id Download PDF

Info

Publication number
KR101974452B1
KR101974452B1 KR1020170064394A KR20170064394A KR101974452B1 KR 101974452 B1 KR101974452 B1 KR 101974452B1 KR 1020170064394 A KR1020170064394 A KR 1020170064394A KR 20170064394 A KR20170064394 A KR 20170064394A KR 101974452 B1 KR101974452 B1 KR 101974452B1
Authority
KR
South Korea
Prior art keywords
user
management server
block chain
ciphertext
information
Prior art date
Application number
KR1020170064394A
Other languages
Korean (ko)
Other versions
KR20180129028A (en
Inventor
이정아
박현우
김미경
박재진
안준우
박수정
이남열
이승욱
정보름
Original Assignee
라온시큐어(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 라온시큐어(주) filed Critical 라온시큐어(주)
Priority to KR1020170064394A priority Critical patent/KR101974452B1/en
Publication of KR20180129028A publication Critical patent/KR20180129028A/en
Application granted granted Critical
Publication of KR101974452B1 publication Critical patent/KR101974452B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • H04L2209/38

Abstract

본 발명은 프로그래밍이 가능한 블록체인에 신원이 확인된 사용자정보를 암호화하여 보관하고, 사용자정보의 등록 및 요청시 사용자 인증 프로그램을 수행하게 하고, 관리서버를 통해 블록체인에 접근하도록 함으로써, 사용자정보를 보다 안전하게 보관할 수 있고 사용자 인증 프로그램의 무결성을 보장할 수 있고, 여러 기관서버들이 개별적으로 블록체인의 트랜잭션을 발생시키지 않고도 개인정보 확인이 가능하고, 관리서버조차도 블록체인의 사용자 인증 프로그램을 함부로 조작할 수 없도록 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법 및 시스템이 제공된다.
또한, 사용자 단말의 분실 또는 도난 등의 유사시에 대비하여 사용자정보를 백업으로 보관하도록 하여 사용자정보의 재입력 없이 새로운 사용자 단말로 블록체인에 재등록이 가능하도록 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법 및 시스템이 제공된다.
The present invention encrypts and stores user information whose identity has been confirmed in a programmable block chain, permits a user to perform a user authentication program upon registration and request of user information, and accesses a block chain through a management server, The integrity of the user authentication program can be ensured, personal information can be verified without generating transaction of the block chain individually, and even the management server can handle the user authentication program of the block chain A programmable block chain and an integrated identity based user information management method and system are provided.
In addition, it is possible to store the user information as a backup in preparation for a situation such as loss or theft of the user terminal, so that the new user terminal can re-register in the block chain without re-inputting the user information. Based user information management method and system.

Figure R1020170064394
Figure R1020170064394

Description

프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법 및 시스템{METHODS AND SYSTEM FOR MANAGING PERSONAL INFORMATION BASED ON PROGRAMMABLE BLOCKCHAIN AND ONE-ID}[0001] METHOD AND SYSTEM FOR MANAGING PERSONAL INFORMATION BASED ON PROGRAMMABLE BLOCKCHAIN AND ONE-ID [0002]

본 발명은 프로그래밍이 가능한 블록체인과 통합 아이디(ID) 기반의 사용자정보 관리 방법 및 시스템에 관한 것으로, 보다 상세하게는, 프로그래밍이 가능한 블록체인에 신원이 확인된 사용자정보를 암호화하여 보관 및 사용자 인증 프로그램을 수행하게 하고, 관리서버를 통해 블록체인에 접근하도록 하고, 또한, 사용자 단말의 분실 또는 도난 등의 유사시에 대비하여 사용자정보를 백업으로 보관하도록 하는 사용자정보 관리 방법 및 시스템에 관한 것이다.The present invention relates to a programmable block chain and an integrated user (ID) -based user information management method and system. More particularly, the present invention relates to a method and system for managing user information And a user information management method and system for allowing a user to access a block chain through a management server and to store user information as a backup in preparation for a situation such as loss or theft of a user terminal.

다양한 서비스제공자가 제공하는 서비스를 이용하기 위해서는 사용자정보 또는 개인정보가 여러 서비스제공자의 서버에 보관되므로, 하나의 서비스 서버라도 해킹되어도 사용자정보가 유출되는 문제가 발생한다. 또한, 사용자 단말이 분실 또는 탈취되어 새로운 단말을 사용하는 경우에는 기존의 사용자정보가 보관되어 있던 서비스제공자 서버에 접근이 불가하거나, 접근이 가능하다고 하더라도 재등록을 위해 사용자정보를 일일이 재입력해야 하는 번거로움이 있다.In order to use services provided by various service providers, user information or personal information is stored in servers of various service providers, so that even if one service server is hacked, user information is leaked. In addition, when the user terminal is lost or hijacked and uses a new terminal, it is impossible to access the service provider server in which the existing user information is stored, or the user information must be reentered for re-registration There is a hassle.

최근 사용자정보의 관리를 위해 보안성과 안정성이 입증된 블록체인을 많이 도입하고 있다. 대한민국 등록특허 제10-1590076호에서는 블록체인에 개인정보를 암호화하여 등록하는 기술이 공지되어 있다. 사용자와 기관(서비스 제공자) 서버가 일대일로 개인정보를 송수신하기 위해 블록체인을 매개체로 사용하는 기술로서, 사용자의 공개키로 개인정보를 암호화하여 블록체인에 저장하여 보안성을 높이고 있다. 그런데, 저장된 사용자정보의 접근시마다 매번 본인확인 또는 신원확인이 필요하며, 모든 기관이 블록체인에 접속시마다 직접 트랜잭션을 발생시켜야 하기 때문에 비용과 대기 시간이 증가하는 문제가 있다.Recently, many block chains have been proven to be secure and reliable in order to manage user information. Korean Patent No. 10-1590076 discloses a technique of encrypting and registering personal information in a block chain. A technology that uses a block chain as an intermediary to send and receive personal information on a one-to-one basis between a user and an institution (service provider) server. Security is enhanced by encrypting personal information with a user's public key and storing it in a block chain. However, each time the stored user information is accessed, it is necessary to confirm the identity or identity of the user every time. Therefore, there is a problem in that cost and waiting time are increased because all institutions must generate a direct transaction every time they access the block chain.

블록체인 기술은 보안성이 높은 단순한 저장 매개체에서 발전하여 다양한 프로그램을 올릴 수 있게 되었는데, 그 대표적인 예가 이더리움(Ethereum)이다. 이더리움은 블록체인을 하나의 데이터베이스로 보고, 모든 자산을 올릴 수 있고 각 자산이 구동하거나 거래되는 방식까지 직접 프로그래밍할 수 있는 하나의 오픈플랫폼(Open Platform)이다. 따라서, 이러한 진화된 블록체인 플랫폼을 사용하면, 안전한 사용자정보의 보관 및 사용자 인증이 가능하며, 인증 프로그램의 무결성까지 보장할 수 있으므로 개인정보 관리의 많은 보안 관련 이슈들을 해결할 수 있다.The block chain technology has evolved from a simple storage medium with high security, and various programs can be uploaded. A typical example of this is Ethereum. Etherium is an open platform that allows you to view block chains as a single database, to load all assets, and to program each asset as it runs or trades. Thus, using this evolved block-chain platform, it is possible to secure user information storage and user authentication, and also to guarantee the integrity of the authentication program, thereby solving many security related issues of personal information management.

KR 10-1590076 B.GB 10-1590076 B.

본 발명은 프로그래밍이 가능한 블록체인에 신원이 확인된 사용자정보를 암호화하여 보관하고, 사용자정보의 등록 및 요청시 사용자 인증 프로그램을 수행하게 하고, 관리서버를 통해 블록체인에 접근하도록 함으로써, 사용자정보의 안전한 보관 및 사용자 인증 프로그램의 무결성을 보장하고, 또한, 사용자 단말의 분실 또는 도난 등의 유사시에 대비하여 사용자정보를 백업으로 보관하도록 하여 사용자정보의 재입력 없이 새로운 사용자 단말로 블록체인에 재등록이 가능하도록 하는 개인정보 관리 방법 및 시스템을 제공하는 것을 목적으로 한다.The present invention encrypts and stores user information whose identity has been confirmed in a programmable block chain, permits a user to execute a user authentication program upon registration and request of user information, and accesses a block chain through a management server, The integrity of the secure storage and user authentication program is ensured and the user information is stored as a backup in preparation for a situation such as loss or theft of the user terminal so that the new user terminal is re-registered in the block chain without re- And to provide a personal information management method and system capable of enabling personal information.

상기 기술적 과제를 달성하기 위한, 본 발명의 일 실시예에 따르면, 관리서버와 네트워크로 연결된 블록체인이, 상기 관리서버로부터 사용자의 ID와 제1암호문 및 관리서버서명문을 수신하는 단계; 상기 관리서버서명문을 관리서버 공개키로 서명 검증한 후, 상기 제1암호문을 상기 사용자의 ID에 매핑 등록하는 사용자정보등록 단계; 및 상기 관리서버로부터 상기 제1암호문을 요청 받으면 상기 사용자의 ID에 매핑 등록되어 있는 상기 제1암호문을 상기 관리서버로 송신하는 사용자정보송신 단계를 포함하되, 상기 블록체인은 이더리움(Ethereum) 또는 프로그래밍이 가능한 블록체인이고, 상기 관리서버는 사용자 단말과 네트워크로 연결되어 상기 블록체인과의 중간에서 중계 역할을 하고, 상기 제1암호문은 상기 사용자 단말이 사용자정보를 암호화하여 상기 관리서버로 송신한 것이고, 상기 관리서버서명문은 상기 제1암호문을 상기 관리서버의 개인키로 서명한 것이고, 상기 사용자정보는 상기 사용자의 개인정보 또는 문서를 포함하는 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법이 제공된다.According to another aspect of the present invention, there is provided a method for managing a cipher text, the method comprising: receiving a user's ID, a first cipher text and a management server signature from a management server through a block chain connected to a management server; A user information registration step of signing and verifying the management server signature with a management server public key, and then mapping and registering the first ciphertext with the ID of the user; And transmitting the first ciphertext, which is mapped and registered to the ID of the user, to the management server when the first ciphertext is requested from the management server, wherein the block chain includes at least one of Ethereum Wherein the management server is connected to the user terminal through a network and serves as a relay in the middle of the block chain and the first ciphertext is a block chain in which the user terminal encrypts the user information and transmits the encryption information to the management server Wherein the management server signature is a signature of the first ciphertext with a private key of the management server and the user information includes personal information or documents of the user. Based user information management method is provided.

상기 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법은, 상기 관리서버로부터 상기 사용자의 제2암호문을 수신하여 상기 사용자의 ID에 매핑 등록하는 단계; 및 상기 관리서버로부터 상기 제2암호문을 요청 받으면 상기 사용자의 ID에 매핑 등록되어 있는 상기 제2암호문을 상기 관리서버로 송신하는 단계를 더 포함하되, 상기 제2암호문은 상기 제1암호문과는 다른 방법으로 암호화된 것일 수 있다.Wherein the programmable block chain and the integrated identity-based user information management method further comprises: receiving a second cipher text of the user from the management server and mapping the second cipher text to the ID of the user; And transmitting the second ciphertext, which is mapped and registered to the ID of the user, to the management server when the second ciphertext is requested from the management server, wherein the second ciphertext is different from the first ciphertext It may be encrypted in some way.

상기 제2암호문은, 상기 사용자 단말이 사용자정보를 패스워드 기반으로 암호화한 것이거나, 상기 패스워드 기반으로 암호화된 사용자정보를 상기 관리서버가 상기 관리서버의 공개키로 추가로 암호화한 것일 수 있다.The second cipher text may be one in which the user terminal encrypts user information based on a password or may further encrypt user information encrypted based on the password using the public key of the management server.

상기 사용자정보등록 단계는 상기 사용자의 단말이 공인인증기관을 통해 본인인증을 수행한 후 등록하는 것일 수 있다.The user information registration step may be a step in which the terminal of the user registers his / her identity after authenticating himself / herself through a public certification authority.

상기 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법은, 상기 사용자의 공개키를 등록하는 단계; 상기 관리서버로부터 사용자서명문과 원문을 수신하는 단계; 및 상기 사용자서명문을 상기 사용자 공개키로 서명 검증한 후 상기 원문과 비교하는 사용자인증 단계를 더 포함하되, 상기 사용자서명문은 사용자 개인키로 서명된 것이고, 상기 원문은 서비스제공자 서버가 상기 관리서버로 송신한 것이고, 상기 서비스제공자 서버는 상기 관리서버와 네트워크로 연결되어 있는 것일 수 있다.The programmable block chain and the integrated identity-based user information management method include: registering the public key of the user; Receiving a user signature and a text from the management server; And a user authentication step of verifying the user signature with the user public key and comparing the user signature with the original text, wherein the user signature is signed with a user private key, and the original text is transmitted to the management server And the service provider server may be connected to the management server through a network.

상기 원문은 상기 서비스제공자 서버가 송신한 사용자인증요청 원문이고, 상기 사용자서명문은 상기 사용자 단말이 상기 사용자인증요청 원문을 상기 사용자 개인키로 서명한 것일 수 있다.The original text may be a user authentication request text sent by the service provider server, and the user signature may be the user terminal signing the user authentication request text with the user private key.

상기 사용자정보송신 단계는, 상기 사용자인증 단계의 수행 결과 인증이 성공하면 수행하는 것일 수 있다.The user information transmission step may be performed when authentication is successful as a result of performing the user authentication step.

상기 서비스제공자 서버가 상기 사용자 단말로부터 상기 사용자의 특정정보를 수신하여 상기 특정정보의 인증 요청을 하는 경우, 상기 원문은 상기 서비스제공자 서버가 송신한 상기 특정정보를 포함한 원문이고, 상기 사용자서명문은 상기 사용자 단말이 상기 블록체인에 저장되어 있던 제1암호문을 수신한 후 복호화하여 획득한 사용자정보 중에서 상기 서비스제공자 서버가 요구하는 정보만을 선택하여 상기 사용자 개인키로 서명한 것일 수 있다.Wherein when the service provider server receives the specific information of the user from the user terminal and requests authentication of the specific information, the original text is a original text including the specific information transmitted by the service provider server, The user terminal may select only the information requested by the service provider server from the user information obtained by decrypting after receiving the first cipher text stored in the block chain, and signing with the user private key.

상기 기술적 과제를 달성하기 위한, 본 발명의 또 다른 일 실시예에 따르면, 사용자 단말 및 블록체인과 네트워크로 연결된 관리서버가, 상기 사용자 단말로부터 사용자 ID 및 제1암호문을 수신하여 상기 블록체인에 매핑 등록하는 사용자정보등록 단계; 및 상기 사용자 단말로부터 상기 제1암호문을 요청 받으면, 상기 블록체인으로부터 상기 사용자의 ID에 매핑 등록되어 있는 상기 제1암호문을 수신하여 상기 사용자 단말로 송신하는 사용자정보송신 단계를 포함하되, 상기 블록체인은 이더리움 또는 프로그래밍이 가능한 블록체인이고, 상기 제1암호문은 상기 사용자 단말이 사용자정보를 사용자 공개키로 암호화한 것이고, 상기 사용자정보는 상기 사용자의 개인정보 또는 문서를 포함하는 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법이 제공된다.According to another embodiment of the present invention, a management server connected to a user terminal and a block chain via a network receives a user ID and a first cipher text from the user terminal, A user information registration step of registering; And a user information transmission step of receiving the first ciphertext, which is mapped and registered to the ID of the user, from the block chain when receiving the first ciphertext from the user terminal, and transmitting the first ciphertext to the user terminal, Characterized in that the first ciphertext is encrypted by the user terminal with a user public key and the user information includes personal information or a document of the user. A possible block chain and an integrated identity based user information management method are provided.

상기 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법은, 상기 블록체인에 상기 사용자의 제2암호문을 매핑 등록하는 단계를 더 포함하되, 상기 제2암호문은 상기 제1암호문과는 다른 방법으로 암호화된 것일 수 있다.The programmable block chain and the integrated identity-based user information management method further include mapping and registering the second cipher text of the user to the block chain, wherein the second cipher text is different from the first cipher text . ≪ / RTI >

상기 제2암호문은, 상기 사용자 단말이 상기 사용자정보를 패스워드 기반으로 암호화한 것이거나, 상기 패스워드 기반으로 암호화된 사용자정보를 상기 관리서버가 상기 관리서버의 공개키로 추가로 암호화한 것일 수 있다.The second cipher text may be one in which the user terminal encrypts the user information based on a password, or the user information encrypted based on the password may further be encrypted by the management server using a public key of the management server.

상기 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법은, 새로운 사용자 단말로부터 복구 요청을 수신하는 단계; 및 상기 복구 요청을 수신한 후 상기 블록체인에 등록되어 있는 상기 제2암호문을 수신하여 상기 새로운 사용자 단말로 송신하는 단계를 더 포함할 수 있다.The programmable block chain and integrated identity-based user information management method includes: receiving a recovery request from a new user terminal; And receiving the second ciphertext registered in the block chain after receiving the restoration request and transmitting the second ciphertext to the new user terminal.

상기 사용자정보등록 단계는 상기 사용자 단말이 공인인증기관을 통해 본인인증을 수행한 후 등록하는 것일 수 있다.The user information registration step may be performed by the user terminal after authenticating the user through the authorized certification authority.

상기 사용자정보등록 단계는, 상기 수신한 제1암호문을 상기 관리서버의 개인키로 서명하여 관리서버서명문을 생성하는 단계; 및 상기 관리서버서명문을 상기 사용자 ID 및 제1암호문과 함께 블록체인서버로 송신하는 단계를 포함하되, 상기 관리서버서명문이 상기 블록체인에서 서명 검증에 성공하는 경우에 상기 제1암호문이 등록되는 것일 수 있다.Wherein the user information registration step comprises: signing the received first ciphertext with a private key of the management server to generate a management server signature; And transmitting the management server signature to the block chain server together with the user ID and the first ciphertext, wherein when the management server signature is successful in signature verification in the block chain, .

상기 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법은, 서비스제공자 서버로부터 원문을 수신하는 단계; 상기 사용자 단말로부터 사용자서명문을 수신하는 단계; 상기 수신한 사용자서명문과 원문을 상기 블록체인으로 송신하는 단계; 및 상기 블록체인이 상기 사용자서명문을 상기 사용자 공개키로 서명 검증한 후 상기 원문과 비교한 인증결과를 수신하는 단계를 더 포함하되, 상기 서비스제공자 서버는 상기 관리서버와 네트워크로 연결되어 있고, 상기 사용자서명문은 사용자 개인키로 서명된 것일 수 있다.The programmable block chain and integrated identity-based user information management method comprises: receiving a text from a service provider server; Receiving a user signature from the user terminal; Transmitting the received user signature statement and the original text to the block chain; And receiving, by the block chain, an authentication result of comparing the user signature with the user's public key and comparing the user signature with the original text, wherein the service provider server is connected to the management server via a network, The user signature may be signed with the user's private key.

상기 원문은 상기 서비스제공자 서버가 송신한 사용자인증요청 원문이고, 상기 사용자서명문은 상기 관리서버가 상기 수신한 사용자인증요청 원문을 상기 사용자 단말로 송신하고, 상기 사용자 단말이 상기 수신한 사용자인증요청 원문을 상기 사용자 개인키로 서명한 것일 수 있다.Wherein the original text is a user authentication request text sent by the service provider server, the user signature sent from the management server to the user terminal, and the user terminal transmits the received user authentication request The original text may be signed with the user private key.

상기 서비스제공자 서버가 상기 사용자 단말로부터 상기 사용자의 특정정보를 수신하여 상기 특정정보의 인증 요청을 하는 경우, 상기 원문은 상기 서비스제공자 서버가 송신한 특정정보를 포함한 원문이고, 상기 사용자서명문은 상기 사용자 단말이 상기 블록체인에 저장되어 있던 제1암호문을 수신한 후 복호화하여 획득한 사용자정보 중에서 상기 서비스제공자 서버가 요구하는 정보만을 선택하여 상기 사용자 개인키로 서명한 것일 수 있다.Wherein when the service provider server receives the specific information of the user from the user terminal and requests authentication of the specific information, the original text is the original text including the specific information transmitted by the service provider server, The user terminal may select only the information requested by the service provider server from the user information obtained by decrypting after receiving the first cipher text stored in the block chain and signing with the user private key.

또한, 다른 바람직한 일 실시예에 따르면, 전술한 각 방법에 따른 방법을 실행시키기 위한 컴퓨터로 판독가능한 기록매체에 저장된 컴퓨터 프로그램이 제공된다.According to another preferred embodiment, there is also provided a computer program stored in a computer-readable recording medium for executing a method according to each of the above-described methods.

또한, 또 다른 바람직한 일 실시예에 따르면, 전술한 각 방법을 실행시키기 위한 프로그램이 기록된, 컴퓨터에서 판독 가능한 기록매체가 제공된다.According to still another preferred embodiment, there is provided a computer-readable recording medium on which a program for executing the above-described respective methods is recorded.

상기 기술적 과제를 달성하기 위한, 본 발명의 또 다른 바람직한 일 실시예에 따르면, 관리서버와 네트워크로 연결된 블록체인으로서, 전술한 각 방법을 실행시키기 위한 프로그램에 의해 동작하는 것을 특징으로 하는, 블록체인이 제공된다.According to another aspect of the present invention, there is provided a block chain connected to a management server via a network, the block chain being operated by a program for executing the above- / RTI >

상기 기술적 과제를 달성하기 위한, 본 발명의 또 다른 바람직한 일 실시예에 따르면, 서비스제공자 서버, 사용자 단말 및 블록체인과 네트워크로 연결된 관리서버로서, 전술한 각 방법을 실행시키기 위한 프로그램에 의해 동작하는 것을 특징으로 하는, 관리서버가 제공된다.According to another aspect of the present invention, there is provided a management server connected to a service provider server, a user terminal and a block chain via a network, A management server is provided.

이상과 같이, 본 발명에 따르면, 프로그래밍이 가능한 블록체인에 신원이 확인된 사용자정보를 암호화하여 보관하고, 사용자정보의 등록 및 요청시 사용자 인증 프로그램을 수행하게 하고, 관리서버를 통해 블록체인에 접근하도록 함으로써, 사용자정보를 보다 안전하게 보관할 수 있고 사용자 인증 프로그램의 무결성을 보장할 수 있고, 여러 기관서버들이 개별적으로 블록체인의 트랜잭션을 발생시키지 않고도 개인정보 확인이 가능하고, 관리서버조차도 블록체인의 사용자 인증 프로그램을 함부로 조작할 수 없도록 하는 효과가 있다.As described above, according to the present invention, it is possible to encrypt and store user information whose identity has been confirmed in a programmable block chain, perform a user authentication program when registering and requesting user information, It is possible to secure user information more securely, to guarantee the integrity of the user authentication program, to enable personal information verification without generating transaction of block chain individually by various agency servers, and even to the management server, The authentication program can not be tampered with.

또한, 사용자 단말의 분실 또는 도난 등의 유사시에 대비하여 사용자정보를 백업으로 보관하도록 하여 사용자정보의 재입력 없이 새로운 사용자 단말로 블록체인에 재등록이 가능하도록 하는 효과가 있다.In addition, the user information is stored as a backup in preparation for the occurrence of a loss or theft of the user terminal, thereby enabling the new user terminal to re-register in the block chain without re-inputting the user information.

도 1은 본 발명의 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 시스템의 구성을 나타내는 블록도이다.
도 2는 본 발명의 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법의 사용자 및 제1암호문 등록에 대한 구체적인 일례를 나타내는 순서도이다.
도 3은 본 발명의 다른 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법의 사용자 및 제1암호문 등록에 대한 구체적인 일례를 나타내는 순서도이다.
도 4는 본 발명의 또 다른 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법의 제2암호문 등록에 대한 구체적인 일례를 나타내는 순서도이다.
도 5는 본 발명의 또 다른 바람직한 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법의 제2암호문 등록에 대한 구체적인 일례를 나타내는 순서도이다.
도 6은 본 발명의 또 다른 바람직한 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법의 사용자 및 제1,2암호문 등록에 대한 구체적인 일례를 나타내는 순서도이다.
도 7은 본 발명의 또 다른 바람직한 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법의 개인정보 제공에 대한 구체적인 일례를 나타내는 순서도이다.
도 8은 본 발명의 또 다른 바람직한 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법의 사용자정보 제공에 대한 구체적인 일례를 나타내는 순서도이다.
도 9는 본 발명의 또 다른 바람직한 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법의 개인정보 제공에 대한 구체적인 일례를 나타내는 순서도이다.
도 10은 본 발명의 또 다른 바람직한 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법의 사용자인증 및 사용자정보 제공에 대한 구체적인 일례를 나타내는 순서도이다.
도 11은 본 발명의 또 다른 바람직한 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법의 제2암호문 제공에 대한 구체적인 일례를 나타내는 순서도이다.
1 is a block diagram illustrating a configuration of a programmable block chain and an integrated identity-based user information management system according to an embodiment of the present invention.
FIG. 2 is a flowchart illustrating a concrete example of a user and first ciphertext registration of a programmable block chain and an integrated identity-based user information management method according to an embodiment of the present invention.
3 is a flowchart illustrating a concrete example of a user and a first ciphertext registration of a programmable block chain and an integrated identity-based user information management method according to another embodiment of the present invention.
4 is a flowchart illustrating a concrete example of a second ciphertext registration of a programmable block chain and an integrated identity-based user information management method according to another embodiment of the present invention.
5 is a flowchart illustrating a concrete example of the second cipher text registration of the programmable block chain and the integrated identity-based user information management method according to another preferred embodiment of the present invention.
FIG. 6 is a flowchart illustrating a concrete example of user and first and second ciphertext registrations of a programmable block chain and an integrated identity-based user information management method according to another preferred embodiment of the present invention.
7 is a flowchart illustrating a concrete example of providing personal information of a programmable block chain and an integrated identity-based user information management method according to another preferred embodiment of the present invention.
FIG. 8 is a flowchart illustrating a concrete example of providing user information of a programmable block chain and an integrated ID-based user information management method according to another preferred embodiment of the present invention.
9 is a flowchart illustrating a concrete example of providing personal information of a programmable block chain and an integrated identity-based user information management method according to another preferred embodiment of the present invention.
10 is a flowchart illustrating a concrete example of user authentication and user information provision of a programmable block chain and an integrated identity-based user information management method according to another preferred embodiment of the present invention.
11 is a flowchart illustrating a concrete example of providing a second ciphertext in a programmable block chain and an integrated identity-based user information management method according to another preferred embodiment of the present invention.

이하, 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 하기의 설명에서는 본 발명의 실시예에 따른 동작을 이해하는데 필요한 부분만이 도시되고 설명되며 그 이외 부분의 도시와 설명은 본 발명의 요지를 흐리지 않도록 생략하였다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention. In the following description, only parts necessary for understanding the operation according to the embodiment of the present invention are shown and described, and the other parts of the drawings and descriptions are omitted so as not to obscure the gist of the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein.

또한, 이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 본 발명을 가장 적절하게 표현할 수 있도록 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 한다.In addition, terms and words used in the following description and claims should not be construed to be limited to ordinary or dictionary meanings, but are to be construed in a manner consistent with the technical idea of the present invention As well as the concept.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우만을 한정하는 것이 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우 또는 유/무선 네트워크를 통해 유/무선으로 통신하는 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is referred to as being "connected" to another part, it is not limited to the case where it is "directly connected," but is "electrically connected" Or wirelessly or wirelessly over a wired / wireless network. Also, when a part is referred to as " including " an element, it does not exclude other elements unless specifically stated otherwise.

설명의 간략함을 위해, 본 명세서에서는 예시를 들어 순서도 또는 플로우 차트의 형태로 하나 이상의 방법이 일련의 단계로서 도시되고 기술되어 있지만, 본 발명이 단계들의 순서에 의해 제한되지 않는데 그 이유는 본 발명에 따라 본 명세서에 도시되고 기술되어 있는 것과 다른 순서로 또는 다른 단계들과 동시에 행해질 수 있기 때문이라는 것을 잘 알 것이다. 또한, 예시된 모든 단계들이 본 발명에 따라 방법을 구현해야만 하는 것은 아닐 수 있다.For simplicity of explanation, one or more methods are shown and described herein as a series of steps, for example in the form of a flowchart or a flowchart, but the present invention is not limited by the order of the steps, As it can be done in a different order than that shown and described herein or concurrently with other steps. Furthermore, not all illustrated steps may have to be implemented in accordance with the present invention.

명세서 전체에서 '사용자'라는 용어는 개인, 단체, 기관 또는 기업 등일 수 있으며, 사용자의 ID 및 공개키가 블록체인에 등록되고, 사용자정보를 블록체인에 저장할 수 있으며, 서비스제공자로부터 사용자 인증 또는 사용자정보 인증 요구를 받을 수 있다.The term " user " throughout the specification may be an individual, an organization, an organization, an enterprise, etc. The user's ID and public key may be registered in a block chain, the user information may be stored in a block chain, Information authentication request can be received.

또한, 명세서 전체에서 '사용자정보'라는 용어는 사용자의 다양한 개인정보는 물론이고 다양한 형식의 문서도 포함한다. '개인정보'라는 용어는 사용자의 주민번호, 사회보장번호, 주소, 단말 정보, 서버 정보, 전화번호 등의 정보를 의미한다.Also, throughout the specification, the term " user information " includes various types of documents as well as various personal information of the user. The term 'personal information' means information such as a user's social security number, social security number, address, terminal information, server information, and telephone number.

또한, 명세서 전체에서 '서비스제공자'라는 용어는 개인, 단체, 기관 또는 기업 등일 수 있으며, ID 및 공개키가 블록체인에 반드시 등록될 필요는 없고, 블록체인에 등록되어 있는 사용자의 인증 또는 사용자정보의 인증을 요청할 수 있다.The term " service provider " in the entire specification may be an individual, an organization, an organization, an enterprise, or the like. The ID and the public key need not necessarily be registered in the block chain, Of the user.

도 1은 본 발명의 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 시스템의 구성을 나타내는 블록도이다.1 is a block diagram illustrating a configuration of a programmable block chain and an integrated identity-based user information management system according to an embodiment of the present invention.

도 1을 참조하면, 본 발명에 따른 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 시스템은 사용자 단말(10), 서비스제공자 서버(20), 관리서버(30) 및 프로그래밍이 가능한 블록체인(40)을 포함하여 구성될 수 있다.1, a programmable block chain and an integrated identity-based user authentication system according to the present invention includes a user terminal 10, a service provider server 20, a management server 30, and a programmable block chain 40 ). ≪ / RTI >

사용자 단말(10)은 휴대폰, 스마트폰, 컴퓨터, 태블릿, PC 등의 다양한 개인 기기 또는 장치일 수 있으며, 또한, 기업, 공공기관, 은행 등의 다양한 기관에서 사용되는 다양한 서버, 컴퓨터, 기기 또는 장치일 수 있다. 본 도면에서는 스마트폰, 노트북, 서버가 도시되어 있지만, 이에 반드시 한정되지는 않는다.The user terminal 10 may be a variety of personal devices or devices such as a mobile phone, a smart phone, a computer, a tablet, and a PC, and may also be various servers, computers, devices, or devices used in various organizations such as corporations, Lt; / RTI > In this figure, a smart phone, a notebook, and a server are shown, but the present invention is not limited thereto.

바람직하게는, 사용자 단말(10)은 FIDO(Fast Identity online) 인증장치가 구비될 수 있다. 이러한 경우 FIDO 인증장치를 통해 키쌍을 생성하고, 개인키를 저장하고, 생체인증 등을 통해 캐인키를 획득할 수 있다.Preferably, the user terminal 10 may be equipped with a FIDO (Fast Identity online) authentication device. In this case, the key pair can be generated through the FIDO authentication device, the private key can be stored, and the can key can be acquired through biometric authentication or the like.

서비스제공자 서버(20)는 특정 서비스를 제공하는 기업, 공공기관, 은행 등의 다양한 기관에서 사용되는 다양한 서버, 컴퓨터, 기기 또는 장치일 수 있으며, 또한, 휴대폰, 스마트폰, 컴퓨터, 태블릿, PC 등의 다양한 개인 기기 또는 장치일 수 있다. 본 도면에서는 노트북과 서버가 도시되어 있지만, 이에 반드시 한정되지는 않는다.The service provider server 20 may be various servers, computers, devices, or devices used in various organizations such as a company, a public institution, a bank, and the like that provide a specific service and may also be a mobile phone, a smart phone, a computer, a tablet, Or a variety of personal devices or devices. In this figure, a notebook computer and a server are shown, but the present invention is not limited thereto.

관리서버(또는 관리서버)(30)는 기관, 기업, 서비스제공자, 개인 등이 운영할 수 있는 통상의 서버일 수 있으며, 컴퓨터, 태블릿, PC 등의 다양한 기기 또는 장치일 수도 있다.The management server (or management server) 30 may be an ordinary server that can be operated by an organization, an enterprise, a service provider, an individual, or the like, and may be a variety of devices or devices such as a computer, a tablet, and a PC.

관리서버(30)는 사용자 단말(10) 및 서비스제공자서버(20)와 다양한 유선 또는 무선의 네트워크를 통해 서로 통신할 수 있으며, 통신을 위해 다양한 유무선의 통신수단을 구비할 수 있다. 또한, 관리서버(30)는 블록체인(40)과 다양한 유선 또는 무선의 네트워크를 통해 서로 통신할 수 있다. 통신 네트워크는 이더넷 등의 유선 네트워크일 수도 있고, 와이파이 또는 이동통신망 등의 무선 네트워크 일 수도 있으나, 이에 반드시 한정되지는 않는다.The management server 30 may communicate with the user terminal 10 and the service provider server 20 through various wired or wireless networks and may include various wired and wireless communication means for communication. In addition, the management server 30 can communicate with the block chain 40 via various wired or wireless networks. The communication network may be a wired network such as Ethernet or a wireless network such as a Wi-Fi or a mobile communication network, but is not limited thereto.

블록체인(40)에는 사용자정보 및 사용자 인증 프로그램이 저장되고 실행된다. 블록체인(40)은 단순한 저장 매개체로만 사용되지 않고, 다양한 프로그램을 올릴 수 있도록 프로그래밍이 가능한 다양한 형태의 블록체인이며, 그 대표적인 예가 이더리움이다. 프로그래밍이 가능한 블록체인(40)은 블록체인을 하나의 데이터베이스로 보고, 모든 자산을 올릴 수 있고 각 자산이 구동하거나 거래되는 방식까지 직접 프로그래밍할 수 있는 하나의 오픈플랫폼이다. 이더리움 상에서는 다양한 프로그램을 설계할 수 있으며 이들이 서로 작동하는 방식이나 조건 등까지 세심하게 조종할 수 있고, 또한, 프로그램을 함부로 조작할 수 없기 때문에 무결성이 보장된다.In the block chain 40, user information and a user authentication program are stored and executed. The block chain 40 is not limited to a simple storage medium but is a block chain of various types that can be programmed to load various programs, and a representative example thereof is etherium. The programmable block chain 40 is an open platform that can view the block chain as a single database and can program all the assets and directly program the way each asset is driven or traded. On the Etherium, various programs can be designed, and they can be manipulated carefully to the manner and condition of their operation, and the integrity of the program can not be tampered with.

따라서, 이러한 프로그래밍이 가능한 블록체인(40)을 사용하면, 안전한 사용자 인증은 물론 사용자정보와 인증 프로그램의 무결성까지도 보장할 수 있으므로 사용자 인증에 수반되는 많은 보안 이슈들을 해결할 수 있다.Accordingly, using the programmable block chain 40 can solve not only secure user authentication but also integrity of user information and authentication program, thereby solving many security issues associated with user authentication.

관리서버(30)는 사용자 단말(10) 및 서비스제공자서버(20)와 블록체인(40) 사이에서 중계역할을 할 수 있다.The management server 30 can act as a relay between the user terminal 10 and the service provider server 20 and the block chain 40.

사용자 단말(10) 및 서비스제공자서버(20)가 관리서버(30)를 통해 블록체인에 접근하도록 함으로써 여러 서비스제공자 서버들이 개별적으로 직접 블록체인의 트랜잭션을 발생시키지 않고도 사용자정보 확인이 가능한 효과가 있다. 즉, 여러 서비스제공자 서버들이 블록체인에 접근하는 로직을 직접 구비할 필요가 없다.The user terminal 10 and the service provider server 20 access the block chain through the management server 30 so that the user information can be confirmed without causing the service provider servers to individually generate transactions in the block chain directly . That is, there is no need for multiple service provider servers to directly provide logic to access the block chain.

블록체인(40)은 대규모의 노드들과 각 노드에 분산 저장된 독립적이고 개방된 공통 장부로 구성되어 있고, 또한, 인증을 위해 50%를 초과하는 작업증명(proof-of-work) 또는 소유증명(proof-of-take)이 필요하다. 따라서, 안전성이 높다는 장점에 비해 P2P서비스라서 상대적으로 거래속도가 느리고, 업그레이드도 느리고, 제어가 복잡하다는 단점이 있다.The block chain 40 consists of a large number of nodes and an independent, open common ledge distributed and distributed at each node, and can also be used for proof-of-work or proof of ownership proof-of-take. Therefore, compared to the advantage of high security, P2P service has a disadvantage in that the transaction speed is relatively slow, the upgrade is slow, and the control is complicated.

따라서, 관리서버(30)를 통해 블록체인에 접근하도록 하면 느린 거래속도를 개선할 수 있고, 복잡한 제어를 서비스제공자 서버(20)가 모두 감당할 필요가 없어지게 된다.Therefore, if the access to the block chain is made through the management server 30, the slow transaction speed can be improved and the service provider server 20 does not have to handle complicated control.

또한, 사용자 인증 프로그램을 블록체인(40)에 올리면, 관리서버(30)조차도 블록체인(40)에 올려져 있는 사용자 인증 프로그램을 함부로 조작할 수 없다. 따라서, 관리서버(30)가 해킹되더라도 블록체인(40)에 저장되어 있는 사용자정보와 프로그램은 안전하다.In addition, if the user authentication program is put on the block chain 40, even the management server 30 can not arbitrarily manipulate the user authentication program put on the block chain 40. [ Therefore, even if the management server 30 is hacked, the user information and the program stored in the block chain 40 are secure.

또한, 관리서버(30)를 사용함으로써 한 개의 ID로 다수의 서비스제공자 서버에 로그인하거나, 사용자정보를 제공하거나, 사용자정보 인증이 가능해진다. 따라서, 사용자정보가 여러 기관서버에 분산되어 있지 않으므로 사용자정보 제공에 대한 이력관리가 수월하고, 사용자정보 변경시나 서비스제공자의 서비스 가입시마다 아이디와 비밀번호를 모두 기억하고, 일일이 사용자정보를 재입력해야 하는 불편이 없어지는 효과가 있다.Further, by using the management server 30, it becomes possible to log in to a plurality of service provider servers with one ID, provide user information, or authenticate user information. Accordingly, since the user information is not distributed among the multiple agency servers, it is easy to manage the history of providing the user information, and it is necessary to memorize both the user ID and password at the time of user information change or service provider's service subscription, There is an effect of eliminating the inconvenience.

도 2는 본 발명의 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법의 사용자 및 제1암호문 등록에 대한 구체적인 일례를 나타내는 순서도(S50)이다.FIG. 2 is a flowchart (S50) illustrating a concrete example of user and first ciphertext registration of a programmable block chain and an integrated identity-based user information management method according to an embodiment of the present invention.

도 2를 참조하면, 블록체인(40)이 사용자등록을 수행하고, 제1암호문(암호화된 사용자정보)을 등록(또는 저장)하는 순서도가 도시되어 있다.Referring to FIG. 2, a flowchart is shown in which the block chain 40 performs user registration and registers (or stores) the first ciphertext (encrypted user information).

S52 단계에서, 블록체인(40)은 관리서버 공개키를 등록(또는 저장)할 수 있다. 이 등록 절차는 최초 한 번만 수행할 수 있다. 블록체인은(40)은 관리서버(30)와 정보를 주고 받을 때, 관리서버 공개키로 서명 검증을 함으로써 정보를 주고 받는 객체가 관리서버(30)임을 증명하기 위해 관리서버 공개키를 등록한다.In step S52, the block chain 40 may register (or store) the management server public key. This registration procedure can be performed only once at the beginning. The block chain 40 registers the management server public key in order to verify that the object to send and receive information by signing with the management server public key is the management server 30 when exchanging information with the management server 30.

S54 단계에서는, 사용자 등록을 위해 사용자 ID, 사용자 공개키 및 관리서버서명문을 수신할 수 있다. 사용자등록시에 제1암호문을 함께 저장할 수도 있고, 사용자등록 후에 제1암호문을 저장할 수도 있다. 순서도에는 사용자등록시에 제1암호문을 함께 저장하는 것으로 도시되어 있지만, 이에 반드시 한정되지는 않는다.In step S54, a user ID, a user public key, and a management server signature can be received for user registration. The first cipher text may be stored together with the user at the time of user registration, or the first cipher text may be stored after the user registration. Although the flowchart is shown as storing the first ciphertext together with the user registration, it is not necessarily so.

제1암호문은 사용자 단말(10)이 사용자정보를 암호화하여 관리서버(30)로 송신한 것이다. 바람직하게는 사용자 단말(10)이 사용자정보를 사용자 공개키로 암호화한 것일 수 있다.The first cipher text is that the user terminal 10 encrypts the user information and transmits it to the management server 30. Preferably, the user terminal 10 encrypts user information with a user public key.

사용자정보는 공인인증기관을 통해 신원이 확인된 사용자정보를 암호화하여 블록체인에 보관하는 것이 바람직한데, 그 이유는 사용자 인증시마다 매번 사용자의 신원 확인을 할 필요가 없어지기 때문이다.It is desirable that the user information is stored in a block chain by encrypting the user information whose identity has been confirmed by the authorized certification authority because the user does not have to check the identity of the user each time the user is authenticated.

관리서버서명문은 관리서버(30)가 제1암호문을 관리서버 개인키로 서명하여 생성된 것일 수 있다.The management server signature may be generated by the management server 30 signing the first cipher text with the management server private key.

S56 단계에서는, 수신한 관리서버서명문을 관리서버 공개키로 서명 검증할 수 있다. 서명이 검증되면, 관리서버(30)가 보낸 서명문이라는 것이 증명된다.In step S56, the received signature of the management server signature can be verified by the management server public key. When the signature is verified, it is proved that it is a signature sent from the management server 30.

S56 단계에서 서명 검증이 성공하면, 사용자 ID, 사용자 공개키를 매핑하여 등록 저장하여 사용자등록을 완료할 수 있다. 만약 사용자등록시 제1암호문이 함께 수신되었다면 사용자 ID에 매핑하여 등록 저장할 수 있다(S58). If the signature verification is successful in step S56, the user ID and the user public key are mapped and registered, and the user registration can be completed. If the first cipher text is received together with the user, it can be mapped to the user ID and stored (S58).

프로그램의 일 실시예로서, S56 및 S58 단계는 다음과 같이 이더리움에서 사용하는 solidity 코드로 구현할 수 있다.As one embodiment of the program, steps S56 and S58 may be implemented with solidity code used in etherium as follows.

# 사용자를 등록 처리하는 블록체인 코드# Block chaining code for registering users

# 관리서버 공개키(Server_PublicKey)로 서명(Signature) 검증을 한 후에 맞는 경우에만 사용자 공개키(PublicKey)와 제1암호문(EncData) 등록# Signature verification with the management server public key (Server_PublicKey), and only when the public key (PublicKey) and the first ciphertext (EncData) registration

function AddUser(byte32[] ID, byte32[] PublicKey, byte32[] EncData, byte32[] Signature)function AddUser (byte32 [] ID, byte32 [] PublicKey, byte32 [] EncData, byte32 [] Signature)

{{

if(RSA_Verify(Server_PublicKey, Signature, EncData)==Success)if (RSA_Verify (Server_PublicKey, Signature, EncData) == Success)

{{

User[ID].pub= PublicKeyUser [ID] .pub = PublicKey

User[ID].enc1=EncDataUser [ID] .enc1 = EncData

}}

}}

이상과 같이, 프로그래밍이 가능한 블록체인(40)에 사용자등록을 하고, 서명 검증 절차를 프로그램으로 올림으로써, 사용자 ID 및 제1암호문의 안전한 보관은 물론 서명 검증 프로그램의 무결성까지도 보장할 수 있다.As described above, by registering the user in the programmable block chain 40 and signing the signature verification procedure, the integrity of the signature verification program as well as the secure storage of the user ID and the first ciphertext can be guaranteed.

도 3은 본 발명의 다른 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법의 사용자 및 제1암호문 등록에 대한 구체적인 일례를 나타내는 순서도(S60)이다.3 is a flow chart (S60) illustrating a concrete example of user and first ciphertext registration of a programmable block chain and an integrated identity-based user information management method according to another embodiment of the present invention.

도 3을 참조하면, 도 1의 시스템이 사용자 및 제1암호문을 등록하는 구체적인 실시예가 도시되어 있다.Referring to FIG. 3, there is shown a specific embodiment in which the system of FIG. 1 registers a user and a first cipher text.

사용자 단말(10)은 사용자 키쌍(개인키 및 공개키)을 생성할 수 있다(S62).The user terminal 10 may generate a user key pair (private key and public key) (S62).

생성된 키쌍 중에서 사용자 개인키는 안전 영역(trust zone 등)에 저장될 수 있다(S64). 사용자 단말(10)이 FIDO 인증장치를 구비하고 있다면, 생체인증 등의 인증을 통해 키쌍 생성 및 개인키 저장을 할 수 있다.Among the generated key pairs, the user private key may be stored in a secure zone (S64). If the user terminal 10 is equipped with the FIDO authentication device, key pair generation and private key storage can be performed through authentication such as biometric authentication.

사용자 단말(10)은 사용자의 개인정보를 공인인증기관을 통해 본인 확인 또는 신원 확인을 받을 수 있다(S66).The user terminal 10 can receive the identity or identity of the user's personal information through an accredited certification authority (S66).

사용자 단말(10)은 사용자정보를 포함한 원문을 사용자 공개키로 암호화하여 제1암호문을 생성할 수 있다(S68). 사용자정보는 사용자의 개인정보(주민번호 등) 외에도 다양한 형태의 문서 등을 더 포함할 수 있다.The user terminal 10 can generate the first cipher text by encrypting the original text including the user information with the user public key (S68). The user information may further include various types of documents in addition to the personal information of the user (resident registration number, etc.).

제1암호문의 등록은 사용자 등록시에 하지 않고, 별도로 수행할 수도 있다. 본 실시예에서는 동시에 수행하는 것으로 설명하지만, 이에 반드시 한정되지는 않는다.The registration of the first ciphertext may be performed separately, not at the time of user registration. In the present embodiment, it is described that they are performed at the same time, but the present invention is not limited thereto.

사용자 단말(10)은 관리서버(30)에 사용자정보등록 요청을 할 수 있다(S70). 이때 사용자 ID, 사용자 공개키, 제1암호문을 함께 전송할 수 있다.The user terminal 10 may request the management server 30 to register the user information (S70). At this time, the user ID, the user public key, and the first cipher text can be transmitted together.

사용자정보등록 요청을 수신한 관리서버(30)는 제1암호문을 관리서버 개인키로 서명하여 관리서버서명문을 생성할 수 있다(S72).Upon receiving the user information registration request, the management server 30 can generate the management server signature by signing the first ciphertext with the management server private key (S72).

관리서버서명문을 생성한 관리서버(30)는 블록체인(40)에 사용자정보등록 요청을 할 수 있다(S74). 이때 사용자 ID, 사용자 공개키, 제1암호문, 관리서버서명문을 함께 전송할 수 있다.The management server 30 which has generated the management server signature statement can request the block chain 40 to register the user information (S74). At this time, a user ID, a user public key, a first cipher text, and a management server signature can be transmitted together.

사용자정보등록 요청을 수신한 블록체인(40)은 관리서버서명문을 미리 저장되어 있던 관리서버 공개키로 서명 검증을 할 수 있다(S76).The block chain 40 receiving the user information registration request can verify the signature with the management server public key stored in advance in the management server signature statement (S76).

서명 검증에 성공하면, 사용자정보등록 요청이 미리 지정된 관리서버(30)로부터 수신된 것이라는 것이 증명된 것이다.If the signature verification is successful, it is proven that the user information registration request is received from the management server 30 specified in advance.

서명 검증에 성공하면, 블록체인(40)은 수신한 사용자 ID, 사용자 공개키, 제1암호문을 매핑하여 저장할 수 있다(S78).If the signature verification is successful, the block chain 40 can map and store the received user ID, the user public key, and the first cipher text (S78).

S80 단계에서, 블록체인(40)은 사용자정보등록이 성공적으로 수행되었다는 결과를 관리서버(30)에 송신할 수 있다.In step S80, the block chain 40 may transmit to the management server 30 a result indicating that the user information registration has been successfully performed.

사용자정보등록 결과를 수신한 관리서버(30)는 그 결과를 사용자 단말(10)에 송신할 수 있다(S82).The management server 30 having received the user information registration result can transmit the result to the user terminal 10 (S82).

이상과 같은 실시예에 의해 블록체인(40)은 관리서버(30)를 통해 복수의 사용자를 등록할 수 있다.According to the embodiment as described above, the block chain 40 can register a plurality of users through the management server 30.

도 4는 본 발명의 또 다른 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법의 제2암호문 등록에 대한 구체적인 일례를 나타내는 순서도(S90)이다.4 is a flowchart (S90) illustrating a concrete example of the second cipher text registration of the programmable block chain and the integrated identity-based user information management method according to another embodiment of the present invention.

도 4를 참조하면, 블록체인(40)이 제2암호문을 등록하는 절차를 나타내는 순서도가 도시되어 있다. 본 실시예는 사용자 단말(10)의 분실 또는 도난 등의 유사시에 대비하여 사용자정보를 백업으로 보관하도록 하여 사용자정보의 재입력 없이 새로운 사용자 단말(50)로 블록체인(40) 및 서비스제공자 서버(20)에 재등록이 가능하도록 하는 사용자정보 관리 방법이다.Referring to FIG. 4, there is shown a flow chart illustrating a procedure by which the block chain 40 registers a second cipher text. The present embodiment allows the user terminal 10 to store user information as a backup in preparation for a situation such as loss or theft of the user terminal 10 so that the new user terminal 50 can access the block chain 40 and the service provider server 20 to be re-registered.

백업으로 보관되는 제2암호문은 제1암호문과 다른 방법으로 암호화되는 것이 바람직한데, 그 이유는 사용자 단말(10)이 분실되더라도 관리서버(30) 및 블록체인(40)에 접근할 수 있고, 저장되어 있던 제2암호문을 복호화할 수 있어야하기 때문이다.The second cipher text stored in the backup is preferably encrypted in a manner different from the first cipher text because the user terminal 10 can access the management server 30 and the block chain 40 even if the user terminal 10 is lost, It is necessary to be able to decrypt the second cipher text.

S92 단계에서, 블록체인(40)은 관리서버(30)로부터 사용자 ID, 제2암호문, 사용자서명문, 관리서버서명문을 수신할 수 있다. 사용자서명문은 사용자 단말(10)이 사용자정보를 암호화한 후 사용자 개인키로 서명한 것이고, 제2암호문은 암호화된 사용자정보를 관리서버 공개키로 암호화한 것이고, 관리서버서명문은 제2암호문을 관리서버 개인키로 서명한 것일 수 있다.In step S92, the block chain 40 may receive a user ID, a second cipher text, a user signature, and a management server signature from the management server 30. The user signature is obtained by encrypting the user information with the user's private key after the user terminal 10 encrypts it, the second cipher text is the encrypted user information with the management server public key, and the management server signature is used to manage the second cipher text It may be signed with the server private key.

S94 단계에서, 관리서버서명문을 관리서버 공개키로 서명 검증하여, 수신한 관리서버서명문이 관리서버(30)로부터 수신된 것임을 증명할 수 있다.In step S94, the signature of the management server signature is verified with the management server public key, so that the received management server signature can be verified as being received from the management server 30.

S96 단계에서, 사용자서명문을 사용자 공개키로 서명 검증하여, 수신한 사용자서명문이 사용자 ID로 등록되어 있는 사용자의 단말(10)로부터 수신된 것임을 증명할 수 있다.In step S96, it is possible to verify that the received user signature is received from the terminal 10 of the user registered with the user ID by signing the user signature with the user's public key.

S98 단계에서는, S94 및 S96 단계의 검증이 성공하면, 수신한 제2암호문을 사용자 ID에 매핑 등록할 수 있다.In step S98, if the verification in steps S94 and S96 is successful, the received second cipher text can be mapped to the user ID and registered.

도 5는 본 발명의 또 다른 바람직한 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법의 제2암호문 등록에 대한 구체적인 일례를 나타내는 순서도(S100)이다.5 is a flowchart (S100) illustrating a concrete example of the second cipher text registration of the programmable block chain and the integrated identity-based user information management method according to another preferred embodiment of the present invention.

도 5를 참조하면, 도 1의 시스템이 제2암호문을 등록하는 절차를 나타내는 순서도가 도시되어 있다. 도 4의 S90에서 언급하였듯이, 백업으로 보관되는 제2암호문은 제1암호문과 다른 방법으로 암호화되는 것이 바람직하므로, 본 실시예에서는 패스워드 기반으로 암호화된 제2암호문을 블록체인(40)에 저장하는 것을 설명한다.Referring to FIG. 5, there is shown a flow chart illustrating a procedure for the system of FIG. 1 to register a second cipher text. 4, it is preferable that the second cipher text stored in the backup is encrypted in a manner different from the first cipher text. In this embodiment, the second cipher text encrypted in the password is stored in the block chain 40 .

S102 단계에서, 사용자 단말(10)은 사용자정보를 포함한 원문을 패스워드 기반으로 암호화하여 백업암호문을 생성할 수 있다. 패스워드를 사용하는 이유는, 분실 또는 도난 등으로 사용자 단말(10)을 사용할 수 없게 되면, 사용자 개인키를 사용할 수 없으므로 대신 패스워드를 사용하여 복호화를 하기 위함이다.In step S102, the user terminal 10 may generate a backup cipher text by encrypting the original text including user information on a password basis. The reason for using the password is that, if the user terminal 10 becomes unusable due to loss or theft, the user can not use the private key, so that the password is used instead.

사용자 단말(10)은 생성된 백업암호문을 사용자 개인키로 서명하여 사용자서명문을 생성할 수 있다(S104).The user terminal 10 can generate a user signature by signing the generated backup ciphertext with the user's private key (S104).

사용자 단말(10)은 생성된 사용자서명문을 사용자 ID, 백업암호문과 함께 관리서버(30)로 송신하면서 백업용 사용자정보 등록 요청을 할 수 있다(S106).The user terminal 10 can send a user information registration request for backup while transmitting the generated user signature to the management server 30 together with the user ID and the backup cipher text (S106).

백업용 사용자정보 등록 요청을 수신한 관리서버(30)는 백업암호문을 관리서버 공개키로 암호화하여 제2암호문을 생성할 수 있다(S108). 백업암호문을 관리서버 공개키로 추가 암호화하는 이유는, 백업암호문이 패스워드 기반으로 암호화되어 있어서 보안에 취약할 수 있기 때문이다. 물론, 패스워드 기반으로 암호화된 백업암호문을 추가로 암호화하지 않고 제2암호문으로 사용할 수도 있다.The management server 30 receiving the backup user information registration request can generate the second cipher text by encrypting the backup cipher text with the management server public key (S108). The reason for further encrypting the backup passphrase with the management server public key is because the backup passphrase is password-based and may be vulnerable to security. Of course, a password-based encrypted backup ciphertext may be used as a second ciphertext without further encryption.

관리서버(30)는 생성된 제2암호문을 관리서버 개인키로 서명하여 관리서버서명문을 생성할 수 있다(S110).The management server 30 may generate the management server signature by signing the generated second cipher text with the management server private key (S110).

관리서버서명문을 생성한 관리서버(30)는 사용자ID, 제2암호문, 관리서버서명문, 사용자서명문을 블록체인(40)으로 송신하면서 백업용 사용자정보 등록 요청을 할 수 있다(S112).The management server 30 which has generated the management server signature can request the user information registration for backup while transmitting the user ID, the second ciphertext, the management server signature, and the user signature to the block chain 40 (S112).

블록체인(40)은 수신한 관리서버서명문을 관리서버 공개키로 서명 검증하여, 수신한 관리서버서명문이 관리서버(30)로부터 수신된 것임을 증명할 수 있다(S114).The block chain 40 may verify the received management server signature with the management server public key to verify that the received management server signature is received from the management server 30 (S114).

또한, 블록체인(40)은 사용자서명문을 사용자 공개키로 서명 검증하여, 수신한 사용자서명문이 사용자 ID로 등록되어 있는 사용자의 단말(10)로부터 수신된 것임을 증명할 수 있다(S116).In addition, the block chain 40 can verify that the received user signature is received from the terminal 10 of the user registered with the user ID by signing the user signature with the user public key (S116).

S114 및 S116 단계의 검증이 성공하면, 블록체인(40)은 수신한 제2암호문을 사용자 ID에 매핑 등록할 수 있다(S118).If the verification in steps S114 and S116 is successful, the block chain 40 can map and register the received second cipher text to the user ID (S118).

이상과 같이, 두 단계의 서명 검증을 거쳐 제2암호문을 등록한 블록체인(40)은 백업용 사용자정보 등록 결과를 관리서버(30)에 송신하고(S120), 관리서버(30)는 그 결과를 사용자 단말(10)로 송신하면, 제2암호문의 등록이 완료된다.As described above, the block chain 40 that has registered the second ciphertext through the two-stage signature verification transmits the backup user information registration result to the management server 30 (S120), and the management server 30 transmits the result to the user When transmitting to the terminal 10, the registration of the second cipher text is completed.

도 6은 본 발명의 또 다른 바람직한 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법의 사용자 및 제1,2암호문 등록에 대한 구체적인 일례를 나타내는 순서도(S200)이다.FIG. 6 is a flowchart (S200) illustrating a concrete example of user and first and second ciphertext registrations of a programmable block chain and an integrated identity-based user information management method according to another preferred embodiment of the present invention.

도 6을 참조하면, 도 1의 시스템이 사용자 등록 및 제1,2암호문 등록을 동시에 수행하는 실시예이다.Referring to FIG. 6, the system of FIG. 1 performs user registration and first and second cipher text registration at the same time.

사용자 단말(10)은 사용자 키쌍을 생성하고(S202), 생성된 키쌍 중에서 사용자 개인키는 안전 영역(trust zone 등)에 저장될 수 있다(S204).The user terminal 10 generates a user key pair (S202), and the user private key among the generated key pairs may be stored in a trust zone (S204).

사용자 단말(10)은 사용자의 개인정보를 공인인증기관을 통해 본인 확인 또는 신원 확인을 받을 수 있다(S206).The user terminal 10 can confirm identity or identity of the user's personal information through an accredited certification authority (S206).

사용자 단말(10)은 사용자정보를 포함한 원문을 사용자 공개키로 암호화하여 제1암호문을 생성할 수 있다(S208).The user terminal 10 may generate the first cipher text by encrypting the original text including the user information with the user public key (S208).

또한, 사용자 단말(10)은 사용자정보를 포함한 원문을 패스워드 기반으로 암호화하여 백업암호문을 생성할 수 있다(S210).In addition, the user terminal 10 may generate a backup cipher text by encrypting the original text including the user information based on a password (S210).

사용자 단말(10)은 관리서버(30)에 사용자정보등록 요청을 할 수 있다(S212). 이때 사용자 ID, 사용자 공개키, 제1암호문, 백업암호문을 함께 전송할 수 있다.The user terminal 10 can request the management server 30 to register the user information (S212). At this time, the user ID, the user public key, the first ciphertext, and the backup ciphertext can be transmitted together.

사용자정보등록 요청을 수신한 관리서버(30)는 수신한 백업암호문을 관리서버 공개키로 암호화하여 제2암호문을 생성할 수 있다(S214). 이때 백업암호문을 추가로 암호화하지 않고 그대로 제2암호문으로 사용할 수도 있다.The management server 30 receiving the user information registration request can generate the second cipher text by encrypting the received backup cipher text with the management server public key (S214). At this time, the backup ciphertext can be used as the second ciphertext without further encryption.

관리서버(30)는 제1암호문과 제2암호문을 관리서버 개인키로 서명하여 관리서버서명문을 생성할 수 있다(S216).The management server 30 can generate the management server signature by signing the first cipher text and the second cipher text with the management server private key (S216).

관리서버서명문을 생성한 관리서버(30)는 블록체인(40)에 사용자정보등록 요청을 할 수 있다(S218). 이때 사용자 ID, 사용자 공개키, 제1암호문, 제2암호문, 관리서버서명문을 함께 전송할 수 있다.The management server 30 which has generated the management server signature statement can request the block chain 40 to register the user information (S218). At this time, a user ID, a user public key, a first cipher text, a second cipher text, and a management server signature can be transmitted together.

사용자정보등록 요청을 수신한 블록체인(40)은 관리서버서명문을 미리 저장되어 있던 관리서버 공개키로 서명 검증을 할 수 있다(S220). 서명 검증에 성공하면, 사용자정보등록 요청이 관리서버(30)로부터 수신된 것이라는 것이 증명된 것이다.Upon receipt of the user information registration request, the block chain 40 may verify the signature with the management server public key previously stored in the management server signature (S220). If the signature verification is successful, it is proven that the user information registration request is received from the management server 30.

서명 검증에 성공하면, 블록체인(40)은 수신한 사용자 ID, 사용자 공개키, 제1암호문, 제2암호문을 매핑하여 저장할 수 있다(S222).If the signature verification is successful, the block chain 40 may map and store the received user ID, the user public key, the first cipher text, and the second cipher text (S222).

S224 단계에서, 블록체인(40)은 사용자정보등록이 성공적으로 수행되었다는 결과를 관리서버(30)에 송신할 수 있다.In step S224, the block chain 40 may transmit to the management server 30 a result indicating that the user information registration has been successfully performed.

사용자정보등록 결과를 수신한 관리서버(30)는 그 결과를 사용자 단말(10)에 송신할 수 있다(S226).The management server 30 having received the user information registration result can transmit the result to the user terminal 10 (S226).

이상과 같이, 사용자 등록시에 제1암호문과 제2암호문을 등록 저장할 수도 있지만, 제1,2암호문을 각각 별도로 등록 저장할 수도 있다.As described above, the first ciphertext and the second ciphertext may be registered and stored at the time of user registration, but the first and second ciphertexts may be separately registered and stored.

도 7은 본 발명의 또 다른 바람직한 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법의 개인정보 제공에 대한 구체적인 일례를 나타내는 순서도(S300)이다.FIG. 7 is a flowchart (S300) illustrating a specific example of providing personal information of a programmable block chain and an integrated identity-based user information management method according to another preferred embodiment of the present invention.

도 7을 참조하면, 도 1에 도시된 시스템에서 개인정보를 제공하는 방법이 도시되어 있다.Referring to Fig. 7, a method of providing personal information in the system shown in Fig. 1 is shown.

사용자 단말(10)이 서비스제공자 서버(20)로부터 개인정보 요청을 수신하면(S302), 저장된 개인정보를 관리서버(30)에 요청할 수 있다(S304).When the user terminal 10 receives the personal information request from the service provider server 20 (S302), the user terminal 10 can request the stored personal information to the management server 30 (S304).

개인정보 요청을 받은 관리서버(30)는 블록체인(40)에 사용자의 제1암호문을 요청할 수 있다(S306). 이 때 사용자 ID를 함께 송신할 수 있다.The management server 30 having received the personal information request may request the block chain 40 of the user's first cipher text (S306). At this time, the user ID can be transmitted together.

제1암호문을 요청 받은 블록체인(40)은 수신한 사용자 ID에 매핑되어 저장되어 있던 제1암호문을 관리서버(30)로 송신할 수 있다(S308).The block chain 40 requesting the first ciphertext may transmit the first ciphertext mapped to the received user ID to the management server 30 in step S308.

관리서버(30)는 수신한 제1암호문을 사용자 단말(10)로 송신할 수 있다(S310).The management server 30 may transmit the received first cipher text to the user terminal 10 (S310).

사용자 단말(10)은 수신한 제1암호문을 사용자 개인키로 복호화하여 사용자정보를 획득할 수 있다(S312). 사용자 단말(10)이 FIDO 인증장치를 구비하고 있다면, FIDO 인증을 거쳐 사용자 개인키를 획득하여 사용할 수 있다.The user terminal 10 may decrypt the received first cipher text using the user's private key to obtain user information (S312). If the user terminal 10 has the FIDO authentication device, it can acquire and use the user's private key via the FIDO authentication.

사용자 단말(10)은 획득한 사용자정보를 서비스제공자 서버(20)에 송신할 수 있다(S314). 만약, 서비스제공자 서버(20)가 요구한 개인정보가 사용자정보에 포함되어 있는 일부 정보라면, 획득한 사용자정보 중에서 서비스제공자 서버(20)가 요구하는 정보만을 선택하여 서비스제공자 서버(20)로 송신할 수도 있다.The user terminal 10 can transmit the acquired user information to the service provider server 20 (S314). If the personal information requested by the service provider server 20 is some information included in the user information, only the information requested by the service provider server 20 among the acquired user information is selected and transmitted to the service provider server 20 You may.

이상과 같이, 한 개의 아이디로 다수의 기관서버에 사용자정보를 제공할 수 있고, 사용자정보가 여러 기관서버에 분산되어 있지 않으므로 사용자정보 제공에 대한 이력관리가 수월하고, 주소, 단말 정보, 서버 정보, 전화번호 등의 개인정보 변경시나 서비스제공자의 서비스 가입시마다 아이디와 비밀번호를 모두 기억하고, 일일이 사용자정보를 재입력해야 하는 불편이 없어지는 효과가 있다.As described above, since user information can be provided to a plurality of institution servers with one ID and user information is not distributed among various agency servers, it is easy to manage the history of providing user information and address information, , There is an effect that both the ID and the password are memorized at the time of changing the personal information such as the telephone number or at the service subscriber's service subscription, and there is no inconvenience to re-enter the user information every time.

도 8은 본 발명의 또 다른 바람직한 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법의 사용자정보 제공에 대한 구체적인 일례를 나타내는 순서도이다.FIG. 8 is a flowchart illustrating a concrete example of providing user information of a programmable block chain and an integrated ID-based user information management method according to another preferred embodiment of the present invention.

도 8을 참조하면, 블록체인(40)이 제1암호문 요청을 받은 경우, 암호문 송신을 실행하기 전에 사용자 인증을 수행하는 실시예이다. 제1암호문은 사용자 공개키로 암호화되어 있어서 사용자 개인키를 가지고 있지 않으면 복호화할 수가 없으므로 제3자에게 유출이 되어도 복호화가 어렵지만, 이 제1암호문이 제3자에게 전송되는 것 조차도 방지하기 위해, 사용자 개인키를 가지고 있는 사용자 단말(10)이 실제로 요청했는지를 검증한 후 전송하는 실시예이다.Referring to FIG. 8, when the block chain 40 receives a first ciphertext request, the user authentication is performed before the ciphertext transmission is performed. Since the first ciphertext is encrypted with the user public key and can not be decrypted if the user has no private key, it is difficult to decrypt the third ciphertext even if it is leaked to a third party. However, in order to prevent even the third ciphertext from being transmitted to a third party, It verifies whether the user terminal 10 having the private key has actually requested it, and transmits the verification result.

S352 단계에서, 블록체인(40)은 제1암호문을 요청 받을 수 있다. 이때, 원문, 사용자서명문 및 사용자 ID를 함께 수신할 수 있다.In step S352, the block chain 40 may be requested for the first ciphertext. At this time, the original text, the user signature, and the user ID can be received together.

수신한 원문은 서비스제공자 서버(20)가 송신한 사용자인증요청 원문이고, 수신한 사용자서명문은 사용자 단말(10)이 사용자인증요청 원문을 사용자 개인키로 서명한 것일 수 있다.The received original text may be a user authentication request original sent by the service provider server 20, and the received user signature may be a user terminal 10 signing a user authentication request original with a user private key.

S354 단계에서는, 수신한 사용자서명문을 사용자 공개키로 서명 검증하여 원문을 추출할 수 있다. 서명 검증이 성공하면, 사용자 단말(10)이 보낸 서명문이라는 것이 증명된다.In step S354, the received user signature can be verified with a user's public key to extract the original text. If the signature verification is successful, it is proved that the signature is the signature sent from the user terminal 10.

S356 단계에서는, 추출한 원문과 수신한 원문이 동일한지 비교할 수 있다.In step S356, it is possible to compare whether the extracted original text and the received original text are the same.

S356 단계의 비교 결과 동일하면 사용자 인증에 성공한 것이다. 즉, 서비스제공자 서버(20)가 송신한 사용자인증요청 원문을 사용자 단말(10)이 사용자 개인키로 서명하였다는 것이 증명된 것이다.If the comparison result in step S356 is the same, the user is successfully authenticated. That is, it is proved that the user terminal 10 has signed the user authentication request text transmitted by the service provider server 20 with the user's private key.

서명 검증에 성공하면, 사용자 ID에 매핑 등록되어 있던 제1암호문을 송신할 수 있다(S358).If the signature verification is successful, the first cipher text that has been mapped and registered in the user ID can be transmitted (S358).

이상과 같이, 블록체인(40)에서 사용자 인증 절차를 거쳐 제1암호문을 송신함으로써 제1암호문이 사용자 단말(10)이 아닌 제3자에게 송신되는 것을 방지할 수 있다.As described above, it is possible to prevent the first ciphertext from being transmitted to the third party other than the user terminal 10 by transmitting the first ciphertext through the user authentication process in the block chain 40.

도 9는 본 발명의 또 다른 바람직한 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법의 개인정보 제공에 대한 구체적인 일례를 나타내는 순서도(S400)이다.FIG. 9 is a flowchart (S400) illustrating a concrete example of providing personal information of a programmable block chain and an integrated identity-based user information management method according to another preferred embodiment of the present invention.

도 9를 참조하면, 도 7과 비교하여, 개인정보 제공을 위해 블록체인(40)에 저장되어 있던 사용자정보를 요청할 때, 실제로 사용자 단말(10)이 요청한 것인지를 인증하는 사용자 인증 절차(도 8의 S350)가 추가된 실시예이다. 즉, 도 7의 사용자정보 제공 방법(S300) 보다 더 보안성을 강화한 실시예이다.Referring to FIG. 9, in comparison with FIG. 7, when requesting user information stored in the block chain 40 for providing personal information, a user authentication procedure for authenticating whether the user information is actually requested by the user terminal 10 (S350 of FIG. That is, it is an embodiment in which the security is further enhanced than the user information providing method (S300) of FIG.

사용자 단말(10)이 서비스제공자 서버(20)로부터 개인정보 요청을 수신하면(S402), 저장된 개인정보를 관리서버(30)에 요청할 수 있다(S408). 이 때 사용자 ID를 함께 송신할 수 있다.When the user terminal 10 receives the personal information request from the service provider server 20 (S402), the user terminal 10 can request the stored personal information to the management server 30 (S408). At this time, the user ID can be transmitted together.

또한, 서비스제공자 서버(20)는 사용자인증요청 원문(또는 로그인 원문)을 생성하여(S404), 관리서버(30)에 사용자인증 요청을 할 수 있다(S406). 이때 사용자인증요청 원문과 사용자 ID를 함께 송신할 수 있다.In addition, the service provider server 20 may generate a user authentication request original text (or a login original text) (S404), and may request the management server 30 for a user authentication (S406). At this time, the user authentication request text and the user ID can be transmitted together.

사용자인증 요청 및 사용자정보 요청을 받은 관리서버(30)는 수신한 사용자인증요청 원문을 사용자 단말(10)로 송신할 수 있다(S410).The management server 30 receiving the user authentication request and the user information request may transmit the received user authentication request original text to the user terminal 10 (S410).

사용자 단말(10)은 수신한 사용자인증요청 원문을 사용자 개인키로 서명하여 사용자서명문을 생성할 수 있다(S412). 이때 사용자 단말(10)이 FIDO 인증장치를 구비하고 있다면, 생체인증으로 사용자 개인키를 획득하여 사용할 수 있다.The user terminal 10 may generate the user signature by signing the received user authentication request original with the user's private key (S412). At this time, if the user terminal 10 has the FIDO authentication device, the user private key can be acquired and used by biometric authentication.

사용자 단말(10)은 생성한 사용자서명문을 관리서버(S30)로 송신할 수 있다(S414).The user terminal 10 can transmit the created user signature to the management server S30 (S414).

사용자서명문을 수신한 관리서버(30)는, S406 단계에서 수신한 사용자인증요청 원문을 사용자서명문과 함께 블록체인(40)으로 송신하면서 사용자인증 요청과 제1암호문 요청을 동시에 송신할 수 있다(S416). 이때 사용자 ID도 함께 송신할 수 있다.The management server 30 having received the user signature may simultaneously transmit the user authentication request and the first ciphertext request while transmitting the user authentication request original sent in step S406 to the block chain 40 together with the user signature S416). At this time, the user ID can also be transmitted together.

사용자인증 요청과 제1암호문 요청을 수신한 블록체인(40)은 수신한 사용자서명문을 등록되어 있던 사용자 공개키로 서명 검증하여 원문을 추출할 수 있다(S418).The block chain 40 receiving the user authentication request and the first ciphertext request can extract the original text by signature verification of the received user signature with the registered user public key at step S418.

이때, 서명 검증에 성공하면, 수신한 사용자서명문이 실제로 사용자가 서명한 것이라는 것이 증명된 것이다.At this time, if the signature verification is successful, it is proved that the received user signature is actually signed by the user.

블록체인(40)은 추출한 원문을 수신한 원문과 동일한지 비교 검증할 수 있다(S420).The block chain 40 may compare the extracted original text with the original text (S420).

이때 검증 결과가 동일하다면, 서비스제공자 서버(20)가 요청한 사용자인증요청이 성공한 것이다.At this time, if the verification result is the same, the user authentication request requested by the service provider server 20 is successful.

사용자 인증이 성공하였으므로, 블록체인(40)은 사용자 ID에 매핑되어 저장되어 있던 제1암호문을 관리서버(30)로 송신할 수 있다(S422).Since the user authentication is successful, the block chain 40 may transmit the first ciphertext mapped to the user ID to the management server 30 (S422).

관리서버(30)는 수신한 제1암호문을 사용자 단말(10)로 송신할 수 있다(S424).The management server 30 may transmit the received first cipher text to the user terminal 10 (S424).

사용자 단말(10)은 수신한 제1암호문을 사용자 개인키로 복호화하여 사용자정보를 획득할 수 있다(S426). 사용자 단말(10)이 FIDO 인증장치를 구비하고 있다면, FIDO 인증을 거쳐 사용자 개인키를 획득하여 사용할 수 있다.The user terminal 10 can decrypt the received first cipher text with the user's private key to obtain user information (S426). If the user terminal 10 has the FIDO authentication device, it can acquire and use the user's private key via the FIDO authentication.

사용자 단말(10)은 획득한 사용자정보를 서비스제공자 서버(20)에 송신할 수 있다(S428). 만약, 서비스제공자 서버(20)가 요구한 개인정보가 사용자정보에 포함되어 있는 일부 정보라면, 획득한 사용자정보 중에서 서비스제공자 서버(20)가 요구하는 정보만을 선택하여 서비스제공자 서버(20)로 송신할 수도 있다.The user terminal 10 can transmit the acquired user information to the service provider server 20 (S428). If the personal information requested by the service provider server 20 is some information included in the user information, only the information requested by the service provider server 20 among the acquired user information is selected and transmitted to the service provider server 20 You may.

이상과 같이, 사용자 인증 과정을 거쳐 제1암호문을 송수신함으로써 보다 더 보안이 강화된 사용자정보 관리를 할 수 있다.As described above, the first cipher text is transmitted and received through the user authentication process, thereby enabling more secure user information management.

도 10은 본 발명의 또 다른 바람직한 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법의 사용자인증 및 사용자정보 제공에 대한 구체적인 일례를 나타내는 순서도이다.10 is a flowchart illustrating a concrete example of user authentication and user information provision of a programmable block chain and an integrated identity-based user information management method according to another preferred embodiment of the present invention.

도 10을 참조하면, 서비스제공자 서버(20)가 사용자 단말(10)로부터 사용자인증 요청을 받으면서 함께 수신한 사용자의 특정정보(개인정보의 일부)가 과연 실제 사용자의 정보가 맞는지 본인확인를 할 필요가 있을 때의 실시예이다.10, when the service provider server 20 receives the user authentication request from the user terminal 10, it is necessary to confirm whether the specific information of the user (a part of the personal information) Is an embodiment of the present invention.

사용자 단말(10)이 서비스제공자 서버(20)의 요구에 의해 사용자의 특정정보 입력을 요청받았을 경우, 사용자로부터 사용자의 특정정보를 수신한다(S502). 이때 사용자의 특정정보는 사용자가 블록체인(40)에 저장해 놓은 사용자정보(개인정보, 문서 등)에 포함되는 일부 정보일 수 있다.When the user terminal 10 is requested to input the user's specific information at the request of the service provider server 20, the specific information of the user is received from the user (S502). At this time, the specific information of the user may be some information included in the user information (personal information, document, etc.) stored in the block chain 40 by the user.

사용자로부터 특정정보를 재수신한 사용자 단말(10)은 서비스제공자 서버(20)에 특정정보를 송신할 수 있다(S504).The user terminal 10 which has re-received specific information from the user can transmit specific information to the service provider server 20 (S504).

서비스제공자 서버(20)는 사용자인증요청 원문을 생성하여(S506), 관리서버(30)에 사용자인증 요청과 특정정보의 인증을 동시에 요청할 수 있다(S508). 이때 사용자인증요청 원문, 특정정보 및 사용자 ID를 함께 송신할 수 있다.The service provider server 20 generates a user authentication request text (S506), and can simultaneously request the user authentication request and the specific information to the management server 30 (S508). At this time, the user authentication request text, specific information, and user ID can be transmitted together.

사용자인증 요청 및 사용자정보 요청을 받은 관리서버(30)는 수신한 사용자인증요청 원문을 사용자 단말(10)로 송신할 수 있다(S510).The management server 30 receiving the user authentication request and the user information request can transmit the received user authentication request original text to the user terminal 10 (S510).

사용자 단말(10)은 수신한 사용자인증요청 원문을 사용자 개인키로 서명하여 사용자서명문을 생성할 수 있다(S512). 이때 사용자 단말(10)이 FIDO 인증장치를 구비하고 있다면, 생체인증으로 사용자 개인키를 획득하여 사용할 수 있다.The user terminal 10 can generate the user signature by signing the received user authentication request original with the user's private key (S512). At this time, if the user terminal 10 has the FIDO authentication device, the user private key can be acquired and used by biometric authentication.

사용자 단말(10)은 생성한 사용자서명문을 관리서버(S30)로 송신할 수 있다(S514).The user terminal 10 can transmit the generated user signature to the management server S30 (S514).

사용자서명문을 수신한 관리서버(30)는 S508 단계에서 수신한 사용자인증요청 원문과 사용자 ID를 함께 블록체인(40)으로 송신하면서 사용자인증 요청과 제1암호문 요청을 동시에 송신할 수 있다(S516).Upon receiving the user signature, the management server 30 may simultaneously transmit the user authentication request and the first ciphertext request while transmitting the user authentication request original text and the user ID received in step S508 to the block chain 40 (S516 ).

사용자인증 요청과 제1암호문 요청을 수신한 블록체인(40)은 수신한 사용자서명문을 등록되어 있던 사용자 공개키로 서명 검증하여 원문을 추출할 수 있다(S518).The block chain 40 receiving the user authentication request and the first ciphertext request can extract the original text by signature verification of the received user signature with the registered user public key (S518).

이때, 서명 검증에 성공하면, 수신한 사용자서명문이 실제로 사용자가 서명한 것이라는 것이 증명된 것이다.At this time, if the signature verification is successful, it is proved that the received user signature is actually signed by the user.

블록체인(40)은 추출한 원문을 수신한 원문과 동일한지 비교 검증할 수 있다(S520).The block chain 40 may compare and verify the extracted original text with the original text received (S520).

이때 검증 결과가 동일하다면, 서비스제공자 서버(20)가 요청한 사용자인증요청이 성공한 것이다.At this time, if the verification result is the same, the user authentication request requested by the service provider server 20 is successful.

사용자인증이 성공하였으므로, 블록체인(40)은 사용자 ID에 매핑 등록되어 있던 제1암호문을 관리서버(30)로 송신할 수 있다(S522).Since the user authentication is successful, the block chain 40 may transmit the first ciphertext, which is mapped and registered to the user ID, to the management server 30 (S522).

관리서버(30)는 수신한 제1암호문을 사용자 단말(10)로 송신할 수 있다(S524).The management server 30 may transmit the received first cipher text to the user terminal 10 (S524).

사용자 단말(10)은 수신한 제1암호문을 사용자 개인키로 복호화하여 사용자정보를 획득할 수 있다(S526). 사용자 단말(10)이 FIDO 인증장치를 구비하고 있다면, FIDO 인증을 거쳐 사용자 개인키를 획득하여 사용할 수 있다.The user terminal 10 may decrypt the received first cipher text using the user's private key to obtain user information (S526). If the user terminal 10 has the FIDO authentication device, it can acquire and use the user's private key via the FIDO authentication.

사용자 단말(10)은 획득한 사용자정보 중에서 서비스제공자 서버(20)가 요구하는 정보, 즉 특정정보만을 선택하여 사용자 개인키로 서명하여 사용자서명문을 생성할 수 있다(S528).The user terminal 10 may select only the information requested by the service provider server 20 from among the acquired user information, that is, specific information, and sign it with the user's private key to generate a user signature statement (S528).

사용자 단말(10)은 생성한 사용자서명문을 관리서버(S30)로 송신할 수 있다(S530).The user terminal 10 can transmit the created user signature to the management server S30 (S530).

사용자서명문을 수신한 관리서버(30)는, S508 단계에서 수신한 특정정보를 해시하여 사용자서명문과 함께 블록체인(40)으로 송신하면서 특정정보의 인증을 요청할 수 있다(S532). 이때 사용자 ID도 함께 송신할 수 있다.Upon receiving the user signature, the management server 30 may request authentication of specific information while hashing the specific information received in step S508 and transmitting it to the block chain 40 together with the user signature statement (S532). At this time, the user ID can also be transmitted together.

즉, S508 단계에서 서비스제공자 서버(20)로부터 수신한 특정정보와, 사용자 단말(10)이 기 저장되어 있던 제1암호문을 복호화하여 획득한 사용자정보 중에서 서비스제공자 서버(20)가 요구하는 정보만을 선택하여 사용자 개인키로 서명한 것이 과연 동일한지를 판단하는 인증을 블록체인(40)에 요청하는 것이다.That is, only the information requested by the service provider server 20 out of the specific information received from the service provider server 20 in step S508 and the user information obtained by decoding the first cipher text stored in the user terminal 10 And asking the block chain 40 for authentication to determine whether the signature selected with the user's private key is identical.

특정정보 인증 요청을 수신한 블록체인(40)은 수신한 사용자서명문을 등록되어 있던 사용자 공개키로 서명 검증하여 원문을 추출할 수 있다(S534).The block chain 40 receiving the specific information authentication request can extract the original text by signature verification of the received user signature with the registered user public key (S534).

이때, 서명 검증에 성공하면, 수신한 사용자서명문이 실제로 사용자가 서명한 것이라는 것이 증명된 것이다.At this time, if the signature verification is successful, it is proved that the received user signature is actually signed by the user.

블록체인(40)은 추출한 원문을 수신한 원문(해시된 특정정보)과 동일한지 비교 검증할 수 있다(S536).The block chain 40 may compare and verify the extracted original text with the original text (hashed specific information) (S536).

이때 검증 결과가 동일하다면, 서비스제공자 서버(20)가 요청한 특정정보가 실제로 사용자의 정보인 것이 증명된 것이다.At this time, if the verification result is the same, it is proved that the specific information requested by the service provider server 20 is actually the information of the user.

블록체인(40)은 사용자 인증 결과를 관리서버(30)로 전송하고(S538), 관리서버(30)는 그 결과를 서비스제공자 서버(20)에 송신하고(S540), 서비스제공자 서버(20)는 사용자인증이 성공하였음을 사용자 단말(10)에 송신함으로써(S542) 안전한 사용자 인증 및 특정정보 확인이 완료된다.The block chain 40 sends the user authentication result to the management server 30 in step S538 and the management server 30 sends the result to the service provider server 20 in step S540, The secure user authentication and specific information confirmation are completed by transmitting to the user terminal 10 that the user authentication is successful (S542).

도 11은 본 발명의 또 다른 바람직한 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법의 제2암호문 제공에 대한 구체적인 일례를 나타내는 순서도(S600)이다.11 is a flowchart (S600) illustrating a concrete example of providing a second ciphertext in a programmable block chain and an integrated identity-based user information management method according to another preferred embodiment of the present invention.

도 11을 참조하면, 사용자 단말(10)이 분실 또는 도난 등으로 사용이 불가할 때, 복구 요청을 위해 기존에 사용하던 사용자 개인키를 사용할 수 없으므로, 블록체인에 등록되어 있는 제2암호문을 사용하는 실시예이다. 상술한바와 같이, 제2암호문은 제1암호문과는 다른 방법으로 암호화되는 것이 바람직하며, 상술한 실시예에서는 패스워드 기반으로 암호화를 하였으나, 이에 반드시 한정되지는 않는다.Referring to FIG. 11, when the user terminal 10 is unavailable due to loss or theft, the user private key previously used for the recovery request can not be used. Therefore, the second ciphertext registered in the block chain is used . As described above, the second cipher text is preferably encrypted in a manner different from the first cipher text. In the above-described embodiment, encryption is performed based on a password, but the present invention is not limited thereto.

새로운 사용자 단말(50)이 관리서버에 복구 요청을 하면(S602), 관리서버(30)는 복구 URL을 새로운 사용자 단말(50)에 전달할 수 있다.When the new user terminal 50 issues a recovery request to the management server (S602), the management server 30 can deliver the recovery URL to the new user terminal 50. [

그러며, 새로운 사용자 단말(50)은 관리서버(30)에 사용자정보의 복호화를 요청할 수 있다(S606).Then, the new user terminal 50 can request the management server 30 to decrypt the user information (S606).

사용자정보의 복호화 요청을 수신한 관리서버(30)는 블록체인(40)에 사용자 ID를 송신하면서 제2암호문을 요청할 수 있다(S608).The management server 30 having received the decryption request of the user information can request the second cipher text while transmitting the user ID to the block chain 40 (S608).

제2암호문 요청을 수신한 블록체인(40)은 수신한 사용자 ID에 매핑 등록되어 있던 제2암호문을 관리서버(30)에 송신할 수 있다.The block chain 40 receiving the second ciphertext request can transmit the second ciphertext, which has been mapped and registered to the received user ID, to the management server 30.

제2암호문을 수신한 관리서버(30)는 관리서버 개인키로 제2암호문을 복호화하여 백업암호문을 추출할 수 있다(S612). 도 5의 S108 또는 도 6의 S214 참조하면, 제2암호문은 백업암호문을 관리서버 공개키로 암호화하였다.The management server 30 having received the second cipher text can extract the backup cipher text by decrypting the second cipher text with the management server private key (S612). Referring to S108 in Fig. 5 or S214 in Fig. 6, the second ciphertext encrypts the backup ciphertext with the management server public key.

관리서버(S30)는 추출한 백업암호문을 새로운 사용자 단말(50)로 송신할 수 있다(S614).The management server S30 can transmit the extracted backup cipher text to the new user terminal 50 (S614).

새로운 사용자 단말(50)은 백업암호문을 패스워드 기반으로 복호화하여 사용자정보를 획득할 수 있다(S616).The new user terminal 50 may obtain the user information by decrypting the backup cipher text based on the password (S616).

새로운 사용자 단말(50)은 복호화된 사용자정보를 통해 사용자의 사용자정보 재입력 없이 새로운 사용자 단말(50)로 블록체인(40) 또는 서비스제공자 서버(20)에 재등록을 수행할 수 있다(S618).The new user terminal 50 may re-register to the block chain 40 or the service provider server 20 with the new user terminal 50 without re-inputting the user's user information through the decrypted user information (S618) .

이상과 같이, 본 실시예들에 의하면, 프로그래밍이 가능한 블록체인에 신원이 확인된 사용자정보를 암호화하여 보관하고, 사용자정보의 등록 및 요청시 사용자 인증 프로그램을 수행하게 하고, 관리서버를 통해 블록체인에 접근하도록 함으로써, 사용자정보를 보다 안전하게 보관할 수 있고 사용자 인증 프로그램의 무결성을 보장할 수 있고, 여러 기관서버들이 개별적으로 블록체인의 트랜잭션을 발생시키지 않고도 개인정보 확인이 가능하고, 관리서버조차도 블록체인의 사용자 인증 프로그램을 함부로 조작할 수 없도록 할 수 있다.As described above, according to the present embodiments, user information whose identity has been confirmed in the programmable block chain is encrypted and stored, the user authentication program is executed when the user information is registered and requested, The user information can be stored more securely, the integrity of the user authentication program can be ensured, personal information can be verified without causing various agency servers to individually generate transactions in the block chain, It is possible to prevent the user authentication program of the user from being tampered with.

또한, 사용자 단말의 분실 또는 도난 등의 유사시에 대비하여 사용자정보를 백업으로 보관하도록 하여 사용자정보의 재입력 없이 새로운 사용자 단말로 블록체인에 재등록이 가능하도록 할 수 있다.In addition, the user information may be stored as a backup in preparation for a loss or theft of the user terminal, so that the new user terminal can be re-registered in the block chain without re-entering the user information.

또한, 이상에서 설명된 인증체인 기반 FIDO 및 인증서 등록을 수행하는 방법의 실시예는 다양한 컴퓨터 구성요소들을 통하여 수행될 수 있는 컴퓨터 프로그램 명령어의 형태로 구현될 수 있다. 또한, 상기 구현된 컴퓨터 프로그램은 컴퓨터 판독 가능한 기록 매체에 기록될 수도 있다. 언급된 기록 매체는 ROM, 자기 디스크 혹은 콤팩트 디스크, 광 디스크 등 일 수 있으나, 이에 반드시 한정되지는 않는다.In addition, embodiments of the authentication chain based FIDO and method of performing certificate registration described above may be implemented in the form of computer program instructions that may be executed through various computer components. Furthermore, the computer program embodied may be recorded on a computer-readable recording medium. The recording medium mentioned above may be, but is not necessarily, a ROM, a magnetic disk or a compact disk, an optical disk, or the like.

이상에서와 같이, 본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, . Accordingly, the true scope of the present invention should be determined by the technical idea of the appended claims.

10: 사용자 단말
20: 서비스제공자 서버
30: 관리서버
40: 프로그래밍이 가능한 블록체인
50: 새로운 사용자 단말
10: User terminal
20: Service Provider Server
30: Management server
40: Programmable block chain
50: New user terminal

Claims (21)

관리서버와 네트워크로 연결된 이더리움(Ethereum) 또는 프로그래밍이 가능한 블록체인이,
상기 관리서버로부터 사용자의 ID, 사용자의 공개키, 제1암호문(사용자 단말이 사용자정보를 암호화하여 관리서버로 송신한 것) 및 관리서버서명문(제1암호문을 관리서버의 개인키로 서명한 것)을 수신하는 단계;
상기 관리서버서명문을 관리서버 공개키로 서명 검증한 후, 상기 제1암호문 및 사용자의 공개키를 상기 사용자의 ID에 매핑 등록하는 사용자정보등록 단계; 및
상기 관리서버로부터 상기 제1암호문을 요청 받으면 상기 사용자의 ID에 매핑 등록되어 있는 상기 제1암호문을 상기 관리서버로 송신하는 사용자정보송신 단계;를 포함하는 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법으로서,
상기 관리서버로부터 사용자서명문(사용자 개인키로 서명된 것)과 원문(서비스제공자 서버가 상기 관리서버로 송신한 것)을 수신하는 단계; 및
상기 사용자서명문을 상기 사용자 공개키로 서명 검증한 후 상기 원문과 비교하는 사용자인증 단계;
를 더 포함하되,
상기 서비스제공자 서버가 상기 사용자 단말로부터 사용자의 특정정보를 수신하여 상기 특정정보의 인증 요청을 하는 경우,
상기 원문은 상기 서비스제공자 서버가 송신한 상기 특정정보를 포함한 원문이고,
상기 사용자서명문은 상기 사용자 단말이 상기 블록체인에 저장되어 있던 제1암호문을 수신한 후 복호화하여 획득한 사용자정보 중에서 상기 서비스제공자 서버가 요구하는 정보만을 선택하여 사용자 개인키로 서명한 것인 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법.
An ethereum or programmable block chain, networked with the management server,
(The user terminal encrypts the user information and transmits it to the management server) and the management server signature (signed by the private key of the management server of the first cipher text from the management server) ≪ / RTI >
A user information registration step of signing and verifying the management server signature with a management server public key and mapping the first ciphertext and a public key of the user to the ID of the user; And
And transmitting the first ciphertext, which is mapped and registered to the ID of the user, to the management server when the first ciphertext is requested from the management server, As an information management method,
Receiving a user signature (signed by the user's private key) and the original text (the one sent by the service provider server to the management server) from the management server; And
Authenticating the user signature with the user public key and comparing the user signature with the original text;
Further comprising:
When the service provider server receives the specific information of the user from the user terminal and requests authentication of the specific information,
Wherein the original text is a text containing the specific information transmitted by the service provider server,
Wherein the user signature is a signature of the user terminal selected from only the information requested by the service provider server from the user information obtained by decrypting the first cipher text stored in the block chain and signed by the user's private key A programmable block chain and an integrated identity based user information management method.
제 1항에 있어서,
상기 관리서버로부터 상기 사용자의 제2암호문을 수신하여 상기 사용자의 ID에 매핑 등록하는 단계; 및
상기 관리서버로부터 상기 제2암호문을 요청 받으면 상기 사용자의 ID에 매핑 등록되어 있는 상기 제2암호문을 상기 관리서버로 송신하는 단계;
를 더 포함하되,
상기 제2암호문은 상기 제1암호문과는 다른 방법으로 암호화된 것인 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법.
The method according to claim 1,
Receiving a second cipher text of the user from the management server and mapping the second cipher text to the ID of the user; And
Transmitting the second ciphertext mapped to the user's ID to the management server when the second ciphertext is requested from the management server;
Further comprising:
Wherein the second ciphertext is encrypted in a manner different from the first ciphertext, and wherein the second ciphertext is encrypted in a manner different from the first ciphertext.
제 2항에 있어서,
상기 제2암호문은,
상기 사용자 단말이 사용자정보를 패스워드 기반으로 암호화한 것이거나, 상기 패스워드 기반으로 암호화된 사용자정보를 상기 관리서버가 상기 관리서버의 공개키로 추가로 암호화한 것인 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법.
3. The method of claim 2,
The second cipher text includes:
Characterized in that the user terminal encrypts user information based on a password or the user information encrypted based on the password is further encrypted by the management server with a public key of the management server. And integrated identity based user information management method.
제 1항에 있어서,
상기 사용자정보등록 단계는 상기 사용자의 단말이 공인인증기관을 통해 본인인증을 수행한 후 등록하는 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법.
The method according to claim 1,
Wherein the user information registration step is performed after the user terminal authenticates the user through the authorized certification authority and registers the same.
삭제delete 삭제delete 제 1항에 있어서,
상기 사용자정보송신 단계는, 상기 사용자인증 단계의 수행 결과 인증이 성공하면 수행하는 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법.
The method according to claim 1,
Wherein the user information transmission step is performed when authentication is successful as a result of performing the user authentication step.
삭제delete 사용자 단말 및 이더리움 또는 프로그래밍이 가능한 블록체인과 네트워크로 연결된 관리서버가,
상기 사용자 단말로부터 사용자 ID 및 제1암호문(사용자 단말이 사용자정보를 사용자 공개키로 암호화한 것)을 수신하여 상기 블록체인에 매핑 등록하는 사용자정보등록 단계; 및
상기 사용자 단말로부터 상기 제1암호문을 요청 받으면, 상기 블록체인으로부터 상기 사용자의 ID에 매핑 등록되어 있는 상기 제1암호문을 수신하여 상기 사용자 단말로 송신하는 사용자정보송신 단계;
를 포함하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법으로서,
서비스제공자 서버로부터 원문을 수신하는 단계;
상기 사용자 단말로부터 사용자서명문(사용자 개인키로 서명된 것)을 수신하는 단계;
상기 수신한 사용자서명문과 원문을 상기 블록체인으로 송신하는 단계; 및
상기 블록체인이 상기 사용자서명문을 사용자 공개키로 서명 검증한 후 상기 원문과 비교한 인증결과를 수신하는 단계;
를 더 포함하되,
상기 서비스제공자 서버가 상기 사용자 단말로부터 상기 사용자의 특정정보를 수신하여 상기 특정정보의 인증 요청을 하는 경우,
상기 원문은 상기 서비스제공자 서버가 송신한 특정정보를 포함한 원문이고,
상기 사용자서명문은 상기 사용자 단말이 상기 블록체인에 저장되어 있던 제1암호문을 수신한 후 복호화하여 획득한 사용자정보 중에서 상기 서비스제공자 서버가 요구하는 정보만을 선택하여 사용자 개인키로 서명한 것인 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법.
A user terminal and an administrative or networked management server with an Ethernet or programmable block chain,
A user information registration step of receiving a user ID and a first cipher text (a user terminal encrypts user information with a user public key) from the user terminal and mapping the same to the block chain; And
Receiving the first cipher text mapped to the user's ID from the block chain when receiving the first cipher text from the user terminal, and transmitting the first cipher text to the user terminal;
A programmable block chain and an integrated identity based user information management method,
Receiving a text from a service provider server;
Receiving a user signature statement (signed with a user private key) from the user terminal;
Transmitting the received user signature statement and the original text to the block chain; And
The block chain sign-verifying the user signature with a user's public key and receiving an authentication result compared with the original text;
Further comprising:
When the service provider server receives the specific information of the user from the user terminal and requests authentication of the specific information,
Wherein the original text is a text containing specific information transmitted by the service provider server,
Wherein the user signature is a signature of the user terminal selected from only the information requested by the service provider server from the user information obtained by decrypting the first cipher text stored in the block chain and signed by the user's private key A programmable block chain and an integrated identity based user information management method.
제 9항에 있어서,
상기 블록체인에 상기 사용자의 제2암호문을 매핑 등록하는 단계;
를 더 포함하되,
상기 제2암호문은 상기 제1암호문과는 다른 방법으로 암호화된 것인 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법.
10. The method of claim 9,
Mapping the second ciphertext of the user to the block chain;
Further comprising:
Wherein the second ciphertext is encrypted in a manner different from the first ciphertext, and wherein the second ciphertext is encrypted in a manner different from the first ciphertext.
제 10항에 있어서,
상기 제2암호문은,
상기 사용자 단말이 상기 사용자정보를 패스워드 기반으로 암호화한 것이거나, 상기 패스워드 기반으로 암호화된 사용자정보를 상기 관리서버가 상기 관리서버의 공개키로 추가로 암호화한 것인 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법.
11. The method of claim 10,
The second cipher text includes:
Characterized in that the user terminal encrypts the user information based on a password or the user information encrypted based on the password is further encrypted by the management server with a public key of the management server, Chain and integrated identity based user information management.
제 10항에 있어서,
새로운 사용자 단말로부터 복구 요청을 수신하는 단계; 및
상기 복구 요청을 수신한 후 상기 블록체인에 등록되어 있는 상기 제2암호문을 수신하여 상기 새로운 사용자 단말로 송신하는 단계;
를 더 포함하는 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법.
11. The method of claim 10,
Receiving a recovery request from a new user terminal; And
Receiving the second ciphertext registered in the block chain after receiving the restoration request and transmitting the second ciphertext to the new user terminal;
Further comprising: a programmable block chain and an integrated identity based user information management method.
제 9항에 있어서,
상기 사용자정보등록 단계는 상기 사용자 단말이 공인인증기관을 통해 본인인증을 수행한 후 등록하는 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법.
10. The method of claim 9,
Wherein the user information registration step is performed after the user terminal authenticates the user through the authorized certification authority and registers the same.
제 9항에 있어서,
상기 사용자정보등록 단계는,
상기 수신한 제1암호문을 상기 관리서버의 개인키로 서명하여 관리서버서명문을 생성하는 단계; 및
상기 관리서버서명문을 상기 사용자 ID 및 제1암호문과 함께 블록체인으로 송신하는 단계;
를 포함하되,
상기 관리서버서명문이 상기 블록체인에서 서명 검증에 성공하는 경우에 상기 제1암호문이 등록되는 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법.
10. The method of claim 9,
Wherein the user information registration step comprises:
Signing the received first ciphertext with a private key of the management server to generate a management server signature; And
Transmitting the management server signature to the block chain together with the user ID and the first ciphertext;
, ≪ / RTI &
Wherein the first ciphertext is registered when the signature of the management server signature is successfully verified in the block chain.
삭제delete 삭제delete 삭제delete 제1항 내지 제4항, 제7항, 제9항 내지 제14항 중의 어느 한 항에 따른 방법을 실행시키기 위한 컴퓨터로 판독가능한 기록매체에 저장된 컴퓨터 프로그램.
A computer program stored in a computer-readable medium for executing the method according to any one of claims 1 to 4, 7 and 9 to 14.
삭제delete 관리서버와 네트워크로 연결된 블록체인으로서,
제1항 내지 제4항, 제7항 중의 어느 한 항에 따른 방법을 실행시키기 위한 프로그램에 의해 동작하는 것을 특징으로 하는, 블록체인.
A block chain networked with a management server,
A block chain, characterized in that it operates by means of a program for carrying out the method according to any one of claims 1 to 4.
서비스제공자 서버, 사용자 단말 및 블록체인과 네트워크로 연결된 관리서버로서,
제9항 내지 제14항 중의 어느 한 항에 따른 방법을 실행시키기 위한 프로그램에 의해 동작하는 것을 특징으로 하는, 관리서버.
A management server connected to a network with a service provider server, a user terminal, and a block chain,
A management server characterized by being operated by a program for executing a method according to any one of claims 9 to 14.
KR1020170064394A 2017-05-24 2017-05-24 Methods and system for managing personal information based on programmable blockchain and one-id KR101974452B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170064394A KR101974452B1 (en) 2017-05-24 2017-05-24 Methods and system for managing personal information based on programmable blockchain and one-id

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170064394A KR101974452B1 (en) 2017-05-24 2017-05-24 Methods and system for managing personal information based on programmable blockchain and one-id

Publications (2)

Publication Number Publication Date
KR20180129028A KR20180129028A (en) 2018-12-05
KR101974452B1 true KR101974452B1 (en) 2019-05-03

Family

ID=64744000

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170064394A KR101974452B1 (en) 2017-05-24 2017-05-24 Methods and system for managing personal information based on programmable blockchain and one-id

Country Status (1)

Country Link
KR (1) KR101974452B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102302351B1 (en) 2020-09-01 2021-09-15 주식회사 소버린월렛 Blockchain system that includes bank nodes each having separate ledgers for identity, digital currency and other functions, and operation method thereof

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101985179B1 (en) * 2017-12-26 2019-09-03 상명대학교 천안산학협력단 Blockchain based id as a service
WO2020118262A1 (en) * 2018-12-06 2020-06-11 Pasig And Hudson, Pvt Limited Computer method and graphical user interface for identity management using blockchain
CN109784917B (en) * 2018-12-13 2020-11-17 如般量子科技有限公司 Anti-quantum computation blockchain secret transaction system and method based on symmetric key pool
CN109547218B (en) * 2019-01-18 2021-10-15 北京工业大学 Alliance link node key distribution and backup system for improving BIP (building information processing) protocol
KR102219525B1 (en) * 2019-01-24 2021-02-24 주식회사 메디블록 Method, system and non-transitory computer-readable recording medium for verifying information in a block-chained network
KR102012757B1 (en) * 2019-04-05 2019-08-21 (주)이지팜 System and method of providing block chain linked services based on Web-session
KR102053253B1 (en) * 2019-04-23 2019-12-06 한화시스템(주) Information management method based on block-chain in tactical environment
CN110263088B (en) * 2019-05-20 2021-04-02 创新先进技术有限公司 Conditional receipt storage method and node combining code labeling and event type
CN110545190B (en) * 2019-09-06 2021-08-13 腾讯科技(深圳)有限公司 Signature processing method, related device and equipment
KR102271201B1 (en) * 2019-10-01 2021-06-30 숭실대학교산학협력단 Method for maintaining private information on blockchain network and device thereof
WO2021066271A1 (en) * 2019-10-02 2021-04-08 주식회사 디젠트아이디 Mobile communication terminal for performing personal authentication, personal authentication system, and personal authentication method using mobile communication terminal
KR102457567B1 (en) * 2019-10-29 2022-10-21 성균관대학교산학협력단 Methods for managing identification based on blockchain
KR102320667B1 (en) * 2019-11-08 2021-11-02 두나무 주식회사 Method and terminal for managing user information
CN111460407A (en) * 2020-03-31 2020-07-28 福建省建瓯市朝阳竹编帽业有限公司 Safety helmet management platform based on block chain
KR102496829B1 (en) * 2020-05-13 2023-02-08 한국전자통신연구원 Apparatus and method for managing identity based on blockchain
CN111934997B (en) 2020-09-25 2021-01-12 支付宝(杭州)信息技术有限公司 Message transmission method and device
CN111934990B (en) 2020-09-25 2021-02-09 支付宝(杭州)信息技术有限公司 Message transmission method and device
CN111935000B (en) 2020-09-25 2021-01-08 支付宝(杭州)信息技术有限公司 Message transmission method and device
CN112968967B (en) 2020-09-25 2023-05-19 支付宝(杭州)信息技术有限公司 Block synchronization method and device
CN112953821B (en) 2020-09-25 2022-02-25 支付宝(杭州)信息技术有限公司 Message transmission method and device
CN111934998B (en) 2020-09-25 2021-02-09 支付宝(杭州)信息技术有限公司 Message transmission method and device
CN113079079B (en) 2020-09-25 2022-08-02 支付宝(杭州)信息技术有限公司 Message transmission method and device
CN112968969B (en) 2020-09-25 2023-05-12 支付宝(杭州)信息技术有限公司 Block chain system, message transmission method and device
KR102594528B1 (en) * 2021-01-27 2023-10-26 주식회사 다인리더스 System for providing blockchain based unified digital document management service for foreign students
CN115150071A (en) * 2022-06-20 2022-10-04 中国联合网络通信集团有限公司 Identity authentication method, device, equipment and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011188029A (en) 2010-03-04 2011-09-22 Fujitsu Ltd Digital signature device, digital signature method, and computer program
KR101329003B1 (en) 2010-09-09 2013-11-12 주식회사 케이티 Method, patient's client device and relay device for delivery each electronic prescription services of patient and pharmacy
KR101637863B1 (en) * 2016-01-05 2016-07-08 주식회사 코인플러그 Security system and method for transmitting a password
US20160335533A1 (en) 2015-05-15 2016-11-17 Joshua P. Davis System and Method for an Autonomous Entity

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101228856B1 (en) * 2011-02-16 2013-02-01 루멘소프트 (주) Method for Storing and Using Personal Information in a Portable Terminal
KR20160085143A (en) * 2015-01-07 2016-07-15 주식회사 케이티 Method for providing anonymous service and method for managing user information and system therefor
KR101590076B1 (en) 2015-11-18 2016-02-01 주식회사 웨이브스트링 Method for managing personal information

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011188029A (en) 2010-03-04 2011-09-22 Fujitsu Ltd Digital signature device, digital signature method, and computer program
KR101329003B1 (en) 2010-09-09 2013-11-12 주식회사 케이티 Method, patient's client device and relay device for delivery each electronic prescription services of patient and pharmacy
US20160335533A1 (en) 2015-05-15 2016-11-17 Joshua P. Davis System and Method for an Autonomous Entity
KR101637863B1 (en) * 2016-01-05 2016-07-08 주식회사 코인플러그 Security system and method for transmitting a password

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102302351B1 (en) 2020-09-01 2021-09-15 주식회사 소버린월렛 Blockchain system that includes bank nodes each having separate ledgers for identity, digital currency and other functions, and operation method thereof

Also Published As

Publication number Publication date
KR20180129028A (en) 2018-12-05

Similar Documents

Publication Publication Date Title
KR101974452B1 (en) Methods and system for managing personal information based on programmable blockchain and one-id
KR102016730B1 (en) Authentification methods and system based on programmable blockchain and one-id
CN109862041B (en) Digital identity authentication method, equipment, device, system and storage medium
US10567370B2 (en) Certificate authority
JP4866863B2 (en) Security code generation method and user device
CN112291245B (en) Identity authorization method, identity authorization device, storage medium and equipment
JP4803145B2 (en) Key sharing method and key distribution system
US8397281B2 (en) Service assisted secret provisioning
JP6667371B2 (en) Communication system, communication device, communication method, and program
ES2665887T3 (en) Secure data system
US20140013116A1 (en) Apparatus and method for performing over-the-air identity provisioning
CN112311538A (en) Identity authentication method, device, storage medium and equipment
KR20190026558A (en) Teriminal apparatus, server apparatus, blockchain and method for fido universal authentication using the same
JP2007206961A (en) Authentication system and authentication information transfer method in the same system and security device
KR100559958B1 (en) System and Method for Intermediate of Authentication Tool Between Mobile Communication Terminal
CN111914270A (en) Programmable authentication service method and system based on block chain technology
KR102053993B1 (en) Method for Authenticating by using Certificate
KR20070062632A (en) Mobile message and file security implementation by cryptography
JP2017108237A (en) System, terminal device, control method and program
JP6783527B2 (en) Electronic key re-registration system, electronic key re-registration method and program
CN111541708B (en) Identity authentication method based on power distribution
JP7211518B2 (en) Owner identity confirmation system and owner identity confirmation method
JP7211519B2 (en) Owner identity confirmation system, terminal and owner identity confirmation method
WO2021019781A1 (en) Owner identity confirmation system, authentication station server, and owner identity confirmation method
JP5553914B1 (en) Authentication system, authentication device, and authentication method

Legal Events

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