KR101766303B1 - 인증 정보의 생성, 등록, 파기 방법 및 인증 지원 서버 - Google Patents

인증 정보의 생성, 등록, 파기 방법 및 인증 지원 서버 Download PDF

Info

Publication number
KR101766303B1
KR101766303B1 KR1020160047849A KR20160047849A KR101766303B1 KR 101766303 B1 KR101766303 B1 KR 101766303B1 KR 1020160047849 A KR1020160047849 A KR 1020160047849A KR 20160047849 A KR20160047849 A KR 20160047849A KR 101766303 B1 KR101766303 B1 KR 101766303B1
Authority
KR
South Korea
Prior art keywords
public key
transaction
authentication
specific user
hash value
Prior art date
Application number
KR1020160047849A
Other languages
English (en)
Inventor
송주한
홍재우
어준선
Original Assignee
주식회사 코인플러그
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 코인플러그 filed Critical 주식회사 코인플러그
Priority to KR1020160047849A priority Critical patent/KR101766303B1/ko
Priority to US15/488,719 priority patent/US10755237B2/en
Application granted granted Critical
Publication of KR101766303B1 publication Critical patent/KR101766303B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • 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/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • H04L9/3223
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • 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
    • G06Q2220/00Business processing using cryptography
    • G06Q2220/10Usage protection of distributed data files
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Abstract

본 발명의 일 태양에 따르면, 인증 정보의 생성 및 등록 방법에 있어서, (a) 인증 정보에 대한 등록 요청을 받은 생체 인증 서버로부터 (i) 특정 사용자의 public key 및 (ii) 상기 특정 사용자 정보의 해쉬값 또는 이를 가공한 값이 획득되면, 인증 지원 서버가, 상기 public key의 등록 여부를 확인하는 단계, (b) 상기 확인 결과, 상기 public key가 미등록 상태이면, 상기 인증 지원 서버가, (i) 상기 특정 사용자의 public key 및 (ii) 상기 해쉬값 또는 이를 가공한 값을 output으로 하는 transaction을 생성하여 데이터베이스에 전송하는 단계, (c) 상기 인증 지원 서버가, 상기 transaction이 상기 데이터베이스 상에 기록된 위치 정보를 나타내는 transaction ID를 획득하는 단계, 및 (d) 상기 인증 지원 서버가, 상기 생체 인증 서버에 (i) 상기 public key 및 (ii) 상기 해쉬값 또는 이를 가공한 값이 정상적으로 등록되었음을 알리는 메시지를 전달하는 단계를 포함하는 방법이 제공된다.

Description

인증 정보의 생성, 등록, 파기 방법 및 인증 지원 서버{METHOD FOR CREATING, REGISTERING, REVOKING CERTIFICATE INFORMATION AND SERVER USING THE SAME}
본 발명은 인증 정보의 생성, 등록, 파기 방법 및 인증 지원 서버에 관한 것으로, 좀더 상세하게는, 인증 정보에 대한 등록 요청을 받은 생체 인증 서버로부터 특정 사용자의 public key 및 상기 특정 사용자 정보의 해쉬값 또는 이를 가공한 값이 획득되면, 상기 public key의 등록 여부를 확인하고, 상기 확인 결과, 상기 public key가 미등록 상태이면, 상기 특정 사용자의 public key 및 상기 해쉬값 또는 이를 가공한 값을 output으로 하는 transaction을 생성하여 데이터베이스에 전송하며, 상기 transaction이 상기 데이터베이스 상에 기록된 위치 정보를 나타내는 transaction ID를 획득하고, 상기 생체 인증 서버에 상기 public key 및 상기 해쉬값 또는 이를 가공한 값이 정상적으로 등록되었음을 알리는 메시지를 전달하는 (1) 인증 정보의 생성 및 등록 프로세스를 수행하고, 인증 정보에 대한 파기 요청을 받은 생체 인증 서버로부터 특정 사용자의 public key가 획득되면, 상기 public key의 등록 여부를 확인하고, 상기 확인 결과, 상기 public key가 등록 상태이면, 상기 public key에 대응되는 transaction ID를 이용하여 데이터베이스로부터 상기 transaction ID에 대응되는 특정 transaction의 출력값을 획득하고, 상기 출력값의 적어도 일부를 입력값으로 하는 새로운 transaction을 생성하여 상기 데이터베이스에 전송하며, 상기 새로운 transaction이 상기 데이터베이스 상에 기록된 위치 정보를 나타내는 transaction ID를 획득하고, 인증 정보에 대한 파기 사실을 상기 생체 인증 서버에 알리는 인증 정보에 대한 (2) 파기 프로세스를 수행하는, 인증 정보의 생성, 등록, 파기 방법 및 인증 지원 서버에 관한 것이다.
생체 인증 기술이란 지문, 홍채, 얼굴, 음성 등 개인의 고유한 생체 정보를 이용하여 인증을 수행하는 기술을 말한다. 생체 인증 기술은 고유한 생체 정보를 이용하므로 보안성이 높고 편리한바 최근 FIDO(Fast Identity Online)와 같은 생체 인증 기술을 접목한 사용자 인증 기술이 각광을 받고 있다.
한편, 최근 가상 화폐의 블록체인 기술은 블록체인 상에 기록된 거래 내역의 위/변조가 불가능하므로 보안성이 중요시되는 금융산업분야에서 주목을 받고 있다.
이에 발명자는 좀더 안전하게 금융 거래를 할 수 있도록 생체 인증 기술에 블록체인 기술을 접목시켜 PKI 기반으로 인증 정보를 생성하고 블록체인 상에 등록하여 관리할 수 있는 기술을 발명하기에 이르렀다.
본 발명은 상술한 문제점들을 모두 해결하는 것을 그 목적으로 한다.
또한, 본 발명은 생체 인증 기술에 블록체인 기술을 접목시켜 PKI 기반으로 인증 정보를 생성하고 블록체인 상에 등록하여 관리할 수 있는 기술을 제공하는 것을 다른 목적으로 한다.
또한, 본 발명은 인증 정보 등록 요청이 있는 경우, 생체 인증 서버로부터 제공받은 특정 사용자의 public key의 등록 여부를 판단하여 미등록상태인 경우, 인증 정보를 생성하고 블록체인 상에 등록하는 것을 또 다른 목적으로 한다.
또한, 본 발명은, 인증 정보 파기 요청이 있는 경우, 생체 인증 서버로부터 제공받은 특정 사용자의 public key의 등록 여부를 판단하여 등록상태인 경우, 파기 transaction을 생성하여 블록체인 상에 등록함으로써 인증 정보 파기를 수행하는 것을 또 다른 목적으로 한다.
상기 목적을 달성하기 위한 본 발명의 대표적인 구성은 다음과 같다.
본 발명의 일 태양에 따르면, 인증 정보의 생성 및 등록 방법에 있어서, (a) 인증 정보에 대한 등록 요청을 받은 생체 인증 서버로부터 (i) 특정 사용자의 public key 및 (ii) 상기 특정 사용자 정보의 해쉬값 또는 이를 가공한 값이 획득되면, 인증 지원 서버가, 상기 public key의 등록 여부를 확인하는 단계, (b) 상기 확인 결과, 상기 public key가 미등록 상태이면, 상기 인증 지원 서버가, (i) 상기 특정 사용자의 public key 및 (ii) 상기 해쉬값 또는 이를 가공한 값을 output으로 하는 transaction을 생성하여 데이터베이스에 전송하는 단계, (c) 상기 인증 지원 서버가, 상기 transaction이 상기 데이터베이스 상에 기록된 위치 정보를 나타내는 transaction ID를 획득하는 단계, 및 (d) 상기 인증 지원 서버가, 상기 생체 인증 서버에 (i) 상기 public key 및 (ii) 상기 해쉬값 또는 이를 가공한 값이 정상적으로 등록되었음을 알리는 메시지를 전달하는 단계를 포함하는 방법이 제공된다.
본 발명의 다른 태양에 따르면, 인증 정보에 대한 파기 방법에 있어서, (a) 인증 정보에 대한 파기 요청을 받은 생체 인증 서버로부터 특정 사용자의 public key가 획득되면, 인증 지원 서버가, 상기 public key의 등록 여부를 확인하는 단계, (b) 상기 확인 결과, 상기 public key가 등록 상태이면, 상기 인증 지원 서버가, 상기 public key에 대응되는 transaction ID를 이용하여 데이터베이스로부터 상기 transaction ID에 대응되는 특정 transaction의 출력값을 획득하는 단계, (c) 상기 인증 지원 서버가, 상기 출력값의 적어도 일부를 입력값으로 하는 새로운 transaction을 생성하여 상기 데이터베이스에 전송하는 단계, (d) 상기 인증 지원 서버가, 상기 새로운 transaction이 상기 데이터베이스 상에 기록된 위치 정보를 나타내는 transaction ID를 획득하는 단계, 및 (e) 상기 인증 지원 서버가, 인증 정보에 대한 파기 사실을 상기 생체 인증 서버에 알리는 단계를 포함하는 방법이 제공된다.
본 발명의 또 다른 태양에 따르면, 인증 정보를 생성하고 등록하는 인증 지원 서버에 있어서, 인증 정보에 대한 등록 요청을 받은 생체 인증 서버로부터 (i) 특정 사용자의 public key 및 (ii) 상기 특정 사용자 정보의 해쉬값 또는 이를 가공한 값이 획득되면, 상기 public key의 등록 여부를 확인하는 프로세서, 및 상기 확인 결과, 상기 public key가 미등록 상태이면, (i) 상기 특정 사용자의 public key 및 (ii) 상기 해쉬값 또는 이를 가공한 값을 output으로 하는 transaction을 생성하여 데이터베이스에 전송하고, 상기 transaction이 상기 데이터베이스 상에 기록된 위치 정보를 나타내는 transaction ID를 획득하며, 상기 생체 인증 서버에 (i) 상기 public key 및 (ii) 상기 해쉬값 또는 이를 가공한 값이 정상적으로 등록되었음을 알리는 메시지를 전달하는 통신부를 포함하는 인증 지원 서버가 제공된다.
본 발명의 또 다른 태양에 따르면, 인증 정보에 대한 파기를 수행하는 인증 지원 서버에 있어서, 인증 정보에 대한 파기 요청을 받은 생체 인증 서버로부터 특정 사용자의 public key가 획득되면, 상기 public key의 등록 여부를 확인하는 프로세서, 및 상기 확인 결과, 상기 public key가 등록 상태이면, 상기 public key에 대응되는 transaction ID를 이용하여 데이터베이스로부터 상기 transaction ID에 대응되는 특정 transaction의 출력값을 획득하고, 상기 출력값의 적어도 일부를 입력값으로 하는 새로운 transaction을 생성하도록 지원하여 상기 데이터베이스에 전송하며, 상기 새로운 transaction이 상기 데이터베이스 상에 기록된 위치 정보를 나타내는 transaction ID를 획득하고, 인증 정보에 대한 파기 사실을 상기 생체 인증 서버에 알리는 통신부를 포함하는 인증 지원 서버가 제공된다.
본 발명에 의하면, 다음과 같은 효과가 있다.
또한, 본 발명은 생체 인증 기술에 블록체인 기술을 접목시켜 PKI 기반으로 인증 정보를 생성하고 블록체인 상에 등록하여 관리할 수 있는 기술을 제공하는 효과가 있다.
또한, 본 발명은 인증 정보 등록 요청이 있는 경우, 생체 인증 서버로부터 제공받은 특정 사용자의 public key의 등록 여부를 판단하여 미등록상태인 경우, 인증 정보를 생성하고 블록체인 상에 등록할 수 있는 효과가 있다.
또한, 본 발명은, 인증 정보 파기 요청이 있는 경우, 생체 인증 서버로부터 제공받은 특정 사용자의 public key의 등록 여부를 판단하여 등록상태인 경우, 파기 transaction을 생성하여 블록체인 상에 등록함으로써 인증 정보 파기를 수행할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 인증 정보를 생성하고 등록하는 인증 지원 서버의 구성을 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 인증 정보의 생성 및 등록 과정을 도시한 시퀀스다이어그램이다.
도 3은 본 발명의 일 실시예에 따른 인증 정보에 대한 파기 과정을 도시한 시퀀스다이어그램이다.
도 4는 본 발명의 다른 실시예에 따른 로그인 시 인증 정보를 사용하는 과정을 도시한 시퀀스다이어그램이다.
도 5는 본 발명의 또 다른 실시예에 따른 거래시 인증 정보를 사용하는 과정을 도시한 시퀀스다이어그램이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
도 1은 본 발명의 일 실시예에 따른 인증 정보를 생성하고 등록하는 인증 지원 서버의 구성을 도시한 블록도이고, 도 2는 본 발명의 일 실시예에 따른 인증 정보의 생성 및 등록 과정을 도시한 시퀀스다이어그램이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 인증 정보를 생성하고 등록하는 인증 지원 서버(100)는 프로세서(110) 및 통신부(120)를 포함한다.
프로세서(110)는, 은행 서버(400)로부터 인증 정보에 대한 등록 요청을 받은 생체 인증 서버(300)로부터 (i) 특정 사용자의 public key 및 (ii) 상기 특정 사용자 정보의 해쉬값 또는 이를 가공한 값이 획득되면, 상기 public key의 등록 여부를 확인하는 구성이다. 생체 인증 서버(300)는 생체 정보를 통해 사용자 인증을 수행하는 장치로서, 예를 들어, FIDO 서버가 될 수 있다.
도 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, 기타 사용자 입/출력이 가능한 전자 장치 중 어느 하나가 될 수 있다.
통신부(120)는, 생체 인증 서버(300) 또는 데이터베이스(200)와 통신하는 구성이다. 여기서, 데이터베이스(200)는 가상화폐의 블록체인일 수 있다.
상기 확인 결과, 상기 public key가 등록 상태이면(S210), 이미 인증 정보가 등록되어 있다는 의미이므로, 통신부(120)는, 생체 인증 서버(300)에 error 메시지를 전송할 수 있다(S212). error 메시지는 은행 서버(400)를 거쳐 사용자 단말(500)로 전달된다.
이와 달리, 상기 확인 결과, 상기 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)에 전송함으로써 인증 정보에 대한 파기가 이루어질 수 있다.
또한, 통신부(120)는, 상기 transaction이 상기 데이터베이스(200) 상에 기록된 위치 정보를 나타내는 transaction ID를 획득하며(S218), 상기 생체 인증 서버(300)에 (i) 상기 public key 및 (ii) 상기 해쉬값 또는 이를 가공한 값이 정상적으로 등록되었음을 알리는 메시지를 전달(S220)할 수 있다. 상기 메시지는 은행 서버(400)를 거쳐 사용자 단말(500)에 전달된다.
통신부(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를 따를 수 있다.
한편, 프로세서(110)는, transaction ID, 특정 사용자 정보의 해쉬값 또는 이를 가공한 값, 특정 사용자의 public key를 로컬 데이터베이스(미도시)에 저장할 수 있다.
프로세서(110)는, 통신부(120) 및 다른 구성요소 간의 데이터의 흐름을 제어하는 기능을 수행한다. 즉, 프로세서(110)는 인증 지원 서버(100)의 각 구성요소 간의 데이터의 흐름을 제어함으로써, 통신부(120) 및 다른 구성요소에서 각각 고유 기능을 수행하도록 제어한다.
프로세서(110)는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 운영체제, 특정 목적을 수행하는 어플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.
이하에서는 인증 정보에 대한 파기를 수행하는 인증 지원 서버(100)의 구성 및 동작에 대해서 설명한다. 이하에서 설명하는 인증 정보에 대한 파기를 수행하는 인증 지원 서버는 전술한 인증 지원 서버(100)와 별도의 장치로 구성될 수도 있으나, 설명의 편의를 위해 동일한 장치인 것으로 설명한다.
도 3은 본 발명의 일 실시예에 따른 인증 정보에 대한 파기 과정을 도시한 시퀀스다이어그램이다.
프로세서(110)는, 인증 정보 생성 및 등록 과정과 마찬가지로 은행 서버(400)로부터 인증 정보에 대한 파기 요청을 받은 생체 인증 서버(300)로부터 특정 사용자의 public key가 획득되면, 상기 public key의 등록 여부를 확인한다(S308). public key의 등록 여부를 확인하기 이전의 과정은 인증 정보를 생성하고 등록하는 과정과 유사하게 이루어진다.
우선, 사용자 단말(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).
통신부(120)는, 상기 확인 결과, 상기 public key가 미등록 상태이면, 인증 정보가 등록되지 않았다는 것이므로, error 메시지를 전송할 수 있다(S312). error 메시지는 은행 서버(400)를 거쳐 사용자 단말(500)로 전달될 수 있다.
통신부(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)로 전달될 수 있다.
다만, 이와 같은 작업을 수행하기에 앞서, 통신부(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)에 전달될 수 있다. 상기 상태는 파기 상태 또는 계약 상의 소정의 조건을 만족하는 상태일 수 있다.
이하에서는 인증 정보를 사용하는 인증 지원 서버의 구성 및 동작에 대해서 설명한다. 이하에서 설명하는 인증 지원 서버는 전술한 인증 지원 서버(100)와 별도의 장치로 구성될 수도 있으나, 설명의 편의를 위해 동일한 장치인 것으로 설명한다.
도 4는 본 발명의 다른 실시예에 따른 로그인 시 인증 정보를 사용하는 과정을 도시한 시퀀스다이어그램이다.
도 4를 참조하면, 프로세서(110)는, 은행 서버(400)로부터 인증 정보 사용 요청을 받은 생체 인증 서버(300)로부터 특정 사용자의 public key가 획득되면, 상기 public key의 등록 여부를 확인할 수 있다(S408).
public key의 등록 여부를 확인하기 이전의 과정은 인증 정보를 생성하고 등록하는 과정, 인증 정보를 파기하는 과정과 유사하게 이루어지므로 중복 설명은 생략한다.
통신부(120)는, 상기 확인 결과, 상기 public key가 미등록 상태이면(S410), 사용할 수 있는 인증 정보가 없는 것이므로 error 메시지를 생체 인증 서버(300)에 전송한다(S412). 이 경우, 생체 인증 서버(300)는 은행 서버(400)로 error 메시지를 전달하고, 은행 서버(400)는 사용자 단말(500)로 error 메시지를 전달할 수 있다.
통신부(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).
좀더 구체적으로 설명하면, 통신부(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). 참고로 사용자의 생체 정보는, 홍채 정보, 지문 정보, 안면 정보 중 적어도 일부일 수 있다.
다만, 이와 같은 작업을 수행하기에 앞서, 통신부(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)로 전달된다. 상기 상태는 파기 상태 또는 계약의 소정의 조건을 만족하는 상태일 수 있다.
도 5는 본 발명의 또 다른 실시예에 따른 거래시 인증 정보를 사용하는 과정을 도시한 시퀀스다이어그램이다.
도 5를 참조하면, 프로세서(110)는, 은행 서버(400)로부터 인증 정보 사용 요청을 받은 생체 인증 서버(300)로부터 특정 사용자의 public key가 획득되면, 상기 public key의 등록 여부를 확인할 수 있다(S514).
public key의 등록 여부를 확인하기 이전의 과정은 인증 정보를 생성하고 등록하는 과정, 인증 정보를 파기하는 과정과 유사하게 이루어질 수 있으므로 중복 설명은 생략한다.
상기 확인 결과, 상기 public key가 미등록 상태이면(S516), 상기 통신부(120)는, 상기 생체 인증 서버(300)로 등록되지 않은 public key임을 나타내는 에러 메시지를 전송할 수 있다(S518). 에러 메시지는 은행 서버(400)를 거쳐 사용자 단말(500)로 전달될 수 있다.
반면, 상기 확인 결과, 상기 public key가 등록 상태이면, 통신부(120)는, 상기 특정 사용자의 public key를 상기 생체 인증 서버(300)에 전송하거나(S534) 상기 생체 인증 서버(300)가 관리하고 있는 상기 특정 사용자의 public key를 사용하도록 하여 (i) 상기 생체 인증 서버(300)가, 거래 정보의 해쉬값(Thash) 또는 이를 가공한 값을 상기 특정 사용자의 생체 정보에 대응되는 private key로 서명한 값을 상기 특정 사용자의 public key를 이용하여 검증하며(S536), (ii) 상기 검증 결과에 대한 메시지를 상기 은행 서버(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 전달과는 별도로 이루어질 수도 있다.
한편, 상기 (ii)에서, 상기 검증 결과가 거짓이면(S538), 상기 통신부(120)는, 상기 특정 사용자가 입력한 생체 정보가 맞지 않음을 나타내는 메시지를 전송할 수 있다(S540). 상기 메시지는 은행 서버(400)를 거쳐 사용자 단말(500)에 전달된다.
다만, 이와 같은 작업을 수행하기에 앞서, 통신부(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)에 전달된다. 상기 상태는 파기 상태 또는 계약 상의 소정의 조건을 만족하는 상태일 수 있다.
한편, 통신부(120)는, 상기 거래 정보의 해쉬값 또는 이를 가공한 값을 상기 private key로 서명한 값(X1) 또는 이에 대한 해쉬값(X2)을 상기 데이터베이스(200)에 기록하도록 전송할 수 있다(S544). 이는 거래시 부인 방지를 위해 거래 정보를 데이터베이스(200)에 기록하는 것이다.
통신부(120)는, 상기 X1 또는 X2가 상기 데이터베이스(200) 상에 기록된 위치 정보를 나타내는 transaction ID를 획득하고(S546), 상기 획득된 transaction ID를 상기 생체 인증 서버(300)로 전송할 수 있다(S548). transaction ID는 은행 서버(400)를 거쳐 사용자 단말(500)로 전달될 수 있다.
이상과 같은 본 발명의 다양한 실시예에 따른 인증 지원 서버(100)는 생체 인증 기술에 블록체인 기술을 접목시켜 PKI 기반으로 인증서를 생성하고 블록체인 상에 등록하여 사용 및 관리할 수 있는 기술을 제공한다.
한편, 이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
100 : 인증 지원 서버
200 : 데이터베이스
300 : 생체 인증 서버
400 : 은행 서버
500 : 사용자 단말
110 : 프로세서
120 : 통신부

Claims (22)

  1. 인증 정보의 생성 및 등록 방법에 있어서,
    (a) 인증 정보에 대한 등록 요청을 받은 생체 인증 서버로부터 (i) 특정 사용자의 public key 및 (ii) 상기 특정 사용자 정보의 해쉬값 또는 상기 해쉬값을 가공한 값이 획득되면, 인증 지원 서버가, 상기 public key의 등록 여부를 확인하는 단계,
    (b) 상기 확인 결과, 상기 public key가 미등록 상태이면, 상기 인증 지원 서버가, (i) 상기 특정 사용자의 public key 및 (ii) 상기 해쉬값 또는 상기 해쉬값을 가공한 값을 output으로 하는 transaction을 생성하여 데이터베이스에 전송하는 단계,
    (c) 상기 인증 지원 서버가, 상기 transaction이 상기 데이터베이스 상에 기록된 위치 정보를 나타내는 transaction ID를 획득하는 단계, 및
    (d) 상기 인증 지원 서버가, 상기 생체 인증 서버에 (i) 상기 public key 및 (ii) 상기 해쉬값 또는 상기 해쉬값을 가공한 값이 정상적으로 등록되었음을 알리는 메시지를 전달하는 단계를 포함하고,
    상기 (a) 단계는,
    특정 사용자의 public key가 생성되어 은행 서버에 전달되고, 상기 특정 사용자가 인증되어 상기 은행 서버로부터 상기 특정 사용자 정보의 해쉬값인 Uhash가 상기 생체 인증 서버에 전송되면, 상기 생체 인증 서버로부터 (i) 상기 public key 및 (ii) 상기 Uhash 또는 상기 Uhash를 가공한 값이 상기 인증 지원 서버로 전송되는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 Uhash를 가공한 값은, 상기 Uhash를 이용하여 user id가 생성되는 경우, 상기 user id 및 상기 Uhash의 해쉬값인 Idhash인 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 (a) 단계에서,
    상기 특정 사용자의 인증은,
    상기 특정 사용자의 public key 외에 상기 특정 사용자 정보의 해쉬값이 획득되면, 상기 은행 서버가 기 보유하고 있는 상기 특정 사용자 정보에 대한 해쉬값과 비교하여 서로 대응되는지에 따라 인증이 이루어지는 것을 특징으로 하는 방법.
  5. 인증 정보의 생성 및 등록 방법에 있어서,
    (a) 인증 정보에 대한 등록 요청을 받은 생체 인증 서버로부터 (i) 특정 사용자의 public key 및 (ii) 상기 특정 사용자 정보의 해쉬값 또는 상기 해쉬값을 가공한 값이 획득되면, 인증 지원 서버가, 상기 public key의 등록 여부를 확인하는 단계,
    (b) 상기 확인 결과, 상기 public key가 미등록 상태이면, 상기 인증 지원 서버가, (i) 상기 특정 사용자의 public key 및 (ii) 상기 해쉬값 또는 상기 해쉬값을 가공한 값을 output으로 하는 transaction을 생성하여 데이터베이스에 전송하는 단계,
    (c) 상기 인증 지원 서버가, 상기 transaction이 상기 데이터베이스 상에 기록된 위치 정보를 나타내는 transaction ID를 획득하는 단계, 및
    (d) 상기 인증 지원 서버가, 상기 생체 인증 서버에 (i) 상기 public key 및 (ii) 상기 해쉬값 또는 상기 해쉬값을 가공한 값이 정상적으로 등록되었음을 알리는 메시지를 전달하는 단계를 포함하고,
    상기 (b) 단계에서,
    상기 인증 지원 서버는, (i) 상기 특정 사용자의 public key 및 (ii) 상기 해쉬값 또는 상기 해쉬값을 가공한 값을 output1으로 하고, 소정의 액수의 가상 화폐를 output2로 하는 transaction을 생성하여 데이터베이스에 전송하는 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    상기 인증 지원 서버는, 상기 transaction ID, 상기 특정 사용자 정보의 해쉬값 또는 상기 해쉬값을 가공한 값, 상기 특정 사용자의 public key를 로컬 데이터베이스에 저장하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    상기 (b) 단계에서,
    상기 확인 결과, 상기 public key가 등록 상태이면, 상기 인증 지원 서버가, 상기 생체 인증 서버에 error 메시지를 전송하는 것을 특징으로 하는 방법.
  8. 제1항에 있어서,
    상기 특정 사용자 정보는, 상기 특정 사용자의 이름, 생년월일, 휴대폰 번호, 이메일 중 적어도 일부를 포함하여 해당 사용자를 식별할 수 있는 정보인 것을 특징으로 하는 방법.
  9. 인증 정보에 대한 파기 방법에 있어서,
    (a) 인증 정보에 대한 파기 요청을 받은 생체 인증 서버로부터 특정 사용자의 public key가 획득되면, 인증 지원 서버가, 상기 public key의 등록 여부를 확인하는 단계,
    (b) 상기 확인 결과, 상기 public key가 등록 상태이면, 상기 인증 지원 서버가, 상기 public key에 대응되는 transaction ID를 이용하여 데이터베이스로부터 상기 transaction ID에 대응되는 특정 transaction의 출력값을 획득하는 단계,
    (c) 상기 인증 지원 서버가, 상기 출력값을 입력값으로 하는 새로운 transaction을 생성하여 상기 데이터베이스에 전송하는 단계,
    (d) 상기 인증 지원 서버가, 상기 새로운 transaction이 상기 데이터베이스 상에 기록된 위치 정보를 나타내는 transaction ID를 획득하는 단계, 및
    (e) 상기 인증 지원 서버가, 인증 정보에 대한 파기 사실을 상기 생체 인증 서버에 알리는 단계를 포함하는 방법.
  10. 제9항에 있어서,
    상기 (b) 단계에서,
    상기 확인 결과, 상기 public key가 등록 상태이면, 상기 인증 지원 서버가, 상기 public key에 대응되는 transaction ID를 이용하여 상기 데이터베이스로부터 상기 transaction ID에 대응되는 상기 특정 transaction의 출력값으로서 public key 및 인증 정보의 상태 정보를 획득하고,
    상기 데이터베이스로부터 획득된 public key가 상기 생체 인증 서버로부터 획득된 public key와 대응되지 않는 것으로 판단되면, 상기 인증 지원 서버는 상기 생체 인증 서버에 에러 메시지를 전송하는 것을 특징으로 하는 방법.
  11. 제9항에 있어서,
    상기 (c) 단계에서,
    상기 인증 지원 서버는,
    상기 출력값인 소정의 가상화폐의 적어도 일부를 입력값으로 하는 unsigned transaction을 생성하고 이를 상기 인증 지원 서버의 private key로 서명하여 signed transaction을 생성함으로써 상기 새로운 transaction을 생성하는 것을 특징으로 하는 방법.
  12. 인증 정보를 생성하고 등록하는 인증 지원 서버에 있어서,
    인증 정보에 대한 등록 요청을 받은 생체 인증 서버로부터 (i) 특정 사용자의 public key 및 (ii) 상기 특정 사용자 정보의 해쉬값 또는 상기 해쉬값을 가공한 값이 획득되면, 상기 public key의 등록 여부를 확인하는 프로세서, 및
    상기 확인 결과, 상기 public key가 미등록 상태이면, (i) 상기 특정 사용자의 public key 및 (ii) 상기 해쉬값 또는 상기 해쉬값을 가공한 값을 output으로 하는 transaction을 생성하여 데이터베이스에 전송하고, 상기 transaction이 상기 데이터베이스 상에 기록된 위치 정보를 나타내는 transaction ID를 획득하며, 상기 생체 인증 서버에 (i) 상기 public key 및 (ii) 상기 해쉬값 또는 상기 해쉬값을 가공한 값이 정상적으로 등록되었음을 알리는 메시지를 전달하는 통신부를 포함하되,
    상기 특정 사용자의 public key가 생성되어 은행 서버에 전달되고, 상기 특정 사용자가 인증되어 상기 은행 서버로부터 상기 특정 사용자 정보의 해쉬값인 Uhash가 상기 생체 인증 서버에 전송되면, 상기 생체 인증 서버로부터 (i) 상기 public key 및 (ii) 상기 특정 사용자 정보의 해쉬값 또는 상기 해쉬값을 가공한 값으로서 상기 Uhash 또는 상기 Uhash를 가공한 값이 상기 인증 지원 서버로 전송되는 것을 특징으로 하는 인증 지원 서버.
  13. 삭제
  14. 제12항에 있어서,
    상기 Uhash를 가공한 값은, 상기 Uhash를 이용하여 user id가 생성되는 경우, 상기 user id 및 상기 Uhash의 해쉬값인 Idhash인 것을 특징으로 하는 인증 지원 서버.
  15. 제12항에 있어서,
    상기 특정 사용자의 인증은,
    상기 특정 사용자의 public key 외에 상기 특정 사용자 정보의 해쉬값이 획득되면, 상기 은행 서버가 기 보유하고 있는 상기 특정 사용자 정보에 대한 해쉬값과 비교하여 서로 대응되는지에 따라 인증이 이루어지는 것을 특징으로 하는 인증 지원 서버.
  16. 인증 정보를 생성하고 등록하는 인증 지원 서버에 있어서,
    인증 정보에 대한 등록 요청을 받은 생체 인증 서버로부터 (i) 특정 사용자의 public key 및 (ii) 상기 특정 사용자 정보의 해쉬값 또는 상기 해쉬값을 가공한 값이 획득되면, 상기 public key의 등록 여부를 확인하는 프로세서, 및
    상기 확인 결과, 상기 public key가 미등록 상태이면, (i) 상기 특정 사용자의 public key 및 (ii) 상기 해쉬값 또는 상기 해쉬값을 가공한 값을 output으로 하는 transaction을 생성하여 데이터베이스에 전송하고, 상기 transaction이 상기 데이터베이스 상에 기록된 위치 정보를 나타내는 transaction ID를 획득하며, 상기 생체 인증 서버에 (i) 상기 public key 및 (ii) 상기 해쉬값 또는 상기 해쉬값을 가공한 값이 정상적으로 등록되었음을 알리는 메시지를 전달하는 통신부를 포함하되,
    상기 통신부는, (i) 상기 특정 사용자의 public key 및 (ii) 상기 해쉬값 또는 상기 해쉬값을 가공한 값을 output1으로 하고, 소정의 액수의 가상 화폐를 output2로 하는 transaction을 생성하여 데이터베이스에 전송하는 것을 특징으로 하는 인증 지원 서버.
  17. 제12항에 있어서,
    상기 프로세서는, 상기 transaction ID, 상기 특정 사용자 정보의 해쉬값 또는 상기 해쉬값을 가공한 값, 상기 특정 사용자의 public key 를 로컬 데이터베이스에 저장하는 것을 특징으로 하는 인증 지원 서버.
  18. 제12항에 있어서,
    상기 확인 결과, 상기 public key가 등록 상태이면, 상기 통신부가, 상기 생체 인증 서버에 error 메시지를 전송하는 것을 특징으로 하는 인증 지원 서버.
  19. 제12항에 있어서,
    상기 특정 사용자 정보는, 상기 특정 사용자의 이름, 생년월일, 휴대폰 번호, 이메일 중 적어도 일부를 포함하여 해당 사용자를 식별할 수 있는 정보인 것을 특징으로 하는 인증 지원 서버.
  20. 인증 정보에 대한 파기를 수행하는 인증 지원 서버에 있어서,
    인증 정보에 대한 파기 요청을 받은 생체 인증 서버로부터 특정 사용자의 public key가 획득되면, 상기 public key의 등록 여부를 확인하는 프로세서, 및
    상기 확인 결과, 상기 public key가 등록 상태이면, 상기 public key에 대응되는 transaction ID를 이용하여 데이터베이스로부터 상기 transaction ID에 대응되는 특정 transaction의 출력값을 획득하고, 상기 출력값을 입력값으로 하는 새로운 transaction을 생성하도록 지원하여 상기 데이터베이스에 전송하며, 상기 새로운 transaction이 상기 데이터베이스 상에 기록된 위치 정보를 나타내는 transaction ID를 획득하고, 인증 정보에 대한 파기 사실을 상기 생체 인증 서버에 알리는 통신부를 포함하는 인증 지원 서버.
  21. 제20항에 있어서,
    상기 확인 결과, 상기 public key가 등록 상태이면, 상기 통신부가, 상기 public key에 대응되는 transaction ID를 이용하여 상기 데이터베이스로부터 상기 transaction ID에 대응되는 상기 특정 transaction의 출력값으로서 public key 및 인증 정보의 상태 정보를 획득하고,
    상기 데이터베이스로부터 획득된 public key가 상기 생체 인증 서버로부터 획득된 public key와 대응되지 않는 것으로 판단되면, 상기 생체 인증 서버에 에러 메시지를 전송하는 것을 특징으로 하는 인증 지원 서버.
  22. 제20항에 있어서,
    상기 통신부는, 상기 출력값인 소정의 가상화폐의 적어도 일부를 입력값으로 하는 unsigned transaction을 생성하고 이를 상기 인증 지원 서버의 private key로 서명하여 signed transaction을 생성함으로써 상기 새로운 transaction을 생성하도록 지원하는 것을 특징으로 하는 인증 지원 서버.
KR1020160047849A 2016-04-19 2016-04-19 인증 정보의 생성, 등록, 파기 방법 및 인증 지원 서버 KR101766303B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160047849A KR101766303B1 (ko) 2016-04-19 2016-04-19 인증 정보의 생성, 등록, 파기 방법 및 인증 지원 서버
US15/488,719 US10755237B2 (en) 2016-04-19 2017-04-17 Method for creating, registering, revoking authentication information and server using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160047849A KR101766303B1 (ko) 2016-04-19 2016-04-19 인증 정보의 생성, 등록, 파기 방법 및 인증 지원 서버

Publications (1)

Publication Number Publication Date
KR101766303B1 true KR101766303B1 (ko) 2017-08-08

Family

ID=59652969

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160047849A KR101766303B1 (ko) 2016-04-19 2016-04-19 인증 정보의 생성, 등록, 파기 방법 및 인증 지원 서버

Country Status (2)

Country Link
US (1) US10755237B2 (ko)
KR (1) KR101766303B1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107306183B (zh) * 2016-04-22 2021-12-21 索尼公司 客户端、服务端、方法和身份验证系统
KR101780635B1 (ko) * 2016-04-28 2017-09-21 주식회사 코인플러그 인증 정보의 생성, 등록, 파기 방법 및 인증 지원 서버
CN109274481B (zh) * 2018-08-01 2020-03-27 中国科学院数据与通信保护研究教育中心 一种区块链的数据可追踪方法
KR20200034020A (ko) 2018-09-12 2020-03-31 삼성전자주식회사 전자 장치 및 그의 제어 방법
US11756031B1 (en) * 2019-02-22 2023-09-12 Coinbase, Inc. Multicurrency blockchain platform and method of use
US10812477B2 (en) 2019-06-18 2020-10-20 Alibaba Group Holding Limited Blockchain-based enterprise authentication method, apparatus, and device, and blockchain-based authentication traceability method, apparatus, and device
US11429802B2 (en) 2019-09-12 2022-08-30 MobileIron, Inc. Obtaining device posture of a third party managed device
CN110705989B (zh) * 2019-09-17 2021-03-16 创新先进技术有限公司 身份认证方法、实现免登授权组件的方法及各自装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100911985B1 (ko) * 2007-05-15 2009-08-13 에스케이 텔레콤주식회사 근거리 무선통신 기반의 컨텐츠 공유 시스템 및 방법과이에 적용되는 단말
US20150269570A1 (en) * 2014-03-21 2015-09-24 Charles Phan Systems and methods in support of authentication of an item

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6446206B1 (en) * 1998-04-01 2002-09-03 Microsoft Corporation Method and system for access control of a message queue
US7010683B2 (en) * 2000-01-14 2006-03-07 Howlett-Packard Development Company, L.P. Public key validation service
WO2001065340A2 (en) * 2000-02-28 2001-09-07 Edentity Limited Information processing system and method
JP4368107B2 (ja) * 2000-07-26 2009-11-18 富士通株式会社 資産管理システム並びに資産管理用端末装置および資産管理装置
US7123722B2 (en) * 2000-12-18 2006-10-17 Globalcerts, Lc Encryption management system and method
US20020124190A1 (en) * 2001-03-01 2002-09-05 Brian Siegel Method and system for restricted biometric access to content of packaged media
JP2002271312A (ja) * 2001-03-14 2002-09-20 Hitachi Ltd 公開鍵管理方法
US8275716B2 (en) * 2001-05-31 2012-09-25 Contentguard Holdings, Inc. Method and system for subscription digital rights management
CA2465321C (en) * 2001-11-06 2010-05-11 International Business Machines Corporation Method and system for the supply of data, transactions and electronic voting
US7204425B2 (en) * 2002-03-18 2007-04-17 Precision Dynamics Corporation Enhanced identification appliance
JP2005143094A (ja) * 2003-10-14 2005-06-02 Canon Inc 画像検証システム、管理方法、及びコンピュータ読み取り可能な記憶媒体
AU2005266922A1 (en) * 2004-07-23 2006-02-02 Privit, Inc. Privacy compliant consent and data access management system and method
KR100785768B1 (ko) 2004-12-07 2007-12-18 한국전자통신연구원 생체인식을 이용한 통합 인증 방법 및 그 시스템
US8417960B2 (en) * 2006-09-06 2013-04-09 Hitachi, Ltd. Method for generating an encryption key using biometrics authentication and restoring the encryption key and personal authentication system
US8239455B2 (en) * 2007-09-07 2012-08-07 Siemens Aktiengesellschaft Collaborative data and knowledge integration
US20130185214A1 (en) * 2012-01-12 2013-07-18 Firethorn Mobile Inc. System and Method For Secure Offline Payment Transactions Using A Portable Computing Device
JP5840016B2 (ja) * 2012-02-02 2016-01-06 キヤノン株式会社 中継装置、情報処理システム、制御方法、管理方法およびコンピュータプログラム
US9876775B2 (en) * 2012-11-09 2018-01-23 Ent Technologies, Inc. Generalized entity network translation (GENT)
US20160283920A1 (en) * 2015-03-28 2016-09-29 Justin Fisher Authentication and verification of digital data utilizing blockchain technology
US20160300223A1 (en) * 2015-04-08 2016-10-13 Portable Data Corporation Protected data transfer across disparate networks
EP3955146A1 (en) * 2015-05-05 2022-02-16 Ping Identity Corporation Identity management service using a block chain
US10026082B2 (en) * 2015-05-21 2018-07-17 Mastercard International Incorporated Method and system for linkage of blockchain-based assets to fiat currency accounts
US9705851B2 (en) * 2015-07-06 2017-07-11 Verisign, Inc. Extending DNSSEC trust chains to objects outside the DNS
KR101661930B1 (ko) * 2015-08-03 2016-10-05 주식회사 코인플러그 블록체인을 기반으로 하는 공인인증서 발급시스템
CA3019642C (en) * 2016-04-01 2023-03-07 Jpmorgan Chase Bank, N.A. Systems and methods for providing data privacy in a private distributed ledger
US10366388B2 (en) * 2016-04-13 2019-07-30 Tyco Fire & Security Gmbh Method and apparatus for information management
US9635000B1 (en) * 2016-05-25 2017-04-25 Sead Muftic Blockchain identity management system based on public identities ledger

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100911985B1 (ko) * 2007-05-15 2009-08-13 에스케이 텔레콤주식회사 근거리 무선통신 기반의 컨텐츠 공유 시스템 및 방법과이에 적용되는 단말
US20150269570A1 (en) * 2014-03-21 2015-09-24 Charles Phan Systems and methods in support of authentication of an item

Also Published As

Publication number Publication date
US20170302460A1 (en) 2017-10-19
US10755237B2 (en) 2020-08-25

Similar Documents

Publication Publication Date Title
KR101773074B1 (ko) 거래를 지원하기 위한 방법 및 이를 사용한 인증 지원 서버
KR101762245B1 (ko) 로그인을 지원하기 위한 방법 및 이를 사용한 인증 지원 서버
KR101780635B1 (ko) 인증 정보의 생성, 등록, 파기 방법 및 인증 지원 서버
KR101773073B1 (ko) 거래를 지원하기 위한 방법 및 이를 사용한 인증 지원 서버
KR101766303B1 (ko) 인증 정보의 생성, 등록, 파기 방법 및 인증 지원 서버
US11647023B2 (en) Out-of-band authentication to access web-service with indication of physical access to client device
KR101756719B1 (ko) 로그인을 지원하기 위한 방법 및 이를 사용한 인증 지원 서버
KR102358546B1 (ko) 장치에 대해 클라이언트를 인증하기 위한 시스템 및 방법
KR102413638B1 (ko) 인증 서비스 시스템 및 방법
KR102383021B1 (ko) 인증 장치의 등록을 위한 향상된 보안
US11539690B2 (en) Authentication system, authentication method, and application providing method
JP7228977B2 (ja) 情報処理装置及び認可システムと検証方法
US9628282B2 (en) Universal anonymous cross-site authentication
KR102284396B1 (ko) 생체 정보 기반의 pki 키 생성 방법 및 이를 이용한 키 생성 장치
KR101727134B1 (ko) 파일에 대한 공증, 검증 및 파기를 수행하는 방법 및 서버
US20180158058A1 (en) Apparatus and method to prevent execution of an unauthorized transaction via a distributed database
TW201903637A (zh) 判定認證能力之查詢系統、方法及非暫態機器可讀媒體
KR102137122B1 (ko) 보안 체크 방법, 장치, 단말기 및 서버
TW201606498A (zh) 一種設備標識提供方法及裝置
CN108833431B (zh) 一种密码重置的方法、装置、设备及存储介质
US20210241270A1 (en) System and method of blockchain transaction verification
US20150280920A1 (en) System and method for authorization
CN113711560A (zh) 用于有效质询-响应验证的系统和方法
KR101818601B1 (ko) 근거리 무선 통신 기반의 카드를 이용하여 본인 인증 서비스를 제공하는 방법 및 이를 이용한 카드, 인증용 단말, 인증 지원 서버 및 본인 인증 서버
KR101767534B1 (ko) 근거리 무선 통신 기반의 카드를 이용하여 본인 인증 서비스를 제공하는 방법 및 이를 이용한 카드, 인증용 단말, 인증 지원 서버 및 본인 인증 서버

Legal Events

Date Code Title Description
GRNT Written decision to grant