KR102016730B1 - Authentification methods and system based on programmable blockchain and one-id - Google Patents
Authentification methods and system based on programmable blockchain and one-id Download PDFInfo
- Publication number
- KR102016730B1 KR102016730B1 KR1020170064393A KR20170064393A KR102016730B1 KR 102016730 B1 KR102016730 B1 KR 102016730B1 KR 1020170064393 A KR1020170064393 A KR 1020170064393A KR 20170064393 A KR20170064393 A KR 20170064393A KR 102016730 B1 KR102016730 B1 KR 102016730B1
- Authority
- KR
- South Korea
- Prior art keywords
- user
- authentication
- blockchain
- text
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H04L2209/38—
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
본 발명은 프로그래밍이 가능한 블록체인에 사용자 ID와 사용자 공개키를 등록하고 사용자 인증 프로그램을 수행하게 함으로써 보다 안전하게 사용자 인증을 수행하는 사용자 인증 방법 및 시스템을 제공이 가능하다. 또한, 인증서버(또는 관리서버)를 통해 블록체인에 접근하도록 함으로써 여러 서비스제공자 서버들이 개별적으로 블록체인의 트랜잭션을 발생시키지 않고도 사용자정보 확인이 가능하다. 또한, 공인인증기관을 통해 신원이 확인된 사용자정보를 암호화하여 블록체인에 보관함으로써 사용자 인증시마다 사용자의 신원 확인을 할 필요가 없고, 서비스제공자 서버가 해킹이 되더라도 사용자정보의 유출 위험이 없다. 또한, 프로그래밍이 가능한 블록체인, 예를 들어 이더리움을 사용함으로써 사용자정보는 물론 사용자 인증 프로그램의 무결성을 보장하는 동시에 인증서버조차도 블록체인의 사용자 인증 프로그램을 함부로 조작할 수 없다. 또한, 한 개의 아이디로 다수의 기관서버에 로그인, 사용자정보 제공, 사용자정보 인증이 가능하도록 하여, 사용자정보가 여러 기관서버에 분산되어 있지 않으므로 사용자정보 제공에 대한 이력관리가 수월하고, 주소, 단말 정보, 서버 정보, 전화번호 또는 개인 문서 등의 사용자정보 변경시나 서비스제공자의 서비스 가입시마다 아이디와 비밀번호를 모두 기억하고, 일일이 사용자정보를 재입력해야 하는 불편이 없어진다.The present invention can provide a user authentication method and system for more securely performing user authentication by registering a user ID and a user public key in a programmable blockchain and performing a user authentication program. In addition, by accessing the blockchain through the authentication server (or management server), multiple service provider servers can check the user information without having to individually create a blockchain transaction. In addition, by encrypting the user information verified through the certification authority and stored in the blockchain, there is no need to verify the user's identity every time the user is authenticated, and there is no risk of leakage of user information even if the service provider server is hacked. In addition, the use of a programmable blockchain, for example, Ethereum, ensures the integrity of user authentication programs as well as user information, and even an authentication server cannot tamper with the user authentication program of the blockchain. In addition, since a single ID can log in to multiple institution servers, provide user information, and authenticate user information, user information is not distributed to multiple institution servers, making it easy to manage user information. When changing user information such as information, server information, phone number or personal documents, or whenever a service provider subscribes to a service, both ID and password are memorized, and there is no inconvenience of having to re-enter user information.
Description
본 발명은 프로그래밍이 가능한 블록체인과 통합 ID(아이디) 기반의 사용자 인증 방법 및 시스템에 관한 것으로, 보다 상세하게는, 프로그래밍이 가능한 블록체인에 사용자 ID와 사용자 공개키를 등록하고 사용자 인증 프로그램을 수행하게 함으로써 사용자정보를 보다 안전하게 보관하는 동시에 사용자인증 프로그램의 무결성도 보장하는 사용자 인증 방법 및 시스템에 관한 것이다.The present invention relates to a programmable blockchain and an integrated ID (ID) based user authentication method and system, and more particularly, to register a user ID and a user public key on a programmable blockchain and perform a user authentication program. The present invention relates to a user authentication method and system which ensures the integrity of a user authentication program while at the same time keeping user information more secure.
종래의 사용자 인증, 본인 확인 또는 개인 인증 시스템은 여러 서비스제공자(또는 기관) 서버에 사용자정보가 보관되기 때문에 기관서버 해킹 시에 사용자정보가 유출되는 문제가 있다. 또한, 사용자정보 또는 개인정보가 여러 기관 사이트(서버)에 분산되어 있어서 사용자정보 제공에 대한 이력관리가 어렵고, 주소, 단말 정보, 서버 정보, 전화번호 등의 변경 시에 여러 사이트에서 일일이 변경해야 하고, 사용자(개인 또는 기관) ID 도용에 대한 문제도 발생할 수 있다. 또한, 각 기관의 서비스마다. ID와 비밀번호를 별도로 모두 기억해야 하는 불편이 있고, 각 서비스제공자의 서비스에 가입 시마다 사용자정보를 반복해서 또 입력해야 하는 번거로움이 있다.Conventional user authentication, identity verification or personal authentication system has a problem that the user information is leaked when hacking the institution server because the user information is stored in various service provider (or institution) server. In addition, since user information or personal information is distributed in various institutional sites (servers), it is difficult to manage the history of providing user information, and when changing addresses, terminal information, server information, and telephone numbers, the site must be changed at various sites. In addition, problems with user (personal or institutional) identity theft may arise. In addition, per service of each agency. It is inconvenient to remember both the ID and the password separately, and the hassle of having to repeatedly enter the user information every time the user subscribes to the service of each service provider.
이러한 문제점을 해결하기 위해 최근 높은 보안성과 안전성이 입증된 블록체인을 사용할 수 있다. 대한민국 등록특허 제10-1590076호에서는 블록체인에 사용자정보를 암호화하여 등록하는 기술이 공지되어 있다. 사용자와 기관(서비스 제공자) 서버가 일대일로 매핑되어 사용자정보를 전달하는 구조이며 블록체인을 중간 매개체로 사용하는 기술로서, 사용자의 공개키로 사용자정보를 암호화하여 블록체인에 저장해 놓음으로써 보안성을 높이고 있다. 그런데, 저장된 사용자정보의 접근시마다 매번 본인확인 또는 신원확인이 필요하며, 모든 기관이 블록체인에 접속시마다 직접 트랜잭션을 발생시켜야 하기 때문에 비용과 대기 시간이 증가하는 문제가 있다.To solve this problem, we can use blockchain that has recently been proven to be highly secure and safe. Korean Patent No. 10-1590076 discloses a technique for encrypting and registering user information on a blockchain. It is a structure that delivers user information by mapping users and institutions (service provider) servers one-to-one. It uses blockchain as an intermediate medium. It enhances security by encrypting user information with the user's public key and storing it in the blockchain. have. However, every time the stored user information is accessed, identity verification or identity verification is required every time, and all institutions must directly generate a transaction every time they access the blockchain, which increases the cost and waiting time.
블록체인 기술은 점점 진화하여, 이제는 단순한 저장 매개체로만 사용하지 않고, 다양한 프로그램을 올릴 수 있도록 프로그래밍이 가능한 블록체인이 소개되고 있는데, 그 대표적인 예가 이더리움(Ethereum)이다. 블록체인을 사용하는 비트코인이 화폐로서 사용되고, 네임코인이 화폐와 토큰의 역할을 하였으며, 프라임코인이 컴퓨팅 파워를 이중적으로 활용하였고, 컬러드코인이 화폐가 특정 자산을 대표할 수 있도록 하였다면, 이더리움은 블록체인을 하나의 데이터베이스로 보고, 모든 자산을 올릴 수 있고 각 자산이 구동하거나 거래되는 방식까지 직접 프로그래밍할 수 있는 하나의 오픈플랫폼(Open Platform)이다. 이더리움 상에서는 비트코인, 네임코인, 프라임코인, 컬러드코인을 모두 설계할 수 있을 뿐 아니라 이들이 서로 작동하는 방식이나, 이체조건, 이체방법 등까지 세심하게 조종할 수 있다. 따라서, 이러한 프로그래밍이 가능한 블록체인 플랫폼을 사용하면, 안전한 사용자 인증은 물론 인증 프로그램의 무결성까지 보장할 수 있으므로 사용자 인증에 수반되는 많은 보안 이슈들을 해결할 수 있다.As blockchain technology has evolved, there is now introduced a blockchain that can be programmed to upload various programs instead of just as a storage medium. An example is Ethereum. If Bitcoin using blockchain is used as a currency, Namecoin acts as a currency and token, Primecoin doubles the computing power, and Coloredcoin allows money to represent a particular asset, Ether Leeum is an open platform that allows you to view the blockchain as a database, load all assets, and directly program how each asset is driven or traded. On Ethereum, you can design Bitcoin, Namecoin, Primecoin, and Colored Coin, as well as control how they work together, transfer conditions, and transfer methods. Therefore, by using such a programmable blockchain platform, not only secure user authentication but also the integrity of the authentication program can be ensured, thereby solving many security issues associated with user authentication.
본 발명은 프로그래밍이 가능한 블록체인에 사용자 ID와 사용자 공개키를 등록하고 사용자 인증 프로그램을 수행하게 함으로써 보다 안전하게 사용자 인증을 수행하는 동시에 사용자 인증 프로그램의 무결성을 보장하는 사용자 인증 방법 및 시스템을 제공하는 것을 목적으로 한다.The present invention is to provide a user authentication method and system that ensures the integrity of the user authentication program at the same time to perform the user authentication more securely by registering the user ID and user public key in the programmable blockchain and performing the user authentication program. The purpose.
또한, 공인인증기관을 통해 신원이 확인된 사용자정보를 암호화하여 블록체인에 보관함으로써 사용자 인증시마다 사용자의 신원 확인을 할 필요가 없고, 서비스제공자 서버가 해킹이 되더라도 사용자정보의 유출 위험이 없도록 하는 것을 또 다른 목적으로 한다.In addition, by encrypting the user information verified through an accredited certification authority and storing it in the blockchain, there is no need to verify the user's identity every time the user is authenticated, and there is no risk of leakage of user information even if the service provider server is hacked. Another purpose.
또한, 인증서버(또는 관리서버)를 통해 블록체인에 접근하도록 함으로써 여러 서비스제공자 서버들이 개별적으로 직접 블록체인의 트랜잭션을 발생시키지 않고도 사용자정보 확인이 가능하도록 하는 것을 또 다른 목적으로 한다.In addition, by providing access to the blockchain through the authentication server (or management server), it is another object to allow the various service provider servers to check user information without directly incurring a separate blockchain transaction.
또한, 한 개의 아이디로 다수의 기관서버에 로그인이 가능하도록 하여, 사용자정보가 여러 기관서버에 분산되어 있지 않으므로 사용자정보 제공에 대한 이력관리가 수월하고, 사용자정보의 변경시나 서비스제공자의 서비스 가입시마다 아이디와 비밀번호 기억 및 사용자정보 재입력의 불편이 없어지도록 하는 것을 또 다른 목적으로 한다.In addition, it is possible to log in to multiple institutional servers with one ID, so that user information is not distributed to multiple institutional servers, thus making it easy to manage user information, and to change user information and service subscriptions of service providers. Another purpose is to avoid the inconvenience of remembering the ID and password and re-entering user information.
상기 기술적 과제를 달성하기 위한, 본 발명의 일 실시예에 따르면, 프로그래밍이 가능한 블록체인이, 사용자 ID 및 사용자 공개키를 등록하는 사용자등록 단계; 서명문과 원문을 수신하는 단계; 및 상기 서명문을 상기 사용자 공개키로 서명 검증한 후 상기 원문과 비교하는 사용자인증 단계를 포함하되, 상기 서명문은 사용자 개인키로 서명된 것이고, 상기 원문은 상기 사용자를 인증하기 위한 원문인 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법이 제공된다.According to an embodiment of the present invention for achieving the above technical problem, a programmable blockchain, a user registration step of registering a user ID and a user public key; Receiving a signature and a text; And a user authentication step of verifying the signature with the user public key and comparing the signature with the original text, wherein the signature is signed with a user private key, and the original is a text for authenticating the user. Programmable blockchain and integrated ID-based user authentication are provided.
상기 블록체인은 이더리움(Ethereum)일 수 있다.The blockchain may be Ethereum.
상기 블록체인은 인증서버와 네트워크로 연결되고, 상기 인증서버는 상기 서비스제공자 서버 및 사용자 단말과 네트워크로 연결되어 상기 블록체인과의 중간에서 중계 역할을 할 수 있다.The blockchain may be connected to a network with an authentication server, and the authentication server may be connected to a network with the service provider server and a user terminal to serve as a relay in the middle of the blockchain.
상기 원문은 서비스제공자 서버가 송신한 사용자인증요청 원문이고, 상기 서명문은 사용자 단말이 상기 사용자인증요청 원문을 상기 사용자 개인키로 서명한 것일 수 있다.The original text may be a user authentication request text sent by a service provider server, and the signature text may be signed by the user terminal with the user private key.
상기 사용자등록 단계는, 상기 사용자의 암호문을 수신하여 상기 사용자의 ID에 매핑 저장하는 단계를 더 포함하되, 상기 암호문은 상기 사용자의 단말이 사용자정보를 상기 사용자 공개키로 암호화한 것이고, 상기 사용자정보는 상기 사용자의 개인정보 또는 문서를 포함할 수 있다.The user registration step further includes the step of receiving the user's cipher text and mapping and storing the ID to the user's ID, wherein the cipher text is encrypted by the user terminal with the user's public key, the user information is It may include personal information or documents of the user.
상기 사용자등록 단계는 상기 사용자 단말이 공인인증기관을 통해 본인인증을 수행한 후 등록하는 것일 수 있다.The user registration step may be to register after the user terminal performs a self-authentication through an authorized certification authority.
상기 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법은, 상기 사용자의 암호문을 요청 받는 경우, 상기 사용자의 ID에 매핑 저장되어 있는 상기 암호문을 송신하는 암호문송신 단계를 더 포함하되, 사용자 단말은 상기 암호문을 수신하여 상기 사용자 개인키로 복호화함으로써 상기 사용자정보를 획득할 수 있다.The programmable blockchain and user ID-based user authentication method further includes a cryptographic text transmission step of transmitting the encrypted text stored mapped to the user's ID when the encrypted text of the user is requested. The user information may be obtained by receiving the cipher text and decrypting it with the user private key.
상기 암호문송신 단계는, 상기 사용자인증 단계의 수행 결과 인증이 성공하면 수행할 수 있다.The encrypted text transmission step may be performed if authentication is successful as a result of performing the user authentication step.
서비스제공자 서버가 상기 사용자 단말로부터 상기 사용자의 특정정보를 수신하여 상기 특정정보의 인증 요청을 하는 경우, 상기 원문은 상기 서비스제공자 서버가 송신한 상기 특정정보를 포함한 원문이고, 상기 서명문은 상기 사용자 단말이 획득한 사용자정보 중에서 상기 서비스제공자 서버가 요구하는 정보만을 선택하여 상기 사용자 개인키로 서명한 것일 수 있다.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, and the signature text is the user. Only the information requested by the service provider server may be selected from the user information acquired by the terminal and signed with the user private key.
상기 기술적 과제를 달성하기 위한, 본 발명의 또 다른 일 실시예에 따르면, 서비스제공자 서버, 사용자 단말 및 블록체인과 네트워크로 연결된 인증서버가, 상기 사용자 단말로부터 사용자 ID 및 사용자 공개키를 수신하여 상기 블록체인에 등록하는 사용자등록 단계; 상기 서비스제공자 서버로부터 원문을 수신하는 단계; 상기 사용자 단말로부터 서명문을 수신하는 단계; 상기 수신한 서명문과 원문을 상기 블록체인으로 송신하는 단계; 및 상기 블록체인이 상기 서명문을 상기 사용자 공개키로 서명 검증한 후 상기 원문과 비교한 인증결과를 수신하는 단계를 포함하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법이 제공된다.According to yet another embodiment of the present invention, an authentication server connected to a service provider server, a user terminal, and a blockchain via a network receives a user ID and a user public key from the user terminal. Registering a user with the blockchain; Receiving an original text from the service provider server; Receiving a signature from the user terminal; Transmitting the received signature text and original text to the blockchain; And receiving, by the blockchain, signature verification of the signature with the user's public key and receiving an authentication result comparing the original text with a programmable blockchain and an integrated ID-based user authentication method.
상기 블록체인은 이더리움일 수 있다.The blockchain may be Ethereum.
상기 원문은 상기 서비스제공자 서버가 송신한 사용자인증요청 원문이고, 상기 서명문은 상기 인증서버가 상기 수신한 사용자인증요청 원문을 상기 사용자 단말로 송신하고, 상기 사용자 단말이 상기 수신한 사용자인증요청 원문을 사용자 개인키로 서명한 것일 수 있다.The original text is a user authentication request text sent by the service provider server, and the signature text transmits the received user authentication request text to the user terminal by the authentication server, and the user authentication request text received by the user terminal. May be signed with a user private key.
상기 사용자등록 단계는, 상기 사용자 단말로부터 수신한 상기 사용자의 암호문을 상기 사용자의 ID에 매핑 저장하는 단계를 더 포함하되, 상기 암호문은 상기 사용자 단말이 사용자정보를 상기 사용자 공개키로 암호화한 것이고, 상기 사용자정보는 상기 사용자의 개인정보 또는 문서를 포함하는 것일 수 있다.The user registration step may further include mapping and storing the cipher text of the user received from the user terminal to the ID of the user, wherein the cipher text is encrypted by the user terminal with the user public key. User information may include personal information or documents of the user.
상기 사용자등록 단계는 상기 사용자 단말이 공인인증기관을 통해 본인인증을 수행한 후 등록하는 것일 수 있다.The user registration step may be to register after the user terminal performs a self-authentication through an authorized certification authority.
상기 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법은, 상기 사용자 단말로부터 상기 암호문을 요청 받는 경우, 상기 블록체인으로부터 상기 사용자의 ID에 매핑 저장되어 있는 상기 암호문을 수신하여 상기 사용자 단말로 송신하는 암호문송신 단계를 더 포함하되, 상기 사용자 단말은 상기 암호문을 수신하여 사용자 개인키로 복호화함으로써 상기 사용자정보를 획득할 수 있다.The programmable blockchain and the integrated ID-based user authentication method, when the ciphertext is requested from the user terminal, receives the ciphertext mapped to the user's ID from the blockchain and transmits the ciphertext to the user terminal. The method may further include transmitting a cipher text, wherein the user terminal receives the cipher text and decrypts the cipher text with a user private key to obtain the user information.
상기 암호문송신 단계는, 상기 인증결과가 성공인 경우에 상기 암호문을 수신할 수 있다.The ciphertext transmission step may receive the ciphertext when the authentication result is successful.
상기 서비스제공자 서버가 상기 사용자 단말로부터 상기 사용자의 특정정보를 수신하여 상기 특정정보의 인증 요청을 하는 경우, 상기 원문은 상기 서비스제공자 서버가 송신한 특정정보를 포함한 원문이고, 상기 서명문은 상기 사용자 단말이 획득한 사용자정보 중에서 상기 서비스제공자 서버가 요구하는 정보만을 선택하여 상기 사용자 개인키로 서명한 것일 수 있다.When the service provider server receives the specific information of the user from the user terminal to request authentication of the specific information, the original text is the original text including the specific information transmitted by the service provider server, and the signature text is the user. Only the information requested by the service provider server may be selected from the user information acquired by the terminal and signed with the user private key.
또한, 다른 바람직한 일 실시예에 따르면, 전술한 각 방법에 따른 방법을 실행시키기 위한 컴퓨터로 판독가능한 기록매체에 저장된 컴퓨터 프로그램이 제공된다.In addition, according to another preferred embodiment, there is provided a computer program stored in a computer-readable recording medium for executing the method according to each of the above-described methods.
또한, 또 다른 바람직한 일 실시예에 따르면, 전술한 각 방법을 실행시키기 위한 프로그램이 기록된, 컴퓨터에서 판독 가능한 기록매체가 제공된다.In addition, according to another preferred embodiment, there is provided a computer-readable recording medium having recorded thereon a program for executing each of the above-described methods.
상기 기술적 과제를 달성하기 위한, 본 발명의 또 다른 바람직한 일 실시예에 따르면, 프로그래밍이 가능한 블록체인으로서, 전술한 각 방법을 실행시키기 위한 프로그램에 의해 동작하는 것을 특징으로 하는, 블록체인이 제공된다.According to another preferred embodiment of the present invention for achieving the above technical problem, a blockchain is provided, which is a programmable blockchain, characterized in that it is operated by a program for executing each of the above-described methods. .
상기 기술적 과제를 달성하기 위한, 본 발명의 또 다른 바람직한 일 실시예에 따르면, 서비스제공자 서버, 사용자 단말 및 블록체인과 네트워크로 연결된 인증서버로서, 전술한 각 방법을 실행시키기 위한 프로그램에 의해 동작하는 것을 특징으로 하는, 인증서버가 제공된다.According to another preferred embodiment of the present invention for achieving the above technical problem, as an authentication server connected to the service provider server, the user terminal and the blockchain network, operating by a program for executing each of the above-described methods Characterized in that, the authentication server is provided.
이상과 같이, 본 발명에 따르면, 프로그래밍이 가능한 블록체인에 사용자 ID와 사용자 공개키를 등록하고 사용자 인증 프로그램을 수행하게 함으로써 보다 안전하게 사용자 인증을 수행하는 사용자 인증 방법 및 시스템을 제공하는 효과가 있다.As described above, according to the present invention, there is an effect of providing a user authentication method and system for more securely performing user authentication by registering a user ID and a user public key in a programmable blockchain and performing a user authentication program.
또한, 인증서버(또는 관리서버)를 통해 블록체인에 접근하도록 함으로써 여러 서비스제공자 서버들이 개별적으로 블록체인의 트랜잭션을 발생시키지 않고도 사용자정보 확인이 가능한 효과가 있다.In addition, by accessing the blockchain through the authentication server (or management server), there is an effect that multiple service provider servers can check the user information without having to individually create a transaction of the blockchain.
또한, 공인인증기관을 통해 신원이 확인된 사용자정보(개인정보 및 문서)를 암호화하여 블록체인에 보관함으로써 사용자 인증시마다 사용자의 신원 확인을 할 필요가 없고, 서비스제공자 서버가 해킹이 되더라도 사용자정보의 유출 위험이 없는 효과가 있다.In addition, by encrypting user information (personal information and documents) whose identity has been verified through an accredited certification authority and storing them in the blockchain, there is no need to confirm the user's identity every time the user is authenticated, and even if the service provider server is hacked, There is no risk of spillage.
또한, 프로그래밍이 가능한 블록체인, 예를 들어 이더리움을 사용함으로써 사용자정보는 물론 사용자 인증 프로그램의 무결성을 보장하는 동시에 인증서버 조차도 블록체인의 사용자 인증 프로그램을 함부로 조작할 수 없도록 하는 효과가 있다.In addition, by using a programmable blockchain, for example, Ethereum, the integrity of the user authentication program as well as the user information can be guaranteed and even an authentication server can not operate the user authentication program of the blockchain without permission.
또한, 한 개의 아이디로 다수의 기관서버에 로그인, 사용자정보 제공, 사용자정보 인증이 가능하도록 하여, 사용자정보가 여러 기관서버에 분산되어 있지 않으므로 사용자정보 제공에 대한 이력관리가 수월하고, 주소, 단말 정보, 서버 정보, 전화번호 등의 개인정보 변경시나 서비스제공자의 서비스 가입시마다 아이디와 비밀번호를 모두 기억하고, 일일이 사용자정보를 재입력해야 하는 불편이 없어지는 효과가 있다.In addition, since a single ID can log in to multiple institution servers, provide user information, and authenticate user information, user information is not distributed to multiple institution servers, making it easy to manage user information. When changing personal information such as information, server information, and phone number, or whenever a service provider subscribes to a service, all IDs and passwords are remembered, and the inconvenience of having to re-enter user information is eliminated.
도 1은 본 발명의 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 시스템의 구성을 나타내는 블록도이다.
도 2는 본 발명의 다른 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 시스템의 구성을 나타내는 블록도이다.
도 3은 본 발명의 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법의 구체적인 일례를 나타내는 순서도이다.
도 4는 본 발명의 다른 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법의 구체적인 일례를 나타내는 순서도이다.
도 5는 본 발명의 또 다른 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법의 구체적인 일례를 나타내는 순서도이다.
도 6은 본 발명의 또 다른 바람직한 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법의 사용자등록에 대한 구체적인 일례를 나타내는 순서도이다.
도 7은 본 발명의 또 다른 바람직한 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법의 로그인에 대한 구체적인 일례를 나타내는 순서도이다.
도 8은 본 발명의 또 다른 바람직한 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법의 사용자정보 제공에 대한 구체적인 일례를 나타내는 순서도이다.
도 9는 본 발명의 또 다른 바람직한 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법의 개인정보 제공에 대한 구체적인 일례를 나타내는 순서도이다.
도 10은 본 발명의 또 다른 바람직한 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법의 개인정보 인증에 대한 구체적인 일례를 나타내는 순서도이다.
도 11은 본 발명의 또 다른 바람직한 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법의 사용자정보 인증에 대한 구체적인 일례를 나타내는 순서도이다.1 is a block diagram illustrating a configuration of a programmable blockchain and an integrated ID-based user authentication system according to an embodiment of the present invention.
2 is a block diagram illustrating a configuration of a programmable blockchain and an integrated ID-based user authentication system according to another embodiment of the present invention.
3 is a flowchart illustrating a specific example of a programmable blockchain and an integrated ID based user authentication method according to an embodiment of the present invention.
4 is a flowchart illustrating a specific example of a programmable blockchain and an integrated ID-based user authentication method according to another embodiment of the present invention.
5 is a flowchart illustrating a specific example of a programmable blockchain and an integrated ID based user authentication method according to another embodiment of the present invention.
6 is a flowchart illustrating a specific example of user registration of a programmable blockchain and an integrated ID based user authentication method according to another preferred embodiment of the present invention.
7 is a flowchart illustrating a specific example of a login of a programmable blockchain and an integrated ID-based user authentication method according to another preferred embodiment of the present invention.
8 is a flowchart illustrating a specific example of providing user information of a programmable blockchain and an integrated ID-based user authentication method according to another preferred embodiment of the present invention.
9 is a flowchart illustrating a specific example of providing personal information of a programmable blockchain and an integrated ID-based user authentication method according to another preferred embodiment of the present invention.
10 is a flowchart illustrating a specific example of personal information authentication of a programmable blockchain and an integrated ID based user authentication method according to another preferred embodiment of the present invention.
11 is a flowchart illustrating a specific example of user information authentication of a programmable blockchain and an integrated ID based user authentication method according to another preferred embodiment of the present invention.
이하, 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 하기의 설명에서는 본 발명의 실시예에 따른 동작을 이해하는데 필요한 부분만이 도시되고 설명되며 그 이외 부분의 도시와 설명은 본 발명의 요지를 흐리지 않도록 생략하였다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement 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 illustrations and descriptions of other parts are omitted so as not to obscure the subject matter of the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention.
또한, 이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 본 발명을 가장 적절하게 표현할 수 있도록 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 한다.In addition, the terms or words used in the specification and claims described below are not to be construed as being limited to the ordinary or dictionary meaning, meaning that corresponds to the technical spirit of the present invention so as to best express the present invention To be interpreted as
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우만을 한정하는 것이 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우 또는 유/무선 네트워크를 통해 유/무선으로 통신하는 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is "connected" to another part, it is not limited to "directly connected", but is "electrically connected" with another element in between. Or it includes a case of communicating via wired / wireless via a wired / wireless network. In addition, when a part is said to "include" a certain component, this means that it may further include other components, except to exclude other components unless otherwise stated.
설명의 간략함을 위해, 본 명세서에서는 예시를 들어 순서도 또는 플로우 차트의 형태로 하나 이상의 방법이 일련의 단계로서 도시되고 기술되어 있지만, 본 발명이 단계들의 순서에 의해 제한되지 않는데 그 이유는 본 발명에 따라 본 명세서에 도시되고 기술되어 있는 것과 다른 순서로 또는 다른 단계들과 동시에 행해질 수 있기 때문이라는 것을 잘 알 것이다. 또한, 예시된 모든 단계들이 본 발명에 따라 방법을 구현해야만 하는 것은 아닐 수 있다.For simplicity of explanation, although one or more methods are shown and described herein as a series of steps, for example in the form of a flowchart or flow chart, the present invention is not limited by the order of the steps, for the present invention. It will be appreciated that it may be done in a different order or simultaneously with other steps than shown and described herein. Moreover, not all illustrated steps may have to implement a methodology in accordance with the present invention.
명세서 전체에서 '사용자'라는 용어는 개인, 단체, 기관 또는 기업 등일 수 있으며, 사용자의 ID 및 공개키가 블록체인에 등록되고, 사용자정보를 블록체인에 저장할 수 있으며, 서비스제공자로부터 사용자 인증 또는 사용자정보 인증 요구를 받을 수 있다.Throughout the specification, the term 'user' may be an individual, an organization, an institution or an enterprise, and the user's ID and public key may be registered in the blockchain, the user information may be stored in the blockchain, and user authentication or service from a service provider. Information authentication may be requested.
또한, 명세서 전체에서 '사용자정보'라는 용어는 사용자의 다양한 개인정보는 물론이고 다양한 형식의 문서도 포함한다. '개인정보'라는 용어는 사용자의 주민번호, 사회보장번호, 주소, 단말 정보, 서버 정보, 전화번호 등의 정보를 의미한다.In addition, the term 'user information' throughout the specification includes not only various personal information of the user but also various types of documents. The term 'personal information' refers to information such as a user's social security number, social security number, address, terminal information, server information, and telephone number.
또한, 명세서 전체에서 '서비스제공자'라는 용어는 개인, 단체, 기관 또는 기업 등일 수 있으며, ID 및 공개키가 블록체인에 반드시 등록될 필요는 없고, 블록체인에 등록되어 있는 사용자의 인증 또는 사용자정보의 인증을 요청할 수 있다.In addition, the term 'service provider' in the entire specification may be an individual, an organization, an institution, or an enterprise, and an ID and a public key do not necessarily need to be registered in a blockchain, and authentication or user information of a user registered in a blockchain. You can request certification.
도 1은 본 발명의 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 시스템의 구성을 나타내는 블록도이다.1 is a block diagram illustrating a configuration of a programmable blockchain and an integrated ID-based user authentication system according to an embodiment of the present invention.
도 1을 참조하면, 본 발명에 따른 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 시스템은 사용자 단말(10), 서비스제공자 서버(20) 및 프로그래밍이 가능한 블록체인(40)을 포함하여 구성될 수 있다.Referring to FIG. 1, a programmable blockchain and an integrated ID-based user authentication system according to the present invention may include a
사용자 단말(10)은 휴대폰, 스마트폰, 컴퓨터, 태블릿, PC 등의 다양한 개인 기기 또는 장치일 수 있으며, 또한, 기업, 공공기관, 은행 등의 다양한 기관에서 사용되는 다양한 서버, 컴퓨터, 기기 또는 장치일 수 있다. 본 도면에서는 스마트폰, 노트북, 서버가 도시되어 있지만, 이에 반드시 한정되지는 않는다.The
사용자 단말(10)은, 바람직하게는, FIDO(Fast Identity online) 인증장치가 구비될 수 있다. 이러한 경우 FIDO 인증장치를 통해 키쌍을 생성하고, 개인키를 저장하고, 생체인증 등을 통해 개인키를 획득할 수 있다.The
서비스제공자 서버(20)는 특정 서비스를 제공하는 기업, 공공기관, 은행 등의 다양한 기관에서 사용되는 다양한 서버, 컴퓨터, 기기 또는 장치일 수 있으며, 또한, 휴대폰, 스마트폰, 컴퓨터, 태블릿, PC 등의 다양한 개인 기기 또는 장치일 수 있다. 본 도면에서는 노트북과 서버가 도시되어 있지만, 이에 반드시 한정되지는 않는다.The
블록체인(40)에는 사용자정보 및 사용자 인증 프로그램이 저장되고 실행된다. 블록체인(40)은 단순한 저장 매개체로만 사용되지 않고, 다양한 프로그램을 올릴 수 있도록 프로그래밍이 가능한 다양한 형태의 블록체인이며, 그 대표적인 예가 이더리움이다. 프로그래밍이 가능한 블록체인(40)은 블록체인을 하나의 데이터베이스로 보고, 모든 자산을 올릴 수 있고 각 자산이 구동하거나 거래되는 방식까지 직접 프로그래밍할 수 있는 하나의 오픈플랫폼이다. 이더리움 상에서는 다양한 프로그램을 설계할 수 있으며 이들이 서로 작동하는 방식이나 조건 등까지 세심하게 조종할 수 있고, 또한, 프로그램을 함부로 조작할 수 없기 때문에 무결성이 보장된다.In the
따라서, 이러한 프로그래밍이 가능한 블록체인(40)을 사용하면, 안전한 사용자 인증은 물론 사용자정보와 인증 프로그램의 무결성까지도 보장할 수 있으므로 사용자 인증에 수반되는 많은 보안 이슈들을 해결할 수 있다.Therefore, when the
사용자 단말(10), 서비스제공자 서버(20) 및 블록체인(40)은 다양한 유선 또는 무선의 네트워크를 통해 서로 통신할 수 있으며, 통신을 위해 다양한 유무선의 통신수단을 구비할 수 있다. 통신 네트워크는 이더넷 등의 유선 네트워크일 수도 있고, 와이파이 또는 이동통신망 등의 무선 네트워크 일 수도 있으나, 이에 반드시 한정되지는 않는다.The
도 2는 본 발명의 다른 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 시스템의 구성을 나타내는 블록도이다.2 is a block diagram showing the configuration of a programmable blockchain and an integrated ID based user authentication system according to another embodiment of the present invention.
도 2를 참조하면, 본 발명에 따른 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 시스템은 사용자 단말(10), 서비스제공자 서버(20), 인증서버(30) 및 프로그래밍이 가능한 블록체인(40)을 포함하여 구성될 수 있다. 도 1의 구성과 비교하면, 인증서버(30)가 더 포함되어 있는 시스템이다.Referring to FIG. 2, the programmable blockchain and the integrated ID-based user authentication system according to the present invention include a
인증서버(또는 관리서버)(30)는 기관, 기업, 서비스제공자, 개인 등이 운영할 수 있는 통상의 서버일 수 있으며, 컴퓨터, 태블릿, PC 등의 다양한 기기 또는 장치일 수도 있다.The authentication server (or management server) 30 may be a conventional server that can be operated by an institution, an enterprise, a service provider, an individual, or the like, or may be various devices or devices such as a computer, a tablet, and a PC.
인증서버(30)는 사용자 단말(10) 및 서비스제공자서버(20)와 다양한 유선 또는 무선의 네트워크를 통해 서로 통신할 수 있으며, 통신을 위해 다양한 유무선의 통신수단을 구비할 수 있다. 또한, 인증서버(30)는 블록체인(40)과 다양한 유선 또는 무선의 네트워크를 통해 서로 통신할 수 있다. 통신 네트워크는 이더넷 등의 유선 네트워크일 수도 있고, 와이파이 또는 이동통신망 등의 무선 네트워크 일 수도 있으나, 이에 반드시 한정되지는 않는다.The
인증서버(30)는 사용자 단말(10) 및 서비스제공자서버(20)와 블록체인(40) 사이에서 중계역할을 할 수 있다.The
사용자 단말(10) 및 서비스제공자서버(20)가 인증서버(30)를 통해 블록체인에 접근하도록 함으로써 여러 서비스제공자 서버들이 개별적으로 직접 블록체인의 트랜잭션을 발생시키지 않고도 사용자정보 확인이 가능한 효과가 있다. 즉, 여러 서비스제공자 서버들이 블록체인에 접근하는 로직을 직접 구비할 필요가 없다.By allowing the
블록체인(40)은 대규모의 노드들과 각 노드에 분산 저장된 독립적이고 개방된 공통 장부로 구성되어 있고, 또한 인증을 위해 50%를 초과하는 작업증명(proof-of-work) 또는 소유증명(proof-of-take)이 필요하다. 따라서, 안전성이 높다는 장점에 비해 P2P서비스라서 상대적으로 거래속도가 느리고, 업그레이드도 느리고, 제어가 복잡하다는 단점이 있다.The
따라서, 인증서버(30)를 통해 블록체인에 접근하도록 하면 느린 거래속도를 개선할 수 있고, 복잡한 제어를 서비스제공자 서버(20)가 모두 감당할 필요가 없어지게 된다.Therefore, access to the blockchain through the
또한, 사용자 인증 프로그램을 블록체인(40)에 올리면, 인증서버(30) 조차도 블록체인(40)에 올려져 있는 사용자 인증 프로그램을 함부로 조작할 수 없다. 따라서, 인증서버(30)가 해킹되더라도 블록체인(40)에 저장되어 있는 사용자정보와 프로그램은 안전하다.In addition, if a user authentication program is uploaded to the
또한, 인증서버(30)를 사용함으로써 한 개의 ID로 다수의 서비스제공자 서버에 로그인하거나, 사용자정보를 제공하거나, 사용자정보 인증이 가능해진다. 따라서, 사용자정보가 여러 기관서버에 분산되어 있지 않으므로 사용자정보 제공에 대한 이력관리가 수월하고, 사용자정보 변경시나 서비스제공자의 서비스 가입시마다 아이디와 비밀번호를 모두 기억하고, 일일이 사용자정보를 재입력해야 하는 불편이 없어지는 효과가 있다.In addition, by using the
도 3은 본 발명의 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법의 구체적인 일례를 나타내는 순서도(S50)이다.3 is a flowchart (S50) illustrating a specific example of a user-programmable method based on a programmable blockchain and an integrated ID according to an embodiment of the present invention.
도 3을 참조하면, 블록체인(40)이 사용자등록과 사용자인증을 수행하는 순서도가 도시되어 있다.Referring to FIG. 3, a
블록체인(40)이 송수신하는 다양한 형태의 정보는, 도 1을 참조하면, 사용자 단말(10) 및 서비스제공자 서버(20)와 직접 송수신할 수 있고, 또한, 도 2를 참조하면, 인증서버(30)를 거쳐 송수신할 수도 있다.Referring to FIG. 1, various types of information transmitted and received by the
S52 단계에서, 블록체인(40)은 사용자 ID 및 사용자 공개키를 등록할 수 있다. 이 등록 절차는 최초 한 번만 수행할 수 있다. 이 사용자 ID는 통합 ID로 사용될 수 있다. 사용자 인증을 요청하는 모든 서비스제공자 서버(20)는 이 통합 ID로 사용자의 인증을 요청할 수 있다.In operation S52, the
S54 단계에서는, 서명문과 원문을 수신할 수 있다. 이때 등록된 사용자의 ID를 함께 수신할 수 있다. 수신한 서명문은 사용자 개인키로 서명된 것이고, 수신한 원문은 상기 사용자를 인증하기 위한 원문일 수 있다.In step S54, the signature and the original can be received. At this time, the registered user ID can be received together. The received signature text is signed with the user's private key, and the received text may be original text for authenticating the user.
예를 들어, 상기 원문은 서비스제공자 서버가 송신한 사용자인증요청 원문이고, 상기 서명문은 사용자 단말(10)이 사용자인증요청 원문을 사용자 개인키로 서명한 것일 수 있다. 따라서, 서비스제공자 서버(20)가 송신한 원문과 사용자 단말(10)이 제공한 서명문이 서명 검증되면, 서비스제공자 서버(20)가 송신한 사용자인증요청 원문을 사용자 단말(10)이 사용자 개인키로 서명하였다는 것이 증명된 것이다.For example, the original text may be a user authentication request text sent by a service provider server, and the signature text may be signed by the
또 다른 예로서, 서비스제공자 서버(20)가 사용자 단말(10)로부터 사용자의 특정정보(개인정보의 일부)를 수신하고, 수신한 특정정보가 실제 사용자의 특정정보인지의 인증을 요청하는 경우, 상기 원문은 서비스제공자 서버(20)가 송신한 특정정보이고, 상기 서명문은 사용자 단말(10)이 블록체인(40)에 저장되어 있던 사용자정보를 획득한 후, 획득한 사용자정보 중에서 서비스제공자 서버(20)가 요구하는 정보만을 선택하여 상기 사용자 개인키로 서명한 것일 수 있다. 따라서, 서비스제공자 서버(20)가 송신한 특정정보와 사용자 단말(10)이 제공한 정보가 동일하다면, 이 특정정보는 실제 사용자의 정보라는 무결성이 증명되는 것이다.As another example, when the
S56 단계에서는, 수신한 서명문을 사용자 공개키로 서명 검증하여 원문을 추출할 수 있다. 서명이 검증되면, 사용자 단말(10)이 보낸 서명문이라는 것이 증명된다.In operation S56, the original text may be extracted by verifying the received signature with a user public key. If the signature is verified, it is proved that the signature is sent by the
S58 단계에서는, 추출한 원문과 수신한 원문이 동일한지 비교할 수 있다. 비교 결과 동일하다면 무결성이 증명된다. 공개키로 서명 검증이 되어 추출된 원문은 해시되어 있는 것이므로 수신한 해시된 원문과 비교한다. 만약, 수신한 원문이 해시되어 있지 않다면 해시한 후 비교할 수 있다.In step S58, it is possible to compare whether the extracted original text and the received original text are the same. If the comparison is the same, integrity is proved. The original text extracted from the signature verification with the public key is hashed and compared with the received original hash text. If the original text is not hashed, it can be compared after hashing.
명세서 전체에서, 서명검증을 할 때 추출한 원문과 수신한 원문을 비교할 때는, 위와 같이 수신한 원문이 해시되어 있지 않다면 해시한 후 추출한 원문과 비교하는 것이며, 이에 대하여는 이하 생략하기로 한다.In the entire specification, when comparing the original text extracted with the received text during signature verification, if the original text received above is not hashed, the original text is hashed and then compared with the original text, which will be omitted below.
프로그램의 일 실시예로서, S56 및 S58 단계는 다음과 같이 이더리움에서 사용하는 solidity 코드로 구현할 수 있다.As an example of the program, the steps S56 and S58 can be implemented with the solidity code used by Ethereum as follows.
# 사용자인증을 처리하는 블록체인 코드# Blockchain code to handle user authentication
# 서비스제공자 서버(20)에서 전송한 원문(Text)에 대한 사용자 서명(Signature) 검증# Verification of user signature on original text sent from
function Check (byte32[] ID, byte32[] Text, byte32[] Signature) returns (bool)function Check (byte32 [] ID, byte32 [] Text, byte32 [] Signature) returns (bool)
{{
if(RSA_Verify(User[ID].pubkey, Signature, Text)==Success)if (RSA_Verify (User [ID] .pubkey, Signature, Text) == Success)
return true;return true;
elseelse
return false;return false;
}}
이상과 같이, 블록체인(40)에 사용자등록을 하고 사용자인증 절차를 프로그램으로 올림으로써, 사용자 ID의 안전한 보관과 인증은 물론 인증 프로그램의 무결성까지도 보장할 수 있다.As described above, by registering the user in the
도 4는 본 발명의 다른 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법의 구체적인 일례를 나타내는 순서도(S60)이다.4 is a flowchart (S60) illustrating a specific example of a user-programmable method based on a programmable blockchain and an integrated ID according to another embodiment of the present invention.
도 4를 참조하면, 블록체인(40)이 사용자의 암호문을 등록 저장하고, 암호문의 요청을 받으면 암호문을 송신하는 순서도가 도시되어 있다.Referring to FIG. 4, a
블록체인(40)이 송수신하는 다양한 형태의 정보는, 도 1을 참조하면, 사용자 단말(10)과 직접 송수신할 수 있고, 또한, 도 2를 참조하면, 인증서버(30)를 거쳐 송수신할 수도 있다.Various types of information transmitted and received by the
S62 단계에서, 블록체인(40)은 사용자의 암호문을 수신할 수 있다. 이때 사용자의 ID를 함께 수신할 수 있다.In operation S62, the
사용자의 암호문은 사용자 단말(10)이 사용자정보를 사용자 공개키로 암호화한 것이다.The cipher text of the user is that the
사용자정보는 공인인증기관을 통해 신원이 확인된 사용자정보를 암호화하여 블록체인에 보관하는 것이 바람직한데, 그 이유는 사용자 인증시마다 매번 사용자의 신원 확인을 할 필요가 없어지기 때문이다.It is desirable to store user information in the blockchain by encrypting user information whose identity has been verified through an accredited certification authority, because the user's identity need not be checked every time the user is authenticated.
S64 단계에서, 블록체인(40)은 수신한 암호문을 사용자 ID에 매핑하여 저장할 수 있다.In step S64, the
S66 단계에서, 블록체인(40)은 저장되어 있는 암호문의 송신을 요청받을 수 있다.In step S66, the
블록체인(40)은 암호문을 요청받으면, 함께 수신한 사용자 ID에 매핑되어 있는 사용자의 암호문을 송신할 수 있다(S68).When the
블록체인(40)에 저장되어 있던 암호문을 수신한 사용자 단말(10)은 암호문을 사용자 개인키로 복호화함으로써 사용자정보를 획득할 수 있다. 획득한 사용자정보를 서비스제공자 서버(20) 등으로 송신할 수 있다.The
사용자 단말(10)이 FIDO 인증장치를 구비하고 있다면, 생체인증 등의 FIDO 인증으로 사용자 개인키를 획득하여 복호화에 사용할 수 있다.If the
이상과 같이, 새로운 서비스제공자에게 사용자정보를 제공할 때, 사용자정보를 다시 입력할 필요없이 지문인식 등의 사용자인증만으로 블록체인(40)에 안전하게 저장되어 있던 사용자정보를 다시 획득한 후 복호화하여 사용할 수 있는 것이다.As described above, when providing user information to a new service provider, it is necessary to decrypt and use the user information that has been safely stored in the
도 5는 본 발명의 또 다른 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법의 구체적인 일례를 나타내는 순서도(S70)이다.5 is a flowchart (S70) illustrating a specific example of a programmable blockchain and an integrated ID based user authentication method according to another embodiment of the present invention.
도 5를 참조하면, 블록체인(40)에서 도 4의 S60에 따라 암호문 전송을 실행(S68)하기 전에 도 3의 S50에 따른 사용자인증을 수행하는 실시예이다. 암호문은 사용자 공개키로 암호화되어 있어서 사용자 개인키를 가지고 있지 않으면 복호화할 수가 없으므로 제3자에게 유출이 되어도 복호화가 어렵다. 하지만, 이 암호문이 제3자에게 전송되는 것조차도 방지하기 위해, 사용자 개인키를 가지고 있는 사용자 단말(10)이 실제로 요청했는지를 검증한 후 전송하는 실시예이다.Referring to FIG. 5, the
S72 단계에서, 블록체인(40)은 사용자 암호문을 요청 받을 수 있다. 이때, 원문, 서명문 및 사용자 ID를 함께 수신할 수 있다.In operation S72, the
예를 들어, 수신한 원문은 서비스제공자 서버(20)가 송신한 사용자인증요청 원문이고, 수신한 서명문은 사용자 단말(10)이 사용자인증요청 원문을 사용자 개인키로 서명한 것일 수 있다.For example, the received text may be a user authentication request text sent by the
또 다른 예로서, 서비스제공자 서버(20)가 사용자 단말(10)로부터 사용자의 특정정보를 수신하고, 수신한 특정정보가 실제 사용자의 특정정보인지의 인증을 요청하는 경우, 상기 원문은 서비스제공자 서버(20)가 송신한 특정정보이고, 상기 서명문은 사용자 단말(10)이 블록체인(40)에 저장되어 있던 사용자정보를 획득한 후, 획득한 사용자정보 중에서 서비스제공자 서버(20)가 요구하는 정보만을 선택하여 상기 사용자 개인키로 서명한 것일 수 있다.As another example, when the
S74 단계에서는, 수신한 서명문을 사용자 공개키로 서명 검증하여 원문을 추출할 수 있다. 서명 검증이 성공하면, 사용자 단말(10)이 보낸 서명문이라는 것이 증명된다.In operation S74, the original text may be extracted by verifying the received signature with a user public key. If the signature verification succeeds, it is proved that the signature is sent from the
S76 단계에서는, 추출한 원문과 수신한 원문이 동일한지 비교할 수 있다.In step S76, it is possible to compare whether the extracted original text and the received original text are the same.
S76 단계의 비교 결과 동일하면 사용자 인증에 성공한 것이다.If the comparison result of step S76 is the same, user authentication is successful.
서명 검증에 성공하면, 사용자 ID에 매핑되어 저장되어 있던 사용자의 암호문을 송신할 수 있다(S78).If the signature verification is successful, the cipher text of the user mapped and stored in the user ID may be transmitted (S78).
이상과 같이, 블록체인(40)에서 사용자인증 절차를 거쳐 암호문을 송신함으로써 암호문을 제3자가 아닌 사용자 단말(10)에 송신할 수 있다.As described above, the ciphertext may be transmitted to the
도 6은 본 발명의 또 다른 바람직한 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법의 사용자등록에 대한 구체적인 일례를 나타내는 순서도(S100)이다.6 is a flowchart (S100) illustrating a specific example of user registration of a programmable blockchain and an integrated ID-based user authentication method according to another preferred embodiment of the present invention.
도 6을 참조하면, 도 1 및 도 2의 인증 시스템에서 구현되는 사용자등록 절차의 구체적인 실시예가 도시되어 있다.Referring to FIG. 6, a specific embodiment of a user registration procedure implemented in the authentication system of FIGS. 1 and 2 is illustrated.
사용자 단말(10)은 사용자 키쌍(개인키 및 공개키)을 생성할 수 있다(S102).The
생성된 키쌍 중에서 사용자 개인키는 안전 영역(trust zone 등)에 저장될 수 있다(S104). 사용자 단말(10)이 FIDO 인증장치를 구비하고 있다면, 생체인증 등의 인증을 통해 키쌍 생성 및 개인키 저장을 할 수 있다.Among the generated key pairs, the user private key may be stored in a secure zone (trust zone, etc.) (S104). If the
사용자 단말(10)은 사용자의 개인정보를 공인인증기관을 통해 본인 확인 또는 신원 확인을 받을 수 있다(S106).The
사용자 단말(10)은 사용자정보를 포함하는 원문을 사용자 공개키로 암호화하여 사용자 암호문을 생성할 수 있다(S108).The
사용자 암호문의 등록은 사용자등록시에 하지 않고, 사용자등록 후 별도로 수행할 수도 있다. 본 실시예에서는 동시에 수행하는 것으로 설명하지만, 이에 반드시 한정되지는 않는다.The user cipher text may not be registered at the time of user registration, but may be separately performed after user registration. In the present embodiment, it is described as performing simultaneously, but is not necessarily limited thereto.
사용자 단말(10)은 인증서버(30)에 사용자 등록 요청을 할 수 있다(S110). 이때 사용자 ID, 사용자 공개키, 사용자 암호문을 함께 전송할 수 있다.The
본 실시예에서는 사용자 등록을 인증서버(30)를 거쳐 수행하는 것으로 도시되어 있지만, 인증서버(30)를 거치지 않고 블록체인(40)에 직접 사용자 등록 요청을 할 수도 있다.In the present embodiment, although the user registration is shown to be performed through the
사용자 등록 요청을 수신한 인증서버(30)는 사용자 암호문을 인증서버 개인키로 서명하여 인증서버 서명문을 생성할 수 있다(S112).Upon receiving the user registration request, the
인증서버 서명문을 생성한 인증서버(30)는 블록체인(40)에 사용자 등록 요청을 할 수 있다(S114). 이때 사용자 ID, 사용자 공개키, 사용자 암호문, 인증서버 서명문을 함께 전송할 수 있다.The
사용자 등록 요청을 수신한 블록체인(40)은 인증서버 서명문을 미리 저장되어 있던 인증서버 공개키로 서명 검증을 할 수 있다(S116). 서명 검증에 성공하면, 사용자등록 요청이 인증서버(30)로부터 수신된 것이라는 것이 증명된 것이다.Upon receiving the user registration request, the
서명 검증에 성공하면, 블록체인(40)은 수신한 사용자 ID, 사용자 공개키, 사용자 암호문을 매핑하여 저장할 수 있다(S118).If the signature verification is successful, the
S120 단계에서, 블록체인(40)은 사용자 등록이 성공적으로 수행되었다는 결과를 인증서버(30)에 송신할 수 있다.In operation S120, the
사용자 등록 결과를 수신한 인증서버(30)는 그 결과를 사용자 단말(10)에 송신할 수 있다(S122).Upon receiving the user registration result, the
이상과 같이, 사용자 ID, 사용자 공개키, 사용자 공개키로 암호화된 사용자 정보가 블록체인(40)에 안전하게 저장될 수 있다.As described above, user information encrypted with a user ID, a user public key, and a user public key may be securely stored in the
이상과 같은 실시예에 의해 블록체인(40)은 인증서버(30)를 통해 복수의 사용자를 등록할 수 있다.According to the above embodiments, the
도 7은 본 발명의 또 다른 바람직한 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법의 로그인에 대한 구체적인 일례를 나타내는 순서도(S200)이다.7 is a flowchart illustrating a specific example of a login of a programmable blockchain and an integrated ID-based user authentication method according to another preferred embodiment of the present invention.
도 7을 참조하면, 사용자 단말(10)이 하나의 통합 ID로 복수의 다양한 서비스제공자 서버(20)에 로그인하는 방법에 대한 실시예이다. 또한, 도 2에서 설명한 인증서버(30)를 사용한 실시예이므로, 사용자인증을 요청하는 모든 서비스제공자 서버(20)는 블록체인(40)에 사용자 등록을 하지 않아도 되고, 블록체인(40)에 트랜잭션을 직접 발생시킬 필요가 없다.Referring to FIG. 7, an embodiment of a method in which the
사용자 단말(10)이 서비스제공자 서버(20)에 로그인 요청을 할 수 있다(S202). 이 때 사용자 ID를 함께 전송할 수 있다.The
로그인 요청을 받은 서비스제공자 서버(20)는 사용자인증을 위해 사용자인증요청 원문(또는 로그인 원문)을 생성할 수 있다(S204).The
서비스제공자 서버(20)는 생성한 사용자인증요청 원문을 사용자 ID와 함께 인증서버(30)에 전송할 수 있다(S206).The
인증서버(30)는 수신한 사용자인증요청 원문을 사용자 단말(10)로 송신할 수 있다(S208).The
사용자 단말(10)은 수신한 사용자인증요청 원문을 사용자 개인키로 서명하여 서명문을 생성할 수 있다(S210). 이때 사용자 단말(10)이 FIDO 인증장치를 구비하고 있다면, 생체인증으로 사용자 개인키를 획득하여 사용할 수 있다.The
사용자 단말(10)은 생성한 서명문을 인증서버(S30)로 송신할 수 있다(S212).The
인증서버(30)는 수신한 서명문을 S206 단계에서 수신한 사용자인증요청 원문과 함께 블록체인(40)으로 송신하면서 사용자인증 요청을 할 수 있다(S214). 이때 사용자 ID도 함께 송신할 수 있다.The
사용자인증 요청을 수신한 블록체인(40)은 서명문을 등록되어 있던 사용자 공개키로 서명 검증하여 원문을 추출할 수 있다(S216). 이때, 서명 검증에 성공하면, 수신한 서명문이 실제로 사용자가 서명한 것임이 증명된 것이다.The
블록체인(40)은 추출한 원문을 수신한 원문과 동일한지 비교 검증할 수 있다(S218). 이때 검증 결과가 동일하다면, 서비스제공자 서버(20)가 요청한 사용자인증요청이 성공한 것이다.The
블록체인(40)은 사용자 인증 결과를 인증서버(30)로 전송하고(S220), 인증서버(30)는 그 결과를 서비스제공자 서버(20)에 송신하고(S222), 서비스제공자 서버(20)는 로그인이 성공하였음을 사용자 단말(10)에 송신함으로써(S224), 안전한 통합 ID 로그인이 완료된 것이다.The
사용자 단말(10)이 타 서비스제공자 서버에 로그인 할 경우도 S200의 절차를 거치면 되고, 이 때에도 사용자 단말(10)은 생체인증 등의 인증절차를 한번만 수행하면 된다.When the
이상과 같이 한 개의 통합 ID로 다수의 기관서버에 로그인이 가능하므로, 서비스제공자의 서비스 가입시마다 아이디와 비밀번호를 모두 기억해야 하는 불편이 없어지는 효과가 있다.As described above, since it is possible to log in to a plurality of institution servers with one integrated ID, the inconvenience of having to remember both the ID and the password every time the service provider joins the service is eliminated.
도 8은 본 발명의 또 다른 바람직한 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법의 개인정보 제공에 대한 구체적인 일례를 나타내는 순서도(S300)이다.8 is a flowchart illustrating a specific example of providing personal information of a programmable blockchain and an integrated ID-based user authentication method according to another preferred embodiment of the present invention.
도 8을 참조하면, 본 발명에 따른 도 2에 도시된 인증 시스템이 개인정보를 제공하는 방법이 도시되어 있다.Referring to FIG. 8, a method of providing personal information by the authentication system shown in FIG. 2 according to the present invention is illustrated.
사용자 단말(10)이 서비스제공자 서버(20)로부터 개인정보 요청을 수신하면(S302), 블록체인(40)에 저장된 개인정보를 인증서버(30)에 요청할 수 있다(S304). 이 때 사용자 ID를 함께 송신할 수 있다.When the
개인정보 요청을 받은 인증서버(30)는 블록체인(40)에 저장된 사용자 암호문을 요청할 수 있다(S306). 이 때 사용자 ID를 함께 송신할 수 있다.The
암호문을 요청 받은 블록체인(40)은 함께 수신한 사용자 ID에 매핑되어 저장되어 있던 사용자 암호문을 인증서버(30)로 송신할 수 있다(S308).The
인증서버(30)는 수신한 사용자 암호문을 사용자 단말(10)로 송신할 수 있다(S310).The
사용자 단말(10)은 수신한 암호문을 사용자 개인키로 복호화하여 사용자정보를 획득할 수 있다(S312). 사용자 단말(10)이 FIDO 인증장치를 구비하고 있다면, FIDO 인증을 거쳐 사용자 개인키를 획득하여 사용할 수 있다.The
사용자 단말(10)은 획득한 사용자정보를 서비스제공자 서버(20)에 송신할 수 있다(S314). 만약, 서비스제공자 서버(20)가 요구한 개인정보가 사용자정보에 포함되어 있는 일부 정보라면, 획득한 사용자정보 중에서 서비스제공자 서버(20)가 요구하는 정보만을 선택하여 서비스제공자 서버(20)로 송신할 수도 있다.The
이상과 같이, 한 개의 아이디로 다수의 기관서버에 사용자정보를 제공할 수 있고, 사용자정보가 여러 기관서버에 분산되어 있지 않으므로 사용자정보 제공에 대한 이력관리가 수월하고, 사용자정보 변경시나 서비스제공자의 서비스 가입시마다 아이디와 비밀번호를 모두 기억하고, 일일이 사용자정보를 재입력해야 하는 불편이 없어지는 효과가 있다.As described above, user information can be provided to a plurality of institution servers with a single ID, and user information is not distributed to various institution servers, thereby making it easy to manage user information, and to change user information or service providers. Every time you subscribe to the service remembers both the ID and password, there is an effect that eliminates the inconvenience of having to re-enter the user information.
도 9는 본 발명의 또 다른 바람직한 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법의 개인정보 제공에 대한 구체적인 일례를 나타내는 순서도(S400)이다.9 is a flowchart (S400) illustrating a specific example of providing personal information of a programmable blockchain and an integrated ID-based user authentication method according to another exemplary embodiment of the present invention.
도 9를 참조하면, 도 8과 비교하여, 개인정보 제공을 위해 블록체인(40)에 저장되어 있던 사용자정보를 수신할 때, 실제로 사용자가 요청한 것인지를 증명하는 사용자인증 절차가 추가된 실시예이다. 즉, 도 8의 사용자정보 제공 방법(S300) 보다 더 보안성을 강화한 실시예이다.Referring to FIG. 9, in comparison with FIG. 8, when receiving user information stored in the
사용자 단말(10)이 서비스제공자 서버(20)로부터 개인정보 요청을 수신하면(S402), 블록체인(40)에 저장된 개인정보를 인증서버(30)에 요청할 수 있다(S408). 이 때 사용자 ID를 함께 송신할 수 있다.When the
또한, 서비스제공자 서버(20)는 사용자인증요청 원문(또는 로그인 원문)을 생성하여(S404), 인증서버(30)에 사용자인증 요청을 할 수 있다(S406). 이때 사용자인증요청 원문과 사용자 ID를 함께 송신할 수 있다.In addition, the
사용자인증 요청 및 사용자정보 요청을 받은 인증서버(30)는 수신한 사용자인증요청 원문을 사용자 단말(10)로 송신할 수 있다(S410).The
사용자 단말(10)은 수신한 사용자인증요청 원문을 사용자 개인키로 서명하여 서명문을 생성할 수 있다(S412). 이때 사용자 단말(10)이 FIDO 인증장치를 구비하고 있다면, 생체인증으로 사용자 개인키를 획득하여 사용할 수 있다.The
사용자 단말(10)은 생성한 서명문을 인증서버(S30)로 송신할 수 있다(S414).The
서명문을 수신한 인증서버(30)는 S406 단계에서 수신한 사용자인증요청 원문을 함께 블록체인(40)으로 송신하면서 사용자인증 요청과 사용자 암호문 요청을 동시에 송신할 수 있다(S416). 이때 사용자 ID도 함께 송신할 수 있다.The
사용자인증 요청과 사용자 암호문 요청을 수신한 블록체인(40)은 수신한 서명문을 등록되어 있던 사용자 공개키로 서명 검증하여 원문을 추출할 수 있다(S418).The
이때, 서명 검증에 성공하면, 수신한 서명문이 실제로 사용자가 서명한 것이라는 것이 증명된 것이다.At this time, if the signature verification succeeds, it is proved that the received signature is actually signed by the user.
블록체인(40)은 추출한 원문을 수신한 원문과 동일한지 비교 검증할 수 있다(S420).The
이때 검증 결과가 동일하다면, 서비스제공자 서버(20)가 요청한 사용자인증요청이 성공한 것이다.At this time, if the verification result is the same, the user authentication request requested by the
사용자인증이 성공하였으므로, 블록체인(40)은 사용자 ID에 매핑되어 저장되어 있던 사용자 암호문을 인증서버(30)로 송신할 수 있다(S422).Since the user authentication is successful, the
인증서버(30)는 수신한 사용자 암호문을 사용자 단말(10)로 송신할 수 있다(S424).The
사용자 단말(10)은 수신한 암호문을 사용자 개인키로 복호화하여 사용자정보를 획득할 수 있다(S426). 사용자 단말(10)이 FIDO 인증장치를 구비하고 있다면, FIDO 인증을 거쳐 사용자 개인키를 획득하여 사용할 수 있다.The
사용자 단말(10)은 획득한 사용자정보를 서비스제공자 서버(20)에 송신할 수 있다(S428). 만약, 서비스제공자 서버(20)가 요구한 개인정보가 사용자정보에 포함되어 있는 일부 정보라면, 획득한 사용자정보 중에서 서비스제공자 서버(20)가 요구하는 정보만을 선택하여 서비스제공자 서버(20)로 송신할 수도 있다.The
이상과 같이, 사용자인증 과정을 거쳐 사용자 암호문을 송수신함으로써 보다 더 보안이 강화된 사용자정보 관리를 할 수 있다.As described above, by transmitting and receiving the user cipher text through the user authentication process it is possible to perform a more secure user information management.
도 10은 본 발명의 또 다른 바람직한 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법의 사용자정보 인증에 대한 구체적인 일례를 나타내는 순서도(S500)이다.10 is a flowchart (S500) illustrating a specific example of user information authentication of a programmable blockchain and an integrated ID-based user authentication method according to another preferred embodiment of the present invention.
도 10을 참조하면, 서비스제공자 서버(20)가 사용자 단말(10)로부터 사용자인증 요청을 받으면서 함께 수신한 사용자의 특정정보(개인정보의 일부)가 과연 사용자의 정보가 맞는지 본인확인을 할 필요가 있을 때의 실시예이다.Referring to FIG. 10, it is necessary for the
사용자 단말(10)이 서비스제공자 서버(20)의 요구에 의해 사용자의 특정정보 입력을 요청받았을 경우, 사용자로부터 사용자의 특정정보를 수신한다(S502). 이때 사용자의 특정정보는 사용자가 블록체인(40)에 저장해 놓은 사용자정보에 포함되어 있는 정보일 수 있다.When the
사용자 단말(10)이 서비스제공자 서버(20)에 특정정보를 송신하면(S504), 서비스제공자 서버(20)는 인증서버(30)에 특정정보의 인증 또는 확인을 요청할 수 있다(S506). 이때 수신한 특정정보와 사용자 ID를 함께 송신할 수 있다.When the
S508 단계에서, 인증서버(30)는 블록체인(40)에 저장된 사용자 암호문을 요청할 수 있다(S508). 이 때 사용자 ID를 함께 송신할 수 있다.In operation S508, the
암호문을 요청 받은 블록체인(40)은 함께 수신한 사용자 ID에 매핑되어 저장되어 있던 사용자 암호문을 인증서버(30)로 송신할 수 있다(S510).The
인증서버(30)는 수신한 사용자 암호문을 사용자 단말(10)로 송신할 수 있다(S512).The
사용자 단말(10)은 수신한 암호문을 사용자 개인키로 복호화하여 사용자정보를 획득할 수 있다(S514). 사용자 단말(10)이 FIDO 인증장치를 구비하고 있다면, FIDO 인증을 거쳐 사용자 개인키를 획득하여 사용할 수 있다.The
사용자 단말(10)은 획득한 사용자정보 중에서 서비스제공자 서버(20)가 요구하는 정보, 즉, 특정정보만을 선택하여 사용자 개인키로 서명하여 서명문을 생성할 수 있다(S516).The
사용자 단말(10)은 생성한 서명문을 인증서버(S30)로 송신할 수 있다(S518).The
서명문을 수신한 인증서버(30)는 S506 단계에서 수신한 특정정보를 해시하여 서명문과 함께 블록체인(40)으로 송신하면서 특정정보의 인증을 요청을 할 수 있다(S520). 이때 사용자 ID도 함께 송신할 수 있다.The
즉, 서비스제공자 서버(20)로부터 받은 특정정보와, 사용자 단말(10)이 블록체인(40)에 등록 저장되어 있던 사용자 암호문을 복호화하여 획득한 사용자정보 중에서 서비스제공자 서버(20)가 요구하는 정보만을 선택하여 사용자 개인키로 서명한 것이 과연 동일한지를 판단하는 인증을 블록체인(40)에 요청하는 것이다.That is, the information requested by the
특정정보의 인증 요청을 수신한 블록체인(40)은 수신한 서명문을 등록되어 있던 사용자 공개키로 서명 검증하여 원문을 추출할 수 있다(S522).The
이때, 서명 검증에 성공하면, 수신한 서명문이 실제로 사용자가 서명한 것이라는 것음이 증명된 것이다.At this time, if the signature verification is successful, it is proved that the received signature is actually signed by the user.
블록체인(40)은 추출한 원문을 수신한 원문(해시된 특정정보)과 동일한지 비교 검증할 수 있다(S524).The
이때 검증 결과가 동일하다면, 서비스제공자 서버(20)가 요청한 특정정보가 실제로 사용자의 정보인 것이 증명된 것이다.In this case, if the verification result is the same, it is proved that the specific information requested by the
블록체인(40)은 사용자 인증 결과를 인증서버(30)로 전송하고(S526), 인증서버(30)는 그 결과를 서비스제공자 서버(20)에 송신하고(S528), 서비스제공자 서버(20)는 사용자인증이 성공하였음을 사용자 단말(10)에 송신함으로써(S530) 안전한 사용자 인증 및 특정정보 확인이 완료된 것이다.The
도 11은 본 발명의 또 다른 바람직한 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법의 사용자정보 인증에 대한 구체적인 일례를 나타내는 순서도(S600)이다.FIG. 11 is a flowchart illustrating a specific example of user information authentication of a programmable blockchain and an integrated ID based user authentication method according to another preferred embodiment of the present invention.
도 11을 참조하면, 도 10의 S500과 비교하여, 블록체인(40)에 저장되어 있던 사용자정보를 송수신할 때, 실제로 사용자가 요청한 것인지를 증명하는 절차를 더 추가한 실시예이다. 즉, 도 10의 사용자정보 인증 방법(S500) 보다 더 보안성을 강화한 실시예이다.Referring to FIG. 11, in comparison with S500 of FIG. 10, when transmitting and receiving user information stored in the
사용자 단말(10)이 서비스제공자 서버(20)의 요구에 의해 사용자의 특정정보(개인정보의 일부) 입력을 요청받았을 경우, 사용자로부터 사용자의 특정정보를 수신한다(S602). 이때 사용자의 특정정보는 사용자가 블록체인(40)에 저장해 놓은 사용자정보에 포함되는 정보일 수 있다.When the
사용자로부터 특정정보를 재수신한 사용자 단말(10)은 서비스제공자 서버(20)에 특정정보를 송신할 수 있다(S604).The
서비스제공자 서버(20)는 사용자인증요청 원문을 생성하여(S606), 인증서버(30)에 사용자인증 요청과 특정정보의 인증을 동시에 요청할 수 있다(S608). 이때 사용자인증요청 원문, 특정정보 및 사용자 ID를 함께 송신할 수 있다.The
사용자인증 요청 및 사용자정보 요청을 받은 인증서버(30)는 수신한 사용자인증요청 원문을 사용자 단말(10)로 송신할 수 있다(S610).The
사용자 단말(10)은 수신한 사용자인증요청 원문을 사용자 개인키로 서명하여 서명문을 생성할 수 있다(S612). 이때 사용자 단말(10)이 FIDO 인증장치를 구비하고 있다면, 생체인증으로 사용자 개인키를 획득하여 사용할 수 있다.The
사용자 단말(10)은 생성한 서명문을 인증서버(S30)로 송신할 수 있다(S614).The
서명문을 수신한 인증서버(30)는 S608 단계에서 수신한 사용자인증요청 원문을 함께 블록체인(40)으로 송신하면서 사용자인증 요청과 사용자 암호문 요청을 동시에 송신할 수 있다(S616). 이때 사용자 ID도 함께 송신할 수 있다.The
사용자인증 요청과 사용자 암호문 요청을 동시에 수신한 블록체인(40)은 수신한 서명문을 등록되어 있던 사용자 공개키로 서명 검증하여 원문을 추출할 수 있다(S618).The
이때, 서명 검증에 성공하면, 수신한 서명문이 실제로 사용자가 서명한 것이라는 것이 증명된 것이다.At this time, if the signature verification succeeds, it is proved that the received signature is actually signed by the user.
블록체인(40)은 추출한 원문을 수신한 원문과 동일한지 비교 검증할 수 있다(S620).The
이때 검증 결과가 동일하다면, 서비스제공자 서버(20)가 요청한 사용자인증요청이 성공한 것이다.At this time, if the verification result is the same, the user authentication request requested by the
사용자인증이 성공하였으므로, 블록체인(40)은 사용자 ID에 매핑되어 저장되어 있던 사용자 암호문을 인증서버(30)로 송신할 수 있다(S622).Since the user authentication is successful, the
인증서버(30)는 수신한 사용자 암호문을 사용자 단말(10)로 송신할 수 있다(S624).The
사용자 단말(10)은 수신한 암호문을 사용자 개인키로 복호화하여 사용자정보를 획득할 수 있다(S626). 사용자 단말(10)이 FIDO 인증장치를 구비하고 있다면, FIDO 인증을 거쳐 사용자 개인키를 획득하여 사용할 수 있다.The
사용자 단말(10)은 획득한 사용자정보 중에서 서비스제공자 서버(20)가 요구하는 정보, 즉 특정정보만을 선택하여 사용자 개인키로 서명하여 서명문을 생성할 수 있다(S628).The
사용자 단말(10)은 생성한 서명문을 인증서버(S30)로 송신할 수 있다(S630).The
서명문을 수신한 인증서버(30)는 S608 단계에서 수신한 특정정보를 해시하여 서명문과 함께 블록체인(40)으로 송신하면서 특정정보의 인증을 요청할 수 있다(S632). 이때 사용자 ID도 함께 송신할 수 있다.The
즉, S608 단계에서 서비스제공자 서버(20)로부터 수신한 특정정보와, 사용자 단말(10)이 기 저장되어 있던 사용자 암호문을 복호화하여 획득한 사용자정보 중에서 서비스제공자 서버(20)가 요구하는 정보만을 선택하여 사용자 개인키로 서명한 것이 과연 동일한지를 판단하는 인증을 블록체인(40)에 요청하는 것이다.That is, only the information requested by the
특정정보 인증 요청을 수신한 블록체인(40)은 수신한 서명문을 등록되어 있던 사용자 공개키로 서명 검증하여 원문을 추출할 수 있다(S634).The
이때, 서명 검증에 성공하면, 수신한 서명문이 실제로 사용자가 서명한 것이라는 것이 증명된 것이다.At this time, if the signature verification succeeds, it is proved that the received signature is actually signed by the user.
블록체인(40)은 추출한 원문을 수신한 원문(해시된 특정정보)과 동일한지 비교 검증할 수 있다(S636).The
이때 검증 결과가 동일하다면, 서비스제공자 서버(20)가 요청한 특정정보가 실제로 사용자의 정보인 것이 증명된 것이다.In this case, if the verification result is the same, it is proved that the specific information requested by the
블록체인(40)은 사용자 인증 결과를 인증서버(30)로 전송하고(S638), 인증서버(30)는 그 결과를 서비스제공자 서버(20)에 송신하고(S640), 서비스제공자 서버(20)는 사용자인증이 성공하였음을 사용자 단말(10)에 송신함으로써(S642) 안전한 사용자 인증 및 특정정보 확인이 완료된다.The
이상과 같이, 본 실시예들에 의하면, 프로그래밍이 가능한 블록체인에 사용자 ID와 사용자 공개키를 등록하고 사용자 인증 프로그램을 수행하게 함으로써 보다 안전하게 사용자 인증을 수행하는 사용자 인증 방법 및 시스템의 제공이 가능하다. 또한, 공인인증기관을 통해 신원이 확인된 사용자정보를 암호화하여 블록체인에 보관함으로써 사용자 인증시마다 사용자의 신원 확인을 할 필요가 없고, 서비스제공자 서버가 해킹이 되더라도 사용자정보의 유출 위험이 없는 효과가 있다.As described above, according to the present embodiments, it is possible to provide a user authentication method and system for more securely performing user authentication by registering a user ID and a user public key in a programmable blockchain and performing a user authentication program. . In addition, by encrypting user information verified through an accredited certification authority and storing it in the blockchain, there is no need to verify the user's identity every time a user authenticates, and there is no risk of leaking user information even if the service provider server is hacked. have.
또한, 인증서버(또는 관리서버)를 통해 블록체인에 접근하도록 함으로써 여러 서비스제공자 서버들이 개별적으로 블록체인의 트랜잭션을 발생시키지 않고도 사용자정보 확인이 가능한 효과가 있다. 또한, 프로그래밍이 가능한 블록체인, 예를 들어 이더리움을 사용함으로써 사용자정보는 물론 사용자 인증 프로그램의 무결성을 보장하는 동시에 인증서버조차도 블록체인의 사용자 인증 프로그램을 함부로 조작할 수 없도록 하는 효과가 있다.In addition, by accessing the blockchain through the authentication server (or management server), there is an effect that multiple service provider servers can check the user information without having to individually create a transaction of the blockchain. In addition, by using a programmable blockchain, for example, Ethereum, the integrity of the user authentication program as well as the user information can be guaranteed, and even an authentication server can not operate the user authentication program of the blockchain without permission.
또한, 한 개의 아이디로 다수의 기관서버에 로그인, 사용자정보 제공, 사용자정보 인증이 가능하도록 하여, 사용자정보가 여러 기관서버에 분산되어 있지 않으므로 사용자정보 제공에 대한 이력관리가 수월하고, 주소, 단말 정보, 서버 정보, 전화번호 또는 개인 문서 등의 사용자정보 변경시나 서비스제공자의 서비스 가입시마다 아이디와 비밀번호를 모두 기억하고, 일일이 사용자정보를 재입력해야 하는 불편이 없어지는 효과가 있다.In addition, since a single ID can log in to multiple institution servers, provide user information, and authenticate user information, user information is not distributed to multiple institution servers, making it easy to manage user information. When changing user information such as information, server information, phone number or personal documents, or whenever a service provider subscribes to a service, both ID and password are remembered, and there is no inconvenience of having to re-enter user information.
또한, 이상에서 설명된 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법의 실시예는 다양한 컴퓨터 구성요소들을 통하여 수행될 수 있는 컴퓨터 프로그램 명령어의 형태로 구현될 수 있다. 또한, 상기 구현된 컴퓨터 프로그램은 컴퓨터 판독 가능한 기록 매체에 기록될 수도 있다. 언급된 기록 매체는 ROM, 자기 디스크 혹은 콤팩트 디스크, 광 디스크 등 일 수 있으나, 이에 반드시 한정되지는 않는다.In addition, the embodiments of the programmable blockchain and the integrated ID-based user authentication method described above may be implemented in the form of computer program instructions that may be executed through various computer components. In addition, the implemented computer program may be recorded in a computer readable recording medium. The mentioned recording medium may be a ROM, a magnetic disk or a compact disk, an optical disk, or the like, but is not necessarily limited thereto.
이상에서와 같이, 본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.As described above, the present invention has been described with reference to the embodiments shown in the drawings, but this is merely exemplary, and those skilled in the art may various modifications and equivalent other embodiments from this. Will understand. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.
10: 사용자 단말
20: 서비스제공자 서버
30: 인증서버
40: 프로그래밍이 가능한 블록체인10: user terminal
20: service provider server
30: Certificate Server
40: programmable blockchain
Claims (21)
사용자 ID 및 사용자 공개키를 등록하는 사용자등록 단계;
서명문과 원문을 수신하는 단계; 및
상기 서명문을 상기 사용자 공개키로 서명 검증한 후 상기 원문과 비교하는 사용자인증 단계;
를 포함하되,
상기 블록체인은 인증서버와 네트워크로 연결되고,
상기 인증서버는 서비스제공자 서버 및 사용자 단말과 네트워크로 연결되어 상기 블록체인과의 중간에서 중계 역할을 하며,
상기 서명문은 사용자 개인키로 서명된 것이고,
상기 원문은 상기 사용자를 인증하기 위한 원문이고,
상기 사용자등록 단계는, 사용자의 암호문을 수신하여 사용자의 ID에 매핑 저장하는 단계를 더 포함하되, 상기 암호문은 사용자 단말이 사용자정보를 사용자 공개키로 암호화한 것이고, 상기 사용자정보는 사용자의 개인정보 또는 문서를 포함하며,
상기 사용자의 암호문을 요청 받는 경우, 사용자의 ID에 매핑 저장되어 있는 상기 암호문을 송신하는 암호문송신 단계를 더 포함하되, 사용자 단말은 상기 암호문을 수신하여 사용자 개인키로 복호화함으로써 상기 사용자정보를 획득하며,
서비스제공자 서버가 사용자 단말로부터 사용자의 특정정보를 수신하여 상기 특정정보의 인증 요청을 하는 경우, 상기 원문은 상기 서비스제공자 서버가 송신한 상기 특정정보를 포함한 원문이고, 상기 서명문은 상기 사용자 단말이 획득한 사용자정보 중에서 상기 서비스제공자 서버가 요구하는 정보만을 선택하여 상기 사용자 개인키로 서명한 것인 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법.
Programmable blockchain,
A user registration step of registering a user ID and a user public key;
Receiving a signature and a text; And
A user authentication step of verifying the signature with the user public key and comparing the signature with the original text;
Including,
The blockchain is connected to the authentication server and the network,
The authentication server is connected to the service provider server and the user terminal network to act as a relay in the middle of the blockchain,
The signature is signed with a user private key,
The original text is an original text for authenticating the user,
The user registration step further includes the step of receiving the user's cipher text and mapping and storing the user's ID, wherein the cipher text is encrypted by the user terminal with the user's public key, the user information is the user's personal information or Contains documents,
When receiving the user's cipher text request, further comprising a cipher text transmission step of transmitting the cipher text that is stored mapped to the user's ID, the user terminal receives the cipher text to decrypt the user private key to obtain the user information,
When the service provider server receives the specific information of the user from the user terminal to request the authentication of the specific information, the original text is the original text including the specific information transmitted by the service provider server, and the signature text is determined by the user terminal. Programmable blockchain and integrated ID-based user authentication method, characterized in that only the information requested by the service provider server from the obtained user information and signed with the user private key.
상기 블록체인은 이더리움(Ethereum)인 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법.
The method of claim 1,
The blockchain is Ethereum (Ethereum), Programmable blockchain and user ID based integrated authentication method.
상기 원문은 서비스제공자 서버가 송신한 사용자인증요청 원문이고,
상기 서명문은 사용자 단말이 상기 사용자인증요청 원문을 상기 사용자 개인키로 서명한 것인 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법.
The method of claim 1,
The original text is a user authentication request text sent by a service provider server.
The signature text is characterized in that the user terminal signed the user authentication request text with the user private key, programmable block chain and integrated ID based user authentication method.
상기 사용자등록 단계는 상기 사용자 단말이 공인인증기관을 통해 본인인증을 수행한 후 등록하는 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법.
The method of claim 1,
The user registration step is characterized in that the user terminal is registered after performing the authentication through an authorized certification authority, programmable block chain and integrated ID based user authentication method.
상기 암호문송신 단계는, 상기 사용자인증 단계의 수행 결과 인증이 성공하면 수행하는 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법.
The method of claim 1,
The encryption text transmission step, characterized in that performed if the authentication is successful as a result of performing the user authentication step, programmable block chain and integrated ID based user authentication method.
상기 사용자 단말로부터 사용자 ID 및 사용자 공개키를 수신하여 상기 블록체인에 등록하는 사용자등록 단계;
상기 서비스제공자 서버로부터 사용자를 인증하기 위한 원문을 수신하는 단계;
상기 사용자 단말로부터 사용자 개인키로 서명된 서명문을 수신하는 단계;
상기 수신한 서명문과 원문을 상기 블록체인으로 송신하는 단계; 및
상기 블록체인이 상기 서명문을 상기 사용자 공개키로 서명 검증한 후 상기 원문과 비교한 인증결과를 수신하는 단계;
를 포함하고,
상기 사용자등록 단계는, 사용자 단말로부터 수신한 사용자의 암호문을 사용자의 ID에 매핑 저장하는 단계를 더 포함하되, 상기 암호문은 사용자 단말이 사용자정보를 사용자 공개키로 암호화한 것이고, 상기 사용자정보는 사용자의 개인정보 또는 문서를 포함하고,
사용자 단말로부터 상기 암호문을 요청 받는 경우, 블록체인으로부터 사용자의 ID에 매핑 저장되어 있는 상기 암호문을 수신하여 사용자 단말로 송신하는 암호문송신 단계를 더 포함하되, 사용자 단말은 상기 암호문을 수신하여 사용자 개인키로 복호화함으로써 상기 사용자정보를 획득하고,
서비스제공자 서버가 사용자 단말로부터 상기 사용자의 특정정보를 수신하여 상기 특정정보의 인증 요청을 하는 경우, 상기 원문은 상기 서비스제공자 서버가 송신한 특정정보를 포함한 원문이고, 상기 서명문은 사용자 단말이 획득한 사용자정보 중에서 서비스제공자 서버가 요구하는 정보만을 선택하여 상기 사용자 개인키로 서명한 것인 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법.
The authentication server connected to the service provider server, the user terminal and the blockchain network,
A user registration step of receiving a user ID and a user public key from the user terminal and registering the same in the blockchain;
Receiving an original text for authenticating a user from the service provider server;
Receiving a signature signed with a user private key from the user terminal;
Transmitting the received signature text and original text to the blockchain; And
Receiving, by the blockchain, a signature verification of the signature text with the user public key and then comparing the original text with an authentication result;
Including,
The user registration step further includes the step of mapping and storing the cipher text of the user received from the user terminal to the user ID, wherein the cipher text is encrypted by the user terminal with the user public key, the user information of the user Include personal information or documents,
When the cipher text is requested from the user terminal, the method further includes a cipher text transmission step of receiving the cipher text mapped to the ID of the user from the blockchain and transmitting the cipher text to the user terminal, wherein the user terminal receives the cipher text with the user private key. Obtain the user information by decrypting,
When the service provider server receives the specific information of the user from the user terminal and requests the authentication of the specific information, the original text is the original text including the specific information transmitted by the service provider server, and the signature is obtained by the user terminal. Programmable blockchain and integrated ID-based user authentication method, characterized in that only the information requested by the service provider server from among the user information and signed with the user private key.
상기 블록체인은 이더리움인 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법.
The method of claim 10,
The blockchain is characterized in that the Ethereum, programmable blockchain and integrated ID-based user authentication method.
상기 원문은 상기 서비스제공자 서버가 송신한 사용자인증요청 원문이고,
상기 서명문은 상기 인증서버가 상기 수신한 사용자인증요청 원문을 상기 사용자 단말로 송신하고, 상기 사용자 단말이 상기 수신한 사용자인증요청 원문을 사용자 개인키로 서명한 것인 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법.
The method of claim 10,
The original text is a user authentication request text sent by the service provider server.
The signature text is characterized in that the authentication server transmits the received user authentication request text to the user terminal, the user terminal signed the received user authentication request text with a user private key, programmable User authentication based on blockchain and integrated ID.
상기 사용자등록 단계는 상기 사용자 단말이 공인인증기관을 통해 본인인증을 수행한 후 등록하는 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법.
The method of claim 10,
The user registration step is characterized in that the user terminal is registered after performing the authentication through an authorized certification authority, programmable block chain and integrated ID based user authentication method.
상기 암호문송신 단계는, 상기 인증결과가 성공인 경우에 상기 암호문을 수신하는 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법.
The method of claim 10,
The encrypted text transmission step, if the authentication result is successful, characterized in that for receiving the encrypted text, programmable block chain and integrated ID based user authentication method.
Computer-readable for executing the method according to any one of claims 1, 2, 4, 6, 8, 10-12, 14, 16. A computer program stored on a record carrier.
제10항 내지 제12항, 제14항, 제16항 중의 어느 한 항에 따른 방법을 실행시키기 위한 프로그램에 의해 동작하는 것을 특징으로 하는, 인증서버.
An authentication server connected to a service provider server, a user terminal, and a blockchain by a network.
An authentication server, characterized in that it is operated by a program for executing the method according to any one of claims 10 to 12, 14 and 16.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020170064393A KR102016730B1 (en) | 2017-05-24 | 2017-05-24 | Authentification methods and system based on programmable blockchain and one-id |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020170064393A KR102016730B1 (en) | 2017-05-24 | 2017-05-24 | Authentification methods and system based on programmable blockchain and one-id |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20180129027A KR20180129027A (en) | 2018-12-05 |
| KR102016730B1 true KR102016730B1 (en) | 2019-09-03 |
Family
ID=64743721
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020170064393A Active KR102016730B1 (en) | 2017-05-24 | 2017-05-24 | Authentification methods and system based on programmable blockchain and one-id |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR102016730B1 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20210129981A (en) | 2020-04-21 | 2021-10-29 | 백석대학교산학협력단 | Blockchain-based authentication system and method for preventing interception hacking attacks |
| KR102393403B1 (en) * | 2021-10-28 | 2022-04-29 | 차경운 | Method and system for managing software multi-ownership account |
Families Citing this family (31)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109711849B (en) * | 2018-12-29 | 2021-10-26 | 北京金山安全软件有限公司 | Ether house address portrait generation method and device, electronic equipment and storage medium |
| KR102168163B1 (en) | 2019-02-21 | 2020-10-20 | 데이터얼라이언스 주식회사 | Service System and Method based on Blockchain Platform |
| KR102116235B1 (en) * | 2019-03-15 | 2020-05-28 | 주식회사 코인플러그 | Method and server for managing user identity using blockchain network, and method and terminal for verifying user using user identity based on blockchain network |
| KR102149706B1 (en) * | 2019-03-22 | 2020-08-31 | 현대페이(주) | Digital signature based user authentication processing apparatus using block chain and operating method thereof |
| KR102162044B1 (en) * | 2019-03-26 | 2020-10-06 | 주식회사 서우에스앤씨 | The Method for User Authentication Based on Block Chain and The System Thereof |
| KR102003272B1 (en) * | 2019-04-10 | 2019-10-01 | (주)지란지교시큐리티 | Computer readable recording medium on which program for preventing scam mail based on block-chain is recorded, and system of preventing scam mail based on block-chain |
| CN110062041B (en) * | 2019-04-12 | 2023-04-07 | 深圳前海微众银行股份有限公司 | A method and device for changing IOT equipment based on block chain |
| CN110098979B (en) * | 2019-04-16 | 2023-04-14 | 深圳前海微众银行股份有限公司 | A method and device for monitoring short link messages based on blockchain |
| KR102053253B1 (en) * | 2019-04-23 | 2019-12-06 | 한화시스템(주) | Information management method based on block-chain in tactical environment |
| KR20220005645A (en) * | 2019-06-04 | 2022-01-13 | 디지털 에셋 (스위츠랜드) 게엠베하 | Multi-user database systems and methods |
| KR102211698B1 (en) | 2019-06-26 | 2021-02-03 | 넷마블 주식회사 | Global authentication account system |
| KR102210840B1 (en) | 2019-06-26 | 2021-02-02 | 넷마블 주식회사 | Global authentication account system |
| KR102244890B1 (en) | 2019-06-26 | 2021-04-27 | 넷마블 주식회사 | Global authentication account system |
| KR20210009791A (en) | 2019-07-18 | 2021-01-27 | 삼성전자주식회사 | Electronic authentication apparatus using block chain and a method thereof |
| CN110443076B (en) * | 2019-08-07 | 2021-06-01 | 瑞资(北京)科技有限公司 | Evidence storage method and system based on real-name block chain |
| KR102479454B1 (en) * | 2019-10-02 | 2022-12-20 | 주식회사 디젠트아이디 | Mobile communication terminal for personal authentification, personal authentification system and personal authentification method using the mobile communication terminal |
| KR102810469B1 (en) * | 2019-10-07 | 2025-05-21 | 삼성전자주식회사 | Electronic device and method for blockchain address management thereof |
| KR102355708B1 (en) * | 2019-10-25 | 2022-01-26 | 주식회사 락키 | Method for processing request based on user authentication using blockchain key and system applying same |
| KR102330012B1 (en) | 2019-11-07 | 2021-11-23 | 순천향대학교 산학협력단 | Authentication System and Method based on anonymous protocol in Permissioned Blockchain, Recording Medium for Performing the Method |
| KR102307574B1 (en) * | 2019-11-11 | 2021-09-30 | 서강대학교 산학협력단 | Cloud data storage system based on blockchain and method for storing in cloud |
| CN111241584A (en) * | 2020-01-15 | 2020-06-05 | 成都理工大学 | A method of student achievement management based on blockchain |
| KR102356725B1 (en) | 2020-04-27 | 2022-01-27 | 주식회사 시큐어링크 | Authentication and Policy Management Methods Using Layer Blockchain |
| CN111541713A (en) * | 2020-05-08 | 2020-08-14 | 国网电子商务有限公司 | Identity authentication method and device based on blockchain and user signature |
| CN112261659B (en) * | 2020-10-20 | 2024-01-09 | 北京字节跳动网络技术有限公司 | Control method and device for terminal and server, terminal and storage medium |
| CN112785318B (en) * | 2021-01-16 | 2022-05-17 | 苏州浪潮智能科技有限公司 | Blockchain-based transparent supply chain authentication method, device, equipment and medium |
| KR20210016591A (en) | 2021-01-27 | 2021-02-16 | 넷마블 주식회사 | Global authentication account system |
| KR20210015995A (en) | 2021-01-28 | 2021-02-10 | 넷마블 주식회사 | Global authentication account system |
| KR102478963B1 (en) * | 2021-03-15 | 2022-12-20 | 블록체인랩스 주식회사 | A system and method for issuing and verifying digital vaccination certificates |
| KR102500419B1 (en) * | 2021-04-12 | 2023-02-15 | 세종대학교산학협력단 | Method for managing data, computing device for executing the method |
| CN113221165B (en) * | 2021-05-11 | 2022-04-22 | 支付宝(杭州)信息技术有限公司 | User element authentication method and device based on block chain |
| CN114866595B (en) * | 2022-04-02 | 2024-02-27 | 深圳力维智联技术有限公司 | Connection method, terminal station data collector and management platform |
Citations (4)
| 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 |
| KR101637863B1 (en) * | 2016-01-05 | 2016-07-08 | 주식회사 코인플러그 | Security system and method for transmitting a password |
| KR101661933B1 (en) | 2015-12-16 | 2016-10-05 | 주식회사 코인플러그 | Ccertificate authentication system and method based on block chain |
| US20160335533A1 (en) | 2015-05-15 | 2016-11-17 | Joshua P. Davis | System and Method for an Autonomous Entity |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| 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 |
-
2017
- 2017-05-24 KR KR1020170064393A patent/KR102016730B1/en active Active
Patent Citations (4)
| 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 |
| US20160335533A1 (en) | 2015-05-15 | 2016-11-17 | Joshua P. Davis | System and Method for an Autonomous Entity |
| KR101661933B1 (en) | 2015-12-16 | 2016-10-05 | 주식회사 코인플러그 | Ccertificate authentication system and method based on block chain |
| KR101637863B1 (en) * | 2016-01-05 | 2016-07-08 | 주식회사 코인플러그 | Security system and method for transmitting a password |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20210129981A (en) | 2020-04-21 | 2021-10-29 | 백석대학교산학협력단 | Blockchain-based authentication system and method for preventing interception hacking attacks |
| KR102357595B1 (en) * | 2020-04-21 | 2022-01-28 | 백석대학교산학협력단 | Blockchain-based authentication system and method for preventing interception hacking attacks |
| KR102393403B1 (en) * | 2021-10-28 | 2022-04-29 | 차경운 | Method and system for managing software multi-ownership account |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20180129027A (en) | 2018-12-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102016730B1 (en) | Authentification methods and system based on programmable blockchain and one-id | |
| KR101974452B1 (en) | Methods and system for managing personal information based on programmable blockchain and one-id | |
| US12333532B2 (en) | Method and system for zero-knowledge and identity based key management for decentralized applications | |
| US9338163B2 (en) | Method using a single authentication device to authenticate a user to a service provider among a plurality of service providers and device for performing such a method | |
| CN110874464B (en) | User authentication data management method and device | |
| JP4866863B2 (en) | Security code generation method and user device | |
| JP6586446B2 (en) | Method for confirming identification information of user of communication terminal and related system | |
| US10523441B2 (en) | Authentication of access request of a device and protecting confidential information | |
| KR102177848B1 (en) | Method and system for verifying an access request | |
| US9445269B2 (en) | Terminal identity verification and service authentication method, system and terminal | |
| US20130019093A1 (en) | Certificate authority | |
| US20110162053A1 (en) | Service assisted secret provisioning | |
| US20230299981A1 (en) | Method and System for Authentication of a Computing Device | |
| CN101944216A (en) | Double-factor online transaction security authentication method and system | |
| EP2798869A1 (en) | Apparatus and method for performing over-the-air identity provisioning | |
| CN106656955A (en) | Communication method and system and user terminal | |
| KR20230080676A (en) | Method and system for managing DID using a high speed block-chain network | |
| KR102767233B1 (en) | Messenger service provision system equipped with image pattern-based security functions | |
| US12483397B1 (en) | Use of cryptographic twins for secure storage and access of entity data | |
| Bhatta et al. | Secure Credential Derivation for Paperless Travel | |
| He et al. | UFLE: a user‐friendly location‐free encryption system for mobile users | |
| KR20050097160A (en) | System and method for providing internet service to use official recognition certificate |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A201 | Request for examination | ||
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20170524 |
|
| PA0201 | Request for examination | ||
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20181126 Patent event code: PE09021S01D |
|
| PG1501 | Laying open of application | ||
| AMND | Amendment | ||
| E601 | Decision to refuse application | ||
| PE0601 | Decision on rejection of patent |
Patent event date: 20190325 Comment text: Decision to Refuse Application Patent event code: PE06012S01D Patent event date: 20181126 Comment text: Notification of reason for refusal Patent event code: PE06011S01I |
|
| AMND | Amendment | ||
| PX0901 | Re-examination |
Patent event code: PX09011S01I Patent event date: 20190325 Comment text: Decision to Refuse Application Patent event code: PX09012R01I Patent event date: 20190128 Comment text: Amendment to Specification, etc. |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20190515 Patent event code: PE09021S01D |
|
| AMND | Amendment | ||
| PX0701 | Decision of registration after re-examination |
Patent event date: 20190717 Comment text: Decision to Grant Registration Patent event code: PX07013S01D Patent event date: 20190710 Comment text: Amendment to Specification, etc. Patent event code: PX07012R01I Patent event date: 20190418 Comment text: Amendment to Specification, etc. Patent event code: PX07012R01I Patent event date: 20190325 Comment text: Decision to Refuse Application Patent event code: PX07011S01I Patent event date: 20190128 Comment text: Amendment to Specification, etc. Patent event code: PX07012R01I |
|
| X701 | Decision to grant (after re-examination) | ||
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20190826 Patent event code: PR07011E01D |
|
| PR1002 | Payment of registration fee |
Payment date: 20190827 End annual number: 3 Start annual number: 1 |
|
| PG1601 | Publication of registration | ||
| PR1001 | Payment of annual fee |
Payment date: 20220525 Start annual number: 4 End annual number: 4 |
|
| PR1001 | Payment of annual fee |
Payment date: 20230925 Start annual number: 5 End annual number: 5 |
|
| PR1001 | Payment of annual fee |
Payment date: 20240625 Start annual number: 6 End annual number: 6 |
|
| PR1001 | Payment of annual fee |
Payment date: 20250526 Start annual number: 7 End annual number: 7 |