KR102532635B1 - Health information management system and method using decentralized identification - Google Patents
Health information management system and method using decentralized identification Download PDFInfo
- Publication number
- KR102532635B1 KR102532635B1 KR1020200151097A KR20200151097A KR102532635B1 KR 102532635 B1 KR102532635 B1 KR 102532635B1 KR 1020200151097 A KR1020200151097 A KR 1020200151097A KR 20200151097 A KR20200151097 A KR 20200151097A KR 102532635 B1 KR102532635 B1 KR 102532635B1
- Authority
- KR
- South Korea
- Prior art keywords
- information
- verification
- node
- proof
- institution
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H80/00—ICT specially adapted for facilitating communication between medical practitioners or patients, e.g. for collaborative diagnosis, therapy or health monitoring
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H10/00—ICT specially adapted for the handling or processing of patient-related medical or healthcare data
- G16H10/60—ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
-
- 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/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Medical Informatics (AREA)
- Primary Health Care (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Epidemiology (AREA)
- Public Health (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Pathology (AREA)
- Biomedical Technology (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
개인 정보에 대한 증명을 요청하는 명령에 따라 단말 노드에 증명 정보, 공개키 및 비밀키를 부여하며, 증명 정보를 분산원장에 등록하고, 건강 정보를 요청하는 명령에 따라 단말 노드로부터 비밀키로 암호화된 증명 정보를 전달받고, 암호화된 증명 정보를 공개키로 복호화하여 증명 정보를 검증하고, 검증 결과에 따라 건강 정보를 단말 노드에 전달하는, 건강 정보 관리 시스템을 제공한다.Proof information, public key, and private key are given to the terminal node according to the command requesting proof of personal information, the proof information is registered in the distributed ledger, and the health information is encrypted with the private key from the terminal node according to the command requesting the health information. Provided is a health information management system that receives authentication information, decrypts the encrypted authentication information with a public key to verify the authentication information, and delivers health information to a terminal node according to the verification result.
Description
본 발명은 탈중앙화된 신원 증명을 이용하는 건강 정보 관리 시스템 및 방법에 관한 것으로, 보다 상세하게는, 기관에 저장된 건강 정보를 요청하여 전달받는 건강 정보 관리 시스템 및 방법에 관한 것이다.The present invention relates to a health information management system and method using decentralized identity verification, and more particularly, to a health information management system and method for requesting and receiving health information stored in an institution.
일반적으로, 의료서비스 제공기관에서 의료서비스를 제공받아 생성된 개인의 건강 정보는 대부분 의료서비스 제공기관에 보관되고 있다. 또한, 의료서비스 제공기관에서 의료서비스를 제공받는 경우에 작성하게 되는 건강 정보의 활용 동의에 관련된 정보 또한, 대부분 의료서비스 제공기관에 보관된다.In general, personal health information generated by receiving medical services from medical service providers is mostly stored in medical service providers. In addition, most of the information related to consent to use of health information, which is prepared when receiving medical service from a medical service provider, is also stored in the medical service provider.
이때, 의료서비스 제공기관은 건강 정보 또는 건강 정보의 활용 동의에 관련된 정보를 서면으로 보관하거나, 의료서비스 제공기관에 마련된 서버에 저장하여 보관한다.At this time, the medical service provider institution stores the health information or information related to consent to use the health information in writing or stores it in a server provided at the medical service provider institution.
그러나, 종래의 방식은 의료서비스 제공기관 내에서만 정보를 확인할 수 있는 단점이 존재한다.However, the conventional method has a disadvantage in that information can be checked only within the medical service provider.
한편, 블록체인 등에 이용되는 분산원장은 복제, 공유 또는 동기화된 디지털 정보에 대한 합의 기술이다. 이때, 정보들은 지리적으로 여러 사이트나, 여러 국가 또는 여러 기관에 분산되어 저장된다. 다시 말해서, 분산원장은 중앙 집중적인 관리자 또는, 중앙집중의 저장소가 존재하지 않는 기법이다.On the other hand, the distributed ledger used in blockchain is a consensus technology for replicated, shared, or synchronized digital information. At this time, the information is geographically dispersed and stored in several sites, countries, or organizations. In other words, a distributed ledger is a technique in which there is no centralized manager or centralized repository.
이와 관련하여, 분산원장은 사용자 노드 간의 직접 접속(peer-to-peer)이 가능한 네트워크가 요구되며, 노드 간의 복제 정보에 대한 합의 알고리즘이 수행된다. 예를 들어, 분산원장은 합의 알고리즘으로 블록체인이 이용되기도 하며, 이때, 블록체인은 공개적 형태와 사적 형태로 운영될 수 있다.In this regard, the distributed ledger requires a network capable of direct connection (peer-to-peer) between user nodes, and a consensus algorithm for replicated information between nodes is performed. For example, in distributed ledgers, blockchain is sometimes used as a consensus algorithm, and at this time, blockchain can be operated in public and private forms.
본 발명이 해결하고자 하는 기술적 과제는 분산원장에 사용자의 신원을 등록하고, 분산원장에 등록된 신원으로 증명되는 사용자에게 기관에 저장된 건강 정보를 전달받는 탈중앙화된 신원 증명을 이용하는 건강 정보 관리 시스템 및 방법을 제공하는 것이다.A technical problem to be solved by the present invention is a health information management system using decentralized identity verification that registers a user's identity in a distributed ledger and receives health information stored in an institution to a user certified by the identity registered in the distributed ledger, and is to provide a way
본 발명의 일측면은, 사용자로부터의 입력에 따라 상기 사용자의 개인 정보에 대한 증명을 요청하는 명령을 생성하고, 상기 사용자로부터의 입력에 따라 건강 정보를 요청하는 명령을 생성하는 단말 노드; 상기 사용자의 개인 정보에 대한 증명을 요청하는 명령에 따라 상기 사용자의 개인 정보에 매칭되도록 증명 정보를 생성하고, 상기 증명 정보에 매칭되도록 공개키와 비밀키를 생성하며, 상기 단말 노드에 상기 증명 정보, 상기 공개키 및 상기 비밀키를 부여하며, 상기 증명 정보를 분산원장에 등록하는 증명 노드; 및 상기 사용자의 건강 정보가 상기 사용자의 증명 정보에 매칭되도록 저장되고, 상기 건강 정보를 요청하는 명령에 따라 상기 단말 노드로부터 상기 비밀키로 암호화된 증명 정보를 전달받고, 상기 암호화된 증명 정보를 상기 공개키로 복호화하여 증명 정보를 추출하며, 상기 분산원장에 등록된 증명 정보에 기초하여 추출된 증명 정보를 검증하고, 검증 결과에 따라 상기 증명 정보에 매칭되는 상기 건강 정보를 상기 단말 노드에 전달하는 기관 노드;를 포함할 수 있다.One aspect of the present invention includes a terminal node generating a command for requesting verification of personal information of the user according to an input from a user and generating a command for requesting health information according to an input from the user; According to a command requesting proof of the user's personal information, proof information is generated to match the user's personal information, a public key and a private key are generated to match the proof information, and the proof information is sent to the terminal node. , a proof node that grants the public key and the private key and registers the proof information in a distributed ledger; and the user's health information is stored to match the user's authentication information, the authentication information encrypted with the private key is received from the terminal node according to a command requesting the health information, and the encrypted authentication information is disclosed. An institution node that decrypts with a key to extract proof information, verifies the extracted proof information based on the proof information registered in the distributed ledger, and delivers the health information matched to the proof information according to the verification result to the terminal node. ; can be included.
또한, 상기 기관 노드는, 상기 분산원장에 등록된 증명 정보에 따라 상기 공개키를 이용하여 복호화된 증명 정보의 검증에 실패하는 경우, 상기 단말 노드에 검증 실패 신호를 전달하여 상기 단말 노드로부터 상기 공개키를 재 전달받고, 상기 검증 실패 신호가 전달된 횟수가 사전에 설정되는 검증 시도 횟수를 초과하는 경우, 상기 단말 노드에 대한 차단 신호를 상기 증명 노드에 전달할 수 있다.In addition, when the institution node fails to verify the proof information decrypted using the public key according to the proof information registered in the distributed ledger, it transmits a verification failure signal to the terminal node and discloses the information from the terminal node. When the key is retransmitted and the number of times the verification failure signal is transmitted exceeds a preset number of verification attempts, a blocking signal for the terminal node may be transmitted to the attestation node.
또한, 상기 증명 노드는, 상기 차단 신호에 따라, 상기 단말 노드에 부여된 상기 증명 정보에 대한 검증 수행을 차단하도록 마련되는 검증 차단 트랜잭션을 생성할 수 있다.In addition, the attestation node may generate a verification block transaction provided to block verification of the verification information given to the terminal node according to the block signal.
또한, 상기 증명 노드는, 상기 단말 노드로부터 임의의 기간 동안의 상기 증명 정보의 검증에 대한 수행의 차단을 요청하는 명령이 전달되는 경우에, 상기 단말 노드로부터 상기 검증 수행을 차단시키는 기간을 나타내도록 차단 기간 정보를 더 전달받고, 상기 단말 노드에 부여된 상기 증명 정보에 대한 검증 수행을 차단하도록 마련되는 검증 차단 트랜잭션을 생성하며, 상기 차단 기간 정보에 따른 기간이 경과되는 경우, 상기 단말 노드에 부여된 상기 증명 정보에 대한 검증이 수행되도록 마련되는 검증 수행 트랜잭션을 생성할 수 있다.In addition, the attestation node may indicate a period for blocking the verification from the terminal node when a command requesting blocking of the verification of the verification information for a certain period is transmitted from the terminal node. Blocking period information is further received, and a verification blocking transaction is generated to block verification of the proof information assigned to the terminal node, and when a period according to the blocking period information elapses, it is granted to the terminal node. It is possible to generate a verification execution transaction prepared to perform verification of the proof information.
또한, 상기 기관 노드는, 상기 분산원장에 등록된 증명 정보에 기초하여 증명 정보를 검증하는 경우, 상기 증명 정보를 검증하도록 마련되는 검증 트랜잭션을 생성하고, 상기 검증 트랜잭션을 생성하는 경우, 상기 기관 노드를 나타내도록 마련되는 기관 정보를 상기 검증 트랜잭션에 설정하여 상기 검증 트랜잭션을 생성할 수 있다.In addition, the institution node, when verifying proof information based on proof information registered in the distributed ledger, generates a verification transaction prepared to verify the proof information, and when generating the verification transaction, the institution node The verification transaction may be generated by setting institution information prepared to indicate the verification transaction in the verification transaction.
또한, 상기 단말 노드는, 상기 증명 정보에 대해 생성된 하나 이상의 검증 트랜잭션에 마련되는 하나 이상의 기관 정보에 대해, 사용자로부터의 입력에 따라 임의의 기관 정보에 대한 검증 수행의 차단을 요청하는 명령이 생성되는 경우, 상기 기관 정보가 나타내는 기관 노드의 검증 수행을 차단하도록 마련되는 기관 차단 트랜잭션을 생성할 수 있다.In addition, the terminal node generates a command for requesting blocking of performing verification for arbitrary institution information according to an input from a user with respect to one or more institution information provided in one or more verification transactions generated for the proof information. If it is, an authority blocking transaction prepared to block verification performance of an authority node indicated by the authority information may be generated.
본 발명의 다른 일측면은, 탈중앙화된 신원 증명을 이용하는 건강 정보 관리 시스템에서의 건강 정보 관리 방법에 있어서, 단말 노드가 사용자로부터의 입력에 따라 상기 사용자의 개인 정보에 대한 증명을 요청하는 명령을 생성하는 단계; 증명 노드가 상기 사용자의 개인 정보에 대한 증명을 요청하는 명령에 따라 상기 사용자의 개인 정보에 매칭되도록 증명 정보를 생성하고, 상기 증명 정보에 매칭되도록 공개키와 비밀키를 생성하는 단계; 상기 증명 노드가 상기 단말 노드에 상기 증명 정보, 상기 공개키 및 상기 비밀키를 부여하는 단계; 상기 증명 노드가 상기 증명 정보를 분산원장에 등록하는 단계; 상기 단말 노드가 상기 사용자로부터의 입력에 따라 건강 정보를 요청하는 명령을 생성하는 단계; 기관 노드에 상기 사용자의 건강 정보가 상기 사용자의 증명 정보에 매칭되도록 저장되어, 상기 기관 노드가 상기 건강 정보를 요청하는 명령에 따라 상기 단말 노드로부터 상기 비밀키로 암호화된 증명 정보를 전달받는 단계; 상기 기관 노드가 상기 암호화된 증명 정보를 상기 공개키로 복호화하여 증명 정보를 추출하며, 상기 분산원장에 등록된 증명 정보에 기초하여 추출된 증명 정보를 검증하는 단계; 및 상기 기관 노드가 검증 결과에 따라 상기 증명 정보에 매칭되는 상기 건강 정보를 상기 단말 노드에 전달하는 단계;를 포함할 수 있다.Another aspect of the present invention is a health information management method in a health information management system using decentralized identity verification, wherein a terminal node receives a command for requesting verification of personal information of a user according to an input from a user. generating; generating proof information to match the user's personal information according to a command requesting proof of the user's personal information, and generating a public key and a private key to match the proof information; the attesting node granting the attestation information, the public key and the private key to the terminal node; registering, by the attestation node, the attestation information in a distributed ledger; generating, by the terminal node, a command for requesting health information according to an input from the user; storing the user's health information in an institution node to be matched with the user's certification information, and receiving, by the institution node, authentication information encrypted with the private key from the terminal node according to a command requesting the health information; decrypting, by the institution node, the encrypted proof information with the public key to extract proof information, and verifying the extracted proof information based on the proof information registered in the distributed ledger; and transmitting, by the institution node, the health information matching the authentication information to the terminal node according to a verification result.
상술한 본 발명의 일측면에 따르면, 탈중앙화된 신원 증명을 이용하는 건강 정보 관리 시스템 및 방법을 제공함으로써, 분산원장에 사용자의 신원을 등록하고, 분산원장에 등록된 신원으로 증명되는 사용자에게 기관에 저장된 건강 정보를 전달받을 수 있다.According to one aspect of the present invention described above, by providing a health information management system and method using decentralized identity verification, a user's identity is registered in a distributed ledger, and the user certified by the identity registered in the distributed ledger is assigned to an institution. Stored health information may be delivered.
도1은 본 발명의 일 실시예에 따른 건강 정보 관리 시스템의 개략도이다.
도2는 도1의 단말 노드에 증명 정보가 부여되는 과정을 나타낸 블록도이다.
도3은 도1의 기관 노드가 증명 정보를 검증하는 과정을 나타낸 블록도이다.
도4 및 도5는 본 발명의 일 실시예에 따른 건강 정보 관리 방법의 순서도이다.1 is a schematic diagram of a health information management system according to an embodiment of the present invention.
FIG. 2 is a block diagram illustrating a process in which authentication information is given to a terminal node of FIG. 1. Referring to FIG.
FIG. 3 is a block diagram illustrating a process in which the authority node of FIG. 1 verifies authentication information.
4 and 5 are flowcharts of a health information management method according to an embodiment of the present invention.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예와 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The detailed description of the present invention which follows refers to the accompanying drawings which illustrate, by way of illustration, specific embodiments in which the present invention may be practiced. These embodiments are described in sufficient detail to enable one skilled in the art to practice the present invention. It should be understood that the various embodiments of the present invention are different from each other but are not necessarily mutually exclusive. For example, specific shapes, structures, and characteristics described herein may be implemented in another embodiment without departing from the spirit and scope of the invention in connection with one embodiment. Additionally, it should be understood that the location or arrangement of individual components within each disclosed embodiment may be changed without departing from the spirit and scope of the invention. Accordingly, the detailed description set forth below is not to be taken in a limiting sense, and the scope of the present invention, if properly described, is limited only by the appended claims, along with all equivalents as claimed by those claims. Like reference numbers in the drawings indicate the same or similar function throughout the various aspects.
이하, 도면들을 참조하여 본 발명의 바람직한 실시예들을 보다 상세하게 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the drawings.
도1은 본 발명의 일 실시예에 따른 건강 정보 관리 시스템의 개략도이다.1 is a schematic diagram of a health information management system according to an embodiment of the present invention.
건강 정보 관리 시스템(1)은 사용자의 증명 정보를 분산원장(10)에 등록하여, 분산원장(10)에 등록된 증명 정보를 이용하여 사용자 검증을 수행할 수 있으며, 이를 통해, 건강 정보 관리 시스템(1)은 건강 정보를 관리할 수 있다.The health
이때, 건강 정보 관리 시스템(1)은 분산원장(10)에 연결된 복수개의 노드에서 생성되는 트랜잭션을 사전에 설정되는 주기 또는 조건에 따라 블록으로 생성하여 각각의 노드에 저장되는 체인에 연결하는 블록체인 기법이 이용될 수 있다.At this time, the health
여기에서, 노드는 무선 또는 유선으로 분산원장(10)에 연결되는 스마트폰, 태블릿 등의 단말 장치, 컴퓨팅 장치 및 서버 장치 등을 의미할 수 있으며, 이러한 경우에, 분산원장(10)은 블록체인 기법에 따른 블록체인 네트워크를 의미할 수 있다.Here, the node may mean a terminal device such as a smartphone or tablet, a computing device, a server device, etc. connected to the
이에 따라, 분산원장(10)은 복수개의 노드에서 생성되는 트랜잭션을 수집하여 블록을 생성할 수 있으며, 이와 관련하여, 분산원장(10)은 복수개의 서버 중에서 사전에 설정되는 조건에 따라 선출되는 임의의 대표 노드가 임의의 서버에서 생성되는 트랜잭션을 수집하여 블록을 생성하도록 마련될 수도 있다.Accordingly, the
이때, 분산원장(10)이 블록을 생성하는 것은 분산원장(10)에 연결된 복수개의 노드 중 대표 노드로 선출된 노드가 복수개의 노드로부터 전달받는 트랜잭션에 따라 블록을 생성하는 것으로 이해할 수 있다.At this time, the generation of blocks by the
한편, 분산원장(10)에서 생성되는 블록은 이전에 생성된 블록의 정보와, 복수개의 노드로부터 전달받은 트랜잭션을 포함하도록 생성될 수 있으며, 이때, 블록을 생성한 노드는 생성된 블록을 분산원장(10)에 연결된 복수개의 노드에 전달할 수 있다.On the other hand, a block created in the
여기에서, 블록은 이전에 생성된 블록의 정보를 해시 함수를 이용하여 암호화된 상태로 포함시킬 수 있다.Here, the block may include information of a previously generated block in an encrypted state using a hash function.
이에 따라, 임의의 노드는 전달받은 블록을 이전에 생성된 블록을 이용하여 검증할 수 있으며, 검증이 완료된 블록은 이전에 생성된 블록에 연결될 수 있다.Accordingly, any node can verify the received block using the previously created block, and the verified block can be linked to the previously created block.
이에 따라, 건강 정보 관리 시스템(1)은 사용자의 개인 정보를 증명하도록 마련되는 증명 정보를 분산원장(10)에 등록할 수 있으며, 건강 정보 관리 시스템(1)은 분산원장(10)에 등록된 증명 정보를 이용하여 사용자를 검증할 수 있고, 건강 정보 관리 시스템(1)은 검증된 사용자에 대해 저장된 건강 정보를 사용자에게 제공할 수 있다.Accordingly, the health
여기에서, 증명 정보는 사용자의 개인 정보에 매칭되도록 마련되어, 서로 다른 사용자를 구분하도록 마련되는 정보일 수 있으며, 예를 들어, 증명 정보는 분산원장(10)에 저장되도록 마련되는 분산 ID(Decentralized Identity)를 의미할 수 있다.Here, the proof information may be information prepared to match the user's personal information and to distinguish different users. For example, the proof information is provided to be stored in the distributed ledger 10 (Decentralized Identity). ) can mean.
또한, 건강 정보는 병원, 의료 기관, 정부 기관 및 의료 관련 기업 등에서 수행된 진료 기록, 병명, 환부, 환자의 신장, 몸무게 등의 신체 정보 등을 포함할 수 있다.In addition, the health information may include medical records performed at hospitals, medical institutions, government agencies, and medical-related companies, and body information such as disease names, affected areas, and patient's height and weight.
한편, 건강 정보 관리 시스템(1)은 블록체인 기법 외의 분산원장(10)에 등록되는 정보를 검증하도록 마련되는 공지된 합의 알고리즘을 이용할 수도 있다.Meanwhile, the health
이를 위해, 건강 정보 관리 시스템(1)은 단말 노드(100), 증명 노드(200) 및 기관 노드(300)를 포함할 수 있다.To this end, the health
또한, 건강 정보 관리 시스템(1)은 도 1에 도시된 구성요소보다 많은 구성요소에 의해 구현될 수 있고, 그보다 적은 구성요소에 의해 구현될 수 있다. 또는, 건강 정보 관리 시스템(1)은 건강 정보 관리 시스템(1)에 마련되는 적어도 두 개의 구성요소가 하나의 구성요소로 통합되어 하나의 구성요소가 복합적인 기능을 수행할 수도 있다. 이하, 상술한 구성요소들에 대해 구체적으로 설명하기로 한다.In addition, the health
단말 노드(100)는 사용자로부터의 입력에 따라 사용자의 개인 정보에 대한 증명을 요청하는 명령을 생성할 수 있고, 단말 노드(100)는 사용자로부터의 입력에 따라 건강 정보를 요청하는 명령을 생성할 수 있다.The
여기에서, 사용자의 개인 정보는 사용자의 이름, 전화번호, 주소, 생년월일, 주민등록번호, 가족 관계 등의 사용자를 구분 가능하도록 마련되는 정보를 포함할 수 있다.Here, the user's personal information may include information prepared to distinguish the user, such as the user's name, phone number, address, date of birth, resident registration number, family relationship, and the like.
한편, 단말 노드(100)가 사용자로부터의 입력에 따라 임의의 명령을 생성하는 것은 단말 노드(100)가 사용자로부터 해당 명령을 실행시키는 입력을 받고, 사용자의 입력에 따라 사전에 설정된 명령을 수행하는 것으로 이해할 수 있다.Meanwhile, when the
이에 따라, 단말 노드(100)는 유선 또는 무선 네트워크를 통해 수행되도록 입력된 명령에 대한 신호를 증명 노드(200) 또는 기관 노드(300)에 전달할 수 있다.Accordingly, the
증명 노드(200)는 사용자의 개인 정보에 대한 증명을 요청하는 명령에 따라 사용자의 개인 정보에 매칭되도록 증명 정보를 생성할 수 있고, 증명 노드(200)는 증명 정보에 매칭되도록 공개키와 비밀키를 생성할 수 있으며, 증명 노드(200)는 단말 노드(100)에 증명 정보, 공개키 및 비밀키를 부여할 수 있으며, 증명 노드(200)는 증명 정보를 분산원장(10)에 등록할 수 있다.The
이때, 사용자의 개인 정보에 매칭되도록 증명 정보를 생성하는 것은 서로 다른 사용자를 구분 가능하도록 고유한 정보를 생성하는 것으로 이해할 수 있으며, 이에 따라, 증명 노드(200)는 서로 다른 사용자의 증명 정보를 각각 다르게 생성할 수 있다.At this time, generating proof information to match the user's personal information can be understood as generating unique information to distinguish different users, and accordingly, the
또한, 증명 정보에 매칭되도록 공개키와 비밀키를 생성하는 것은 증명 노드(200)에 암호화 키와 복호화 키를 서로 다른 키로 생성하여, 공개되도록 설정된 암호화 키를 이용하여 정보를 암호화하고, 공개되지 않도록 비밀로 설정된 복호화 키를 이용하여 암호화 키로 암호화된 정보를 복호화하도록 마련되는 공개키 암호화 기법이 이용되는 것일 수 있다.In addition, generating a public key and a private key to match the proof information generates an encryption key and a decryption key as different keys in the
한편, 증명 노드(200)는 분산원장(10)에 증명 정보를 등록할 수 있으며, 이를 위해, 증명 노드(200)는 분산 망에 증명 정보를 등록하도록 마련되는 등록 트랜잭션을 생성할 수 있다. 이에 따라, 분산원장(10)은 등록 트랜잭션에 따른 블록을 생성할 수 있으며, 분산원장(10)은 등록 트랜잭션에 따라 생성된 블록을 검증하여 이전에 생성된 블록에 연결할 수 있다.Meanwhile, the
단말 노드(100)는 증명 노드(200)로부터 부여된 증명 정보와 비밀키를 이용하여 증명 정보를 암호화할 수 있으며, 단말 노드(100)는 건강 정보를 요청하는 명령에 따른 임의의 기관 노드(300)에 암호화된 증명 정보를 전달할 수 있다.The
기관 노드(300)는 사용자의 건강 정보가 사용자의 증명 정보에 매칭되도록 저장될 수 있다.The
기관 노드(300)는 건강 정보를 요청하는 명령에 따라 단말 노드(100)로부터 비밀키로 암호화된 증명 정보를 전달받을 수 있고, 기관 노드(300)는 암호화된 증명 정보를 단말 노드(100)의 공개키로 복호화하여 증명 정보를 추출할 수 있으며, 기관 노드(300)는 분산원장(10)에 등록된 증명 정보에 기초하여 추출된 증명 정보를 검증할 수 있고, 기관 노드(300)는 검증 결과에 따라 증명 정보에 매칭되는 건강 정보를 단말 노드(100)에 전달할 수 있다.The
이를 위해, 기관 노드(300)는 단말 노드(100)로부터 단말 노드(100)에 부여된 공개키를 전달받을 수 있다.To this end, the
이때, 기관 노드(300)는 분산원장(10)에 등록된 증명 정보에 기초하여 증명 정보를 검증하는 경우에, 증명 정보를 검증하도록 마련되는 검증 트랜잭션을 생성할 수 있고, 기관 노드(300)는 검증 트랜잭션을 생성하는 경우에, 기관 노드(300)를 나타내도록 마련되는 기관 정보를 검증 트랜잭션에 설정하여 검증 트랜잭션을 생성할 수 있다.At this time, when verifying the proof information based on the proof information registered in the distributed
이에 따라, 분산원장(10)은 검증 트랜잭션에 따른 블록을 생성할 수 있으며, 분산원장(10)은 검증 트랜잭션에 따라 생성된 블록을 검증하여 이전에 생성된 블록에 연결할 수 있다.Accordingly, the distributed
이를 통해, 분산원장(10)은 임의의 증명 정보에 대해 생성된 하나 이상의 검증 트랜잭션으로부터 해당 증명 정보에 대한 검증을 수행한 하나 이상의 기관 노드(300)를 확인 가능하도록 마련될 수 있다.Through this, the distributed
이에 따라, 단말 노드(100)는 증명 정보에 대해 생성된 하나 이상의 검증 트랜잭션에 마련되는 하나 이상의 기관 정보에 대해, 사용자로부터의 입력에 따라 임의의 기관 정보에 대한 검증 수행의 차단을 요청하는 명령을 생성할 수 있다.Accordingly, the
여기에서, 기관 정보는 서로 다른 기관 노드(300)를 구분 가능하도록 마련되는 정보일 수 있으며, 예를 들어, 기관 정보는 기관 노드(300)가 마련된 병원, 의료 기관, 정부 기관 및 의료 관련 기업 등의 기관을 나타내는 고유 정보일 수 있다.Here, the institution information may be information provided to distinguish
단말 노드(100)는 증명 정보에 대해 생성된 하나 이상의 검증 트랜잭션에 마련되는 하나 이상의 기관 정보에 대해, 사용자로부터의 입력에 따라 임의의 기관 정보에 대한 검증 수행의 차단을 요청하는 명령이 생성되는 경우에, 기관 정보가 나타내는 기관 노드(300)의 검증 수행을 차단하도록 마련되는 기관 차단 트랜잭션을 생성할 수 있다.The
이에 따라, 분산원장(10)은 기관 차단 트랜잭션에 따른 블록을 생성할 수 있으며, 분산원장(10)은 기관 차단 트랜잭션에 따라 생성된 블록을 검증하여 이전에 생성된 블록에 연결할 수 있다.Accordingly, the distributed
이와 관련하여, 단말 노드(100)는 임의의 기관 정보에 대한 검증 수행의 차단을 요청하는 명령을 생성하는 과정에서, 사용자로부터 검증 수행을 차단시키는 기간을 나타내도록 차단 기간 정보를 더 입력 받을 수 있으며, 이러한 경우에, 단말 노드(100)는 기관 차단 트랜잭션이 생성된 이후 차단 기간 정보에 따른 기간이 경과되는 경우에, 해당 기관에서 단말 노드(100)에 부여된 증명 정보에 대한 검증이 수행되도록 마련되는 기관 검증 수행 트랜잭션을 생성할 수 있다.In this regard, the
이에 따라, 분산원장(10)은 기관 검증 수행 트랜잭션에 따른 블록을 생성할 수 있으며, 분산원장(10)은 기관 검증 수행 트랜잭션에 따라 생성된 블록을 검증하여 이전에 생성된 블록에 연결할 수 있다.Accordingly, the distributed
한편, 단말 노드(100)는 사용자로부터의 입력에 따라, 임의의 기간 동안의 증명 정보의 검증에 대한 수행의 차단을 요청하는 명령을 생성할 수 있으며, 단말 노드(100)는 유선 또는 무선 네트워크를 통해 수행되도록 입력된 명령에 대한 신호를 증명 노드(200)에 전달할 수 있다.Meanwhile, the
이때, 단말 노드(100)는 사용자로부터 검증 수행을 차단시키는 기간을 나타내도록 차단 기간 정보를 더 입력 받을 수 있으며, 단말 노드(100)는 입력된 차단 기간 정보를 증명 노드(200)에 전달할 수 있다.At this time, the
증명 노드(200)는 단말 노드(100)로부터 임의의 기간 동안의 증명 정보의 검증에 대한 수행의 차단을 요청하는 명령이 전달되는 경우에, 단말 노드(100)로부터 검증 수행을 차단시키는 기간을 나타내도록 차단 기간 정보를 더 전달받을 수 있고, 증명 노드(200)는 단말 노드(100)에 부여된 증명 정보에 대한 검증 수행을 차단하도록 마련되는 검증 차단 트랜잭션을 생성할 수 있다.The
이때, 증명 노드(200)는 차단 기간 정보에 따른 기간이 경과되는 경우에, 단말 노드(100)에 부여된 증명 정보에 대한 검증이 수행되도록 마련되는 검증 수행 트랜잭션을 생성할 수 있다.At this time, the
이에 따라, 분산원장(10)은 검증 차단 트랜잭션에 따른 블록을 생성할 수 있으며, 분산원장(10)은 검증 차단 트랜잭션에 따라 생성된 블록을 검증하여 이전에 생성된 블록에 연결할 수 있다. 또한, 분산원장(10)은 검증 수행 트랜잭션에 따른 블록을 생성할 수 있으며, 분산원장(10)은 검증 수행 트랜잭션에 따라 생성된 블록을 검증하여 이전에 생성된 블록에 연결할 수 있다.Accordingly, the distributed
기관 노드(300)는 분산원장(10)에 등록된 증명 정보에 따라 공개키를 이용하여 복호화된 증명 정보의 검증에 실패하는 경우에, 단말 노드(100)에 검증 실패 신호를 전달하여 단말 노드(100)로부터 공개키를 재 전달받을 수 있고, 기관 노드(300)는 검증 실패 신호가 전달된 횟수가 사전에 설정되는 검증 시도 횟수를 초과하는 경우에, 단말 노드(100)에 대한 차단 신호를 증명 노드(200)에 전달할 수 있다.When the
이에 따라, 증명 노드(200)는 차단 신호에 따라, 단말 노드(100)에 부여된 증명 정보에 대한 검증 수행을 차단하도록 마련되는 검증 차단 트랜잭션을 생성할 수 있다.Accordingly, the
도2는 도1의 단말 노드에 증명 정보가 부여되는 과정을 나타낸 블록도이다.FIG. 2 is a block diagram illustrating a process in which authentication information is given to a terminal node of FIG. 1. Referring to FIG.
도2를 참조하면, 단말 노드(100)는 사용자로부터의 입력에 따라 사용자의 개인 정보에 대한 증명을 요청하는 명령을 생성할 수 있다.Referring to FIG. 2 , the
이에 따라, 증명 노드(200)는 사용자의 개인 정보에 대한 증명을 요청하는 명령에 따라 사용자의 개인 정보에 매칭되도록 증명 정보를 생성할 수 있다.Accordingly, the
이때, 증명 노드(200)는 증명 정보에 매칭되도록 공개키와 비밀키를 생성할 수 있으며, 증명 노드(200)는 단말 노드(100)에 증명 정보, 공개키 및 비밀키를 부여할 수 있다.At this time, the
또한, 증명 노드(200)는 증명 정보를 분산원장(10)에 등록할 수 있다. 이를 위해, 증명 노드(200)는 분산원장(10)에 증명 정보를 등록하도록 마련되는 등록 트랜잭션을 생성할 수 있다.In addition, the
이에 따라, 분산원장(10)은 등록 트랜잭션에 따른 블록을 생성할 수 있으며, 분산원장(10)은 등록 트랜잭션에 따라 생성된 블록을 검증하여 이전에 생성된 블록에 연결할 수 있다.Accordingly, the distributed
도3은 도1의 기관 노드가 증명 정보를 검증하는 과정을 나타낸 블록도이다.FIG. 3 is a block diagram illustrating a process in which the authority node of FIG. 1 verifies authentication information.
도3을 참조하면, 단말 노드(100)는 사용자로부터의 입력에 따라 건강 정보를 요청하는 명령을 생성할 수 있다.Referring to FIG. 3 , the
이때, 기관 노드(300)는 건강 정보를 요청하는 명령에 따라 단말 노드(100)로부터 비밀키로 암호화된 증명 정보를 전달받을 수 있다.At this time, the
이에 따라, 기관 노드(300)는 암호화된 증명 정보를 단말 노드(100)의 공개키로 복호화하여 증명 정보를 추출할 수 있으며, 기관 노드(300)는 분산원장(10)에 등록된 증명 정보에 기초하여 추출된 증명 정보를 검증할 수 있다.Accordingly, the
이때, 기관 노드(300)는 분산원장(10)에 등록된 증명 정보에 기초하여 증명 정보를 검증하는 경우에, 증명 정보를 검증하도록 마련되는 검증 트랜잭션을 생성할 수 있고, 기관 노드(300)는 검증 트랜잭션을 생성하는 경우에, 기관 노드(300)를 나타내도록 마련되는 기관 정보를 검증 트랜잭션에 설정하여 검증 트랜잭션을 생성할 수 있다.At this time, when verifying the proof information based on the proof information registered in the distributed
이에 따라, 분산원장(10)은 검증 트랜잭션에 따른 블록을 생성할 수 있으며, 분산원장(10)은 검증 트랜잭션에 따라 생성된 블록을 검증하여 이전에 생성된 블록에 연결할 수 있다.Accordingly, the distributed
한편, 기관 노드(300)는 사용자의 건강 정보가 사용자의 증명 정보에 매칭되도록 저장될 수 있으며, 이에 따라, 기관 노드(300)는 검증 결과에 따라 증명 정보에 매칭되는 건강 정보를 단말 노드(100)에 전달할 수 있다.Meanwhile, the
도4 및 도5는 본 발명의 일 실시예에 따른 건강 정보 관리 방법의 순서도이다.4 and 5 are flowcharts of a health information management method according to an embodiment of the present invention.
본 발명의 일 실시예에 따른 건강 정보 관리 방법은 도 1에 도시된 건강 정보 관리 시스템(1)과 실질적으로 동일한 구성 상에서 진행되므로, 도 1의 건강 정보 관리 시스템(1)과 동일한 구성요소에 대해 동일한 도면 부호를 부여하고, 반복되는 설명은 생략하기로 한다.Since the health information management method according to an embodiment of the present invention is performed on substantially the same configuration as the health
건강 정보 관리 방법은 개인 정보에 대한 증명을 요청하는 명령을 생성하는 단계(600), 증명 정보, 공개키 및 비밀키를 생성하는 단계(610), 단말 노드에 증명 정보, 공개키 및 비밀키를 부여하는 단계(620), 증명 정보를 분산원장에 등록하는 단계(630), 건강 정보를 요청하는 명령을 생성하는 단계(640), 암호화된 증명 정보를 전달받는 단계(650), 증명 정보를 검증하는 단계(660) 및 건강 정보를 단말 노드에 전달하는 단계(670)를 포함할 수 있다.The health information management method includes generating a command for requesting proof of personal information (600), generating proof information, a public key and a private key (610), and providing the proof information, public key and private key to a terminal node. Granting (620), registering proof information in the distributed ledger (630), generating a command requesting health information (640), receiving encrypted proof information (650), verifying proof information It may include a
개인 정보에 대한 증명을 요청하는 명령을 생성하는 단계(600)는 단말 노드(100)가 사용자로부터의 입력에 따라 사용자의 개인 정보에 대한 증명을 요청하는 명령을 생성하는 단계일 수 있다.In
증명 정보, 공개키 및 비밀키를 생성하는 단계(610)는 증명 노드(200)가 사용자의 개인 정보에 대한 증명을 요청하는 명령에 따라 사용자의 개인 정보에 매칭되도록 증명 정보를 생성하고, 증명 정보에 매칭되도록 공개키와 비밀키를 생성하는 단계일 수 있다.In
단말 노드에 증명 정보, 공개키 및 비밀키를 부여하는 단계(620)는 증명 노드(200)가 단말 노드(100)에 증명 정보, 공개키 및 비밀키를 부여하는 단계일 수 있다.The
증명 정보를 분산원장에 등록하는 단계(630)는 증명 노드(200)가 증명 정보를 분산원장(10)에 등록하는 단계일 수 있다.Step 630 of registering the proof information in the distributed ledger may be a step in which the
건강 정보를 요청하는 명령을 생성하는 단계(640)는 단말 노드(100)가 사용자로부터의 입력에 따라 건강 정보를 요청하는 명령을 생성하는 단계일 수 있다.In step 640 of generating a command for requesting health information, the
암호화된 증명 정보를 전달받는 단계(650)는 기관 노드(300)에 사용자의 건강 정보가 사용자의 증명 정보에 매칭되도록 저장되어, 기관 노드(300)가 건강 정보를 요청하는 명령에 따라 단말 노드(100)로부터 비밀키로 암호화된 증명 정보를 전달받는 단계일 수 있다.In the
증명 정보를 검증하는 단계(660)는 기관 노드(300)가 암호화된 증명 정보를 공개키로 복호화하여 증명 정보를 추출하며, 분산원장(10)에 등록된 증명 정보에 기초하여 추출된 증명 정보를 검증하는 단계일 수 있다.In
건강 정보를 단말 노드에 전달하는 단계(670)는 기관 노드(300)가 검증 결과에 따라 증명 정보에 매칭되는 건강 정보를 단말 노드(100)에 전달하는 단계일 수 있다.The
이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to embodiments, it will be understood that those skilled in the art can variously modify and change the present invention without departing from the spirit and scope of the present invention described in the claims below. You will be able to.
1: 건강 정보 관리 시스템
10: 분산원장
100: 단말 노드
200: 증명 노드
300: 기관 노드1: Health information management system
10: Distributed Ledger
100: terminal node
200: proof node
300: authority node
Claims (7)
상기 사용자의 개인 정보에 대한 증명을 요청하는 명령에 따라 상기 사용자의 개인 정보에 매칭되도록 증명 정보를 생성하고, 상기 증명 정보에 매칭되도록 공개키와 비밀키를 생성하며, 상기 단말 노드에 상기 증명 정보, 상기 공개키 및 상기 비밀키를 부여하며, 상기 증명 정보를 분산원장에 등록하는 증명 노드; 및
상기 사용자의 건강 정보가 상기 사용자의 증명 정보에 매칭되도록 저장되고, 상기 건강 정보를 요청하는 명령에 따라 상기 단말 노드로부터 상기 비밀키로 암호화된 증명 정보를 전달받고, 상기 단말 노드로부터 상기 공개키를 전달받아 상기 암호화된 증명 정보를 상기 공개키로 복호화하여 증명 정보를 추출하며, 상기 분산원장에 등록된 증명 정보에 기초하여 추출된 증명 정보를 검증하고, 검증 결과에 따라 상기 증명 정보에 매칭되는 상기 건강 정보를 상기 단말 노드에 전달하는 기관 노드;를 포함하고,
상기 기관 노드는,
상기 분산원장에 등록된 증명 정보에 따라 상기 공개키를 이용하여 복호화된 증명 정보의 검증에 실패하는 경우, 상기 단말 노드에 검증 실패 신호를 전달하여 상기 단말 노드로부터 상기 공개키를 재 전달받고, 상기 검증 실패 신호가 전달된 횟수가 사전에 설정되는 검증 시도 횟수를 초과하는 경우, 상기 단말 노드에 대한 차단 신호를 상기 증명 노드에 전달하고,
상기 증명 노드는,
상기 차단 신호에 따라, 상기 단말 노드에 부여된 상기 증명 정보에 대한 검증 수행을 차단하도록 마련되는 검증 차단 트랜잭션을 생성하며,
상기 증명 노드는,
상기 단말 노드로부터 임의의 기간 동안의 상기 증명 정보의 검증에 대한 수행의 차단을 요청하는 명령이 전달되는 경우에, 상기 단말 노드로부터 상기 검증 수행을 차단시키는 기간을 나타내도록 차단 기간 정보를 더 전달받고, 상기 단말 노드에 부여된 상기 증명 정보에 대한 검증 수행을 차단하도록 마련되는 검증 차단 트랜잭션을 생성하며, 상기 차단 기간 정보에 따른 기간이 경과되는 경우, 상기 단말 노드에 부여된 상기 증명 정보에 대한 검증이 수행되도록 마련되는 검증 수행 트랜잭션을 생성하고,
상기 기관 노드는,
상기 분산원장에 등록된 증명 정보에 기초하여 증명 정보를 검증하는 경우, 상기 증명 정보를 검증하도록 마련되는 검증 트랜잭션을 생성하고, 상기 검증 트랜잭션을 생성하는 경우, 상기 기관 노드를 나타내도록 마련되는 기관 정보를 상기 검증 트랜잭션에 설정하여 상기 검증 트랜잭션을 생성하고,
상기 단말 노드는,
상기 증명 정보에 대해 생성된 하나 이상의 검증 트랜잭션에 마련되는 하나 이상의 기관 정보에 대해, 사용자로부터의 입력에 따라 임의의 기관 정보에 대한 검증 수행의 차단을 요청하는 명령이 생성되는 경우, 상기 기관 정보가 나타내는 기관 노드의 검증 수행을 차단하도록 마련되는 기관 차단 트랜잭션을 생성하고,
상기 단말 노드는,
상기 임의의 기관 정보에 대한 검증 수행의 차단을 요청하는 명령이 생성되는 과정에서, 상기 사용자로부터 검증 수행을 차단시키는 기간을 나타내도록 차단 기간 정보를 더 입력받고, 상기 기관 차단 트랜잭션이 생성된 이후 상기 차단 기간 정보에 따른 기간이 경과되면 상기 기관 정보가 나타내는 기관 노드에서 상기 증명 정보에 대한 검증이 수행되도록 마련되는 기관 검증 트랜잭션을 생성하는, 건강 정보 관리 시스템.
a terminal node generating a command for requesting verification of personal information of the user according to an input from a user and generating a command for requesting health information according to an input from the user;
According to a command requesting proof of the user's personal information, proof information is generated to match the user's personal information, a public key and a private key are generated to match the proof information, and the proof information is sent to the terminal node. , a proof node that grants the public key and the private key and registers the proof information in a distributed ledger; and
The user's health information is stored to be matched with the user's authentication information, authentication information encrypted with the private key is received from the terminal node according to a command requesting the health information, and the public key is transmitted from the terminal node. receive and decrypt the encrypted proof information with the public key to extract proof information, verify the extracted proof information based on the proof information registered in the distributed ledger, and match the health information to the proof information according to the verification result. Including; an institutional node that transmits to the terminal node;
The institutional node,
When verification of the proof information decrypted using the public key fails according to the proof information registered in the distributed ledger, a verification failure signal is transmitted to the terminal node to receive the public key again from the terminal node, When the number of times the verification failure signal is transmitted exceeds the preset number of verification attempts, a blocking signal for the terminal node is transmitted to the attestation node;
The proof node,
According to the blocking signal, a verification blocking transaction is generated to block verification of the proof information assigned to the terminal node;
The proof node,
When a command requesting blocking of verification of the verification information for a certain period of time is transmitted from the terminal node, blocking period information is further transmitted to indicate a period during which verification is blocked from the terminal node; , Generates a verification blocking transaction provided to block verification of the verification information assigned to the terminal node, and when a period according to the blocking period information elapses, verification of the verification information assigned to the terminal node create a verification-performing transaction that is arranged to be performed;
The institutional node,
When verifying the proof information based on the proof information registered in the distributed ledger, a verification transaction provided to verify the proof information is generated, and when the verification transaction is generated, institution information provided to indicate the institution node. To create the verification transaction by setting to the verification transaction,
The terminal node,
For one or more institution information provided in one or more verification transactions generated for the authentication information, when a command requesting blocking of the execution of verification for arbitrary institution information is generated according to input from a user, the institution information create an authority blocking transaction arranged to block the representing authority node from performing verification;
The terminal node,
In the process of generating a command for requesting blocking of the execution of verification for the arbitrary institution information, blocking period information is further input from the user to indicate a period during which the execution of verification is blocked, and after the institution blocking transaction is generated, the When a period according to the blocking period information elapses, an institution verification transaction is generated in which verification of the authentication information is performed at an institution node indicated by the institution information.
단말 노드가 사용자로부터의 입력에 따라 상기 사용자의 개인 정보에 대한 증명을 요청하는 명령을 생성하는 단계;
증명 노드가 상기 사용자의 개인 정보에 대한 증명을 요청하는 명령에 따라 상기 사용자의 개인 정보에 매칭되도록 증명 정보를 생성하고, 상기 증명 정보에 매칭되도록 공개키와 비밀키를 생성하는 단계;
상기 증명 노드가 상기 단말 노드에 상기 증명 정보, 상기 공개키 및 상기 비밀키를 부여하는 단계;
상기 증명 노드가 상기 증명 정보를 분산원장에 등록하는 단계;
상기 단말 노드가 상기 사용자로부터의 입력에 따라 건강 정보를 요청하는 명령을 생성하는 단계;
기관 노드에 상기 사용자의 건강 정보가 상기 사용자의 증명 정보에 매칭되도록 저장되어, 상기 기관 노드가 상기 건강 정보를 요청하는 명령에 따라 상기 단말 노드로부터 상기 비밀키로 암호화된 증명 정보를 전달받는 단계;
상기 기관 노드가 상기 단말 노드로부터 상기 공개키를 전달받아 상기 암호화된 증명 정보를 상기 공개키로 복호화하여 증명 정보를 추출하며, 상기 분산원장에 등록된 증명 정보에 기초하여 추출된 증명 정보를 검증하는 단계; 및
상기 기관 노드가 검증 결과에 따라 상기 증명 정보에 매칭되는 상기 건강 정보를 상기 단말 노드에 전달하는 단계;를 포함하고,
상기 증명 정보를 검증하는 단계에서는,
상기 기관 노드가 상기 분산원장에 등록된 증명 정보에 따라 상기 공개키를 이용하여 복호화된 증명 정보의 검증에 실패하는 경우, 상기 단말 노드에 검증 실패 신호를 전달하여 상기 단말 노드로부터 상기 공개키를 재 전달받고, 상기 검증 실패 신호가 전달된 횟수가 사전에 설정되는 검증 시도 횟수를 초과하는 경우, 상기 단말 노드에 대한 차단 신호를 상기 증명 노드에 전달하고,
상기 건강 정보 관리 방법은,
상기 증명 노드가 상기 차단 신호에 따라 상기 단말 노드에 부여된 상기 증명 정보에 대한 검증 수행을 차단하도록 마련되는 검증 차단 트랜잭션을 생성하는 단계;
상기 증명 노드가 상기 단말 노드로부터 임의의 기간 동안의 상기 증명 정보의 검증에 대한 수행의 차단을 요청하는 명령이 전달되는 경우에, 상기 단말 노드로부터 상기 검증 수행을 차단시키는 기간을 나타내도록 차단 기간 정보를 더 전달받고, 상기 단말 노드에 부여된 상기 증명 정보에 대한 검증 수행을 차단하도록 마련되는 검증 차단 트랜잭션을 생성하며, 상기 차단 기간 정보에 따른 기간이 경과되는 경우, 상기 단말 노드에 부여된 상기 증명 정보에 대한 검증이 수행되도록 마련되는 검증 수행 트랜잭션을 생성하는 단계;
상기 기관 노드가, 상기 분산원장에 등록된 증명 정보에 기초하여 증명 정보를 검증하는 경우, 상기 증명 정보를 검증하도록 마련되는 검증 트랜잭션을 생성하고, 상기 검증 트랜잭션을 생성하는 경우, 상기 기관 노드를 나타내도록 마련되는 기관 정보를 상기 검증 트랜잭션에 설정하여 상기 검증 트랜잭션을 생성하는 단계;
상기 단말 노드가 기 증명 정보에 대해 생성된 하나 이상의 검증 트랜잭션에 마련되는 하나 이상의 기관 정보에 대해, 사용자로부터의 입력에 따라 임의의 기관 정보에 대한 검증 수행의 차단을 요청하는 명령이 생성되는 경우, 상기 기관 정보가 나타내는 기관 노드의 검증 수행을 차단하도록 마련되는 기관 차단 트랜잭션을 생성하는 단계; 및
상기 단말 노드가 상기 임의의 기관 정보에 대한 검증 수행의 차단을 요청하는 명령이 생성되는 과정에서, 상기 사용자로부터 검증 수행을 차단시키는 기간을 나타내도록 차단 기간 정보를 더 입력받고, 상기 기관 차단 트랜잭션이 생성된 이후 상기 차단 기간 정보에 따른 기간이 경과되면 상기 기관 정보가 나타내는 기관 노드에서 상기 증명 정보에 대한 검증이 수행되도록 마련되는 기관 검증 트랜잭션을 생성하는 단계를 더 포함하는, 건강 정보 관리 방법.A health information management method in a health information management system using decentralized identity verification,
generating, at a terminal node, a command requesting verification of personal information of the user according to an input from the user;
generating proof information to match the user's personal information according to a command requesting proof of the user's personal information, and generating a public key and a private key to match the proof information;
the attesting node granting the attestation information, the public key and the private key to the terminal node;
registering, by the attestation node, the attestation information in a distributed ledger;
generating, by the terminal node, a command for requesting health information according to an input from the user;
storing the user's health information in an institution node to be matched with the user's certification information, and receiving, by the institution node, authentication information encrypted with the private key from the terminal node according to a command requesting the health information;
The institution node receives the public key from the terminal node, decrypts the encrypted proof information with the public key, extracts proof information, and verifies the extracted proof information based on the proof information registered in the distributed ledger. ; and
Transmitting, by the institution node, the health information matching the authentication information to the terminal node according to a verification result;
In the step of verifying the proof information,
If the institution node fails to verify the proof information decrypted using the public key according to the proof information registered in the distributed ledger, it transmits a verification failure signal to the terminal node to retry the public key from the terminal node. and when the number of times the verification failure signal is transmitted exceeds a preset number of verification attempts, transmits a blocking signal for the terminal node to the verification node;
The health information management method,
generating, by the attestation node, a verification block transaction provided to block verification of the verification information given to the terminal node according to the block signal;
Blocking period information to indicate a period during which the attesting node blocks the verification from the terminal node, when a command is transmitted from the terminal node requesting blocking of the verification of the verification information for a certain period of time. is further transmitted, and a verification blocking transaction is generated to block verification of the proof information assigned to the terminal node, and when a period according to the blocking period information elapses, the verification granted to the terminal node. generating a verification performing transaction arranged to perform verification of information;
When the institution node verifies the proof information based on the proof information registered in the distributed ledger, a verification transaction is generated to verify the proof information, and when the verification transaction is generated, the institution node is indicated. generating the verification transaction by setting institution information provided to the verification transaction to the verification transaction;
When the terminal node generates a command for requesting blocking of performing verification for arbitrary institution information according to an input from a user for one or more institution information provided in one or more verification transactions generated for the already certified information, generating an authority block transaction prepared to block verification performance of an authority node indicated by the authority information; and
In a process in which the terminal node generates a command for requesting blocking of the execution of verification for the arbitrary institution information, blocking period information is further input from the user to indicate a period during which the execution of verification is blocked, and the institution blocking transaction is executed. The health information management method further comprising generating an institution verification transaction arranged so that verification of the authentication information is performed at an institution node indicated by the institution information when a period according to the blocking period information elapses after being generated.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200151097A KR102532635B1 (en) | 2020-11-12 | 2020-11-12 | Health information management system and method using decentralized identification |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200151097A KR102532635B1 (en) | 2020-11-12 | 2020-11-12 | Health information management system and method using decentralized identification |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220064708A KR20220064708A (en) | 2022-05-19 |
KR102532635B1 true KR102532635B1 (en) | 2023-05-12 |
Family
ID=81801194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200151097A KR102532635B1 (en) | 2020-11-12 | 2020-11-12 | Health information management system and method using decentralized identification |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102532635B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102020000B1 (en) * | 2018-10-31 | 2019-09-09 | 주식회사 스위클 | Personal information providing system using one time private key based on block chain of proof of use and method thereof |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101582967B1 (en) | 2014-03-04 | 2016-01-06 | (주)엠씨씨 | Method for communicating about a personal health record and servicing system a personal health record by interworking with the hospital information |
US11868995B2 (en) * | 2017-11-27 | 2024-01-09 | Nok Nok Labs, Inc. | Extending a secure key storage for transaction confirmation and cryptocurrency |
-
2020
- 2020-11-12 KR KR1020200151097A patent/KR102532635B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102020000B1 (en) * | 2018-10-31 | 2019-09-09 | 주식회사 스위클 | Personal information providing system using one time private key based on block chain of proof of use and method thereof |
Also Published As
Publication number | Publication date |
---|---|
KR20220064708A (en) | 2022-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10735397B2 (en) | Systems and methods for distributed identity verification | |
JP2020528695A (en) | Blockchain authentication via hard / soft token verification | |
ES2935164T3 (en) | Method for registering and sharing a digital identity of a user using distributed ledger | |
KR102177848B1 (en) | Method and system for verifying an access request | |
JP4256361B2 (en) | Authentication management method and system | |
KR102465467B1 (en) | The decentralized user data storage and sharing system based on DID | |
KR20160085143A (en) | Method for providing anonymous service and method for managing user information and system therefor | |
KR20200112055A (en) | Method for sharing data in block chain environment and apparatus | |
WO2022240425A1 (en) | Delegation method and delegation request managing method | |
JP6712707B2 (en) | Server system and method for controlling a plurality of service systems | |
JP7124988B2 (en) | AUTHENTICATION SERVER, AUTHENTICATION SYSTEM, AUTHENTICATION SERVER CONTROL METHOD AND PROGRAM | |
EP4154153A1 (en) | Split keys for wallet recovery | |
JP4657706B2 (en) | Authority management system, authentication server, authority management method, and authority management program | |
JP7151928B2 (en) | AUTHENTICATION SERVER, AUTHENTICATION SERVER CONTROL METHOD AND PROGRAM | |
KR102532635B1 (en) | Health information management system and method using decentralized identification | |
JP7375918B2 (en) | Authentication server, authentication system, authentication server control method and program | |
EP4261809A1 (en) | Service provision system | |
JP2019102959A (en) | Server device, communication device, key sharing system, key sharing method, and program | |
JP2023540739A (en) | A method for secure, traceable, and privacy-preserving digital currency transfers with anonymity revocation on a distributed ledger | |
Ibrahim et al. | A secure framework for medical information exchange (MI-X) between healthcare providers | |
JP7375917B2 (en) | Authentication server, authentication system, authentication server control method and program | |
KR102466162B1 (en) | Consent code generation device, health information exchange system and method including the same | |
JP2023125727A (en) | Template management system and template management method | |
KR20230023907A (en) | Method and system for providing a copy of patient's medical record | |
CN115720137A (en) | Information management system, method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |