KR20190118414A - Method and apparatus for generating cryptographic key using biometric information - Google Patents
Method and apparatus for generating cryptographic key using biometric information Download PDFInfo
- Publication number
- KR20190118414A KR20190118414A KR1020180041708A KR20180041708A KR20190118414A KR 20190118414 A KR20190118414 A KR 20190118414A KR 1020180041708 A KR1020180041708 A KR 1020180041708A KR 20180041708 A KR20180041708 A KR 20180041708A KR 20190118414 A KR20190118414 A KR 20190118414A
- Authority
- KR
- South Korea
- Prior art keywords
- user
- hash
- value
- hash value
- private key
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation 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
-
- G06K9/00885—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H04L2209/38—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
Abstract
Description
생체 정보를 이용한 암호키 생성 방법 및 장치에 관한 것이다.A method and apparatus for generating an encryption key using biometric information are provided.
비대면의 온라인에서 상거래를 가능하게 하기 위해서는 상대방의 신분확인, 문서에 대한 서명 등과 같은 것이 가능해야 한다. 종이 문서에 사용하는 수기서명이나 도장을 이용한 서명은 인터넷 환경에서는 쓰기가 곤란하다. To enable commerce in non-face-to-face online, it must be possible to identify the other party's identity, sign documents, and so on. Handwritten signatures for paper documents and signatures with seals are difficult to use in the Internet environment.
전자 서명은 서명자가 해당 전자 문서에 서명하였음을 나타내기 위해 전자 문서에 첨부되거나 논리적으로 결합된 전자적 형태의 정보를 의미한다. 전자 서명은 암호기술의 인증 기능을 이용해 전자 문서에 서명이 가능하게 한다. 서명자의 전자 서명을 인정하기 위해서는 서명자의 개인키가 필요하다.Electronic signature means an electronic form of information attached or logically coupled to an electronic document to indicate that the signer has signed the electronic document. Digital signatures enable the signing of electronic documents using cryptographic authentication. The signer's private key is required to accept the signer's digital signature.
서명자의 개인키의 분실, 도난, 위조 가능성을 낮추기 위해 생체 정보를 이용한 암호키를 생성하는 방법이 요구된다.There is a need for a method of generating an encryption key using biometric information to reduce the possibility of loss, theft, or forgery of the signer's private key.
분실, 도난, 위조 가능성이 높은 사용자의 개인키의 보안성을 높이고자 한다.We want to improve the security of the private key of the user who is likely to be lost, stolen or forged.
블록체인 기반의 암호화폐의 거래시에 필요한 개인키의 분실, 도난, 위조 등을 막고자 한다.We want to prevent the loss, theft, and forgery of private keys required for transactions of blockchain-based cryptocurrencies.
일측에 따르면, 사용자의 소정 부위가 스캔된 생체 영상을 획득하는 단계; 상기 생체 영상으로부터 상기 사용자의 생체 특징을 나타내는 인식 템플릿을 획득하는 단계; 상기 인식 템플릿을 복수의 영역들로 분할하고, 상기 분할된 영역들 내의 생체 특징 정보에 기초하여, 상기 인식 템플릿에 대응되는 식별값을 결정하는 단계; 및 상기 식별값을 제1 해시 함수에 적용하여 해시값을 산출하고, 상기 산출된 해시값을 디지털 서명에 이용되는 상기 사용자의 개인키로 생성하는 단계를 포함하는, 생체 정보를 이용한 암호키 생성 방법이 제공된다.According to one side, the step of acquiring a biological image scanned a predetermined portion of the user; Obtaining a recognition template representing a biometric characteristic of the user from the biometric image; Dividing the recognition template into a plurality of areas, and determining an identification value corresponding to the recognition template based on biometric characteristic information in the divided areas; And generating a hash value by applying the identification value to a first hash function, and generating the calculated hash value as the private key of the user used for digital signature. Is provided.
다른 일측에 따르면, 생체 정보를 이용한 암호키 생성 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체가 제공된다.According to another aspect, a computer-readable recording medium having a program for executing an encryption key generation method using biometric information on a computer is provided.
일측에 따르면, 전자 장치에서 암호화폐를 관리하는 전자 지갑의 동작을 제어하는 방법에 있어서, 제1 사용자의 전자 지갑을 실행하는 단계; 상기 제1 사용자의 소정 부위가 스캔된 생체 영상을 획득하는 단계; 상기 생체 영상으로부터 상기 제1 사용자의 생체 특징 정보를 나타내는 인식 템플릿을 획득하는 단계; 상기 인식 템플릿에 대응되는 식별값을 제1 해시 함수에 적용하여 해시값을 산출하고, 상기 산출된 해시값을 상기 제1 사용자의 개인키로 생성하는 단계; 및 상기 제1 사용자의 개인키로 상기 제1 사용자와 제2 사용자 간의 상기 암호화폐의 제1 거래 정보를 디지털 서명하여, 상기 암호화폐에 대한 거래를 기록한 원장을 분산하여 관리하는 블록체인의 네트워크의 노드로 전송하는 단계를 포함하는, 방법이 제공된다.According to one side, a method for controlling an operation of an electronic wallet for managing cryptocurrency in an electronic device, the method comprising: executing an electronic wallet of a first user; Acquiring a biological image of scanning a predetermined portion of the first user; Obtaining a recognition template indicating biometric characteristic information of the first user from the biometric image; Calculating a hash value by applying an identification value corresponding to the recognition template to a first hash function, and generating the calculated hash value as the private key of the first user; And a node of a network of a blockchain that digitally signs the first transaction information of the cryptocurrency between the first user and the second user with the private key of the first user and distributes and manages the ledger that recorded the transaction for the cryptocurrency. A method is provided, comprising transmitting to a network.
다른 일측에 따르면, 통신 장치; 센서 장치; 프로세서; 사용자 인터페이스 장치; 및 상기 프로세서에 의해 실행 가능한 명령어들을 저장하는 메모리를 포함하고, 상기 프로세서는, 상기 명령어들을 실행함으로써, 제1 사용자의 전자 지갑을 실행하고, 상기 제1 사용자의 소정 부위가 스캔된 생체 영상을 상기 센서 장치를 통해 획득하고, 상기 생체 영상으로부터 상기 제1 사용자의 생체 특징 정보를 나타내는 인식 템플릿을 획득하고, 상기 인식 템플릿에 대응되는 식별값을 제1 해시 함수에 적용하여 해시값을 산출하고, 상기 산출된 해시값을 상기 제1 사용자의 개인키로 생성하고, 상기 제1 사용자의 개인키로 상기 제1 사용자와 제2 사용자 간의 상기 암호화폐의 제1 거래 정보를 디지털 서명하고, 상기 디지털 서명된 제1 거래 정보를, 상기 암호화폐에 대한 거래를 기록한 원장을 분산하여 관리하는 블록체인의 네트워크의 노드로 상기 통신 장치를 통해 전송하는, 전자 장치가 제공된다.According to the other side, the communication device; Sensor devices; A processor; User interface devices; And a memory configured to store instructions executable by the processor, wherein the processor executes the instructions to execute an electronic wallet of a first user and to display the biometric image from which a predetermined portion of the first user is scanned. Obtaining a recognition template indicating biometric characteristic information of the first user from the biometric image, applying an identification value corresponding to the recognition template to a first hash function, and calculating a hash value; Generate a calculated hash value with the private key of the first user, digitally sign the first transaction information of the cryptocurrency between the first user and the second user with the private key of the first user, and the digitally signed first The transaction information is presented as a node of a blockchain network that distributes and manages ledgers that record transactions for the cryptocurrency. An electronic device for transmitting via a communication device is provided.
또 다른 일측에 따르면, 전자 장치에서 암호화폐를 관리하는 전자 지갑의 동작을 제어하는 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체가 제공된다.According to yet another aspect, there is provided a computer-readable recording medium having recorded thereon a program for causing a computer to execute a method for controlling an operation of an electronic wallet that manages cryptocurrency in an electronic device.
사용자의 생체 정보를 이용하여 디지털 서명에 필요한 개인키를 생성함으로써, 개인키의 보안성을 높일 수 있다.By generating a private key for digital signature using biometric information of the user, the security of the private key can be enhanced.
블록체인 기반의 암호화폐의 거래시에 필요한 개인키를 사용자의 생체 정보로부터 생성된 개인키를 이용함으로써, 거래의 안전성을 높일 수 있다.By using the private key generated from the user's biometric information as the private key required for the transaction of the blockchain-based cryptocurrency, the security of the transaction can be enhanced.
본 개시는, 다음의 자세한 설명과 그에 수반되는 도면들의 결합으로 쉽게 이해될 수 있으며, 참조 번호(reference numerals)들은 구조적 구성요소(structural elements)를 의미한다.
도 1은 일실시예에 따라, 전자 장치에서 사용자의 생체 정보로 생성된 개인키로 거래 정보를 디지털 서명하여 블록체인 기반의 암호화폐를 거래하는 방법을 설명하기 위한 개념도이다.
도 2는 일실시예에 따라, 전자 장치 내의 프로세서가 사용자의 생체 정보를 이용한 암호키 생성 방법을 설명하기 위한 흐름도이다.
도 3은 일실시예에 따라, 사용자의 지문이 스캔된 경우, 프로세서가 사용자의 지문 정보를 이용하여 사용자의 개인키를 생성하는 과정을 설명하기 위한 도면이다.
도 4는 일실시예에 따라, 전자 장치 내의 프로세서가 소정 부위를 생체 특징 별로 구분하여 참조 템플릿들을 생성하는 방법을 설명하기 위한 흐름도이다.
도 5는 일실시예에 따라, 프로세서가 복수의 사용자 각각의 스캔된 지문 영상을 이용하여, 참조 템플릿들을 생성하는 과정을 설명하기 위한 도면이다.
도 6은 일실시예에 따라, 프로세서가 인식 템플릿에 대응되는 전체 식별값을 해시 함수에 적용하여, 사용자의 개인키를 생성하는 과정을 설명하기 위한 도면이다.
도 7은 일실시예에 따라, 프로세서가 인식 템플릿에 대응되는 전체 식별값을 해시 함수에 2번 반복 적용하여, 사용자의 개인키를 생성하는 과정을 설명하기 위한 도면이다.
도 8은 일실시예에 따라, 프로세서가 인식 템플릿 내의 복수의 영역들 각각의 식별값을 해시 함수에 순차적으로 적용하여, 사용자의 개인키를 생성하는 과정을 설명하기 위한 도면이다.
도 9는 일실시예에 따라, 프로세서가 인식 템플릿 내의 복수의 영역들 각각의 식별값을 계층적으로 해시 함수에 적용하여, 사용자의 개인키를 생성하는 과정을 설명하기 위한 도면이다.
도 10은 일실시예에 따라, 제1 사용자의 생체 정보로 생성된 개인키로 거래 정보를 디지털 서명하여 블록체인 기반의 암호화폐를 거래하는 전자 장치의 동작을 설명하기 위한 흐름도이다.
도 11은 일실시예에 따라, 암호화폐에 대한 거래를 기록한 원장을 분산하여 관리하는 블록체인의 네트워크 상의 노드의 동작을 설명하기 위한 흐름도이다.
도 12는 일실시예에 따라, 블록체인의 네트워크 상에서 유효한 암호화폐의 거래를 블록체인의 네트워크 상의 노드들로 전파하고, 블록체인에 기록하는 과정을 설명하기 위한 도면이다.
도 13은 일실시예에 따라, 전자 장치에서 디지털 서명된 거래 정보를 블록체인의 네트워크 상의 노드로 전송하는 과정을 설명하기 위한 도면이다.
도 14는 일실시예에 따라, 블록체인의 네트워크 상의 노드에서 거래 정보의 유효성을 검증하는 과정을 설명하기 위한 도면이다.
도 15는 일실시예에 따라, 블록 및 블록체인의 구조를 설명하기 위한 블록도이다.
도 16은 일실시예에 따른 전자 장치의 구성을 도시한 블록도이다.The present disclosure can be easily understood by the following detailed description and the accompanying drawings in which reference numerals refer to structural elements.
FIG. 1 is a conceptual diagram illustrating a method of transacting a blockchain-based cryptocurrency by digitally signing transaction information with a private key generated from a user's biometric information in an electronic device.
2 is a flowchart illustrating a method of generating an encryption key using biometric information of a user by a processor in an electronic device, according to an embodiment.
3 is a diagram for describing a process of generating, by a processor, a private key of a user using fingerprint information of a user when a fingerprint of the user is scanned, according to an exemplary embodiment.
4 is a flowchart illustrating a method of generating reference templates by dividing a predetermined part by a biometric feature by a processor in an electronic device according to an embodiment.
5 is a diagram for describing a process of generating, by the processor, reference templates by using a scanned fingerprint image of each of a plurality of users, according to an embodiment.
6 is a diagram for describing a process of generating a private key of a user by applying a global identification value corresponding to a recognition template to a hash function, according to an exemplary embodiment.
7 is a diagram for describing a process of generating a private key of a user by repeatedly applying the entire identification value corresponding to a recognition template to a hash function twice, according to an exemplary embodiment.
8 is a diagram for describing a process of generating, by a processor, a private key of a user by sequentially applying identification values of a plurality of regions in a recognition template to a hash function, according to an embodiment.
9 is a diagram for describing a process of generating a private key of a user by applying an identification value of each of a plurality of regions in a recognition template to a hash function hierarchically according to an embodiment.
FIG. 10 is a flowchart illustrating an operation of an electronic device for trading a blockchain-based cryptocurrency by digitally signing transaction information with a private key generated from biometric information of a first user.
11 is a flowchart illustrating an operation of a node on a network of a blockchain for distributing and managing ledgers recording transactions for cryptocurrencies, according to an embodiment.
FIG. 12 is a diagram for describing a process of propagating a transaction of a valid cryptocurrency on a blockchain network to nodes on a blockchain network and recording the blockchain in a blockchain according to an embodiment.
FIG. 13 is a diagram for describing a process of transmitting digitally signed transaction information to a node on a network of a blockchain in an electronic device according to an embodiment.
14 is a diagram for describing a process of validating transaction information at a node on a network of a blockchain, according to an exemplary embodiment.
15 is a block diagram illustrating a structure of a block and a blockchain according to an embodiment.
16 is a block diagram illustrating a configuration of an electronic device according to an embodiment.
이하에서는 도면을 참조하여 다양한 실시예들을 상세히 설명한다. 이하에서 설명되는 실시예들은 여러 가지 상이한 형태로 변형되어 실시될 수도 있다. 실시예들의 특징을 보다 명확히 설명하기 위하여 이하의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서 자세한 설명은 생략한다.Hereinafter, various embodiments will be described in detail with reference to the accompanying drawings. The embodiments described below may be embodied in various different forms. In order to more clearly describe the features of the embodiments, detailed descriptions of matters well known to those skilled in the art to which the following embodiments belong will be omitted.
한편, 본 명세서에서 어떤 구성이 다른 구성과 "연결"되어 있다고 할 때, 이는 '직접적으로 연결'되어 있는 경우뿐 아니라, '그 중간에 다른 구성을 사이에 두고 연결'되어 있는 경우도 포함한다. 또한, 어떤 구성이 다른 구성을 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한, 그 외 다른 구성을 제외하는 것이 아니라 다른 구성들 더 포함할 수도 있다는 것을 의미한다.On the other hand, when a certain configuration is "connected" with another configuration in the present specification, this includes not only 'directly connected', but also 'connected between the other configuration in the middle'. In addition, when one configuration "includes" another configuration, this means that, unless specifically stated otherwise, it may further include other configurations other than the other configuration.
또한, 본 명세서에서 사용되는 '제 1' 또는 '제 2' 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용할 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다.In addition, terms including ordinal numbers such as 'first' or 'second' as used herein may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.
본 명세서에서, "생체 특징"은 사용자 개개인의 신체로부터 획득된 고유한 특징을 의미할 수 있다. 또한, "생체 특징 정보"는 사용자 개개인의 평생 불변 및 고유한 생체 특성을 포함하는 정보를 의미할 수 있다.As used herein, "biological feature" may mean a unique feature obtained from the body of an individual user. In addition, "biometric information" may refer to information including lifetime invariant and unique biometric characteristics of each user.
본 명세서에서, "템플릿"은 생체 영상을 대상으로 알고리즘 처리하여 생체 특성을 해석하고 추출한 특징 정보로서, 사용자의 고유한 생체 특징 정보를 의미할 수 있다.In the present specification, "template" is characteristic information obtained by analyzing and extracting biological characteristics by performing algorithm processing on a biological image, and may mean unique biological characteristic information of a user.
본 명세서에서, "인식 템플릿"은 사용자 인증을 위해 인증 시점에 사용자로부터 추출된 생체 특징 정보를 의미할 수 있다.In the present specification, “recognition template” may refer to biometric characteristic information extracted from a user at the time of authentication for user authentication.
본 명세서에서, "참조 템플릿"은 인식 템플릿의 소정의 생체 특징을 판단하는 데에 참조되는 템플릿을 의미할 수 있다. 또한, "참조 템플릿"은 소정의 생체 특징을 대표하는 템플릿을 의미할 수도 있다. "참조 템플릿의 기준값"은 참조 템플릿을 가리키는 고유한 값을 의미할 수 있다.As used herein, "reference template" may refer to a template that is referred to to determine certain biometric features of a recognition template. "Reference template" may also mean a template that represents a given biometric characteristic. "Reference value of a reference template" may mean a unique value indicating a reference template.
본 명세서에서, "참조 템플릿들"은 참조 템플릿의 집합을 의미할 수 있다. "참조 템플릿들"은 복수의 사용자들의 생체 특징 정보를 생체 특징 별로 분류하여 구분된 템플릿을 의미할 수 있다.In this specification, "reference templates" may refer to a set of reference templates. "Reference templates" may refer to templates classified by classifying biometric feature information of a plurality of users by biometric features.
본 명세서에서, "해시 함수"는 어떤 형태의 데이터든 입력 데이터의 길이와 상관없이 고정된 길이의 숫자로 변환하는 함수를 의미할 수 있다. 해시 함수는 입력 데이터를 구성하는 비트와 바이트를 이용하여 해시값을 산출할 수 있다.As used herein, the term "hash function" may refer to a function that converts any type of data into a fixed length number regardless of the length of the input data. The hash function may calculate a hash value using bits and bytes constituting the input data.
본 명세서에서, "전자 지갑"은 전자 장치에 전자적인 방법으로 가치를 저장하여 실물 화폐의 교환없이 온라인 또는 오프라인에서 거래를 가능하게 하는 수단을 의미할 수 있다. 또한, "전자 지갑"은 전자상거래에서 사용되는 전자지불시스템의 일종으로, 전자 장치의 메모리나 가상 계좌에 화폐 가치를 저장하여 지갑처럼 사용하면서 전자상거래 시 대금을 결제할 수 있는 소프트웨어를 의미할 수 있다.As used herein, the term "electronic wallet" may refer to a means of storing a value in an electronic device in an electronic manner to enable a transaction online or offline without exchanging physical currency. In addition, "e-wallet" is a kind of electronic payment system used in electronic commerce, it may mean a software that can store money value in the memory or virtual account of the electronic device and use it as a wallet while paying for e-commerce. have.
본 명세서에서, "암호화폐"는 암호화 방법을 사용하여 교환수단으로 가능하도록 고안된 디지털 화폐를 의미할 수 있다. 또한, "암호화폐"는 암호화 방법을 사용하여 거래의 안전을 확보하고, 추가적 단위의 생성을 통제하며, 자산의 이전을 인증할 수 있다.In the present specification, "cryptocurrency" may mean a digital currency designed to be possible as an exchange means using an encryption method. In addition, "Cryptocurrency" can use cryptographic methods to secure transactions, control the creation of additional units, and authorize the transfer of assets.
본 명세서에서, "블록체인"은 무결성을 확보하고 유지하기 위해 순서에 따라 연결된 블록들이 거래 정보를 암호화 기법과 보안기술을 이용해 협상하는 알고리즘으로 구성된 소프트웨어 요소를 활용하는 원장(ledger)의 분산 P2P (Peer to Peer)시스템을 의미할 수 있다. 여기서, 분산 P2P 시스템은 분산 시스템의 특수한 형태일 수 있다. 또한, P2P 시스템은 중앙 노드의 조정 없이 네크워크의 모든 노드들이 서로에게 자원(처리 능력, 저장 공간, 데이터 또는 네트워크 대역폭 등)을 제공할 수 있다. 또한, "블록체인"은 거래 정보를 기록한 원장을 특정 기관의 중앙 서버가 아닌 P2P 네트워크에 분산하여 네트워크 내의 노드들이 공동으로 기록하고 관리하는 분산원장(distributed ledger) 기술을 의미할 수 있다.In the present specification, a "blockchain" refers to a distributed P2P (ledger) of a ledger (learner) that utilizes a software component composed of algorithms in which blocks connected in order negotiate transaction information using encryption and security techniques to secure and maintain integrity. Peer to Peer) system. Here, the distributed P2P system may be a special type of distributed system. In addition, a P2P system allows all nodes of a network to provide resources (processing capacity, storage space, data or network bandwidth, etc.) to each other without coordination of a central node. In addition, "blockchain" may refer to a distributed ledger technology in which the ledger recording the transaction information is distributed to the P2P network, not the central server of a specific institution, to jointly record and manage the nodes in the network.
본 명세서에서, "전자 장치"는 전기 에너지를 공급 받아 동작하는 장치를 의미할 수 있다. 예를 들면, 전자 장치는 스마트폰, 태블릿 PC, PC, TV, 스마트 TV, 휴대폰, PDA(personal digital assistant), 랩톱, 또는 비모바일 컴퓨팅 장치 등일 수 있으나, 이에 제한되지 않는다.In the present specification, "electronic device" may refer to a device that operates by receiving electrical energy. For example, the electronic device may be a smartphone, a tablet PC, a PC, a TV, a smart TV, a mobile phone, a personal digital assistant, a laptop, a non-mobile computing device, or the like, but is not limited thereto.
본 명세서에서, "노드"는 블록체인의 네트워크 내에서 구성요소를 의미할 수 있다. 예를 들면, 노드는 특수 목적 컴퓨터(Special-purpose Computer), 범용 컴퓨터(General-purpose Computer), 슈퍼 컴퓨터(Supercomputer), 대형 컴퓨터(Mainframe Computer), 개인용 컴퓨터(Personal Computer), 스마트폰, 태블릿 PC 등일 수 있으나, 이에 제한되지 않는다.In the present specification, "node" may mean a component within a network of a blockchain. For example, the node may be a special-purpose computer, a general-purpose computer, a supercomputer, a mainframe computer, a personal computer, a smartphone, a tablet PC. Etc., but is not limited thereto.
도 1은 일실시예에 따라, 전자 장치에서 사용자의 생체 정보로 생성된 개인키로 거래 정보를 디지털 서명하여 블록체인 기반의 암호화폐를 거래하는 방법을 설명하기 위한 개념도이다.1 is a conceptual diagram illustrating a method of transacting a blockchain-based cryptocurrency by digitally signing transaction information with a private key generated as biometric information of a user in an electronic device according to an embodiment.
전자 장치(10)는 제1 사용자의 입력에 따라, 암호화폐를 관리하는 제1 사용자의 전자 지갑을 실행할 수 있다. 전자 장치(10)는 제1 사용자가 제2 사용자에게 소정의 암호화폐를 이체하는 데에 이용되는 제1 거래 정보에 기초하여, 암호화폐의 거래를 수행할 수 있다. The
전자 장치(10)는 제1 사용자가 제2 사용자에게 소정의 암호화폐를 이체한 내역을 기록하기 위해 블록체인의 네트워크 상의 노드들(20, 20-2, 20-3, 20-4, 20-5) 중 제1 노드(20)로 제1 거래 정보를 전송할 수 있다. 구체적으로, 전자 장치(10)는 제1 사용자의 개인키로 제1 거래 정보를 디지털 서명된 암호문과 제1 거래 정보를 제1 노드(20)로 전송할 수 있다. 또한, 전자 장치(10)는 제1 사용자의 공개키를 제1 노드(20)로 전송할 수 있다. 제2 사용자가 보유한 전자 장치(10-2)는 제1 사용자로부터 소정의 암호화폐가 입금된 메시지를 수신할 수 있다.The
여기서, 제1 사용자의 개인키 및 공개키는 제1 사용자의 생체 정보에 기초하여 생성될 수 있다. 전자 장치(10) 내의 프로세서(15)는 제1 사용자의 생체 정보를 획득할 수 있다. 프로세서(15)는 제1 사용자의 생체 정보를 나타내는 식별값을 해시 함수에 적용하여, 산출된 해시값을 제1 사용자의 개인키로 생성할 수 있다. 또한, 프로세서(15)는 제1 사용자의 개인키를 해시 함수에 적용하여, 산출된 해시값을 제1 사용자의 공개키로 생성할 수 있다. 사용자의 생체 정보를 이용하여 개인키를 생성하는 방법은 도 2 내지 도 9에서 상세하게 설명한다.Here, the private key and the public key of the first user may be generated based on the biometric information of the first user. The
한편, 제1 노드(20)는 제1 사용자의 공개키를 이용하여, 제1 거래 정보의 유효성을 검증할 수 있다. 제1 거래 정보가 유효하면, 제1 노드(20)는 제1 거래 정보를 후보 블록에 추가할 수 있다. 제1 노드(20)는 후보 블록에 대한 작업 증명을 수행하여 블록체인에 후보 블록을 유효한 블록으로 추가할 수 있다.Meanwhile, the
도 2는 일실시예에 따라, 전자 장치 내의 프로세서가 사용자의 생체 정보를 이용한 암호키 생성 방법을 설명하기 위한 흐름도이다.2 is a flowchart illustrating a method of generating an encryption key using biometric information of a user by a processor in an electronic device, according to an embodiment.
단계 S210에서, 프로세서(15)는 사용자의 소정 부위가 스캔된 생체 영상을 획득할 수 있다. 여기서, 소정 부위는 사용자의 신체 일부의 부위로써, 사용자의 고유 생체 특성을 추출할 수 있는 부위가 될 수 있다. 예를 들면, 소정 부위는 사용자의 손, 눈, 혈관, 얼굴 등일 수 있고, 이에 한정되지 않는다. 또한, 소정 부위가 스캔된 생체 영상은, 지문 영상, 홍채 영상, 정맥 영상, 얼굴 영상일 수 있다.In operation S210, the
한편, 프로세서(15)는 전자 장치(10) 내에 구비된 센서 장치로부터 사용자의 생체 영상을 획득할 수 있다. 또한, 프로세서(15)는 외부의 센서 장치로부터 사용자의 생체 영상을 획득할 수도 있다.The
단계 S220에서, 프로세서(15)는 생체 영상으로부터 사용자의 생체 특징을 나타내는 인식 템플릿을 획득할 수 있다. 프로세서(15)는 소정의 알고리즘에 따라 생체 영상을 처리하여 사용자의 고유의 생체 특징 정보를 포함하는 인식 템플릿을 획득할 수 있다.In operation S220, the
단계 S230에서, 프로세서(15)는 인식 템플릿을 복수의 영역들로 분할하고, 분할된 영역들 내의 생체 특징 정보에 기초하여, 인식 템플릿에 대응되는 식별값을 결정할 수 있다. 여기서, 식별값은 인식 템플릿을 구분하기 위한 값으로써, 숫자, 문자, 및 기호 중 적어도 하나로 표현될 수 있다. 따라서, 인식 템플릿이 다르면, 식별값도 다르다.In operation S230, the
프로세서(15)는 분할된 영역들 내의 생체 특징 정보에 기초하여, 분할된 영역들 각각에 매칭되는 참조 템플릿을 결정할 수 있다. 프로세서(15)는 분할된 영역들 각각에, 참조 템플릿의 기준값을 식별값으로 할당할 수 있다.The
구체적으로, 프로세서(15)는 분할된 영역들 내에서, 소정 부위의 생체 특징을 인식하는 데에 이용되는 적어도 하나의 특징점 및 적어도 하나의 특징선을 검출할 수 있다. 소정 부위 내의 적어도 하나의 특징점 및 적어도 하나의 특징선은 사용자마다 다르기 때문에, 적어도 하나의 특징점 및 적어도 하나의 특징선으로부터 획득된 정보는 고유한 정보를 나타낼 수 있다. 프로세서(15)는 적어도 하나의 특징점의 위치, 개수, 분포도 및 적어도 하나의 특징선의 방향, 패턴 중 적어도 하나에 기초하여, 소정 부위의 생체 특징 정보를 획득할 수 있다. 프로세서(15)는 분할된 영역들 내의 생체 특징 정보 및 참조 템플릿들의 정보에 기초하여, 분할된 영역들 각각에 매칭되는 참조 템플릿을 결정할 수 있다.In detail, the
여기서, 참조 템플릿들은 소정 부위의 생체 특징을 각각을 대표할 수 있다. 제1 참조 템플릿은 소정 부위의 제1 생체 특징을 대표하는 템플릿일 수 있고, 제2 참조 템플릿은 소정 부위의 제2 생체 특징을 대표하는 템플릿일 수 있다. 또한, 참조 템플릿들의 정보는 참조 템플릿을 나타내는 기준값의 정보를 포함할 수 있고, 이에 한정되지 않는다.Here, the reference templates may each represent a biometric characteristic of a predetermined site. The first reference template may be a template representing the first biometric characteristic of the predetermined site, and the second reference template may be a template representing the second biological feature of the predetermined site. Also, the information of the reference templates may include information of a reference value indicating the reference template, but is not limited thereto.
단계 S240에서, 프로세서(15)는 식별값을 제1 해시 함수에 적용하여 해시값을 산출할 수 있다. 프로세서(15)는 산출된 해시값을 디지털 서명에 이용되는 사용자의 개인키로 생성할 수 있다. 프로세서(15)가 사용자의 생체 정보를 이용하여 디지털 서명에 필요한 개인키를 생성함으로써, 개인키의 보안성을 높일 수 있다.In operation S240, the
예를 들면, 프로세서(15)는 분할된 영역들 각각에 할당된 식별값을 소정의 기준으로 나열하여, 전체 식별값을 획득할 수 있다. 프로세서(15)는 전체 식별값을 제1 해시 함수에 적용하여 제1 해시값을 산출할 수 있다. 프로세서(15)는 산출된 제1 해시값을 사용자의 개인키로 생성할 수 있다. 도 6에서는, 프로세서(15)가 인식 템플릿에 대응되는 전체 식별값을 해시 함수에 적용하여, 사용자의 개인키를 생성하는 과정을 상세하게 설명한다.For example, the
다른 예를 들면, 프로세서(15)는 분할된 영역들 각각에 할당된 식별값이 결합되어 획득된 전체 식별값을 제1 해시 함수에 적용하여 제1 해시값을 산출할 수 있다. 프로세서(15)는 산출된 제1 해시값을 제1 해시 함수에 적용하여 제2 해시값을 산출할 수 있다. 프로세서(15)는 제2 해시값을 사용자의 개인키로 생성할 수 있다. 도 7에서는, 프로세서(15)가 인식 템플릿에 대응되는 전체 식별값을 해시 함수에 2번 반복 적용하여, 사용자의 개인키를 생성하는 과정을 상세하게 설명한다.For another example, the
또 다른 예를 들면, 프로세서(15)는 복수(N 개, N은 2 이상임)의 영역들 중 제1 영역에 할당된 제1 기준값을 제1 해시 함수에 적용하여 제1 해시값을 산출할 수 있다. 프로세서(15)는 제1 해시값과 복수의 영역들 중 제2 영역에 할당된 제2 기준값을 제1 해시 함수에 적용하여 제2 해시값을 산출할 수 있다. 마찬가지로, 프로세서(15)는 제n-1 기준값과 상기 복수의 영역들 중 제n 영역에 할당된 제n 기준값을 상기 제1 해시 함수에 적용하여 제n 해시값을 산출하는 과정을, n=3부터 순차적으로 1씩 증가시켜 n=N까지 반복 수행하여 최종적으로 제N 해시값을 산출할 수 있다. 프로세서(15)는 제N 해시값을 사용자의 개인키로 생성할 수 있다. 도 8에서는, 프로세서(15)가 인식 템플릿 내의 복수의 영역들 각각의 식별값을 해시 함수에 순차적으로 적용하여, 사용자의 개인키를 생성하는 과정을 상세하게 설명한다.In another example, the
또 다른 예를 들면, 프로세서(15)는 복수(N 개, N은 2 이상임)의 영역들 중 제n 영역에 할당된 제n 기준값을 제1 해시 함수에 적용하여 제1 계층의 제n 해시값을 산출하는 과정을 n=1부터 순차적으로 1씩 증가시켜 n=N까지 반복 수행할 수 있다. 프로세서(15)는 N 개의 제1 계층의 해시값을 산출할 수 있다. 여기서, 제1 계층의 해시값은 제1 해시 함수를 1번 적용되어 산출된 값이다.In another example, the
프로세서(15)는 제1 계층의 해시값들을 2개씩 결합하여 제1 해시 함수에 적용할 수 있다. 그 결과, 프로세서(15)는 제2 계층의 해시값들을 산출할 수 있다. 여기서, 제1 계층의 해시값들이 2개씩 그룹핑된 결과, 1개의 제1 계층의 해시값이 남는 경우, 남은 제1 계층의 해시값은 제2 계층의 해시값과 결합되고, 제1 해시 함수에 적용됨으로써, 프로세서(15)는 제3 계층의 해시값으로 산출될 수 있다.The
마찬가지로, 프로세서(15)는 n-1 계층의 해시값들을 2개씩 결합하여 제1 해시 함수에 적용하여 n 계층의 해시값을 산출하는 과정을, n=3부터 순차적으로 1씩 증가시켜 최상위 계층(N이 짝수이면, 최상위 계층은 N/2 계층이고, N이 홀수이면, 최상위 계층은 (N+1)/2 계층임)의 해시값의 개수가 1개일 때까지 반복 수행할 수 있다. 프로세서(15)는 최상위 계층의 해시값의 개수가 1개이면, 최상위 계층의 해시값을 사용자의 개인키로 생성할 수 있다. 도 9에서는, 프로세서(15)가 인식 템플릿 내의 복수의 영역들 각각의 식별값을 계층적으로 해시 함수에 적용하여, 사용자의 개인키를 생성하는 과정을 상세하게 설명한다.Similarly, the
프로세서(15)는 사용자의 개인키를 제1 해시 함수에 적용하여 산출된 해시값을, 사용자의 공개키로 생성할 수 있다. 프로세서(15)는 사용자의 공개키를 암호화폐에 대한 거래를 기록한 원장을 분산하여 관리하는 블록체인의 네트워크 상의 노드로 전송할 수 있다.The
블록체인 기반의 암호화폐의 거래시에 필요한 개인키를 사용자의 생체 정보로부터 생성된 개인키를 이용함으로써, 거래의 안전성을 높일 수 있다.By using the private key generated from the user's biometric information as the private key required for the transaction of the blockchain-based cryptocurrency, the security of the transaction can be enhanced.
도 3은 일실시예에 따라, 사용자의 지문이 스캔된 경우, 프로세서가 사용자의 지문 정보를 이용하여 사용자의 개인키를 생성하는 과정을 설명하기 위한 도면이다.3 is a diagram for describing a process of generating, by a processor, a private key of a user using fingerprint information of a user when a fingerprint of the user is scanned, according to an exemplary embodiment.
도 3의 310을 참고하면, 프로세서(15)는 사용자의 지문이 스캔된 지문 영상을 획득할 수 있다. 센서 장치는 사용자의 지문을 스캔함으로써, 지문 영상을 획득하고, 프로세서(15)로 전달할 수 있다. 프로세서(15)는 지문 영상을 소정의 알고리즘에 따라 처리하여, 지문 인식 템플릿을 생성할 수 있다. 여기서, 소정의 알고리즘은 영상을 평활화(smoothing), 이진화(binarization) 및 세선화(thinning) 처리하는 알고리즘일 수 있고, 이에 한정되지 않는다.Referring to 310 of FIG. 3, the
도 3의 320을 참고하면, 프로세서(15)는 지문 인식 템플릿을 복수의 영역들로 분할할 수 있다. 도 3의 320에 도시된 바와 같이, 프로세서(15)는 지문 인식 템플릿을 9개의 영역(321, 322, 323, 324, 325, 326, 327, 328, 329)으로 균일하게 분할할 수 있다.Referring to 320 of FIG. 3, the
도 3의 330을 참고하면, 프로세서(15)는 지문 인식 템플릿 내의 분할된 영역들(321, 322, 323, 324, 325, 326, 327, 328, 329)의 생체 특징 정보에 기초하여, 분할된 영역들(321, 322, 323, 324, 325, 326, 327, 328, 329) 각각에 매칭되는 참조 템플릿을 결정할 수 있다. Referring to 330 of FIG. 3, the
여기서, 지문의 특징 정보는 지문의 특징점 및 지문의 특징선에 기초하여 결정될 수 있고, 이에 한정되지 않는다. 지문의 특징점은 지문에서 나타나는 융선, 골, 끝점, 분기점, 중심점, 아래 중심점, 삼각주 중 적어도 하나에 기초하여 결정될 수 있다.The feature information of the fingerprint may be determined based on the feature point of the fingerprint and the feature line of the fingerprint, but is not limited thereto. The feature point of the fingerprint may be determined based on at least one of a ridge, a valley, an endpoint, a branch point, a center point, a lower center point, and a delta in the fingerprint.
프로세서(15)는 분할된 영역들(321, 322, 323, 324, 325, 326, 327, 328, 329) 각각의 지문 특징 정보에 기초하여, 참조 템플릿들 중 인식 템플릿의 분할된 영역에 매칭되는 소정의 참조 템플릿을 결정할 수 있다. 여기서, 참조 템플릿들은 지문 특징들 각각을 대표하는 템플릿들일 수 있다. 참조 템플릿과 관련된 내용은 도 4 및 도 5에서 상세하게 설명한다.The
도 3의 330에 도시된 바와 같이, 프로세서(15)는 분할된 영역들(321, 322, 323, 324, 325, 326, 327, 328, 329) 각각의 지문 특징 정보에 기초하여, 분할된 영역들(321, 322, 323, 324, 325, 326, 327, 328, 329) 각각에 매칭되는 참조 템플릿(331, 332, 333, 334, 335, 336, 337, 338, 339)을 결정할 수 있다. 예를 들면, 프로세서(15)는 제1 영역(321)의 지문의 특징점 및 지문의 특징선에 기초하여, 제1 영역(321)에 매칭되는 제1 참조 템플릿(331)을 결정할 수 있다.As illustrated at 330 of FIG. 3, the
도 3의 340을 참고하면, 참조 템플릿(331, 332, 333, 334, 335, 336, 337, 338, 339) 각각은 템플릿을 나타내는 기준값이 할당될 수 있다. 여기서, 기준값은, 참조 템플릿을 나타내는 고유값이다. 따라서, 참조 템플릿이 다르면, 기준값이 다르다. 프로세서(15)는 지문 인식 템플릿 내의 분할된 영역들(321, 322, 323, 324, 325, 326, 327, 328, 329) 각각에, 참조 템플릿(331, 332, 333, 334, 335, 336, 337, 338, 339)의 기준값을 식별값으로 할당할 수 있다. 예를 들면, 프로세서(15)는 제1 영역(321)에 제1 참조 템플릿(331)의 기준값인 "9"를 식별값으로 할당할 수 있다. 또한, 프로세서(15)는 제2 영역(322)에 제2 참조 템플릿(332)의 기준값이 "5"를 식별값으로 할당할 수 있다.Referring to 340 of FIG. 3, each of the
도 3의 340에 도시된 바와 같이, 프로세서(15)는 인식 템플릿의 분할된 영역들(321, 322, 323, 324, 325, 326, 327, 328, 329) 각각에 식별값(9, 5, 1, 7, 3, 4, 2, 8, 6)을 할당할 수 있다.As shown at 340 of FIG. 3, the
도 3의 350을 참고하면, 프로세서(15)는 분할된 영역들 각각에 할당된 식별값을 소정의 기준으로 나열하여, 전체 식별값(951734286)을 획득할 수 있다. 또한, 프로세서(15)는 영역들 각각에 할당된 식별값을 임의의 순서로 나열하여 전체 식별값을 획득할 수 있다.Referring to 350 of FIG. 3, the
도 4는 일실시예에 따라, 전자 장치 내의 프로세서가 소정 부위를 생체 특징 별로 구분하여 참조 템플릿들을 생성하는 방법을 설명하기 위한 흐름도이다.4 is a flowchart illustrating a method of generating reference templates by dividing a predetermined part by a biometric feature by a processor in an electronic device according to an embodiment.
단계 S410에서, 프로세서(15)는 소정 부위를 포함하는 복수의 생체 영상들을 소정의 알고리즘에 따라 처리하여 복수의 템플릿들을 획득할 수 있다. 여기서, 소정 부위는, 사용자의 지문, 정맥, 홍채 망막, 얼굴 등일 수 있고, 이에 한정되지 않는다.In operation S410, the
단계 S420에서, 프로세서(15)는 복수의 템플릿들을 소정 부위의 생체 특징 별로 구분하는 기준에 따라 분류할 수 있다.In operation S420, the
예를 들면, 복수의 템플릿들이 지문 템플릿들인 경우, 프로세서(15)는 지문의 특징점의 위치, 개수, 분포도 및 지문의 특징선을 나타내는 융선의 방향, 패턴 중 적어도 하나에 기초하여, 복수의 템플릿들 각각의 생체 특징 정보를 획득하고, 생체 특징 별로 분류할 수 있다. 여기서, 특징점은 골, 끝점, 분기점, 중심점, 아래 중심점, 삼각주 중 하나에 해당될 수 있고, 이에 한정되지 않는다.For example, when the plurality of templates are fingerprint templates, the
다른 예를 들면, 복수의 템플릿들이 정맥 템플릿들인 경우, 프로세서(15)는 정맥을 나타내는 혈관의 위치, 방향에 기초하여, 정맥의 분포도 또는 정맥 패턴에 대한 정보를 획득할 수 있다. 프로세서(15)는 정맥의 분포도 또는 정맥 패턴 별로 복수의 템플릿들을 분류할 수 있다.In another example, when the plurality of templates are vein templates, the
또 다른 예를 들면, 복수의 템플릿들이 홍채 템플릿들인 경우, 프로세서(15)는 홍채의 명암 정보에 기초하여, 명암 패턴 정보를 획득할 수 있다. 프로세서(15)는 홍채의 명암 패턴 별로 복수의 템플릿들을 분류할 수 있다.For another example, when the plurality of templates are iris templates, the
단계 S430에서, 프로세서(15)는 분류된 그룹별로 대표 템플릿을 생성하여, 참조 템플릿들을 획득할 수 있다.In operation S430, the
예를 들면, 프로세서(15)는 분류된 그룹 내의 템플릿들 간의 평균값을 계산하여 그룹을 대표하는 대표 템플릿을 생성할 수 있다. 다른 예를 들면, 프로세서(15)는 분류된 그룹 내에서 템플릿을 구성하는 값의 분포가 집중된 값을 검출하여, 그룹을 대표하는 대표 템플릿을 생성할 수 있다.For example, the
프로세서(15)는 그룹 별로 생성된 대표 템플릿들을 참조 템플릿들로 획득할 수 있다.The
도 5는 일실시예에 따라, 프로세서가 복수의 사용자 각각의 스캔된 지문 영상을 이용하여, 참조 템플릿들을 생성하는 과정을 설명하기 위한 도면이다.5 is a diagram for describing a process of generating, by the processor, reference templates by using a scanned fingerprint image of each of a plurality of users, according to an embodiment.
도 5의 510을 참고하면, 프로세서(15)는 복수의 사용자들의 지문 영상들을 획득하고, 지문 영상들을 소정의 알고리즘에 따라 처리하여 지문 템플릿들을 획득할 수 있다. 여기서, 소정의 알고리즘은 영상을 평활화, 이진화 및 세선화 처리하는 알고리즘일 수 있고, 이에 한정되지 않는다.Referring to 510 of FIG. 5, the
도 5의 520을 참고하면, 프로세서(15)는 지문 템플릿들 각각을 미리 설정된 크기로 분할할 수 있다. 도 5에 도시된 바와 같이, 지문 템플릿은 동일한 크기의 9개의 영역으로 분할될 수 있다.Referring to 520 of FIG. 5, the
도 5의 530을 참고하면, 프로세서(15)는 지문 템플릿들 각각의 분할된 영역 내에서, 특징점의 위치, 개수, 분포도 및 지문의 특징선을 나타내는 융선의 방향, 패턴 중 적어도 하나에 기초하여, 지문의 특징 정보를 획득할 수 있다. 프로세서(15)는 지문의 특징 정보에 기초하여, 지문 템플릿들 각각의 분할된 영역을 그룹핑할 수 있다. 예를 들면, 프로세서(15)는 지문의 제1 특징 정보를 갖는 영역의 템플릿들(531)을 제1 그룹으로 분류할 수 있다. 프로세서(15)는 지문의 제1 특징 정보를 갖는 영역의 템플릿들(531) 내의 특징점의 분포 및 특징선 방향에 기초하여, 제1 그룹을 대표하는 제1 참조 템플릿(541)을 생성할 수 있다. 또한, 프로세서(15)는 제1 참조 템플릿(541)을 가리키는 기준값(551)(예를 들면, 기준값: 1)을 할당할 수 있다. 마찬가지로, 프로세서(15)는 지문의 제n 특징 정보를 갖는 영역의 템플릿들을 제n 그룹으로 분류할 수 있다. 프로세서(15)는 지문의 제n 특징 정보를 갖는 영역의 템플릿들 내의 특징점의 분포 및 특징선 방향에 기초하여, 제n 그룹을 대표하는 제n 참조 템플릿을 생성할 수 있다.Referring to 530 of FIG. 5, in the divided area of each of the fingerprint templates, the
도 5는, 프로세서(15)가 지문의 특징 정보를 9개로 분류하여 9 종류의 참조 템플릿을 생성하는 과정을 도시한다. 프로세서(15)는 9 종류 각각에 분류된 템플릿들의 특징점의 분포 및 특징선 방향에 기초하여, 9 종류 각각의 템플릿을 대표하는 참조 템플릿을 생성할 수 있다. 또한, 프로세서(15)는 9개의 참조 템플릿 각각에 참조 템플릿을 가리키는 기준값을 할당할 수 있다.5 shows a process in which the
도 5에 도시된 기준값은 설명의 편의상 부여한 것이고, 다른 숫자, 문자, 기호들이 부여될 수도 있다. 또한, 도 5에서, 지문 템플릿이 3 X 3으로 분할되었지만, 임의의 수 n X n으로 분할될 수 있다. 또한, 참조 템플릿의 종류 또는 종류의 개수는 사용자에 의해 미리 설정될 수 있다. 또한, 생체 정보가 지문 정보인 경우, 참조 템플릿은 왼쪽 지문 정보 및 오른쪽 지문 정보에 기초하여, 획득될 수 있다. 또한, 프로세서(15)는 왼쪽 지문 정보 및 오른쪽 지문 정보를 고려하여 참조 템플릿의 종류를 세밀하게 결정할 수 있다. 이 때, 참조 템플릿의 종류의 개수는 한쪽 지문 정보만을 고려하여 결정된 참조 템플릿의 종류의 개수보다 많을 수 있다.The reference value shown in FIG. 5 is given for convenience of description and other numbers, letters, and symbols may be given. In addition, in FIG. 5, the fingerprint template is divided into 3 × 3, but may be divided into any number n × n. In addition, the type or number of types of reference templates may be preset by the user. In addition, when the biometric information is fingerprint information, the reference template may be obtained based on the left fingerprint information and the right fingerprint information. In addition, the
도 6은 일실시예에 따라, 프로세서가 인식 템플릿에 대응되는 전체 식별값을 해시 함수에 적용하여, 사용자의 개인키를 생성하는 과정을 설명하기 위한 도면이다.6 is a diagram for describing a process of generating a private key of a user by applying a global identification value corresponding to a recognition template to a hash function, according to an exemplary embodiment.
도 6의 610을 참고하면, 프로세서(15)는 인식 템플릿의 분할된 영역들 각각에, 참조 템플릿의 기준값을 식별값으로 할당할 수 있다. 예를 들면, 프로세서(15)는 제1 영역에 매칭되는 제1 참조 템플릿의 기준값 "9"를 제1 영역에 할당할 수 있다.Referring to 610 of FIG. 6, the
프로세서(15)는 할당된 식별값을 소정의 기준으로 나열하여, 전제 식별값을 획득할 수 있다. 도 6의 620을 참고하면, 프로세서(15)는 분할된 영역들 각각에 할당된 식별값을 소정의 기준으로 나열하여, 인식 템플릿의 전체 식별값인 "951734286"을 획득할 수 있다.The
도 6의 630을 참고하면, 프로세서(15)는 전체 식별값인 "951734286"을 제1 해시 함수에 적용하여 "AI39D03N6"을 해시값으로 산출할 수 있다. 프로세서(15)는 산출된 해시값인 "AI39D03N6"을 사용자의 개인키로 생성할 수 있다.Referring to 630 of FIG. 6, the
도 7은 일실시예에 따라, 프로세서가 인식 템플릿에 대응되는 전체 식별값을 해시 함수에 2번 반복 적용하여, 사용자의 개인키를 생성하는 과정을 설명하기 위한 도면이다.7 is a diagram for describing a process of generating a private key of a user by repeatedly applying the entire identification value corresponding to a recognition template to a hash function twice, according to an exemplary embodiment.
도 7의 710을 참고하면, 프로세서(15)는 인식 템플릿의 분할된 영역들 각각에, 참조 템플릿의 기준값을 식별값으로 할당할 수 있다. 도 7의 720을 참고하면, 프로세서(15)는 분할된 영역들 각각에 할당된 식별값을 소정의 기준으로 나열하여, 인식 템플릿의 전체 식별값인 "951734286"을 획득할 수 있다. 도 7의 730을 참고하면, 프로세서(15)는 프로세서(15)는 전체 식별값인 "951734286"을 제1 해시 함수에 적용하여 "AI39D03N6"을 해시값으로 산출할 수 있다.Referring to 710 of FIG. 7, the
도 7의 740을 참고하면, 프로세서(15)는 산출된 해시값인 "AI39D03N6"을 제1 해시 함수에 적용하여 "EROMX301Q"을 해시값으로 산출할 수 있다. 프로세서(15)는 산출된 해시값인 "EROMX301Q"을 사용자의 개인키로 생성할 수 있다.Referring to 740 of FIG. 7, the
도 8은 일실시예에 따라, 프로세서가 인식 템플릿 내의 복수의 영역들 각각의 식별값을 해시 함수에 순차적으로 적용하여, 사용자의 개인키를 생성하는 과정을 설명하기 위한 도면이다.8 is a diagram for describing a process of generating, by a processor, a private key of a user by sequentially applying identification values of each of a plurality of regions in a recognition template to a hash function, according to an embodiment.
도 8의 810을 참고하면, 프로세서(15)는 인식 템플릿의 분할된 영역들 각각에, 참조 템플릿의 기준값을 식별값으로 할당할 수 있다.Referring to 810 of FIG. 8, the
도 8의 820을 참고하면, 프로세서(15)는 제1 영역의 식별값 "9"를 제1 해시 함수에 적용하여 제1 해시값(821)인 "ADIOO8321"을 산출할 수 있다. 프로세서(15)는 제1 해시값(821)인 "ADIOO8321"과 제2 영역의 식별값 "5"를 제1 해시 함수에 적용하여 제2 해시값(822)인 "EIOQCLAI9"를 산출할 수 있다. 즉, 프로세서(15)는 제n-1 해시값과 복수의 영역들 중 제n 영역에 할당된 제n 기준값을, 상기 제1 해시 함수에 적용하여 제n 해시값을 산출하는 제1 프로세스를 수행할 수 있다. 프로세서(15)는 제1 프로세스를, n=2부터 순차적으로 1씩 증가시켜 n=N까지 반복 수행할 수 있다. 프로세서(15)는 제1 프로세스를 수행하여, 제3 해시값(823)으로 "EIEROCO1M"을 산출하고, 제4 해시값(824)으로 "903CJKAOE"을 산출하고, 제5 해시값(825)으로 "D3LCL1CL1"을 산출하고, 제6 해시값(826)으로 "EOWPCLQ76"을 산출하고, 제7 해시값(827)으로 "KCO9358RH"을 산출하고, 제8 해시값(828)으로 "DIFLWIOD9"을 산출하고, 제9 해시값(829)으로 "UEXBOU541"을 산출할 수 있다.Referring to 820 of FIG. 8, the
프로세서(15)는 마지막으로 산출된 제9 해시값(829)인 "UEXBOU541"을 사용자의 개인키로 생성할 수 있다.The
도 9는 일실시예에 따라, 프로세서가 인식 템플릿 내의 복수의 영역들 각각의 식별값을 계층적으로 해시 함수에 적용하여, 사용자의 개인키를 생성하는 과정을 설명하기 위한 도면이다.9 is a diagram for describing a process of generating a private key of a user by applying an identification value of each of a plurality of regions in a recognition template to a hash function hierarchically according to an embodiment.
도 9의 910을 참고하면, 프로세서(15)는 인식 템플릿의 분할된 영역들 각각에, 참조 템플릿의 기준값을 식별값으로 할당할 수 있다.Referring to 910 of FIG. 9, the
도 9의 920을 참고하면, 프로세서(15)는 9개의 복수의 영역들 각각에 할당된 식별값을 제1 해시 함수에 적용하여 제1 계층의 해시값들(921)을 산출할 수 있다. 프로세서(15)는 제1 계층의 해시값들(921)을 2개씩 결합하여 제1 해시 함수에 적용하여 제2 계층의 해시값들(922)을 산출할 수 있다. 여기서, 제1 계층의 해시값들(921) 중 해시값 "CKDI9034N"은 짝을 이루는 해시값이 없기 때문에 다음 계층의 해시값들을 산출하는 데에 이용될 수 있다. 프로세서(15)는 제2 계층의 해시값들(922)을 2개씩 결합하여 제1 해시 함수에 적용하여 제3 계층의 해시값들(923)을 산출할 수 있다. 프로세서(15)는 제3 계층의 해시값 중 해시값 "CIVN5781Q"와 제1 계층의 해시값 "CKDI9034N"을 결합하여 제1 해시 함수에 적용하여 제4 계층의 해시값(924)을 산출할 수 있다. 프로세서(15)는 제4 계층의 해시값(924)인 "ICOEK90C1"과 제3 계층의 해시값 중 해시값 "UWKCI1239"을 결합하여 제1 해시 함수에 적용하여 제5 계층의 해시값(925)을 산출할 수 있다. 프로세서(15)는 제5 계층의 해시값(925)인 "MXCUE45I0"을 사용자의 개인키로 생성할 수 있다.Referring to 920 of FIG. 9, the
도 9에서는 설명의 편의상, 나열된 해시값들의 순서로 해시값들이 결합되어 제1 해시 함수에 적용되었으나, 임의의 순서로 해시값들이 결합되어 제1 해시 함수에 적용될 수 잇다.In FIG. 9, for convenience of description, hash values are combined and applied to the first hash function in the order of the listed hash values, but hash values may be combined and applied to the first hash function in any order.
도 10은 일실시예에 따라, 제1 사용자의 생체 정보로 생성된 개인키로 거래 정보를 디지털 서명하여 블록체인 기반의 암호화폐를 거래하는 전자 장치의 동작을 설명하기 위한 흐름도이다.FIG. 10 is a flowchart illustrating an operation of an electronic device for trading a blockchain-based cryptocurrency by digitally signing transaction information with a private key generated from biometric information of a first user.
단계 S1010에서, 전자 장치(10)는 제1 사용자의 전자 지갑을 실행할 수 있다.In operation S1010, the
단계 S1020에서, 전자 장치(10)는 제1 사용자의 소정 부위가 스캔된 생체 영상을 획득할 수 있다.In operation S1020, the
단계 S1030에서, 전자 장치(10)는 생체 영상으로부터 제1 사용자의 생체 특징 정보를 나타내는 인식 템플릿을 획득할 수 있다.In operation S1030, the
단계 S1040에서, 전자 장치(10)는 인식 템플릿에 대응되는 식별값을 제1 해시 함수에 적용하여 해시값을 산출할 수 있다. 전자 장치(10)는 산출된 해시값을 제1 사용자의 개인키로 생성할 수 있다.In operation S1040, the
전자 장치(10)는 인식 템플릿에 대응되는 식별값을 결정할 수 있다. 구체적으로, 전자 장치(10)는 인식 템플릿을 복수의 영역들로 분할할 수 있다. 전자 장치(10)는 분할된 영역들 내의 생체 특징 정보에 기초하여, 분할된 영역들 각각에 매칭되는 참조 템플릿을 결정할 수 있다. 전자 장치(10)는 분할된 영역들 각각에, 참조 템플릿의 기준값을 식별값으로 할당하여, 인식 템플릿에 대응되는 식별값을 결정할 수 있다.The
또한, 전자 장치(10)는 분할된 영역들 내에서, 소정 부위의 생체 특징을 인식하는 데에 이용되는 적어도 하나의 특징점 및 적어도 하나의 특징선을 검출할 수 있다. 전자 장치(10)는 적어도 하나의 특징점의 위치, 개수, 분포도 및 적어도 하나의 특징선의 방향, 패턴 중 적어도 하나에 기초하여, 소정 부위의 생체 특징 정보를 획득할 수 있다. 전자 장치(10)는 분할된 영역들 내의 생체 특징 정보 및 참조 템플릿들의 정보에 기초하여, 분할된 영역들 각각에 매칭되는 참조 템플릿을 결정할 수 있다.In addition, the
전자 장치(10)가 제1 사용자의 개인키를 생성하는 방법을 설명한다. 예를 들면, 전자 장치(10)는 분할된 영역들 각각에 할당된 식별값을 소정의 기준으로 나열하여, 전체 식별값을 획득할 수 있다. 전자 장치(10)는 전체 식별값을 제1 해시 함수에 적용하여 제1 해시값을 산출하고, 산출된 제1 해시값을 제1 사용자의 개인키로 생성할 수 있다.A method of generating the private key of the first user by the
다른 예를 들면, 전자 장치(10)는 분할된 영역들 각각에 할당된 식별값이 결합되어 획득된 전체 식별값을 제1 해시 함수에 적용하여 제1 해시값을 산출할 수 있다. 전자 장치(10)는 제1 해시값을 제1 해시 함수에 적용하여 제2 해시값을 산출할 수 있다. 전자 장치(10)는 제2 해시값을 제1 사용자의 개인키로 생성할 수 있다.As another example, the
또 다른 예를 들면, 전자 장치(10)는 복수(N 개, N은 2 이상임)의 영역들 중 제1 영역에 할당된 제1 기준값을 제1 해시 함수에 적용하여 제1 해시값을 산출할 수 있다. 전자 장치(10)는 제1 해시값과 복수의 영역들 중 제2 영역에 할당된 제2 기준값을 제1 해시 함수에 적용하여 제2 해시값을 산출할 수 있다. 마찬가지로, 전자 장치(10)는 제n-1 기준값과 상기 복수의 영역들 중 제n 영역에 할당된 제n 기준값을 상기 제1 해시 함수에 적용하여 제n 해시값을 산출하는 과정을, n=3부터 순차적으로 1씩 증가시켜 n=N까지 반복 수행하여 최종적으로 제N 해시값을 산출할 수 있다. 전자 장치(10)는 제N 해시값을 제1 사용자의 개인키로 생성할 수 있다. As another example, the
또 다른 예를 들면, 전자 장치(10)는 복수(N 개, N은 2 이상임)의 영역들 중 제n 영역에 할당된 제n 기준값을 제1 해시 함수에 적용하여 제1 계층의 제n 해시값을 산출하는 과정을, n=1부터 순차적으로 1씩 증가시켜 n=N까지 반복 수행할 수 있다. 전자 장치(10)는 N 개의 제1 계층의 해시값을 산출할 수 있다. 여기서, 제1 계층의 해시값은 제1 해시 함수를 1번 적용되어 산출된 값이다.As another example, the
전자 장치(10)는 제1 계층의 해시값들을 2개씩 결합하여 제1 해시 함수에 적용할 수 있다. 그 결과, 전자 장치(10)는 제2 계층의 해시값들을 산출할 수 있다. 여기서, 제1 계층의 해시값들이 2개씩 그룹핑된 결과, 1개의 제1 계층의 해시값이 남는 경우, 남은 제1 계층의 해시값은 제2 계층의 해시값과 결합되고, 제1 해시 함수에 적용됨으로써, 전자 장치(10)는 제3 계층의 해시값으로 산출될 수 있다.The
마찬가지로, 전자 장치(10)는 n-1 계층의 해시값들을 2개씩 결합하여 제1 해시 함수에 적용하여 n 계층의 해시값을 산출하는 과정을, n=3부터 순차적으로 1씩 증가시켜 최상위 계층(N이 짝수이면, 최상위 계층은 N/2 계층이고, N이 홀수이면, 최상위 계층은 (N+1)/2 계층임)의 해시값의 개수가 1개일 때까지 반복 수행할 수 있다. 전자 장치(10)는 최상위 계층의 해시값의 개수가 1개이면, 최상위 계층의 해시값을 제1 사용자의 개인키로 생성할 수 있다.Similarly, the
또한, 전자 장치(10)는 제1 사용자의 개인키를 제1 해시 함수에 적용하여 산출된 해시값을, 제1 사용자의 공개키로 생성할 수 있다.In addition, the
단계 S1050에서, 전자 장치(10)는 제1 사용자의 개인키로 제1 사용자와 제2 사용자 간의 암호화폐의 제1 거래 정보를 디지털 서명하여, 암호화폐에 대한 거래를 기록한 원장을 분산하여 관리하는 블록체인의 네트워크 상의 노드로 전송할 수 있다.In operation S1050, the
구체적으로, 전자 장치(10)는 제1 거래 정보를 제2 해시 함수에 적용하여, 제1 거래 정보에 대응되는 해시값을 생성할 수 있다. 전자 장치(10)는 제1 사용자의 개인키로 제1 거래 정보에 대응되는 해시값을 암호화하여, 제1 거래 정보의 디지털 서명을 나타내는 제1 암호문을 생성할 수 있다. 전자 장치(10)는 제1 암호문을 제1 거래 정보와 함께 노드로 전송할 수 있다.In detail, the
또한, 전자 장치(10)는 제1 사용자의 공개키를 블록체인의 네트워크 상의 노드로 전송할 수 있다.In addition, the
또한, 전자 장치(10)는 제1 사용자와 제2 사용자 간의 암호화폐의 제1 거래 정보를 획득할 수 있다. 전자 장치(10)는 제1 거래 정보에 따라, 제1 사용자의 전자 지갑과 제2 사용자의 전자 지갑 간에 암호화폐의 거래를 수행할 수 있다.In addition, the
도 11은 일실시예에 따라, 암호화폐에 대한 거래를 기록한 원장을 분산하여 관리하는 블록체인의 네트워크 상의 노드의 동작을 설명하기 위한 흐름도이다.11 is a flowchart illustrating an operation of a node on a network of a blockchain for distributing and managing ledgers recording transactions for cryptocurrencies, according to an embodiment.
단계 S1110에서, 노드(20)는 제1 사용자의 공개키를 제1 사용자의 전자 장치(10)로부터 수신할 수 있다.In operation S1110, the
단계 S1120에서, 노드(20)는 제1 사용자와 제2 사용자 간에 거래된 암호화폐의 제1 거래 정보를 제1 사용자의 전자 장치(10)로부터 수신할 수 있다. 여기서, 제1 거래 정보는 제1 사용자가 제2 사용자에게 암호화폐의 소정 금액을 이체하는 정보를 포함할 수 있다. 또한, 노드(20)는 제1 거래 정보가 제1 사용자의 개인키로 디지털 서명된 제1 암호문을 수신할 수 있다.In operation S1120, the
단계 S1130에서, 노드(20)는 제1 사용자의 전자 장치(10)로부터 수신된 제1 거래 정보에 기초하여, 제1 거래 정보의 유효성을 검증할 수 있다. 구체적으로, 노드(20)는 제1 거래 정보에 제2 해시 함수를 적용하여 제1 거래 정보에 대응되는 제1 해시값을 생성할 수 있다. 그리고 나서, 노드(20)는 제1 사용자의 공개키를 사용하여 제1 암호문을 복호화하여 제2 해시값을 생성할 수 있다. 노드(20)는 제1 해시값과 제2 해시값의 비교 결과에 기초하여, 제1 거래 정보의 유효성을 검증할 수 있다.In operation S1130, the
단계 S1140에서, 제1 거래 정보가 유효하면, 노드(20)는 단계 S1150에 따라 동작을 수행할 수 있다. 반면에, 제1 거래 정보가 유효하지 않으면, 노드(20)는 제1 거래 정보를 폐기할 수 있다.In operation S1140, if the first transaction information is valid, the
단계 S1150에서, 노드(20)는 제1 거래 정보를 블록체인의 네트워크 상의 다른 노드(20)로 전송할 수 있다. 또한, 노드(20)는 제1 거래 정보를 블록체인에 연결될 수 있는 블록의 후보 블록에 추가할 수 있다.In operation S1150, the
단계 S1160에서, 노드(20)는 후보 블록에 대한 작업 증명을 수행하여, 블록체인에 후보 블록을 유효한 블록으로 추가할 수 있다.In operation S1160, the
도 12는 일실시예에 따라, 블록체인의 네트워크 상에서 유효한 암호화폐의 거래를 블록체인의 네트워크 상의 노드들로 전파하고, 블록체인에 기록하는 과정을 설명하기 위한 도면이다.FIG. 12 is a diagram for describing a process of propagating a transaction of a valid cryptocurrency on a blockchain network to nodes on a blockchain network and recording the blockchain in a blockchain according to an embodiment.
도 12를 참고하면, 전자 장치(10)는 제1 사용자의 전자 지갑을 실행할 수 있다. 전자 장치(10)는 제1 사용자가 제2 사용자에게 암호화폐 3,500,000 캐시를 이체한 정보를 나타내는 제1 거래 정보에 기초하여, 제2 사용자의 전자 지갑으로 암호화폐 3,500,000 캐시를 이체할 수 있다. 전자 장치(10)는 제1 거래 정보를 암호화하고, 암호화된 제1 거래 정보를 블록체인의 네트워크 상의 제1 노드(20)로 전송할 수 있다. 여기서, 전자 장치(10)는 제1 사용자의 생체 정보로부터 획득된 제1 사용자의 개인키로 제1 거래 정보를 암호화할 수 있다. 전자 장치(10)가 제1 거래 정보를 암호화하여 제1 노드(20)로 전송하는 동작은 도 13에서 상세하게 설명한다.Referring to FIG. 12, the
제1 노드(20)는 암호화된 제1 거래 정보를 제1 사용자의 공개키로 복호화하고, 복호화된 결과에 기초하여 제1 거래 정보가 유효한지를 검증(1210)할 수 있다. 여기서, 제1 사용자의 공개키는, 제1 사용자의 생체 정보로부터 획득된 제1 사용자의 개인키를 해시 함수에 적용하여 산출된 값이다. 제1 노드(20)가 제1 거래 정보의 유효성을 검증하는 동작은 도 14에서 상세하게 설명한다.The
제1 거래 정보의 유효성을 검증한 결과, 제1 거래 정보가 유효하지 않으면, 제1 노드(20)는 제1 거래 정보를 폐기할 수 있다.As a result of validating the first transaction information, if the first transaction information is not valid, the
제1 거래 정보의 유효성을 검증한 결과, 제1 거래 정보가 유효하면, 제1 노드(20)는 제1 거래 정보를 블록체인의 네트워크 상의 제2 노드(20-2)로 전송할 수 있다. 또한, 제1 노드(20)는 후보 블록(1220)에 제1 사용자가 제2 사용자에게 암호화폐 3,500,000 캐시를 이체한 정보를 나타내는 제1 거래 정보(1221)를 기록할 수 있다. 후보 블록(1220)에 소정의 거래 정보들이 기록되면, 제1 노드(20)는 후보 블록(1220)에 대한 작업 증명을 수행하여 유효한 블록을 생성할 수 있다. 또한, 제2 노드(20-2)에서도 제1 거래 정보의 유효성이 검증되면, 제2 노드(20-2)는 제1 거래 정보를 후보 블록(1220)에 추가하고, 후보 블록(1220)에 대한 작업 증명을 수행하여 유효한 블록을 생성할 수 있다. 제3 노드(20-3) 및 제4 노드(20-4)도 제2 노드(20-2)와 마찬가지로 동작할 수 있다.As a result of verifying validity of the first transaction information, if the first transaction information is valid, the
제1 노드(20)에서 유효한 블록을 생성하여 블록체인에 추가하는 과정을 설명하면, 제1 노드(20)는 소정의 거래 정보들에 대한 머클 트리의 루트를 계산할 수 있다. 제1 노드(20)는 블록체인에 추가될 블록의 입장에서 이전 블록 헤더를 가리키는 해시 참조를 생성할 수 있다. 제1 노드(20)는 블록체인에 추가될 블록의 작업 증명 또는 제약 조건에서 필요한 난이도를 획득할 수 있다. 제1 노드(20)는 머클 트리의 루트, 이전 블록 헤더를 가리키는 해시 참조, 난이도, 타임스태프의 데이터와 난스에 해시 함수를 적용하여 생성된 블록해시의 값이 제약 조건을 만족하는지 확인할 수 있다. 제1 노드(20)는 난스를 0부터 1씩 증가시키면서 제약 조건을 만족시키는 난스의 값을 획득하여 후보 블록(1220)에 대한 작업 증명을 수행할 수 있다. 제1 노드(20)는 블록체인에 후보 블록(1220)을 유효한 블록으로 추가할 수 있다. 또한, 제1 노드(20)는 유효한 블록을 블록체인의 네트워크 상의 다른 노드들(20-2, 20-3, 20-4 등)로 전송할 수 있다.Referring to the process of generating a valid block in the
블록체인의 네트워크 상의 각 노드들(20-2, 20-3, 20-4 등)은 제1 노드(20)에서 수신한 유효한 블록에 대한 검증을 수행하여, 각 노드들(20-2, 20-3, 20-4 등)에서 보유하는 블록체인에 유효한 블록을 추가할 수 있다.Each node (20-2, 20-3, 20-4, etc.) on the network of the blockchain performs verification on a valid block received by the
도 13은 일실시예에 따라, 전자 장치에서 디지털 서명된 거래 정보를 블록체인의 네트워크 상의 노드로 전송하는 과정을 설명하기 위한 도면이다.FIG. 13 is a diagram for describing a process of transmitting digitally signed transaction information to a node on a network of a blockchain in an electronic device according to an embodiment.
전자 장치(10)는 "제1 사용자가 제2 사용자에게 제1 암호화폐 3,500,000 캐시를 이체"한 거래 정보(1310)를 제1 사용자의 개인키로 암호화하고, 암호화된 거래 정보(1340)를 블록체인의 네트워크 상의 제1 노드(20)로 전송할 수 있다.The
구체적으로, 전자 장치(10)는 "제1 사용자가 제2 사용자에게 제1 암호화폐 3,500,000 캐시를 이체"한 거래 정보(1310)를 거래 정보에 대한 고유의 데이터를 생성하는 해시함수에 적용하여, 거래 정보(1310)에 대응되는 해시값 "8F23V230"(1320)을 생성할 수 있다.Specifically, the
전자 장치(10)는 제1 사용자의 개인키(1325)로 해시값 "8F23V230"(1320)을 암호화하여 거래 정보(1310)의 디지털 서명을 나타내는 제1 암호문 "%! ##(YSEDK$#9$KPXL&%"(1330)을 생성할 수 있다. 여기서, 제1 사용자의 개인키(1325)는, 제1 사용자의 생체 정보로부터 획득될 수 있다. 생체 정보는, 지문 정보, 홍채 정보, 정맥 정보, 얼굴 정보 등일 수 있고, 이에 한정되지 않는다. 전자 장치(10)는 제1 암호문 "%! ##(YSEDK$#9$KPXL&%"(1330)을 거래 정보(1310)와 합한 거래 정보(1340)를 제1 노드(20)로 전송할 수 있다.The
또한, 전자 장치(10)는 제1 사용자의 생체 정보로부터 획득된 제1 사용자의 개인키(1325)를 해시 함수에 적용하여, 제1 사용자의 공개키를 생성할 수 있다. 전자 장치(10)는 제1 사용자의 공개키를 제1 노드(20)로 전송할 수 있다.In addition, the
도 14는 일실시예에 따라, 블록체인의 네트워크 상의 노드에서 거래 정보의 유효성을 검증하는 과정을 설명하기 위한 도면이다.14 is a diagram for describing a process of validating transaction information at a node on a network of a blockchain, according to an exemplary embodiment.
예를 들면, 제1 노드(20)는 제1 사용자의 전자 장치(10)로부터 거래 정보(1410)를 수신할 수 있다. 거래 정보(1410)는 "제1 사용자가 제2 사용자에게 제1 암호화폐 3,500,000 캐시를 이체"한 거래 정보(1411) 및 제1 암호문 "%! ##(YSEDK$#9$KPXL&%"(1412)을 포함할 수 있다. 제1 노드(20)는 거래 정보(1411)에 해시함수를 적용하여 거래 정보(1411)에 대응되는 해시값 "8F23V230"(1421)을 생성할 수 있다. 제1 노드(20)는 제1 사용자의 공개키(1425)를 이용하여 제1 암호문 "%! ##(YSEDK$#9$KPXL&%"(1412)을 복호화하여 해시값 "8F23V230"(1422)을 생성할 수 있다. 해시값 "8F23V230"(1421)과 해시값 "8F23V230"(1422)이 동일하므로, 제1 노드(20)는 제1 사용자의 전자 장치(10)로부터 수신된 거래 정보(1410)는 유효하다고 판단할 수 있다.For example, the
다른 예를 들면, 제1 노드(20)는 제1 사용자의 전자 장치(10)로부터 거래 정보(1430)를 수신할 수 있다. 거래 정보(1430)는 "제1 사용자가 제2 사용자에게 제1 암호화폐 2,500,000 캐시를 이체"한 거래 정보(1431) 및 제1 암호문 "%! ##(YSEDK$#9$KPXL&%"(1412)을 포함할 수 있다. 제1 노드(20)는 거래 정보(1431)에 해시함수를 적용하여 거래 정보(1431)에 대응되는 해시값 "6F49X298"(1441)을 생성할 수 있다. 제1 노드(20)는 제1 사용자의 공개키(1425)를 이용하여 제1 암호문 "%! ##(YSEDK$#9$KPXL&%"(1412)을 복호화하여 해시값 "8F23V230"(1422)을 생성할 수 있다. 해시값 "6F49X298"(1441)과 해시값 "8F23V230"(1422)이 동일하지 않으므로, 제1 노드(20)는 제1 사용자의 전자 장치(10)로부터 수신된 거래 정보(1430)는 유효하지 않다고 판단할 수 있다.For another example, the
도 15는 일실시예에 따라, 블록 및 블록체인의 구조를 설명하기 위한 블록도이다.15 is a block diagram illustrating a structure of a block and a blockchain according to an embodiment.
도 15에 도시된 바와 같이, 블록체인은 유효한 거래 정보들을 기록한 블록들이 연결되어 구성될 수 있다. 즉, 블록체인의 데이터 구조는 거래 정보를 기록한 블록들이 순서대로 정렬된 단위로 구성된 소정의 데이터 구조일 수 있다. 또한, 블록체인의 데이터 구조는 각 블록 헤더가 이전 블록 헤더를 참조하여 체인 형식으로 연결된 데이터 구조, 및 거래 정보의 데이터를 가리키는 해시 참조와 거래 정보의 데이터가 트리 형태로 연결된 머클 트리의 데이터 구조로 구성될 수 있다.As shown in FIG. 15, a blockchain may be constructed by connecting blocks in which valid transaction information is recorded. That is, the data structure of the blockchain may be a predetermined data structure composed of units in which blocks in which transaction information is recorded are arranged in order. In addition, the data structure of the blockchain is a data structure in which each block header is linked in a chain form with reference to the previous block header, and a data structure of the Merkle tree in which a hash reference indicating data of the transaction information and data of the transaction information are connected in a tree form. Can be configured.
블록은 블록 해시, 블록 헤더, 거래 정보 등을 포함할 수 있다. 블록 헤더는 현재 프로그램의 버전, 이전 블록 헤더의 해시값, 머클 트리의 루트, 타임스태프, 난이도 및 난스의 정보를 포함할 수 있다.The block may include a block hash, block header, transaction information, and the like. The block header may include the version of the current program, the hash value of the previous block header, the root of the Merkle tree, the timestamp, the difficulty, and the nonce.
블록 해시는 현재 프로그램의 버전, 이전 블록 헤더의 해시값, 머클 트리의 루트, 타임스태프, 난이도 및 난스의 정보를 입력값으로 하여 적용된 해시 함수의 해시값일 수 있다. 즉, 블록 해시의 값은 블록 전체를 해시한 값이 아니라, 블록 헤더를 해시한 값일 수 있다.The block hash may be a hash value of a hash function applied by using information of a version of a current program, a hash value of a previous block header, a root of a Merkle tree, a time stamp, a difficulty level, and a nonce. That is, the value of the block hash may be a value that hashes the block header, not a value that hashes the entire block.
이전 블록 헤더의 해시값은 각 블록 헤더를 고유하게 식별하고, 이전 블록 헤더를 참조하기 위해 사용될 수 있다. 각 블록 헤더가 이전 블록 헤더를 참조하면, 개별 블록 헤더와 블록의 순서는 유지될 수 있다. 도 15를 참고하면, 제1 블록(1510)은 최초 블록이어서 이전 블록이 없으므로, 이전 블록 헤더를 가리키는 어떠한 참조도 없다. 따라서, 제1 블록(1510)의 이전 블록 헤더의 해시값은 0이다. 또한, 제2 블록(1520)은 이전 블록인 제1 블록(1510)이 있으므로, 제2 블록 헤더는 제1 블록 헤더를 가리키는 해시값을 갖는다. 마찬가지로, 제3 블록(1530)은 이전 블록인 제2 블록(1520)이 있으므로, 제3 블록 헤더는 제2 블록 헤더를 가리키는 해시값을 갖는다.The hash value of the previous block header may uniquely identify each block header and may be used to refer to the previous block header. If each block header refers to the previous block header, the order of the individual block headers and blocks may be maintained. Referring to FIG. 15, since the
머클 트리는 해시 참조와 거래 정보의 데이터가 트리 형태로 연결되어 있는 구조를 의미할 수 있다. 해시 참조는 암호화 해시값을 이용하여 거래 정보의 데이터를 가리키는 것을 의미할 수 있다. 한편, 암호화 해시값은 데이터의 고유값이므로, 서로 다른 데이터들은 동일한 해시값을 갖지 않는다.The Merkle tree may mean a structure in which a hash reference and data of transaction information are connected in a tree form. The hash reference may refer to data of transaction information using an encrypted hash value. On the other hand, since the encrypted hash value is a unique value of the data, different data do not have the same hash value.
머클 트리가 생성되는 과정을 구체적으로 설명하면, 거래 정보(예를 들면, 제1 거래 정보, 제2 거래 정보, 제3 거래 정보, 제4 거래 정보)의 데이터 각각을 가리키는 해시 참조(예를 들면, 제1 해시 참조, 제2 해시 참조, 제3 해시 참조, 제4 해시 참조)가 생성될 수 있다. 해시 참조가 생성되면, 해시 참조의 쌍을 가리키는 해시 참조(예를 들면, 제1 해시 참조와 제2 해시 참조를 가리키는 제12 해시 참조, 제3 해시 참조와 제4 해시 참조를 가리키는 제34 해시 참조)가 생성될 수 있다. 그리고 나서, 해시 참조의 쌍을 가리키는 해시 참조를 생성하는 작업이 반복 수행되어 단일 해시 참조(예를 들면, 제12 해시 참조와 제34 해시 참조를 가리키는 제1234 해시 참조)가 생성될 수 있다. 즉, 머클 트리는 단일 해시 참조에서 시작되어 각 거래 정보의 데이터까지 연결된 트리 형태의 구조일 수 있다. 머클 트리의 루트는 최종적으로 생성된 단일 해시 참조를 의미할 수 있다.In detail, the process of generating the Merkle tree includes a hash reference (for example, each of the data of the transaction information (for example, first transaction information, second transaction information, third transaction information, and fourth transaction information)). , A first hash reference, a second hash reference, a third hash reference, and a fourth hash reference) may be generated. When a hash reference is generated, a hash reference that points to a pair of hash references (e.g., a 12th hash reference pointing to a first hash reference and a second hash reference, a 34th hash reference pointing to a third hash reference, and a fourth hash reference). ) May be generated. Thereafter, the operation of generating a hash reference that points to the pair of hash references may be repeated to generate a single hash reference (eg, a twelfth hash reference and a 1234 hash reference to the thirty-fourth hash reference). That is, the Merkle tree may be a tree-type structure starting from a single hash reference and linked to data of each transaction information. The root of the Merkle tree may mean a single generated hash reference.
타임스태프는 작업 증명을 위해 작업을 시작한 시각을 의미할 수 있다. 난이도는 작업 증명 또는 해시 퍼즐에서의 제약 조건을 의미할 수 있다. 난스는 작업 증명을 위해 블록해시의 값이 제약 조건을 만족하도록 조절되는 값을 의미할 수 있다.The time staff may mean the time when the work started to prove the work. The difficulty may refer to constraints in proof of work or hash puzzles. The nonce may refer to a value in which the value of the block hash is adjusted to satisfy the constraint for proof of work.
도 16은 일실시예에 따른 전자 장치의 구성을 도시한 블록도이다.16 is a block diagram illustrating a configuration of an electronic device according to an embodiment.
도 16에 도시된 전자 장치(1600)는 통신 장치(1610), 센서 장치(1620), 사용자 인터페이스 장치(1630), 메모리(1640) 및 프로세서(1650)를 포함할 수 있다. 그러나, 도시된 구성 요소 모두가 필수 구성 요소인 것은 아니다. 도시된 구성 요소보다 많은 구성 요소에 의해 전자 장치(1600)가 구현될 수 있고, 그보다 적은 구성 요소에 의해서도 전자 장치(1600)가 구현될 수 있다. 이하 상기 구성 요소들에 대해 살펴본다. 도 16에 도시된 전자 장치(1600)는 도 1 내지 도 15에서 설명한 전자 장치(10)와 동일하게 대응될 수 있다.The
일부 실시예에 따르면, 통신 장치(1610)는 외부 장치와 통신을 수행할 수 있다. 구체적으로, 통신 장치(2110)는 유선 또는 무선으로 네트워크와 연결되어 외부 장치와 통신을 수행할 수 있다. 여기서, 외부 장치는 서버, 스마트폰, 태블릿, PC, 컴퓨팅 장치 등일 수 있다. 통신 장치(1610)는 다양한 유무선 통신 방법 중 하나를 지원하는 통신 모듈을 포함할 수 있다. 예를 들면, 통신 모듈은 칩셋(chipset)의 형태일 수도 있고, 또는 통신에 필요한 정보를 포함하는 스티커/바코드(e.g. NFC tag를 포함하는 스티커)등일 수도 있다. 또한, 통신 모듈은 근거리 통신 모듈, 유선 통신 모듈일 수 있다.According to some embodiments, the
예를 들면, 통신 장치(1610)는 무선 랜(Wireless LAN), Wi-Fi(Wireless Fidelity), WFD(Wi-Fi Direct), 블루투스(Bluetooth), BLE(Bluetooth Low Energy), Wired Lan, NFC(Near Field Communication), 지그비(Zigbee) 적외선(IrDA, infrared Data Association), 3G, 4G, 및 5G 중 적어도 하나를 지원할 수 있다.For example, the
일부 실시예에 따르면, 통신 장치(1610)는 암호화폐에 대한 거래를 기록한 원장을 분산하여 관리하는 블록체인의 네트워크 상의 적어도 하나의 노드와 통신을 수행할 수 있다. 예를 들면, 통신 장치(1610)는 제1 사용자와 제2 사용자 간에 거래된 암호화폐의 거래 정보를 제1 노드(20)로 전송할 수 있다. 여기서, 거래 정보는, 제1 사용자의 생체 정보로부터 획득된 제1 사용자의 개인키로 암호화될 수 있다.According to some embodiments, the
일부 실시예에 따르면, 통신 장치(1610)는 전자 장치(1600)에서 획득된 제1 사용자의 공개키를 제1 노드(20)로 전송할 수 있다. 또한, 제1 사용자의 공개키는 제1 사용자의 개인키를 해시 함수에 적용하여 산출된 값이다.According to some embodiments, the
일부 실시예에 따르면, 센서 장치(1620)는 제1 사용자의 소정 부위에 대한 생체 정보를 감지하기 위해 이용되는 장치일 수 있다. 센서 장치(1620)는 지문 인식 센서, 홍채 인식 센서, 얼굴 인식 센서, 정맥 인식 센서 등을 포함할 수 있고, 이에 한정되지 않는다. According to some embodiments, the
예를 들면, 지문 인식 센서는 손가락 표면에 형성된 피부 요철형상을 판독하는 역할을 할 수 있다. 지문 인식 센서로 사용되는 센서의 종류로는 정전 용량식(capacitive), RF 방식(radio frequency), 열식(thermal) 및 광학 어레이(optical arrays)등이 있을 수 있다. 각 지문 인식 센서 방식의 측정 메커니즘은 상이하지만 그 결과로 얻어지는 생체 영상 정보는 센서와 접촉하는 지문의 형태를 획득할 수 있다.For example, the fingerprint recognition sensor may serve to read the skin irregularities formed on the surface of the finger. Types of sensors used as the fingerprint sensor may include capacitive, radio frequency, thermal, and optical arrays. Although the measurement mechanism of each fingerprint recognition sensor method is different, the resulting biological image information can obtain the form of the fingerprint in contact with the sensor.
예를 들면, 홍채 인식 센서는 일정한 거리에서 적외선을 이용한 카메라의 줌렌즈를 통해 초점을 조절하여 사용자의 홍채를 촬영할 수 있다. 홍채 인식 센서는 촬영된 홍채를 영상화한 뒤에 홍채 인식 알고리즘에 따라 홍채의 명암 패턴을 영역별로 분석할 수 있다. 홍채 인식 센서는 분석 결과에 기초하여, 사용자의 고유의 홍채 코드를 생성할 수 있다.For example, the iris sensor may capture a user's iris by adjusting a focus through a zoom lens of a camera using infrared rays at a predetermined distance. The iris sensor may image the photographed iris and analyze the light and shade patterns of the iris for each region according to the iris recognition algorithm. The iris recognition sensor may generate a user's own iris code based on the analysis result.
예를 들면, 정맥 인식 센서는 근적외선을 이용하여 사용자의 손가락에서 정맥이 흐르는 일정한 형태를 검출할 수 있다. 정맥 인식 센서는 정맥의 분포도 및 정맥 패턴의 형태를 획득할 수 있다.For example, the vein recognition sensor may detect a constant shape of the vein flowing in the finger of the user using near infrared rays. The vein recognition sensor can acquire the distribution of veins and the shape of vein patterns.
일부 실시예에 따르면, 사용자 인터페이스 장치(1630)는 사용자로부터 전자 장치(1600)를 제어하기 위해 데이터를 입력 받는 장치를 의미할 수 있다. 프로세서(1650)는 사용자로부터 소정 명령 또는 데이터를 입력 받기 위한 사용자 인터페이스 화면을 생성 및 출력하도록 사용자 인터페이스 장치(1630)를 제어할 수 있다. 사용자 인터페이스 장치(1630)는 전자 장치(1600)의 동작을 제어하는 입력 등을 수신하기 위한 입력부와 전자 장치(1600)의 동작에 따른 결과 또는 전자 장치(1600)의 상태 등의 정보를 표시하기 위한 출력부를 포함할 수 있다. 예를 들면, 사용자 인터페이스 장치(1630)는 사용자 입력을 수신하는 조작 패널, 화면을 표시하는 디스플레이 패널 등을 포함할 수 있다.According to some embodiments, the
구체적으로, 입력부는, 예를 들어, 키보드, 물리 버튼, 터치 스크린, 카메라 또는 마이크 등과 같이 다양한 형태의 사용자 입력을 수신할 수 있는 장치들을 포함할 수 있다. 또한, 출력부는, 예를 들어, 디스플레이 패널 또는 스피커 등을 포함할 수 있다. 다만, 이에 한정되지 않고 사용자 인터페이스 장치(1630)는 다양한 입출력을 지원하는 장치를 포함할 수 있다.In detail, the input unit may include, for example, devices capable of receiving various types of user input such as a keyboard, a physical button, a touch screen, a camera or a microphone. In addition, the output unit may include, for example, a display panel or a speaker. However, the present invention is not limited thereto, and the
일부 실시예에 따르면, 사용자 인터페이스 장치(1630)는 제1 사용자의 전자 지갑의 실행 화면을 표시할 수 있다. 예를 들면, 사용자 인터페이스 장치(1630)는 제1 사용자의 전자 지갑에서 보유하는 암호화폐의 정보를 표시할 수 있다. 또한, 사용자 인터페이스 장치(1630)는 제1 사용자가 다른 사용자와 암호화폐를 거래하는 데에 실행되는 화면을 표시할 수 있다.According to some embodiments, the
메모리(1640)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(SD, XD 메모리 등), 램(RAM; Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM; Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory) 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 메모리(1640)는 전자 장치(1600)에서 실행된 전자 지갑의 동작을 제어하는 방법을 컴퓨터에서 실행시키기 위한 적어도 하나의 프로그램을 저장할 수 있다. 메모리(1640)에 저장된 적어도 하나의 프로그램은 기능에 따라 복수 개의 모듈들로 분류될 수 있다.The
프로세서(1650)는 전자 장치(1600)의 전체적인 동작을 제어하며, CPU 등과 같은 적어도 하나의 프로세서를 포함할 수 있다. 프로세서(1650)는 사용자 인터페이스 장치(1630)를 통해 수신된 사용자 입력에 대응되는 동작을 수행하도록 전자 장치(1600)에 포함된 다른 구성들을 제어할 수 있다. 또한, 프로세서(1650)는 각 기능에 대응되는 특화된 프로세서를 적어도 하나 포함하거나, 하나로 통합된 형태의 프로세서일 수 있다.The
프로세서(1650)는 메모리(1640)에 저장된 프로그램을 실행시키거나, 메모리(1640)에 저장된 데이터 또는 파일을 읽어오거나, 새로운 파일을 메모리(1640)에 저장할 수도 있다. 또한, 프로세서(1650)는 메모리(1640)에 저장된 명령어들을 실행할 수 있다.The
프로세서(1650)는 도 2 내지 도 9에서 설명한 프로세서(15)의 동작과 동일한 동작을 수행할 수 있다. 이하, 프로세서(1650)의 동작의 설명은 생략한다.The
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the devices and components described in the embodiments are, for example, processors, controllers, arithmetic logic units (ALUs), digital signal processors, microcomputers, field programmable gate arrays (FPGAs). Can be implemented using one or more general purpose or special purpose computers, such as a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to the execution of the software. For the convenience of understanding, a processing device may be described as one being used, but a person skilled in the art will appreciate that the processing device includes a plurality of processing elements and / or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as parallel processors.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the above, and configure the processing device to operate as desired, or process independently or collectively. You can command the device. Software and / or data may be any type of machine, component, physical device, virtual equipment, computer storage medium or device in order to be interpreted by or to provide instructions or data to the processing device. Or may be permanently or temporarily embodied in a signal wave to be transmitted. The software may be distributed over networked computer systems so that they are stored or executed in a distributed manner. Software and data may be stored on one or more computer readable recording media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 기록 매체에 기록될 수 있다. 컴퓨터 판독 가능 기록 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment can be implemented in the form of program instructions that can be executed by various computer means and recorded on a computer readable recording medium. The computer readable recording medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the media may be those specially designed and constructed for the purposes of the embodiments, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer readable recording media include magnetic media such as hard disks, floppy disks and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks such as floppy disks. Magneto-optical 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 code, such as produced 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 described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the embodiments have been described by the limited embodiments and the drawings as described above, various modifications and variations are possible to those skilled in the art from the above description. For example, the described techniques may be performed in a different order than the described method, and / or components of the described systems, structures, devices, circuits, etc. may be combined or combined in a different manner than the described method, or other components. Or even if replaced or replaced by equivalents, an appropriate result can be achieved.
그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are within the scope of the following claims.
Claims (22)
상기 생체 영상으로부터 상기 사용자의 생체 특징을 나타내는 인식 템플릿을 획득하는 단계;
상기 인식 템플릿을 복수의 영역들로 분할하고, 상기 분할된 영역들 내의 생체 특징 정보에 기초하여, 상기 인식 템플릿에 대응되는 식별값을 결정하는 단계; 및
상기 식별값을 제1 해시 함수에 적용하여 해시값을 산출하고, 상기 산출된 해시값을 디지털 서명에 이용되는 상기 사용자의 개인키로 생성하는 단계를 포함하는, 생체 정보를 이용한 암호키 생성 방법.Obtaining a biometric image of scanning a predetermined portion of the user;
Obtaining a recognition template representing a biometric characteristic of the user from the biometric image;
Dividing the recognition template into a plurality of areas, and determining an identification value corresponding to the recognition template based on biometric characteristic information in the divided areas; And
Applying the identification value to a first hash function to calculate a hash value and generating the calculated hash value as the private key of the user used for digital signature.
상기 분할된 영역들 내의 생체 특징 정보에 기초하여, 상기 인식 템플릿에 대응되는 식별값을 결정하는 단계는,
상기 분할된 영역들 내의 생체 특징 정보에 기초하여, 상기 분할된 영역들 각각에 매칭되는 참조 템플릿을 결정하는 단계;
상기 분할된 영역들 각각에, 상기 참조 템플릿의 기준값을 상기 식별값으로 할당하는 단계를 포함하는, 암호키 생성 방법.The method of claim 1,
Determining an identification value corresponding to the recognition template based on the biometric characteristic information in the divided regions,
Determining a reference template matched to each of the divided regions based on the biometric characteristic information in the divided regions;
And assigning a reference value of the reference template as the identification value to each of the divided regions.
상기 소정 부위의 생체 특징들 각각을 대표하는 참조 템플릿들 및 상기 참조 템플릿들을 나타내는 기준값의 정보를 획득하는 단계를 더 포함하는, 암호키 생성 방법.The method of claim 2,
And obtaining information of reference templates representing each of the biometric features of the predetermined region and reference value information indicating the reference templates.
상기 분할된 영역들 내의 생체 특징 정보에 기초하여, 상기 분할된 영역들 각각에 매칭되는 참조 템플릿을 결정하는 단계는,
상기 분할된 영역들 내에서, 상기 소정 부위의 생체 특징을 인식하는 데에 이용되는 적어도 하나의 특징점 및 상기 적어도 하나의 특징선을 검출하는 단계;
상기 적어도 하나의 특징점의 위치, 개수, 분포도 및 상기 적어도 하나의 특징선의 방향, 패턴 중 적어도 하나에 기초하여, 상기 소정 부위의 생체 특징 정보를 획득하는 단계; 및
상기 분할된 영역들 내의 생체 특징 정보 및 참조 템플릿들의 정보에 기초하여, 상기 분할된 영역들 각각에 매칭되는 상기 참조 템플릿을 결정하는 단계를 포함하는, 암호키 생성 방법.The method of claim 2,
Determining a reference template matched to each of the divided regions based on the biometric characteristic information in the divided regions,
Detecting at least one feature point and the at least one feature line in the divided regions, the at least one feature point being used to recognize a biometric feature of the predetermined site;
Acquiring biometric characteristic information of the predetermined portion based on at least one of a position, a number, a distribution diagram, and a direction and pattern of the at least one feature line; And
And determining the reference template matched to each of the divided regions based on the biometric characteristic information in the divided regions and the information of the reference templates.
상기 식별값을 제1 해시 함수에 적용하여 해시값을 산출하고, 상기 산출된 해시값을 상기 사용자의 개인키로 생성하는 단계는,
상기 분할된 영역들 각각에 할당된 식별값을 소정의 기준으로 나열하여, 전체 식별값을 획득하는 단계; 및
상기 전체 식별값을 상기 제1 해시 함수에 적용하여 제1 해시값을 산출하고, 상기 산출된 제1 해시값을 상기 사용자의 개인키로 생성하는 단계를 포함하는, 암호키 생성 방법.The method of claim 2,
Applying the identification value to a first hash function to calculate a hash value, and generating the calculated hash value as the private key of the user,
Arranging identification values assigned to each of the divided regions on a predetermined basis to obtain a total identification value; And
And applying the entire identification value to the first hash function to calculate a first hash value, and generating the calculated first hash value as the private key of the user.
상기 식별값을 제1 해시 함수에 적용하여 해시값을 산출하고, 상기 산출된 해시값을 상기 사용자의 개인키로 생성하는 단계는,
상기 분할된 영역들 각각에 할당된 식별값이 결합되어 획득된 전체 식별값을 상기 제1 해시 함수에 적용하여 제1 해시값을 산출하는 단계;
상기 제1 해시값을 상기 제1 해시 함수에 적용하여 제2 해시값을 산출하는 단계; 및
상기 제2 해시값을 상기 사용자의 개인키로 생성하는 단계를 포함하는, 암호키 생성 방법.The method of claim 2,
Applying the identification value to a first hash function to calculate a hash value, and generating the calculated hash value as the private key of the user,
Calculating a first hash value by applying the entire identification value obtained by combining the identification values assigned to each of the divided regions to the first hash function;
Calculating a second hash value by applying the first hash value to the first hash function; And
Generating the second hash value as the private key of the user.
상기 식별값을 제1 해시 함수에 적용하여 해시값을 산출하고, 상기 산출된 해시값을 상기 사용자의 개인키로 생성하는 단계는,
상기 복수(N 개, N은 2 이상임)의 영역들 중 제1 영역에 할당된 제1 기준값을 상기 제1 해시 함수에 적용하여 제1 해시값을 산출하는 단계; 및
제n-1 해시값과 상기 복수의 영역들 중 제n 영역에 할당된 제n 기준값을 상기 제1 해시 함수에 적용하여 제n 해시값을 산출하는 과정을, n=2부터 순차적으로 1씩 증가시켜 n=N까지 반복 수행하는 단계; 및
제N 해시값을 상기 사용자의 개인키로 생성하는 단계를 포함하는, 암호키 생성 방법.The method of claim 2,
Applying the identification value to a first hash function to calculate a hash value, and generating the calculated hash value as the private key of the user,
Calculating a first hash value by applying a first reference value allocated to a first region among the plurality of regions, wherein N is two or more, to the first hash function; And
Calculating an nth hash value by applying an n−1 hash value and an n th reference value allocated to an n th region among the plurality of regions to the first hash function, sequentially increasing by 1 from n = 2 Repeating to n = N; And
Generating an N-th hash value as the private key of the user.
상기 식별값을 제1 해시 함수에 적용하여 해시값을 산출하고, 상기 산출된 해시값을 상기 사용자의 개인키로 생성하는 단계는,
상기 복수(N 개, N은 2 이상임)의 영역들 중 제n 영역에 할당된 제n 기준값을 상기 제1 해시 함수에 적용하여 제1 계층의 제n 해시값을 산출하는 과정을 n=1부터 순차적으로 1씩 증가시켜 n=N까지 반복 수행하는 단계;
n-1 계층의 해시값들을 2개씩 결합하여 상기 제1 해시 함수에 적용하여 n 계층의 해시값을 산출하는 과정을, n=2부터 순차적으로 1씩 증가시켜 최상위 계층(N이 짝수이면, 상기 최상위 계층은 N/2 계층이고, N이 홀수이면, 상기 최상위 계층은 (N+1)/2 계층임)의 해시값의 개수가 1개일 때까지 반복 수행하는 단계; 및
상기 최상위 계층의 해시값의 개수가 1개이면, 상기 최상위 계층의 해시값을 상기 사용자의 개인키로 생성하는 단계를 포함하는, 암호키 생성 방법.The method of claim 2,
Applying the identification value to a first hash function to calculate a hash value, and generating the calculated hash value as the private key of the user,
A process of calculating an n-th hash value of a first layer by applying an n-th reference value assigned to an n-th area among the plurality of N areas, where N is 2 or more, to the first hash function is performed from n = 1. Sequentially increasing by 1 to repeat n = N;
combining the hash values of the n-1 layer by two and applying the first hash function to the first hash function to increase the hash value of the n layer sequentially from n = 2 to 1 by the highest layer (if N is an even number, If the highest layer is an N / 2 layer and N is odd, the highest layer is repeated until the number of hash values of (N + 1) / 2 layers is one; And
If the number of hash values of the top layer is one, generating a hash value of the top layer as the private key of the user.
상기 생성된 사용자의 개인키를 상기 제1 해시 함수에 적용하여 산출된 해시값을 상기 사용자의 공개키로 생성하는 단계를 더 포함하는, 암호키 생성 방법.The method of claim 1,
And generating a hash value calculated by applying the generated private key of the user to the first hash function as the public key of the user.
상기 사용자의 공개키를 암호화폐에 대한 거래를 기록한 원장을 분산하여 관리하는 블록체인의 네트워크 상의 노드로 전송하는 단계를 포함하는, 암호키 생성 방법.The method of claim 9,
And transmitting the public key of the user to a node on a network of a blockchain that distributes and manages a ledger recording a transaction for a cryptocurrency.
제1 사용자의 전자 지갑을 실행하는 단계;
상기 제1 사용자의 소정 부위가 스캔된 생체 영상을 획득하는 단계;
상기 생체 영상으로부터 상기 제1 사용자의 생체 특징 정보를 나타내는 인식 템플릿을 획득하는 단계;
상기 인식 템플릿에 대응되는 식별값을 제1 해시 함수에 적용하여 해시값을 산출하고, 상기 산출된 해시값을 상기 제1 사용자의 개인키로 생성하는 단계; 및
상기 제1 사용자의 개인키로 상기 제1 사용자와 제2 사용자 간의 상기 암호화폐의 제1 거래 정보를 디지털 서명하여, 상기 암호화폐에 대한 거래를 기록한 원장을 분산하여 관리하는 블록체인의 네트워크의 노드로 전송하는 단계를 포함하는, 방법.A method of controlling an operation of an electronic wallet that manages cryptocurrency in an electronic device,
Executing the electronic wallet of the first user;
Acquiring a biological image of scanning a predetermined portion of the first user;
Obtaining a recognition template indicating biometric characteristic information of the first user from the biometric image;
Calculating a hash value by applying an identification value corresponding to the recognition template to a first hash function, and generating the calculated hash value as the private key of the first user; And
Digitally signing the first transaction information of the cryptocurrency between the first user and the second user with the private key of the first user, and distributing and managing the ledger recording the transaction for the cryptocurrency. Transmitting.
상기 인식 템플릿을 복수의 영역들로 분할하는 단계;
상기 분할된 영역들 내의 생체 특징 정보에 기초하여, 상기 분할된 영역들 각각에 매칭되는 참조 템플릿을 결정하는 단계; 및
상기 분할된 영역들 각각에, 상기 참조 템플릿의 기준값을 상기 식별값으로 할당하여, 상기 인식 템플릿에 대응되는 식별값을 결정하는 단계를 포함하는, 방법.The method of claim 11,
Dividing the recognition template into a plurality of regions;
Determining a reference template matched to each of the divided regions based on the biometric characteristic information in the divided regions; And
And assigning a reference value of the reference template as the identification value to each of the divided regions to determine an identification value corresponding to the recognition template.
상기 분할된 영역들 내의 생체 특징 정보에 기초하여, 상기 분할된 영역들 각각에 매칭되는 참조 템플릿을 결정하는 단계는,
상기 분할된 영역들 내에서, 상기 소정 부위의 생체 특징을 인식하는 데에 이용되는 적어도 하나의 특징점 및 적어도 하나의 특징선을 검출하는 단계;
상기 적어도 하나의 특징점의 위치, 개수, 분포도 및 상기 적어도 하나의 특징선의 방향, 패턴 중 적어도 하나에 기초하여, 상기 소정 부위의 생체 특징 정보를 획득하는 단계; 및
상기 분할된 영역들 내의 생체 특징 정보 및 참조 템플릿들의 정보에 기초하여, 상기 분할된 영역들 각각에 매칭되는 상기 참조 템플릿을 결정하는 단계를 포함하는, 방법.The method of claim 12,
Determining a reference template matched to each of the divided regions based on the biometric characteristic information in the divided regions,
Detecting at least one feature point and at least one feature line in the divided regions, the at least one feature point being used to recognize a biometric feature of the predetermined region;
Acquiring biometric characteristic information of the predetermined portion based on at least one of a position, a number, a distribution diagram, and a direction and pattern of the at least one feature line; And
Determining the reference template that matches each of the partitioned regions based on biometric feature information in the partitioned regions and information of reference templates.
상기 식별값을 제1 해시 함수에 적용하여 해시값을 산출하고, 상기 산출된 해시값을 상기 제1 사용자의 개인키로 생성하는 단계는,
상기 분할된 영역들 각각에 할당된 식별값을 소정의 기준으로 나열하여, 전체 식별값을 획득하는 단계; 및
상기 전체 식별값을 상기 제1 해시 함수에 적용하여 제1 해시값을 산출하고, 상기 산출된 제1 해시값을 상기 제1 사용자의 개인키로 생성하는 단계를 포함하는, 방법.The method of claim 12,
Applying the identification value to a first hash function to calculate a hash value, and generating the calculated hash value as the private key of the first user,
Arranging identification values assigned to each of the divided regions on a predetermined basis to obtain a total identification value; And
Applying the full identification value to the first hash function to calculate a first hash value and generating the calculated first hash value as the private key of the first user.
상기 식별값을 제1 해시 함수에 적용하여 해시값을 산출하고, 상기 산출된 해시값을 상기 제1 사용자의 개인키로 생성하는 단계는,
상기 분할된 영역들 각각에 할당된 식별값이 결합되어 획득된 전체 식별값을 상기 제1 해시 함수에 적용하여 제1 해시값을 산출하는 단계;
상기 제1 해시값을 상기 제1 해시 함수에 적용하여 제2 해시값을 산출하는 단계; 및
상기 제2 해시값을 상기 제1 사용자의 개인키로 생성하는 단계를 포함하는, 방법.The method of claim 12,
Applying the identification value to a first hash function to calculate a hash value, and generating the calculated hash value as the private key of the first user,
Calculating a first hash value by applying the entire identification value obtained by combining the identification values assigned to each of the divided regions to the first hash function;
Calculating a second hash value by applying the first hash value to the first hash function; And
Generating the second hash value as the private key of the first user.
상기 식별값을 제1 해시 함수에 적용하여 해시값을 산출하고, 상기 산출된 해시값을 상기 제1 사용자의 개인키로 생성하는 단계는,
상기 복수(N 개, N은 2 이상임)의 영역들 중 제1 영역에 할당된 제1 기준값을 상기 제1 해시 함수에 적용하여 제1 해시값을 산출하는 단계; 및
제n-1 해시값과 상기 복수의 영역들 중 제n 영역에 할당된 제n 기준값을 상기 제1 해시 함수에 적용하여 제n 해시값을 산출하는 과정을, n=2부터 순차적으로 1씩 증가시켜 n=N까지 반복 수행하는 단계; 및
제N 해시값을 상기 제1 사용자의 개인키로 생성하는 단계를 포함하는, 방법.The method of claim 12,
Applying the identification value to a first hash function to calculate a hash value, and generating the calculated hash value as the private key of the first user,
Calculating a first hash value by applying a first reference value allocated to a first region among the plurality of regions, wherein N is two or more, to the first hash function; And
Calculating an nth hash value by applying an n−1 hash value and an n th reference value allocated to an n th region among the plurality of regions to the first hash function, sequentially increasing by 1 from n = 2 Repeating to n = N; And
Generating an N-th hash value with the private key of the first user.
상기 식별값을 제1 해시 함수에 적용하여 해시값을 산출하고, 상기 산출된 해시값을 상기 제1 사용자의 개인키로 생성하는 단계는,
상기 복수(N 개, N은 2 이상임)의 영역들 중 제n 영역에 할당된 제n 기준값을 상기 제1 해시 함수에 적용하여 제1 계층의 제n 해시값을 산출하는 과정을 n=1부터 순차적으로 1씩 증가시켜 n=N까지 반복 수행하는 단계;
n-1 계층의 해시값들을 2개씩 결합하여 상기 제1 해시 함수에 적용하여 n 계층의 해시값을 산출하는 과정을, n=2부터 순차적으로 1씩 증가시켜 최상위 계층(N이 짝수이면, 상기 최상위 계층은 N/2 계층이고, N이 홀수이면, 상기 최상위 계층은 (N+1)/2 계층임)의 해시값의 개수가 1개일 때까지 반복 수행하는 단계; 및
상기 최상위 계층의 해시값의 개수가 1개이면, 상기 최상위 계층의 해시값을 상기 제1 사용자의 개인키로 생성하는 단계를 포함하는, 방법.The method of claim 12,
Applying the identification value to a first hash function to calculate a hash value, and generating the calculated hash value as the private key of the first user,
A process of calculating an n-th hash value of a first layer by applying an n-th reference value assigned to an n-th area among the plurality of N areas, where N is 2 or more, to the first hash function is performed from n = 1. Sequentially increasing by 1 to repeat n = N;
combining the hash values of the n-1 layer by two and applying the first hash function to the first hash function to increase the hash value of the n layer sequentially from n = 2 to 1 by the highest layer (if N is an even number, If the highest layer is an N / 2 layer and N is odd, the highest layer is repeated until the number of hash values of (N + 1) / 2 layers is one; And
If the number of hash values of the top layer is one, generating the hash value of the top layer as the private key of the first user.
상기 제1 사용자의 개인키로 상기 제1 거래 정보를 디지털 서명하여, 상기 블록체인의 네트워크의 노드로 전송하는 단계는,
상기 제1 거래 정보를 제2 해시 함수에 적용하여, 상기 제1 거래 정보에 대응되는 해시값을 생성하는 단계;
상기 제1 사용자의 개인키로 상기 제1 거래 정보에 대응되는 해시값을 암호화하여 상기 제1 거래 정보의 디지털 서명을 나타내는 제1 암호문을 생성하는 단계; 및
상기 제1 암호문을 상기 제1 거래 정보와 함께 상기 노드로 전송하는 단계를 포함하는, 방법.The method of claim 11,
Digitally signing the first transaction information with the private key of the first user and transmitting it to a node of the network of the blockchain,
Generating a hash value corresponding to the first transaction information by applying the first transaction information to a second hash function;
Generating a first cipher text indicating a digital signature of the first transaction information by encrypting a hash value corresponding to the first transaction information with the private key of the first user; And
Sending the first cryptogram along with the first transaction information to the node.
상기 결정된 제1 사용자의 개인키를 상기 제1 해시 함수에 적용하여 산출된 상기 제1 사용자의 개인키에 대응되는 해시값을 상기 제1 사용자의 공개키로 결정하는 단계 및
상기 제1 사용자의 공개키를 상기 블록체인의 네트워크 상의 노드로 전송하는 단계를 더 포함하는, 방법.The method of claim 11,
Determining a hash value corresponding to the private key of the first user calculated by applying the determined private key of the first user to the first hash function, as the public key of the first user; and
Sending the public key of the first user to a node on the network of the blockchain.
상기 제1 사용자와 상기 제2 사용자 간의 상기 암호화폐의 제1 거래 정보를 획득하는 단계; 및
상기 제1 거래 정보에 따라, 상기 제1 사용자의 전자 지갑과 상기 제2 사용자의 전자 지갑 간에 상기 암호화폐의 거래를 수행하는 단계를 더 포함하는, 방법.The method of claim 11,
Obtaining first transaction information of the cryptocurrency between the first user and the second user; And
In accordance with the first transaction information, performing a transaction of the cryptocurrency between the electronic wallet of the first user and the electronic wallet of the second user.
센서 장치;
프로세서;
사용자 인터페이스 장치; 및
상기 프로세서에 의해 실행 가능한 명령어들을 저장하는 메모리를 포함하고, 상기 프로세서는, 상기 명령어들을 실행함으로써,
제1 사용자의 전자 지갑을 실행하고,
상기 제1 사용자의 소정 부위가 스캔된 생체 영상을 상기 센서 장치를 통해 획득하고,
상기 생체 영상으로부터 상기 제1 사용자의 생체 특징 정보를 나타내는 인식 템플릿을 획득하고,
상기 인식 템플릿에 대응되는 식별값을 제1 해시 함수에 적용하여 해시값을 산출하고, 상기 산출된 해시값을 상기 제1 사용자의 개인키로 생성하고,
상기 제1 사용자의 개인키로 상기 제1 사용자와 제2 사용자 간의 상기 암호화폐의 제1 거래 정보를 디지털 서명하고,
상기 디지털 서명된 제1 거래 정보를, 상기 암호화폐에 대한 거래를 기록한 원장을 분산하여 관리하는 블록체인의 네트워크의 노드로 상기 통신 장치를 통해 전송하는, 전자 장치.Communication devices;
Sensor devices;
A processor;
User interface devices; And
A memory storing instructions executable by the processor, the processor executing the instructions,
Launch the first user's wallet,
Acquire a biological image of scanning a predetermined portion of the first user through the sensor device,
Obtaining a recognition template representing biometric characteristic information of the first user from the biometric image,
Applying a identification value corresponding to the recognition template to a first hash function to calculate a hash value, and generating the calculated hash value as a private key of the first user,
Digitally signing first transaction information of the cryptocurrency between the first user and a second user with the private key of the first user,
And transmit the digitally signed first transaction information through the communication device to a node of a network of a blockchain that distributes and manages a ledger that records a transaction for the cryptocurrency.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180041708A KR20190118414A (en) | 2018-04-10 | 2018-04-10 | Method and apparatus for generating cryptographic key using biometric information |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180041708A KR20190118414A (en) | 2018-04-10 | 2018-04-10 | Method and apparatus for generating cryptographic key using biometric information |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20190118414A true KR20190118414A (en) | 2019-10-18 |
Family
ID=68462763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180041708A KR20190118414A (en) | 2018-04-10 | 2018-04-10 | Method and apparatus for generating cryptographic key using biometric information |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20190118414A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111130751A (en) * | 2019-11-04 | 2020-05-08 | 杭州云萃流图网络科技有限公司 | Appointment information processing method, device and system based on block chain and electronic equipment |
KR20220108584A (en) | 2021-01-27 | 2022-08-03 | 주식회사 엠블럭 | Wireless sensor network system generating a dynamic encryption key using blockchain and method for generating a dynamic encryption key in the system |
WO2023211221A1 (en) * | 2022-04-28 | 2023-11-02 | 주식회사 이터널 | Method of using cryptocurrency wallet system, cryptocurrency wallet system, cryptocurrency wallet electronic device, and method of using cryptocurrency wallet electronic device |
-
2018
- 2018-04-10 KR KR1020180041708A patent/KR20190118414A/en not_active Application Discontinuation
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111130751A (en) * | 2019-11-04 | 2020-05-08 | 杭州云萃流图网络科技有限公司 | Appointment information processing method, device and system based on block chain and electronic equipment |
KR20220108584A (en) | 2021-01-27 | 2022-08-03 | 주식회사 엠블럭 | Wireless sensor network system generating a dynamic encryption key using blockchain and method for generating a dynamic encryption key in the system |
WO2023211221A1 (en) * | 2022-04-28 | 2023-11-02 | 주식회사 이터널 | Method of using cryptocurrency wallet system, cryptocurrency wallet system, cryptocurrency wallet electronic device, and method of using cryptocurrency wallet electronic device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2018266602B2 (en) | System and method for biometric identification | |
US11736296B2 (en) | Biometric verification process using certification token | |
US10937267B2 (en) | Systems and methods for provisioning digital identities to authenticate users | |
US9064257B2 (en) | Mobile device transaction using multi-factor authentication | |
US20220360449A1 (en) | Authentication system using secure multi-party computation | |
US20220417739A1 (en) | Secure data communication | |
EP3642998B1 (en) | Verification and encryption scheme in data storage | |
US11120116B2 (en) | Electronic signature authentication system | |
EP3586264B1 (en) | Securely performing cryptographic operations | |
US20230084897A1 (en) | Registration and payment method, device, and system using face information | |
KR20190118414A (en) | Method and apparatus for generating cryptographic key using biometric information | |
CN111915306A (en) | Service data verification method and verification platform | |
CN115280309A (en) | Method, system and computer program product for authentication | |
KR20210051517A (en) | Operating method of electronic device for performing login to a plurality of programs using integrated identification information | |
CN115423636A (en) | Service processing method, device, computer equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal |