KR101773073B1 - Method for allowing a transaction to be processed and server using the same - Google Patents

Method for allowing a transaction to be processed and server using the same Download PDF

Info

Publication number
KR101773073B1
KR101773073B1 KR1020160051945A KR20160051945A KR101773073B1 KR 101773073 B1 KR101773073 B1 KR 101773073B1 KR 1020160051945 A KR1020160051945 A KR 1020160051945A KR 20160051945 A KR20160051945 A KR 20160051945A KR 101773073 B1 KR101773073 B1 KR 101773073B1
Authority
KR
South Korea
Prior art keywords
hash value
value
information
specific
representative
Prior art date
Application number
KR1020160051945A
Other languages
Korean (ko)
Inventor
송주한
홍재우
어준선
Original Assignee
주식회사 코인플러그
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 코인플러그 filed Critical 주식회사 코인플러그
Priority to KR1020160051945A priority Critical patent/KR101773073B1/en
Application granted granted Critical
Publication of KR101773073B1 publication Critical patent/KR101773073B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06K9/00597
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions
    • G06Q20/40145Biometric identity checks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
    • 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

Abstract

The present invention relates to a method for supporting a transaction and an authentication support server using the same. According to an aspect of the present invention, the method for supporting a transaction includes: (a) a step in which the authentication support server obtains (1) a public key of a predetermined user and (2) a hash value of predetermined user information or a value in which the hash value is processed, as an authentication information use request; and (b) a step in which a biometric authentication server (i) verifies a value in which the hash value of transaction information or a value that the hash value of the transaction information is processed is signed by a private key corresponding to biometric information on the predetermined user by using the public key of the predetermined user or supports the verification and (ii) transmits a message about a verification result or supports the transmission, by transmitting the public key of the predetermined user to the biometric authentication server or using the public key of the predetermined user which the biometric authentication server manages when a second predetermined hash value which is the hash value on (1) and (2), a second representative hash value generated as at least a neighboring hash value matched to the second predetermined hash value is calculated, or a value in which the second representative hash value is processed corresponds to the value a first representative hash value registered in a database or a value in which the first representative hash value is processed.

Description

거래를 지원하기 위한 방법 및 이를 사용한 인증 지원 서버{METHOD FOR ALLOWING A TRANSACTION TO BE PROCESSED AND SERVER USING THE SAME}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a transaction support server,

본 발명은 거래를 지원하기 위한 방법 및 이를 사용한 인증 지원 서버에 관한 것으로, 좀더 상세하게는, 기존에 인증 지원 서버가 제1 특정 해쉬값 및 상기 제1 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 생성되는 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값을 소정의 데이터 구조로서 데이터베이스에 등록하고 있는 상태에서, 인증 정보 사용 요청으로서 (1) 특정 사용자의 public key 및 (2) 상기 특정 사용자 정보의 해쉬값 또는 이를 가공한 값을 획득하고, (b) 상기 (1) 및 (2)에 대한 해쉬값인 제2 특정 해쉬값 및 상기 제2 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값 - 상기 적어도 하나의 이웃 해쉬값은 상기 소정의 데이터 구조를 참조로 하여 결정됨 - 을 연산함으로써 생성되는 제2 대표 해쉬값 또는 상기 제2 대표 해쉬값을 가공한 값이 상기 데이터베이스에 등록된 상기 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값과 대응되면, 상기 특정 사용자의 public key를 상기 생체 인증 서버에 전송하거나 상기 생체 인증 서버가 관리하고 있는 상기 특정 사용자의 public key를 사용하도록 하여 (i) 상기 생체 인증 서버가, 거래 정보의 해쉬값 또는 이를 가공한 값을 상기 특정 사용자의 생체 정보에 대응되는 private key로 서명한 값을 상기 특정 사용자의 public key를 이용하여 검증하거나 검증하도록 지원하며, (ii) 상기 검증 결과에 대한 메시지를 전송하거나 전송하도록 지원하는 거래를 지원하기 위한 방법 및 이를 사용한 인증 지원 서버에 관한 것이다.The present invention relates to a method for supporting transactions and an authentication support server using the same, and more particularly, to an authentication support server using a method for supporting transactions and an authentication support server using at least one neighboring hash that matches the first specific hash value and the first specific hash value In a state in which a first representative hash value generated by computing a value or a value obtained by processing the first representative hash value is registered in a database as a predetermined data structure, (1) a public key of a specific user and (2) obtaining a hash value of the specific user information or a value obtained by processing the hash value of the specific user information, (b) comparing a second specific hash value, which is a hash value with the first specific hash value, A second representative hash value generated by computing at least one neighbor hash value, the at least one neighbor hash value being determined with reference to the predetermined data structure, If the value obtained by processing the table hash value corresponds to the value obtained by processing the first representative hash value or the first representative hash value registered in the database, the public key of the specific user is transmitted to the biometric authentication server, (I) the biometric authentication server transmits a hash value of the transaction information or a value obtained by processing the processed value to a private key corresponding to the biometric information of the specific user by using the public key of the specific user managed by the authentication server (Ii) supporting a transaction to support transmission or transmission of a message on the verification result, and an authentication support server using the method.

생체 인증 기술이란 지문, 홍채, 얼굴, 음성 등 개인의 고유한 생체 정보를 이용하여 인증을 수행하는 기술을 말한다. 생체 인증 기술은 고유한 생체 정보를 이용하므로 보안성이 높고 편리한 바, 최근 FIDO(Fast Identity Online)와 같은 생체 인증 기술을 접목한 사용자 인증 기술이 각광을 받고 있다. Biometric authentication technology refers to a technology that performs authentication using personal biometric information such as fingerprint, iris, face, and voice. Since biometric authentication technology utilizes unique biometric information, user authentication technology that combines biometric authentication technology such as FIDO (Fast Identity Online) is attracting attention because it is highly secure and convenient.

한편, 최근 가상 화폐의 블록체인 기술은 블록체인 상에 기록된 거래 내역의 위/변조가 불가능하므로 보안성이 중요시되는 금융산업분야에서 주목을 받고 있다. In recent years, the block chain technology of virtual money has been attracting attention in the financial industry field where security is important because transaction details recorded on the block chain can not be changed / modulated.

이에 발명자는 좀더 안전하게 금융 거래를 할 수 있도록 생체 인증 기술에 블록체인 기술을 접목시켜 PKI 기반으로 인증 정보를 생성하고 블록체인 상에 등록하여 관리할 수 있는 기술을 발명한 바 있다. Therefore, the inventor of the present invention has invented a technique for creating authentication information based on PKI and registering and managing the information on a block chain by applying a block chain technology to a biometric authentication technology so that a financial transaction can be performed more safely.

다만, 인증 정보를 등록할 필요가 있는 모든 경우에 블록체인에 접근하여 기록을 하는 것은 비효율적일 수 있다. 특히, transaction 요청이 많아졌을 때, 서비스 제공의 bottle neck 현상이 발생될 수 있고, 매번 transaction fee를 지불해야 하므로 서비스 운영에 많은 비용이 들 수 있는 우려가 있다.However, it may be inefficient to access and record the block chain in all cases where it is necessary to register authentication information. Especially, when there are many transaction requests, bottleneck phenomenon of service provision may occur and there is a concern that the transaction fee may be paid for each time a service operation is costly.

이에 발명자는 상기 발명을 보완하여 위/변조가 불가능하고 실시간으로 인증 정보를 기록할 수 있는 장점을 살리면서도 서비스 요청이 몰릴 경우에도 빠른 서비스 속도를 보장하고 비용도 절감할 수 있는 인증 정보를 등록할 수 있는 시스템을 발명하였다. 특히, 본 시스템은 소정의 데이터 구조를 통해 등록된 인증 정보를 이용하여 거래를 지원할 수 있다. Accordingly, the inventor of the present invention has the advantage of being able to record the authentication information in real time without supplementing the above-mentioned invention, and it is possible to register the authentication information which can guarantee the fast service speed and reduce the cost even when the service request is made Invented a system that can. In particular, the system can support transactions using registered authentication information through a predetermined data structure.

KRKR 10-161187210-1611872 B1B1

본 발명은 상술한 문제점들을 모두 해결하는 것을 그 목적으로 한다. SUMMARY OF THE INVENTION The present invention has been made to solve all the problems described above.

본 발명은 인증 지원 서버가 인증 정보 사용 요청으로서 (i) 특정 사용자의 public key 및 (ii) 상기 특정 사용자 정보의 해쉬값 또는 이를 가공한 값을 획득하는 경우, 이에 대한 해쉬값인 특정 해쉬값 및 상기 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값을 연삼함으로써 생성되는 제1 대표 해쉬값 또는 이를 가공한 값이 기존에 소정의 데이터 구조 상에서 이와 동일한 방식으로 산출되어 데이터베이스에 등록된 제2 대표 해쉬값 또는 이를 가공한 값과 대응되는지 확인하고, 대응되는 경우, 생체 인증 서버가, 거래 정보의 해쉬값 또는 이를 가공한 값을 상기 특정 사용자의 생체 정보에 대응되는 private key로 서명한 값을 상기 특정 사용자의 public key를 이용하여 검증하도록 지원함으로써 거래가 이루어지도록 지원하는 것을 다른 목적으로 한다.In the case where the authentication support server obtains (i) a public key of a specific user and (ii) a hash value of the specific user information or a value obtained by processing the hash value, a specific hash value A first representative hash value generated by digesting at least one neighboring hash value matched with the specific hash value or a value obtained by machining the first representative hash value is calculated in the same manner on a predetermined data structure, Value or a value obtained by processing the processed biometric information, and if the biometric authentication server matches the hashed value of the transaction information or the processed value with a private key corresponding to the biometric information of the specific user, The other purpose is to support the transaction by supporting the verification using the user's public key.

상기 목적을 달성하기 위한 본 발명의 대표적인 구성은 다음과 같다.In order to accomplish the above object, a representative structure of the present invention is as follows.

본 발명의 일 태양에 따르면, 거래를 지원하기 위한 방법에 있어서, (a) 기존에 인증 지원 서버가 제1 특정 해쉬값 및 상기 제1 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 생성되는 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값을 소정의 데이터 구조로서 데이터베이스에 등록하고 있는 상태에서, 상기 인증 지원 서버가, 인증 정보 사용 요청으로서 (1) 특정 사용자의 public key 및 (2) 상기 특정 사용자 정보의 해쉬값 또는 이를 가공한 값을 획득하는 단계, 및 (b) 상기 (1) 및 (2)에 대한 해쉬값인 제2 특정 해쉬값 및 상기 제2 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값 - 상기 적어도 하나의 이웃 해쉬값은 상기 소정의 데이터 구조를 참조로 하여 결정됨 - 을 연산함으로써 생성되는 제2 대표 해쉬값 또는 상기 제2 대표 해쉬값을 가공한 값이 상기 데이터베이스에 등록된 상기 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값과 대응되면, 상기 인증 지원 서버가, 상기 특정 사용자의 public key를 상기 생체 인증 서버에 전송하거나 상기 생체 인증 서버가 관리하고 있는 상기 특정 사용자의 public key를 사용하도록 하여 (i) 상기 생체 인증 서버가, 거래 정보의 해쉬값 또는 이를 가공한 값을 상기 특정 사용자의 생체 정보에 대응되는 private key로 서명한 값을 상기 특정 사용자의 public key를 이용하여 검증하거나 검증하도록 지원하며, (ii) 상기 검증 결과에 대한 메시지를 전송하거나 전송하도록 지원하는 단계를 포함하는 방법이 제공된다. According to one aspect of the present invention, there is provided a method for supporting a transaction, the method comprising: (a) previously calculating at least one neighboring hash value matching a first specific hash value and a first specific hash value In the state where the generated first representative hash value or the value obtained by processing the first representative hash value is registered in the database as a predetermined data structure, the authentication support server transmits (1) key and (2) obtaining a hash value of the specific user information or a value obtained by processing the hash value of the specific user information, and (b) obtaining a second specific hash value, A second representative hash value that is generated by computing at least one neighbor hash value matching the value of the at least one neighbor hash value with reference to the predetermined data structure, If the value obtained by processing the hash value corresponds to a value obtained by processing the first representative hash value or the first representative hash value registered in the database, the authentication support server transmits the public key of the specific user to the biometric authentication server (I) the biometric authentication server transmits a hash value of the transaction information or a value obtained by processing the hash value of the transaction information to the biometric information of the specific user corresponding to the biometric information of the specific user and (ii) supporting transmission or transmission of a message for the verification result. The present invention also provides a method for verifying a verification result of a verification result using a public key of a specific user.

본 발명의 다른 태양에 따르면, 거래를 지원하기 위한 인증 지원 서버에 있어서, 기존에 상기 인증 지원 서버가 제1 특정 해쉬값 및 상기 제1 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 생성되는 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값을 소정의 데이터 구조로서 데이터베이스에 등록하고 있는 상태에서, 인증 정보 사용 요청으로서 (1) 특정 사용자의 public key 및 (2) 상기 특정 사용자 정보의 해쉬값 또는 이를 가공한 값을 획득하는 통신부, 및 상기 (1) 및 (2)에 대한 해쉬값인 제2 특정 해쉬값 및 상기 제2 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값 - 상기 적어도 하나의 이웃 해쉬값은 상기 소정의 데이터 구조를 참조로 하여 결정됨 - 을 연산함으로써 생성되는 제2 대표 해쉬값 또는 상기 제2 대표 해쉬값을 가공한 값이 상기 데이터베이스에 등록된 상기 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값과 대응되면, 상기 특정 사용자의 public key를 상기 생체 인증 서버에 전송하거나 상기 생체 인증 서버가 관리하고 있는 상기 특정 사용자의 public key를 사용하도록 하여 (i) 상기 생체 인증 서버가, 거래 정보의 해쉬값 또는 이를 가공한 값을 상기 특정 사용자의 생체 정보에 대응되는 private key로 서명한 값을 상기 특정 사용자의 public key를 이용하여 검증하거나 검증하도록 지원하며, (ii) 상기 검증 결과에 대한 메시지를 전송하거나 전송하도록 지원하는 프로세서를 포함하는 인증 지원 서버가 제공된다. According to another aspect of the present invention, there is provided an authentication support server for supporting transactions, wherein the authentication support server computes at least one neighboring hash value matching the first specific hash value and the first specific hash value (1) a public key of a specific user, and (2) a public key of a specific user, as the authentication information use request, in the state where the generated first representative hash value or the value obtained by processing the first representative hash value is registered in the database as a predetermined data structure. And a communication unit for obtaining a hash value of the specific user information or a value obtained by processing the hash value of the specific user information, and a second specific hash value which is a hash value for the items (1) and (2) Value - the at least one neighboring hash value is determined with reference to the predetermined data structure, or a second representative hash value And transmitting the public key of the specific user to the biometric authentication server if the processed value corresponds to the value obtained by processing the first representative hash value or the first representative hash value registered in the database, (I) the biometric authentication server sends a value obtained by signing the hash value of the transaction information or a value obtained by processing the transaction value with a private key corresponding to the biometric information of the specific user, using the public key of the specific user (Ii) a processor for supporting the transmission or transmission of a message for the verification result.

본 발명에 의하면, 다음과 같은 효과가 있다.The present invention has the following effects.

또한, 본 발명은 인증 지원 서버가 인증 정보 사용 요청으로서 (i) 특정 사용자의 public key 및 (ii) 상기 특정 사용자 정보의 해쉬값 또는 이를 가공한 값을 획득하는 경우, 이에 대한 해쉬값인 특정 해쉬값 및 상기 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값을 연삼함으로써 생성되는 제1 대표 해쉬값 또는 이를 가공한 값이 기존에 소정의 데이터 구조 상에서 이와 동일한 방식으로 산출되어 데이터베이스에 등록된 제2 대표 해쉬값 또는 이를 가공한 값과 대응되는지 확인하고, 대응되는 경우, 생체 인증 서버가, 거래 정보의 해쉬값 또는 이를 가공한 값을 상기 특정 사용자의 생체 정보에 대응되는 private key로 서명한 값을 상기 특정 사용자의 public key를 이용하여 검증하도록 지원함으로써 거래가 이루어지도록 지원할 수 있는 효과가 있다. Further, in the present invention, when the authentication support server obtains (i) a public key of a specific user and (ii) a hash value of the specific user information or a value obtained by processing the hash value, And a value obtained by processing the first representative hash value or a value obtained by processing the first representative hash value are calculated in the same manner on a predetermined data structure and the second representative hash value generated by the second The biometric authentication server checks whether the hash value of the transaction information corresponds to the hash value or the processed value and if the biometric authentication server has signed the hash value of the transaction information or the processed value with the private key corresponding to the biometric information of the specific user It is possible to support transactions to be performed by supporting the verification using the public key of the specific user.

도 1은 본 발명의 일 실시예에 따른 인증 정보를 생성하고 등록하는 인증 지원 서버의 구성을 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 인증 정보의 생성 및 등록 과정을 도시한 시퀀스다이어그램이다.
도 3은 본 발명의 일 실시예에 따른 인증 정보에 대한 파기 과정을 도시한 시퀀스다이어그램이다.
도 4는 본 발명의 다른 실시예에 따른 로그인 시 인증 정보를 사용하는 과정을 도시한 시퀀스다이어그램이다.
도 5는 본 발명의 또 다른 실시예에 따른 거래시 인증 정보를 사용하는 과정을 도시한 시퀀스다이어그램이다.
도 6 및 7은 본 발명의 일 실시예에 따라 생성된 머클 트리의 예를 도시한 도면이다.
1 is a block diagram showing a configuration of an authentication support server for generating and registering authentication information according to an embodiment of the present invention.
2 is a sequence diagram illustrating a process of generating and registering authentication information according to an embodiment of the present invention.
3 is a sequence diagram illustrating a process of destroying authentication information according to an embodiment of the present invention.
FIG. 4 is a sequence diagram illustrating a process of using authentication information upon login according to another embodiment of the present invention.
FIG. 5 is a sequence diagram illustrating a process of using authentication information in a transaction according to another embodiment of the present invention.
6 and 7 are diagrams illustrating examples of a merge tree generated according to an embodiment of the present invention.

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

도 1은 본 발명의 일 실시예에 따른 인증 정보를 생성하고 등록하는 인증 지원 서버의 구성을 도시한 블록도이고, 도 2는 본 발명의 일 실시예에 따른 인증 정보의 생성 및 등록 과정을 도시한 시퀀스다이어그램이다. FIG. 1 is a block diagram illustrating a configuration of an authentication support server for generating and registering authentication information according to an embodiment of the present invention. FIG. 2 is a flowchart illustrating a process of generating and registering authentication information according to an exemplary embodiment of the present invention. It is a sequence diagram.

도 1을 참조하면, 본 발명의 일 실시예에 따른 인증 정보를 생성하고 등록하는 인증 지원 서버(100)는 프로세서(110) 및 통신부(120)를 포함한다. Referring to FIG. 1, an authentication support server 100 for generating and registering authentication information according to an embodiment of the present invention includes a processor 110 and a communication unit 120.

프로세서(110)는, 은행 서버(400)로부터 인증 정보에 대한 등록 요청을 받은 생체 인증 서버(300)로부터 (i) 특정 사용자의 public key 및 (ii) 상기 특정 사용자 정보의 해쉬값 또는 이를 가공한 값이 획득되면, 상기 public key의 등록 여부를 확인하는 구성이다. 생체 인증 서버(300)는 생체 정보를 통해 사용자 인증을 수행하는 장치로서, 예를 들어, FIDO 서버가 될 수 있다. The processor 110 receives from the biometric authentication server 300 a request for registration of the authentication information from the bank server 400. The hash value of the specific user information, When the value is obtained, it is confirmed whether or not the public key is registered. The biometric authentication server 300 is an apparatus for performing user authentication through biometric information, and may be, for example, an FIDO server.

도 2를 참조하면, 인증 정보를 생성하고 등록하는 과정은 사용자 단말(500)에서 특정 사용자의 public key가 생성되어 은행 서버(400)에 전달되는 과정부터 시작될 수 있다(S202). 이때, private key의 생성도 이루어질 수 있다. 특정 사용자는 미리 은행에 방문하여 특정 사용자 정보를 등록해 놓을 수 있고, 이를 통해 특정 사용자에 대해 인증이 이루어질 수 있다. 일 예로, 특정 사용자의 인증은, 상기 특정 사용자의 public key 외에 상기 특정 사용자 정보의 해쉬값이 획득되면, 상기 은행 서버(400)가 기 보유하고 있는 상기 특정 사용자 정보에 대한 해쉬값과 비교하여 서로 대응되는지에 따라 인증이 이루어질 수 있다. 여기서, 특정 사용자 정보는, 상기 특정 사용자의 이름(N), 생년월일(B), 휴대폰 번호(#), 이메일(E) 중 적어도 일부를 포함하여 해당 사용자를 식별할 수 있는 정보일 수 있다. 특정 사용자가 인증이 되면, 은행 서버(400)는, 상기 특정 사용자 정보의 해쉬값인 Uhash를 생체 인증 서버(300)에 전송할 수 있다(S204). 이때, 특정 사용자의 public key도 함께 전송이 이루어질 수 있다. Uhash를 이용하여 user id가 생성되는 경우, Uhash 대신에, 상기 user id 및 상기 Uhash의 해쉬값인 Idhash가 전송될 수도 있다. Idhash는 SHA256hash일 수 있다. 생체 인증 서버(300)는, (i) 상기 public key 및 (ii) 상기 특정 사용자 정보의 해쉬값 또는 이를 가공한 값으로서 상기 Uhash 또는 상기 Uhash를 가공한 값을 인증 지원 서버(100)로 전송할 수 있다(S206). 이 경우 마찬가지로 Uhash를 가공한 값은, 상기 Uhash를 이용하여 user id가 생성되는 경우, 상기 user id 및 상기 Uhash의 해쉬값인 Idhash일 수 있다. 프로세서(110)는, 이렇게 (i) 특정 사용자의 public key 및 (ii) 상기 특정 사용자 정보의 해쉬값 또는 이를 가공한 값이 획득되면, 로컬 데이터베이스(미도시)에서 상기 public key의 등록 여부를 확인한다(S208). 참고로, 사용자 단말(500)은 사용자 입/출력을 수행할 수 있는 단말 장치로서, 스마트폰, PC, 태블릿 PC, 기타 사용자 입/출력이 가능한 전자 장치 중 어느 하나가 될 수 있다. Referring to FIG. 2, the process of generating and registering authentication information can be started from a process in which a public key of a specific user is generated in the user terminal 500 and transmitted to the bank server 400 (S202). At this time, the private key can also be generated. A specific user can visit a bank and register specific user information, thereby authenticating a specific user. For example, when a hash value of the specific user information other than the public key of the specific user is obtained, the authentication of the specific user is compared with the hash value of the specific user information held by the bank server 400, The authentication can be performed depending on whether or not it is supported. Here, the specific user information may include at least a part of the specific user's name (N), birth date (B), mobile phone number (#), and e-mail (E) When the specific user is authenticated, the bank server 400 may transmit Uhash, which is a hash value of the specific user information, to the biometric authentication server 300 (S204). At this time, the public key of the specific user can be transmitted together with the public key. When a user id is generated using Uhash, the user id and the hash value Idhash of the Uhash may be transmitted instead of Uhash. Idhash can be SHA256hash. The biometric authentication server 300 can transmit the value obtained by processing the Uhash or the Uhash to the authentication support server 100 as (i) the public key and (ii) the hash value of the specific user information or a processed value thereof (S206). In this case, if the user id is generated using the Uhash, the value obtained by processing the Uhash may be the user id and the hash value Idhash of the Uhash. The processor 110 determines whether or not the public key is registered in the local database (not shown) when (i) the public key of the specific user and (ii) the hash value of the specific user information or the processed value is obtained (S208). For reference, the user terminal 500 is a terminal device capable of performing user input / output, and may be any one of a smart phone, a PC, a tablet PC, and other electronic devices capable of user input / output.

통신부(120)는, 생체 인증 서버(300) 또는 데이터베이스(200)와 통신하는 구성이다. 여기서, 데이터베이스(200)는 가상화폐의 블록체인일 수 있다. The communication unit 120 is configured to communicate with the biometric authentication server 300 or the database 200. [ Here, the database 200 may be a block chain of virtual money.

상기 확인 결과, 상기 public key가 등록 상태이면(S210), 이미 인증 정보가 등록되어 있다는 의미이므로, 통신부(120)는, 생체 인증 서버(300)에 error 메시지를 전송할 수 있다(S212). error 메시지는 은행 서버(400)를 거쳐 사용자 단말(500)로 전달된다. If it is determined that the public key is registered (S210), the communication unit 120 can transmit an error message to the biometric authentication server 300 (S212). The error message is transmitted to the user terminal 500 via the bank server 400.

이와 달리, 상기 확인 결과, 상기 public key가 미등록 상태이면, (i) 상기 특정 사용자의 public key 및 (ii) 상기 해쉬값 또는 이를 가공한 값을 output으로 하는 transaction을 생성하여 데이터베이스에 전송할 수 있다(S214, S216). 구체적으로, 상기 통신부(120)는, 상기 확인 결과, 상기 public key가 미등록 상태이면, (i) 상기 특정 사용자의 public key 및 (ii) 상기 해쉬값 또는 이를 가공한 값을 output1으로 하고(op_msg1 = pubkey:IDhash), 소정의 액수의 가상 화폐를 output2로 하는 transaction을 생성하여 데이터베이스에 전송할 수 있다. output2는 후술하는 바와 같이 인증 정보 파기용으로 사용될 수 있다. 즉, output2를 입력값으로 하는 새로운 transaction을 생성하여 데이터베이스(200)에 전송함으로써 인증 정보에 대한 파기가 이루어질 수 있다. Alternatively, if the public key is unregistered, a transaction that outputs (i) the public key of the specific user and (ii) the hash value or the processed value may be generated and transmitted to the database S214, S216). Specifically, if the public key is unregistered, the communication unit 120 sets the public key of the specific user and (ii) the hash value or the processed value as output1 (op_msg1 = pubkey: IDhash), and a transaction having a predetermined amount of virtual money as output 2 can be generated and transmitted to the database. output2 can be used for authentication information destruction as described later. That is, a new transaction having output 2 as an input value is generated and transmitted to the database 200, so that the authentication information can be discarded.

또한, 통신부(120)는, 상기 transaction이 상기 데이터베이스(200) 상에 기록된 위치 정보를 나타내는 transaction ID를 획득하며(S218), 상기 생체 인증 서버(300)에 (i) 상기 public key 및 (ii) 상기 해쉬값 또는 이를 가공한 값이 정상적으로 등록되었음을 알리는 메시지를 전달(S220)할 수 있다. 상기 메시지는 은행 서버(400)를 거쳐 사용자 단말(500)에 전달된다. The communication unit 120 acquires a transaction ID indicating the location information recorded on the database 200 in step S218 and transmits the public key and the public key to the biometric authentication server 300 ) A message informing that the hash value or the processed value has been registered normally can be transmitted (S220). The message is delivered to the user terminal 500 via the bank server 400.

통신부(120)는 다양한 통신 기술로 구현될 수 있다. 즉, 와이파이(WIFI), WCDMA(Wideband CDMA), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), HSPA(High Speed Packet Access), 모바일 와이맥스(Mobile WiMAX), 와이브로(WiBro), LTE(Long Term Evolution), 블루투스(bluetooth), 적외선 통신(IrDA, infrared data association), NFC(Near Field Communication), 지그비(Zigbee), 무선랜 기술 등이 적용될 수 있다. 또한, 인터넷과 연결되어 서비스를 제공하는 경우 인터넷에서 정보전송을 위한 표준 프로토콜인 TCP/IP를 따를 수 있다.The communication unit 120 may be implemented by various communication technologies. (WIFI), Wideband CDMA (WCDMA), High Speed Downlink Packet Access (HSDPA), High Speed Uplink Packet Access (HSUPA), High Speed Packet Access (HSPA), Mobile WiMAX, WiBro, , Long Term Evolution (LTE), bluetooth, infrared data association (IrDA), Near Field Communication (NFC), Zigbee, and wireless LAN technology. In addition, if the service is connected to the Internet, it can follow TCP / IP, a standard protocol for transmitting information on the Internet.

한편, 프로세서(110)는, transaction ID, 특정 사용자 정보의 해쉬값 또는 이를 가공한 값, 특정 사용자의 public key를 로컬 데이터베이스(미도시)에 저장할 수 있다. Meanwhile, the processor 110 may store a transaction ID, a hash value of specific user information or a processed value thereof, and a public key of a specific user in a local database (not shown).

프로세서(110)는, 통신부(120) 및 다른 구성요소 간의 데이터의 흐름을 제어하는 기능을 수행한다. 즉, 프로세서(110)는 인증 지원 서버(100)의 각 구성요소 간의 데이터의 흐름을 제어함으로써, 통신부(120) 및 다른 구성요소에서 각각 고유 기능을 수행하도록 제어한다.The processor 110 performs a function of controlling the flow of data between the communication unit 120 and other components. That is, the processor 110 controls the flow of data between the components of the authentication support server 100 to control the communication unit 120 and other components to perform their own functions.

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

이하에서는 인증 정보에 대한 파기를 수행하는 인증 지원 서버(100)의 구성 및 동작에 대해서 설명한다. 이하에서 설명하는 인증 정보에 대한 파기를 수행하는 인증 지원 서버는 전술한 인증 지원 서버(100)와 별도의 장치로 구성될 수도 있으나, 설명의 편의를 위해 동일한 장치인 것으로 설명한다. Hereinafter, the configuration and operation of the authentication support server 100 that performs destruction of authentication information will be described. The authentication support server for performing the destruction of the authentication information described below may be configured as a separate apparatus from the authentication support server 100, but will be described as the same apparatus for convenience of explanation.

도 3은 본 발명의 일 실시예에 따른 인증 정보에 대한 파기 과정을 도시한 시퀀스다이어그램이다.3 is a sequence diagram illustrating a process of destroying authentication information according to an embodiment of the present invention.

프로세서(110)는, 인증 정보 생성 및 등록 과정과 마찬가지로 은행 서버(400)로부터 인증 정보에 대한 파기 요청을 받은 생체 인증 서버(300)로부터 특정 사용자의 public key가 획득되면, 상기 public key의 등록 여부를 확인한다(S308). public key의 등록 여부를 확인하기 이전의 과정은 인증 정보를 생성하고 등록하는 과정과 유사하게 이루어진다. When the public key of the specific user is obtained from the biometric authentication server 300, which receives the revocation request for the authentication information from the bank server 400 as in the authentication information generation and registration process, the processor 110 determines whether the public key is registered (S308). The process before confirming the registration of the public key is similar to the process of generating and registering the authentication information.

우선, 사용자 단말(500)에서 특정 사용자의 public key가 은행 서버(400)에 전달되는 과정부터 시작될 수 있다(S302). 만일 사용자 단말(500)에 복수의 사용자의 public key가 저장되어 있을 경우, 사용자의 선택에 의해 선택된 public key가 은행 서버(400)에 전달될 수 있다. 또한, 지문 정보, 안면 정보, 홍채 정보 등과 같은 생체 정보의 입력에 의해 public key가 선택될 수도 있을 것이다. 은행 서버(400)는 특정 사용자에 대해 인증을 수행한다. 그리고, 특정 사용자가 인증이 되면, 은행 서버(400)는, 상기 특정 사용자 정보의 해쉬값인 Uhash를 생체 인증 서버(300)에 전송할 수 있다(S304). 이때, 특정 사용자의 public key도 함께 전송이 이루어질 수 있다. 물론, 전술한 것처럼 Uhash 대신에, Idhash가 전송될 수도 있다. 생체 인증 서버(300)는, (i) 상기 public key 및 (ii) 상기 특정 사용자 정보의 해쉬값 또는 이를 가공한 값으로서 상기 Uhash 또는 상기 Uhash를 가공한 값을 인증 지원 서버(100)로 전송할 수 있다(S306). 이 경우 마찬가지로 Uhash를 가공한 값은, Idhash일 수 있다. 프로세서(110)는, 이렇게 (i) 특정 사용자의 public key 및 (ii) 상기 특정 사용자 정보의 해쉬값 또는 이를 가공한 값이 획득되면, 로컬 데이터베이스에서 상기 public key의 등록 여부를 확인할 수 있다(S308).First, a public key of a specific user in the user terminal 500 can be started from the process of being transmitted to the bank server 400 (S302). If a public key of a plurality of users is stored in the user terminal 500, the public key selected by the user can be transmitted to the bank server 400. In addition, a public key may be selected by inputting biometric information such as fingerprint information, face information, iris information, and the like. The bank server 400 performs authentication for a specific user. When the specific user is authenticated, the bank server 400 may transmit Uhash, which is a hash value of the specific user information, to the biometric authentication server 300 (S304). At this time, the public key of the specific user can be transmitted together with the public key. Of course, Idhash may be sent instead of Uhash as described above. The biometric authentication server 300 can transmit the value obtained by processing the Uhash or the Uhash to the authentication support server 100 as (i) the public key and (ii) the hash value of the specific user information or a processed value thereof (S306). In this case, the value obtained by machining Uhash may be Idhash. The processor 110 can confirm whether or not the public key is registered in the local database when (i) the public key of the specific user and (ii) the hash value of the specific user information or the processed value is obtained (S308 ).

통신부(120)는, 상기 확인 결과, 상기 public key가 미등록 상태이면, 인증 정보가 등록되지 않았다는 것이므로, error 메시지를 전송할 수 있다(S312). error 메시지는 은행 서버(400)를 거쳐 사용자 단말(500)로 전달될 수 있다. If it is determined that the public key is not registered, the communication unit 120 can transmit an error message because the authentication information is not registered (S312). The error message may be communicated to the user terminal 500 via the bank server 400.

통신부(120)는, 상기 확인 결과, 상기 public key가 등록 상태이면, 상기 public key에 대응되는 transaction ID를 이용하여 데이터베이스(200)로부터 상기 transaction ID에 대응되는 특정 transaction의 출력값을 획득하고(S314, S316), 상기 출력값의 적어도 일부를 입력값으로 하는 새로운 transaction을 생성하도록 지원하여 상기 데이터베이스(200)에 전송할 수 있다(S328). 구체적으로, 통신부(120)는, 상기 출력값인 소정의 가상화폐의 적어도 일부를 입력값으로 하는 unsigned transaction을 생성하고 이를 상기 인증 지원 서버(100)의 private key로 서명하여 signed transaction을 생성함으로써 상기 새로운 transaction을 생성하도록 지원할 수 있다. 통신부(120)는, 상기 새로운 transaction이 상기 데이터베이스(200) 상에 기록된 위치 정보를 나타내는 transaction ID를 획득하고(S330), 인증 정보에 대한 파기 사실을 상기 생체 인증 서버(300)에 알릴 수 있다(S332). 알림 메시지는 은행 서버(400)를 거쳐 사용자 단말(500)로 전달될 수 있다. If the public key is registered, the communication unit 120 acquires the output value of the specific transaction corresponding to the transaction ID from the database 200 using the transaction ID corresponding to the public key (S314, S316), and a new transaction having at least a part of the output value as an input value is generated and transmitted to the database 200 (S328). Specifically, the communication unit 120 generates an unsigned transaction having an input value of at least a part of the predetermined virtual money as the output value, signs it with the private key of the authentication support server 100 to generate a signed transaction, transaction. The communication unit 120 may acquire a transaction ID indicating the location information recorded on the database 200 in step S330 and notify the biometric authentication server 300 of the discard of the authentication information (S332). The notification message may be transmitted to the user terminal 500 via the bank server 400. [

다만, 이와 같은 작업을 수행하기에 앞서, 통신부(120)는, 인증 정보의 상태 정보를 확인하고 에러 메시지를 전송할 수도 있다. 즉, 상기 확인 결과, 상기 public key가 등록 상태이면, 통신부(120)는, 상기 public key에 대응되는 transaction ID를 이용하여 상기 데이터베이스(200)로부터 상기 transaction ID에 대응되는 상기 특정 transaction의 출력값으로서 public key 및 인증 정보의 상태 정보를 획득할 수 있고(S316), 상기 데이터베이스(200)로부터 획득된 public key가 상기 생체 인증 서버(300)로부터 획득된 public key와 대응되지 않거나(S320) 상기 인증 정보의 상태 정보를 참조한 결과 상기 인증 정보가 소정의 상태인 것으로 판단되면(S324), 상기 생체 인증 서버(300)에 에러 메시지를 전송할 수 있다(S322, S326). 에러 메시지는 은행 서버(400)를 거쳐 사용자 단말(500)에 전달될 수 있다. 상기 상태는 파기 상태 또는 계약 상의 소정의 조건을 만족하는 상태일 수 있다. However, prior to performing such an operation, the communication unit 120 may check the status information of the authentication information and transmit an error message. That is, when the public key is in the registration state, the communication unit 120 receives, as the output value of the specific transaction corresponding to the transaction ID, the public ID from the database 200 using the transaction ID corresponding to the public key (S316). If the public key obtained from the database 200 does not correspond to the public key obtained from the biometric authentication server 300 (S320), the state information of the authentication information As a result of referring to the status information, if it is determined that the authentication information is in a predetermined state (S324), an error message can be transmitted to the biometric authentication server 300 (S322, S326). The error message may be communicated to the user terminal 500 via the bank server 400. The state may be a state that satisfies a predetermined condition in a contracted state or contract.

이하에서는 인증 정보를 사용하는 인증 지원 서버의 구성 및 동작에 대해서 설명한다. 이하에서 설명하는 인증 지원 서버는 전술한 인증 지원 서버(100)와 별도의 장치로 구성될 수도 있으나, 설명의 편의를 위해 동일한 장치인 것으로 설명한다. The configuration and operation of the authentication support server using authentication information will be described below. The authentication support server described below may be configured as a separate apparatus from the authentication support server 100, but will be described as the same apparatus for convenience of explanation.

도 4는 본 발명의 다른 실시예에 따른 로그인 시 인증 정보를 사용하는 과정을 도시한 시퀀스다이어그램이다.FIG. 4 is a sequence diagram illustrating a process of using authentication information upon login according to another embodiment of the present invention.

도 4를 참조하면, 프로세서(110)는, 은행 서버(400)로부터 인증 정보 사용 요청을 받은 생체 인증 서버(300)로부터 특정 사용자의 public key가 획득되면, 상기 public key의 등록 여부를 확인할 수 있다(S408). 4, the processor 110 can confirm whether or not the public key is registered when a public key of a specific user is obtained from the biometric authentication server 300 that received the authentication information use request from the bank server 400 (S408).

public key의 등록 여부를 확인하기 이전의 과정은 인증 정보를 생성하고 등록하는 과정, 인증 정보를 파기하는 과정과 유사하게 이루어지므로 중복 설명은 생략한다. The process before confirming whether or not the public key is registered is similar to the process of generating and registering the authentication information and discarding the authentication information, so that redundant explanation is omitted.

통신부(120)는, 상기 확인 결과, 상기 public key가 미등록 상태이면(S410), 사용할 수 있는 인증 정보가 없는 것이므로 error 메시지를 생체 인증 서버(300)에 전송한다(S412). 이 경우, 생체 인증 서버(300)는 은행 서버(400)로 error 메시지를 전달하고, 은행 서버(400)는 사용자 단말(500)로 error 메시지를 전달할 수 있다. If the public key is unregistered (S410), the communication unit 120 transmits an error message to the biometric authentication server 300 (S412) because there is no authentication information available. In this case, the biometric authentication server 300 may transmit an error message to the bank server 400, and the bank server 400 may transmit an error message to the user terminal 500.

통신부(120)는, 상기 확인 결과, 상기 public key가 등록 상태이면, 상기 특정 사용자의 public key를 상기 생체 인증 서버(300)에 전송하거나(S428) 상기 생체 인증 서버(300)가 관리하고 있는 상기 특정 사용자의 public key를 사용하도록 하여 (i) 상기 생체 인증 서버(300)가 random nonce를 생성하고, (ii) 상기 특정 사용자의 생체 정보가 획득되면, 상기 random nonce를 상기 특정 사용자의 생체 정보에 대응되는 private key로 서명한 값을 상기 특정 사용자의 public key를 이용하여 검증하며(S438), (iii) 상기 검증 결과에 대한 메시지를 상기 은행 서버(400)로 전송하도록 지원할 수 있다(S444). If the public key is registered, the communication unit 120 transmits the public key of the specific user to the biometric authentication server 300 in step S428. If the public key is registered in the public key of the biometric authentication server 300, (I) the biometric authentication server 300 generates a random nonce, and (ii) when the biometric information of the specific user is obtained, the random nonce is added to the biometric information of the specific user (S444), and (iii) a message about the verification result is transmitted to the bank server 400 (S444). The signature of the corresponding private key may be verified using the public key of the specific user.

좀더 구체적으로 설명하면, 통신부(120)는, 상기 확인 결과, 상기 public key가 등록 상태이면, 상기 특정 사용자의 public key를 상기 생체 인증 서버(300)에 전송하거나(S428) 상기 생체 인증 서버(300)가 관리하고 있는 상기 특정 사용자의 public key를 사용하도록 할 수 있고, 생체 인증 서버(300)는 random nonce를 생성할 수 있다. 생체 인증 서버(300)는 생성된 random nonce를 은행 서버(400)로 전달할 수 있다(S430). 은행 서버(400)는 전달받은 random nonce를 사용자 단말(500)로 전달할 수 있다(S432). 사용자 단말(500)은 random nonce를 전달받은 후, 상기 특정 사용자의 생체 정보를 획득할 수 있고(예를 들어, 지문 입력을 받는 과정이 이루어질 수 있다.), 사용자 단말(500)은 상기 random nonce를 상기 특정 사용자의 생체 정보에 대응되는 private key로 서명하여 다시 은행 서버(400)로 전달할 수 있다(S434). 은행 서버(400)는 전달받은 상기 random nonce를 상기 특정 사용자의 생체 정보에 대응되는 private key로 서명한 값을 다시 생체 인증 서버(300)로 전달한다(S436). 생체 인증 서버(300)는 상기 random nonce를 상기 특정 사용자의 생체 정보에 대응되는 private key로 서명한 값을 상기 특정 사용자의 public key를 이용하여 검증한다(S438). 검증 결과가 참이 아니면(S440), 생체 인증 서버(300)는 상기 특정 사용자가 입력한 생체 정보가 맞지 않음을 나타내는 메시지를 전송할 수 있다(S442). 이 메시지는 은행 서버(400)를 통해 최종적으로 사용자 단말(500)에 전달된다. 반면, 검증 결과가 참이면, 생체 인증 서버(300)는 검증이 성공했음을 나타내는 메시지를 전송할 수 있으며, 로그인이 정상적으로 수행되도록 할 수 있다(S444). 참고로 사용자의 생체 정보는, 홍채 정보, 지문 정보, 안면 정보 중 적어도 일부일 수 있다. If the public key is registered, the communication unit 120 transmits the public key of the specific user to the biometric authentication server 300 (S428), and transmits the public key of the specific user to the biometric authentication server 300 The biometric authentication server 300 can use the public key of the specific user managed by the biometric authentication server 300, and the biometric authentication server 300 can generate the random nonce. The biometric authentication server 300 can forward the generated random nonce to the bank server 400 (S430). The bank server 400 may forward the received random nonce to the user terminal 500 (S432). After receiving the random nonce, the user terminal 500 can acquire the biometric information of the specific user (for example, a fingerprint input process can be performed), and the user terminal 500 transmits the random non- Signed with the private key corresponding to the biometric information of the specific user, and may transmit the signed signature to the bank server 400 (S434). The bank server 400 transmits a value obtained by signing the received random nonce to a private key corresponding to the biometric information of the specific user, to the biometric authentication server 300 (S436). The biometric authentication server 300 verifies the value obtained by signing the random nonce with the private key corresponding to the biometric information of the specific user using the public key of the specific user at step S438. If the verification result is not true (S440), the biometric authentication server 300 can transmit a message indicating that the biometric information input by the specific user is not suitable (S442). This message is finally transmitted to the user terminal 500 through the bank server 400. On the other hand, if the verification result is true, the biometric authentication server 300 can transmit a message indicating that the verification is successful and can perform the login normally (S444). For reference, the user's biometric information may be at least a part of iris information, fingerprint information, and face information.

다만, 이와 같은 작업을 수행하기에 앞서, 통신부(120)는, 인증 정보의 상태 정보를 확인하고 에러 메시지를 전송할 수도 있다. 즉, public key의 등록 여부 확인 결과, 상기 public key가 등록 상태이면, 통신부(120)는, 상기 public key에 대응되는 transaction ID를 이용하여 상기 데이터베이스(200)로부터 상기 transaction ID에 대응되는 상기 특정 transaction의 출력값으로서 public key 및 인증서의 상태 정보를 획득하고(S416), 상기 데이터베이스(200)로부터 획득된 public key가 상기 생체 인증 서버(300)로부터 획득된 public key와 대응되지 않거나(S420) 상기 인증 정보의 상태 정보를 참조한 결과 상기 인증 정보가 소정의 상태인 것으로 판단되면(S424), 상기 생체 인증 서버(300)에 에러 메시지를 전송할 수 있다(S422, S426). 에러 메시지는 은행 서버(400)를 거쳐 사용자 단말(500)로 전달된다. 상기 상태는 파기 상태 또는 계약의 소정의 조건을 만족하는 상태일 수 있다. However, prior to performing such an operation, the communication unit 120 may check the status information of the authentication information and transmit an error message. That is, if it is determined that the public key is registered, the communication unit 120 receives the transaction ID corresponding to the transaction ID from the database 200 using the transaction ID corresponding to the public key, The public key obtained from the database 200 does not correspond to the public key obtained from the biometric authentication server 300 at step S420, It is possible to transmit an error message to the biometric authentication server 300 (S422, S426) if it is determined that the authentication information is in a predetermined state (S424). The error message is transmitted to the user terminal 500 via the bank server 400. The state may be a state of being destroyed or satisfying a predetermined condition of the contract.

도 5는 본 발명의 또 다른 실시예에 따른 거래시 인증 정보를 사용하는 과정을 도시한 시퀀스다이어그램이다.FIG. 5 is a sequence diagram illustrating a process of using authentication information in a transaction according to another embodiment of the present invention.

도 5를 참조하면, 프로세서(110)는, 은행 서버(400)로부터 인증 정보 사용 요청을 받은 생체 인증 서버(300)로부터 특정 사용자의 public key가 획득되면, 상기 public key의 등록 여부를 확인할 수 있다(S514). 5, when the public key of a specific user is obtained from the biometric authentication server 300 that receives the authentication information use request from the bank server 400, the processor 110 can confirm whether or not the public key is registered (S514).

public key의 등록 여부를 확인하기 이전의 과정은 인증 정보를 생성하고 등록하는 과정, 인증 정보를 파기하는 과정과 유사하게 이루어질 수 있으므로 중복 설명은 생략한다. The process before confirming whether or not the public key is registered may be similar to the process of generating and registering the authentication information and discarding the authentication information, so redundant description will be omitted.

상기 확인 결과, 상기 public key가 미등록 상태이면(S516), 상기 통신부(120)는, 상기 생체 인증 서버(300)로 등록되지 않은 public key임을 나타내는 에러 메시지를 전송할 수 있다(S518). 에러 메시지는 은행 서버(400)를 거쳐 사용자 단말(500)로 전달될 수 있다. If the public key is unregistered (S516), the communication unit 120 may transmit an error message indicating that the public key is not registered in the biometric authentication server 300 (S518). The error message may be communicated to the user terminal 500 via the bank server 400.

반면, 상기 확인 결과, 상기 public key가 등록 상태이면, 통신부(120)는, 상기 특정 사용자의 public key를 상기 생체 인증 서버(300)에 전송하거나(S534) 상기 생체 인증 서버(300)가 관리하고 있는 상기 특정 사용자의 public key를 사용하도록 하여 (i) 상기 생체 인증 서버(300)가, 거래 정보의 해쉬값(Thash) 또는 이를 가공한 값을 상기 특정 사용자의 생체 정보에 대응되는 private key로 서명한 값을 상기 특정 사용자의 public key를 이용하여 검증하며(S536), (ii) 상기 검증 결과에 대한 메시지를 상기 은행 서버(400)로 전송하도록 지원할 수 있다(S538, S540). If the public key is registered, the communication unit 120 transmits the public key of the specific user to the biometric authentication server 300 (S534), and the biometric authentication server 300 manages the public key of the specific user (I) the biometric authentication server 300 transmits a hash value (Thash) of the transaction information or a value obtained by processing the processed value to a private key corresponding to the biometric information of the specific user (S536), and (ii) a message about the verification result to the bank server 400 (S538, S540).

좀더 구체적으로 설명하면, 은행 서버(400)는 거래 정보의 해쉬값(Thash=hash(Transaction)) 또는 이를 가공한 값을 생성할 수 있고(S504), 이를 사용자 단말(500)에 전달할 수 있다(S506). 이때, 특정 사용자의 생체 정보가 획득되면, 사용자 단말(500)은 거래 정보의 해쉬값(Thash) 또는 이를 가공한 값을 상기 특정 사용자의 생체 정보에 대응되는 private key로 서명한 값(A)을 은행 서버(400)로 전송할 수 있다(S508). 그리고, 은행 서버(400)는 상기 A를 생체 인증 서버(300)로 전송할 수 있다. 이 때, 특정 사용자의 public key, Thash, Idhash 등이 함께 전달될 수 있다. 물론, 특정 사용자의 public key, Idhash 등은 이전에 전송이 이루어질 수도 있다. 즉, 도 5에 도시된 것처럼 생체 인증 서버(300)에 Thash와 Idhash가 함께 전달이 이루어지고, 생체 인증 서버(300)에서 인증 지원 서버(100)로 public key와 Idhash의 전달이 이루어진 후 public key의 등록 확인이 이루어질 수도 있으나, Thash의 생성과 전달은 public key 전달 및 등록 확인, Idhash 전달과는 별도로 이루어질 수도 있다. More specifically, the bank server 400 may generate a hash value (Thash = hash (Transaction)) of transaction information or a processed value thereof (S504), and may transmit it to the user terminal 500 S506). At this time, when the biometric information of a specific user is acquired, the user terminal 500 transmits a hash value (Thash) of the transaction information or a processed value thereof to a value (A) obtained by signing with a private key corresponding to the biometric information of the specific user To the bank server 400 (S508). Then, the bank server 400 can transmit the A to the biometric authentication server 300. At this time, the public key, Thash, Idhash, etc. of a specific user can be transmitted together. Of course, the public key, Idhash, etc. of a particular user may be transferred before. 5, Thash and Idhash are transmitted together with the biometric authentication server 300. After the public key and the Idhash are transmitted from the biometric authentication server 300 to the authentication support server 100, , But the generation and delivery of the Thash may be performed separately from the transmission of the public key, the registration confirmation, and the transfer of the Idhash.

한편, 상기 (ii)에서, 상기 검증 결과가 거짓이면(S538), 상기 통신부(120)는, 상기 특정 사용자가 입력한 생체 정보가 맞지 않음을 나타내는 메시지를 전송할 수 있다(S540). 상기 메시지는 은행 서버(400)를 거쳐 사용자 단말(500)에 전달된다. If the verification result is false (S538), the communication unit 120 may transmit a message indicating that the biometric information input by the specific user does not match (S540). The message is delivered to the user terminal 500 via the bank server 400.

다만, 이와 같은 작업을 수행하기에 앞서, 통신부(120)는, 인증 정보의 상태 정보를 확인하고 에러 메시지를 전송할 수도 있다. 즉, public key의 등록 여부 확인 결과, 상기 public key가 등록 상태이면, 상기 public key에 대응되는 transaction ID를 이용하여 데이터베이스(200)로부터 상기 transaction ID에 대응되는 상기 특정 transaction의 출력값으로서 public key 및 인증 정보의 상태 정보를 획득하고(S522), 상기 데이터베이스(200)로부터 획득된 public key가 상기 생체 인증 서버(300)로부터 획득된 public key와 대응되지 않거나(S526) 상기 인증 정보의 상태 정보를 참조한 결과 상기 인증 정보가 소정의 상태인 것으로 판단되면(S530), 상기 생체 인증 서버(300)에 에러 메시지를 전송할 수 있다(S528, S532). 에러 메시지는 은행 서버(400)를 거쳐 사용자 단말(500)에 전달된다. 상기 상태는 파기 상태 또는 계약 상의 소정의 조건을 만족하는 상태일 수 있다. However, prior to performing such an operation, the communication unit 120 may check the status information of the authentication information and transmit an error message. That is, if it is determined that the public key is registered, if the public key is registered, the public key and the public key are used as output values of the specific transaction corresponding to the transaction ID from the database 200 using the transaction ID corresponding to the public key (S522). If the public key obtained from the database 200 does not correspond to the public key obtained from the biometric authentication server 300 (S526), the state information of the authentication information is referred to If it is determined that the authentication information is in a predetermined state (S530), an error message may be transmitted to the biometric authentication server 300 (S528, S532). The error message is delivered to the user terminal 500 via the bank server 400. The state may be a state that satisfies a predetermined condition in a contracted state or contract.

한편, 통신부(120)는, 상기 거래 정보의 해쉬값 또는 이를 가공한 값을 상기 private key로 서명한 값(X1) 또는 이에 대한 해쉬값(X2)을 상기 데이터베이스(200)에 기록하도록 전송할 수 있다(S544). 이는 거래시 부인 방지를 위해 거래 정보를 데이터베이스(200)에 기록하는 것이다. The communication unit 120 may transmit the hash value of the transaction information or a value obtained by signing the hash value of the transaction information or the processed value with the private key to record the value X1 or the hash value X2 thereof in the database 200 (S544). This is to record the transaction information in the database 200 for the purpose of preventing non-repudiation at the time of transaction.

통신부(120)는, 상기 X1 또는 X2가 상기 데이터베이스(200) 상에 기록된 위치 정보를 나타내는 transaction ID를 획득하고(S546), 상기 획득된 transaction ID를 상기 생체 인증 서버(300)로 전송할 수 있다(S548). transaction ID는 은행 서버(400)를 거쳐 사용자 단말(500)로 전달될 수 있다. The communication unit 120 may obtain the transaction ID indicating the location information recorded on the database 200 by the X1 or X2 in operation S546 and may transmit the obtained transaction ID to the biometric authentication server 300 (S548). The transaction ID may be transferred to the user terminal 500 via the bank server 400.

이상과 같은 본 발명의 다양한 실시예에 따른 인증 지원 서버(100)는 생체 인증 기술에 블록체인 기술을 접목시켜 PKI 기반으로 인증서를 생성하고 블록체인 상에 등록하여 사용 및 관리할 수 있는 기술을 제공한다. The authentication support server 100 according to various embodiments of the present invention combines a block-chaining technology with a biometric authentication technology to generate a certificate based on a PKI, registers it on a block chain, and can use and manage the certificate do.

한편, 인증 정보를 등록할 필요가 있는 모든 경우에 데이터베이스(200)에 접근하여 기록을 하는 것은 비효율적일 수 있다. 특히, transaction 요청이 많아졌을 때, 서비스 제공의 bottle neck 현상이 발생될 수 있고, 매번 transaction fee를 지불해야 하므로 서비스 운영에 많은 비용이 들 수 있는 우려가 있다.On the other hand, it is inefficient to access and record the database 200 in all cases where authentication information needs to be registered. Especially, when there are many transaction requests, bottleneck phenomenon of service provision may occur and there is a concern that the transaction fee may be paid for each time a service operation is costly.

이하에서는 위/변조가 불가능하고 실시간으로 인증 정보를 등록할 수 있는 장점을 살리면서도 서비스 요청이 몰릴 경우에도 빠른 서비스 속도를 보장하고 비용도 절감할 수 있는 인증 정보를 등록 및 파기할 수 있는 시스템을 설명한다. 이러한 시스템은 전술한 실시예와 달리 인증 지원 서버(100)에 의해 관리되는 별도의 데이터 구조를 이용한다. 이하에서 설명하는 인증 지원 서버는 전술한 인증 지원 서버(100)와 별도의 장치로 구성될 수도 있으나, 설명의 편의를 위해 동일한 장치인 것으로 설명한다. Hereinafter, a system capable of registering and destroying authentication information capable of reducing the cost and speeding up the service even when the service request is made while taking advantage of the fact that the authentication information can be registered in real time, Explain. This system uses a separate data structure managed by the authentication support server 100, unlike the above-described embodiment. The authentication support server described below may be configured as a separate apparatus from the authentication support server 100, but will be described as the same apparatus for convenience of explanation.

전술한 실시예와 마찬가지로 통신부(120)는 인증 정보에 대한 등록 요청을 받은 생체 인증 서버(300)로부터 (i) 특정 사용자의 public key 및 (ii) 상기 특정 사용자 정보의 해쉬값 또는 이를 가공한 값을 획득할 수 있다. The communication unit 120 acquires, from the biometric authentication server 300 that received the registration information for the authentication information, the public key of the specific user and (ii) the hash value of the specific user information or the value Can be obtained.

이때, 상기 특정 사용자의 public key는 사용자 단말(500)에서 생성되어 은행 서버(400)에 전달되고, 상기 특정 사용자가 인증되어 상기 은행 서버(400)로부터 상기 특정 사용자 정보의 해쉬값인 Uhash가 상기 생체 인증 서버(300)에 전송되면, 상기 생체 인증 서버(300)로부터 (i) 상기 public key 및 (ii) 상기 Uhash 또는 상기 Uhash를 가공한 값이 상기 인증 지원 서버(100)로 전송될 수 있다(도 2 및 이에 대한 설명 참조). 특정 사용자의 인증 방법에 대해서는 전술한 실시예에서 설명했으므로 중복 설명은 생략한다. Uhash를 이용하여 user id가 생성되는 경우, Uhash 대신에, 상기 user id 및 상기 Uhash의 해쉬값인 Idhash가 전송될 수도 있다. Idhash는 SHA256hash일 수 있다. 또한, 전술한 실시예와 마찬가지로 Uhash를 가공한 값은, 상기 Uhash를 이용하여 user id가 생성되는 경우, 상기 user id 및 상기 Uhash의 해쉬값인 Idhash일 수 있다.At this time, the public key of the specific user is generated in the user terminal 500 and transmitted to the bank server 400. When the specific user is authenticated and the hash value Uhash of the specific user information is received from the bank server 400, A value obtained by processing (i) the public key and (ii) the Uhash or the Uhash may be transmitted to the authentication support server 100 from the biometric authentication server 300 (See FIG. 2 and the description thereof). Since the authentication method of a specific user has been described in the above-mentioned embodiment, redundant description will be omitted. When a user id is generated using Uhash, the user id and the hash value Idhash of the Uhash may be transmitted instead of Uhash. Idhash can be SHA256hash. Also, the value obtained by processing Uhash may be Idhash, which is the hash value of the user id and the Uhash when the user id is generated using the Uhash, as in the above-described embodiment.

프로세서(110)는, 상기 (i) 특정 사용자의 public key 및 (ii) 상기 특정 사용자 정보의 해쉬값 또는 이를 가공한 값이 획득되면, 상기 public key의 등록 여부를 확인할 수 있다. 그리고, 상기 확인 결과, 상기 public key가 미등록 상태이고 소정의 앵커링 조건이 만족되면, 특정 해쉬값 - 상기 특정 해쉬값은, (i) 상기 특정 사용자의 public key 및 (ii) 상기 특정 사용자 정보의 해쉬값 또는 이를 가공한 값에 대한 해쉬값임 - 및 상기 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 생성되는 대표 해쉬값 또는 상기 대표 해쉬값을 가공한 값을 소정의 데이터 구조로서 데이터베이스(200)에 등록하거나 등록하도록 지원할 수 있다. The processor 110 can confirm whether or not the public key is registered when the (i) public key of the specific user and (ii) the hash value of the specific user information or the processed value are obtained. If the public key is in the unregistered state and the predetermined anchoring condition is satisfied, the specific hash value (i) the public key of the specific user and (ii) the hash of the specific user information Or a value obtained by processing the representative hash value or the representative hash value generated by calculating at least one neighboring hash value matching the specific hash value with a predetermined data structure, 200). ≪ / RTI >

특정 해쉬값과 적어도 하나의 이웃 해쉬값의 연산은 다양한 함수에 의해 수행될 수 있다. 특정 해쉬값을 input 이라고 나타내고, 적어도 하나의 이웃 해쉬값을 x1, x2, …, xn이라고 나타낼 때, 대표 해쉬값 t는 다음 수학식과 같이 나타낼 수 있다.The computation of a particular hash value and at least one neighbor hash value may be performed by various functions. A particular hash value is denoted as input, and at least one neighboring hash value is denoted by x1, x2, ... , xn, the representative hash value t can be expressed by the following equation.

<수학식>&Lt; Equation &

t = hash(function(input, x1, x2, …, xn))t = hash (function (input, x1, x2, ..., xn))

이때 인증 지원 서버(100)는 상기 특정 해쉬값과 상기 적어도 하나의 이웃 해쉬값을 소정의 데이터 구조로 저장하여 관리할 수 있다. 여기서, 데이터 구조는 다양할 수 있는데, 일 예로 머클 트리(merkle tree) 구조가 될 수도 있다. 이 경우, 상기 특정 해쉬값과 적어도 하나의 이웃 해쉬값의 연산은 머클 트리(merkle tree)를 통해 이루어질 수 있다. At this time, the authentication support server 100 may store and manage the specific hash value and the at least one neighbor hash value in a predetermined data structure. Here, the data structure may be various, for example, a merkle tree structure. In this case, the calculation of the specific hash value and the at least one neighbor hash value may be performed through a merkle tree.

즉, 프로세서(110)는 상기 특정 해쉬값이 특정 리프 노드에 할당된 머클 트리(merkle tree)를 생성하거나 생성하도록 지원할 수 있고, 상기 확인 결과, 상기 public key가 미등록 상태이고 상기 소정의 앵커링 조건이 만족되면, 상기 특정 해쉬값과 매칭되는 적어도 하나의 다른 리프 노드에 할당된 해쉬값을 연산하여 생성되는 상기 대표 해쉬값 또는 상기 대표 해쉬값을 가공한 값을 데이터베이스(200)에 등록하거나 등록하도록 지원할 수 있다. That is, the processor 110 can support the generation or generation of a merkle tree assigned to a particular leaf node, and if the public key is not yet registered and the predetermined anchoring condition If it is satisfied, the representative hash value or the representative hash value generated by computing the hash value assigned to at least one other leaf node matching the specific hash value is registered or registered in the database 200 .

좀더 구체적으로 설명하면, 이 경우 (x1) 프로세서(110)는, (i) 상기 특정 해쉬값과 (ii) 상기 특정 해쉬값이 할당된 노드의 형제 노드에 할당된 해쉬값을 연산하거나 연산하도록 지원하고, 상기 연산값에 대한 해쉬값을 상기 노드의 부모 노드에 할당하거나 할당하도록 지원할 수 있다. (x2) 만일, 상기 부모 노드가 상기 머클 트리의 루트 노드이면, 상기 부모 노드에 할당된 해쉬값이 상기 대표 해쉬값이 된다. (x3) 반면, 상기 부모 노드가 상기 머클 트리의 루트 노드가 아니면, 프로세서(110)는, 상기 부모 노드에 할당된 해쉬값을 상기 특정 해쉬값으로 하여 상기 (x1) 내지 (x3)를 반복하여 수행한다. More specifically, in this case (x1), the processor 110 is configured to (i) calculate or calculate the hash value assigned to the sibling node of the node to which the specific hash value is assigned and (ii) And to assign or assign a hash value for the computed value to the parent node of the node. (x2) If the parent node is the root node of the merge tree, the hash value assigned to the parent node is the representative hash value. (x3). On the other hand, if the parent node is not the root node of the merge tree, the processor 110 repeats the above (x1) to (x3) with the hash value assigned to the parent node as the specific hash value .

그리고, 프로세서(110)는 최종적으로 머클 트리의 루트 노드에 할당된 해쉬값을 대표 해쉬값으로서 데이터베이스(200)에 등록하거나 등록하도록 지원한다. 이때, 대표 해쉬값을 가공한 값이 등록될 수도 있다. 예를 들어, 대표 해쉬값에 hex 연산이 수행된 결과값이 등록될 수 있다. The processor 110 finally registers or registers the hash value assigned to the root node of the merge tree as a representative hash value in the database 200. At this time, a value obtained by processing the representative hash value may be registered. For example, the result of performing the hex operation on the representative hash value can be registered.

한편, 상기 인증 지원 서버(100)가 상기 특정 해쉬값과 상기 적어도 하나의 이웃 해쉬값을 소정의 제1 데이터 구조로 저장하고, 이후 상기 제1 데이터 구조와 동일한 형태의 제2 데이터구조를 저장하여 관리하는 경우, 상기 제1 데이터 구조와 상기 제2 데이터 구조는 체인 형태로 연결될 수 있다. Meanwhile, the authentication support server 100 stores the specific hash value and the at least one neighbor hash value in a predetermined first data structure, and then stores a second data structure of the same type as the first data structure In case of managing, the first data structure and the second data structure may be connected in a chain form.

특히, 상술한 예에서와 같이 상기 제1 데이터 구조 및 상기 제2 데이터 구조가 머클 트리인 경우, 상기 제1 데이터 구조의 루트값 또는 상기 루트값의 해쉬값이 상기 제2 데이터 구조의 첫번째 리프 노드에 할당될 수 있다. 또한, 제2 데이터 구조를 생성할 때는 제1 데이터 구조에 대한 검증이 이루어짐으로써 데이터 integrity가 좀더 보장될 수 있다. In particular, as in the above example, if the first data structure and the second data structure are merc trees, the root value of the first data structure or the hash value of the root value may be the first leaf node of the second data structure Lt; / RTI &gt; In addition, when the second data structure is created, verification of the first data structure is performed, so that data integrity can be further guaranteed.

또한, 체인 형태로 연결된 적어도 하나의 머클 트리 중 첫번째 머클 트리의 경우, 상기 첫번째 머클 트리의 첫번째 리프 노드에는 텍스트, 숫자, 또는 기호로 이루어진 소정의 메시지 데이터의 해쉬값 또는 이를 가공한 값이 할당될 수 있다. 예를 들어, 머클 트리 생성시 인증 지원 서버(100)에 의해 최초로 부여된 입력 메시지의 해쉬값이 할당될 수 있다. In addition, in the case of the first merge tree among the at least one merge tree connected in a chain form, the first leaf node of the first merge tree is assigned a hash value of a predetermined message data composed of text, numbers, or symbols or a processed value thereof . For example, a hash value of an input message initially assigned by the authentication support server 100 can be assigned when generating a merge tree.

도 6 및 7은 본 발명의 일 실시예에 따라 생성된 머클 트리의 예를 도시한 도면이다.6 and 7 are diagrams illustrating examples of a merge tree generated according to an embodiment of the present invention.

도 6에서는 리프 노드의 개수가 4(22)개인 머클 트리가 도시된다. 도시된 머클 트리는 첫번째 머클 트리이기 때문에(tree_id=0), 첫번째 리프 노드인 h1 노드에는 소정의 메시지 데이터 “Coinplug 2016-01-01”의 해쉬값(triplesha256digest(coinplug_unique_message))이 할당되었음을 알 수 있다. 인증 정보에 대한 등록 요청이 있는 경우, 프로세서(110)는 현재 구성 중인 머클 트리의 가장 마지막 리프 노드의 다음 리프 노드를 생성하여 (i) 특정 사용자의 public key 및 (ii) 상기 특정 사용자 정보의 해쉬값 또는 이를 가공한 값의 해쉬값(특정 해쉬값) 또는 이를 가공한 값을 할당하거나 할당하도록 지원한다. 예를 들어, 도 6의 머클 트리에서 이전 단계에서 두번째 리프 노드인 h1 노드까지 값 할당이 완료된 경우, 다음 리프 노드인 h2 노드를 생성하여 특정 해쉬값 또는 특정 해쉬값을 가공한 값(triplesha256digest(input2))을 할당할 수 있다. 또한, 프로세서(110)는 (i) 특정 해쉬값과 (ii) 상기 특정 해쉬값이 할당된 세번째 리프 노드인 h2 노드의 형제 노드인 h3 노드에 할당된 해쉬값을 연산하거나 연산하도록 지원할 수 있다. 상기 연산값에 대한 해쉬값은 h2 노드와 h3 노드의 부모 노드(h23 노드)에 할당된다. 부모 노드(h23 노드)가 머클 트리의 루트 노드가 아니므로 프로세서(110)는 상기 h23 노드에 할당된 해쉬값을 상기 특정 해쉬값으로 하여 상기 과정을 반복하여 수행할 수 있다. 즉, h23 노드에 할당된 해쉬값을 특정 해쉬값으로 하고, h23 노드에 할당된 해쉬값과 h01 노드에 할당된 해쉬값을 연산하여 h23 노드와 h01 노드의 부모 노드(h0123 노드)에 할당할 수 있다. 이때, h0123 노드가 머클 트리의 루트 노드이므로 프로세서(110)는, h0123 노드에 할당된 해쉬값을 가공한 값(hex(h{node_index}))을 데이터베이스(200)에 등록하거나 등록하도록 지원할 수 있다. FIG. 6 shows a merge tree having 4 (2 2 ) leaf nodes. Since the illustrated merge tree is the first merge tree (tree_id = 0), it can be seen that the hash value (triplesha256digest (coinplug_unique_message)) of the predetermined message data "Coinplug 2016-01-01" is assigned to the first leaf node h1. If there is a registration request for the authentication information, the processor 110 creates the next leaf node of the last leaf node of the currently configured member tree to generate a leaf node of (i) a public key of the specific user and (ii) Value or a hash value (a specific hash value) of the processed value or a processed value thereof. For example, when the value assignment from the previous step to the h1 node as the second leaf node is completed in the merge tree of FIG. 6, the next leaf node h2 is created and the value obtained by processing a specific hash value or a specific hash value (triplesha256digest (input2 )). The processor 110 may also support computing or computing a hash value assigned to (i) a particular hash value and (ii) the h3 node, which is the sibling node of the h2 node, which is the third leaf node to which the particular hash value is assigned. The hash value for the computed value is assigned to the h2 node and the parent node (h23 node) of the h3 node. Since the parent node (h23 node) is not the root node of the merge tree, the processor 110 may repeat the above process with the hash value assigned to the h23 node as the specific hash value. That is, the hash value assigned to the h23 node is set as a specific hash value, and the hash value assigned to the h23 node and the hash value assigned to the h01 node are calculated and assigned to the h23 node and the parent node (h0123 node) of the h01 node have. At this time, since the h0123 node is the root node of the merge tree, the processor 110 can support registration or registration of a value (hex (h {node_index})) obtained by processing the hash value assigned to the node h0123 in the database 200 .

한편, 전술한 소정의 앵커링 조건이란, (i) 소정의 개수만큼의 (i-1) 상기 특정 사용자의 public key 및 (i-2) 상기 특정 사용자 정보의 해쉬값 또는 이를 가공한 값이 획득되는 조건, (ii) 소정 시간이 경과하는 조건, (iii) 블록 체인에서 블록이 생성되는 조건, (iv) 서비스 특성에 대한 조건 중 적어도 하나를 포함할 수 있다. On the other hand, the predetermined anchoring conditions are (i) a predetermined number of (i-1) public keys of the specific user and (i-2) hash values of the specific user information or values obtained by processing Condition, (ii) a condition that a predetermined time elapses, (iii) a condition in which a block is generated in a block chain, and (iv) a condition for a service characteristic.

예를 들어, 프로세서(110)는 소정 시간 단위로 전술한 머클 트리의 루트값을 생성할 수 있다(상기 (ii) 조건). 이 경우 프로세서(110)는 소정의 시간이 경과되면 그때까지의 입력값을 이용하여 머클 트리를 생성하고 머클 트리의 루트값을 데이터베이스(200)에 등록하거나 등록하도록 지원할 수 있다. For example, the processor 110 may generate the root value of the above mentioned muckree at predetermined time intervals (condition (ii) above). In this case, the processor 110 may generate a merge tree using the input values up to that time and register or register the root value of the merge tree in the database 200 when a predetermined time elapses.

그런데, 이 경우에는 소정 시간이 경과하였음에도 머클 트리의 특정 해쉬값이 할당된 노드의 형제 노드에 값이 할당되지 않을 수 있다. 이처럼 소정의 조건이 만족되었음에도 상기 특정 해쉬값이 할당된 노드의 형제 노드에 해쉬값이 할당되어 있지 않은 경우, 프로세서(110)는, 상기 형제 노드에 소정의 해쉬값을 할당하거나 할당하도록 지원하여 전술한 방식으로 머클 트리의 루트값이 산출되도록 할 수 있다. 예를 들어, 프로세서(110)는 상기 특정 해쉬값을 복제하여 상기 형제 노드에 할당하거나 할당하도록 지원할 수 있다. In this case, although a predetermined time has elapsed, a value may not be assigned to a sibling node of a node to which a particular hash value of the merge tree is assigned. If the hash value is not allocated to the sibling node of the node to which the specific hash value is allocated, the processor 110 supports the sibling node to allocate or assign a predetermined hash value to the sibling node, The route value of the merge tree can be calculated in one way. For example, the processor 110 may support copying and assigning or assigning the particular hash value to the sibling node.

한편, 상기 서비스 특성이란, 인증 정보 등록 요청을 한 사용자(회사)가 지급한 비용 정보, 인증 정보 등록이 이루어지는 시간대 정보, 인증 정보 등록 서비스가 이루어지는 지역 정보, 인증 정보 등록 요청을 한 회사 타입 정보 중 적어도 일부가 될 수 있다. 다만, 여기서 기재한 것에 한정할 것은 아니고, 통상적으로 인정되는 차등적 서비스가 제공될 수 있는 다양한 조건 정보를 포함할 수 있다. On the other hand, the service characteristics include the cost information paid by the user (company) who made the authentication information registration request, the time zone information in which the authentication information registration is performed, the area information in which the authentication information registration service is performed, At least in part. However, the present invention is not limited to the one described here, but may include various condition information that can be provided with a generally accepted differential service.

한편, 새로운 머클 트리 생성이 시작되고, 인증 정보의 등록 요청이 없는 상태에서 상기 소정의 조건(예를 들어, 시간 조건)이 만족되면, 상기 프로세서(110)는, 소정의 메시지 데이터(임의의 메시지 데이터)가 첫번째 리프 노드와 두번째 리프 노드에 할당된 머클 트리를 생성하거나 생성하도록 지원하고, 상기 머클 트리의 루트값 또는 이를 가공한 값을 데이터베이스(200)에 등록하거나 등록하도록 지원할 수 있다. 이 경우에는 리프 노드 2개짜리 머클 트리가 생성될 수 있는 것이다. 물론, 2개짜리로 한정되는 것은 아닐 것이다.On the other hand, when a new merge tree generation is started and the predetermined condition (e.g., time condition) is satisfied in a state where there is no registration request of authentication information, the processor 110 transmits predetermined message data Data) to create or generate a merge tree assigned to the first leaf node and the second leaf node, and to register or register the root value of the merge tree or the processed value in the database 200. In this case, a merge tree with two leaf nodes can be created. Of course, it is not limited to two.

한편, 전술한 것처럼 인증 지원 서버(100)가 상기 특정 해쉬값과 상기 적어도 하나의 이웃 해쉬값을 소정의 제1 데이터 구조로 저장하고, 이후 상기 제1 데이터 구조와 동일한 형태의 제2 데이터구조를 저장하여 관리하는 경우, 상기 제1 데이터 구조와 상기 제2 데이터 구조는 체인 형태로 연결될 수 있다. 특히, 상기 제1 데이터 구조 및 상기 제2 데이터 구조가 머클 트리인 경우, 상기 제1 데이터 구조의 루트값 또는 상기 루트값의 해쉬값이 상기 제2 데이터 구조의 첫번째 리프 노드에 할당될 수 있다. Meanwhile, as described above, the authentication support server 100 stores the specific hash value and the at least one neighbor hash value in a predetermined first data structure, and then stores a second data structure of the same type as the first data structure The first data structure and the second data structure may be connected in a chain form. In particular, if the first data structure and the second data structure are merc trees, a root value of the first data structure or a hash value of the root value may be assigned to a first leaf node of the second data structure.

도 7은 본 발명의 일 실시예에 따라 상기 제2 데이터 구조로서 생성된 머클 트리를 도시한 도면이다.FIG. 7 is a diagram illustrating a merge tree generated as the second data structure according to an embodiment of the present invention.

도 7을 참조하면, 도 6의 머클 트리(tree_id=0)의 루트값(hex(h0123))이 새로운 머클 트리의 첫번째 리프 노드(h4 노드)에 할당되었음을 알 수 있다(triplesha256digest(input4)). 본 발명은 이와 같이 트랜잭션 발생시 생성되는 복수의 데이터 구조를 연결함으로써 중간에 데이터가 변조가 발생되는 경우라도 쉽게 트래킹이 가능하여 데이터 integrity를 향상시키는 장점을 가진다. Referring to Fig. 7, it can be seen that the root value (hex (h0123)) of the merge tree (tree_id = 0) of Fig. 6 is assigned to the first leaf node (h4 node) of the new merge tree (triplesha256digest (input4)). The present invention has an advantage of improving data integrity by enabling easy tracking even when data is modulated in the middle by connecting a plurality of data structures generated at the time of occurrence of a transaction.

한편, 상기 확인 결과, 상기 public key가 등록 상태이면, 이미 인증 정보가 등록되어 있다는 의미이므로, 통신부(120)는, 생체 인증 서버(300)에 error 메시지를 전송할 수 있다. error 메시지는 은행 서버(400)를 거쳐 사용자 단말(500)로 전달될 수 있다. 물론, 사용자 단말(500)로 직접 전달될 수도 있다. If it is determined that the public key is registered, the communication unit 120 can transmit an error message to the biometric authentication server 300 because it means that authentication information has already been registered. The error message may be communicated to the user terminal 500 via the bank server 400. Of course, it may also be delivered directly to the user terminal 500.

한편, 상기 특정 해쉬값은, (i) 상기 특정 사용자의 public key, (ii) 상기 특정 사용자 정보의 해쉬값 또는 이를 가공한 값 및 (iii) 소정의 액수의 가상 화폐에 대한 해쉬값일 수도 있다. 이 경우, (iii) 소정의 액수의 가상 화폐는 인증 정보에 대한 파기 여부를 나타내는데 사용될 수 있다. Meanwhile, the specific hash value may be a hash value of (i) a public key of the specific user, (ii) a hash value of the specific user information or a value obtained by processing the specific user information, and (iii) a predetermined amount of virtual money. In this case, (iii) a predetermined amount of virtual money can be used to indicate whether or not the authentication information is destroyed.

또한, 프로세서(110)는, 상기 특정 사용자 정보의 해쉬값 또는 이를 가공한 값, 상기 특정 사용자의 public key를 로컬 데이터베이스에 저장할 수 있다. In addition, the processor 110 may store a hash value of the specific user information or a processed value thereof, and a public key of the specific user in a local database.

통신부(120)는, 대표 해쉬값 또는 대표 해쉬값을 가공한 값이 데이터베이스(200) 상에 등록이 되면, 데이터베이스(200)상에 기록된 위치 정보를 나타내는 transaction ID를 획득하며, 상기 생체 인증 서버(300)에 (i) 상기 public key 및 (ii) 상기 해쉬값 또는 이를 가공한 값이 정상적으로 등록되었음을 알리는 메시지를 전달할 수 있다. 상기 메시지는 은행 서버(400)를 거쳐 사용자 단말(500)에 전달될 수 있다. 물론, 직접 사용자 단말(500)이나 은행 서버(400)로 전달될 수도 있다. When the value obtained by processing the representative hash value or the representative hash value is registered on the database 200, the communication unit 120 acquires a transaction ID indicating location information recorded on the database 200, (I) the public key and (ii) a message informing that the hash value or the processed value has been registered normally can be transmitted to the server 300. The message may be delivered to the user terminal 500 via the bank server 400. Of course, it may be directly transmitted to the user terminal 500 or the bank server 400.

이하에서는 인증 지원 서버(100)가 인증 정보에 대한 파기를 수행하는 방법에 대해서 설명한다. Hereinafter, a method of performing the destruction of the authentication information by the authentication support server 100 will be described.

전술한 실시예와 마찬가지로 통신부(120)는 인증 정보에 대한 파기 요청을 받은 생체 인증 서버(300)로부터 (i) 특정 사용자의 public key 및 (ii) 상기 특정 사용자 정보의 해쉬값 또는 이를 가공한 값을 획득한다. public key의 등록 여부를 확인하기 이전의 과정에 대해서는 전술하였으므로 중복 설명은 생략한다(도 3 및 이에 대한 설명 참조). As in the above-described embodiment, the communication unit 120 receives from the biometric authentication server 300 which received the revocation request for the authentication information a secret key of a specific user (i) a hash value of the specific user information or a value . Since the process of confirming whether or not the public key is registered has already been described above, the redundant explanation is omitted (refer to FIG. 3 and the description thereof).

프로세서(110)는, (i) 상기 특정 사용자의 public key 및 (ii) 상기 특정 사용자 정보의 해쉬값 또는 이를 가공한 값을 획득되면, 상기 public key의 등록 여부를 확인한다. 그리고, 상기 확인 결과, 상기 public key가 등록 상태이고, 소정의 앵커링 조건이 만족되면, 특정 해쉬값 - 상기 특정 해쉬값은, (i) 상기 특정 사용자의 public key 및 (ii) 상기 특정 사용자 정보의 해쉬값 또는 이를 가공한 값에 대한 해쉬값임 - 및 상기 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 생성되는 대표 해쉬값 또는 상기 대표 해쉬값을 가공한 값을 소정의 데이터 구조로서 데이터베이스(200)에 등록하거나 등록하도록 지원하여 상기 인증 정보에 대한 파기를 수행할 수 있다. The processor 110 confirms whether or not the public key is registered when (i) a public key of the specific user and (ii) a hash value of the specific user information or a processed value thereof. If the public key is in the registration state and the predetermined anchoring condition is satisfied as a result of the checking, the specific hash value - the specific hash value is (i) the public key of the specific user and (ii) A representative hash value generated by computing a hash value or a hash value for a value obtained by processing the hash value or the processed value and at least one neighbor hash value matched with the specific hash value or a value obtained by processing the representative hash value, The user terminal 200 can perform registration or registration of the authentication information and perform destruction of the authentication information.

이처럼 인증 정보에 대한 파기 과정은 전술한 인증 정보 등록 과정과 유사하게 이루어진다. 이 경우 구체적인 인증 정보에 대한 파기 과정은 인증 정보 등록 과정과 동일하므로 중복 설명은 생략한다. 또한, 소정의 데이터 구조는 전술한 바와 같이 머클 트리가 될 수 있다. 따라서, 특정 해쉬값이 상기 소정의 데이터 구조에 기록된 순서에 따라서 등록과 파기를 구분할 수 있다. 즉, 데이터 구조에 첫번째로 기록된 특정 해쉬값은 인증 정보의 등록을 나타내고, 두번째로 기록된 특정 해쉬값은 인증 정보의 파기를 나타낼 수 있다. The process of destroying the authentication information is similar to the process of registering the authentication information. In this case, the process of destroying the specific authentication information is the same as the process of registering the authentication information, so redundant description is omitted. Further, the predetermined data structure may be a merge tree as described above. Therefore, registration and destruction can be distinguished according to the order in which a particular hash value is recorded in the predetermined data structure. That is, the first hash value recorded in the data structure represents the registration of the authentication information, and the second recorded hash value represents the discard of the authentication information.

이 경우, 상기 획득된 (i) 상기 특정 사용자의 public key 및 (ii) 상기 특정 사용자 정보의 해쉬값 또는 이를 가공한 값이 기 등록된 소정의 값과 대응되는 경우, 상기 public key가 등록된 것으로 판단되어, 프로세서(110)가, 상기 소정의 앵커링 조건 만족 여부에 따라 상기 대표 해쉬값 또는 상기 대표 해쉬값을 가공한 값을 상기 데이터베이스(200)에 등록하거나 등록하도록 지원할 수 있다. In this case, if the obtained public key of the specific user and (ii) the hash value of the specific user information or the processed value correspond to a pre-registered value, the public key is registered And the processor 110 may register the representative hash value or the processed value of the representative hash value in the database 200 according to whether the predetermined anchoring condition is satisfied.

또한, 상기 public key의 등록 여부는 로컬 데이터베이스에서 확인할 수 있다. 즉, 상기 public key가 로컬 데이터베이스에 등록된 상태인 경우, 상기 소정의 앵커링 조건이 만족되면, 상기 프로세서(110)는, 상기 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값을 연산하여 생성되는 상기 대표 해쉬값 또는 상기 대표 해쉬값을 가공한 값을 상기 데이터베이스(120)에 등록하거나 등록하도록 지원하여 상기 인증 정보에 대한 파기를 수행할 수 있다. Whether or not the public key is registered can be confirmed in the local database. That is, when the public key is registered in the local database, if the predetermined anchoring condition is satisfied, the processor 110 generates the at least one neighboring hash value matching the specific hash value, A representative hash value or a value obtained by processing the representative hash value may be registered or registered in the database 120 to perform destruction of the authentication information.

특히, 상기 소정의 데이터구조가 머클 트리인 경우, (i) 상기 특정 사용자의 public key 및 (ii) 상기 특정 사용자 정보의 해쉬값 또는 이를 가공한 값이 머클 트리(merkle tree)의 소정의 리프 노드에 할당되어 등록된 상태인 경우, 상기 소정의 앵커링 조건이 만족되면, 상기 프로세서(110)는, 상기 특정 해쉬값과 매칭되는 적어도 하나의 다른 리프 노드에 할당된 해쉬값을 연산하여 생성되는 상기 대표 해쉬값 또는 상기 대표 해쉬값을 가공한 값을 상기 데이터베이스(200)에 등록하거나 등록하도록 지원하여 상기 인증 정보에 대한 파기를 수행할 수 있다. In particular, when the predetermined data structure is a merge tree, a public key of the specific user and (ii) a hash value of the specific user information or a value obtained by manipulating the hash value of the specific user information are transmitted to a predetermined leaf node of a merkle tree, When the predetermined anchoring condition is satisfied, the processor 110 generates a hash value assigned to at least one other leaf node matching the specific hash value, The hash value or the value obtained by processing the representative hash value is registered or registered in the database 200, thereby performing the destruction of the authentication information.

반면, 상기 public key가 미등록 상태이거나 머클 트리(merkle tree)의 적어도 두 개의 리프 노드에 할당되어 등록된 상태인 경우, 통신부(120)는, 상기 생체 인증 서버(300)에 에러 메시지를 전송할 수 있다. public key가 머클 트리(merkle tree)의 적어도 두 개의 리프 노드에 할당되어 등록된 경우에는 인증 정보에 대해 등록과 파기가 모두 이루어져 인증 정보가 현재 파기 상태이기 때문이다. 에러 메시지는 은행 서버(400)를 거쳐 사용자 단말(500)로 전달될 수 있다. On the other hand, if the public key is unregistered or registered in at least two leaf nodes of the merkle tree, the communication unit 120 may transmit an error message to the biometric authentication server 300 . If the public key is assigned to at least two leaf nodes of the merge tree, then registration and destruction are both performed on the authentication information, and the authentication information is currently in the destroyed state. The error message may be communicated to the user terminal 500 via the bank server 400.

이하에서는 상술한 인증 정보를 사용하여 로그인을 지원할 수 있는 인증 지원 장치(100)의 구성 및 동작을 설명한다. 이하에서 설명하는 인증 지원 서버는 전술한 인증 지원 서버(100)와 별도의 장치로 구성될 수도 있으나, 설명의 편의를 위해 동일한 장치인 것으로 설명한다.Hereinafter, the configuration and operation of the authentication support apparatus 100 capable of supporting log-in using the above-described authentication information will be described. The authentication support server described below may be configured as a separate apparatus from the authentication support server 100, but will be described as the same apparatus for convenience of explanation.

기존에 인증 지원 서버(100)가 제1 특정 해쉬값 및 상기 제1 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 생성되는 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값을 소정의 데이터 구조로서 데이터베이스(200)에 등록하고 있는 상태에서, 통신부(120)는, 인증 정보 사용 요청으로서 (1) 특정 사용자의 public key 및 (2) 상기 특정 사용자 정보의 해쉬값 또는 이를 가공한 값을 획득할 수 있다. 여기서, 제1 특정 해쉬값, 제1 대표 해쉬값은 전술한 특정 해쉬값, 대표 해쉬값에 대응된다.The authentication support server 100 has previously processed the first representative hash value or the first representative hash value generated by computing the first specific hash value and the at least one neighboring hash value matching the first specified hash value (1) a public key of a specific user, and (2) a hash value of the specific user information or a hash value of the specific user information in the state that the value is registered in the database 200 as a predetermined data structure. The processed value can be obtained. Here, the first specific hash value and the first representative hash value correspond to the aforementioned specific hash value and representative hash value.

한편, 상기 특정 사용자의 public key가 은행 서버(400)에 전달되고, 상기 특정 사용자가 인증되어 상기 은행 서버(400)로부터 특정 사용자 정보의 해쉬값인 Uhash가 상기 생체 인증 서버(300)에 전송되면, 상기 생체 인증 서버(300)로부터 (i) 상기 public key 및 (ii) 상기 Uhash 또는 상기 Uhash를 가공한 값이 상기 인증 지원 서버(100)로 전송될 수 있다. 이에 대해서는 전술한 실시예에서 설명하였으므로 중복 설명은 생략한다(도 4 및 이에 대한 설명 참조). Meanwhile, when the public key of the specific user is transmitted to the bank server 400, and the specific user is authenticated and the hash value Uhash of the specific user information is transmitted from the bank server 400 to the biometric authentication server 300 , A value obtained by processing (i) the public key and (ii) the Uhash or the Uhash from the biometric authentication server 300 may be transmitted to the authentication support server 100. [ Since this has been described in the above-described embodiment, redundant description is omitted (refer to FIG. 4 and the description thereof).

프로세서(110)는, 상기 (1) 및 (2)에 대한 해쉬값인 제2 특정 해쉬값 및 상기 제2 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값 - 상기 적어도 하나의 이웃 해쉬값은 상기 소정의 데이터 구조를 참조로 하여 결정됨 - 을 연산함으로써 생성되는 제2 대표 해쉬값 또는 상기 제2 대표 해쉬값을 가공한 값이 상기 데이터베이스(200)에 등록된 상기 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값과 대응되면, 상기 특정 사용자의 public key를 생체 인증 서버(300)에 전송하거나 상기 생체 인증 서버(300)가 관리하고 있는 상기 특정 사용자의 public key를 사용하도록 하여 (i) 상기 생체 인증 서버(300)가 random nonce를 생성하거나 생성하도록 지원하고, (ii) 상기 특정 사용자에 대한 로그인 행위로서 상기 특정 사용자의 생체 정보가 획득되면, 상기 random nonce를 상기 특정 사용자의 생체 정보에 대응되는 private key로 서명한 값을 상기 특정 사용자의 public key를 이용하여 검증하거나 검증하도록 지원하며, (iii) 상기 검증 결과에 대한 메시지를 전송하거나 전송하도록 지원할 수 있다. The processor 110 may further include: a second hash value that is a hash value for (1) and (2) and at least one neighbor hash value that matches the second specific hash value, The second representative hash value or the second representative hash value generated by computing the second representative hash value with reference to the predetermined data structure is stored in the first representative hash value or the first representative hash value registered in the database 200 If a value corresponding to the processed value of the representative hash value is found, the public key of the specific user is transmitted to the biometric authentication server 300 or the public key of the specific user managed by the biometric authentication server 300 is used (i ) Supporting the biometric authentication server 300 to generate or generate a random nonce, and (ii) if the biometric information of the specific user is acquired as a login operation for the specific user, Support to a value signed with private key verified using the public key of the specific user or verify the biometric information corresponding to a particular user and, (iii) can be supported so as to transmit or send the message to the verification result.

상기 (ii)에서, 상기 random nonce에 대해 사용자 단말(500)에 의해 상기 특정 사용자의 생체 정보에 대응되는 private key로 서명이 이루어져 은행 서버(400)를 거쳐 상기 생체 인증 서버(300)로 전달될 수 있다. In step (ii), the random nonce is signed by the private key corresponding to the biometric information of the specific user by the user terminal 500 and transmitted to the biometric authentication server 300 via the bank server 400 .

또한, 상기 (iii)에서 상기 검증 결과가 거짓이면, 상기 프로세서(110)는, 상기 특정 사용자가 입력한 생체 정보가 맞지 않아 로그인을 불허함을 나타내는 메시지를 전송하도록 지원할 수 있다.Also, if the verification result in step (iii) is false, the processor 110 can support the transmission of a message indicating that the biometrics information input by the specific user is not correct, indicating that the login is not permitted.

제2 특정 해쉬값에 대해서는 전술한 제1 특정 해쉬값에 대한 설명이 동일하게 적용될 수 있다. 즉, 제2 특정 해쉬값과 적어도 하나의 이웃 해쉬값의 연산은 다양한 함수에 의해 수행될 수 있다. 이에 대해서는 전술하였으므로 설명을 생략한다.For the second specific hash value, the description of the first specific hash value described above can be applied equally. That is, the operation of the second specific hash value and the at least one neighbor hash value can be performed by various functions. Since this has been described above, the explanation is omitted.

한편, 상기 제2 대표 해쉬값 또는 상기 제2 대표 해쉬값을 가공한 값이 상기 데이터베이스(200)에 등록된 상기 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값과 대응되지 않거나 로컬 데이터베이스에 저장된 상기 (1) 및 (2)에 대한 인증 정보의 상태 정보를 참조한 결과 상기 인증 정보가 소정의 상태인 것으로 판단되면, 상기 통신부(120)는 상기 생체 인증 서버(300)에 에러 메시지를 전송할 수 있다. 예를 들어, 상기 인증 정보가 파기 상태인 경우, 통신부(120)는 상기 생체 인증 서버(300)에 에러 메시지를 전송할 수 있다.If the value obtained by processing the second representative hash value or the second representative hash value does not correspond to the value obtained by processing the first representative hash value or the first representative hash value registered in the database 200, If it is determined that the authentication information is in a predetermined state as a result of referring to the state information of the authentication information for (1) and (2) stored in the database, the communication unit 120 transmits an error message to the biometric authentication server 300 Lt; / RTI &gt; For example, when the authentication information is in a destroyed state, the communication unit 120 may transmit an error message to the biometric authentication server 300. [

또한, 상기 (1) 및 (2)가 머클 트리(merkle tree)의 적어도 두 개의 리프 노드에 할당된 경우, 통신부(120)는, 이를 상기 인증 정보가 파기된 것으로 판단하여 상기 생체 인증 서버(300)에 에러 메시지를 전송할 수 있다. When the above-mentioned (1) and (2) are allocated to at least two leaf nodes of the merkle tree, the communication unit 120 determines that the authentication information has been destroyed and transmits the authentication information to the biometric authentication server 300 ). &Lt; / RTI &gt;

프로세서(110)는, 인증 정보 사용 요청이 획득되면, 소정의 transaction ID를 참조하고, 상기 transaction ID를 사용하여 상기 데이터베이스(200)로부터 OP 메시지를 획득하거나 획득하도록 지원할 수 있다. 또한, 상기 제2 대표 해쉬값 또는 상기 제2 대표 해쉬값을 가공한 값이 상기 OP 메시지에 포함된 상기 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값과 대응되면, 상기 특정 사용자의 public key를 상기 생체 인증 서버(300)에 전송하거나 상기 생체 인증 서버(300)가 관리하고 있는 상기 특정 사용자의 public key를 사용하도록 하여 상기 (i) 내지 (iii)을 수행할 수 있다. The processor 110 may refer to a predetermined transaction ID and acquire or obtain an OP message from the database 200 using the transaction ID when an authentication information use request is obtained. If the value obtained by processing the second representative hash value or the second representative hash value corresponds to the value obtained by processing the first representative hash value or the first representative hash value included in the OP message, (I) to (iii) by transmitting the public key of the biometric authentication server 300 to the biometric authentication server 300 or using the public key of the specific user managed by the biometric authentication server 300. [

한편, 상기 제2 대표 해쉬값은, 상기 제2 특정 해쉬값이 특정 리프 노드에 할당된 머클 트리(merkle tree)에서 상기 제2 특정 해쉬값 및 상기 제2 특정 해쉬값과 매칭되는 적어도 하나의 다른 리프 노드에 할당된 해쉬값을 연산하여 생성될 수 있다. The second representative hash value may be at least one other hash value that matches the second specific hash value and the second specific hash value in a merkle tree assigned to a particular leaf node. Can be generated by computing a hash value assigned to a leaf node.

상기 제2 대표 해쉬값 또는 상기 제2 대표 해쉬값을 가공한 값이 상기 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값과 대응되는지 확인하는 과정에서 프로세서(110)는 새로운 머클 트리를 생성하거나 생성하도록 지원할 수 있는데, 여기에는 전술한 인증 정보 등록 과정에서 생성된 머클 트리가 이용될 수 있다. 즉, 프로세서(110)는 (y1) (i) 상기 제2 특정 해쉬값과 (ii) 기존에 생성된 머클 트리에서 상기 제2 특정 해쉬값이 할당된 노드의 형제 노드에 할당된 해쉬값을 연산하거나 연산하도록 지원하고, 상기 연산값에 대한 해쉬값을 새로운 머클 트리에서 상기 노드의 부모 노드에 할당하거나 할당하도록 지원할 수 있다. 또한, (y2) 상기 부모 노드가 상기 새로운 머클 트리의 루트 노드이면, 상기 부모 노드에 할당된 해쉬값을 상기 제2 대표 해쉬값으로서 상기 OP 메시지에 포함된 값과 비교하거나 비교하도록 지원하고, (y3) 상기 부모 노드가 상기 새로운 머클 트리의 루트 노드가 아니면, 상기 부모 노드에 할당된 해쉬값을 상기 제2 특정 해쉬값으로 하여 상기 (y1) 내지 (y3)를 반복하여 수행할 수 있다. In the process of determining whether the value obtained by processing the second representative hash value or the second representative hash value corresponds to the value obtained by processing the first representative hash value or the first representative hash value, In which a merge tree generated in the authentication information registration process described above can be used. That is, the processor 110 computes a hash value assigned to the sibling node of the node to which the second specific hash value is assigned in the existing generated merge tree (y1) (i) And support to assign or assign a hash value for the operation value to a parent node of the node in a new merge tree. (Y2) if the parent node is the root node of the new merge tree, comparing the hash value assigned to the parent node with the value contained in the OP message as the second representative hash value, and y3) If the parent node is not the root node of the new merge tree, it may repeat the operations (y1) to (y3) using the hash value assigned to the parent node as the second specific hash value.

프로세서(110)는, 최종적으로 생성된 머클 트리의 루트값 또는 이를 가공한 값이 상기 OP 메시지에 포함된 상기 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값과 대응되면, (1) 특정 사용자의 public key 및 (2) 상기 특정 사용자 정보의 해쉬값 또는 이를 가공한 값이 검증된 것으로 판단하거나 판단하도록 지원할 수 있다. When the root value of the finally generated muckree or the processed value corresponds to the value obtained by processing the first representative hash value or the first representative hash value included in the OP message, ) A public key of a specific user and (2) a hash value of the specific user information or a value obtained by processing the hash value of the specific user information.

이처럼 본 발명은 인증 정보 등록 단계에서 nm(=N)개의 리프 노드를 가지는 머클 트리가 생성이 되면, 인증 정보 사용 단계에서 머클 트리의 높이(lognN=m)만큼의 연산만을 수행함으로써 빠르게 사용자 검증을 수행하여 인증 정보를 사용할 수 있다. As described above, according to the present invention, when the merge tree having n m (= N) leaf nodes is generated in the authentication information registration step, only the operation of the merge tree height (log n N = m) User authentication can be performed to use authentication information.

이하에서는 상술한 인증 정보를 사용하여 거래를 지원할 수 있는 인증 지원 장치(100)의 구성 및 동작을 설명한다. 이하에서 설명하는 인증 지원 서버는 전술한 인증 지원 서버(100)와 별도의 장치로 구성될 수도 있으나, 설명의 편의를 위해 동일한 장치인 것으로 설명한다. 참고로, 하기의 실시예에서 제1 특정 해쉬값, 제2 특정 해쉬값, 제1 대표 해쉬값, 제2 대표 해쉬값이라는 용어를 전술한 실시예와 혼용하였으나, 각 실시예별로 구별되는 것임을 밝혀둔다.Hereinafter, the configuration and operation of the authentication support apparatus 100 capable of supporting transactions using the above-described authentication information will be described. The authentication support server described below may be configured as a separate apparatus from the authentication support server 100, but will be described as the same apparatus for convenience of explanation. For reference, in the following embodiments, the terms of the first specific hash value, the second specific hash value, the first representative hash value, and the second representative hash value are used in combination with the above-described embodiments, but they are distinguished from each other Leave.

통신부(120)는, 기존에 상기 인증 지원 서버(100)가 제1 특정 해쉬값 및 상기 제1 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 생성되는 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값을 소정의 데이터 구조로서 데이터베이스에 등록하고 있는 상태에서, 인증 정보 사용 요청으로서 (1) 특정 사용자의 public key 및 (2) 상기 특정 사용자 정보의 해쉬값 또는 이를 가공한 값을 획득할 수 있다. 여기서, 제1 특정 해쉬값, 제1 대표 해쉬값은 전술한 특정 해쉬값, 대표 해쉬값에 대응된다.The communication unit 120 may include a first representative hash value generated by computing the at least one neighboring hash value that matches the first specified hash value and the first specified hash value, (1) a public key of a specific user, and (2) a hash value of the specific user information or a hash value of the specific user information, as the authentication information use request in a state in which a value obtained by processing one representative hash value is registered in a database as a predetermined data structure. Value can be obtained. Here, the first specific hash value and the first representative hash value correspond to the aforementioned specific hash value and representative hash value.

한편, 상기 특정 사용자의 public key가 은행 서버(400)에 전달되고, 상기 특정 사용자가 인증되어 상기 은행 서버(400)로부터 특정 사용자 정보의 해쉬값인 Uhash가 상기 생체 인증 서버(300)에 전송되면, 상기 생체 인증 서버(300)로부터 (i) 상기 public key 및 (ii) 상기 Uhash 또는 상기 Uhash를 가공한 값이 상기 인증 지원 서버(100)로 전송될 수 있다. 이에 대해서는 전술한 실시예에서 설명하였으므로 중복 설명은 생략한다(도 5 및 이에 대한 설명 참조). Meanwhile, when the public key of the specific user is transmitted to the bank server 400, and the specific user is authenticated and the hash value Uhash of the specific user information is transmitted from the bank server 400 to the biometric authentication server 300 , A value obtained by processing (i) the public key and (ii) the Uhash or the Uhash from the biometric authentication server 300 may be transmitted to the authentication support server 100. [ Since this has been described in the above-mentioned embodiment, redundant description is omitted (refer to FIG. 5 and the description thereof).

프로세서(110)는, 상기 (1) 및 (2)에 대한 해쉬값인 제2 특정 해쉬값 및 상기 제2 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값 - 상기 적어도 하나의 이웃 해쉬값은 상기 소정의 데이터 구조를 참조로 하여 결정됨 - 을 연산함으로써 생성되는 제2 대표 해쉬값 또는 상기 제2 대표 해쉬값을 가공한 값이 상기 데이터베이스(200)에 등록된 상기 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값과 대응되면, 상기 특정 사용자의 public key를 상기 생체 인증 서버(300)에 전송하거나 상기 생체 인증 서버(300)가 관리하고 있는 상기 특정 사용자의 public key를 사용하도록 하여 (i) 상기 생체 인증 서버(300)가, 거래 정보의 해쉬값 또는 이를 가공한 값을 상기 특정 사용자의 생체 정보에 대응되는 private key로 서명한 값을 상기 특정 사용자의 public key를 이용하여 검증하거나 검증하도록 지원하며, (ii) 상기 검증 결과에 대한 메시지를 전송하거나 전송하도록 지원할 수 있다. The processor 110 may further include: a second hash value that is a hash value for (1) and (2) and at least one neighbor hash value that matches the second specific hash value, The second representative hash value or the second representative hash value generated by computing the second representative hash value with reference to the predetermined data structure is stored in the first representative hash value or the first representative hash value registered in the database 200 When the value corresponding to the processed value of the representative hash value is associated with the public key of the specific user, the public key of the specific user is transmitted to the biometric authentication server 300 or the public key of the specific user managed by the biometric authentication server 300 is used i) The biometric authentication server 300 transmits a hash value of the transaction information or a value obtained by signing the hash value of the transaction information with the private key corresponding to the biometric information of the specific user using the public key of the specific user It supports to increase or verified, (ii) can be supported so as to transmit or send the message to the verification result.

상기 (i)에서, 상기 거래 정보의 해쉬값 또는 이를 가공한 값은 은행 서버(400)에 의해 생성되고, 상기 거래 정보의 해쉬값 또는 이를 가공한 값이 사용자 단말(500)에 전달되어 상기 특정 사용자의 생체 정보에 대응되는 private key로 서명이 이루어져 상기 은행 서버(400)를 거쳐 상기 생체 인증 서버(300)로 전달될 수 있다(도 5 및 이에 대한 설명 참조). In step (i), the hash value or the processed value of the transaction information is generated by the bank server 400, and the hash value of the transaction information or the processed value is transmitted to the user terminal 500, The signature may be signed with a private key corresponding to the biometric information of the user and may be transmitted to the biometric authentication server 300 through the bank server 400 (refer to FIG. 5 and the description thereof).

상기 (ii)에서, 상기 검증 결과가 거짓이면, 상기 프로세서(110)는, 상기 특정 사용자가 입력한 생체 정보가 맞지 않아 거래를 불허함을 나타내는 메시지를 전송하도록 지원할 수 있다. 상기 메시지는 사용자 단말(500), 은행 서버(400), 생체 인증 서버(300) 중 적어도 하나에 전송될 수 있다. 물론, 사용자 단말(500)로 직접 전송될 수도 있다. In step (ii), if the verification result is false, the processor 110 can support transmission of a message indicating that the biometric information inputted by the specific user does not match, thereby disabling the transaction. The message may be transmitted to at least one of the user terminal 500, the bank server 400, and the biometric authentication server 300. Of course, it may be transmitted directly to the user terminal 500.

제2 특정 해쉬값에 대해서는 전술한 제1 특정 해쉬값에 대한 설명이 동일하게 적용될 수 있다. 즉, 제2 특정 해쉬값과 적어도 하나의 이웃 해쉬값의 연산은 다양한 함수에 의해 수행될 수 있다. 이에 대해서는 전술하였으므로 설명을 생략한다.For the second specific hash value, the description of the first specific hash value described above can be applied equally. That is, the operation of the second specific hash value and the at least one neighbor hash value can be performed by various functions. Since this has been described above, the explanation is omitted.

한편, (i) 상기 제2 대표 해쉬값 또는 상기 제2 대표 해쉬값을 가공한 값이 상기 데이터베이스(200)에 등록된 상기 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값과 대응되지 않거나, (ii) 로컬 데이터베이스에 저장된 상기 (1) 및 (2)에 대한 인증 정보의 상태 정보를 참조한 결과 상기 인증 정보가 소정의 상태인 것으로 판단되면, 상기 통신부(120)는 상기 생체 인증 서버(300)에 에러 메시지를 전송할 수 있다. 예를 들어, 상기 인증 정보가 파기 상태인 경우, 통신부(120)는 상기 생체 인증 서버(300)에 에러 메시지를 전송할 수 있다.(I) a value obtained by processing the second representative hash value or the second representative hash value corresponds to a value obtained by processing the first representative hash value or the first representative hash value registered in the database 200 Or (ii) when the authentication information is determined to be in a predetermined state as a result of referring to the state information of the authentication information for (1) and (2) stored in the local database, the communication unit 120 transmits, An error message can be transmitted to the mobile station 300. For example, when the authentication information is in a destroyed state, the communication unit 120 may transmit an error message to the biometric authentication server 300. [

또한, 상기 (1) 및 (2)가 머클 트리(merkle tree)의 적어도 두 개의 리프 노드에 할당된 경우, 상기 프로세서(110)는, 이를 상기 인증 정보가 파기된 것으로 판단하여 상기 생체 인증 서버(300)에 에러 메시지를 전송하도록 지원할 수 있다. In addition, when the above (1) and (2) are allocated to at least two leaf nodes of a merkle tree, the processor 110 determines that the authentication information has been destroyed, 300 to send an error message.

프로세서(110)는, 인증 정보 사용 요청이 획득되면, 소정의 transaction ID를 참조하고, 상기 transaction ID를 사용하여 상기 데이터베이스(200)로부터 OP 메시지를 획득하거나 획득하도록 지원할 수 있다. 또한, 상기 제2 대표 해쉬값 또는 상기 제2 대표 해쉬값을 가공한 값이 상기 OP 메시지에 포함된 상기 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값과 대응되면, 상기 특정 사용자의 public key를 상기 생체 인증 서버(300)에 전송하거나 상기 생체 인증 서버(300)가 관리하고 있는 상기 특정 사용자의 public key를 사용하도록 하여 상기 (i) 내지 (ii)을 수행할 수 있다. The processor 110 may refer to a predetermined transaction ID and acquire or obtain an OP message from the database 200 using the transaction ID when an authentication information use request is obtained. If the value obtained by processing the second representative hash value or the second representative hash value corresponds to the value obtained by processing the first representative hash value or the first representative hash value included in the OP message, (I) to (ii) by transmitting the public key of the biometric authentication server 300 to the biometric authentication server 300 or using the public key of the specific user managed by the biometric authentication server 300.

한편, 상기 제2 대표 해쉬값은, 상기 제2 특정 해쉬값이 특정 리프 노드에 할당된 머클 트리(merkle tree)에서 상기 제2 특정 해쉬값 및 상기 제2 특정 해쉬값과 매칭되는 적어도 하나의 다른 리프 노드에 할당된 해쉬값을 연산하여 생성될 수 있다. The second representative hash value may be at least one other hash value that matches the second specific hash value and the second specific hash value in a merkle tree assigned to a particular leaf node. Can be generated by computing a hash value assigned to a leaf node.

상기 제2 대표 해쉬값 또는 상기 제2 대표 해쉬값을 가공한 값이 상기 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값과 대응되는지 확인하는 과정에서 프로세서(110)는 새로운 머클 트리를 생성하거나 생성하도록 지원할 수 있는데, 여기에는 전술한 인증 정보 등록 과정에서 생성된 머클 트리가 이용될 수 있다. 즉, 프로세서(110)는 (z1) (i) 상기 제2 특정 해쉬값과 (ii) 기존에 생성된 머클 트리에서 상기 제2 특정 해쉬값이 할당된 노드의 형제 노드에 할당된 해쉬값을 연산하거나 연산하도록 지원하고, 상기 연산값에 대한 해쉬값을 새로운 머클 트리에서 상기 노드의 부모 노드에 할당하거나 할당하도록 지원할 수 있다. 또한, (z2) 상기 부모 노드가 상기 새로운 머클 트리의 루트 노드이면, 상기 부모 노드에 할당된 해쉬값을 상기 제2 대표 해쉬값으로서 상기 OP 메시지에 포함된 값과 비교하거나 비교하도록 지원하고, (z3) 상기 부모 노드가 상기 새로운 머클 트리의 루트 노드가 아니면, 상기 부모 노드에 할당된 해쉬값을 상기 제2 특정 해쉬값으로 하여 상기 (z1) 내지 (z3)를 반복하여 수행할 수 있다. In the process of determining whether the value obtained by processing the second representative hash value or the second representative hash value corresponds to the value obtained by processing the first representative hash value or the first representative hash value, In which a merge tree generated in the authentication information registration process described above can be used. That is, the processor 110 computes a hash value assigned to the sibling node of the node to which the second specific hash value is assigned in the existing generated merge tree (z1) (i) And support to assign or assign a hash value for the operation value to a parent node of the node in a new merge tree. (Z2) if the parent node is the root node of the new merge tree, compares or compares the hash value assigned to the parent node with the value contained in the OP message as the second representative hash value, and z3) If the parent node is not the root node of the new merge tree, it may repeat the operations (z1) to (z3) using the hash value assigned to the parent node as the second specific hash value.

프로세서(110)는, 최종적으로 생성된 머클 트리의 루트값 또는 이를 가공한 값이 상기 OP 메시지에 포함된 상기 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값과 대응되면, (1) 특정 사용자의 public key 및 (2) 상기 특정 사용자 정보의 해쉬값 또는 이를 가공한 값이 검증된 것으로 판단하거나 판단하도록 지원할 수 있다. When the root value of the finally generated muckree or the processed value corresponds to the value obtained by processing the first representative hash value or the first representative hash value included in the OP message, ) A public key of a specific user and (2) a hash value of the specific user information or a value obtained by processing the hash value of the specific user information.

이처럼 본 발명은 인증 정보 등록 단계에서 nm(=N)개의 리프 노드를 가지는 머클 트리가 생성이 되면, 인증 정보 사용 단계에서 머클 트리의 높이(lognN=m)만큼의 연산만을 수행함으로써 빠르게 사용자 검증을 수행하여 인증 정보를 사용할 수 있다. As described above, according to the present invention, when the merge tree having n m (= N) leaf nodes is generated in the authentication information registration step, only the operation of the merge tree height (log n N = m) User authentication can be performed to use authentication information.

한편, 상기 프로세서(110)는, 상기 검증 결과가 참이고, 소정의 앵커링 조건이 만족되면, 제3 특정 해쉬값 - 상기 제3 특정 해쉬값은, 상기 거래 정보의 해쉬값 또는 이를 가공한 값을 상기 private key로 서명한 값에 대한 해쉬값임 - 및 상기 제3 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 생성되는 제3 대표 해쉬값 또는 상기 제3 대표 해쉬값을 가공한 값을 상기 데이터베이스(200)에 등록하거나 등록하도록 지원할 수 있다. 이는 거래시 부인 방지를 위해 거래 정보를 데이터베이스(200)에 기록하기 위함이다.Meanwhile, if the verification result is true and the predetermined anchoring condition is satisfied, the processor 110 determines whether the third specific hash value - the third specific hash value is a hash value of the transaction information or a processed value thereof A third representative hash value generated by computing a hash value of a value signed by the private key and at least one neighbor hash value matching the third specific hash value or a value obtained by processing the third representative hash value And may be registered or registered in the database 200. This is for recording transaction information in the database 200 for the purpose of preventing non-repudiation at the time of transaction.

이 경우, 상기 통신부(120)는, 상기 제3 대표 해쉬값 또는 상기 제3 대표 해쉬값을 가공한 값이 상기 데이터베이스(200) 상에 기록된 위치 정보를 나타내는 transaction ID를 획득하고, 상기 획득된 transaction ID를 상기 생체 인증 서버(300)로 전송할 수 있다. In this case, the communication unit 120 obtains the transaction ID indicating the position information recorded on the database 200 by processing the third representative hash value or the third representative hash value, transaction ID to the biometric authentication server 300.

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

이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.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 exemplary embodiments, but, on the contrary, Those skilled in the art will appreciate that various modifications, additions and substitutions are possible, without departing from the scope and spirit of the invention as disclosed in the accompanying claims.

따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be construed as being limited to the above-described embodiments, and all of the equivalents or equivalents of the claims, as well as the following claims, I will say.

100 : 인증 지원 서버
200 : 데이터베이스
300 : 생체 인증 서버
400 : 은행 서버
500 : 사용자 단말
110 : 프로세서
120 : 통신부
100: Authentication support server
200: Database
300: Biometric authentication server
400: Bank server
500: user terminal
110: Processor
120:

Claims (22)

가상 화폐의 블록체인을 이용하여 거래를 지원하기 위한 방법에 있어서,
(a) 기존에 인증 지원 서버가 제1 특정 해쉬값 및 상기 제1 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 생성되는 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값을 소정의 데이터 구조로서 상기 가상 화폐의 상기 블록체인 상에 등록하고 있는 상태에서, 상기 인증 지원 서버가, 인증 정보 사용 요청으로서 (1) 특정 사용자의 public key 및 (2) 상기 특정 사용자 정보의 해쉬값 또는 이를 가공한 값을 획득하는 단계, 및
(b) 상기 (1) 및 (2)에 대한 해쉬값인 제2 특정 해쉬값 및 상기 제2 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값 - 상기 적어도 하나의 이웃 해쉬값은 상기 소정의 데이터 구조를 참조로 하여 결정됨 - 을 연산함으로써 생성되는 제2 대표 해쉬값 또는 상기 제2 대표 해쉬값을 가공한 값이 상기 가상 화폐의 상기 블록체인 상에 등록된 상기 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값과 대응되면,
상기 인증 지원 서버가, 상기 특정 사용자의 public key를 생체 인증 서버에 전송하거나 상기 생체 인증 서버가 관리하고 있는 상기 특정 사용자의 public key를 사용하도록 하여 (i) 상기 생체 인증 서버가, 거래 정보의 해쉬값 또는 이를 가공한 값을 상기 특정 사용자의 생체 정보에 대응되는 private key로 서명한 값을 상기 특정 사용자의 public key를 이용하여 검증하거나 검증하도록 지원하며, (ii) 상기 검증 결과에 대한 메시지를 전송하거나 전송하도록 지원하는 단계를 포함하며,
(c) 상기 검증 결과가 참이고, 소정의 앵커링 조건이 만족되면, 상기 인증 지원 서버는, 제3 특정 해쉬값 - 상기 제3 특정 해쉬값은, 상기 거래 정보의 해쉬값 또는 이를 가공한 값을 상기 private key로 서명한 값에 대한 해쉬값임 - 및 상기 제3 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 생성되는 제3 대표 해쉬값 또는 상기 제3 대표 해쉬값을 가공한 값을 상기 가상 화폐의 상기 블록체인 상에 등록하거나 등록하도록 지원하는 단계
를 더 포함하는 것을 특징으로 하는 방법.
A method for supporting transactions using block chains of virtual money,
(a) a first representative hash value or a first representative hash value generated by computing an at least one neighboring hash value matching the first specific hash value and the first specific hash value, (1) a public key of a specific user and (2) a user information of the specific user information as a authentication information use request in a state in which a value of the authentication information is registered as a predetermined data structure on the block chain of the virtual money. Obtaining a hash value or a processed value thereof, and
(b) a second specific hash value, which is a hash value for (1) and (2), and at least one neighbor hash value that matches the second specific hash value, A value obtained by processing a second representative hash value or a value obtained by processing the second representative hash value is calculated based on the first representative hash value or the first representative hash value registered on the block chain of the virtual money, When the representative hash value is associated with the processed value,
Wherein the authentication support server transmits a public key of the specific user to the biometric authentication server or uses the public key of the specific user managed by the biometric authentication server so that the biometric authentication server can notify the hash of the transaction information Value or a value obtained by processing the value by using a private key corresponding to the biometric information of the specific user is verified or verified using the public key of the specific user, and (ii) a message about the verification result is transmitted Or transmitting,
(c) if the verification result is true and the predetermined anchoring condition is satisfied, the authentication support server transmits a hash value of the transaction information or a value obtained by processing the third specific hash value to the third specific hash value A third representative hash value generated by computing a hash value of a value signed by the private key and at least one neighbor hash value matching the third specific hash value or a value obtained by processing the third representative hash value A step of registering or registering on the block chain of the virtual money
&Lt; / RTI &gt;
제1항에 있어서,
상기 (b) 단계에서,
상기 제2 대표 해쉬값 또는 상기 제2 대표 해쉬값을 가공한 값이 상기 가상 화폐의 상기 블록체인 상에 등록된 상기 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값과 대응되지 않거나
로컬 데이터베이스에 저장된 상기 (1) 및 (2)에 대한 인증 정보의 상태 정보를 참조한 결과 상기 인증 정보가 소정의 상태인 것으로 판단되면, 상기 인증 지원 서버는 상기 생체 인증 서버에 에러 메시지를 전송하는 것을 특징으로 하는 방법.
The method according to claim 1,
In the step (b)
The value obtained by processing the second representative hash value or the second representative hash value does not correspond to the value obtained by processing the first representative hash value or the first representative hash value registered on the block chain of the virtual money
When it is determined that the authentication information is in a predetermined state as a result of referring to the state information of the authentication information for (1) and (2) stored in the local database, the authentication support server transmits an error message to the biometric authentication server Lt; / RTI &gt;
제2항에 있어서,
상기 (1) 및 (2)가 머클 트리(merkle tree)의 적어도 두 개의 리프 노드에 할당된 경우, 상기 인증 지원 서버는, 이를 상기 인증 정보가 파기된 것으로 판단하여 상기 생체 인증 서버에 에러 메시지를 전송하는 것을 특징으로 하는 방법.
3. The method of claim 2,
If (1) and (2) are allocated to at least two leaf nodes of a merkle tree, the authentication support server judges that the authentication information has been destroyed and sends an error message to the biometric authentication server Lt; / RTI &gt;
제1항에 있어서,
상기 (ii)에서,
상기 검증 결과가 거짓이면, 상기 특정 사용자가 입력한 생체 정보가 맞지 않아 거래를 불허함을 나타내는 메시지를 전송하도록 지원하는 것을 특징으로 하는 방법.
The method according to claim 1,
In (ii) above,
If the verification result is false, the biometrics information input by the specific user does not match, thereby supporting a message indicating that the transaction is not allowed.
제1항에 있어서,
상기 (i)에서,
상기 거래 정보의 해쉬값 또는 이를 가공한 값은 은행 서버에 의해 생성되고, 상기 거래 정보의 해쉬값 또는 이를 가공한 값이 사용자 단말에 전달되어 상기 특정 사용자의 생체 정보에 대응되는 private key로 서명이 이루어져 상기 은행 서버를 거쳐 상기 생체 인증 서버로 전달되는 것을 특징으로 하는 방법.
The method according to claim 1,
In (i) above,
A hash value or a processed value of the transaction information is generated by a bank server and a hash value of the transaction information or a value obtained by processing the hash value is transmitted to a user terminal and a signature is signed with a private key corresponding to the biometric information of the specific user And transmitted to the biometric authentication server via the bank server.
삭제delete 제1항에 있어서,
(d) 상기 인증 지원 서버가, 상기 제3 대표 해쉬값 또는 상기 제3 대표 해쉬값을 가공한 값이 상기 가상 화폐의 상기 블록체인 상에 기록된 위치 정보를 나타내는 transaction ID를 획득하는 단계, 및
(e) 상기 인증 지원 서버가, 상기 획득된 transaction ID를 상기 생체 인증 서버로 전송하는 단계를 더 포함하는 것을 특징으로 하는 방법.
The method according to claim 1,
(d) obtaining, by the authentication support server, a transaction ID representing a value obtained by processing the third representative hash value or the third representative hash value, the position information being recorded on the block chain of the virtual money; and
(e) transmitting, by the authentication support server, the obtained transaction ID to the biometric authentication server.
제1항에 있어서,
상기 (a) 단계는,
상기 특정 사용자의 public key가 은행 서버에 전달되고, 상기 특정 사용자가 인증되어 상기 은행 서버로부터 특정 사용자 정보의 해쉬값인 Uhash가 상기 생체 인증 서버에 전송되면, 상기 생체 인증 서버로부터 (i) 상기 public key 및 (ii) 상기 Uhash 또는 상기 Uhash를 가공한 값이 상기 인증 지원 서버로 전송되는 단계를 포함하는 것을 특징으로 하는 방법.
The method according to claim 1,
The step (a)
When the public key of the specific user is transmitted to the bank server, and the specific user is authenticated and Uhash, which is a hash value of specific user information, is transmitted from the bank server to the biometric authentication server, (i) key and (ii) a value obtained by processing the Uhash or the Uhash is transmitted to the authentication support server.
제1항에 있어서,
상기 (a) 단계는,
(a1) 상기 인증 정보 사용 요청이 획득되면, 상기 인증 지원 서버가, 소정의 transaction ID를 참조하는 단계, 및
(a2) 상기 인증 지원 서버가, 상기 transaction ID를 사용하여 상기 가상 화폐의 상기 블록체인으로부터 OP 메시지를 획득하는 단계를 포함하고,
상기 (b) 단계에서,
상기 제2 대표 해쉬값 또는 상기 제2 대표 해쉬값을 가공한 값이 상기 OP 메시지에 포함된 상기 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값과 대응되면, 상기 인증 지원 서버가, 상기 특정 사용자의 public key를 상기 생체 인증 서버에 전송하거나 상기 생체 인증 서버가 관리하고 있는 상기 특정 사용자의 public key를 사용하도록 하여 상기 (i) 내지 (ii)을 수행하는 것을 특징으로 하는 방법.
The method according to claim 1,
The step (a)
(a1) when the authentication information use request is obtained, the authentication support server refers to a predetermined transaction ID, and
(a2) the authentication support server obtaining an OP message from the block chain of the virtual currency using the transaction ID,
In the step (b)
If the value obtained by processing the second representative hash value or the second representative hash value corresponds to a value obtained by processing the first representative hash value or the first representative hash value included in the OP message, (I) to (ii) by transmitting the public key of the specific user to the biometric authentication server or using the public key of the specific user managed by the biometric authentication server.
제1항에 있어서,
상기 제2 대표 해쉬값은,
상기 제2 특정 해쉬값이 특정 리프 노드에 할당된 머클 트리(merkle tree)에서 상기 제2 특정 해쉬값 및 상기 제2 특정 해쉬값과 매칭되는 적어도 하나의 다른 리프 노드에 할당된 해쉬값을 연산하여 생성되는 것을 특징으로 하는 방법.
The method according to claim 1,
The second representative hash value is a value
The hash value assigned to at least one other leaf node matching the second specific hash value and the second specific hash value in the merkle tree allocated to the specific leaf node is calculated &Lt; / RTI &gt;
제10항에 있어서,
(x1) 상기 인증 지원 서버는, (i) 상기 제2 특정 해쉬값과 (ii) 상기 제2 특정 해쉬값이 할당된 노드의 형제 노드에 할당된 해쉬값을 연산하거나 연산하도록 지원하고, 상기 연산값에 대한 해쉬값을 상기 노드의 부모 노드에 할당하거나 할당하도록 지원하며,
(x2) 상기 부모 노드가 상기 머클 트리의 루트 노드이면, 상기 부모 노드에 할당된 해쉬값을 상기 제2 대표 해쉬값으로서 상기 가상 화폐의 상기 블록체인으로부터 획득된 OP 메시지에 포함된 값과 비교하거나 비교하도록 지원하고,
(x3) 상기 부모 노드가 상기 머클 트리의 루트 노드가 아니면, 상기 부모 노드에 할당된 해쉬값을 상기 제2 특정 해쉬값으로 하여 상기 (x1) 내지 (x3)를 반복하여 수행하는 것을 특징으로 하는 방법.
11. The method of claim 10,
(x1) the authentication support server supports to calculate or calculate a hash value assigned to (i) the second specific hash value and (ii) the sibling node of the node to which the second specific hash value is assigned, To assign or assign a hash value for the value to the parent node of the node,
(x2) if the parent node is the root node of the merge tree, comparing the hash value assigned to the parent node with the value contained in the OP message obtained from the block chain of the virtual currency as the second representative hash value Compare,
(x3) If the parent node is not the root node of the merge tree, the step (x1) to (x3) are repeated by using the hash value assigned to the parent node as the second specific hash value Way.
가상 화폐의 블록체인을 이용하여 거래를 지원하기 위한 인증 지원 서버에 있어서,
기존에 상기 인증 지원 서버가 제1 특정 해쉬값 및 상기 제1 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 생성되는 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값을 소정의 데이터 구조로서 상기 가상 화폐의 상기 블록체인 상에 등록하고 있는 상태에서, 인증 정보 사용 요청으로서 (1) 특정 사용자의 public key 및 (2) 상기 특정 사용자 정보의 해쉬값 또는 이를 가공한 값을 획득하는 통신부, 및
상기 (1) 및 (2)에 대한 해쉬값인 제2 특정 해쉬값 및 상기 제2 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값 - 상기 적어도 하나의 이웃 해쉬값은 상기 소정의 데이터 구조를 참조로 하여 결정됨 - 을 연산함으로써 생성되는 제2 대표 해쉬값 또는 상기 제2 대표 해쉬값을 가공한 값이 상기 가상 화폐의 상기 블록체인 상에 등록된 상기 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값과 대응되면, 상기 특정 사용자의 public key를 생체 인증 서버에 전송하거나 상기 생체 인증 서버가 관리하고 있는 상기 특정 사용자의 public key를 사용하도록 하여 (i) 상기 생체 인증 서버가, 거래 정보의 해쉬값 또는 이를 가공한 값을 상기 특정 사용자의 생체 정보에 대응되는 private key로 서명한 값을 상기 특정 사용자의 public key를 이용하여 검증하거나 검증하도록 지원하며, (ii) 상기 검증 결과에 대한 메시지를 전송하거나 전송하도록 지원하는 프로세서를 포함하되,
상기 프로세서는,
상기 검증 결과가 참이고, 소정의 앵커링 조건이 만족되면, 제3 특정 해쉬값 - 상기 제3 특정 해쉬값은, 상기 거래 정보의 해쉬값 또는 이를 가공한 값을 상기 private key로 서명한 값에 대한 해쉬값임 - 및 상기 제3 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 생성되는 제3 대표 해쉬값 또는 상기 제3 대표 해쉬값을 가공한 값을 상기 가상 화폐의 상기 블록체인 상에 등록하거나 등록하도록 지원하는 것을 특징으로 하는 인증 지원 서버.
An authentication support server for supporting a transaction using a block chain of virtual money,
A first representative hash value generated by computing the first hash value and at least one neighbor hash value matched with the first specific hash value or a value obtained by processing the first representative hash value (1) a public key of a specific user; and (2) a hash value of the specific user information or a value obtained by processing the public key and the hash value of the specific user information in a state of being registered on the block chain of the virtual money as a predetermined data structure A communicating section for acquiring
The at least one neighborhood hash value matching the second specific hash value and the second specific hash value that are the hash values of (1) and (2) Or a value obtained by processing the second representative hash value is calculated based on the first representative hash value or the first representative hash value registered on the block chain of the virtual money The biometric authentication server transmits the public key of the specific user to the biometric authentication server or uses the public key of the specific user managed by the biometric authentication server, The hash value of the specific user or a value obtained by signing the hashed value of the hash value or the processed value with the private key corresponding to the biometric information of the specific user is verified or verified using the public key of the specific user And (ii) a processor that supports sending or transmitting a message for the verification result,
The processor comprising:
If the verification result is true and the predetermined anchoring condition is satisfied, the third specific hash value - the third specific hash value is a value obtained by adding a hash value of the transaction information or a processed value thereof to the private key And a third representative hash value generated by calculating at least one neighboring hash value that matches the third specific hash value or a value obtained by processing the third representative hash value on the block chain of the virtual currency Wherein the server is configured to support registration or registration.
제12항에 있어서,
(i) 상기 제2 대표 해쉬값 또는 상기 제2 대표 해쉬값을 가공한 값이 상기 가상 화폐의 상기 블록체인 상에 등록된 상기 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값과 대응되지 않거나, (ii) 로컬 데이터베이스에 저장된 상기 (1) 및 (2)에 대한 인증 정보의 상태 정보를 참조한 결과 상기 인증 정보가 소정의 상태인 것으로 판단되면, 상기 통신부는 상기 생체 인증 서버에 에러 메시지를 전송하는 것을 특징으로 하는 인증 지원 서버.
13. The method of claim 12,
(i) a value obtained by processing the second representative hash value or the second representative hash value is a value obtained by processing the first representative hash value or the first representative hash value registered on the block chain of the virtual money Or (ii) when the authentication information is determined to be in a predetermined state as a result of referring to the state information of the authentication information for (1) and (2) stored in the local database, the communication unit transmits an error And transmits the message to the authentication server.
제13항에 있어서,
상기 (1) 및 (2)가 머클 트리(merkle tree)의 적어도 두 개의 리프 노드에 할당된 경우, 상기 프로세서는, 이를 상기 인증 정보가 파기된 것으로 판단하여 상기 생체 인증 서버에 에러 메시지를 전송하도록 지원하는 것을 특징으로 하는 인증 지원 서버.
14. The method of claim 13,
If (1) and (2) are allocated to at least two leaf nodes of a merkle tree, the processor determines that the authentication information has been destroyed and transmits an error message to the biometric authentication server Wherein the authentication server comprises:
제12항에 있어서,
상기 (ii)에서,
상기 검증 결과가 거짓이면, 상기 프로세서는, 상기 특정 사용자가 입력한 생체 정보가 맞지 않아 거래를 불허함을 나타내는 메시지를 전송하도록 지원하는 것을 특징으로 하는 인증 지원 서버.
13. The method of claim 12,
In (ii) above,
And if the verification result is false, the processor supports to transmit a message indicating that the biometrics information input by the specific user is not correct, indicating that the transaction is not allowed.
제12항에 있어서,
상기 (i)에서,
상기 거래 정보의 해쉬값 또는 이를 가공한 값은 은행 서버에 의해 생성되고, 상기 거래 정보의 해쉬값 또는 이를 가공한 값이 사용자 단말에 전달되어 상기 특정 사용자의 생체 정보에 대응되는 private key로 서명이 이루어져 상기 은행 서버를 거쳐 상기 생체 인증 서버로 전달되는 것을 특징으로 하는 인증 지원 서버.
13. The method of claim 12,
In (i) above,
A hash value or a processed value of the transaction information is generated by a bank server and a hash value of the transaction information or a value obtained by processing the hash value is transmitted to a user terminal and a signature is signed with a private key corresponding to the biometric information of the specific user And transmitted to the biometric authentication server via the bank server.
삭제delete 제12항에 있어서,
상기 통신부는,
상기 제3 대표 해쉬값 또는 상기 제3 대표 해쉬값을 가공한 값이 상기 가상 화폐의 상기 블록체인 상에 기록된 위치 정보를 나타내는 transaction ID를 획득하고, 상기 획득된 transaction ID를 상기 생체 인증 서버로 전송하는 것을 특징으로 하는 인증 지원 서버.
13. The method of claim 12,
Wherein,
Acquiring a transaction ID indicating a value obtained by processing the third representative hash value or the third representative hash value on the block chain of the virtual currency and transmitting the obtained transaction ID to the biometric authentication server And transmits the authentication result to the authentication server.
제12항에 있어서,
상기 특정 사용자의 public key가 은행 서버에 전달되고, 상기 특정 사용자가 인증되어 상기 은행 서버로부터 특정 사용자 정보의 해쉬값인 Uhash가 상기 생체 인증 서버에 전송되면, 상기 생체 인증 서버로부터 (i) 상기 public key 및 (ii) 상기 Uhash 또는 상기 Uhash를 가공한 값이 상기 인증 지원 서버로 전송되는 것을 특징으로 하는 인증 지원 서버.
13. The method of claim 12,
When the public key of the specific user is transmitted to the bank server, and the specific user is authenticated and Uhash, which is a hash value of specific user information, is transmitted from the bank server to the biometric authentication server, (i) key and (ii) a value obtained by processing the Uhash or the Uhash is transmitted to the authentication support server.
제12항에 있어서,
상기 프로세서는,
상기 인증 정보 사용 요청이 획득되면, 소정의 transaction ID를 참조하고, 상기 transaction ID를 사용하여 상기 가상 화폐의 상기 블록체인으로부터 OP 메시지를 획득하도록 지원하며, 상기 제2 대표 해쉬값 또는 상기 제2 대표 해쉬값을 가공한 값이 상기 OP 메시지에 포함된 상기 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값과 대응되면, 상기 특정 사용자의 public key를 상기 생체 인증 서버에 전송하거나 상기 생체 인증 서버가 관리하고 있는 상기 특정 사용자의 public key를 사용하도록 하여 상기 (i) 내지 (ii)을 수행하는 것을 특징으로 하는 인증 지원 서버.
13. The method of claim 12,
The processor comprising:
When the authentication information use request is obtained, to refer to a predetermined transaction ID and to acquire an OP message from the block chain of the virtual currency using the transaction ID, and the second representative hash value or the second representative value If the value obtained by processing the hash value corresponds to a value obtained by processing the first representative hash value or the first representative hash value included in the OP message, the public key of the specific user is transmitted to the biometric authentication server, (I) to (ii) by using the public key of the specific user managed by the authentication server.
제12항에 있어서,
상기 제2 대표 해쉬값은,
상기 제2 특정 해쉬값이 특정 리프 노드에 할당된 머클 트리(merkle tree)에서 상기 제2 특정 해쉬값 및 상기 제2 특정 해쉬값과 매칭되는 적어도 하나의 다른 리프 노드에 할당된 해쉬값을 연산하여 생성되는 것을 특징으로 하는 인증 지원 서버.
13. The method of claim 12,
The second representative hash value is a value
The hash value assigned to at least one other leaf node matching the second specific hash value and the second specific hash value in the merkle tree allocated to the specific leaf node is calculated The authentication support server comprising:
제21항에 있어서,
(x1) 상기 프로세서는, (i) 상기 제2 특정 해쉬값과 (ii) 상기 제2 특정 해쉬값이 할당된 노드의 형제 노드에 할당된 해쉬값을 연산하거나 연산하도록 지원하고, 상기 연산값에 대한 해쉬값을 상기 노드의 부모 노드에 할당하거나 할당하도록 지원하며,
(x2) 상기 부모 노드가 상기 머클 트리의 루트 노드이면, 상기 부모 노드에 할당된 해쉬값을 상기 제2 대표 해쉬값으로서 상기 가상 화폐의 상기 블록체인으로부터 획득된 OP 메시지에 포함된 값과 비교하거나 비교하도록 지원하고,
(x3) 상기 부모 노드가 상기 머클 트리의 루트 노드가 아니면, 상기 부모 노드에 할당된 해쉬값을 상기 제2 특정 해쉬값으로 하여 상기 (x1) 내지 (x3)를 반복하여 수행하는 것을 특징으로 하는 인증 지원 서버.
22. The method of claim 21,
(x1) the processor is configured to: (i) calculate or calculate a hash value assigned to the sibling node of the node to which the second specific hash value and (ii) the second specific hash value are assigned, To assign or assign a hash value to the parent node of the node,
(x2) if the parent node is the root node of the merge tree, comparing the hash value assigned to the parent node with the value contained in the OP message obtained from the block chain of the virtual currency as the second representative hash value Compare,
(x3) If the parent node is not the root node of the merge tree, the step (x1) to (x3) are repeated by using the hash value assigned to the parent node as the second specific hash value Authentication support server.
KR1020160051945A 2016-04-28 2016-04-28 Method for allowing a transaction to be processed and server using the same KR101773073B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160051945A KR101773073B1 (en) 2016-04-28 2016-04-28 Method for allowing a transaction to be processed and server using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160051945A KR101773073B1 (en) 2016-04-28 2016-04-28 Method for allowing a transaction to be processed and server using the same

Publications (1)

Publication Number Publication Date
KR101773073B1 true KR101773073B1 (en) 2017-08-31

Family

ID=59761003

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160051945A KR101773073B1 (en) 2016-04-28 2016-04-28 Method for allowing a transaction to be processed and server using the same

Country Status (1)

Country Link
KR (1) KR101773073B1 (en)

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101852156B1 (en) 2018-02-21 2018-04-26 주식회사 올아이티탑 System for dealing a digital currencywith block chain with preventing security and hacking
KR101867268B1 (en) * 2017-10-13 2018-06-18 주식회사 올아이티탑 System for dealing a digital currency with block chain with preventing security and hacking
US10091180B1 (en) 2012-03-20 2018-10-02 United Services Automobile Association (Usaa) Behavioral profiling method and system to authenticate a user
US10164973B1 (en) 2015-12-02 2018-12-25 United Services Automobile Association (Usaa) Public authentication systems and methods
KR20190026558A (en) * 2017-09-04 2019-03-13 한국전자통신연구원 Teriminal apparatus, server apparatus, blockchain and method for fido universal authentication using the same
KR101937188B1 (en) * 2018-02-06 2019-04-09 주식회사 코인플러그 Method for managing information using merkle tree based on blockchain, server and terminal using the same
WO2019078623A1 (en) * 2017-10-17 2019-04-25 주식회사 코인플러그 Blockchain-based payment method, and payment server using same
KR20190043071A (en) * 2017-10-17 2019-04-25 주식회사 코인플러그 Method for payment based on blockchain and payment server using the same
KR20190050266A (en) * 2017-11-02 2019-05-10 단국대학교 산학협력단 Method and apparatus for autheticating transaction using one time password
KR102024372B1 (en) * 2018-12-07 2019-09-24 주식회사 올아이티탑 System for dealing a digital currency with block chain matching biometric identification
US10454677B1 (en) 2016-02-24 2019-10-22 United Services Automobile Associate (USAA) Cryptographic key generation from biometric data
US10586062B1 (en) 2015-11-23 2020-03-10 United Services Automobile Association (Usaa) Systems and methods to track, store, and manage events, rights and liabilities
KR102112682B1 (en) * 2019-08-21 2020-05-21 주식회사 올아이티탑 System for dealing a digital currency with block chain matching biometric identification in connection with insurance
WO2020116813A1 (en) * 2018-12-07 2020-06-11 주식회사 올아이티탑 Digital virtual currency issued by being matched with biometric authentication signal, and transaction method therefor
CN111461468A (en) * 2019-01-02 2020-07-28 中国移动通信有限公司研究院 Data processing method and device, data node and storage medium
US10762506B1 (en) 2017-05-11 2020-09-01 United Services Automobile Association Token device for distributed ledger based interchange
US10771459B2 (en) 2017-09-04 2020-09-08 Electronics And Telecommunications Research Institute Terminal apparatus, server apparatus, blockchain and method for FIDO universal authentication using the same
US10805085B1 (en) 2017-08-24 2020-10-13 United Services Automobile Association (Usaa) PKI-based user authentication for web services using blockchain
US10818170B1 (en) 2016-01-20 2020-10-27 United Services Automobile Association Systems and methods for traffic management via inter-party resource allocation
US10979410B1 (en) 2015-05-04 2021-04-13 United Services Automobile Association (Usaa) Systems and methods for utilizing cryptology with virtual ledgers in support of transactions and agreements
CN112651835A (en) * 2020-12-30 2021-04-13 成都佳华物链云科技有限公司 Alliance chain transaction method and device, electronic equipment and storage medium
US11854011B1 (en) 2016-07-11 2023-12-26 United Services Automobile Association (Usaa) Identity management framework

Cited By (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10091180B1 (en) 2012-03-20 2018-10-02 United Services Automobile Association (Usaa) Behavioral profiling method and system to authenticate a user
US10979410B1 (en) 2015-05-04 2021-04-13 United Services Automobile Association (Usaa) Systems and methods for utilizing cryptology with virtual ledgers in support of transactions and agreements
US11790097B1 (en) 2015-11-23 2023-10-17 United Services Automobile Association (Usaa) Systems and methods to track, store, and manage events, rights, and liabilities
US11023604B1 (en) 2015-11-23 2021-06-01 United Services Automobile Association (Usaa) Systems and methods to track, store, and manage events, rights and liabilities
US10586062B1 (en) 2015-11-23 2020-03-10 United Services Automobile Association (Usaa) Systems and methods to track, store, and manage events, rights and liabilities
US10601819B1 (en) 2015-12-02 2020-03-24 United Services Automobile Association (Usaa) Public authentication systems and methods
US10263981B1 (en) 2015-12-02 2019-04-16 United Services Automobile Association (Usaa) Public authentication systems and methods
US10164973B1 (en) 2015-12-02 2018-12-25 United Services Automobile Association (Usaa) Public authentication systems and methods
US11765158B1 (en) 2015-12-02 2023-09-19 United Services Automobile Association (Usaa) Multi-factor authentication systems and methods
US11722482B1 (en) 2015-12-02 2023-08-08 United Services Automobile Association (Usaa) Public authentication systems and methods
US11032286B1 (en) 2015-12-02 2021-06-08 United Services Automobile Association (Usaa) Block chain authentication systems and methods
US11615386B1 (en) 2015-12-02 2023-03-28 United Services Automobile Association (Usaa) Block chain authentication systems and methods
US11201862B1 (en) 2015-12-02 2021-12-14 United Services Automobile Association (Usaa) Public authentication systems and methods
US11816984B1 (en) 2016-01-20 2023-11-14 United Services Automobile Association (Usaa) Systems and methods for traffic management via inter-party resource allocation
US10818170B1 (en) 2016-01-20 2020-10-27 United Services Automobile Association Systems and methods for traffic management via inter-party resource allocation
US10880080B1 (en) 2016-02-24 2020-12-29 Unites Services Automobile Association (USAA) Cryptographic key generation from biometric data
US10454677B1 (en) 2016-02-24 2019-10-22 United Services Automobile Associate (USAA) Cryptographic key generation from biometric data
US11854011B1 (en) 2016-07-11 2023-12-26 United Services Automobile Association (Usaa) Identity management framework
US11373187B1 (en) 2017-05-11 2022-06-28 United Services Automobile Association (Usaa) Token device for distributed ledger based interchange
US11769154B1 (en) 2017-05-11 2023-09-26 United Services Automobile Association (Usaa) Token device for distributed ledger based interchange
US10762506B1 (en) 2017-05-11 2020-09-01 United Services Automobile Association Token device for distributed ledger based interchange
US11711219B1 (en) 2017-08-24 2023-07-25 United Services Automobile Association (Usaa) PKI-based user authentication for web services using blockchain
US10805085B1 (en) 2017-08-24 2020-10-13 United Services Automobile Association (Usaa) PKI-based user authentication for web services using blockchain
US10771459B2 (en) 2017-09-04 2020-09-08 Electronics And Telecommunications Research Institute Terminal apparatus, server apparatus, blockchain and method for FIDO universal authentication using the same
KR20190026558A (en) * 2017-09-04 2019-03-13 한국전자통신연구원 Teriminal apparatus, server apparatus, blockchain and method for fido universal authentication using the same
KR102189554B1 (en) * 2017-09-04 2020-12-11 한국전자통신연구원 Teriminal apparatus, server apparatus, blockchain and method for fido universal authentication using the same
KR101867268B1 (en) * 2017-10-13 2018-06-18 주식회사 올아이티탑 System for dealing a digital currency with block chain with preventing security and hacking
KR102050271B1 (en) 2017-10-17 2020-01-08 주식회사 코인플러그 Method for payment based on blockchain and payment server using the same
WO2019078623A1 (en) * 2017-10-17 2019-04-25 주식회사 코인플러그 Blockchain-based payment method, and payment server using same
KR20190043071A (en) * 2017-10-17 2019-04-25 주식회사 코인플러그 Method for payment based on blockchain and payment server using the same
KR20190050266A (en) * 2017-11-02 2019-05-10 단국대학교 산학협력단 Method and apparatus for autheticating transaction using one time password
KR101998507B1 (en) * 2017-11-02 2019-07-10 단국대학교 산학협력단 Method and apparatus for autheticating transaction using one time password
KR101937188B1 (en) * 2018-02-06 2019-04-09 주식회사 코인플러그 Method for managing information using merkle tree based on blockchain, server and terminal using the same
KR101852156B1 (en) 2018-02-21 2018-04-26 주식회사 올아이티탑 System for dealing a digital currencywith block chain with preventing security and hacking
WO2020116813A1 (en) * 2018-12-07 2020-06-11 주식회사 올아이티탑 Digital virtual currency issued by being matched with biometric authentication signal, and transaction method therefor
KR102024372B1 (en) * 2018-12-07 2019-09-24 주식회사 올아이티탑 System for dealing a digital currency with block chain matching biometric identification
CN111461468B (en) * 2019-01-02 2023-10-31 中国移动通信有限公司研究院 Data processing method and device, data node and storage medium
CN111461468A (en) * 2019-01-02 2020-07-28 中国移动通信有限公司研究院 Data processing method and device, data node and storage medium
KR102112682B1 (en) * 2019-08-21 2020-05-21 주식회사 올아이티탑 System for dealing a digital currency with block chain matching biometric identification in connection with insurance
CN112651835B (en) * 2020-12-30 2023-05-23 成都佳华物链云科技有限公司 Alliance chain transaction method, device, electronic equipment and storage medium
CN112651835A (en) * 2020-12-30 2021-04-13 成都佳华物链云科技有限公司 Alliance chain transaction method and device, electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
KR101773073B1 (en) Method for allowing a transaction to be processed and server using the same
KR101780635B1 (en) Method for creating, registering, revoking certificate information and server using the same
KR101773074B1 (en) Method for allowing a transaction to be processed and server using the same
KR101762245B1 (en) Method for allowing a user to log in and server using the same
KR101756719B1 (en) Method for allowing a user to log in and server using the same
AU2019240671B2 (en) Methods for secure cryptogram generation
US20200336315A1 (en) Validation cryptogram for transaction
KR101766303B1 (en) Method for creating, registering, revoking certificate information and server using the same
US11870769B2 (en) System and method for identifying a browser instance in a browser session with a server
US20180204192A1 (en) Secure Digital Data Operations
US11849051B2 (en) System and method for off-chain cryptographic transaction verification
US20180053182A1 (en) Dynamic cryptocurrency aliasing
EP3632034A1 (en) Methods and systems for ownership verification using blockchain
WO2018177093A1 (en) Block chain processing method, accounting node, verification node and storage medium
AU2017354083A1 (en) Verifying an association between a communication device and a user
KR102284396B1 (en) Method for generating pki keys based on bioinformation on blockchain network and device for using them
JP6377679B2 (en) Control method, information processing system, computer, and control program
KR20190063796A (en) Identification apparatus and method based on biometric data for blockchain system
KR101816652B1 (en) Method for providing login flow via authentication based on public key infrastructure in response to user’s login request for using service provided by service provider server in use of merkle tree structure on the basis of unspent transaction output protocol and server using the same
KR101767534B1 (en) Method for providing identity verification using card base on near field communication, card, verification terminal, verification support server and identity verification server using the same
JP2023503607A (en) Method and device for automatic digital certificate verification
KR101829731B1 (en) Method and server for registering stockholder&#39;s list and recording transfer of stock ownership
KR20210053567A (en) Method for verifying certification improper use in block environment and system therefor

Legal Events

Date Code Title Description
GRNT Written decision to grant