KR102255287B1 - 블록체인 상에서 일회용 비밀번호를 적용한 신원관리 시스템 - Google Patents

블록체인 상에서 일회용 비밀번호를 적용한 신원관리 시스템 Download PDF

Info

Publication number
KR102255287B1
KR102255287B1 KR1020180064755A KR20180064755A KR102255287B1 KR 102255287 B1 KR102255287 B1 KR 102255287B1 KR 1020180064755 A KR1020180064755 A KR 1020180064755A KR 20180064755 A KR20180064755 A KR 20180064755A KR 102255287 B1 KR102255287 B1 KR 102255287B1
Authority
KR
South Korea
Prior art keywords
user
computer
blockchain
message
biometric data
Prior art date
Application number
KR1020180064755A
Other languages
English (en)
Other versions
KR20190138389A (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 KR1020180064755A priority Critical patent/KR102255287B1/ko
Publication of KR20190138389A publication Critical patent/KR20190138389A/ko
Application granted granted Critical
Publication of KR102255287B1 publication Critical patent/KR102255287B1/ko

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
    • G06Q20/3827Use of message hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • H04L2209/38

Abstract

본 발명은 일회용 비밀번호를 적용한 신원관리가 포함된 블록체인에 있어서, 생체자료 수집 장치로부터 수집한 등록생체자료를 분산화시켜 제공하는 블록체인(blockchain)을 사용하며, 블록체인을 구성 요소들은, 블록체인을 사용하는 단말 사용자(end-user)와, 사용자의 생체 자료를 수집할 수 있는 하드웨어 장치이며, 장치의 고유 키를 내부에 저장하고 있는 생체자료 수집장치와, 사용자에 대한 신원 검증을 요청하는 주체인 요청자 컴퓨터와, 사용자에 대한 신원 검증 서비스(verification service)를 제공하는 주체인 검증자(검증자의 컴퓨터)와, 블록체인을 구성하는 각 노드(node)에 해당하는 채굴자 컴퓨터이며, 사용자의 거래(transaction)들이 유효한지를 확인하고, 거래 처리에 따른 보상(reward)이 커질수록 더 많은 수의 채굴자들이 서로 경쟁적으로 투입되어 빠른 거래가 이루어지도록 구성된 일회용 비밀번호를 적용한 신원관리가 포함된 블록체인의 제공에 관한 것이다.

Description

블록체인 상에서 일회용 비밀번호를 적용한 신원관리 시스템{Physical identity management system using One-time-password on Blockchain}
본 발명은 사용자가 본인의 생체 자료(biometric data)를 사용하여 신원을 관리하여 검증(identify/verify)할 수 있는 신원관리가 포함된 블록체인(blockchain) 제공에 관한 것이며, 보다 구체적으로, 본 발명은 일회용 비밀번호를 적용한 신원관리가 포함된 블록체인에 있어서, 생체자료 수집 장치로부터 수집한 등록 생체자료를 분산화시켜 제공하는 블록체인(blockchain)을 사용하며, 블록체인을 구성하는 요소들은, 블록체인을 사용하는 단말 사용자(end-user)와, 사용자의 생체 자료를 수집할 수 있는 하드웨어 장치이며, 생체 자료 수집장치의 고유 키를 내부에 저장하고 있는 생체자료 수집장치와, 사용자에 대한 신원 검증을 요청하는 주체인 요청자 컴퓨터와, 사용자에 대한 신원 검증 서비스(verification service)를 제공하는 주체인 검증자(검증자의 컴퓨터)와, 블록체인을 구성하는 각 노드(node)에 해당하는 채굴자 컴퓨터이며, 사용자의 거래(transaction)들이 유효한지를 확인하고, 거래 처리에 따른 보상(reward)이 커질수록 더 많은 수의 채굴자들이 서로 경쟁적으로 투입되어 빠른 거래가 이루어지도록 구성된 일회용 비밀번호를 적용한 신원관리가 포함된 블록체인에 관한 것이다.
본 발명의 관련된 기술로는 본 발명의 출원인이 특허 출원하여 등록된 등록특허공보 제10-1284481("생체 이미지 정보를 포함하는 일회용 비밀번호를 이용한 인증 방법 및 장치")에 구체적으로 개시되어 있는 내용이 있으며, 이 내용을 생체자료를 분산화시키는 방법과 블록체인(blockchain) 기술을 적용하여 보다 안전하고 보안성을 크게 높인 일회용 비밀번호를 적용한 신원관리가 포함된 블록체인을 제공하는 것이다.
등록특허공보 제10-1284481
본 발명이 해결하고자 하는 과제는 사용자 본인의 생체 자료(biometric data)를 분산시켜 저장하고 회수하는 방식을 사용하여 신원을 관리하고 검증(identify/verify)할 수 있는 신원관리가 포함된 블록체인(blockchain)을 제공하여 보안이 강화된 블록체인을 제공하는데 있다.
본 발명이 해결하고자 하는 또 다른 과제는 개인 키(private key)를 생성하기 위하여 두 가지 구성요소의 조합으로부터 해쉬 함수를 이용하여 해쉬 값(hash value)을 구하는 수단을 포함하며; 상기 두 가지 구성요소는, 생체자료 수집 장치로부터 수집된 등록 생체자료(enrollment biometric data) 및 생체자료 수집 장치에 할당된 장치의 고유 키(unique device key)이며, 알고리즘을 사용하여 개인 키에 대응하는 공용 키(public key)를 생성하는 수단을 포함하고, 공용 키는 블록체인 상에 둘 이상의 노드에 공유하며, 보안성을 강화하기 위하여 개인키는 공용 키를 생성한 이후에 완전히 제거하여 보안이 강화된 신원관리가 포함된 블록체인을 제공하는데 있다.
본 발명 과제의 해결 수단은 일회용 비밀번호를 적용한 신원관리가 포함된 블록체인에 있어서, 생체자료 수집 장치로부터 수집한 등록 생체자료를 분산화시켜 제공하는 블록체인(blockchain)을 사용하며, 블록체인 구성하는 요소들은, 블록체인을 사용하는 단말 사용자(end-user)와, 사용자의 생체 자료를 수집할 수 있는 하드웨어 장치이며, 생체 자료 수집장치의 고유 키를 내부에 저장하고 있는 생체자료 수집장치와, 사용자에 대한 신원 검증을 요청하는 주체인 요청자 컴퓨터와, 사용자에 대한 신원 검증 서비스(verification service)를 제공하는 주체인 검증자(검증자의 컴퓨터)와, 블록체인을 구성하는 각 노드(node)에 해당하는 채굴자 컴퓨터이며, 사용자의 거래(transaction)들이 유효한지를 확인하고, 거래 처리에 따른 보상(reward)이 커질수록 더 많은 수의 채굴자들이 서로 경쟁적으로 투입되어 빠른 거래가 이루어진 일회용 비밀번호를 적용한 신원관리가 포함된 블록체인을 제공하는데 있다.
본 발명의 또 다른 과제의 해결 수단은 블록체인을 사용하는 사용자 단말(user-terminal)와, 장치의 고유키를 내부에 저장하고 있는 생체자료 수집장치와, 사용자에 대한 신원 검증을 요청하는 주체인 요청자 컴퓨터와, 사용자에 대한 신원 검증 서비스(verification service)를 제공하는 주체인 검증자 컴퓨터와, 블록체인을 구성하는 각 노드(node)에 해당하는 채굴자 컴퓨터들로 구성된 일회용 비밀번호를 적용한 신원관리가 포함된 블록체인에 있어서, 분산화된 생체정보를 이용한 일회용 비밀번호 생성은, 일회용 비밀번호를 생성하기 위하여 두 가지 구성요소의 조합으로 해쉬 함수를 적용하여 해쉬 값(H)을 구하고; 및 상기 해쉬 함수를 적용하여 구한 해쉬 값(H)을 일회용 비밀번호로 적용하며, 상기 두 가지 구성요소는, 생체자료 수집 장치로부터 수집된 등록 생체자료 및; 생체자료 수집 장치에 할당된 고유키로 구성된 일회용 비밀번호를 적용한 신원관리가 포함된 블록체인을 제공하는데 있다.
본 발명의 또 다른 과제의 해결 수단은 블록체인을 사용하는 사용자 단말(user-terminal)과, 장치의 고유키를 내부에 저장하고 있는 생체자료 수집장치와, 사용자에 대한 신원 검증을 요청하는 주체인 요청자 컴퓨터와, 사용자에 대한 신원 검증 서비스(verification service)를 제공하는 주체인 검증자의 컴퓨터와, 블록체인을 구성하는 각 노드(node)에 해당하는 채굴자 컴퓨터들로 구성된 일회용 비밀번호를 적용한 신원관리가 포함된 블록체인에 있어서, 요청자가 해당 거래의 사용자의 개인 식별 정보에 접근하기 위하여, 요청자는 사용자로부터 전송 받은 OTP에 웹훅 URL(webhook URL; webhook Universal Resource Locator) 정보를 추가하며, 요청자가 검증자로부터 회신(callback) 받기를 원하는 인터넷 주소 정보인 웹훅 URL을 포함하며, 요청자는 요청을 위하여 검증자의 공용 키로 암호화하여 검증자에게 전송하며, 검증자는 요청자로부터 전달받은 요청 메시지를 복호화하여 웹훅 URL 및 OTP를 구하며, OTP의 유효성을 확인하여 유효한 경우, 미리 정해진 포맷(predefined format)에 의해 웹훅 URL에 명시된 주소로 회신을 하며, 상기 회신에는 요청자가 요청하는 해당 거래의 사용자의 개인 식별 정보가 포함된 일회용 비밀번호를 적용한 신원관리가 포함된 블록체인을 제공하는데 있다.
본 발명은 사용자 본인의 생체 자료(biometric data)를 분산시켜 저장하고 회수하는 방식을 사용하여 신원을 관리하고 검증(identify/verify)할 수 있는 신원관리가 포함된 블록체인(blockchain)을 제공하여 보안이 강화된 블록체인을 제공하는 상승된 효과가 있다.
본 발명의 또 다른 효과는 생체자료 수집 장치로부터 수집된 등록 생체자료(enrollment biometric data) 및 생체자료 수집 장치에 할당된 장치의 고유 키(unique device key)를 이용하여 개인 키(private key)를 생성하고, 알고리즘을 사용하여 개인 키에 대응하는 공용 키(public key)를 생성하는 수단을 포함하고, 공용 키는 블록체인 상에 둘 이상의 노드에 공유하며, 보안성을 강화하기 위하여 개인키는 공용 키를 생성한 이후에 완전히 제거하여 보안이 강화된 신원관리가 포함된 블록체인을 제공할 수 있는 각별한 효과가 있다.
도 1은 본 발명에 따른 블록체인을 구성하는 주요 요소들의 관계를 도시한 것이다.
도 2는 본 발명에 따른 사용자가 검증자에게 정보의 검증을 요청하는 과정을 도시한 것이다.
도 3은 본 발명에 따른 요청자가 사용자에게 개인 식별 정보가 포함되지 않은 검증된 정보를 요청하는 과정을 도시한 것이다.
도 4는 본 발명에 따른 요청자가 사용자에게 검증된 개인 식별 정보를 요청하는 과정을 도시한 것이다.
도 5는 본 발명에 따른 요청자가 검증자에게 개인 식별 정보를 요청할 때, 웹훅 URL이 부가된 OTP를 전달하여 정보를 요청하는 과정을 도시한 것이다.
본 발명을 실시하기 위한 구체적인 내용을 살펴본다.
본 발명은 사용자가 본인의 생체 자료(biometric data)를 사용하여 블록체인(blockchain) 상에서 신원을 관리하여 검증(identify/verify)하는 신원관리가 포함된 블록체인(blockchain)에 관한 것이다. 이와 같은 검증 내역(verification history)은 신원관리가 포함된 블록체인 상에 저장되며, 검증자(verifier)는 여기에 접근하여 검증 요구를 처리할 수 있다. 검증자는 신원 검증에 필요한 다양한 종류의 개인 식별 정보(PII; personal identifiable information)들을 공개된 장소가 아닌 안전한 장소에 보관하고 있다.
본 발명을 용이하게 이해하도록 하는 도면에 대해 간단하게 설명한다.
도 1은 본 발명에 따른 블록체인을 구성하는 주요 요소들의 관계를 도시한 것이다.
보다 상세하게는, 사용자는 생체자료 수집 장치를 소유하고 있으며, 검증이 필요한 정보들을 사전에 검증자를 통해 검증받는다. 요청자는 검증이 필요한 정보를 사용자의 거래 내역으로부터 제공받을 수 있으며, 만약 사용자의 개인 식별 정보가 필요한 경우에는 사용자로부터 OTP를 제공받은 후 검증자를 통해 해당 정보에 접근할 수 있다.
검증자는 사용자의 정보 검증 업무를 담당하며, 사용자의 개인 식별 정보의 일체를 관리한다. 채굴자는 블록체인을 구성하는 각 노드에 해당하는 컴퓨터를 의미하며, 채굴자의 수가 많아질수록 블록체인 상에서 보다 원활하고 신속한 서비스가 가능해질 수 있다.
도 2는 본 발명에 따른 사용자가 검증자에게 정보의 검증을 요청하는 과정을 도시한 것이다.
보다 상세하게는, 검증자의 검증이 완료된 검증 메시지를 블록체인 상에서 사용자의 해당 계정의 거래 내역으로서 저장되며, 사용자의 개인 식별 정보의 일체는 검증자가 관리한다.
도 3은 본 발명에 따른 요청자가 사용자에게 개인 식별 정보가 포함되지 않은 검증된 정보를 요청하는 과정을 도시한 것이다.
보다 상세하게는, 사용자는 해당 계정의 거래 내역으로부터 검증 메시지를 추출하여 자신의 개인 키로 복호화한 후, 그것을 다시 요청자의 공용 키로 암호화한 후 전달한다.
도 4는 본 발명에 따른 요청자가 사용자에게 검증된 개인 식별 정보를 요청하는 과정을 도시한 것이다.
보다 구체적으로, 사용자는 해당 거래 내역으로부터 검증 메시지를 추출한 후, 그것을 검증한 검증자를 확인하고, 요청자에게 검증 식별자를 포함한 일회용 비밀번호(OTP)를 전달한다. 요청자는 검증 식별자를 통해 검증자를 확인하고, 해당 검증자에게 일회용 비밀번호를 전달하여 개인 식별 정보를 요청한다.
도 5는 본 발명에 따른 요청자가 검증자에게 개인 식별 정보를 요청할 때, 웹훅 URL이 부가된 일회용 비밀번호를 전달하여 정보를 요청하는 과정을 도시한 것이다.
상세하게는, 검증자는 자신이 관리하고 있는 개인 식별 정보를 추출하여, 미리 지정된 인터넷 상의 URL로 개인 식별 정보를 암호화 후 전송한다. 요청자는 해당 URL로부터 개인 식별 정보를 전송받은 후 그것을 복호화 한다.
본 발명에서 일회용 비밀번호를 이용한 신원관리가 포함된 블록체인을 구성하는 요소들은 다음과 같다.
첫째, 사용자(User)란, 블록체인을 사용하는 단말 사용자(end-user)이다.
둘째, 생체자료 수집 장치(Biometric device)란, 사용자의 생체 자료를 수집할 수 있는 하드웨어 장치이며, 장치의 고유 키(unique device key)를 장치 내부에 안전하게 보관하고 있다.
셋째, 요청자(Requestor)란, 사용자에 대한 신원 검증(verification)을 요청하는 주체인 요청자 컴퓨터 또는 요청자 서버이다. 요청자는 개인(individual) 또는 기관(organization)이 될 수 있다.
넷째, 검증자(Verifier)란, 사용자에 대한 신원 검증 서비스(verification service)를 제공하는 주체인 검증자 컴퓨터 또는 서버이다. 검증자는 개인 식별 정보를 안전한 장소에서 관리하고 있으며, 사용자의 직접적인 요청이 있거나, 사용자로부터 유효한 승인을 받은 요청자로부터 요청이 있을 경우에만 해당 정보를 제공한다.
검증자는 일반적으로 기관이 될 수 있다.
다섯째, 채굴자(Miner)란, 블록체인을 구성하는 각 노드(node)에 해당하는 컴퓨터를 말한다. 채굴자는 사용자의 새로운 거래(transaction)가 유효한지를 확인한 후에 신원관리가 포함된 블록체인 상에 거래 내역(transaction history)으로 기록한다. 이와 같은 거래가 처리되기 위해서는 반드시 블록체인 상에 존재하는 채굴자가 개입되어야 하며, 거래에 따른 보상(reward)이 커질수록 더 많은 수의 채굴자들이 서로 경쟁하여 투입되며, 이로 인해 보다 빠른 거래가 이루어질 수 있다.
본 발명에서, 신원관리가 포함된 블록체인을 구성하는 각 요소들이 유기적으로 동작하는 과정에서 다음과 같은 여러 가지 동작(activity)들이 발생한다.
명세서상에 기재된 사용자, 요청자, 검증자 및 채굴자라는 용어는 이해를 용이하게 하기 위한 것이고, 사용자, 요청자, 검증자 및 채굴자 각각이 본 발명을 수행할 수 있는 사용자, 요청자, 검증자 및 채굴자의 컴퓨터 및 서버를 포함하는 단말을 의미한다. 또한, 신원관리가 포함된 블록체인 상에 존재하는 사용자, 요청자, 검증자 및 채굴자가 위치하여 관리하는 노드가 될 수도 있다.
사용자 계정의 신규 개설(open):
사용자(user)의 계정에 대하여, 생체자료 수집 장치로부터 수집한 등록생체자료(enrollment biometric data) 및 해당 생체자료 수집장치의 고유 키(unique device key)의 조합으로부터 알고리즘(해쉬함수)를 적용하여 해쉬 값(hash value)을 생성하여 이를 개인 키(private key)로서 생성할 수 있다. 개인 키로부터 이와 연계되는 공용 키(public key)를 생성할 수 있다. 만약 개인 키를 변경하려는 경우에는 이와 연계된 공용 키를 다시 생성해야 한다.
사용자의 생체 자료와 장치의 고유 키 값은 유일하기 때문에 이로부터 생성된 개인 키 역시 유일한 값을 가진다. 따라서, 만약 장치의 고유 키 값이 해커에게 해킹되더라도 해커가 사용자의 생체 자료를 확보하지 못하는 이상 정확한 개인 키는 생성되지 않는다.
개인 키는 그것으로부터 공용 키를 생성한 이후에는 제거되므로, 해킹이 시도되더라도 해킹할 대상이 존재하지 않으므로 매우 안전하게 된다.
또한, 사용자의 계정을 개설하기 위해 수집된 사용자 생체자료, 즉 등록 생체자료는 두 개 이상의 여러 조각들로 분할되며, 분산시켜서(decentralized way) 블록체인 상의 둘 이상의 복수의 노드에 안전하게 저장 보관한다. 차후 그 생체자료가 필요하게 되면, 분할된 조각들을 모두 회수(retrieve)하여 완전한 등록 생체자료로서 복원(reconstruct)시키며, 인증을 위해 새로 수집한 생체 자료와의 매칭(matching)을 실시한다. 만약 매칭 결과가 동일인(genuine)으로 판정되면 복원된 등록 생체자료는 개인 키를 다시 생성(regenerate)하는데 사용할 수 있다.
이와 같은 복원 과정에는 반드시 등록 생체자료를 수집할 때 사용한 장치가 필요하다. 만약 그 장치의 사용이 불가능한 경우에는 정확한 개인 키의 생성이 역시 불가능해지며, 따라서 다른 생체자료 수집 장치를 사용하여 개인 키 및 이와 연계되는 공용 키의 생성 과정을 다시 진행해야 한다.
사용자 계정의 폐쇄:
사용자는 본인의 개인 키를 사용하여 계정을 폐쇄(close)할 수 있다. 일단 계정이 폐쇄되면, 그 계정에서 생성된 모든 거래(transaction)들은 더 이상 유효하지 않게 된다. 이러한 방법은 개인 키가 불법으로 사용되는 것을 막을 수 있으므로 보안 강화의 상승된 효과가 있다. 만약 사용자가 본인의 개인 키가 외부에 노출되었다고 판단한 경우, 해킹을 방지하기 위해 해당 개인 키를 사용하는 계정을 폐쇄해야 한다.
사용자 계정에 거래의 추가:
사용자는 검증자(verifier)에게 검증이 필요한 내용에 대한 검증을 요청할 수 있으며, 이러한 검증 결과는 해당 사용자 계정에 대한 거래 내역(transaction history)로서 블록체인 상에 저장된다. 예를 들면, 검증자는 "사용자 A는 주민등록번호를 가지고 있음이 검증자 B에 의해 2018년1월1일에 검증되었다"와 같은 검증 메시지를 블록체인으로 전송할 수 있다. 이와 같은 메시지는 해당 사용자 계정의 공용 키로 암호화되어 있으며, 해당 계정의 거래 내역으로 저장된다.
검증 메시지는 일체의 개인 식별 정보를 포함하지 않으며, 단지 어떤 정보가 검증되었는지에 대해서만 명시하고 있다.
사용자가 검증자에게 검증을 요청할 때, 블록체인 상에서 지불 수단으로 사용할 수 있는 블록체인 토큰(token)을 사용하여 비용을 지불할 수 있으며, 검증자는 사용자가 지불하는 비용의 양에 따라 검증 서비스를 제공하거나 거부할 수 있다.
또한 사용자가 채굴자(miner)들에게 블록체인 토큰을 추가로 지불하는 경우, 거래가 보다 원활하고 신속하게 처리될 수 있다.
거래에 대한 복호화 요청:
거래 메시지들은 암호화되어 있기 때문에, 요청자(requestor)는 해당 거래의 사용자에게 검증 메시지(verification message)의 내용을 읽기 위한 복호화(decrypt)를 요청할 수 있다. 만약 사용자가 요청자의 이러한 요구를 받아들이는 경우에 사용자는 해당 계정의 개인 키를 사용하여 메시지를 복호화할 수 있다.
보안을 위하여, 사용자는 복호화된 메시지를 요청자의 공용 키를 사용하여 암호화(encrypt)한 뒤 요청자에게 전송하게 되며, 요청자는 자신의 개인 키를 사용하여 전송받은 메시지를 복호화하여 원본 메시지의 내용을 읽을 수 있다.
전송받은 메시지가 해당 거래의 정식 메시지(authentic message)인지 확인하기 위하여, 요청자는 복호화한 메시지를 해당 거래의 사용자 계정의 공용 키를 사용해 다시 한 번 암호화하며, 이러한 암호화된 결과물과 블록체인 상의 암호화된 해당 거래의 메시지가 동일한 경우, 요청자는 정확한 메시지를 전달받은 것으로 확신할 수 있다.
요청자가 사용자에게 복호화를 요청할 때, 블록체인 상에서 지불 수단으로 사용할 수 있는 블록체인 토큰(token)을 사용하여 비용을 지불할 수 있으며, 사용자는 요청자가 지불하는 비용의 양에 따라 복호화 서비스를 제공하거나 거부할 수 있다.
또한 요청자가 채굴자(miner)들에게 블록체인 토큰을 추가로 지불하는 경우, 거래가 보다 원활하고 신속하게 처리될 수 있다.
거래에 대한 OTP 요청:
거래 메시지는 해당 거래의 사용자의 개인 식별 정보를 포함하고 있지 않다. 따라서 요청자가 개인 식별 정보가 필요한 경우, 요청자는 검증자(verifier)에게 직접 이러한 요청을 해야 한다.
해당 거래의 사용자의 개인 식별 정보의 요청 과정은 다음과 같다.
먼저, 요청자는 해당 거래의 사용자에게 거래 메시지의 복호화를 요청한다. 만약 요청자가 해당 거래의 사용자의 개인 식별 정보가 필요한 경우, 요청자는 사용자에게 검증자에게 전달할 목적의 사용자 생체자료와 생체자료 수집장치의 고유키의 조합으로 생성된 일회용 비밀번호(OTP; One-time-password)를 보내줄 것을 요청한다. OTP는 검증 식별자(verification identifier) 및 해당 OTP의 유효기간(lifespan) 정보를 포함한다. 따라서 OTP가 주어지면, 검증자는 검증할 메시지 및 해당 사용자의 개인 식별 정보를 명시할 수 있다.
사용자는 요청자의 공용 키를 사용하여 OTP를 암호화한 후 요청자에게 전송하며, 요청자는 자신의 개인 키로 그것을 복호화할 수 있다.
요청자가 사용자에게 OTP 제공을 요청할 때, 블록체인 상에서 지불 수단으로 사용할 수 있는 블록체인 토큰(token)을 사용하여 비용을 지불할 수 있으며, 사용자는 요청자가 지불하는 비용의 양에 따라 OTP를 제공하거나 거부할 수 있다.
또한 요청자가 채굴자(miner)들에게 블록체인 토큰을 추가로 지불하는 경우, 거래가 보다 원활하고 신속하게 처리될 수 있다.
거래에 대한 개인 식별 정보 요청:
요청자가 검증자에게 요청을 할 때, 사용자로부터 전송받은 OTP에 웹훅 URL(webhook URL; webhook Universal Resource Locator) 정보를 추가할 수 있다. 웹훅 URL이란, 요청자가 검증자로부터 회신(callback) 받기를 원하는 인터넷 주소 정보이며, 요청자는 이러한 요청을 검증자의 공용 키로 암호화하여 검증자에게 전송한다.
검증자는 요청자로부터 전달받은 요청을 복호화하여 웹훅 URL 및 OTP를 구한다. 이후 OTP의 유효성을 확인하여 유효한 경우, 미리 정해진 포맷(predefined format)에 의해 웹훅 URL에 명시된 주소로 회신을 한다. 이러한 회신에는 요청자가 요청하는 해당 거래의 사용자의 개인 식별 정보가 포함될 수 있다.
이러한 과정은 W3C(World Wide Web Consortium)의 DID(Decentralized Identifiers) 명세(specification)를 준수한다.
요청자가 검증자에게 해당 거래의 사용자의 개인 식별 정보를 제공해줄 것을 요청할 때, 블록체인 상에서 지불 수단으로 사용할 수 있는 블록체인 토큰(token)을 사용하여 비용을 지불할 수 있으며, 검증자는 요청자가 지불하는 비용의 양에 따라 개인 식별 정보를 제공하거나 거부할 수 있다.
또한 요청자가 채굴자(miner)들에게 블록체인 토큰을 추가로 지불하는 경우, 거래가 보다 원활하고 신속하게 처리될 수 있다.
본 발명에 다양한 실시 예를 살펴본다.
일회용 비밀번호를 적용한 신원관리가 포함된 블록체인은 생체자료 수집 장치로부터 수집한 등록 생체자료를 분산화시켜 제공하는 블록체인(blockchain)을 사용하며, 블록체인을 구성 요소들은, 블록체인을 사용하는 단말 사용자(end-user)와, 사용자의 생체 자료를 수집할 수 있는 하드웨어 장치이며, 장치의 고유 키를 내부에 저장하고 있는 생체자료 수집장치와, 사용자에 대한 신원 검증을 요청하는 주체인 요청자 컴퓨터와, 사용자에 대한 신원 검증 서비스(verification service)를 제공하는 주체인 검증자(검증자의 컴퓨터)와, 블록체인을 구성하는 각 노드(node)에 해당하는 채굴자 컴퓨터를 포함한다.
사용자의 거래(transaction)들이 유효한지를 확인하고, 거래 처리에 따른 보상(reward)이 커질수록 더 많은 수의 채굴자들이 서로 경쟁적으로 투입되어 빠른 거래가 이루어지도록 구성되어 있다.
개인 키(private key)를 생성하기 위하여 하기 두 가지 구성요소의 조합으로부터 해쉬 함수를 이용하여 해쉬 값(hash value)을 구하는 수단을 포함하며,
상기 두 가지 구성요소는, 생체자료 수집 장치로부터 수집된 등록 생체자료(enrollment biometric data) 및 생체자료 수집 장치에 할당된 고유 키(unique device key)이며, 알고리즘을 사용하여 개인 키(private key)를 생성하고, 개인 키는 사용자가 계정(account)을 신규 개설(open)할 때 사용될 수 있다.
일회용 비밀번호를 적용한 신원관리가 포함된 블록체인은 개인 키에 대응되는 공용 키를 생성하고, 공용 키가 생성된 이후에는 보안 강화를 위하여 개인 키를 신원관리가 포함된 블록체인 상에서 삭제하고, 생성된 공용 키는 신원관리가 포함된 블록체인 상에서 공유되도록 구성되어 있다.
일회용 비밀번호를 적용한 신원관리가 포함된 블록체인은 생성 후 제거된 개인 키는, 블록체인 상에서 사용자가 각 거래(transaction)를 진행하기에 앞서 등록 생체자료의 복원 및 등록 생체자료를 수집하는데 사용한 것과 동일한 생체자료 수집 장치를 사용해 사용자의 인증용 생체자료를 수집하는 수단과, 동일성 여부를 판단하기 위하여 두 개의 생체자료 간의 매칭(matching)을 수행하는 수단과, 매칭 결과가 동일인(genuine)으로 판정된 경우에 개인 키를 다시 생성하는 수단을 포함한다.
사용자의 계정을 폐쇄(close)하려고 할 때, 해당 사용자 계정의 개인 키가 사용되며, 해당 사용자 계정이 폐쇄되면, 해당 사용자 계정에서 생성된 모든 거래들이 더 이상 유효하지 않도록 구성되어 있다.
사용자는 검증자(verifier)에게 검증이 필요한 내용에 대한 검증을 요청할 수 있으며, 검증 결과는 해당 사용자 계정에 대한 거래 내역이 블록체인 상에 저장되며, 검증자는 검증에 필요한 검증 메시지를 블록체인을 통해서 전송할 수 있고, 검증 메시지는 해당 사용자 계정의 공용 키로 암호화되어 해당 사용자 계정의 거래 내역으로 저장되며, 검증 메시지에는 일체의 개인식별정보(PII; personal identifiable information)를 포함하지 않으며, 단지 검증된 정보에 대해서만 명시할 수 있다.
사용자가 검증자에게 검증을 요청할 때, 블록체인 상에서 지불 수단으로 사용할 수 있는 블록체인 토큰(token)을 사용하여 비용을 지불할 수 있으며, 검증자는 사용자가 지불하는 비용의 양에 따라 검증 서비스를 제공하거나 거부할 수 있으며, 사용자가 채굴자(miner)들에게 블록체인 토큰을 추가로 지불하는 경우에, 거래가 보다 원활하고 신속하게 처리될 수 있도록 구성되어 있다.
블록체인 토큰(token)은 비트코인, 이더리움 및 리플 등이 있다.
요청자(requestor)는 해당 거래의 사용자에게 검증 메시지(verification message)의 내용을 읽기 위한 복호화(decrypt)를 요청하며, 사용자가 요청자의 이러한 요구를 받아들이는 경우에, 사용자는 해당 사용자 계정의 개인 키를 사용하여 메시지를 복호화하고, 보안을 위하여, 사용자는 복호화된 메시지를 요청자의 공용 키를 사용하여 암호화(encrypt)한 뒤 요청자에게 전송하며, 요청자는 자신의 개인 키를 사용하여 전송받은 메시지를 복호화하여 원본 메시지의 내용을 읽고, 전송받은 메시지가 해당 거래의 정식 메시지(authentic message)인지 확인하기 위하여, 요청자는 복호화한 메시지를 해당 거래의 사용자 계정의 공용 키를 사용해 다시 한 번 암호화하며, 암호화된 결과물과 블록체인 상의 암호화된 해당 거래의 메시지가 동일한 경우에, 요청자는 정확한 메시지를 전달받은 것으로 판단한다.
요청자가 사용자에게 복호화를 요청할 때, 블록체인 상에서 지불 수단으로 사용할 수 있는 블록체인 토큰(token)을 사용하여 비용을 지불할 수 있고, 사용자는 요청자가 지불하는 비용의 양에 따라 복호화 서비스를 제공하거나 거부할 수 있으며, 요청자가 채굴자(miner)들에게 블록체인 토큰을 추가로 지불하는 경우에, 거래가 보다 원활하고 신속하게 처리될 수 있다.
요청자가 해당 거래의 사용자의 개인 식별 정보에 접근하기 위하여 사용자에게 일회용 비밀번호를 요청하며, 그 요청은, 요청자가 해당 거래의 사용자에게 거래 메시지의 복호화를 요청하고, 요청자가 개인 식별 정보가 필요한 경우, 요청자는 사용자에게 검증자에게 전달하기 위하여 일회용 비밀번호(OTP; One-time-password)를 보내줄 것을 요청하며, OTP는 검증 식별자(verification identifier) 및 해당 OTP의 유효기간(lifespan) 정보를 포함하며, OTP가 주어지면, 검증자는 검증할 메시지 및 해당 사용자의 개인 식별 정보를 명시할 수 있으며, 사용자는 요청자의 공용 키를 사용하여 OTP를 암호화한 후 요청자에게 전송하며, 요청자는 자신의 개인 키로 그것을 복호화하는 것이다.
요청자가 사용자에게 복호화 및 OTP를 요청할 때, 블록체인 상에서 지불 수단으로 사용할 수 있는 블록체인 토큰(token)을 사용하여 비용을 지불할 수 있으며, 사용자는 요청자가 지불하는 비용의 양에 따라 복호화 서비스 및 OTP를 제공하거나 거부할 수 있다.
또한 요청자가 채굴자(miner)들에게 블록체인 토큰을 추가로 지불하는 경우, 거래가 보다 원활하고 신속하게 처리될 수 있다.
본 발명에 따른 일회용 비밀번호를 적용한 신원관리가 포함된 블록체인에서 보안이 강화된 일회용 비밀번호의 생성에 대해 살펴본다.
해쉬 함수(알고리즘)을 이용하여 사용자의 등록 생체자료(enrollment biometric data)와 생체자료 수집장치(biometric device)의 고유키(unique device key)의 조합으로부터 해쉬 값(hash value)을 구한다.
구한 해쉬 값을 다시 동일한 해쉬 함수에 적용하여 새로운 해쉬 값을 구하는 방법에 대해 출원인의 대한민국 등록특허공보 제10-1284481호에서 설명하고 있다. 이 과정을 반복 적용하면 최초의 해쉬 값으로부터 파생된 여러 개의 해쉬 값들을 구할 수 있다.
즉, 첫 번째 생성한 해쉬 값을 해쉬 함수 hash(x)에 적용할 때 "H1 = hash(등록 생체자료 + 장치의 고유키)" 이라 하면, H1 으로부터 파생된 새로운 해쉬 값들을 "Hk = hash(Hk -1), k=2 부터 n"와 같이 구할 수 있다.
해쉬 값들을 구하는 횟수 n은 미리 지정할 수 있으며, 최종 구한 해쉬 값 Hn 은 서버에 저장하여 외부에 공개할 수 있으며, 나머지 해쉬 값들인 Hn -1, Hn -2, …H2, H1 은 생체자료 수집 장치의 내부에 안전하게 저장한다.
장치의 내부에 보관된 이러한 해쉬 값 H는 만들어진 역순으로 일회용 비밀번호(OTP)로 사용된다.
즉, 첫 번째 일회용 비밀번호(OTP)로서 Hn -1 이 사용되며, 이후 Hn -2, Hn -3과 같은 순서로 차례로 사용된다.
서버가 장치로부터 Hn -c를 받은 경우에, 그것은 c번째 사용된 OTP 라는 것을 의미하며, 이것이 유효한가를 확인하기 위해서는 Hn -c에 동일한 해쉬 함수를 c번 적용하여 해쉬 값 "H~ = hash(hash(…hash(Hn -c)))"를 구할 수 있으며, 만약 H~ 가 서버에 저장된 Hn과 동일하다면 유효한 일회용 비밀번호(OTP)로 판정할 수 있다.
본 발명에서는, 선행 특허에서 생체자료 수집 장치의 내부에 보관했던 해쉬 값들인 Hn -1, Hn -2, …H2, H1을 일단 Hn이 생성된 이후에는 완전히 제거함으로써 보안성을 극대화하는 방법을 제시한다. 한편 Hn은 서버 및 블록체인 상의 노드로 전달하여 보관한다. 블록체인 상에는 복수의 노드가 존재한다.
본 발명은 기존 선행특허의 방법과 달리, Hn -1, Hn -2, …H2, H1을 어딘가에 보관하는 대신, 등록 생체자료를 두 개 이상의 여러 부분들로 분할하여 서버 및 블록체인 상의 노드에 저장하고, 차후 필요한 시점에서는 분할된 부분들을 모두 회수(retrieve)한 후, 원래의 등록 생체자료로 복원(reconstruct)하고, 이것을 이용하여 Hn-c을 생성하는 방법을 사용한다.
이때 Hn -c을 생성하기에 앞서, 복원된 등록 생체자료 및 그것을 수집했던 것과 동일한 생체자료 수집 장치를 사용하여 현장에서 새로 수집한 사용자의 인증용 생체자료 간에 매칭(matching)을 실시하여, 만약 매칭 결과가 동일인(genuine)으로 판정된 경우에 한해 사용자의 거래(transaction)가 계속 진행되도록 한다.
본 발명에 따른 또 다른 실시 예들을 살펴본다.
본 발명은 일회용 비밀번호를 적용한 신원관리가 포함된 블록체인에 있어서, 생체자료 수집 장치로부터 수집한 등록 생체자료를 분산화시켜 제공하는 블록체인(blockchain)을 사용하며, 블록체인을 구성 요소들은, 블록체인을 사용하는 사용자 단말과, 사용자의 생체자료를 수집할 수 있는 하드웨어 장치이며, 고유 키를 내부에 저장하고 있는 생체자료 수집장치와, 사용자에 대한 신원 검증을 요청하는 주체인 요청자 컴퓨터와, 사용자에 대한 신원 검증 서비스(verification service)를 제공하는 주체인 검증자 단말과, 블록체인을 구성하는 각 노드(node)에 해당하는 채굴자 컴퓨터를 포함한다.
본 발명은 개인 키(private key)를 생성하기 위하여 두 가지 구성요소의 조합으로부터 해쉬 함수를 이용하여 해쉬 값(hash value)을 구하는 수단와, 상기 두 가지 구성요소는, 생체자료 수집 장치로부터 수집된 등록 생체자료(enrollment biometric data) 및 생체자료 수집 장치에 할당된 고유 키(unique device key)이며, 상기 두 가지 구성요소로부터 알고리즘을 사용하여 개인 키(private key)를 생성하고, 개인 키는 사용자가 계정(account)을 신규 개설(open)할 때 사용된다.
본 발명에 따른 알고리즘을 이용하여 개인 키에 대응되는 공용 키를 생성하고, 공용 키가 생성된 이후에는 보안 강화를 위하여 개인 키를 블록체인 상에서 삭제하고, 생성된 공용 키는 블록체인 상에서 공유되도록 구성되어 있다.
앞서 기술된 생성 후 제거된 개인 키는, 블록체인 상에서 사용자가 각 거래(transaction)를 진행하기에 앞서 등록 생체자료의 복원 및 등록 생체자료를 수집하는데 사용한 것과 동일한 생체자료 수집 장치를 사용해 사용자의 인증용 생체자료를 수집하는 수단과, 동일성 여부를 판단하기 위하여 두 개의 생체자료 간의 매칭(matching)을 수행하는 수단과, 매칭 결과가 동일인(genuine)으로 판정된 경우에 개인 키를 다시 생성하는 수단을 포함한다.
본 발명에 따른 블록체인 상에서 사용자의 거래(transaction)들이 유효한지를 확인하고, 거래 처리에 따른 보상(reward)이 커질수록 더 많은 수의 채굴자들이 서로 경쟁적으로 투입되어 빠른 거래가 이루어지도록 구성될 수 있다.
본 발명은 사용자의 계정을 폐쇄(close)하려고 할 때, 해당 사용자 계정의 개인 키가 사용되며, 해당 사용자 계정이 폐쇄되면, 해당 사용자 계정에서 생성된 모든 거래들이 더 이상 유효하지 않도록 구성되어 있다.
사용자는 검증자(verifier)에게 검증이 필요한 내용에 대한 검증을 요청할 수 있으며, 검증 결과는 해당 사용자 계정에 대한 거래 내역이 블록체인 상에 저장되며, 검증자는 검증에 필요한 검증 메시지를 블록체인을 통해서 전송할 수 있고, 검증 메시지는 해당 사용자 계정의 공용 키로 암호화되어 해당 사용자 계정의 거래 내역으로 저장되며, 검증 메시지에는 개인식별정보(PII; personal identifiable information)를 포함하지 않으며, 검증된 정보에 대해서만 명시된다.
또한 본 발명은 사용자가 검증자에게 검증을 요청할 때, 블록체인 상에서 지불 수단으로 사용할 수 있는 블록체인 토큰(token)을 사용하여 비용을 지불할 수 있고, 검증자는 사용자가 지불하는 비용의 양에 따라 검증 서비스를 제공하거나 거부할 수 있으며, 사용자가 채굴자(miner)들에게 블록체인 토큰을 추가로 지불하는 경우, 거래가 보다 원활하고 신속하게 처리될 수 있도록 구성되어 있다.
본 발명에 따른 요청자(requestor)는 해당 거래의 사용자에게 검증 메시지(verification message)의 내용을 읽기 위한 복호화(decrypt)를 요청하며, 사용자가 요청자의 이러한 요구를 받아들이는 경우에, 사용자는 해당 사용자 계정의 개인 키를 사용하여 메시지를 복호화하고, 사용자는 보안 강화를 위하여 복호화된 메시지를 요청자의 공용 키를 사용하여 암호화(encrypt)한 뒤 요청자에게 전송하며, 요청자는 자신의 개인 키를 사용하여 전송받은 메시지를 복호화하여 원본 메시지의 내용을 읽고, 전송받은 메시지가 해당 거래의 정식 메시지(authentic message)인지 확인하기 위하여, 요청자는 복호화한 메시지를 해당 거래의 사용자 계정의 공용 키를 사용해 다시 한 번 암호화하며, 암호화된 결과물과 블록체인 상의 암호화된 해당 거래의 메시지가 동일한 경우에, 요청자는 정확한 메시지를 전달받은 것으로 확신할 수 있다.
본 발명은 요청자가 사용자에게 복호화를 요청할 때, 블록체인 상에서 지불 수단으로 사용할 수 있는 블록체인 토큰(token)을 사용하여 비용을 지불할 수 있고, 사용자는 요청자가 지불하는 비용의 양에 따라 복호화 서비스를 제공하거나 거부할 수 있으며, 요청자가 채굴자(miner)들에게 블록체인 토큰을 추가로 지불하는 경우에, 거래가 보다 원활하고 신속하게 처리될 수 있다.
본 발명은 요청자가 해당 거래의 사용자의 개인 식별 정보에 접근하기 위하여 사용자에게 일회용 비밀번호를 요청은, 요청자는 해당 거래의 사용자에게 거래 메시지의 복호화를 요청하는 수단과, 요청자가 개인 식별 정보가 필요한 경우, 요청자는 사용자에게 검증자에게 전달하기 위하여 일회용 비밀번호(OTP; One-time-password)를 보내줄 것을 요청하는 수단으로 진행하며, OTP는 검증 식별자(verification identifier) 및 해당 OTP의 유효기간(lifespan) 정보를 포함하며, OTP가 부여되면, 검증자는 검증할 메시지 및 해당 사용자의 개인 식별 정보를 명시할 수 있고, 사용자는 요청자의 공용 키를 사용하여 OTP를 암호화한 후 요청자에게 전송하며, 요청자는 자신의 개인 키로 OTP를 복호화한다.
요청자가 사용자에게 복호화 및 OTP를 요청할 때, 블록체인 상에서 지불 수단으로 블록체인 토큰(token)을 사용하여 비용을 지불할 수 있고, 사용자는 요청자가 지불하는 비용의 양에 따라 복호화 서비스 및 OTP를 제공하거나 거부할 수 있으며, 또한 요청자가 채굴자(miner)들에게 블록체인 토큰을 추가로 지불하는 경우, 거래가 보다 원활하고 신속하게 처리될 수 있다.
또한 본 발명은 블록체인을 사용하는 사용자 단말(user-terminal)와, 장치의 고유키를 내부에 저장하고 있는 생체자료 수집장치와, 사용자에 대한 신원 검증을 요청하는 주체인 요청자 컴퓨터와, 사용자에 대한 신원 검증 서비스(verification service)를 제공하는 주체인 검증자 컴퓨터와, 블록체인을 구성하는 각 노드(node)에 해당하는 채굴자 컴퓨터들로 구성된 일회용 비밀번호를 적용한 신원관리가 포함된 블록체인에 있어서, 분산화된 생체정보를 이용한 일회용 비밀번호 생성은, 일회용 비밀번호를 생성하기 위하여 두 가지 구성요소의 조합으로 해쉬 함수를 적용하여 해쉬 값(H)을 구하고; 및 상기 해쉬 함수를 적용하여 구한 해쉬 값(H)을 일회용 비밀번호로 적용하며, 상기 두 가지 구성요소는, 생체자료 수집 장치로부터 수집된 등록 생체자료 및; 생체자료 수집 장치에 할당된 고유키로 구성된다.
본 발명은 블록체인을 사용하는 사용자 단말(user-terminal)과, 장치의 고유키를 내부에 저장하고 있는 생체자료 수집장치와, 사용자에 대한 신원 검증을 요청하는 주체인 요청자 컴퓨터와, 사용자에 대한 신원 검증 서비스(verification service)를 제공하는 주체인 검증자 컴퓨터와, 블록체인을 구성하는 각 노드(node)에 해당하는 채굴자 컴퓨터들로 구성된 일회용 비밀번호를 적용한 신원관리가 포함된 블록체인에 있어서, 요청자가 해당 거래의 사용자의 개인 식별 정보에 접근하기 위하여, 요청자는 사용자로부터 전송받은 OTP에 웹훅 URL(webhook URL; webhook Universal Resource Locator) 정보를 추가하며, 요청자가 검증자로부터 회신(callback) 받기를 원하는 인터넷 주소 정보인 웹훅 URL을 포함하며, 요청자는 요청을 위하여 검증자의 공용 키로 암호화하여 검증자에게 전송하며, 검증자는 요청자로부터 전달받은 요청 메시지를 복호화하여 웹훅 URL 및 OTP를 구하며, OTP의 유효성을 확인하여 유효한 경우, 미리 정해진 포맷(predefined format)에 의해 웹훅 URL에 명시된 주소로 회신을 하며, 상기 회신에는 요청자가 요청하는 해당 거래의 사용자의 개인 식별 정보가 포함된다.
본 발명에 따른 일회용 비밀번호를 적용한 신원관리가 포함된 블록체인은 W3C(World Wide Web Consortium)의 DID(Decentralized Identifiers) 규정(specification)을 준수한다.
요청자가 검증자에게 해당 거래의 사용자의 개인 식별 정보를 제공해줄 것을 요청할 때, 블록체인 상에서 지불 수단으로 블록체인 토큰(token)을 사용하여 비용을 지불하며, 검증자는 요청자가 지불하는 비용의 양에 따라 개인 식별 정보를 제공하거나 거부할 수 있고, 요청자가 채굴자(miner)들에게 블록체인 토큰을 추가로 지불하는 경우, 거래가 보다 원활하고 신속하게 처리될 수 있다.
본 발명은 생체자료 수집 장치로부터 수집한 등록생체자료를 분산화시켜 제공하는 블록체인(blockchain)을 사용하며, 블록체인을 구성 요소들은, 블록체인을 사용하는 단말 사용자(end-user)와, 사용자의 생체 자료를 수집할 수 있는 하드웨어 장치이며, 장치의 고유 키를 내부에 저장하고 있는 생체자료 수집장치와, 사용자에 대한 신원 검증을 요청하는 주체인 요청자 컴퓨터와, 사용자에 대한 신원 검증 서비스(verification service)를 제공하는 주체인 검증자(검증자의 컴퓨터)와, 블록체인을 구성하는 각 노드(node)에 해당하는 채굴자 컴퓨터이며, 사용자의 거래(transaction)들이 유효한지를 확인하고, 거래 처리에 따른 보상(reward)이 커질수록 더 많은 수의 채굴자들이 서로 경쟁적으로 투입되어 빠른 거래가 이루어지도록 구성된 일회용 비밀번호를 적용한 신원관리가 포함된 블록체인을 제공하므로 보안을 크게 강화시킬 수 있으므로 산업상 이용가능성이 매우 높다.
11; 블록체인 12; 사용자
13; 생체자료 수집장치 14; 요청자
15; 검증자 16; 채굴자

Claims (16)

  1. 블록체인 상에서 일회용 비밀번호를 적용한 신원관리 시스템에 있어서,
    생체자료 수집 장치로부터 수집한 등록 생체자료를 분산화시켜 제공하는 블록체인(blockchain)을 사용하며,
    블록체인을 사용하는 사용자 컴퓨터와,
    사용자의 생체자료를 수집할 수 있는 하드웨어 장치이며, 고유 키를 내부에 저장하고 있는 생체자료 수집장치와,
    사용자에 대한 신원 확인을 요청하는 주체인 요청자 컴퓨터와,
    사용자에 대한 신원 검증 서비스(verification service)를 제공하는 주체인 검증자 컴퓨터와,
    블록체인을 구성하는 각 노드(node)에 해당하는 채굴자 컴퓨터를 포함하고,
    사용자의 개인 키(private key)를 생성하기 위하여 하기 두 가지 구성요소의 조합으로부터 해쉬 함수를 이용하여 해쉬 값(hash value)을 구하며;
    상기 두 가지 구성요소는,
    상기 생체자료 수집 장치로부터 수집된 등록 생체자료(enrollment biometric data); 및
    상기 생체자료 수집 장치에 할당된 고유 키(unique device key)이며,
    상기 두 가지 구성요소로부터 알고리즘을 사용하여 상기 개인 키를 생성하고,
    상기 개인 키는 사용자가 계정(account)을 신규 개설(open)할 때 사용되며,
    상기 개인 키에 대응되는 공용 키(public key)를 생성하고, 상기 공용 키가 생성된 이후에는 보안 강화를 위하여 상기 개인 키를 블록체인 상에서 제거하고,
    생성된 상기 공용 키는 블록체인 상에서 공유되도록 구성됨을 특징으로 하는 블록체인 상에서 일회용 비밀번호를 적용한 신원관리 시스템.
  2. 삭제
  3. 삭제
  4. 청구항 1에 있어서,
    생성 후 제거된 상기 개인 키는,
    블록체인 상에서 사용자가 각 거래(transaction)를 진행하기에 앞서 등록 생체자료의 복원 및, 등록 생체자료를 수집하는데 사용한 것과 동일한 생체자료 수집 장치를 사용해 사용자의 인증용 생체자료를 수집하고;
    동일성 여부를 판단하기 위하여 두 개의 생체자료 간의 매칭(matching)을 수행하고;
    매칭 결과가 동일인으로 판정된 경우에 상기 개인 키를 다시 생성하는데 이용되는, 블록체인 상에서 일회용 비밀번호를 적용한 신원관리 시스템.
  5. 삭제
  6. 청구항 1에 있어서,
    사용자의 계정을 폐쇄(close)하려고 할 때, 사용자의 해당 계정의 상기 개인 키가 사용되며,
    사용자의 해당 계정이 폐쇄되면, 사용자의 해당 계정에서 생성된 모든 거래들이 더 이상 유효하지 않도록 구성됨을 특징으로 하는 블록체인 상에서 일회용 비밀번호를 적용한 신원관리 시스템.
  7. 청구항 1에 있어서,
    상기 사용자 컴퓨터는 상기 검증자 컴퓨터에게 검증이 필요한 개인 식별 정보(PII; personal identifiable information)에 대한 검증을 요청할 수 있으며,
    검증이 완료되면 상기 검증자 컴퓨터는 검증 메시지(verification message)를 생성하며,
    검증 메시지에는 일체의 개인 식별 정보를 포함하지 않으며, 검증 메시지에는 단지 어떤 유형의 정보에 대한 검증이 완료되었는지에 대해서만 명시되며,
    검증이 완료된 사용자의 개인 식별 정보는 향후 상기 검증자 컴퓨터가 일체를 관리하며,
    상기 검증 메시지는 해당 사용자 계정의 공용 키로 암호화되어 해당 사용자 계정의 거래 내역(transaction history)으로서 블록체인 상에 저장되며,
    상기 요청자 컴퓨터가 향후 사용자의 정보를 요청할 때, 아직 검증되지 않은 정보에 대해서는 사용자가 상기 검증자 컴퓨터를 통해 미리 검증을 받아야 하는 것을 특징으로 하는 블록체인 상에서 일회용 비밀번호를 적용한 신원관리 시스템.
  8. 삭제
  9. 청구항 1에 있어서,
    상기 요청자 컴퓨터는 필요한 정보에 대해 사용자가 상기 검증자 컴퓨터를 통해 이미 검증을 받았는지를 확인하기 위하여 해당 검증 메시지를 요청할 수 있으며,
    상기 사용자 컴퓨터는 해당 계정의 거래 내역 내에 해당 검증 메시지가 존재하는 경우, 보안을 강화하기 위해, 해당 계정의 개인 키로 검증 메시지를 복호화하며,
    상기 사용자 컴퓨터는 복호화된 검증 메시지를 상기 요청자 컴퓨터의 공용 키로 암호화(encrypt)하여 상기 요청자 컴퓨터에게 전송할 수 있으며,
    상기 요청자 컴퓨터는 자신의 개인 키로 전송받은 메시지를 복호화하여 메시지의 내용을 읽고,
    전송받은 메시지가 올바른 메시지(authentic message)인지 확인하기 위하여, 상기 요청자 컴퓨터는 복호화한 메시지를 해당 사용자 계정의 공용 키로 다시 한 번 암호화하며, 암호화된 결과물과 블록체인 상의 해당 거래 내역 내의 암호화된 해당 검증 메시지가 동일한 경우에, 상기요청자 컴퓨터는 올바른 메시지를 전달받은 것으로 확신할 수 있는 것을 특징으로 하는 블록체인 상에서 일회용 비밀번호를 적용한 신원관리 시스템.
  10. 삭제
  11. 청구항 1에 있어서,
    상기 요청자 컴퓨터가 사용자의 검증된 개인 식별 정보에 접근하기 위해서는 해당 정보를 검증한 상기 검증자 컴퓨터에게 정보 제공을 요청해야 하며,
    상기 검증자 컴퓨터는 상기 요청자 컴퓨터가 해당 사용자의 승인(permission)을 받은 경우에 한하여 정보를 제공할 수 있으며,
    상기 사용자의 승인이란, 사용자가 상기 요청자 컴퓨터에게 일회용 비밀번호(OTP; One-time-password)를 제공하는 것이며,
    상기 요청자 컴퓨터는 사용자에게 검증된 개인 식별 정보를 취득할 수 있는 권한을 요청하고,
    상기 사용자 컴퓨터는 해당 계정의 거래 내역 내의 해당 검증 메지지로부터 검증 식별자(verification identifier) 정보를 생성하며,
    상기 검증 식별자 정보에는 해당 검증 메시지를 검증한 검증자의 신원 정보 및 해당 검증자가 검증한 개인 식별 정보의 유형이 포함되며,
    상기 사용자 컴퓨터는 일회용 비밀번호를 생성한 후 이와 관련된 OTP 메시지를 상기 요청자 컴퓨터에게 전달하고,
    상기 OTP 메시지는 생성된 일회용 비밀번호에 추가하여 검증 식별자 정보 및 해당 일회용 비밀번호의 유효기간(lifespan) 정보가 포함되며,
    상기 요청자 컴퓨터는 전달받은 OTP 메시지의 검증 식별자 정보로부터 개인 식별 정보를 제공해줄 검증자를 확인하여, 해당 검증자에게 OTP 메시지를 전달함으로써 정보 제공을 요청하고,
    상기 검증자 컴퓨터는 상기 요청자 컴퓨터로부터 전달받은 OTP 메시지로부터 제공해야할 개인 식별 정보를 확인하며,
    보안을 강화하기 위하여, 상기 사용자 컴퓨터는 상기 요청자 컴퓨터의 공용 키로 OTP 메시지를 암호화하여 상기 요청자 컴퓨터에게 전달하며,
    상기 요청자 컴퓨터는 자신의 개인 키로 전달받은 OTP 메시지를 복호화하는 것을 특징으로 하는 블록체인 상에서 일회용 비밀번호를 적용한 신원관리 시스템.
  12. 삭제
  13. 청구항 1에 있어서,
    상기 요청자 컴퓨터가 상기 검증자 컴퓨터로부터 사용자의 개인 식별 정보를 취득하기 위해서는,
    상기 요청자 컴퓨터는 상기 사용자 컴퓨터로부터 전달 받은 OTP 메시지에 웹훅 URL(webhook URL; webhook Universal Resource Locator) 정보를 추가하여 요청 메시지를 구성할 수 있으며,
    상기 웹훅 URL이란, 상기 요청자 컴퓨터가 상기 검증자 컴퓨터로부터 회신(callback) 받기를 원하는 인터넷 주소 정보이며,
    상기 요청자 컴퓨터는 이러한 요청 메시지를 상기 검증자 컴퓨터로 전달함으로써 사용자 식별 정보를 요청할 수 있으며,
    보안을 강화하기 위하여, 상기 요청자 컴퓨터는 요청 메시지를 상기 검증자 컴퓨터의 공용 키로 암호화하여 상기 검증자 컴퓨터로 전달하며,
    상기 검증자 컴퓨터는 상기 요청자 컴퓨터로부터 전달받은 요청 메시지를 자신의 개인 키로 복호화하여 웹훅 URL 및 OTP 메시지들을 각각 구하며,
    OTP 메시지에 포함된 일회용 비밀번호의 유효성을 확인하여 유효한 경우, 미리 정해진 포맷(predefined format)에 의해 웹훅 URL에 명시된 주소로 회신을 하며,
    상기 회신에는 상기 요청자 컴퓨터가 요청하는 사용자의 개인 식별 정보가 포함됨을 특징으로 하는 블록체인 상에서 일회용 비밀번호를 적용한 신원관리 시스템.
  14. 삭제
  15. 삭제
  16. 청구항 11 또는 청구항 13에 있어서,
    분산화된 생체정보를 이용한 일회용 비밀번호 생성은,
    일회용 비밀번호를 생성하기 위하여 두 가지 구성요소의 조합에 대해 해쉬 함수를 적용하여 해쉬 값(H)을 구하고; 및 상기 해쉬 함수를 적용하여 구한 해쉬 값(H)을 일회용 비밀번호로 적용하며,
    상기 두 가지 구성요소는,
    상기 생체자료 수집 장치로부터 수집된 등록 생체자료 및; 상기 생체자료 수집 장치에 할당된 고유키로 구성됨을 특징으로 하는 블록체인 상에서 일회용 비밀번호를 적용한 신원관리 시스템.
KR1020180064755A 2018-06-05 2018-06-05 블록체인 상에서 일회용 비밀번호를 적용한 신원관리 시스템 KR102255287B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180064755A KR102255287B1 (ko) 2018-06-05 2018-06-05 블록체인 상에서 일회용 비밀번호를 적용한 신원관리 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180064755A KR102255287B1 (ko) 2018-06-05 2018-06-05 블록체인 상에서 일회용 비밀번호를 적용한 신원관리 시스템

Publications (2)

Publication Number Publication Date
KR20190138389A KR20190138389A (ko) 2019-12-13
KR102255287B1 true KR102255287B1 (ko) 2021-05-26

Family

ID=68847409

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180064755A KR102255287B1 (ko) 2018-06-05 2018-06-05 블록체인 상에서 일회용 비밀번호를 적용한 신원관리 시스템

Country Status (1)

Country Link
KR (1) KR102255287B1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10917233B2 (en) * 2018-10-16 2021-02-09 International Business Machines Corporation Selective exchange of transaction data
US11270017B2 (en) 2018-10-16 2022-03-08 International Business Machines Corporation Selective exchange of transaction data
KR102139645B1 (ko) * 2020-04-13 2020-07-30 주식회사 한국정보보호경영연구소 블록체인 기반의 신원증명 시스템 및 그 구동방법
WO2021225844A1 (en) * 2020-05-04 2021-11-11 Lau Maria Esther Compliance based data transaction network
KR102201679B1 (ko) * 2020-06-12 2021-01-12 박성갑 마이데이터 공유 서비스 방법
KR102455825B1 (ko) * 2020-07-24 2022-10-19 주식회사 코인플러그 사용자 비대면 인증 VC(verifiable credential)를 이용한 DID(decentralized identifier) 기반의 사용자 비대면 인증 방법 및 이를 이용한 인증 지원 서버
KR20220028836A (ko) * 2020-08-31 2022-03-08 한국조폐공사 블록체인 네트워크 기반의 분산 아이디를 이용한 운전 면허증 인증 서비스 방법 및 운전 면허증 인증 서비스를 수행하는 사용자 단말
KR20220072142A (ko) * 2020-11-25 2022-06-02 삼성전자주식회사 사용자의 신분을 증명해주기 위한 전자 장치
KR102575008B1 (ko) * 2021-03-25 2023-09-06 주식회사 와이즈케어 O2o 신원인증 및 전자결제 통합관리 서비스 시스템 및 방법
KR102486585B1 (ko) * 2021-10-21 2023-01-09 주식회사 엔디에스 네트워크를 통한 사용자 자격 검증 방법 및 이에 사용되는 서비스 제공 서버
CN116542827A (zh) * 2023-06-20 2023-08-04 上海天方夜谭网络科技有限公司 一种道路运输企业安全培训后台管理系统及方法
CN116781762B (zh) * 2023-08-24 2023-10-27 四川科瑞软件有限责任公司 云计算数据存储方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101837168B1 (ko) * 2017-04-18 2018-03-09 주식회사 코인플러그 블록체인 기반의 토큰 아이디를 이용하여 카드 사용을 승인하는 방법 및 이를 이용한 서버
KR101848896B1 (ko) * 2016-10-19 2018-04-13 한전케이디엔 주식회사 블록체인을 이용한 선불형 전력 판매 및 전력 사용 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101284481B1 (ko) 2011-07-15 2013-07-16 아이리텍 잉크 생체이미지 정보를 포함하는 일회용 비밀번호를 이용한 인증방법 및 장치
KR20180003113A (ko) * 2016-06-30 2018-01-09 주식회사 케이티 서버, 디바이스 및 이에 의한 사용자 인증 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101848896B1 (ko) * 2016-10-19 2018-04-13 한전케이디엔 주식회사 블록체인을 이용한 선불형 전력 판매 및 전력 사용 방법
KR101837168B1 (ko) * 2017-04-18 2018-03-09 주식회사 코인플러그 블록체인 기반의 토큰 아이디를 이용하여 카드 사용을 승인하는 방법 및 이를 이용한 서버

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
‘블록체인으로 개인인증·공급관리 `척척`’, 매일경제(2018.05.13. 게재)*

Also Published As

Publication number Publication date
KR20190138389A (ko) 2019-12-13

Similar Documents

Publication Publication Date Title
KR102255287B1 (ko) 블록체인 상에서 일회용 비밀번호를 적용한 신원관리 시스템
US11314891B2 (en) Method and system for managing access to personal data by means of a smart contract
KR102047260B1 (ko) 블록체인 기반 사용자 통합계정 생성, 발급 및 관리방법
JP6873270B2 (ja) ブロックチェーンにおけるスマートコントラクトに基づくトランザクション活動の取扱注意データを保護するための方法及びデバイス
US11153086B2 (en) Methods and systems for a digital trust architecture
CN111429254B (zh) 一种业务数据处理方法、设备以及可读存储介质
EP2585963B1 (de) Verfahren zur erzeugung eines zertifikats
RU2501081C2 (ru) Многофакторная защита контента
EP2915279B1 (en) Method and system for protected exchange of data
CN110519066A (zh) 一种基于区块链技术的物联网隐私保护访问控制方法
JP2008501176A (ja) プライバシーを保護する情報配布システム
JP2006523995A (ja) 認可証明書におけるユーザ・アイデンティティのプライバシ
US11405200B1 (en) Multilevel split keys for wallet recovery
CN114666168B (zh) 去中心化身份凭证验证方法、装置,以及,电子设备
CN109492424B (zh) 数据资产管理方法、数据资产管理装置及计算机可读介质
KR102605087B1 (ko) 의료 클라우드 환경에서 환자의 의료 데이터 공유 시스템 및 방법
Deng et al. Towards a cross‐context identity management framework in e‐health
Yee et al. Ensuring privacy for e-health services
KR20210017308A (ko) 디바이스 등록 및 데이터 분산저장을 이용하는 2차인증 서비스 제공방법
KR101705293B1 (ko) 비밀스런 인증데이터 관리가 필요 없는 인증시스템 및 방법
US11954672B1 (en) Systems and methods for cryptocurrency pool management
KR20220132318A (ko) 의료 클라우드 환경에서 환자의 의료 데이터 공유 시스템 및 방법
KR20210017310A (ko) 블록체인 기반 암호화폐의 지급 및 교환을 관리하는 시스템
CN116783865A (zh) 用于向多节点方认证用户的方法
KR20210017969A (ko) 사용자와 블록체인 간 데이터 분할저장을 통한 데이터 관리방법

Legal Events

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