KR102532635B1 - Health information management system and method using decentralized identification - Google Patents

Health information management system and method using decentralized identification Download PDF

Info

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
Application number
KR1020200151097A
Other languages
Korean (ko)
Other versions
KR20220064708A (en
Inventor
김일곤
원경재
이아라
Original Assignee
경북대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 경북대학교 산학협력단 filed Critical 경북대학교 산학협력단
Priority to KR1020200151097A priority Critical patent/KR102532635B1/en
Publication of KR20220064708A publication Critical patent/KR20220064708A/en
Application granted granted Critical
Publication of KR102532635B1 publication Critical patent/KR102532635B1/en

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H80/00ICT specially adapted for facilitating communication between medical practitioners or patients, e.g. for collaborative diagnosis, therapy or health monitoring
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

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

탈중앙화된 신원 증명을 이용하는 건강 정보 관리 시스템 및 방법{HEALTH INFORMATION MANAGEMENT SYSTEM AND METHOD USING DECENTRALIZED IDENTIFICATION}Health information management system and method using decentralized identity verification

본 발명은 탈중앙화된 신원 증명을 이용하는 건강 정보 관리 시스템 및 방법에 관한 것으로, 보다 상세하게는, 기관에 저장된 건강 정보를 요청하여 전달받는 건강 정보 관리 시스템 및 방법에 관한 것이다.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.

한국공개특허공보 제10-2015-0103829호Korean Patent Publication No. 10-2015-0103829

본 발명이 해결하고자 하는 기술적 과제는 분산원장에 사용자의 신원을 등록하고, 분산원장에 등록된 신원으로 증명되는 사용자에게 기관에 저장된 건강 정보를 전달받는 탈중앙화된 신원 증명을 이용하는 건강 정보 관리 시스템 및 방법을 제공하는 것이다.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 information management system 1 can register the user's proof information in the distributed ledger 10 and perform user verification using the proof information registered in the distributed ledger 10. Through this, the health information management system (1) can manage health information.

이때, 건강 정보 관리 시스템(1)은 분산원장(10)에 연결된 복수개의 노드에서 생성되는 트랜잭션을 사전에 설정되는 주기 또는 조건에 따라 블록으로 생성하여 각각의 노드에 저장되는 체인에 연결하는 블록체인 기법이 이용될 수 있다.At this time, the health information management system 1 is a block chain that generates transactions generated from a plurality of nodes connected to the distributed ledger 10 as blocks according to pre-set cycles or conditions and connects them to a chain stored in each node. technique can be used.

여기에서, 노드는 무선 또는 유선으로 분산원장(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 distributed ledger 10 wirelessly or wired. In this case, the distributed ledger 10 is a block chain It may mean a blockchain network according to a technique.

이에 따라, 분산원장(10)은 복수개의 노드에서 생성되는 트랜잭션을 수집하여 블록을 생성할 수 있으며, 이와 관련하여, 분산원장(10)은 복수개의 서버 중에서 사전에 설정되는 조건에 따라 선출되는 임의의 대표 노드가 임의의 서버에서 생성되는 트랜잭션을 수집하여 블록을 생성하도록 마련될 수도 있다.Accordingly, the distributed ledger 10 can generate blocks by collecting transactions generated from a plurality of nodes. In this regard, the distributed ledger 10 is selected from a plurality of servers according to conditions set in advance. A representative node of may be arranged to generate a block by collecting transactions generated by an arbitrary server.

이때, 분산원장(10)이 블록을 생성하는 것은 분산원장(10)에 연결된 복수개의 노드 중 대표 노드로 선출된 노드가 복수개의 노드로부터 전달받는 트랜잭션에 따라 블록을 생성하는 것으로 이해할 수 있다.At this time, the generation of blocks by the distributed ledger 10 can be understood as the generation of blocks by a node elected as a representative node among a plurality of nodes connected to the distributed ledger 10 according to transactions received from the plurality of nodes.

한편, 분산원장(10)에서 생성되는 블록은 이전에 생성된 블록의 정보와, 복수개의 노드로부터 전달받은 트랜잭션을 포함하도록 생성될 수 있으며, 이때, 블록을 생성한 노드는 생성된 블록을 분산원장(10)에 연결된 복수개의 노드에 전달할 수 있다.On the other hand, a block created in the distributed ledger 10 may be created to include information of a previously created block and transactions transmitted from a plurality of nodes. It can be delivered to a plurality of nodes connected to (10).

여기에서, 블록은 이전에 생성된 블록의 정보를 해시 함수를 이용하여 암호화된 상태로 포함시킬 수 있다.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 information management system 1 may register proof information prepared to prove the user's personal information in the distributed ledger 10, and the health information management system 1 may register the registered information in the distributed ledger 10. The user can be verified using the identification information, and the health information management system 1 can provide the user with health information stored for the verified user.

여기에서, 증명 정보는 사용자의 개인 정보에 매칭되도록 마련되어, 서로 다른 사용자를 구분하도록 마련되는 정보일 수 있으며, 예를 들어, 증명 정보는 분산원장(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 information management system 1 may use a known consensus algorithm prepared to verify information registered in the distributed ledger 10 other than the blockchain technique.

이를 위해, 건강 정보 관리 시스템(1)은 단말 노드(100), 증명 노드(200) 및 기관 노드(300)를 포함할 수 있다.To this end, the health information management system 1 may include a terminal node 100 , a proof node 200 and an institution node 300 .

또한, 건강 정보 관리 시스템(1)은 도 1에 도시된 구성요소보다 많은 구성요소에 의해 구현될 수 있고, 그보다 적은 구성요소에 의해 구현될 수 있다. 또는, 건강 정보 관리 시스템(1)은 건강 정보 관리 시스템(1)에 마련되는 적어도 두 개의 구성요소가 하나의 구성요소로 통합되어 하나의 구성요소가 복합적인 기능을 수행할 수도 있다. 이하, 상술한 구성요소들에 대해 구체적으로 설명하기로 한다.In addition, the health information management system 1 may be implemented with more components than those shown in FIG. 1 or fewer components. Alternatively, in the health information management system 1, at least two components provided in the health information management system 1 may be integrated into one component so that one component performs a complex function. Hereinafter, the above-described components will be described in detail.

단말 노드(100)는 사용자로부터의 입력에 따라 사용자의 개인 정보에 대한 증명을 요청하는 명령을 생성할 수 있고, 단말 노드(100)는 사용자로부터의 입력에 따라 건강 정보를 요청하는 명령을 생성할 수 있다.The terminal node 100 may generate a command for requesting verification of personal information of a user according to an input from a user, and the terminal node 100 may generate a command for requesting health information according to an input from a user. can

여기에서, 사용자의 개인 정보는 사용자의 이름, 전화번호, 주소, 생년월일, 주민등록번호, 가족 관계 등의 사용자를 구분 가능하도록 마련되는 정보를 포함할 수 있다.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 terminal node 100 generates an arbitrary command according to an input from a user, the terminal node 100 receives an input for executing the corresponding command from the user and executes a preset command according to the user's input. can be understood as

이에 따라, 단말 노드(100)는 유선 또는 무선 네트워크를 통해 수행되도록 입력된 명령에 대한 신호를 증명 노드(200) 또는 기관 노드(300)에 전달할 수 있다.Accordingly, the terminal node 100 may transmit a signal for an input command to be executed through a wired or wireless network to the verification node 200 or the institutional node 300.

증명 노드(200)는 사용자의 개인 정보에 대한 증명을 요청하는 명령에 따라 사용자의 개인 정보에 매칭되도록 증명 정보를 생성할 수 있고, 증명 노드(200)는 증명 정보에 매칭되도록 공개키와 비밀키를 생성할 수 있으며, 증명 노드(200)는 단말 노드(100)에 증명 정보, 공개키 및 비밀키를 부여할 수 있으며, 증명 노드(200)는 증명 정보를 분산원장(10)에 등록할 수 있다.The proof node 200 may generate proof information to match the user's personal information according to a command requesting proof of the user's personal information, and the proof node 200 may generate a public key and a private key to match the proof information. can be generated, the proof node 200 can grant proof information, a public key and a private key to the terminal node 100, and the proof node 200 can register the proof information in the distributed ledger 10. there is.

이때, 사용자의 개인 정보에 매칭되도록 증명 정보를 생성하는 것은 서로 다른 사용자를 구분 가능하도록 고유한 정보를 생성하는 것으로 이해할 수 있으며, 이에 따라, 증명 노드(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 proof node 200 separates the proof information of different users. can be created differently.

또한, 증명 정보에 매칭되도록 공개키와 비밀키를 생성하는 것은 증명 노드(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 proof node 200, encrypts the information using the encryption key set to be public, and prevents it from being disclosed. A public key encryption technique provided to decrypt information encrypted with an encryption key using a decryption key set as secret may be used.

한편, 증명 노드(200)는 분산원장(10)에 증명 정보를 등록할 수 있으며, 이를 위해, 증명 노드(200)는 분산 망에 증명 정보를 등록하도록 마련되는 등록 트랜잭션을 생성할 수 있다. 이에 따라, 분산원장(10)은 등록 트랜잭션에 따른 블록을 생성할 수 있으며, 분산원장(10)은 등록 트랜잭션에 따라 생성된 블록을 검증하여 이전에 생성된 블록에 연결할 수 있다.Meanwhile, the proof node 200 may register proof information in the distributed ledger 10, and for this purpose, the proof node 200 may generate a registration transaction prepared to register proof information in the distributed network. Accordingly, the distributed ledger 10 may generate a block according to the registration transaction, and the distributed ledger 10 may verify the block generated according to the registration transaction and connect it to a previously generated block.

단말 노드(100)는 증명 노드(200)로부터 부여된 증명 정보와 비밀키를 이용하여 증명 정보를 암호화할 수 있으며, 단말 노드(100)는 건강 정보를 요청하는 명령에 따른 임의의 기관 노드(300)에 암호화된 증명 정보를 전달할 수 있다.The terminal node 100 may encrypt the proof information using the proof information and a private key given from the proof node 200, and the terminal node 100 may encrypt the proof information according to a command requesting health information. ) can deliver encrypted proof information.

기관 노드(300)는 사용자의 건강 정보가 사용자의 증명 정보에 매칭되도록 저장될 수 있다.The institution node 300 may store the user's health information to be matched with the user's identification information.

기관 노드(300)는 건강 정보를 요청하는 명령에 따라 단말 노드(100)로부터 비밀키로 암호화된 증명 정보를 전달받을 수 있고, 기관 노드(300)는 암호화된 증명 정보를 단말 노드(100)의 공개키로 복호화하여 증명 정보를 추출할 수 있으며, 기관 노드(300)는 분산원장(10)에 등록된 증명 정보에 기초하여 추출된 증명 정보를 검증할 수 있고, 기관 노드(300)는 검증 결과에 따라 증명 정보에 매칭되는 건강 정보를 단말 노드(100)에 전달할 수 있다.The institution node 300 may receive authentication information encrypted with a private key from the terminal node 100 according to a command requesting health information, and the institution node 300 may disclose the encrypted certification information to the terminal node 100. Proof information can be extracted by decryption with a key, and the institution node 300 can verify the extracted proof information based on the proof information registered in the distributed ledger 10, and the institution node 300 can verify the proof information according to the verification result. Health information matching the proof information may be delivered to the terminal node 100 .

이를 위해, 기관 노드(300)는 단말 노드(100)로부터 단말 노드(100)에 부여된 공개키를 전달받을 수 있다.To this end, the institution node 300 may receive a public key assigned to the terminal node 100 from the terminal node 100 .

이때, 기관 노드(300)는 분산원장(10)에 등록된 증명 정보에 기초하여 증명 정보를 검증하는 경우에, 증명 정보를 검증하도록 마련되는 검증 트랜잭션을 생성할 수 있고, 기관 노드(300)는 검증 트랜잭션을 생성하는 경우에, 기관 노드(300)를 나타내도록 마련되는 기관 정보를 검증 트랜잭션에 설정하여 검증 트랜잭션을 생성할 수 있다.At this time, when verifying the proof information based on the proof information registered in the distributed ledger 10, the institution node 300 may generate a verification transaction prepared to verify the proof information, and the institution node 300 In the case of generating a verification transaction, the verification transaction may be generated by setting institution information provided to indicate the institution node 300 in the verification transaction.

이에 따라, 분산원장(10)은 검증 트랜잭션에 따른 블록을 생성할 수 있으며, 분산원장(10)은 검증 트랜잭션에 따라 생성된 블록을 검증하여 이전에 생성된 블록에 연결할 수 있다.Accordingly, the distributed ledger 10 may generate a block according to the verification transaction, and the distributed ledger 10 may verify the block generated according to the verification transaction and connect it to a previously generated block.

이를 통해, 분산원장(10)은 임의의 증명 정보에 대해 생성된 하나 이상의 검증 트랜잭션으로부터 해당 증명 정보에 대한 검증을 수행한 하나 이상의 기관 노드(300)를 확인 가능하도록 마련될 수 있다.Through this, the distributed ledger 10 may be prepared to check one or more institutional nodes 300 that have performed verification on the proof information from one or more verification transactions generated for any proof information.

이에 따라, 단말 노드(100)는 증명 정보에 대해 생성된 하나 이상의 검증 트랜잭션에 마련되는 하나 이상의 기관 정보에 대해, 사용자로부터의 입력에 따라 임의의 기관 정보에 대한 검증 수행의 차단을 요청하는 명령을 생성할 수 있다.Accordingly, the terminal node 100 issues 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 proof information. can create

여기에서, 기관 정보는 서로 다른 기관 노드(300)를 구분 가능하도록 마련되는 정보일 수 있으며, 예를 들어, 기관 정보는 기관 노드(300)가 마련된 병원, 의료 기관, 정부 기관 및 의료 관련 기업 등의 기관을 나타내는 고유 정보일 수 있다.Here, the institution information may be information provided to distinguish different institution nodes 300, and for example, the institution information includes hospitals, medical institutions, government institutions, and medical-related companies where the institution nodes 300 are provided. It may be unique information representing the organ of

단말 노드(100)는 증명 정보에 대해 생성된 하나 이상의 검증 트랜잭션에 마련되는 하나 이상의 기관 정보에 대해, 사용자로부터의 입력에 따라 임의의 기관 정보에 대한 검증 수행의 차단을 요청하는 명령이 생성되는 경우에, 기관 정보가 나타내는 기관 노드(300)의 검증 수행을 차단하도록 마련되는 기관 차단 트랜잭션을 생성할 수 있다.The terminal node 100 is configured to generate a command for requesting blocking of execution of 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 proof information. In this case, an institution block transaction prepared to block verification performance of the institution node 300 indicated by the institution information may be generated.

이에 따라, 분산원장(10)은 기관 차단 트랜잭션에 따른 블록을 생성할 수 있으며, 분산원장(10)은 기관 차단 트랜잭션에 따라 생성된 블록을 검증하여 이전에 생성된 블록에 연결할 수 있다.Accordingly, the distributed ledger 10 may generate a block according to the transaction blocked by the institution, and the distributed ledger 10 may verify the block generated according to the transaction blocked by the institution and connect it to a previously generated block.

이와 관련하여, 단말 노드(100)는 임의의 기관 정보에 대한 검증 수행의 차단을 요청하는 명령을 생성하는 과정에서, 사용자로부터 검증 수행을 차단시키는 기간을 나타내도록 차단 기간 정보를 더 입력 받을 수 있으며, 이러한 경우에, 단말 노드(100)는 기관 차단 트랜잭션이 생성된 이후 차단 기간 정보에 따른 기간이 경과되는 경우에, 해당 기관에서 단말 노드(100)에 부여된 증명 정보에 대한 검증이 수행되도록 마련되는 기관 검증 수행 트랜잭션을 생성할 수 있다.In this regard, the terminal node 100 may further receive blocking period information to indicate a period during which verification is blocked from a user in the process of generating a command requesting blocking of performing verification for arbitrary institution information. , In this case, the terminal node 100 arranges for verification of the proof information given to the terminal node 100 by the institution when the period according to the blocking period information elapses after the institution blocking transaction is generated. You can create an agency-verified transaction that is

이에 따라, 분산원장(10)은 기관 검증 수행 트랜잭션에 따른 블록을 생성할 수 있으며, 분산원장(10)은 기관 검증 수행 트랜잭션에 따라 생성된 블록을 검증하여 이전에 생성된 블록에 연결할 수 있다.Accordingly, the distributed ledger 10 may generate a block according to an institution-verified transaction, and the distributed ledger 10 may verify a block generated according to an institution-verified transaction and connect it to a previously generated block.

한편, 단말 노드(100)는 사용자로부터의 입력에 따라, 임의의 기간 동안의 증명 정보의 검증에 대한 수행의 차단을 요청하는 명령을 생성할 수 있으며, 단말 노드(100)는 유선 또는 무선 네트워크를 통해 수행되도록 입력된 명령에 대한 신호를 증명 노드(200)에 전달할 수 있다.Meanwhile, the terminal node 100 may generate a command requesting blocking of verification of proof information for a certain period of time according to an input from a user, and the terminal node 100 may connect a wired or wireless network. A signal for an input command to be executed may be transmitted to the proof node 200.

이때, 단말 노드(100)는 사용자로부터 검증 수행을 차단시키는 기간을 나타내도록 차단 기간 정보를 더 입력 받을 수 있으며, 단말 노드(100)는 입력된 차단 기간 정보를 증명 노드(200)에 전달할 수 있다.At this time, the terminal node 100 may further receive blocking period information from the user to indicate a period for blocking verification, and the terminal node 100 may transmit the input blocking period information to the verification node 200. .

증명 노드(200)는 단말 노드(100)로부터 임의의 기간 동안의 증명 정보의 검증에 대한 수행의 차단을 요청하는 명령이 전달되는 경우에, 단말 노드(100)로부터 검증 수행을 차단시키는 기간을 나타내도록 차단 기간 정보를 더 전달받을 수 있고, 증명 노드(200)는 단말 노드(100)에 부여된 증명 정보에 대한 검증 수행을 차단하도록 마련되는 검증 차단 트랜잭션을 생성할 수 있다.The proof node 200 represents a period during which verification is blocked from the terminal node 100 when a command requesting blocking of verification of proof information for a certain period is transmitted from the terminal node 100. Block period information may be further transmitted, and the verification node 200 may generate a verification block transaction provided to block verification of the verification information given to the terminal node 100 .

이때, 증명 노드(200)는 차단 기간 정보에 따른 기간이 경과되는 경우에, 단말 노드(100)에 부여된 증명 정보에 대한 검증이 수행되도록 마련되는 검증 수행 트랜잭션을 생성할 수 있다.At this time, the proof node 200 may generate a verification execution transaction prepared to perform verification of the verification information given to the terminal node 100 when the period according to the blocking period information elapses.

이에 따라, 분산원장(10)은 검증 차단 트랜잭션에 따른 블록을 생성할 수 있으며, 분산원장(10)은 검증 차단 트랜잭션에 따라 생성된 블록을 검증하여 이전에 생성된 블록에 연결할 수 있다. 또한, 분산원장(10)은 검증 수행 트랜잭션에 따른 블록을 생성할 수 있으며, 분산원장(10)은 검증 수행 트랜잭션에 따라 생성된 블록을 검증하여 이전에 생성된 블록에 연결할 수 있다.Accordingly, the distributed ledger 10 may generate a block according to the verification blocking transaction, and the distributed ledger 10 may verify the block generated according to the verification blocking transaction and connect it to a previously generated block. In addition, the distributed ledger 10 may generate a block according to a verification execution transaction, and the distributed ledger 10 may verify a block generated according to a verification execution transaction and connect it to a previously generated block.

기관 노드(300)는 분산원장(10)에 등록된 증명 정보에 따라 공개키를 이용하여 복호화된 증명 정보의 검증에 실패하는 경우에, 단말 노드(100)에 검증 실패 신호를 전달하여 단말 노드(100)로부터 공개키를 재 전달받을 수 있고, 기관 노드(300)는 검증 실패 신호가 전달된 횟수가 사전에 설정되는 검증 시도 횟수를 초과하는 경우에, 단말 노드(100)에 대한 차단 신호를 증명 노드(200)에 전달할 수 있다.When the institution node 300 fails to verify the proof information decrypted using the public key according to the proof information registered in the distributed ledger 10, the terminal node 100 transmits a verification failure signal to the terminal node ( 100), and the agency node 300 proves the blocking signal for the terminal node 100 when the number of times the verification failure signal is transmitted exceeds the preset number of verification attempts It can be delivered to node 200.

이에 따라, 증명 노드(200)는 차단 신호에 따라, 단말 노드(100)에 부여된 증명 정보에 대한 검증 수행을 차단하도록 마련되는 검증 차단 트랜잭션을 생성할 수 있다.Accordingly, the proof node 200 may generate a verification block transaction prepared to block verification of the verification information given to the terminal node 100 according to the block signal.

도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 terminal node 100 may generate a command for requesting verification of the user's personal information according to an input from the user.

이에 따라, 증명 노드(200)는 사용자의 개인 정보에 대한 증명을 요청하는 명령에 따라 사용자의 개인 정보에 매칭되도록 증명 정보를 생성할 수 있다.Accordingly, the proof node 200 may generate proof information to match the user's personal information according to a command requesting proof of the user's personal information.

이때, 증명 노드(200)는 증명 정보에 매칭되도록 공개키와 비밀키를 생성할 수 있으며, 증명 노드(200)는 단말 노드(100)에 증명 정보, 공개키 및 비밀키를 부여할 수 있다.At this time, the proof node 200 may generate a public key and a private key to match the proof information, and the proof node 200 may grant the proof information, public key, and private key to the terminal node 100 .

또한, 증명 노드(200)는 증명 정보를 분산원장(10)에 등록할 수 있다. 이를 위해, 증명 노드(200)는 분산원장(10)에 증명 정보를 등록하도록 마련되는 등록 트랜잭션을 생성할 수 있다.In addition, the proof node 200 may register proof information in the distributed ledger 10 . To this end, the proof node 200 may generate a registration transaction provided to register proof information in the distributed ledger 10 .

이에 따라, 분산원장(10)은 등록 트랜잭션에 따른 블록을 생성할 수 있으며, 분산원장(10)은 등록 트랜잭션에 따라 생성된 블록을 검증하여 이전에 생성된 블록에 연결할 수 있다.Accordingly, the distributed ledger 10 may generate a block according to the registration transaction, and the distributed ledger 10 may verify the block generated according to the registration transaction and connect it to a previously generated block.

도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 terminal node 100 may generate a command requesting health information according to an input from a user.

이때, 기관 노드(300)는 건강 정보를 요청하는 명령에 따라 단말 노드(100)로부터 비밀키로 암호화된 증명 정보를 전달받을 수 있다.At this time, the institution node 300 may receive authentication information encrypted with a private key from the terminal node 100 according to a command requesting health information.

이에 따라, 기관 노드(300)는 암호화된 증명 정보를 단말 노드(100)의 공개키로 복호화하여 증명 정보를 추출할 수 있으며, 기관 노드(300)는 분산원장(10)에 등록된 증명 정보에 기초하여 추출된 증명 정보를 검증할 수 있다.Accordingly, the institution node 300 may extract the proof information by decrypting the encrypted proof information with the public key of the terminal node 100, and the institution node 300 may extract the proof information based on the proof information registered in the distributed ledger 10. Thus, the extracted proof information can be verified.

이때, 기관 노드(300)는 분산원장(10)에 등록된 증명 정보에 기초하여 증명 정보를 검증하는 경우에, 증명 정보를 검증하도록 마련되는 검증 트랜잭션을 생성할 수 있고, 기관 노드(300)는 검증 트랜잭션을 생성하는 경우에, 기관 노드(300)를 나타내도록 마련되는 기관 정보를 검증 트랜잭션에 설정하여 검증 트랜잭션을 생성할 수 있다.At this time, when verifying the proof information based on the proof information registered in the distributed ledger 10, the institution node 300 may generate a verification transaction prepared to verify the proof information, and the institution node 300 In the case of generating a verification transaction, the verification transaction may be generated by setting institution information provided to indicate the institution node 300 in the verification transaction.

이에 따라, 분산원장(10)은 검증 트랜잭션에 따른 블록을 생성할 수 있으며, 분산원장(10)은 검증 트랜잭션에 따라 생성된 블록을 검증하여 이전에 생성된 블록에 연결할 수 있다.Accordingly, the distributed ledger 10 may generate a block according to the verification transaction, and the distributed ledger 10 may verify the block generated according to the verification transaction and connect it to a previously generated block.

한편, 기관 노드(300)는 사용자의 건강 정보가 사용자의 증명 정보에 매칭되도록 저장될 수 있으며, 이에 따라, 기관 노드(300)는 검증 결과에 따라 증명 정보에 매칭되는 건강 정보를 단말 노드(100)에 전달할 수 있다.Meanwhile, the institution node 300 may store the user's health information to be matched with the user's proof information. Accordingly, the institution node 300 may store the health information matched with the proof information according to the verification result to the terminal node 100. ) can be passed on.

도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 information management system 1 shown in FIG. 1, the same components as the health information management system 1 of FIG. The same reference numerals are given, and repeated descriptions will be omitted.

건강 정보 관리 방법은 개인 정보에 대한 증명을 요청하는 명령을 생성하는 단계(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 step 660 and a step 670 transmitting the health information to the terminal node.

개인 정보에 대한 증명을 요청하는 명령을 생성하는 단계(600)는 단말 노드(100)가 사용자로부터의 입력에 따라 사용자의 개인 정보에 대한 증명을 요청하는 명령을 생성하는 단계일 수 있다.In step 600 of generating a command for requesting proof of personal information, the terminal node 100 may generate a command for requesting proof of personal information of the user according to an input from the user.

증명 정보, 공개키 및 비밀키를 생성하는 단계(610)는 증명 노드(200)가 사용자의 개인 정보에 대한 증명을 요청하는 명령에 따라 사용자의 개인 정보에 매칭되도록 증명 정보를 생성하고, 증명 정보에 매칭되도록 공개키와 비밀키를 생성하는 단계일 수 있다.In step 610 of generating proof information, a public key, and a private key, the proof node 200 generates proof information to match the user's personal information according to a command requesting proof of the user's personal information, and the proof information It may be a step of generating a public key and a private key to match.

단말 노드에 증명 정보, 공개키 및 비밀키를 부여하는 단계(620)는 증명 노드(200)가 단말 노드(100)에 증명 정보, 공개키 및 비밀키를 부여하는 단계일 수 있다.The step 620 of granting the proof information, public key, and private key to the terminal node may be a step in which the proof node 200 grants the proof information, the public key, and the private key to the terminal node 100 .

증명 정보를 분산원장에 등록하는 단계(630)는 증명 노드(200)가 증명 정보를 분산원장(10)에 등록하는 단계일 수 있다.Step 630 of registering the proof information in the distributed ledger may be a step in which the proof node 200 registers the proof information in the distributed ledger 10 .

건강 정보를 요청하는 명령을 생성하는 단계(640)는 단말 노드(100)가 사용자로부터의 입력에 따라 건강 정보를 요청하는 명령을 생성하는 단계일 수 있다.In step 640 of generating a command for requesting health information, the terminal node 100 may generate a command for requesting health information according to an input from a user.

암호화된 증명 정보를 전달받는 단계(650)는 기관 노드(300)에 사용자의 건강 정보가 사용자의 증명 정보에 매칭되도록 저장되어, 기관 노드(300)가 건강 정보를 요청하는 명령에 따라 단말 노드(100)로부터 비밀키로 암호화된 증명 정보를 전달받는 단계일 수 있다.In the step 650 of receiving the encrypted proof information, the user's health information is stored in the institution node 300 to be matched with the user's proof information, and the terminal node ( 100) may be a step of receiving authentication information encrypted with a private key.

증명 정보를 검증하는 단계(660)는 기관 노드(300)가 암호화된 증명 정보를 공개키로 복호화하여 증명 정보를 추출하며, 분산원장(10)에 등록된 증명 정보에 기초하여 추출된 증명 정보를 검증하는 단계일 수 있다.In step 660 of verifying the proof information, the institution node 300 decrypts the encrypted proof information with a public key to extract the proof information, and verifies the extracted proof information based on the proof information registered in the distributed ledger 10. It may be a step to

건강 정보를 단말 노드에 전달하는 단계(670)는 기관 노드(300)가 검증 결과에 따라 증명 정보에 매칭되는 건강 정보를 단말 노드(100)에 전달하는 단계일 수 있다.The step 670 of transmitting the health information to the terminal node may be a step in which the institution node 300 transmits the health information matched to the verification information to the terminal node 100 according to the verification result.

이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.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.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 탈중앙화된 신원 증명을 이용하는 건강 정보 관리 시스템에서의 건강 정보 관리 방법에 있어서,
단말 노드가 사용자로부터의 입력에 따라 상기 사용자의 개인 정보에 대한 증명을 요청하는 명령을 생성하는 단계;
증명 노드가 상기 사용자의 개인 정보에 대한 증명을 요청하는 명령에 따라 상기 사용자의 개인 정보에 매칭되도록 증명 정보를 생성하고, 상기 증명 정보에 매칭되도록 공개키와 비밀키를 생성하는 단계;
상기 증명 노드가 상기 단말 노드에 상기 증명 정보, 상기 공개키 및 상기 비밀키를 부여하는 단계;
상기 증명 노드가 상기 증명 정보를 분산원장에 등록하는 단계;
상기 단말 노드가 상기 사용자로부터의 입력에 따라 건강 정보를 요청하는 명령을 생성하는 단계;
기관 노드에 상기 사용자의 건강 정보가 상기 사용자의 증명 정보에 매칭되도록 저장되어, 상기 기관 노드가 상기 건강 정보를 요청하는 명령에 따라 상기 단말 노드로부터 상기 비밀키로 암호화된 증명 정보를 전달받는 단계;
상기 기관 노드가 상기 단말 노드로부터 상기 공개키를 전달받아 상기 암호화된 증명 정보를 상기 공개키로 복호화하여 증명 정보를 추출하며, 상기 분산원장에 등록된 증명 정보에 기초하여 추출된 증명 정보를 검증하는 단계; 및
상기 기관 노드가 검증 결과에 따라 상기 증명 정보에 매칭되는 상기 건강 정보를 상기 단말 노드에 전달하는 단계;를 포함하고,
상기 증명 정보를 검증하는 단계에서는,
상기 기관 노드가 상기 분산원장에 등록된 증명 정보에 따라 상기 공개키를 이용하여 복호화된 증명 정보의 검증에 실패하는 경우, 상기 단말 노드에 검증 실패 신호를 전달하여 상기 단말 노드로부터 상기 공개키를 재 전달받고, 상기 검증 실패 신호가 전달된 횟수가 사전에 설정되는 검증 시도 횟수를 초과하는 경우, 상기 단말 노드에 대한 차단 신호를 상기 증명 노드에 전달하고,
상기 건강 정보 관리 방법은,
상기 증명 노드가 상기 차단 신호에 따라 상기 단말 노드에 부여된 상기 증명 정보에 대한 검증 수행을 차단하도록 마련되는 검증 차단 트랜잭션을 생성하는 단계;
상기 증명 노드가 상기 단말 노드로부터 임의의 기간 동안의 상기 증명 정보의 검증에 대한 수행의 차단을 요청하는 명령이 전달되는 경우에, 상기 단말 노드로부터 상기 검증 수행을 차단시키는 기간을 나타내도록 차단 기간 정보를 더 전달받고, 상기 단말 노드에 부여된 상기 증명 정보에 대한 검증 수행을 차단하도록 마련되는 검증 차단 트랜잭션을 생성하며, 상기 차단 기간 정보에 따른 기간이 경과되는 경우, 상기 단말 노드에 부여된 상기 증명 정보에 대한 검증이 수행되도록 마련되는 검증 수행 트랜잭션을 생성하는 단계;
상기 기관 노드가, 상기 분산원장에 등록된 증명 정보에 기초하여 증명 정보를 검증하는 경우, 상기 증명 정보를 검증하도록 마련되는 검증 트랜잭션을 생성하고, 상기 검증 트랜잭션을 생성하는 경우, 상기 기관 노드를 나타내도록 마련되는 기관 정보를 상기 검증 트랜잭션에 설정하여 상기 검증 트랜잭션을 생성하는 단계;
상기 단말 노드가 기 증명 정보에 대해 생성된 하나 이상의 검증 트랜잭션에 마련되는 하나 이상의 기관 정보에 대해, 사용자로부터의 입력에 따라 임의의 기관 정보에 대한 검증 수행의 차단을 요청하는 명령이 생성되는 경우, 상기 기관 정보가 나타내는 기관 노드의 검증 수행을 차단하도록 마련되는 기관 차단 트랜잭션을 생성하는 단계; 및
상기 단말 노드가 상기 임의의 기관 정보에 대한 검증 수행의 차단을 요청하는 명령이 생성되는 과정에서, 상기 사용자로부터 검증 수행을 차단시키는 기간을 나타내도록 차단 기간 정보를 더 입력받고, 상기 기관 차단 트랜잭션이 생성된 이후 상기 차단 기간 정보에 따른 기간이 경과되면 상기 기관 정보가 나타내는 기관 노드에서 상기 증명 정보에 대한 검증이 수행되도록 마련되는 기관 검증 트랜잭션을 생성하는 단계를 더 포함하는, 건강 정보 관리 방법.
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.
KR1020200151097A 2020-11-12 2020-11-12 Health information management system and method using decentralized identification KR102532635B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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