WO2019160167A1 - 복수의 블록체인에 기반을 둔 생명정보 데이터 제공 방법, 생명정보 데이터 저장 방법 및 생명정보 데이터 전송 시스템 - Google Patents

복수의 블록체인에 기반을 둔 생명정보 데이터 제공 방법, 생명정보 데이터 저장 방법 및 생명정보 데이터 전송 시스템 Download PDF

Info

Publication number
WO2019160167A1
WO2019160167A1 PCT/KR2018/001858 KR2018001858W WO2019160167A1 WO 2019160167 A1 WO2019160167 A1 WO 2019160167A1 KR 2018001858 W KR2018001858 W KR 2018001858W WO 2019160167 A1 WO2019160167 A1 WO 2019160167A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
data
user
terminal
blockchain
Prior art date
Application number
PCT/KR2018/001858
Other languages
English (en)
French (fr)
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 PCT/KR2018/001858 priority Critical patent/WO2019160167A1/ko
Publication of WO2019160167A1 publication Critical patent/WO2019160167A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information

Definitions

  • the technology described below relates to a technique for providing life information data using a blockchain.
  • the global population aging and the increase of chronic diseases are accelerating the development of health business such as wellness and healthcare.
  • NGS Next Generation Sequencing
  • Precision Medicine is tailored medicine that takes into account the genetic, environmental, and biological characteristics of an individual (patient) at all stages from diagnosis to treatment. Through precision medicine, it is possible to derive accurate treatments by analyzing big data accumulated in various fields such as not only medical information but also individual (patient) lifestyle and environment.
  • genomic data is genetic information unique to each individual. Therefore, the scale should be expanded through data accumulation. Building big data through sharing genomic data is also very important for precision medicine.
  • Genomic data can include not only precision medicine, but also direct-to-customer (DTC) for general health care, prenatal testing to identify genetic diseases in advance, genetic identification for criminal investigations and paternity, and intestinal microflora.
  • DTC direct-to-customer
  • the treatment of diseases through genome analysis has been used in various fields.
  • genomic data can be used to secure biological resources, develop useful biomaterials, and preserve and restore endangered species.
  • genomic data is expected to increase in importance and utility as research through genomic data is conducted in various fields such as ecology and anthropology as well as biological research and medical field.
  • Genomic data can predict not only the present but also the future of a particular individual and suggest family genetic information of that individual. As a result, privacy breaches and security risks are more serious than any other data.
  • a system must be in place to reliably store dielectric data and flexibly cope with capacity growth and data sharing.
  • the technology described below is intended to provide life information data using a plurality of block-chain technologies.
  • the technology described below is intended to provide a technology for easily sharing life information data while maintaining high security.
  • the user blockchain node stores user block data including user information, a shared key, and a hash key for each user, and the electronic contract blockchain node includes the plurality of user information.
  • a method of storing life information data based on a plurality of blockchains includes storing, by a user blockchain node, user block data including user information, a shared key, and a hash key for each of a plurality of users; Storing life information data generated by a second user by a first user, and storing transmission block data including storage information of the storage server storing the life information data by a data transmission block chain node; It includes.
  • a life information data transmission system based on a plurality of blockchains includes a user blockchain node that stores user block data including user information, a shared key, and a hash key for each of a plurality of users; 2 An electronic contract blockchain node for storing contract block data including contract information for requesting a user to create life information data, a storage server for storing life information data generated by the second user, and storage information for the storage server. It includes a data transport blockchain node for storing the transport block data comprising a. The user block data, the contract block data, and the transport block data are generated by at least one of the first user or the second user.
  • the technology described below provides a transmission system that is difficult to expose bioinformation data or forgery / modulation of genomic data using blockchain technology.
  • the technique described below reduces the network load on large biometric data by separating user authentication and data transmission.
  • the technology described below may track the forgery / modulation and use history of the bioinformation data by managing information on the process of requesting the generation of the bioinformation data and transmitting the bioinformation data.
  • 1 is an example of a dielectric data transmission model.
  • FIG. 7 is an example of a flowchart of a process of providing a life information data providing service.
  • 9 is another example of a user registration to authentication process.
  • 10 is an example of a process of establishing a life information data contract.
  • 11 is another example of a process of establishing a life information data contract.
  • 13 is another example of a process of generating metadata.
  • 15 is another example of a process of delivering life information data.
  • 16 is another example of a process of delivering life information data.
  • 17 is another example of a process of delivering life information data.
  • 19 is another example of a process of sharing life information data with a third party.
  • 20 is an example of a process of renewing a contract.
  • 21 is another example of a process of renewing a contract.
  • 22 is an example of a process of deleting life information data and related data.
  • 23 is another example of a process of deleting life information data and related data.
  • the techniques described below relate to data providing services. Although the following description focuses on life information data, the technology described below may be applied to various data providing services regardless of the type of data.
  • Genomic data refers to data obtained from samples (samples) and organisms (humans, animals, microorganisms, etc.) of a particular user.
  • genomic data may include nucleotide sequences obtained from deoxyribonucleic acid (DNA), ribonucleic acid (RNA), or protein (Protein) from cells, tissues, etc., genetic variation with standard genomic data, DNA methylation, and methylation. ) May be included.
  • genomic data includes sequence information obtained by analyzing a particular sample. Dielectric data is generally represented as digital data. This includes the sequence data obtained through the NGS analysis device.
  • Genomic analysis data or simply analysis data refers to information obtained by analyzing genomic data.
  • the analytical data includes a diagnosis result obtained by analyzing the genomic data, a disease prediction result, a disease risk, a paternity result, a disease treatment means, a new drug substance, and the like.
  • Bioinformation data is meant to include genomic and analytical data derived from living organisms.
  • the bioinformation data includes DNA base sequences, protein amino acid sequences, protein stereostructure data, gene expression information, protein expression data, gene analysis results, and the like.
  • Metadata is data derived from the life information data production process and corresponds to data for further describing or specifying the life information data.
  • metadata for bioinformation data includes data format of genomic data, genomic data production methodology, sequencing device information, sample information, definition of molecular biology technology, yield, accuracy analysis and statistics on data, date of production, etc. can do.
  • a sponsor means a user who requests the production of life information data.
  • Producer means a user who produces bioinformation data.
  • Third party means a user other than the sponsor and producer. The third party may be a user who receives the bioinformation data generated by the producer.
  • the user terminal or terminal is a computer device, and means a client device used by the user.
  • a user means a specific subject such as a person or an institution, but in the system, a user is specified as a user terminal.
  • the computer device refers to a device that analyzes input source data using a computing device such as a CPU or an AP.
  • Computer devices generally include computing devices, memory, input / output devices, communication interface devices, and the like.
  • the computer device may be implemented as a device such as a server, a PC, a tablet PC, a smartphone, or the like.
  • a hash key is a value used to identify a user on a blockchain network.
  • Hashkeys can be generated in a variety of ways. Representative hash key generation algorithms include MD5 and SHA-256. The hash key is the only value present for a particular user. Hash keys are keys that consist of strings of varying lengths.
  • Public keys and encryption keys are keys for encrypting and transmitting data on a blockchain network.
  • Public and cryptographic keys are keys used for so-called public key cryptography.
  • the public key range is a key for encrypting data
  • the encryption key is a key for decrypting encrypted data.
  • the public and encryption keys can be paired with one another and randomly produced using various public key encryption methods (eg, RSA, elliptic curve cryptography, etc.).
  • Blockchain refers to a chain-based distributed data storage environment in which small pieces of data called 'blocks' are managed based on P2P methods.
  • Blockchain network refers to the network components constituting the blockchain.
  • 1 is an example of a dielectric data transmission model. 1 is a model for generating and transmitting genome data among life information data.
  • the sponsor asks the producer for genome sequencing.
  • a sequencing request is a contract between the two.
  • the requestor may request genome sequencing through the user terminal 10, and the producer may accept the sequencing request through the user terminal 20.
  • the contract between the sponsor and the producer is performed through the blockchain.
  • the sponsor delivers the sample under analysis to the producer.
  • the producer generates the dielectric data using the NGS analyzer 25 or the like.
  • the producer may store the information about the genome data generated through the user terminal 20 and the genome data in the block chain in the form of block data.
  • the requester may receive the genome data generated through the blockchain using the user terminal 10.
  • the sponsor or producer may share the genome data with third parties using a blockchain that holds storage information about the genome data.
  • the third party may receive the genome data generated through the user terminal 30.
  • Blockchain networks have two main components. One is a blockchain node and the other is a client. From the user's point of view, a blockchain node acts as a backend for a typical service and a blockchain client acts as a client. When a client initiates a new transaction, the nodes share the transaction through the process of distributing and executing the transaction. The client can check the outcome of the transaction.
  • user terminals 10, 20, and 30 correspond to clients.
  • a blockchain node corresponds to a separate node (terminal, server, etc.) connected to a network.
  • 2 is an example of a genome analysis data transmission model. 2 is a model for generating and transmitting analysis data of life information data.
  • the sponsor asks the producer to analyze the genome data.
  • a request for analysis is a contract between the two.
  • the requester requests the genome data analysis through the user terminals 10 and 20, and the producer may accept the sequencing request through the user terminal 40.
  • the requestor may be the requestor of FIG. 1, the producer of FIG. 1, or the sharer of FIG. 1.
  • the contract between the sponsor and the producer is performed through the blockchain.
  • the sponsor delivers the genome data to be analyzed to the producer through the user terminal (10, 20, 30).
  • Producers generate analytical data through biological experiments or analysis using software.
  • the producer may store the analysis data and the analysis data generated through the terminal 40 in the block chain in the form of block data.
  • the requester may receive analysis data generated through the blockchain using the user terminals 10, 20, and 30.
  • the sponsor or producer may share the analysis data with third parties using a blockchain that holds storage information about the analysis data.
  • the third party may receive analysis data from the blockchain using the user terminal 50.
  • the life information data transmission system 100 includes a user terminal 110, a blockchain 130, and a storage server 140.
  • the user terminal 110 includes a user terminal 111 used by a client, a user terminal 112 used by a producer, and a user terminal 113 used by a sharer.
  • the user terminal 211 is shown in the area A
  • the user terminal 212 is shown in the area B
  • the user terminal 213 is shown in the area C.
  • Each area may have at least one user terminal.
  • the user terminal 113 used by the third party is not an essential component of the system.
  • FIG. 3 shows all five blockchains 131 to 135.
  • One blockchain is composed of a plurality of blockchain nodes. The five blockchains are shown below.
  • the user information blockchain 131 holds user related information.
  • the user information blockchain stores hash keys for users and personal information about users.
  • the personal information may include information such as a user's identifier, name, gender, institution, date of birth, and the like.
  • User block data includes personal information encrypted using a particular public key.
  • the electronic contract blockchain 132 holds contract information between users.
  • the user information blockchain holds hash keys and contract information (request details) of users participating as contractors.
  • the contract information may include information about the source data, an analysis method, an analysis apparatus, an analysis date, a source data retention period, a data processing method at the end of the contract, sharer information, and the like.
  • the contract block data includes contract information encrypted with a specific public key.
  • Metadata block data includes metadata encrypted with a particular public key. Metadata may include data format, production method, sequencing information, sample information, definition of molecular biology description, yield, reliability of data, date of production, and the like.
  • the data transmission blockchain 134 holds hash information of two users participating in data transmission and reception and transmission information on a life information data file to be transmitted.
  • the transmission information is information necessary for data transmission.
  • the transmission information may include a file size, file name, file location, verification key, and the like.
  • the transport block data includes transmission information encrypted with a specific public key.
  • the data storage blockchain 135 holds hash information of two users who participate in data transmission and reception and storage information of life information data located in a storage server.
  • the storage information is information about life information data stored in the storage servers 141 and 142.
  • the storage server may include an identifier of a storage server, a location at which life information data is stored in a storage medium of the storage server, a file size, file split information, a verification key, and the like.
  • the vital information data is stored in a storage server encrypted with a specific public key.
  • the storage block data may basically store the storage information in an unencrypted state.
  • the storage server 140 stores life information data.
  • the storage server may store life information data in various forms. Like general servers, life information data can be stored as it is.
  • the storage server may be one single server.
  • the storage server may include a plurality of servers 141, 142,...
  • life information data may be distributed and stored.
  • one server main storage server
  • one server sub storage server
  • the plurality of storage servers or the plurality of sub-storage servers may be nodes constituting the block chain, and the plurality of storage servers may configure the data storage block chain.
  • the life information data transmission system 200 is another example of the life information data transmission system 200.
  • the system 200 of FIG. 4 basically includes the same configuration as the system 100 of FIG. However, the system 200 of FIG. 4 includes a registration server 220 that manages each blockchain.
  • the life information data transmission system 200 includes a user terminal 210, a registration server 220, and a blockchain 230.
  • the user terminal 210 includes a user terminal 211 used by a client, a user terminal 212 used by a producer, and a user terminal 213 used by a third party.
  • the user terminal 211 is shown in the area A
  • the user terminal 212 is shown in the area B
  • the user terminal 213 is shown in the area C.
  • Each area may have at least one user terminal.
  • the user terminal 213 used by the third party is not an essential component of the system.
  • One blockchain is composed of a plurality of blockchain nodes.
  • one blockchain is connected to one registration server.
  • Each registration server may generate block data stored in each block chain, and may register (store) the generated block data.
  • the system or individual user can check the forgery / falsification of the data by comparing the reference block data stored in the blockchain and the block data stored in the registration server.
  • the five blockchains are as described in FIG.
  • a registration server exists for each blockchain.
  • the five registration servers 220 are a user registration server 221, an electronic contract registration server 222, a metadata registration server 223, a data transfer registration server 224, and a data storage registration server 225.
  • the user registration server 221 generates user block data and stores the hash key and the user information in the user information blockchain 231.
  • the electronic contract registration server 222 generates contract block data and stores the hash key and contract information in the electronic contract block chain 132.
  • the metadata registration server 223 generates metadata and stores the hash key and the metadata in the metadata blockchain 234.
  • the data transmission registration server 224 generates the transmission information and stores the hash key and the transmission information in the data transmission blockchain 234.
  • the data storage registration server 225 generates storage information and stores the hash key and the storage information in the data storage blockchain 235.
  • the system 200 may include one registration server, two registration servers to five registration servers. In this case, the number of registration servers does not mean a single physical device, but a classification according to a function (type of blockchain to be managed).
  • the storage server stores life information data.
  • the storage server may store life information data in various forms. Like general servers, life information data can be stored as it is.
  • the storage server may be one single server.
  • the storage server may include a plurality of servers.
  • life information data may be distributed and stored.
  • one server main storage server
  • one server sub storage server
  • the plurality of storage servers or the plurality of sub-storage servers may be nodes constituting the block chain, and the plurality of storage servers may configure the data storage block chain.
  • FIG. 5 is another example of the life information data transmission system 200.
  • the system 200 of FIG. 5 is almost identical to the system 200 of FIG. 4.
  • one registration server 229 registers block data and manages a blockchain.
  • the registration server 229 corresponds to an integrated management server.
  • the rest of the operation is the same as the system 200 of FIG.
  • a plurality of registration servers may create and manage one or more blockchains.
  • one registration server may create and manage a data storage blockchain and a data transmission blockchain
  • another registration server may create and manage the other blockchain. How many registration servers are used in the system 200 is an implementation problem.
  • the registration server is used to mean a server having different functions described with reference to FIG. 4 or an integrated management server described with reference to FIG. 5.
  • the system 200 of FIG. 6 is another example of the life information data transmission system 200.
  • the system 200 of FIG. 6 is almost identical to the system 200 of FIG. 5.
  • the system 200 of FIG. 6 does not include a data storage blockchain.
  • the system 200 of FIG. 6 is an example in which life information data is not stored in a blockchain form, but is stored in a general storage server.
  • the transmission information held by the data transmission blockchain may include an identifier of the storage server, a location where the life information data is stored in the storage medium of the storage server, a file name, a file size, file split information, a verification key, and the like. That is, the transmission information includes information necessary for a user to access life information data stored in the storage servers 241, 242,...
  • 7 is an example of a flowchart of a process 300 in which a life information data providing service is performed. 7 is a schematic example of a process 300 in which a life information data providing service is performed.
  • the user must register the user information in the system (310).
  • the user inputs user information using the user terminal.
  • the user terminals 111, 112, and 113 may generate user block data by using user information, an encryption key, and the like, and store the user block data in the user information blockchain 231.
  • the registration server 221 or 229 may generate user block data using the input user information and store the user block data in the user information blockchain 231.
  • the user may receive user authentication using the generated user information blockchain 231. For example, only authenticated users may proceed with the subsequent processes (contract creation, life information data transmission, etc.).
  • a contract must be created between the sponsor and the producer in order to receive bioinformation data.
  • the user terminals 111, 112, and 113 may generate contract block data and store the contract block data in the electronic contract blockchain 232.
  • the registration server 222 or 229 may generate contract block data using the contract information input by the client and the signature of the producer, and store the contract block data in the electronic contract blockchain 232. Through this, a life information data providing contract is generated (320).
  • the producer generates life information data (350).
  • the user terminal 112 may generate life information data and store the metadata in the metadata blockchain 233.
  • the user terminal 112 may transmit metadata about the generated life information data to the registration server 223 or 229.
  • the registration server 223 or 229 may generate metadata block data for the received metadata and store the metadata block data in the metadata blockchain 233.
  • generating and storing metadata about life information data is not an essential process.
  • Life information data generated by the producer is stored in the storage server (340).
  • the plurality of storage servers may store life information data in a blockchain form.
  • the user terminal 112 may configure the blockchain by transferring the generated life information data to the storage server.
  • the registration server 225 or 229 may generate the storage block data using the life information data and store the data in the data storage block chain 235.
  • Life information data should be transmitted to the sponsor (350).
  • the user terminal 112 may generate the transport block data including the storage information and store the data in the data transport blockchain 234.
  • the registration server 224 or 229 may generate the transport block data using the stored information, and store the transport block data in the data transport blockchain 234.
  • the sponsor may receive the life information data through the data transmission blockchain 234 (350).
  • the system then monitors 360 whether the contract termination or contract content has changed.
  • the registration server 222 or 229 updates the changed contract contents as necessary.
  • the stored data may be deleted according to the contract content, or the life information data may be shared with a third party (370).
  • the life information data transmission process described below includes (i) an example of operating without the involvement of the registration server, (ii) an example of involving the registration server, and (iii) some operations without the involvement of the registration server and some operations involving the registration server. It may be implemented in various forms such as a combined example.
  • 8 is an example of a user registration to authentication process 400. 8 is an example in which the system 100 of FIG. 3 operates. 8 shows both a user registration process and a user authentication process.
  • a terminal means a user terminal 111, 112, or 113.
  • a user must first register a user in the system in order to request creation of life information data, store and transmit life information data, and share life information data.
  • the user terminal may generate a user public key Pu k and an encryption key P k (401).
  • the public key is used to encrypt certain data (user personal information, electronic contract, life information data, etc.), and the encryption key is used to decrypt the data.
  • the user terminal 111, 112, or 113 generates a hash key H k based on its user information PI (411).
  • the algorithm or hash function for generating the hash key may vary.
  • Hash key (H k ) is used as an identifier for the user (terminal) that generated the current hash key.
  • the hash key H k corresponds to unique user-specific information.
  • the user terminal 111, 112, or 113 may transmit its user information PI to a separate server to receive a hash key from the server.
  • the user terminal 111, 112, or 113 stores the user public key Pu k , the encryption key Pr k , and the hash key H k in a storage medium (412).
  • the user terminal 111, 112, or 113 generates the encrypted user information PI ′ by encrypting the user information PI using the user public key Pu k (421).
  • the user terminal 111, 112, or 113 combines the encrypted user information PI ′, the user public key Pu k , and the hash key H k to generate user block data (431).
  • the user terminal 111, 112, or 113 transmits the generated user block data to the user registration server 221 (432).
  • the user information blockchain 231 registers user block data including the encrypted user information PI ', the user public key Pu k , and the hash key H k (433). Steps 401 to 433 described above correspond to a user information registration process.
  • User authentication may be required at certain stages or at each stage of the bioinformation data providing service. Only users who have been authenticated through user authentication can proceed to the next step. If the user succeeds in authenticating, the user may obtain information on another user (public key, encryption key, hash key, etc.) through the user information blockchain 131.
  • a user who requires authentication inputs his hash key H k to the user terminal 111, 112, or 113 (441).
  • the input hash key H k is transmitted to the user information blockchain 231 (442).
  • the user information blockchain 131 inquires the public key Pu k of the corresponding user based on the input hash key H k (451).
  • the user information blockchain 131 generates an authentication token and encrypts the authentication token with the public key Pu k of the user (461).
  • the user information blockchain 131 transmits the encrypted authentication token to the user terminal 111, 112, or 113 having the corresponding hash key based on the hash key H k (462).
  • the user terminal 211, 212 or 213 decrypts and stores the received authentication token (471). Thereafter, the user terminal 211, 212, or 213 may use the authentication token in the process of communicating with the blockchain.
  • Blockchains that require authentication can provide specific data only to user terminals that deliver valid authentication tokens.
  • 9 is another example of a user registration to authentication process 500. 9 is an example in which the system 200 of FIG. 4 or 5 operates. 9 shows both a user registration process and a user authentication process.
  • a terminal means a user terminal 211, 212, or 213.
  • a user must first register a user in the system in order to request the production of life information data, to store or transmit the life information data, or to share the life information data.
  • the user terminal may generate a user public key Pu k and an encryption key P k (S501).
  • the public key is used to encrypt certain data (user personal information, electronic contract, genome data, life information data, etc.), and the encryption key is used to decrypt the data.
  • the user registration server 221 may generate a hash key.
  • the user terminal 211, 212, or 213 transmits its shared key Pu k together with its user information PI to the user registration server 221 (502).
  • the user registration server 221 generates a hash key H k for the user who requested to generate the hash based on the user information PI (511).
  • the hash key H k is used as an identifier for the user (terminal) who has requested the current hash key.
  • the hash key H k corresponds to unique user-specific information.
  • the user registration server 221 generates the hash key H k by inputting the input user information PI into a predetermined hash function.
  • the algorithm or hash function for generating the hash key may vary.
  • the user registration server 221 transfers the generated hash key H k to the user terminal 211, 212, or 213 that requested the hash key (512).
  • the user terminal 211, 212, or 213 requesting the hash key stores the user public key Pu k , the encryption key Pr k , and the hash key H k in the storage medium (513).
  • the user registration server 221 generates the encrypted user information PI 'by encrypting the user information PI using the user public key Pu k (521).
  • the user registration server 221 generates user block data by combining the encrypted user information PI ′, the user public key Pu k , and the hash key H k (522).
  • the user registration server 221 registers the generated user block data (522).
  • the user registration server 221 transfers the generated user block data to the user information block chain 231 (531).
  • the user information blockchain 231 registers user block data including the encrypted user information PI ', the user public key Pu k , and the hash key H k (532). Steps 501 to 532 described above correspond to a user information registration process.
  • the user or another object compares the reference block data stored in the user information blockchain 231 with the same block data registered in the user registration server 221 to determine whether the user information has been changed. You can check it.
  • User authentication may be required at certain stages or at each stage of the bioinformation data providing service. Only users who have been authenticated through user authentication can proceed to the next step. If the user succeeds in authenticating, the user may obtain information on another user (public key, encryption key, hash key, etc.) through the user information blockchain 231.
  • a user who requires authentication inputs his hash key H k to the user terminal 211, 212 or 213 (551).
  • the input hash key H k is transmitted to the user information blockchain 231 (552).
  • the user information blockchain 231 inquires the public key Pu k of the corresponding user based on the input hash key H k (561).
  • the user information blockchain 231 generates an authentication token and encrypts the authentication token with the public key Pu k of the user (571).
  • the user information blockchain 231 transmits the encrypted authentication token to the user terminal 211, 212, or 213 having the corresponding hash key based on the hash key H k (572).
  • the user terminal 211, 212 or 213 decrypts and stores the received authentication token (581). Thereafter, the user terminal 211, 212, or 213 may use the authentication token in the process of communicating with the blockchain.
  • Blockchains that require authentication can provide specific data only to user terminals that deliver valid authentication tokens.
  • 10 is an example of a process 600 in which a life information data contract is established.
  • 10 is an example in which the system 100 of FIG. 3 operates.
  • 10 is an example of a contract for a request for producing bioinformation data between a client and a producer.
  • the terminal 111 corresponding to the client among the user terminals is denoted as the first terminal 111
  • the terminal 112 corresponding to the producer among the user terminals is denoted as the second terminal 112. It is assumed that the first terminal 111 and the second terminal 112 have registered user information in advance.
  • the first terminal 111 performs user authentication using the user information blockchain 131. Upon successful authentication, the first terminal 111 inquires the producer in the user information blockchain 131 based on the information about the producer (user information) (601). The first terminal 111 receives the public key P2u k and the hash key H2 k for the producer from the user information blockchain 131 (602).
  • the first terminal 111 inputs request information (611).
  • the requested information means various information for generating life information data.
  • the request information may include at least one of genome sample information, bio information data information, library information for sequencing a sequence, an analysis date, an analysis method, an analysis device condition, and a requester information.
  • the first terminal 111 encrypts the requested information with the public key P2u k (612).
  • the first terminal 111 generates an electronic contract data block containing the requested information, the hash key (H2 k) and encrypting (621).
  • the first terminal 111 transfers the generated electronic contract block data to the electronic contract block chain 132 (622).
  • Electronic contract block chain 132 registers the encrypted request information and hash key data block containing electronic contract (H2 k) (623).
  • Electronic contract block chain 132 is a hash key and transmits the second electronic contract data block containing the requested information to the terminal 112 based on the (H2 k) (624).
  • the second terminal 112 decrypts the request information included in the block data with its encryption key (631).
  • the second terminal 112 may perform identity authentication through the user information blockchain 131 (632). If the authentication is successful, the second terminal 112 may query and receive the requester's public key P1 u k and the hash key H1 k from the user information blockchain 131 (632). Meanwhile, the request information may include the requester's public key P1 u k and a hash key H1 k in advance. Even in the latter case, if the second terminal 112 succeeds in authenticating the identity, it may proceed to the step of performing the signature.
  • the producer checks the request information decrypted with the encryption key symmetric to the client public key and signs the electronic contract (633).
  • the signature corresponds to user authentication information for the producer and proof of transaction approval.
  • the second terminal 112 encrypts (i) the request information or (ii) the dependency information and the signature with the requestor public key P1u k (633).
  • the final electronic contract may include the client hash key (H1 k ), the producer hash key (H2 k ), the request information encrypted with the client public key (P1u k ), and the producer's signature key.
  • the second terminal 112 generates electronic contract block data including the client hash key (H1 k ), the producer hash key (H2 k ), the request information encrypted with the client public key (P1 u k ), and the producer's signature key. (641).
  • the second terminal 112 transmits the electronic contract block data to the electronic contract blockchain 132 (642).
  • the electronic contract blockchain 132 registers the electronic contract block data (643).
  • the user or another object compares the reference block data stored in the electronic contract blockchain 132 with the same block data registered in the electronic contract registration server 122 to change the electronic contract. You can check if
  • the electronic contract blockchain 132 may transmit the electronic contract to the first terminal 111 based on the client hash key H1 k (644).
  • the first terminal 111 decrypts the request information / signature with its own encryption key in the received electronic contract (651).
  • the producer can create block data without a signature proving approval of the transaction.
  • the sponsor can confirm the failure of the contract by checking the electronic contract without a signature.
  • 11 is another example of a process 700 in which a bioinformation data contract is established.
  • 11 is an example in which the system 200 of FIG. 4 or 5 operates.
  • 11 is an example of a life information data generation request contract between a client and a producer.
  • a terminal 211 corresponding to a client among user terminals is denoted as a first terminal 211
  • a terminal 212 corresponding to a producer among user terminals is denoted as a second terminal 212. It is assumed that the first terminal 211 and the second terminal 212 have registered user information in advance.
  • the first terminal 211 performs user authentication using the user information blockchain 231. Upon successful authentication, the first terminal 211 inquires the producer in the user information blockchain 231 based on the information on the producer (user information) (701). The first terminal 211 receives the public key P2u k and the hash key H2 k for the producer from the user information blockchain 231 (702).
  • the first terminal 211 inputs request information (711).
  • the requested information means various information for generating life information data.
  • the request information may include at least one of genomic sample information, genomic data information, library information for sequencing a sequence, an analysis date, an analysis method, an analysis device condition, and a requester information.
  • the first terminal 211 encrypts the requested information with the public key P2u k (712).
  • the first terminal 211 transmits a key hash (H2 k) and the encrypted request information to the electronic contract registration server 222 (713).
  • Electronic contract registration server 222 generates an electronic contract data block containing the requested information, the hash key (H2 k) and encrypting (721). The electronic contract registration server 222 registers the generated electronic contract block data (721).
  • the electronic contract registration server 222 transfers the generated electronic contract block data to the electronic contract block chain 232 (722).
  • Electronic contract block chain 232 registers the encrypted request information and hash key data block containing electronic contract (H2 k) (723).
  • the request information can be confirmed whether the forgery / forgery.
  • the user or another object (server in the system or external server for forgery verification) compares the reference block data stored in the electronic contract blockchain 232 with the same block data registered in the electronic contract registration server 222, and the request information is changed. You can check if
  • the electronic contract block chain 232 transmits the electronic contract block data including the request information to the second terminal 212 based on the hash key H2 k (724).
  • the second terminal 212 decodes the request information included in the block data with its encryption key (731).
  • the second terminal 212 may perform identity authentication through the user information blockchain 231 (732). If the authentication is successful, the second terminal 212 may query and receive the requester's public key P1 u k and hash key H1 k from the user information blockchain 231 (732). Meanwhile, the request information may include the requester's public key P1 u k and a hash key H1 k in advance. Even in the latter case, when the second terminal 212 succeeds in authenticating the identity, the second terminal 212 may proceed to the step of performing the signature.
  • the producer verifies the request information decrypted with the encryption key symmetric to the client public key and signs the electronic contract (733).
  • the signature corresponds to user authentication information for the producer and proof of transaction approval.
  • the second terminal 212 may generate a block including request information, a signature, and a hash key.
  • the second terminal 212 encrypts (i) the request information or (ii) the dependency information and the signature with the requestor public key P1u k (733).
  • the final electronic contract may include the client hash key (H1 k ), the producer hash key (H2 k ), the request information encrypted with the client public key (P1u k ), and the producer's signature key.
  • the producer sends out a signed electronic contract and generates biometric data.
  • the second terminal 212 transmits the generated electronic contract to the electronic contract registration server 222 (741).
  • the electronic contract registration server 222 generates electronic contract block data including the client hash key (H1 k ), the producer hash key (H2 k ), the request information encrypted with the client public key (P1u k ), and the producer's signature key. (742).
  • the electronic contract registration server 222 registers the generated electronic contract block data (742).
  • the block data generating the electronic contract block data is transferred to the electronic contract block chain 232 (743).
  • the electronic contract blockchain 232 registers the electronic contract block data (744).
  • the user or another object compares the reference block data stored in the electronic contract blockchain 232 with the same block data registered in the electronic contract registration server 222 to change the electronic contract. You can check if
  • the electronic contract blockchain 232 may transmit the electronic contract to the first terminal 211 based on the client hash key H1 k (745).
  • the first terminal 211 may verify the contract contents and the approval contents by decoding the request information / signature with its encryption key in the received electronic contract (751).
  • the producer can create block data without a signature proving approval of the transaction.
  • the sponsor can confirm the failure of the contract by checking the electronic contract without a signature.
  • 12 is an example of a process of generating metadata. 12 is an example in which the system 100 of FIG. 3 operates.
  • the terminal 111 corresponding to the client among the user terminals is denoted as the first terminal 111
  • the terminal 112 corresponding to the producer among the user terminals is denoted as the second terminal 112. It is assumed that the first terminal 111 and the second terminal 112 have registered user information in advance.
  • the second terminal 112 performs user authentication using the user information blockchain 131. Upon successful authentication, the first terminal 112 inquires the requester in the user information blockchain 131 based on the information (user information) for the requestor (801). The second terminal 112 receives the client's public key P1 u k and a hash key H1 k from the user information blockchain 131 (802).
  • the second terminal 212 generates life information data (811).
  • the second terminal 112 encrypts the life information data using the client public key P1 u k (812).
  • the second terminal 112 generates metadata block data including the hash key H1 k and the encrypted life information data (821).
  • the second terminal 112 transmits the generated metadata block data to the metadata blockchain 133 (822).
  • the metadata blockchain 133 configures the blockchain by registering the received metadata block data (831).
  • the metadata may be automatically transmitted to the first terminal 211.
  • the first terminal 111 may receive encrypted metadata from the metadata blockchain 133 (842).
  • the first terminal 111 may decrypt the metadata with its encryption key.
  • 13 is another example of a process of generating metadata. 13 is an example in which the system 200 of FIG. 4 or 5 operates.
  • a terminal 211 corresponding to a client among user terminals is denoted as a first terminal 211
  • a terminal 212 corresponding to a producer among user terminals is denoted as a second terminal 212. It is assumed that the first terminal 211 and the second terminal 212 have registered user information in advance.
  • the second terminal 212 performs user authentication using the user information blockchain 231. Upon successful authentication, the first terminal 212 inquires the requester in the user information blockchain 231 based on the information (user information) for the requester (901). The second terminal 212 receives the requester's public key P1 u k and a hash key H1 k from the user information blockchain 231 (902).
  • the second terminal 212 generates life information data (911).
  • the second terminal 212 encrypts the life information data using the client public key P1 u k (912).
  • the second terminal 212 transmits the hash key H1 k and the encrypted life information data to the metadata registration server 223 (913).
  • the metadata registration server 223 generates metadata block data including the hash key H1 k and the encrypted life information data (921).
  • the metadata registration server 223 registers the generated metadata block data (921).
  • the metadata registration server 223 transfers the generated metadata block data to the metadata blockchain 233 (922).
  • the metadata blockchain 233 registers the received metadata block data to construct a blockchain (931).
  • the user or other object compares the reference block data stored in the metadata blockchain 233 with the same block data registered in the metadata registration server 223 to change the metadata. You can check if
  • the metadata may be automatically transmitted to the first terminal 211.
  • the first terminal 211 may receive encrypted metadata from the metadata blockchain 233 (942).
  • the first terminal 211 can verify the metadata by decrypting it with its encryption key (943).
  • 14 is an example of a process of delivering life information data.
  • 14 is an example in which a system similar to the system 100 of FIG. 3 operates.
  • 14 is an example of using a general storage server that simply stores data without using a data storage blockchain.
  • a terminal 111 corresponding to a client among user terminals is denoted as a first terminal 111
  • a terminal 112 corresponding to a producer among user terminals is denoted as a second terminal 112. It is assumed that the first terminal 111 and the second terminal 112 have registered user information in advance.
  • the process of FIG. 14 assumes that the first terminal 111 and the second terminal 112 authenticate themselves through the user information blockchain 131 and receive information (public key and hash key) for the other terminal, respectively. do.
  • the second terminal 112 generates life information data (1001).
  • the second terminal is in a state of knowing the public key P1 u k and the hash key H1 k of the client.
  • the second terminal 112 encrypts the life information data with the requester's public key P1 u k and transmits the encrypted life information data to the storage servers 141 and 142 (1002).
  • the second terminal 112 may store encrypted life information data in one storage server 141 or 142 (1011).
  • the second terminal 212 may distribute and store the encrypted life information data in the plurality of storage servers 141 and 142 (1011).
  • the storage servers 141 and 142 inform the second terminal 112 of the stored information after storing the life information data (1012).
  • the storage information may include at least one of an identifier of a storage server, a location where the life information data is stored in the storage medium, a verification key, a file size, and file division information.
  • steps 1001 to 1012 correspond to the life information data storing step.
  • the second terminal 112 encrypts the stored information with the client's public key P1 u k (1021).
  • the second terminal 112 may generate transport block data including the client's hash key H1 k and encrypted stored information (1031).
  • the second terminal 112 may generate transport block data including a hash key H1 k of the requestor, a hash key H2 k of the producer, and encrypted stored information (1031).
  • the second terminal 112 transmits the generated transport block data to the data transport blockchain 134 (1032).
  • the data transport blockchain 134 registers transport block data to form a blockchain (1033).
  • the user or other object compares the reference block data stored in the data transmission blockchain 134 with the same block data registered in the data transmission registration server 124, and the stored information is changed. You can check if
  • the data transmission blockchain 134 may transmit encrypted storage information to the first terminal 111 based on the client hash key H1 k (1034).
  • the first terminal 111 verifies the stored information by decrypting the encrypted stored information with its own encryption key (1041).
  • the first terminal 111 requests life information data from the storage servers 141 and 142 in which the life information data is stored according to the storage information, and receives the life information data from the corresponding storage server (1042). At this time, the life information data transmitted is encrypted.
  • the first terminal 111 confirms the life information data by decoding the life information data with its encryption key (1043).
  • 15 is another example of a process of delivering life information data.
  • 15 is an example in which a system similar to the system 200 of FIG. 6 operates.
  • 15 is an example of using a general storage server that simply stores data without using a data storage blockchain.
  • the terminal 211 corresponding to the client among the user terminals is denoted as the first terminal 211
  • the terminal 212 corresponding to the producer among the user terminals is denoted as the second terminal 212. It is assumed that the first terminal 211 and the second terminal 212 have registered user information in advance.
  • the process of FIG. 15 assumes that the first terminal 211 and the second terminal 212 authenticate themselves through the user information blockchain 231 and receive information (public key and hash key) for the other terminal, respectively. do.
  • the second terminal 212 generates life information data (1101).
  • the second terminal is in a state of knowing the public key P1 u k and the hash key H1 k of the client.
  • the second terminal 212 encrypts the life information data with the requester's public key P1 u k , and transmits the encrypted life information data to the storage servers 241 and 242 (1102).
  • the second terminal 212 may store encrypted life information data in one storage server 241 or 242 (1111). Alternatively, the second terminal 212 may distribute and store the encrypted life information data in the plurality of storage servers 241 and 242 (1111).
  • the storage servers 241 and 242 notify the second terminal 212 of the stored information after storing the life information data (1112).
  • the storage information may include at least one of an identifier of a storage server, a location where the life information data is stored in the storage medium, a verification key, a file size, and file division information. 15 through 1101 to 1112 correspond to the life information data storing step.
  • the second terminal 212 encrypts the stored information with the client's public key P1 u k (1121).
  • the second terminal 212 may transmit the client's hash key H1 k and the encrypted stored information to the data transfer registration server 224 (1122).
  • the second terminal 212 may transmit the client's hash key H1 k , the producer's hash key H2 k , and the encrypted stored information to the data transfer registration server 224 (1122).
  • the data transmission registration server 224 generates the transmission block data including the received hash key and encrypted storage information (1131).
  • the data transfer registration server 224 registers the generated transport block data (1131).
  • the data transmission registration server 224 transmits the generated transport block data to the data transmission block chain 234 (1132).
  • the data transport blockchain 234 registers transport block data to form a blockchain (1133).
  • the user or other object compares the reference block data stored in the data transmission blockchain 234 with the same block data registered in the data transmission registration server 224, and the stored information is changed. You can check if
  • the data transmission blockchain 234 may transmit encrypted storage information to the first terminal 211 based on the client hash key H1 k (1134).
  • the first terminal 211 verifies the stored information by decrypting the encrypted stored information with its own encryption key (1141).
  • the first terminal 211 requests life information data from the storage servers 241 and 242 in which the life information data is stored according to the storage information, and receives the life information data from the corresponding storage server (1142). At this time, the life information data transmitted is encrypted.
  • the first terminal 211 verifies the life information data by decoding the life information data with its encryption key (1143).
  • FIG. 16 is another example of a process of delivering life information data.
  • FIG. 16 is an example in which the system 100 of FIG. 3 operates.
  • the terminal 111 corresponding to the client among the user terminals is denoted as the first terminal 111
  • the terminal 112 corresponding to the producer among the user terminals is denoted as the second terminal 112. It is assumed that the first terminal 111 and the second terminal 112 have registered user information in advance.
  • 16 illustrates a case where a plurality of storage servers hold life information data in a blockchain form.
  • the second terminal 112 generates life information data (1201).
  • the second terminal is in a state of knowing the public key P1 u k and the hash key H1 k of the client.
  • the second terminal 112 encrypts the life information data with the client's public key P1 u k , and transmits the encrypted life information data to the storage servers 141 and 142 (1211).
  • the second terminal 212 may transmit its hash key H2 k to the storage servers 141 and 142.
  • the storage servers 141 and 142 store the hash key H2 k and the encrypted life information data (1222).
  • the plurality of storage servers 141 and 142 may divide and store life information data.
  • One server (main storage server) of the plurality of storage servers may store the generated life information data as it is, and the other server (sub storage server) may distribute (split) and store the life information data.
  • the plurality of storage servers or the plurality of sub-storage servers may be nodes constituting the block chain, and the plurality of storage servers may configure the data storage block chain.
  • the storage servers 141 and 142 transfer the storage information to the data storage blockchain 135 in blocks (1231).
  • the data storage blockchain 135 registers storage block data to construct a blockchain (1232).
  • the storage servers 141 and 142 may be nodes constituting the data storage blockchain 135. Alternatively, the data storage blockchain 135 may be configured using a separate server.
  • the data storage blockchain 135 transmits the block data including the storage information to the second terminal 112 based on the hash key H2 k (1233).
  • the storage information may include at least one of an identifier of a storage server, a location where the life information data is stored in the storage medium, a verification key, a file size, and file division information.
  • steps 1201 to 1233 correspond to the life information data storing step.
  • the second terminal 112 encrypts the stored information with the requester's public key P1 u k (1251).
  • the second terminal 112 may generate the transport block data including the client's hash key H1 k and encrypted stored information (1261).
  • the second terminal 212 may generate transport block data including the hash key H1 k of the requestor, the hash key H2 k of the producer, and encrypted stored information (1261).
  • the second terminal 112 transmits the generated transport block data to the data transport blockchain 134 (1262).
  • the data transport blockchain 234 registers transport block data to form a blockchain (1263).
  • the data transmission blockchain 134 may transmit encrypted storage information to the first terminal 111 based on the client hash key H1 k (1264).
  • the first terminal 111 decrypts the encrypted stored information with its own encryption key and checks the stored information (1271).
  • the first terminal 111 requests the life information data from the storage servers 141 and 142 where the life information data is stored according to the storage information, and receives the life information data from the corresponding storage server (1272). At this time, the life information data transmitted is encrypted.
  • the first terminal 111 confirms the life information data by decoding the life information data with its encryption key (1281).
  • 17 is another example of a process of delivering life information data.
  • 17 is an example in which the system 200 of FIG. 4 or 5 operates.
  • a terminal 211 corresponding to a client among user terminals is denoted as a first terminal 211
  • a terminal 212 corresponding to a producer among user terminals is denoted as a second terminal 212. It is assumed that the first terminal 211 and the second terminal 212 have registered user information in advance.
  • 17 illustrates a case where a plurality of storage servers hold life information data in a blockchain form.
  • the second terminal 212 generates life information data (1301).
  • the second terminal is in a state of knowing the public key P1 u k and the hash key H1 k of the client.
  • the second terminal 212 encrypts the life information data with the requester's public key P1 u k , and transmits the encrypted life information data to the information storage registration server 225 (1311).
  • the second terminal 212 may transmit its hash key H2 k to the information storage registration server 225.
  • the information storage registration server 225 transmits the hash key H2 k and the vital information data to the storage servers 241 and 242 (1321).
  • the plurality of storage servers 241 and 242 may divide and store life information data (1322).
  • One server (main storage server) of the plurality of storage servers may store the generated life information data as it is, and the other server (sub storage server) may distribute (split) and store the life information data.
  • the plurality of storage servers or the plurality of sub-storage servers may be nodes constituting the block chain, and the plurality of storage servers may configure the data storage block chain.
  • the storage servers 241 and 242 transmit the storage information to the data storage blockchain 235 in blocks (1331).
  • the data storage blockchain 235 configures the blockchain by registering the storage block data (1332).
  • the storage servers 241 and 242 may be nodes constituting the data storage blockchain 235. Alternatively, the data storage blockchain 235 may be configured using a separate server.
  • the data storage blockchain 235 transmits block data including the storage information to the second terminal 212 based on the hash key H2 k (1333).
  • the storage information may include at least one of an identifier of a storage server, a location where the life information data is stored in the storage medium, a verification key, a file size, and file division information.
  • steps 1301 to 1333 correspond to a step of storing life information data.
  • the second terminal 212 encrypts the stored information with the requester's public key (P1u k ) (1351).
  • the second terminal 212 transmits the requestor's hash key H1 k and encrypted stored information to the data transfer registration server 224 (1352).
  • the second terminal 212 may transmit the hash key H1 k of the requestor, the hash key H2 k of the producer, and the encrypted stored information to the data transfer registration server 224 (1352).
  • the data transfer registration server 224 generates a transport block data including the received hash key and encrypted stored information (1361).
  • the data transfer registration server 224 registers the generated transport block data (1361).
  • the data transmission registration server 224 transmits the generated transport block data to the data transmission block chain 234 (1362).
  • the data transport blockchain 234 registers transport block data to form a blockchain (1363).
  • the user or other object compares the reference block data stored in the data transmission blockchain 234 with the same block data registered in the data transmission registration server 224, and the stored information is changed. You can check if
  • the data transmission blockchain 234 may transmit encrypted storage information to the first terminal 211 based on the client hash key H1 k (1364).
  • the first terminal 211 verifies the stored information by decrypting the encrypted stored information with its own encryption key (1371).
  • the first terminal 211 requests life information data from the storage servers 241 and 242 in which the life information data is stored according to the storage information, and receives the life information data from the corresponding storage server (1372). At this time, the life information data transmitted is encrypted.
  • the first terminal 211 verifies the life information data by decoding the life information data with its encryption key (1381).
  • 18 is an example of a process of sharing life information data to a third party.
  • 18 is an example in which the system 100 of FIG. 3 operates.
  • 11 illustrates an example in which a client shares life information data provided by a producer to a third party.
  • the terminal 111 corresponding to the client among the user terminals is denoted as the first terminal 111
  • the terminal 113 corresponding to the third party among the user terminals is denoted as the third terminal 113. It is assumed that the first terminal 111 and the third terminal 113 have registered user information in advance.
  • the first terminal 111 performs user authentication using the user information blockchain 131. Upon successful authentication, the first terminal 111 inquires a third party to the user information blockchain 131 based on the information on the producer (user information) (1401). The first terminal 111 receives a public key P3u k and a hash key H3 k for a third party from the user information blockchain 131 (1402).
  • the first terminal 111 inputs contract information (1411).
  • Contract information corresponds to contract information between the sponsor and a third party.
  • the contract information includes the new contract terms.
  • the contract information may include information for sharing life information data to a third party.
  • the contract information may include at least one of the above-described storage information, sharing period, sharing condition, genome sample information, life information data information, library information for sequencing, analysis date, analysis method, analysis apparatus condition, producer information, and client information. It may include one.
  • the first terminal 111 encrypts the shared information with the public key P3u k (1412).
  • the first terminal 111 generates electronic contract block data including a hash key H3 k and encrypted contract information (1421).
  • the first terminal 111 transfers the generated electronic contract block data to the electronic contract block chain 132 (1422).
  • Electronic contract block chain 132 registers the encrypted shared information and hash key data block containing electronic contract (H2 k) (1423).
  • the electronic contract block chain 132 transmits electronic contract block data including contract information to the third terminal 113 based on the hash key H3 k (1424).
  • the third terminal 113 decrypts the shared information included in the block data with its encryption key (1431).
  • the third terminal 113 may perform identity authentication through the user information blockchain 131 (1432). If the authentication is successful, the third terminal 113 may query and receive the requester's public key P1u k and the hash key H1 k from the user information blockchain 131 (1432). Meanwhile, the shared information may include the public key P1 u k and the hash key H1 k in advance. Even in the latter case, when the third terminal 113 succeeds in authenticating the identity, the third terminal 113 may proceed with the signature.
  • the third party checks the shared information decrypted with his encryption key and signs the electronic contract (1433).
  • the signature corresponds to user authentication information and proof of transaction approval.
  • the third terminal 113 may generate a block including contract information, signature, and hash key.
  • the third terminal 113 encrypts (i) contract information or (ii) contract information and signature with the client public key P1 u k (1433).
  • the final electronic contract may include a client hash key (H1 k ), a third party hash key (H3 k ), contract information encrypted with the client public key (P1u k ), and a third party's signature key.
  • the third terminal 113 is the electronic contract block data including the contract information encrypted with the client hash key (H1 k ), the third party hash key (H3 k ), the client public key (P1u k ), and the third party's signature key. Generate (1441).
  • the third terminal 113 transmits the electronic contract block data to the electronic contract block chain 132 (1442).
  • the electronic contract blockchain 132 registers the electronic contract block data (1443).
  • the electronic contract blockchain 132 may transmit the electronic contract to the first terminal 111 based on the client hash key H1 k (1451).
  • the first terminal 211 may verify contract contents and approval contents by decoding contract information / signature with its encryption key in the received electronic contract (1452).
  • the transport block data stored in the data transport blockchain 134 is updated (1461).
  • the first terminal 111 may transmit and store the transport block data including the storage information encrypted with the third party public key P3u k to the data transport blockchain 234.
  • the first terminal 111 may encrypt the life information data with a third party public key P3u k and store the data in advance in the data storage blockchain 135 through a plurality of storage servers.
  • the third terminal 113 receives the transport block data from the data transport blockchain 134 based on the client hash key H1 k (1471). Stored information is encrypted. The third terminal 113 decrypts the stored information with its encryption key (1472). The third terminal 113 requests life information data from the storage servers 141 and 142 based on the decoded storage information (1481), and receives the life information data (1482). The third terminal 113 may decrypt the life information data with its encryption key (1491).
  • FIG. 18 illustrates the subject sharing the bioinformation data as the requestor. However, producers may share bioinformation data with third parties under pre-contracted terms. In this case, the second terminal 112 may perform the operation of the first terminal 111 in FIG. 18.
  • 19 is another example of a process of sharing life information data with a third party.
  • 19 is an example in which the system 200 of FIG. 4 or 5 operates.
  • 19 shows an example in which a client shares life information data provided by a producer to a third party.
  • a terminal 211 corresponding to a client among user terminals is denoted as a first terminal 211
  • a terminal 213 corresponding to a third party among user terminals is denoted as a third terminal 213. It is assumed that the first terminal 211 and the third terminal 213 have registered user information in advance.
  • the first terminal 211 performs user authentication using the user information blockchain 231.
  • the first terminal 211 that has successfully authenticated inquires a third party to the user information blockchain 231 based on the information about the producer (user information) (1501).
  • the first terminal 211 receives the public key P3u k and the hash key H3 k for the third party from the user information blockchain 231 (1502).
  • the first terminal 211 inputs contract information (1511).
  • Contract information corresponds to contract information between the sponsor and a third party.
  • Contract information corresponds to contract information between the sponsor and a third party.
  • the contract information includes the new contract terms.
  • the contract information may include information for sharing life information data to a third party.
  • the contract information may include at least one of the above-described storage information, sharing period, sharing condition, genome sample information, genomic data information, library information for sequencing, analysis date, analysis method, analysis apparatus condition, producer information, and client information. It may include.
  • the first terminal 211 encrypts the contract information with the public key P3u k (1512).
  • the first terminal 211 transmits the hash key H3 k and the encrypted request information to the electronic contract registration server 222 (1513).
  • the electronic contract registration server 222 generates electronic contract block data including the hash key H3 k and encrypted contract information (1521).
  • the electronic contract registration server 222 registers the generated electronic contract block data (1521).
  • the electronic contract registration server 222 transfers the generated electronic contract block data to the electronic contract block chain 232 (1522).
  • Electronic contract block chain 232 registers the contract information and the encrypted hash key electronic contract block data including (H2 k) (1523).
  • the user or other object compares the reference block data stored in the electronic contract blockchain 232 with the same block data registered in the electronic contract registration server 222, and the contract information is changed. You can check if
  • the electronic contract blockchain 232 transmits the electronic contract block data including the contract information to the third terminal 213 based on the hash key H3 k (1524).
  • the third terminal 213 decrypts the contract information included in the block data with its encryption key (1531).
  • the third terminal 213 may perform identity authentication through the user information blockchain 231 (1532). If the authentication is successful, the third terminal 213 may query and receive the requester's public key P1u k and the hash key H1 k from the user information blockchain 231 (1532). Meanwhile, the contract information may include the public key P1 u k and the hash key H1 k in advance. Even in the latter case, if the third terminal 213 succeeds in authenticating the identity, the third terminal 213 may proceed to the step of performing the signature.
  • the producer checks the contract information decrypted with his encryption key and signs the electronic contract (1533).
  • the signature corresponds to user authentication information for the producer and proof of transaction approval.
  • the third terminal 213 may generate a block including contract information, a signature, and a hash key.
  • the third terminal 213 encrypts (i) contract information or (ii) dependency information and signature with the client public key P1 u k (1533).
  • the final electronic contract may include a client hash key (H1 k ), a third party hash key (H3 k ), contract information encrypted with the client public key (P1u k ), and a third party's signature key.
  • the third party sends out a signed electronic contract and generates biometric data.
  • the third terminal 213 transmits the generated electronic contract to the electronic contract registration server 222 (1541).
  • the electronic contract registration server 222 is an electronic contract block including a client hash key (H1 k ), a third party hash key (H3 k ), contract information encrypted with the client public key (P1u k ), and a third party's signature key.
  • Generate data (1542).
  • the electronic contract registration server 222 registers the generated electronic contract block data (1542).
  • the block data generating the electronic contract block data is transferred to the electronic contract block chain 232 (1543).
  • the electronic contract blockchain 232 registers the electronic contract block data (1544).
  • the user or another object compares the reference block data stored in the electronic contract blockchain 232 with the same block data registered in the electronic contract registration server 222 to change the electronic contract. You can check if
  • the electronic contract blockchain 232 may transmit the electronic contract to the first terminal 211 based on the client hash key H1 k (1545).
  • the first terminal 211 may verify the contract contents and the approval contents by decoding the contract information / signature with its own encryption key in the received electronic contract (1551).
  • the transport block data stored in the data transport blockchain 234 is updated (1561).
  • the first terminal 211 may encrypt the stored information with the third party public key P3u k and transmit the stored information to the data transmission registration server 224.
  • the data transmission registration server 224 may transfer the encrypted storage information to the data transmission blockchain 234 and store the encrypted data.
  • the first terminal 211 may encrypt the life information data with a third party public key (P3u k ) and transmit it to the information storage registration server 225.
  • the information storage registration server 225 may store the encrypted life information data in advance in the genetic information storage blockchain 235 through the plurality of storage servers.
  • the third terminal 213 receives the storage information block data 1571 from the data transmission blockchain 234 based on the client hash key H1 k .
  • Stored information is encrypted.
  • the third terminal 213 decrypts the stored information with its encryption key (1572).
  • the third terminal 213 requests life information data from the storage servers 241 and 242 based on the decoded storage information (1581), and receives the life information data (1582).
  • the third terminal 213 may decrypt the life information data with its encryption key (1591).
  • FIG. 19 also describes a subject sharing the life information data as the client. However, producers may share bioinformation data with third parties under pre-contracted terms. In this case, in FIG. 19, the second terminal 212 may perform the operation of the first terminal 211.
  • 20 is an example of a process of renewing a contract.
  • 20 is an example in which the system 100 of FIG. 3 operates.
  • 20 is an example of a process of changing or updating contract information between a client and a producer.
  • FIG. 20 is described with reference to the client and the producer, the contract update between the client and the third party also follows the same process.
  • the terminal 111 corresponding to the client among the user terminals is denoted as the first terminal 111
  • the terminal 113 corresponding to the third party among the user terminals is denoted as the third terminal 113. It is assumed that the first terminal 111 and the second terminal 113 have registered user information in advance.
  • the first terminal 111 performs user authentication using the user information blockchain 131. Upon successful authentication, the first terminal 111 inquires a third party to the user information blockchain 131 based on the information about the producer (user information) (1601). The first terminal 111 receives the public key P2u k and the hash key H2 k for the producer from the user information blockchain 131 (1602).
  • the first terminal 111 inputs update information (1611).
  • Renewal information includes information that changes the content of the contract.
  • the update information may include a contract period change, a request contents change, a contract subject change, a contract termination request, contract termination information, a life information data deletion request, a generated data deletion request, and the like.
  • the update information may include an identifier of the target data, producer information, client information, and deletion conditions.
  • the first terminal 211 encrypts the update information with the public key P2u k (1612).
  • the first terminal 111 generates an electronic contract block data including renewal information a hash key (H2 k) and encrypting (1621).
  • the first terminal 111 transfers the generated electronic contract block data to the electronic contract block chain 232 (1622).
  • Electronic contract block chain 132 registers the encrypted update information and hash key data block containing electronic contract (H2 k) (1623).
  • Electronic contract block chain 132 transmits the electronic contract block data including the updated information to the second terminal 112, based on the hash key (H2 k) (1624).
  • the second terminal 112 decrypts the update information included in the block data with its encryption key (1631).
  • the second terminal 112 may perform identity authentication through the user information blockchain 131 (1632). If the user authentication is successful, the second terminal 112 may query and receive the requester's public key P1u k and the hash key H1 k from the user information blockchain 131 (1632).
  • the update information may include the public key P1 u k and the hash key H1 k in advance. Even in the latter case, if the second terminal 112 succeeds in authenticating the identity, it may proceed to the step of performing the signature.
  • the producer checks the renewal information decrypted by the encryption key symmetric to the client public key and signs the electronic contract (1633).
  • the signature corresponds to user authentication information and proof of transaction approval.
  • the second terminal ⁇ 12 encrypts (i) update information or (ii) dependency information and signature with the client public key P1u k (1633).
  • the final electronic contract may include the client hash key (H1 k ), the producer hash key (H2 k ), the update information encrypted with the client public key (P1u k ), and the producer's signature key.
  • the producer sends out a signed electronic contract and deletes the data to be deleted.
  • the second terminal 112 generates electronic contract block data including the client hash key H1 k , the producer hash key H2 k , update information encrypted with the client public key P1 u k , and the producer's signature key. (1641).
  • the second terminal 112 transmits the electronic contract block data to the electronic contract blockchain 132 (1642).
  • the electronic contract blockchain 132 registers the electronic contract block data (1643).
  • the electronic contract blockchain 132 may transmit the electronic contract to the first terminal 111 based on the client hash key H1 k (1644).
  • the first terminal 111 may verify the contract content and the approval content by decoding the update information / signature with its encryption key in the received electronic contract (1651).
  • 21 is another example of a process of renewing a contract.
  • 21 is an example in which the system 200 of FIG. 4 or 5 operates.
  • 21 is an example of a process of changing or updating contract information between a client and a producer.
  • FIG. 21 is described based on the client and the producer, the contract update between the client and the third party follows the same process.
  • 21 is an example of updating a contract with contents of deleting specific data due to a termination of a contract or a change of a condition. In other words, it is a process for deleting specific data.
  • the terminal 211 corresponding to the requester of the user terminal is denoted as the first terminal 211
  • the terminal 213 corresponding to the third party among the user terminals is denoted as the third terminal 213. It is assumed that the first terminal 211 and the second terminal 213 have registered user information in advance.
  • the first terminal 211 performs user authentication using the user information blockchain 231. Upon successful authentication, the first terminal 211 inquires a third party from the user information blockchain 231 based on the information on the producer (user information) (1701). The first terminal 211 receives the public key P2u k and the hash key H2 k for the producer from the user information blockchain 231 (1702).
  • the first terminal 211 inputs update information (1711).
  • Renewal information includes information that changes the content of the contract.
  • the update information may include a contract period change, a request contents change, a contract subject change, a contract termination request, contract termination information, a life information data deletion request, a generated data deletion request, and the like.
  • the update information may include an identifier of the target data, producer information, client information, and deletion conditions.
  • the first terminal 211 encrypts the update information with the public key P2u k (1712).
  • the first terminal 211 transmits the hash key H2 k and the encrypted update information to the electronic contract registration server 222 (1713).
  • Electronic contract registration server 222 generates an electronic contract block data including renewal information a hash key (H2 k) and encrypting (1721).
  • the electronic contract registration server 222 registers the generated electronic contract block data (1721).
  • the electronic contract registration server 222 transfers the generated electronic contract block data to the electronic contract block chain 232 (1722).
  • Electronic contract block chain 232 registers the encrypted update information and hash key data block containing electronic contract (H2 k) (1723).
  • the user or other object compares the reference block data stored in the electronic contract blockchain 232 with the same block data registered in the electronic contract registration server 222, and the update information is changed. You can check if
  • Electronic contract block chain 232 transmits the electronic contract block data including the updated information to the second terminal 212, based on the hash key (H2 k) (1724).
  • the second terminal 212 decrypts the update information included in the block data with its encryption key (1731).
  • the second terminal 212 may perform identity authentication through the user information blockchain 231 (1732). If the user authentication is successful, the second terminal 212 may query and receive the requester's public key P1 u k and the hash key H1 k from the user information blockchain 231 (1732).
  • the update information may include the public key P1 u k and the hash key H1 k in advance. Even in the latter case, when the second terminal 212 succeeds in authenticating the identity, the second terminal 212 may proceed to the step of performing the signature.
  • the producer confirms the renewal information decrypted by the encryption key symmetric to the client public key and signs the electronic contract (1733).
  • the signature corresponds to user authentication information for the producer and proof of transaction approval.
  • the second terminal 212 may generate a block including the update information, the signature, and the hash key.
  • the second terminal 212 encrypts (i) the update information or (ii) the loyalty information and the signature with the client public key P1u k (1733).
  • the final electronic contract may include the client hash key (H1 k ), the producer hash key (H2 k ), the update information encrypted with the client public key (P1u k ), and the producer's signature key.
  • the producer sends out a signed electronic contract and deletes the data to be deleted.
  • the second terminal 212 transmits the generated electronic contract to the electronic contract registration server 222 (1741).
  • the electronic contract registration server 222 generates electronic contract block data including the update information encrypted with the client hash key (H1 k ), the producer hash key (H2 k ), the client public key (P1u k ), and the producer's signature key. (1742).
  • the electronic contract registration server 222 registers the generated electronic contract block data (1742).
  • the block data generating the electronic contract block data is transferred to the electronic contract block chain 232 (1743).
  • the electronic contract blockchain 232 registers the electronic contract block data (1744).
  • the user or another object compares the reference block data stored in the electronic contract blockchain 232 with the same block data registered in the electronic contract registration server 222 to change the electronic contract. You can check if
  • the electronic contract blockchain 232 may transmit the electronic contract to the first terminal 211 based on the client hash key H1 k (1745).
  • the first terminal 211 may verify the contract contents and the approval contents by decoding the update information / signature with its encryption key in the received electronic contract (1751).
  • 22 is an example of a process of deleting life information data and related data. 22 is an example of a process of deleting specific data during an operation according to a contract update. 22 is an example in which the system 100 of FIG. 3 operates.
  • the terminal 111 corresponding to the client among the user terminals is denoted as the first terminal 111
  • the terminal 111 corresponding to the producer among the user terminals is denoted as the second terminal 112. It is assumed that the first terminal 111 and the second terminal 112 have registered user information in advance.
  • deletion information 22 illustrates a process of deleting metadata, storage block data, and transport block data.
  • One or all of the specific data according to the content of the deletion information may be deleted.
  • Information generated by the second terminal 112 for deletion is referred to as deletion information.
  • the second terminal 112 When the second terminal 112 receives the update information including the deletion request, the second terminal 112 generates deletion information for deleting the life information data or the related data (1801).
  • the deletion information may include (i) the client hash key or the producer hash key and (ii) additional information (life information data identifier, data generation time, etc.) for identifying specific metadata.
  • the second terminal 112 transmits deletion information to the metadata blockchain 133 (1811).
  • the metadata blockchain 133 deletes the retained metadata block data (1812).
  • the metadata blockchain 133 may notify the first terminal 111 of the deletion information based on the client hash key (1813).
  • the second terminal 112 When the second terminal 112 receives the update information, the second terminal 112 generates deletion information for deleting life information data or related data (1801).
  • the deletion information may include (i) the client hash key or the producer hash key and (ii) additional information (life information data identifier, data generation time, etc.) for identifying specific transmission information.
  • the second terminal 112 transmits deletion information to the data transmission blockchain 134 (1821).
  • the data transport blockchain 134 deletes the retained transport block data (1822).
  • the data transmission blockchain 134 may notify the first terminal 111 of the deletion information based on the client hash key (1823).
  • the second terminal 112 When the second terminal 112 receives the deletion information, the second terminal 112 generates deletion information for deleting the life information data or the related data (1801).
  • the deletion information may include (i) the client hash key or the producer hash key and (ii) additional information (life information data identifier, data generation time, etc.) for identifying specific metadata.
  • the second terminal 112 transmits the deletion information to the storage server 141/142 (1831).
  • the storage server 141/142 deletes the life information data held by the storage server 141/142 (1832). This means that the storage block data is deleted from the data storage blockchain.
  • the storage server 141/142 may notify the first terminal 111 of the deletion information (1833).
  • FIG. 23 is another example of a process of deleting life information data and related data.
  • FIG. 23 is an example in which the system 200 of FIG. 4 or 5 operates.
  • 22 is an example of a process of deleting specific data during an operation according to a contract update.
  • the terminal 211 corresponding to the client among the user terminals is denoted as the first terminal 211
  • the terminal 213 corresponding to the third party among the user terminals is denoted as the third terminal 213. It is assumed that the first terminal 211 and the second terminal 213 have registered user information in advance.
  • 21 illustrates a process of deleting metadata, storage block data, and transport block data.
  • One or all of the specific data according to the content of the deletion information may be deleted.
  • Information generated by the second terminal 112 for deletion is referred to as deletion information.
  • the second terminal 212 When the second terminal 212 receives the update information, the second terminal 212 generates deletion information for deleting life information data or related data (1901).
  • the second terminal 212 transmits the deletion information to the metadata registration server 222 (1911).
  • the deletion information may include (i) the client hash key or the producer hash key and (ii) additional information for identifying specific metadata (dielectric data identifier, data generation time, etc.).
  • the metadata registration server 222 deletes the metadata block data held by the metadata registration server 222 (1912).
  • the metadata registration server 222 transmits deletion information to the metadata blockchain 233 (1913).
  • the metadata blockchain 233 deletes the retained metadata block data (1914).
  • the metadata blockchain 233 may notify the first terminal 211 of the deletion based on the client hash key (1915).
  • the second terminal 212 When the second terminal 212 receives the deletion information, the second terminal 212 generates deletion information for deleting the life information data or the related data (1901). The second terminal 212 transmits the deletion information to the information transmission registration server 224 (1921).
  • the deletion information may include (i) the client hash key or the producer hash key and (ii) additional information (genome data identifier, data generation time, etc.) for identifying specific transmission information.
  • the information transmission registration server 224 deletes the owned transport block data (1922).
  • the information transmission registration server 224 transmits deletion information to the data transmission blockchain 234 (1923).
  • the data transport blockchain 234 deletes the retained transport block data (1924).
  • the data transmission blockchain 234 may notify the first terminal 211 of the deletion based on the client hash key (1925).
  • the second terminal 212 When the second terminal 212 receives the deletion information, the second terminal 212 generates deletion information for deleting the life information data or the related data (1901).
  • the second terminal 212 transmits the deletion information to the data storage registration server 225 (1931).
  • the deletion information may include (i) the client hash key or the producer hash key and (ii) additional information for identifying specific metadata (dielectric data identifier, data generation time, etc.).
  • the data storage registration server 225 transmits the deletion information to the storage server 241/242 (1932).
  • the storage server 241/242 deletes the metadata block data held by the storage server 241/242 (1933). This means that the storage block data is deleted from the data storage blockchain.
  • the storage server 241/242 may notify the first terminal 211 of the deletion information (1934).
  • life information data transmission method may be implemented as a program (or application) including an executable algorithm that can be executed on a computer.
  • the program may be stored and provided in a non-transitory computer readable medium.
  • the non-transitory readable medium refers to a medium that stores data semi-permanently and is readable by a device, not a medium storing data for a short time such as a register, a cache, a memory, and the like.
  • a non-transitory readable medium such as a CD, a DVD, a hard disk, a Blu-ray disk, a USB, a memory card, a ROM, or the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

복수의 블록체인에 기반을 둔 생명정보 데이터 제공 방법은 사용자 블록체인 노드가 복수의 사용자별로 사용자 정보, 공유키 및 해쉬키를 포함하는 사용자 블록데이터를 저장하는 단계, 전자계약서 블록체인 노드가 상기 복수의 사용자 중 제1 사용자가 제2 사용자에게 생명정보 데이터 생성을 의뢰하는 계약 정보를 포함하는 계약 블록데이터를 저장하는 단계, 데이터 전송 블록체인 노드가 상기 생명정보 데이터를 저장한 적어도 하나의 저장 서버에 대한 저장 정보를 포함하는 전송 블록데이터를 저장하는 단계 및 상기 데이터 전송 블록체인 노드로부터 상기 전송 블록데이터가 상기 제1 사용자에게 전달되는 단계를 포함한다.

Description

복수의 블록체인에 기반을 둔 생명정보 데이터 제공 방법, 생명정보 데이터 저장 방법 및 생명정보 데이터 전송 시스템
이하 설명하는 기술은 블록체인을 이용하여 생명정보 데이터를 제공하는 기법에 관한 것이다.
전 세계적으로 인구 고령화 및 만성질환 증가로 인해 웰니스(Wellness), 헬스케어 등 건강사업 발전이 가속화되고 있다.
NGS(Next Generation Sequencing) 기술 등장과 함께 다량의 데이터 분석에 기반을 둔 데이터 분석, 질병 진단, 신약 개발 등과 같은 연구가 활발하게 진행되고 있다. 유전체 정보의 접근성 확대로 인하여 보건의료 패러다임이 치료에서 예방으로 변화하고 있다. 유전체 정보 기반의 헬스케어 분야가 본격적으로 산업화되고 있다.
이 때문에, 미국, 영국, 중국 등 세계 주요 국가들은 바이오 빅데이터인 유전체 정보를 확보하기 위해 정부 주도의 대규모 임상 유전체 분석 프로젝트를 추진하고 있다. 현재 미국 정밀의학 이니셔티브(Precision Medicine), 영국 100,000 게놈 프로젝트(UK100,000 Genome Project), 중국 Million Omics Database 프로젝트 등이 진행 중에 있다.
유전체 빅데이터 기반의 개인별 맞춤형 헬스케어는 정밀의학의 핵심이다. 정밀의학(Precision Medicine)이란 진단부터 치료에 이르는 모든 단계에서 개인(환자)의 유전, 환경, 생물학적 특성 등을 고려하는 맞춤의학이다. 정밀의학을 통해 의료와 관련된 정보뿐만 아니라 개인(환자)의 라이프스타일과 환경 등 다양한 분야에서 축적된 빅데이터를 다각도로 분석하여 정확한 치료법을 도출해낼 수 있다.
의료정보를 비롯한 개인건강관련 정보는 한 가지 플랫폼을 통해서만 저장되지 않고 다양한 기기와 서비스를 통해 누적된다. 따라서 이러한 정보들의 상호운용성은 빅데이터를 이용하는데 있어서 중요한 요소이다. 이에 따라 주요국들은 빅데이터 정책 추진에도 적극적인 투자와 지원을 하고 있다. 미국의 경우, 국가차원에서보건의료 데이터 공유 환경 구축을 위해 국가건강정보기술조정국(ONC)를 설치하고 국가 차원의 의료 빅데이터 사업인 'Health Data Initiative' 을 추진하며 빅데이터 활용을 권장하고 환자의 동의하에 진료기록을 공유할 수 있도록 관련 법률을 제정했다. 영국도 보건의료 빅데이터 통합센터(HSCIC)를 설치하고 'Power of Information'이라는 데이터 활용을 통한 건강수준 향상 전략을 전개하고 있다.
보건의료 빅데이터 중에서 유전체 데이터는 각 개체만의 고유한 유전 정보이다. 따라서 데이터 축적을 통해 그 규모를 확장해야 한다. 유전체 데이터의 공유를 통해 빅데이터를 구축하는 것이 정밀의학 실현에도 매우 중요하다.
유전체 데이터는 정밀의학뿐만 아니라 일반적 건강관리를 위한 소비자 직접 의뢰(DTC, Direct-To-Customer), 유전 질환을 사전에 파악할 수 있는 산전 검사, 범죄 수사나 친자 확인 등을 위한 유전자 감식, 그리고 장내 미생물 유전체 분석을 통한 질병치료까지 다방면에서 활용되고 있다. 나아가 유전체 데이터를 통해 생물자원 확보, 유용한 바이오 소재 개발, 멸종 위기종 보전 및 복원 등을 할 수 있다.
이러한 유전체 데이터는 생물학적 연구 및 의료 분야뿐만 아니라 생태학, 인류학 등 다방면 분야에서 유전체 데이터를 통한 연구가 진행됨에 따라 그 중요성 및 활용성은 갈수록 증대될 것으로 보인다.
한편, 유전체 데이터는 특정 개체의 현재뿐만 아니라 미래까지 예측할 수 있고, 그 개체의 가족 유전정보까지 시사한다. 따라서 기타 다른 데이터보다 프라이버시 침해 가능성 및 보안 위험 문제가 심각하게 대두되고 있다.
유전체 데이터를 안정적으로 보관하고, 용량 증가 및 데이터 공유에 유연하게 대처할 수 있는 시스템이 마련되어야 한다. 이하 설명하는 기술은 복수의 블록체인(Block-chain) 기술을 이용하여 생명정보 데이터를 제공하고자 한다. 이하 설명하는 기술은 생명정보 데이터를 높은 보안성을 유지하면서 쉽게 공유하는 기술을 제공하고자 한다.
복수의 블록체인에 기반을 둔 생명정보 데이터 제공 방법은 사용자 블록체인 노드가 복수의 사용자별로 사용자 정보, 공유키 및 해쉬키를 포함하는 사용자 블록데이터를 저장하는 단계, 전자계약서 블록체인 노드가 상기 복수의 사용자 중 제1 사용자가 제2 사용자에게 생명정보 데이터 생성을 의뢰하는 계약 정보를 포함하는 계약 블록데이터를 저장하는 단계, 데이터 전송 블록체인 노드가 상기 생명정보 데이터를 저장한 적어도 하나의 저장 서버에 대한 저장 정보를 포함하는 전송 블록데이터를 저장하는 단계 및 상기 데이터 전송 블록체인 노드로부터 상기 전송 블록데이터가 상기 제1 사용자에게 전달되는 단계를 포함한다.
복수의 블록체인에 기반을 둔 생명정보 데이터 저장 방법은 사용자 블록체인 노드가 복수의 사용자별로 사용자 정보, 공유키 및 해쉬키를 포함하는 사용자 블록데이터를 저장하는 단계, 저장 서버가 상기 복수의 사용자 중 제1 사용자가 의뢰하여 제2 사용자가 생성한 생명정보 데이터를 저장하는 단계 및 데이터 전송 블록체인 노드가 상기 생명정보 데이터를 저장한 상기 저장 서버에 대한 저장 정보를 포함하는 전송 블록데이터를 저장하는 단계를 포함한다.
복수의 블록체인에 기반을 둔 생명정보 데이터 전송 시스템은 복수의 사용자별로 사용자 정보, 공유키 및 해쉬키를 포함하는 사용자 블록데이터를 저장하는 사용자 블록체인 노드, 상기 복수의 사용자 중 제1 사용자가 제2 사용자에게 생명정보 데이터 생성을 의뢰하는 계약 정보를 포함하는 계약 블록데이터를 저장하는 전자계약서 블록체인 노드, 상기 제2 사용자가 생성한 생명정보 데이터를 저장하는 저장 서버 및 상기 저장 서버에 대한 저장 정보를 포함하는 전송 블록데이터를 저장하는 데이터 전송 블록체인 노드를 포함한다. 상기 사용자 블록데이터, 상기 계약 블록데이터 및 상기 전송 블록데이터는 상기 제1 사용자 또는 상기 제2 사용자 중 적어도 하나가 생성한다.
이하 설명하는 기술은 블록체인 기술을 이용하여 생명정보 데이터의 노출이나 유전체 데이터의 위/변조가 어려운 전송 시스템을 제공한다. 이하 설명하는 기술은 사용자 인증과 데이터 전송을 분리하여 대용량 생명정보 데이터에 대한 네트워크 부하를 감소시킨다. 이하 설명하는 기술은 생명정보 데이터 생성 의뢰, 생명정보 데이터 전송 등의 과정에 대한 정보를 관리하여 생명정보 데이터의 위/변조 및 사용이력을 추적할 수 있다.
도 1은 유전체 데이터 전송 모델에 대한 예이다.
도 2는 유전체 분석데이터 전송 모델에 대한 예이다.
도 3은 생명정보 데이터 전송 시스템에 대한 예이다.
도 4는 생명정보 데이터 전송 시스템에 대한 다른 예이다.
도 5는 생명정보 데이터 전송 시스템에 대한 또 다른 예이다.
도 6은 생명정보 데이터 전송 시스템에 대한 또 다른 예이다.
도 7은 생명정보 데이터 제공 서비스가 진행되는 과정에 대한 순서도의 예이다.
도 8은 사용자 등록 내지 인증 과정에 대한 예이다.
도 9는 사용자 등록 내지 인증 과정에 대한 다른 예이다.
도 10은 생명정보 데이터 계약이 수립되는 과정에 대한 예이다.
도 11은 생명정보 데이터 계약이 수립되는 과정에 대한 다른 예이다.
도 12는 메타데이터가 생성되는 과정에 대한 예이다.
도 13은 메타데이터가 생성되는 과정에 대한 다른 예이다.
도 14는 생명정보 데이터를 전달하는 과정에 대한 예이다.
도 15는 생명정보 데이터를 전달하는 과정에 대한 다른 예이다.
도 16은 생명정보 데이터를 전달하는 과정에 대한 또 다른 예이다.
도 17은 생명정보 데이터를 전달하는 과정에 대한 또 다른 예이다.
도 18은 생명정보 데이터를 제3자에게 공유하는 과정에 대한 예이다.
도 19는 생명정보 데이터를 제3자에게 공유하는 과정에 대한 다른 예이다.
도 20은 계약을 갱신하는 과정에 대한 예이다.
도 21은 계약을 갱신하는 과정에 대한 다른 예이다.
도 22는 생명정보 데이터 및 관련 데이터가 삭제되는 과정에 대한 예이다.
도 23은 생명정보 데이터 및 관련 데이터가 삭제되는 과정에 대한 다른 예이다.
이하 설명하는 기술은 데이터 제공 서비스에 관련된다. 이하 생명정보 데이터를 중심으로 설명하지만, 이하 설명하는 기술은 데이터의 종류에 관계없이 다양한 데이터 제공 서비스에 적용될 수 있다.
이하 설명에서 사용되는 용어에 대하여 설명한다.
유전체 데이터는 특정한 사용자의 샘플(시료) 및 생명체(인간, 동물, 미생물 등)로부터 얻은 데이터를 의미한다. 예컨대, 유전체 데이터는 세포, 조직 등으로부터 데옥시리보 핵산(DNA), 리보핵산(RNA), 또는 단백질(Protein) 등에서 얻어진 염기서열, 유전자 발현 데이터, 표준 유전체 데이터와의 유전 변이, DNA 메틸화(methylation) 등을 포함할 수 있다. 일반적으로 유전체 데이터는 특정 시료를 분석하여 얻은 서열 정보를 포함한다. 유전체 데이터는 일반적으로 디지털 데이터로 표현된다. NGS 분석 장치를 통해 얻은 서열 데이터 등이 이에 해당한다.
유전체 분석 데이터 또는 간략하게 분석 데이터는 유전체 데이터를 분석한 정보를 의미한다. 예컨대, 분석 데이터는 유전체 데이터를 분석하여 획득한 진단 결과, 질병 예측 결과, 질병 위험도, 친자 확인 결과, 질병 치료 수단, 신약 물질 등을 포함한다.
생명정보 데이터는 생물체로부터 유래된 유전체 데이터와 분석 데이터를 포함하는 의미이다. 예컨대, 생명정보 데이터는 DNA염기배열, 단백질아미노산배열, 단백질입체구조자료, 유전자 발현 정보, 단백질발현자료, 유전자 분석 결과 등을 포함한다.
메타데이터는 생명정보 데이터 생산과정에서 도출되는 데이터로서, 생명정보 데이터를 추가로 설명 내지 특정하는 데이터에 해당한다. 예컨대, 생명정보 데이터에 대한 메타데이터는 유전체 데이터의 데이터 포맷, 유전체 데이터 생산 방법론, 염기서열 해독 장치 정보, 샘플 정보, 분자생물학 기술 정의, 생산량, 데이터에 대한 정확도 분석 및 통계, 생산일자 등을 포함할 수 있다.
의뢰자는 생명정보 데이터 생산을 의뢰하는 사용자를 의미한다. 생산자는 생명정보 데이터를 생산하는 사용자를 의미한다. 제3자는 의뢰자 및 생산자가 아닌 다른 사용자를 의미한다. 제3자는 생산자가 생성한 생명정보 데이터를 공유 받는 사용자일 수 있다.
사용자 단말 또는 단말은 컴퓨터 장치로서, 사용자가 사용하는 클라이언트 장치를 의미한다. 사용자는 사람이나 기관과 같은 특정 주체를 의미하지만, 시스템에서 사용자는 사용자 단말로 특정된다.
컴퓨터 장치는 CPU, AP 등과 같은 연산 장치를 이용하여 입력되는 소스 데이터를 분석하는 장치를 의미한다. 컴퓨터 장치는 일반적으로 연산장치, 메모리, 입출력장치, 통신 인터페이스 장치 등을 포함한다. 컴퓨터 장치는 서버, PC, 태블릿 PC, 스마트폰 등과 같은 장치로 구현될 수 있다.
해쉬키(hash key)는 블록체인 네트워크상에서 사용자를 식별할 때 사용하는 값이다. 해쉬키는 다양한 방법을 통해 생성될 수 있다. 대표적인 해쉬키 생성 알고리즘은 MD5, SHA-256 등이 있다. 해쉬키는 특정 사용자에 대하여 유일하게 존재하는 값이다. 해쉬키는 다양한 길이의 문자열로 구성되는 키이다.
공개키와 암호키(encryption key)는 블록체인 네트워크상에서 데이터를 암호화하여 전송하기 위한 키이다. 공개키와 암호키는 소위 공개키 방식의 암호화에 사용되는 키이다. 공개키 범위는 데이터를 암호화하는 키이고, 암호키는 암호화된 데이터를 복호하는 키이다. 공개키와 암호키는 서로 짝을 이루고 다양한 공개키 암호화 방법(예컨대, RSA, 타원곡선암호 등)을 이용하여 무작위로 생산될 수 있다.
블록체인은 관리 대상 데이터를 '블록'이라고 하는 소규모 데이터들이 P2P 방식을 기반으로 생성된 체인 형태의 연결고리 기반 분산 데이터 저장환경을 의미한다. 블록체인 네트워크는 블록체인을 구성하는 네트워크 구성요소를 의미한다.
도 1은 유전체 데이터 전송 모델에 대한 예이다. 도 1은 생명정보 데이터 중 유전체 데이터 생성 및 전송을 위한 모델이다. 의뢰자는 생산자에게 유전체 시퀀싱을 의뢰한다. 시퀀싱 의뢰는 양자 사이의 계약에 해당한다. 의뢰자는 사용자 단말(10)을 통해 유전체 시퀀싱 의뢰하고, 생산자는 사용자 단말(20)을 통해 시퀀싱 의뢰를 수락할 수 있다. 이때 의뢰자와 생산자 사이의 계약은 블록체인을 통해 수행된다.
의뢰자는 분석 대상인 시료를 생산자에게 전달한다. 생산자는 NGS 분석 장치(25) 등을 이용하여 유전체 데이터를 생성한다. 생산자는 사용자 단말(20)을 통해 생성한 유전체 데이터에 대한 정보 및 유전체 데이터를 블록데이터 형태로 블록체인에 저장할 수 있다. 의뢰자는 사용자 단말(10)을 이용하여 블록체인을 통해 생성한 유전체 데이터를 전달받을 수 있다.
나아가 의뢰자 또는 생산자는 유전체 데이터에 대한 저장 정보를 보유한 블록체인을 이용하여 제3자에게 유전체 데이터를 공유할 수도 있다. 제3자는 사용자 단말(30)을 이용하여 통해 생성한 유전체 데이터를 전달받을 수 있다.
블록체인 네트워크는 크게 두 가지 구성 요소를 갖는다. 하나는 블록체인 노드이고, 다른 하나는 클라이언트이다. 사용자 관점에서는 블록체인의 노드는 일반적인 서비스의 백엔드(Backend) 역할을 하고 블록체인 클라이언트는 클라이언트 역할을 한다. 클라이언트가 새로운 트랜잭션을 발생시키면 노드들은 트랜잭션을 분산합의 과정을 통해 공유하고 트랜잭션을 실행한다. 클라이언트는 트랜잭션의 결과를 확인할 수 있다. 도 1에서 사용자 단말(10, 20, 30)은 클라이언트에 해당한다. 도 1에서 블록체인 노드는 네트워크에 연결된 별도의 노드(단말, 서버 등)에 해당한다.
도 2는 유전체 분석데이터 전송 모델에 대한 예이다. 도 2는 생명정보 데이터 중 분석 데이터 생성 및 전송을 위한 모델이다. 의뢰자는 생산자에게 유전체 데이터 분석을 의뢰한다. 분석 의뢰는 양자 사이의 계약에 해당한다. 의뢰자는 사용자 단말(10, 20)을 통해 유전체 데이터 분석을 의뢰하고, 생산자는 사용자 단말(40)을 통해 시퀀싱 의뢰를 수락할 수 있다. 도 2에서 의뢰자는 도 1의 의뢰자, 도 1의 생산자 또는 도 1의 공유자일 수도 있다. 이때 의뢰자와 생산자 사이의 계약은 블록체인을 통해 수행된다.
의뢰자는 사용자 단말(10,20,30)을 통해 분석 대상인 유전체 데이터를 생산자에게 전달한다. 생산자는 생물학적 실험 또는 소프트웨어를 이용한 분석을 통해 분석 데이터를 생성한다. 생산자는 단말(40)을 통해 생성한 분석 데이터에 대한 정보 및 분석 데이터를 블록데이터 형태로 블록체인에 저장할 수 있다. 의뢰자는 사용자 단말(10, 20, 30)을 이용하여 블록체인을 통해 생성한 분석 데이터를 전달받을 수 있다.
나아가 의뢰자 또는 생산자는 분석 데이터에 대한 저장 정보를 보유한 블록체인을 이용하여 제3자에게 분석 데이터를 공유할 수도 있다. 제3자는 사용자 단말(50)을 이용하여 블록체인으로부터 분석 데이터를 전달받을 수 있다.
도 3은 생명정보 데이터 전송 시스템(100)에 대한 예이다. 생명정보 데이터 전송 시스템(100)은 사용자 단말(110), 블록체인(130) 및 저장서버(140)를 포함한다.
사용자 단말(110)은 의뢰자가 사용하는 사용자 단말(111), 생산자가 사용하는 사용자 단말(112) 및 공유자가 사용하는 사용자 단말(113)을 포함한다. 사용자 단말(211)은 A 영역에 도시하였고, 사용자 단말(212)는 B 영역에 도시하였고, 사용자 단말(213)은 C 영역에 도시하였다. 각 영역은 적어도 하나의 사용자 단말이 존재할 수 있다. 제3자가 사용하는 사용자 단말(113)은 시스템에 필수적인 구성은 아니다.
도 3은 모두 5개의 블록체인(131 내지 135)을 도시한다. 하나의 블록체인은 복수의 블록체인 노드로 구성된다. 5개의 블록체인은 아래와 같다.
사용자 정보 블록체인(131)은 사용자 관련 정보를 보유한다. 사용자 정보 블록체인은 사용자에 대한 해쉬키 및 사용자에 대한 개인 정보를 저장한다. 예컨대, 개인 정보는 사용자의 식별자, 이름, 성별, 소속기관, 생년월일 등과 같은 정보를 포함할 수 있다. 사용자 블록 데이터는 특정 공개키를 사용하여 암호화된 개인 정보를 포함한다.
전자계약서 블록체인(132)은 사용자 사이의 계약 정보를 보유한다. 사용자 정보 블록체인은 계약자로 참여하는 사용자들의 해쉬키 및 계약 정보(의뢰 내용)를 보유한다. 예컨대, 계약 정보는 소스 데이터에 대한 정보, 분석 방법, 분석 장치, 분석 기일, 소스 데이터 보유 기한, 계약 종료시 데이터 처리 방법, 공유자 정보 등을 포함할 수 있다. 계약 블록 데이터는 특정 공개키로 암호화된 계약 정보를 포함한다.
메타데이터 블록체인(133)은 생명정보 데이터에 대한 메타데이터를 보유한다. 메타데이터 블록 데이터는 특정 공개키로 암호화된 메타데이터를 포함한다. 메타데이터는 데이터 형식, 생산 방법, 염기서열 해독 장치 정보, 샘플 정보, 분자생물학 기술 정의, 생산량, 데이터에 대한 신뢰도, 생산일자 등을 포함할 수 있다.
데이터 전송 블록체인(134)은 데이터 송수신에 참여하는 두 사용자의 해쉬키와 전송 대상인 생명정보 데이터 파일에 대한 전송 정보를 보유한다. 전송 정보는 데이터 전송을 위하여 필요한 정보이다. 예컨대, 전송 정보는 파일 크기, 파일 이름, 파일 위치, 검증키 등을 포함할 수 있다. 전송 블록 데이터는 특정 공개키로 암호화된 전송 정보를 포함한다.
데이터 저장 블록체인(135)은 데이터 송수신에 참여하는 두 사용자의 해쉬키와 저장 서버에 위치하는 생명정보 데이터에 대한 저장 정보를 보유한다. 저장 정보는 저장 서버(141, 142)에 저장된 생명정보 데이터에 대한 정보이다. 예컨대, 저장 서버의 식별자, 저장 서버의 저장 매체에서 생명정보 데이터가 저장된 위치, 파일 크기, 파일 분할 정보, 검증키 등을 포함할 수 있다. 생명정보 데이터는 저장 서버에 특정 공개키로 암호화되어 저장된다. 다만 저장 블록 데이터는 기본적으로 저장 정보를 암호화되지 않은 상태로 저장할 수 있다.
저장 서버(140)는 생명정보 데이터를 저장한다. 저장 서버는 다양한 형태로 생명정보 데이터를 저장할 수 있다. 일반적인 서버와 같이 생명정보 데이터 자체를 그대로 저장할 수 있다. 저장 서버는 하나의 단일 서버일 수 있다. 또는 도 3에 도시한 바와 같이 저장 서버는 복수의 서버(141, 142, ...)로 구성될 수 있다. 저장 서버가 복수인 경우, 생명정보 데이터를 분산하여 저장할 수 있다. 나아가 저장 서버가 복수인 경우 하나의 서버(주저장 서버)는 생성된 생명정보 데이터를 그대로 저장하고, 나머지 서버(부저장 서버)는 생명정보 데이터를 분산(분할)하여 저장할 수 있다. 복수의 서버가 사용되는 경우, 복수의 저장 서버 또는 복수의 부저장 서버는 블록체인을 구성하는 노드가 되어 복수의 저장 서버가 데이터 저장 블록체인을 구성할 수도 있다.
도 4는 생명정보 데이터 전송 시스템(200)에 대한 다른 예이다. 도 4의 시스템(200)은 기본적으로 도 3의 시스템(100)과 동일한 구성을 포함한다. 다만 도 4의 시스템(200)은 각 블록체인을 관리하는 등록 서버(220)를 포함한다. 생명정보 데이터 전송 시스템(200)은 사용자 단말(210), 등록 서버(220) 및 블록체인(230)을 포함한다.
사용자 단말(210)은 의뢰자가 사용하는 사용자 단말(211), 생산자가 사용하는 사용자 단말(212) 및 제3자가 사용하는 사용자 단말(213)을 포함한다. 사용자 단말(211)은 A 영역에 도시하였고, 사용자 단말(212)는 B 영역에 도시하였고, 사용자 단말(213)은 C 영역에 도시하였다. 각 영역은 적어도 하나의 사용자 단말이 존재할 수 있다. 제3자가 사용하는 사용자 단말(213)은 시스템에 필수적인 구성은 아니다.
도 4는 모두 5개의 블록체인(231 내지 235)을 도시한다. 하나의 블록체인은 복수의 블록체인 노드로 구성된다. 도 4에서 하나의 블록체인은 하나의 등록 서버와 연결된다. 각 등록 서버는 각 블록체인에 저장되는 블록데이터를 생성하고, 자신도 생성한 블록데이터를 등록(저장)할 수 있다. 시스템이나 개별 사용자는 블록체인에 저장된 기준 블록데이터와 등록 서버에 저장된 블록데이터를 비교하여 데이터의 위/변조를 확인할 수 있다. 5개의 블록체인은 도 3에서 설명한 바와 같다.
도 4에서 등록 서버는 각 블록체인마다 존재한다. 5개의 등록 서버(220)는 사용자 등록 서버(221), 전자계약서 등록 서버(222), 메타데이터 등록 서버(223), 데이터 전송 등록 서버(224) 및 데이터 저장 등록 서버(225)이다.
사용자 등록 서버(221)는 사용자 블록 데이터를 생성하고, 사용자 정보 블록체인(231)에 해쉬키 및 사용자 정보를 저장한다. 전자계약서 등록 서버(222)는 계약 블록 데이터를 생성하고, 전자계약서 블록체인(132)에 해쉬키 및 계약정보를 저장한다. 메타데이터 등록 서버(223)는 메타데이터를 생성하고, 메타데이터 블록체인(234)에 해쉬키 및 메타데이터를 저장한다. 데이터 전송 등록 서버(224)는 전송 정보를 생성하고, 데이터 전송 블록체인(234)에 해쉬키 및 전송 정보를 저장한다. 데이터 저장 등록 서버(225)는 저장 정보를 생성하고, 데이터 저장 블록체인(235)에 해쉬키 및 저장 정보를 저장한다. 시스템(200)은 하나의 등록서버, 2개의 등록 서버 내지 5개의 등록 서버를 포함할 수도 있다. 여기서 등록 서버의 개수는 물리적인 하나의 장치를 의미하는 것은 아니고, 기능(관리하는 블록체인의 종류)에 따른 종류를 구분하는 것이다.
저장 서버는 생명정보 데이터를 저장한다. 저장 서버는 다양한 형태로 생명정보 데이터를 저장할 수 있다. 일반적인 서버와 같이 생명정보 데이터 자체를 그대로 저장할 수 있다. 저장 서버는 하나의 단일 서버일 수 있다. 또는 저장 서버는 도 4에 도시한 바와 같이 저장 서버(241, 242 등)는 복수의 서버로 구성될 수 있다. 저장 서버가 복수인 경우, 생명정보 데이터를 분산하여 저장할 수 있다. 나아가 저장 서버가 복수인 경우 하나의 서버(주저장 서버)는 생성된 생명정보 데이터를 그대로 저장하고, 나머지 서버(부저장 서버)는 생명정보 데이터를 분산(분할)하여 저장할 수 있다. 복수의 서버가 사용되는 경우, 복수의 저장 서버 또는 복수의 부저장 서버는 블록체인을 구성하는 노드가 되어 복수의 저장 서버가 데이터 저장 블록체인을 구성할 수도 있다.
도 5는 생명정보 데이터 전송 시스템(200)에 대한 또 다른 예이다. 도 5의 시스템(200)은 도 4의 시스템(200)과 거의 동일하다. 다만 도 5의 시스템(200)은 하나의 등록 서버(229)가 블록 데이터를 등록하고, 블록체인을 관리한다. 등록 서버(229)는 통합적인 관리 서버에 해당한다. 나머지 동작은 도 4의 시스템(200)과 동일하다. 한편 도 5와 달리 복수의 등록 서버가 하나 또는 하나 이상의 블록체인을 생성 및 관리할 수도 있다. 예컨대, 하나의 등록 서버가 데이터 저장 블록체인 및 데이터 전송 블록체인을 생성하고 관리하고, 다른 하나의 등록 서버가 나머지 블록체인을 생성하고 관리할 수 있다. 시스템(200)에서 몇 개의 등록 서버를 사용할지는 구현상의 문제라고 하겠다.
이하 등록 서버는 도 4에서 설명한 기능이 서로 다른 서버 또는 도 5에서 설명한 통합적인 관리 서버를 포괄하는 의미로 사용한다.
도 6은 생명정보 데이터 전송 시스템(200)에 대한 또 다른 예이다. 도 6의 시스템(200)은 도 5의 시스템(200)과 거의 동일하다. 다만 도 6의 시스템(200)은 데이터 저장 블록체인을 포함하지 않는다. 도 6의 시스템(200)은 생명정보 데이터가 블록체인 형태로 저장되지 않고, 일반적인 저장 서버에 저장되는 예이다. 이 경우 데이터 전송 블록체인이 보유하는 전송 정보는 저장 서버의 식별자, 저장 서버의 저장 매체에서 생명정보 데이터가 저장된 위치, 파일 이름, 파일 크기, 파일 분할 정보, 검증키 등을 포함할 수 있다. 즉, 전송 정보는 저장 서버(241, 242, ...)에 저장된 생명정보 데이터에 사용자가 접근하기 위하여 필요한 정보를 포함한다.
도 7은 생명정보 데이터 제공 서비스가 진행되는 과정(300)에 대한 순서도의 예이다. 도 7은 생명정보 데이터 제공 서비스가 진행되는 과정(300)에 대한 개략적인 예이다.
먼저 사용자는 사용자 정보를 시스템에 등록하여야 한다(310). 이를 위해 사용자는 사용자 단말을 사용하여 사용자 정보를 입력한다. 사용자 단말(111, 112, 113)은 사용자 정보 및 암호키 등을 사용하여 사용자 블록 데이터를 생성하고, 사용자 정보 블록체인(231)에 저장할 수 있다. 등록 서버를 이용하는 경우 등록 서버(221 또는 229)는 입력된 사용자 정보를 이용하여 사용자 블록 데이터를 생성하고, 사용자 정보 블록체인(231)에 저장할 수 있다. 사용자는 생성된 사용자 정보 블록체인(231)을 이용하여 사용자 인증을 받을 수 있다. 예컨대, 인증된 사용자만이 이후 과정(계약 생성, 생명정보 데이터 전송 등)을 진행할 수 있다.
생명정보 데이터를 제공받기 위하여 의뢰자와 생산자 사이에 계약이 생성되어야 한다. 사용자 단말(111, 112, 113)은 계약 블록 데이터를 생성하고, 전자계약서 블록체인(232)에 저장할 수 있다. 등록 서버를 이용하는 경우 등록 서버(222 또는 229)가 의뢰자가 입력한 계약 정보와 생산자의 서명을 이용하여 계약 블록 데이터를 생성하고, 전자계약서 블록체인(232)에 저장할 수도 있다. 이를 통해 생명정보 데이터 제공 계약이 생성된다(320).
생산자는 생명정보 데이터를 생성한다(350). 사용자 단말(112)은 생명정보 데이터를 생성하고, 메타데이터 블록체인(233)에 저장할 수 있다. 등록 서버를 이용하는 경우 사용자 단말(112)은 생성한 생명정보 데이터에 대한 메타데이터를 등록 서버(223 또는 229)에 전달할 수 있다. 등록 서버(223 또는 229)는 수신한 메타데이터에 대한 메타데이터 블록 데이터를 생성하고, 메타데이터 블록체인(233)에 저장할 수 있다. 한편 생명정보 데이터에 대한 메타데이터 생성 및 저장은 필수적 과정은 아니라고 할 수 있다.
생산자가 생성한 생명정보 데이터는 저장 서버에 저장된다(340). 전술한 바와 같이 복수의 저장 서버는 블록체인 형태로 생명정보 데이터를 저장할 수 있다. 사용자 단말(112)은 생성한 생명정보 데이터를 저장 서버에 전달하여 블록체인을 구성할 수 있다. 등록 서버를 이용하는 경우 등록 서버(225 또는 229)는 생명정보 데이터를 이용하여 저장 블록 데이터를 생성하고, 데이터 저장 블록체인(235)에 저장할 수 있다.
생명정보 데이터는 의뢰자에게 전송되어야 한다(350). 이를 위해 저장 블록체인(235)이 생성된 후에 사용자 단말(112)은 저장 정보가 포함된 전송 블록 데이터를 생성하고, 데이터 전송 블록체인(234)에 저장할 수 있다. 등록 서버를 이용하는 경우 등록 서버(224 또는 229)가 저장 정보를 이용하여 전송 블록 데이터를 생성하고, 데이터 전송 블록체인(234)에 저장할 수 있다. 의뢰자는 데이터 전송 블록체인(234)을 통해 생명정보 데이터를 수신할 수 있다(350).
이후 시스템은 계약 종료 또는 계약 내용이 변경되었는지 모니터링한다(360). 계약 종료 내지 계약 변경이 되면 등록 서버(222 또는 229)는 필요한 경우 변경된 계약 내용을 갱신한다. 이후 계약 내용에 따라 저장한 데이터가 삭제될 수도 있고, 생명정보 데이터가 제3자에게 공유될 수도 있다(370).
이하 도 7에 설명된 각 과정에 대하여 설명한다. 도 3의 시스템(100)과 같이 등록 서버가 관여하지 않는 실시예와 도 4 내지 도 6의 시스템(200)과 같이 등록 서버가 관여하는 실시예에 대하여 각각 설명한다. 이하 설명하는 생명정보 데이터 전송 과정은 (i)등록서버의 관여 없이 동작하는 예, (ii)등록 서버가 관여하는 예, (iii)등록 서버의 관여 없는 일부 동작과 등록 서버가 관여하는 일부 동작이 조합된 예 등과 같이 다양한 형태로 구현될 수 있다.
도 8은 사용자 등록 내지 인증 과정(400)에 대한 예이다. 도 8은 도 3의 시스템(100)이 동작하는 예이다. 도 8은 사용자 등록 과정 및 사용자 인증 과정을 모두 도시한다.
사용자 등록 과정에 대하여 설명한다. 도 8에서 단말은 사용자 단말(111, 112 또는 113)을 의미한다. 사용자는 생명정보 데이터 생성 의뢰, 생명정보 데이터 저장 및 전송, 생명정보 데이터 공유 등을 하기 위하여 먼저 시스템에 사용자 등록을 해야 한다. 사용자 단말은 사용자 공개키(Puk) 및 암호키(Prk)를 생성할 수 있다(401). 공개키는 일정한 데이터(사용자 개인정보, 전자계약서, 생명정보 데이터 등)의 암호화에 사용되고, 암호키는 데이터 복호에 사용된다.
사용자 단말(111, 112 또는 113)은 자신의 사용자 정보(PI)를 기반으로 해쉬키(Hk)를 생성한다(411). 해쉬키를 생성하는 알고리즘 내지 해쉬 함수는 다양할 수 있다. 해쉬키(Hk)는 현재 해쉬키를 생성한 사용자(단말)에 대한 식별자로 사용된다. 따라서 해쉬키(Hk)는 사용자 특이적인 유일한 정보에 해당한다. 또는 도 8과 달리 사용자 단말(111, 112 또는 113)은 자신의 사용자 정보(PI)를 별도의 서버에 전송하여 서버로부터 해쉬키를 수신할 수도 있다.
사용자 단말(111, 112 또는 113)은 사용자 공개키(Puk), 암호키(Prk) 및 해쉬키(Hk)를 저장 매체에 저장한다(412).
사용자 단말(111, 112 또는 113)은 사용자 공개키(Puk)를 사용하여 사용자 정보(PI)를 암호화하여 암호화된 사용자 정보(PI')를 생성한다(421). 사용자 단말(111, 112 또는 113)은 암호화된 사용자 정보(PI'), 사용자 공개키(Puk) 및 해쉬키(Hk)를 결합하여 사용자 블록 데이터를 생성한다(431). 사용자 단말(111, 112 또는 113)은 생성한 사용자 블록데이터를 사용자 등록서버(221)에 전달한다(432). 사용자 정보 블록체인(231)은 암호화된 사용자 정보(PI'), 사용자 공개키(Puk) 및 해쉬키(Hk)를 포함하는 사용자 블록 데이터를 등록한다(433). 전술한 401 내지 433 과정까지가 사용자 정보 등록 과정에 해당한다.
사용자 인증 과정을 설명한다. 사용자 인증은 생명정보 데이터 제공 서비스의 특정 단계 또는 각 단계에서 필요할 수 있다. 사용자 인증을 통해 인증된 사용자만 이후 단계를 진행할 수 있다. 사용자는 인증에 성공하면 다른 사용자에 대한 정보(공개키, 암호키 또는 해쉬키 등)를 사용자 정보 블록체인(131)을 통해 획득할 수도 있다.
인증이 필요한 사용자는 사용자 단말(111, 112 또는 113)에 자신의 해쉬키(Hk)를 입력한다(441). 입력된 해쉬키(Hk)는 사용자 정보 블록체인(231)에 전송된다(442). 사용자 정보 블록체인(131)은 입력된 해쉬키(Hk)를 기준으로 해당 사용자의 공개키(Puk)를 조회한다(451). 사용자 정보 블록체인(131)은 인증토큰을 생성하고, 해당 사용자의 공개키(Puk)로 인증토큰을 암호화한다(461). 사용자 정보 블록체인(131)은 해쉬키(Hk)를 기준으로 해당 해쉬키를 갖는 사용자 단말(111, 112 또는 113)에 암호화한 인증토큰을 전송한다(462). 사용자 단말(211, 212 또는 213)은 수신한 인증토큰을 복호하여 저장한다(471). 이후 사용자 단말(211, 212 또는 213)은 블록체인과 통신하는 과정에서 인증토큰을 이용할 수 있다. 인증을 요구하는 블록체인은 유효한 인증토큰을 전달하는 사용자 단말에 대해서만 특정 데이터를 제공할 수 있다.
도 9는 사용자 등록 내지 인증 과정(500)에 대한 다른 예이다. 도 9는 도 4 또는 도 5의 시스템(200)이 동작하는 예이다. 도 9는 사용자 등록 과정 및 사용자 인증 과정을 모두 도시한다.
사용자 등록 과정에 대하여 설명한다. 도 9에서 단말은 사용자 단말(211, 212 또는 213)을 의미한다. 사용자는 생명정보 데이터 생산 의뢰, 생명정보 데이터 저장 내지 전송, 생명정보 데이터 공유 등을 하기 위하여 먼저 시스템에 사용자 등록을 해야 한다. 사용자 단말은 사용자 공개키(Puk) 및 암호키(Prk)를 생성할 수 있다(501). 공개키는 일정한 데이터(사용자 개인정보, 전자계약서, 유전체 데이터, 생명정보 데이터 등)의 암호화에 사용되고, 암호키는 데이터 복호에 사용된다.
사용자 등록서버(221)는 해쉬키를 생성할 수 있다. 사용자 단말(211, 212 또는 213)은 자신의 사용자 정보(PI)와 함께 자신의 공유키(Puk)를 사용자 등록 서버(221)에 전달한다(502). 사용자 등록서버(221)는 사용자 정보(PI)를 기준으로 해시키 생성을 요청한 사용자에 대한 해쉬키(Hk)를 생성한다(511). 해쉬키(Hk)는 현재 해쉬키를 요청한 사용자(단말)에 대한 식별자로 사용된다. 따라서 해쉬키(Hk)는 사용자 특이적인 유일한 정보에 해당한다. 사용자 등록서버(221)는 입력된 사용자 정보(PI)를 일정한 해쉬 함수에 입력하여 해쉬키(Hk)를 생성한다. 해쉬키를 생성하는 알고리즘 내지 해쉬 함수는 다양할 수 있다. 사용자 등록서버(221)는 생성한 해쉬키(Hk)를 해쉬키를 요청한 사용자 단말(211, 212 또는 213)에 전달한다(512). 해쉬키를 요청한 사용자 단말(211, 212 또는 213)은 사용자 공개키(Puk), 암호키(Prk) 및 해쉬키(Hk)를 저장 매체에 저장한다(513).
사용자 등록서버(221)는 사용자 공개키(Puk)를 사용하여 사용자 정보(PI)를 암호화하여 암호화된 사용자 정보(PI')를 생성한다(521). 사용자 등록서버(221)는 암호화된 사용자 정보(PI'), 사용자 공개키(Puk) 및 해쉬키(Hk)를 결합하여 사용자 블록 데이터를 생성한다(522). 사용자 등록서버(221)는 생성한 사용자 블록 데이터를 등록한다(522).
사용자 등록서버(221)는 생성한 사용자 블록 데이터를 사용자 정보 블록체인(231)에 전달한다(531). 사용자 정보 블록체인(231)은 암호화된 사용자 정보(PI'), 사용자 공개키(Puk) 및 해쉬키(Hk)를 포함하는 사용자 블록 데이터를 등록한다(532). 전술한 501 내지 532 과정까지가 사용자 정보 등록 과정에 해당한다.
이후 사용자 정보가 위/변조되었는지 확인될 수 있다. 사용자 또는 다른 객체(시스템 내의 서버 또는 위변조 검증을 위한 외부 서버)는 사용자 정보 블록체인(231)에 저장된 기준 블록 데이터와 사용자 등록서버(221)에 등록된 동일한 블록 데이터를 비교하여 사용자 정보가 변경되었는지 확인할 수 있다.
사용자 인증 과정을 설명한다. 사용자 인증은 생명정보 데이터 제공 서비스의 특정 단계 또는 각 단계에서 필요할 수 있다. 사용자 인증을 통해 인증된 사용자만 이후 단계를 진행할 수 있다. 사용자는 인증에 성공하면 다른 사용자에 대한 정보(공개키, 암호키 또는 해쉬키 등)를 사용자 정보 블록체인(231)을 통해 획득할 수도 있다.
인증이 필요한 사용자는 사용자 단말(211, 212 또는 213)에 자신의 해쉬키(Hk)를 입력한다(551). 입력된 해쉬키(Hk)는 사용자 정보 블록체인(231)에 전송된다(552). 사용자 정보 블록체인(231)은 입력된 해쉬키(Hk)를 기준으로 해당 사용자의 공개키(Puk)를 조회한다(561). 사용자 정보 블록체인(231)은 인증토큰을 생성하고, 해당 사용자의 공개키(Puk)로 인증토큰을 암호화한다(571). 사용자 정보 블록체인(231)은 해쉬키(Hk)를 기준으로 해당 해쉬키를 갖는 사용자 단말(211, 212 또는 213)에 암호화한 인증토큰을 전송한다(572). 사용자 단말(211, 212 또는 213)은 수신한 인증토큰을 복호하여 저장한다(581). 이후 사용자 단말(211, 212 또는 213)은 블록체인과 통신하는 과정에서 인증토큰을 이용할 수 있다. 인증을 요구하는 블록체인은 유효한 인증토큰을 전달하는 사용자 단말에 대해서만 특정 데이터를 제공할 수 있다.
도 10은 생명정보 데이터 계약이 수립되는 과정(600)에 대한 예이다. 도 10은 도 3의 시스템(100)이 동작하는 예이다. 도 10은 의뢰자와 생산자 사이에 생명정보 데이터 생산 의뢰에 대한 계약에 대한 예이다. 도 10은 사용자 단말 중 의뢰자에 해당하는 단말(111)을 제1 단말(111)이라고 표시하였고, 사용자 단말 중 생산자에 해당하는 단말(112)을 제2 단말(112)이라고 표시하였다. 제1 단말(111) 및 제2 단말(112)은 사전에 사용자 정보를 등록하였다고 전제한다.
제1 단말(111)은 사용자 정보 블록체인(131)을 이용하여 사용자 인증을 수행한다. 인증에 성공한 제1 단말(111)은 생산자에 대한 정보(사용자 정보)를 기준으로 사용자 정보 블록체인(131)에 생산자를 조회한다(601). 제1 단말(111)은 사용자 정보 블록체인(131)으로부터 생산자에 대한 공개키(P2uk) 및 해쉬키(H2k)를 수신한다(602).
제1 단말(111)은 의뢰 정보를 입력한다(611). 의뢰 정보는 생명정보 데이터 생성을 위한 제반 정보를 의미한다. 예컨대, 의뢰 정보는 유전체 샘플 정보, 생명정보 데이터 정보, 염기서열 해독을 위한 라이브러리 정보, 분석 기일, 분석 방법, 분석 장치 조건 및 의뢰자 정보 중 적어도 하나를 포함할 수 있다. 제1 단말(111)은 의뢰 정보를 공개키(P2uk)로 암호화한다(612).
제1 단말(111)은 해쉬키(H2k) 및 암호화한 의뢰 정보를 포함하는 전자계약서 블록 데이터를 생성한다(621). 제1 단말(111)은 생성한 전자계약서 블록 데이터를 전자계약서 블록체인(132)에 전달한다(622). 전자계약서 블록체인(132)은 암호화된 의뢰 정보 및 해쉬키(H2k) 포함하는 전자계약서 블록 데이터를 등록한다(623).
전자계약서 블록체인(132)은 해쉬키(H2k)를 기준으로 제2 단말(112)에 의뢰 정보가 포함된 전자계약서 블록 데이터를 전송한다(624). 제2 단말(112)은 자신의 암호키로 블록 데이터에 포함된 의뢰 정보를 복호한다(631).
제2 단말(112)은 사용자 정보 블록체인(131)을 통해 본인 인증을 수행할 수 있다(632). 본인 인증에 성공하면 제2 단말(112)은 사용자 정보 블록체인(131)으로부터 의뢰자의 공개키(P1uk) 및 해쉬키(H1k)를 조회하여 수신할 수 있다(632). 한편 의뢰 정보가 의뢰자의 공개키(P1uk) 및 해쉬키(H1k)를 사전에 포함할 수도 있다. 후자의 경우라도 제2 단말(112)이 본인 인증에 성공한 경우에 서명을 수행하는 단계로 진행할 수 있다.
생산자는 의뢰자 공개키에 대칭되는 암호키로 복호한 의뢰 정보를 확인하고, 전자 계약서에 서명을 한다(633). 서명은 생산자에 대한 사용자 인증 정보 및 거래 승인을 증명하는 내용에 해당한다. 제2 단말(112)은 (i) 의뢰 정보 또는 (ii) 의리 정보 및 서명을 의뢰자 공개키(P1uk)로 암호화한다(633). 최종적인 전자계약서는 의뢰자 해쉬키(H1k), 생산자 해쉬키(H2k), 의뢰자 공개키(P1uk)로 암호화한 의뢰 정보, 생산자의 서명키를 포함할 수 있다. 제2 단말(112)은 의뢰자 해쉬키(H1k), 생산자 해쉬키(H2k), 의뢰자 공개키(P1uk)로 암호화한 의뢰 정보, 생산자의 서명키를 포함하는 전자계약서 블록 데이터를 생성한다(641). 제2 단말(112)은 전자계약서 블록 데이터를 전자계약서 블록체인(132)에 전달한다(642). 전자계약서 블록체인(132)는 전자계약서 블록 데이터를 등록한다(643).
이후 전자계약서가 위/변조되었는지 확인될 수 있다. 사용자 또는 다른 객체(시스템 내의 서버 또는 위변조 검증을 위한 외부 서버)는 전자계약서 블록체인(132)에 저장된 기준 블록 데이터와 전자계약서 등록 서버(122)에 등록된 동일한 블록 데이터를 비교하여 전자계약서가 변경되었는지 확인할 수 있다.
전자계약서 블록체인(132)은 의뢰자 해쉬키(H1k)를 기준으로 제1 단말(111)에 전자 계약서를 전달할 수 있다(644). 제1 단말(111)는 수신한 전자 계약서에서 의뢰 정보/서명을 자신의 암호키로 복호하여 계약 내용 및 승인 내용을 확인할 수 있다(651).
공급가 의뢰자의 요청에 대한 거래를 원하지 않은 경우, 생산자는 거래내역에 대한 승인을 증명하는 서명을 넣지 않고 블록데이터를 만들 수 있다. 의뢰자는 서명이 포함되지 않은 전자계약서를 확인하여 계약 실패를 확인할 수 있다.
도 11은 생명정보 데이터 계약이 수립되는 과정(700)에 대한 다른 예이다. 도 11은 도 4 또는 도 5의 시스템(200)이 동작하는 예이다. 도 11은 의뢰자와 생산자 사이에 생명정보 데이터 생성 의뢰 계약에 대한 예이다. 도 11은 사용자 단말 중 의뢰자에 해당하는 단말(211)을 제1 단말(211)이라고 표시하였고, 사용자 단말 중 생산자에 해당하는 단말(212)을 제2 단말(212)이라고 표시하였다. 제1 단말(211) 및 제2 단말(212)은 사전에 사용자 정보를 등록하였다고 전제한다.
제1 단말(211)은 사용자 정보 블록체인(231)을 이용하여 사용자 인증을 수행한다. 인증에 성공한 제1 단말(211)은 생산자에 대한 정보(사용자 정보)를 기준으로 사용자 정보 블록체인(231)에 생산자를 조회한다(701). 제1 단말(211)은 사용자 정보 블록체인(231)으로부터 생산자에 대한 공개키(P2uk) 및 해쉬키(H2k)를 수신한다(702).
제1 단말(211)은 의뢰 정보를 입력한다(711). 의뢰 정보는 생명정보 데이터 생성을 위한 제반 정보를 의미한다. 예컨대, 의뢰 정보는 유전체 샘플 정보, 유전체 데이터 정보, 염기서열 해독을 위한 라이브러리 정보, 분석 기일, 분석 방법, 분석 장치 조건 및 의뢰자 정보 중 적어도 하나를 포함할 수 있다. 제1 단말(211)은 의뢰 정보를 공개키(P2uk)로 암호화한다(712). 제1 단말(211)은 해쉬키(H2k) 및 암호화한 의뢰 정보를 전자계약서 등록 서버(222)에 전송한다(713).
전자계약서 등록 서버(222)는 해쉬키(H2k) 및 암호화한 의뢰 정보를 포함하는 전자계약서 블록 데이터를 생성한다(721). 전자계약서 등록 서버(222)는 생성한 전자계약서 블록 데이터를 등록한다(721).
전자계약서 등록 서버(222)는 생성한 전자계약서 블록 데이터를 전자계약서 블록체인(232)에 전달한다(722). 전자계약서 블록체인(232)은 암호화된 의뢰 정보 및 해쉬키(H2k) 포함하는 전자계약서 블록 데이터를 등록한다(723).
이후 의뢰 정보가 위/변조되었는지 확인될 수 있다. 사용자 또는 다른 객체( 시스템 내의 서버 또는 위변조 검증을 위한 외부 서버)는 전자계약서 블록체인(232)에 저장된 기준 블록 데이터와 전자계약서 등록 서버(222)에 등록된 동일한 블록 데이터를 비교하여 의뢰 정보가 변경되었는지 확인할 수 있다.
전자계약서 블록체인(232)은 해쉬키(H2k)를 기준으로 제2 단말(212)에 의뢰 정보가 포함된 전자계약서 블록 데이터를 전송한다(724). 제2 단말(212)은 자신의 암호키로 블록 데이터에 포함된 의뢰 정보를 복호한다(731). 제2 단말(212)은 사용자 정보 블록체인(231)을 통해 본인 인증을 수행할 수 있다(732). 본인 인증에 성공하면 제2 단말(212)은 사용자 정보 블록체인(231)으로부터 의뢰자의 공개키(P1uk) 및 해쉬키(H1k)를 조회하여 수신할 수 있다(732). 한편 의뢰 정보가 의뢰자의 공개키(P1uk) 및 해쉬키(H1k)를 사전에 포함할 수도 있다. 후자의 경우라도 제2 단말(212)이 본인 인증에 성공한 경우에 서명을 수행하는 단계로 진행할 수 있다.
생산자는 의뢰자 공개키에 대칭되는 암호키로 복호한 의뢰 정보를 확인하고, 전자 계약서에 서명을 한다(733). 서명은 생산자에 대한 사용자 인증 정보 및 거래 승인을 증명하는 내용에 해당한다. 제2 단말(212)은 의뢰 정보, 서명, 해쉬키를 포함하여 블록을 생성할 수 있다. 제2 단말(212)은 (i) 의뢰 정보 또는 (ii) 의리 정보 및 서명을 의뢰자 공개키(P1uk)로 암호화한다(733). 최종적인 전자계약서는 의뢰자 해쉬키(H1k), 생산자 해쉬키(H2k), 의뢰자 공개키(P1uk)로 암호화한 의뢰 정보, 생산자의 서명키를 포함할 수 있다. 생산자는 서명이 포함된 전자 계약서를 발송하고, 생명정보 데이터를 생성한다.
제2 단말(212)은 생성한 전자계약서를 전자계약서 등록 서버(222)에 전송한다(741). 전자계약서 등록 서버(222)는 의뢰자 해쉬키(H1k), 생산자 해쉬키(H2k), 의뢰자 공개키(P1uk)로 암호화한 의뢰 정보, 생산자의 서명키를 포함하는 전자계약서 블록 데이터를 생성한다(742). 전자계약서 등록 서버(222)는 생성한 전자계약서 블록 데이터를 등록한다(742). 전자계약서 블록 데이터를 생성한 블록 데이터를 전자계약서 블록체인(232)에 전달한다(743). 전자계약서 블록체인(232)는 전자계약서 블록 데이터를 등록한다(744).
이후 전자계약서가 위/변조되었는지 확인될 수 있다. 사용자 또는 다른 객체(시스템 내의 서버 또는 위변조 검증을 위한 외부 서버)는 전자계약서 블록체인(232)에 저장된 기준 블록 데이터와 전자계약서 등록 서버(222)에 등록된 동일한 블록 데이터를 비교하여 전자계약서가 변경되었는지 확인할 수 있다.
전자계약서 블록체인(232)은 의뢰자 해쉬키(H1k)를 기준으로 제1 단말(211)에 전자 계약서를 전달할 수 있다(745). 제1 단말(211)는 수신한 전자 계약서에서 의뢰 정보/서명을 자신의 암호키로 복호하여 계약 내용 및 승인 내용을 확인할 수 있다(751).
공급가 의뢰자의 요청에 대한 거래를 원하지 않은 경우, 생산자는 거래내역에 대한 승인을 증명하는 서명을 넣지 않고 블록데이터를 만들 수 있다. 의뢰자는 서명이 포함되지 않은 전자계약서를 확인하여 계약 실패를 확인할 수 있다.
도 12는 메타데이터가 생성되는 과정에 대한 예이다. 도 12는 도 3의 시스템(100)이 동작하는 예이다. 도 12는 사용자 단말 중 의뢰자에 해당하는 단말(111)을 제1 단말(111)이라고 표시하였고, 사용자 단말 중 생산자에 해당하는 단말(112)을 제2 단말(112)이라고 표시하였다. 제1 단말(111) 및 제2 단말(112)은 사전에 사용자 정보를 등록하였다고 전제한다.
제2 단말(112)은 사용자 정보 블록체인(131)을 이용하여 사용자 인증을 수행한다. 인증에 성공한 제1 단말(112)은 의뢰자에 대한 정보(사용자 정보)를 기준으로 사용자 정보 블록체인(131)에 의뢰자를 조회한다(801). 제2 단말(112)은 사용자 정보 블록체인(131)으로부터 의뢰자의 공개키(P1uk) 및 해쉬키(H1k)를 수신한다(802).
제2 단말(212)은 생명정보 데이터를 생성한다(811). 제2 단말(112)은 의뢰자 공개키(P1uk)를 이용하여 생명정보 데이터를 암호화한다(812). 제2 단말(112)은 해쉬키(H1k) 및 암호화된 생명정보 데이터를 포함하는 메타데이터 블록데이터를 생성한다(821). 제2 단말(112)은 생성한 메타데이터 블록데이터를 메타데이터 블록체인(133)에 전달한다(822). 메타데이터 블록체인(133)은 수신한 메타데이터 블록데이터를 등록하여 블록체인을 구성한다(831).
메타데이터는 제1 단말(211)에 자동으로 전송될 수 있다. 또는 제1 단말(111)이 자신의 해쉬키 등을 기준으로 메타데이터를 요청하면(841), 메타데이터 블록체인(133)으로부터 암호화된 메타데이터를 수신할 수 있다(842). 제1 단말(111)은 자신의 암호화키로 메타데이터를 복호하여 확인할 수 있다(843).
도 13은 메타데이터가 생성되는 과정에 대한 다른 예이다. 도 13은 도 4 또는 도 5의 시스템(200)이 동작하는 예이다. 도 13은 사용자 단말 중 의뢰자에 해당하는 단말(211)을 제1 단말(211)이라고 표시하였고, 사용자 단말 중 생산자에 해당하는 단말(212)을 제2 단말(212)이라고 표시하였다. 제1 단말(211) 및 제2 단말(212)은 사전에 사용자 정보를 등록하였다고 전제한다.
제2 단말(212)은 사용자 정보 블록체인(231)을 이용하여 사용자 인증을 수행한다. 인증에 성공한 제1 단말(212)은 의뢰자에 대한 정보(사용자 정보)를 기준으로 사용자 정보 블록체인(231)에 의뢰자를 조회한다(901). 제2 단말(212)은 사용자 정보 블록체인(231)으로부터 의뢰자의 공개키(P1uk) 및 해쉬키(H1k)를 수신한다(902).
제2 단말(212)은 생명정보 데이터를 생성한다(911). 제2 단말(212)은 의뢰자 공개키(P1uk)를 이용하여 생명정보 데이터를 암호화한다(912). 제2 단말(212)은 해쉬키(H1k) 및 암호화된 생명정보 데이터를 메타데이터 등록 서버(223)에 전송한다(913). 메타데이터 등록 서버(223)는 해쉬키(H1k) 및 암호화된 생명정보 데이터를 포함하는 메타데이터 블록데이터를 생성한다(921). 메타데이터 등록 서버(223)는 생성한 메타데이터 블록데이터를 등록한다(921). 메타데이터 등록 서버(223)는 생성한 메타데이터 블록데이터를 메타데이터 블록체인(233)에 전달한다(922). 메타데이터 블록체인(233)은 수신한 메타데이터 블록데이터를 등록하여 블록체인을 구성한다(931).
이후 메타데이터가 위/변조되었는지 확인될 수 있다. 사용자 또는 다른 객체(시스템 내의 서버 또는 위변조 검증을 위한 외부 서버)는 메타데이터 블록체인(233)에 저장된 기준 블록 데이터와 메타데이터 등록 서버(223)에 등록된 동일한 블록 데이터를 비교하여 메타데이터가 변경되었는지 확인할 수 있다.
메타데이터는 제1 단말(211)에 자동으로 전송될 수 있다. 또는 제1 단말(211)이 자신의 해쉬키 등을 기준으로 메타데이터를 요청하면(941), 메타데이터 블록체인(233)으로부터 암호화된 메타데이터를 수신할 수 있다(942). 제1 단말(211)은 자신의 암호화키로 메타데이터를 복호하여 확인할 수 있다(943).
도 14는 생명정보 데이터를 전달하는 과정에 대한 예이다. 도 14는 도 3의 시스템(100)과 유사한 시스템이 동작하는 예이다. 도 14는 데이터 저장 블록체인을 사용하지 않고, 단순하게 데이터를 저장하는 일반적인 저장 서버를 사용하는 예이다. 도 14는 사용자 단말 중 의뢰자에 해당하는 단말(111)을 제1 단말(111)이라고 표시하였고, 사용자 단말 중 생산자에 해당하는 단말(112)을 제2 단말(112)이라고 표시하였다. 제1 단말(111) 및 제2 단말(112)은 사전에 사용자 정보를 등록하였다고 전제한다. 도 14의 과정은 제1 단말(111) 및 제2 단말(112)이 사용자 정보 블록체인(131)을 통해 본인 인증을 하고, 각각 상대방 단말에 대한 정보(공개키, 해쉬키)를 수신했다고 전제한다.
제2 단말(112)은 생명정보 데이터를 생성한다(1001). 제2 단말은 의뢰자의 공개키(P1uk) 및 해쉬키(H1k)를 알고 있는 상태이다. 제2 단말(112)은 의뢰자의 공개키(P1uk)로 생명정보 데이터를 암호화하고, 암호화한 생명정보 데이터를 저장 서버(141, 142)에 전송한다(1002). 제2 단말(112)은 하나의 저장 서버(141 또는 142)에 암호화한 생명정보 데이터를 저장할 수 있다(1011). 또는 제2 단말(212)은 복수의 저장 서버(141, 142 등)에 암호화한 생명정보 데이터를 분산 저장할 수도 있다(1011). 저장 서버(141, 142)는 생명정보 데이터 저장한 후에 저장 정보를 제2 단말(112)에 알려준다(1012). 저장 정보는 저장 서버의 식별자, 저장 매체에서 상기 생명정보 데이터가 저장된 위치, 검증키, 파일 크기 및 파일 분할 정보 중 적어도 하나를 포함할 수 있다. 도 14에서 1001 과정 내지 1012 과정까지가 생명정보 데이터 저장 단계에 해당한다.
제2 단말(112)은 의뢰자의 공개키(P1uk)로 저장 정보를 암호화한다(1021). 제2 단말(112)은 의뢰자의 해쉬키(H1k) 및 암호화한 저장 정보를 포함하는 전송 블록 데이터를 생성할 수 있다(1031). 또는 제2 단말(112)은 의뢰자의 해쉬키(H1k), 생산자의 해쉬키(H2k) 및 암호화한 저장 정보를 포함하는 전송 블록 데이터를 생성할 수 있(1031).
제2 단말(112)은 생성한 전송 블록 데이터를 데이터 전송 블록체인(134)에 전송한다(1032). 데이터 전송 블록체인(134)은 전송 블록 데이터를 등록하여 블록체인을 구성한다(1033).
이후 저장 정보가 위/변조되었는지 확인될 수 있다. 사용자 또는 다른 객체(시스템 내의 서버 또는 위변조 검증을 위한 외부 서버)는 데이터 전송 블록체인(134)에 저장된 기준 블록 데이터와 데이터 전송 등록 서버(124)에 등록된 동일한 블록 데이터를 비교하여 저장 정보가 변경되었는지 확인할 수 있다.
데이터 전송 블록체인(134)은 의뢰자 해쉬키(H1k)를 기준으로 제1 단말(111)에 암호화된 저장 정보를 전송할 수 있다(1034). 제1 단말(111)은 암호화된 저장 정보를 자신의 암호키로 복호하여 저장 정보를 확인한다(1041). 제1 단말(111)은 저장 정보에 따라 생명정보 데이터가 저장된 저장 서버(141, 142)에 생명정보 데이터를 요청하고, 해당 저장 서버로부터 생명정보 데이터를 수신한다(1042). 이때 전달되는 생명정보 데이터는 암호화된 상태이다. 제1 단말(111)은 자신의 암호키로 생명정보 데이터를 복호하여 생명정보 데이터를 확인한다(1043).
도 15는 생명정보 데이터를 전달하는 과정에 대한 다른 예이다. 도 15는 도 6의 시스템(200)과 유사한 시스템이 동작하는 예이다. 도 15는 데이터 저장 블록체인을 사용하지 않고, 단순하게 데이터를 저장하는 일반적인 저장 서버를 사용하는 예이다. 도 15는 사용자 단말 중 의뢰자에 해당하는 단말(211)을 제1 단말(211)이라고 표시하였고, 사용자 단말 중 생산자에 해당하는 단말(212)을 제2 단말(212)이라고 표시하였다. 제1 단말(211) 및 제2 단말(212)은 사전에 사용자 정보를 등록하였다고 전제한다. 도 15의 과정은 제1 단말(211) 및 제2 단말(212)이 사용자 정보 블록체인(231)을 통해 본인 인증을 하고, 각각 상대방 단말에 대한 정보(공개키, 해쉬키)를 수신했다고 전제한다.
제2 단말(212)은 생명정보 데이터를 생성한다(1101). 제2 단말은 의뢰자의 공개키(P1uk) 및 해쉬키(H1k)를 알고 있는 상태이다. 제2 단말(212)은 의뢰자의 공개키(P1uk)로 생명정보 데이터를 암호화하고, 암호화한 생명정보 데이터를 저장 서버(241, 242)에 전송한다(1102). 제2 단말(212)은 하나의 저장 서버(241 또는 242)에 암호화한 생명정보 데이터를 저장할 수 있다(1111). 또는 제2 단말(212)은 복수의 저장 서버(241, 242 등)에 암호화한 생명정보 데이터를 분산 저장할 수도 있다(1111). 저장 서버(241, 242)는 생명정보 데이터 저장한 후에 저장 정보를 제2 단말(212)에 알려준다(1112). 저장 정보는 저장 서버의 식별자, 저장 매체에서 상기 생명정보 데이터가 저장된 위치, 검증키, 파일 크기 및 파일 분할 정보 중 적어도 하나를 포함할 수 있다. 도 15에서 1101 과정 내지 1112 과정까지가 생명정보 데이터 저장 단계에 해당한다.
제2 단말(212)은 의뢰자의 공개키(P1uk)로 저장 정보를 암호화한다(1121). 제2 단말(212)은 의뢰자의 해쉬키(H1k) 및 암호화한 저장 정보를 데이터 전송 등록 서버(224)에 전송할 수 있다(1122). 또는 제2 단말(212)은 의뢰자의 해쉬키(H1k), 생산자의 해쉬키(H2k) 및 암호화한 저장 정보를 데이터 전송 등록 서버(224)에 전송할 수 있다(1122).
데이터 전송 등록 서버(224)는 수신한 해쉬키 및 암호화한 저장 정보를 포함하는 전송 블록 데이터를 생성한다(1131). 데이터 전송 등록 서버(224)는 생성한 전송 블록 데이터를 등록한다(1131).
데이터 전송 등록 서버(224)는 생성한 전송 블록 데이터를 데이터 전송 블록체인(234)에 전송한다(1132). 데이터 전송 블록체인(234)은 전송 블록 데이터를 등록하여 블록체인을 구성한다(1133).
이후 저장 정보가 위/변조되었는지 확인될 수 있다. 사용자 또는 다른 객체(시스템 내의 서버 또는 위변조 검증을 위한 외부 서버)는 데이터 전송 블록체인(234)에 저장된 기준 블록 데이터와 데이터 전송 등록 서버(224)에 등록된 동일한 블록 데이터를 비교하여 저장 정보가 변경되었는지 확인할 수 있다.
데이터 전송 블록체인(234)은 의뢰자 해쉬키(H1k)를 기준으로 제1 단말(211)에 암호화된 저장 정보를 전송할 수 있다(1134). 제1 단말(211)은 암호화된 저장 정보를 자신의 암호키로 복호하여 저장 정보를 확인한다(1141). 제1 단말(211)은 저장 정보에 따라 생명정보 데이터가 저장된 저장 서버(241, 242)에 생명정보 데이터를 요청하고, 해당 저장 서버로부터 생명정보 데이터를 수신한다(1142). 이때 전달되는 생명정보 데이터는 암호화된 상태이다. 제1 단말(211)은 자신의 암호키로 생명정보 데이터를 복호하여 생명정보 데이터를 확인한다(1143).
도 16은 생명정보 데이터를 전달하는 과정에 대한 또 다른 예이다. 도 16은 도 3의 시스템(100)이 동작하는 예이다. 도 16은 사용자 단말 중 의뢰자에 해당하는 단말(111)을 제1 단말(111)이라고 표시하였고, 사용자 단말 중 생산자에 해당하는 단말(112)을 제2 단말(112)이라고 표시하였다. 제1 단말(111) 및 제2 단말(112)은 사전에 사용자 정보를 등록하였다고 전제한다. 도 16은 복수의 저장 서버가 생명정보 데이터를 블록체인 형태로 보유하는 경우이다.
제2 단말(112)은 생명정보 데이터를 생성한다(1201). 제2 단말은 의뢰자의 공개키(P1uk) 및 해쉬키(H1k)를 알고 있는 상태이다. 제2 단말(112)은 의뢰자의 공개키(P1uk)로 생명정보 데이터를 암호화하고, 암호화한 생명정보 데이터를 저장 서버(141, 142)에 전송한다(1211). 이때 제2 단말(212)은 자신의 해쉬키(H2k)를 저장 서버(141, 142)에 전송할 수 있다.
저장 서버(141, 142)는 해쉬키(H2k) 및 암호화된 생명정보 데이터를 저장한다(1222). 복수의 저장 서버(141, 142)는 생명정보 데이터를 분할하여 저장할 수 있다. 복수의 저장 서버 중 하나의 서버(주저장 서버)는 생성된 생명정보 데이터를 그대로 저장하고, 나머지 서버(부저장 서버)는 생명정보 데이터를 분산(분할)하여 저장할 수 있다. 복수의 저장 서버 또는 복수의 부저장 서버는 블록체인을 구성하는 노드가 되어 복수의 저장 서버가 데이터 저장 블록체인을 구성할 수도 있다.
저장 서버(141, 142)는 저장 정보를 블록으로 데이터 저장 블록체인(135)에 전달한다(1231). 데이터 저장 블록체인(135)은 저장 블록데이터를 등록하여 블록체인을 구성한다(1232). 저장 서버(141, 142)가 데이터 저장 블록체인(135)을 구성하는 노드가 될 수 있다. 또는 별도의 서버를 사용하여 데이터 저장 블록체인(135)를 구성할 수도 있다.
데이터 저장 블록체인(135)은 해쉬키(H2k)를 기준으로 저장 정보가 포함된 블록 데이터를 제2 단말(112)에 전달한다(1233). 저장 정보는 저장 서버의 식별자, 저장 매체에서 상기 생명정보 데이터가 저장된 위치, 검증키, 파일 크기 및 파일 분할 정보 중 적어도 하나를 포함할 수 있다. 도 16에서 1201 과정 내지 1233 과정까지가 생명정보 데이터 저장 단계에 해당한다.
제2 단말(112)은 의뢰자의 공개키(P1uk)로 저장 정보를 암호화한다(1251). 제2 단말(112)은 의뢰자의 해쉬키(H1k) 및 암호화한 저장 정보를 포함하는 전송 블록 데이터를 생성할 수 있다(1261). 또는 제2 단말(212)은 의뢰자의 해쉬키(H1k), 생산자의 해쉬키(H2k) 및 암호화한 저장 정보를 포함하는 전송 블록 데이터를 생성할 수 있다(1261). 제2 단말(112)은 생성한 전송 블록 데이터를 데이터 전송 블록체인(134)에 전송한다(1262). 데이터 전송 블록체인(234)은 전송 블록 데이터를 등록하여 블록체인을 구성한다(1263).
데이터 전송 블록체인(134)은 의뢰자 해쉬키(H1k)를 기준으로 제1 단말(111)에 암호화된 저장 정보를 전송할 수 있다(1264). 제1 단말(111)은 암호화된 저장 정보를 자신의 암호키로 복호하여 저장 정보를 확인한다(1271). 제1 단말(111)은 저장 정보에 따라 생명정보 데이터가 저장된 저장 서버(141, 142)에 생명정보 데이터를 요청하고, 해당 저장 서버로부터 생명정보 데이터를 수신한다(1272). 이때 전달되는 생명정보 데이터는 암호화된 상태이다. 제1 단말(111)은 자신의 암호키로 생명정보 데이터를 복호하여 생명정보 데이터를 확인한다(1281).
도 17은 생명정보 데이터를 전달하는 과정에 대한 또 다른 예이다. 도 17은 도 4 또는 도 5의 시스템(200)이 동작하는 예이다. 도 17은 사용자 단말 중 의뢰자에 해당하는 단말(211)을 제1 단말(211)이라고 표시하였고, 사용자 단말 중 생산자에 해당하는 단말(212)을 제2 단말(212)이라고 표시하였다. 제1 단말(211) 및 제2 단말(212)은 사전에 사용자 정보를 등록하였다고 전제한다. 도 17은 복수의 저장 서버가 생명정보 데이터를 블록체인 형태로 보유하는 경우이다.
제2 단말(212)은 생명정보 데이터를 생성한다(1301). 제2 단말은 의뢰자의 공개키(P1uk) 및 해쉬키(H1k)를 알고 있는 상태이다. 제2 단말(212)은 의뢰자의 공개키(P1uk)로 생명정보 데이터를 암호화하고, 암호화한 생명정보 데이터를 정보 저장 등록 서버(225)에 전송한다(1311). 이때 제2 단말(212)은 자신의 해쉬키(H2k)를 정보 저장 등록 서버(225)에 전송할 수 있다. 정보 저장 등록 서버(225)는 해쉬키(H2k) 및 생명정보 데이터를 저장 서버(241, 242)에 전달한다(1321). 복수의 저장 서버(241, 242)는 생명정보 데이터를 분할하여 저장할 수 있다(1322). 복수의 저장 서버 중 하나의 서버(주저장 서버)는 생성된 생명정보 데이터를 그대로 저장하고, 나머지 서버(부저장 서버)는 생명정보 데이터를 분산(분할)하여 저장할 수 있다. 복수의 저장 서버 또는 복수의 부저장 서버는 블록체인을 구성하는 노드가 되어 복수의 저장 서버가 데이터 저장 블록체인을 구성할 수도 있다.
저장 서버(241, 242)는 저장 정보를 블록으로 데이터 저장 블록체인(235)에 전달한다(1331). 데이터 저장 블록체인(235)은 저장 블록데이터를 등록하여 블록체인을 구성한다(1332). 저장 서버(241, 242)가 데이터 저장 블록체인(235)을 구성하는 노드가 될 수 있다. 또는 별도의 서버를 사용하여 데이터 저장 블록체인(235)를 구성할 수도 있다.
데이터 저장 블록체인(235)은 해쉬키(H2k)를 기준으로 저장 정보가 포함된 블록 데이터를 제2 단말(212)에 전달한다(1333). 저장 정보는 저장 서버의 식별자, 저장 매체에서 상기 생명정보 데이터가 저장된 위치, 검증키, 파일 크기 및 파일 분할 정보 중 적어도 하나를 포함할 수 있다. 도 17에서 1301 과정 내지 1333 과정까지가 생명정보 데이터 저장 단계에 해당한다.
제2 단말(212)은 의뢰자의 공개키(P1uk)로 저장 정보를 암호화한다(1351). 제2 단말(212)은 의뢰자의 해쉬키(H1k) 및 암호화한 저장 정보를 데이터 전송 등록 서버(224)에 전송한다(1352). 또는 제2 단말(212)은 의뢰자의 해쉬키(H1k), 생산자의 해쉬키(H2k) 및 암호화한 저장 정보를 데이터 전송 등록 서버(224)에 전송할 수 있다(1352).
데이터 전송 등록 서버(224)는 수신한 해쉬키 및 암호화한 저장 정보를 포함하는 전송 블록 데이터를 생성한다(1361). 데이터 전송 등록 서버(224)는 생성한 전송 블록 데이터를 등록한다(1361).
데이터 전송 등록 서버(224)는 생성한 전송 블록 데이터를 데이터 전송 블록체인(234)에 전송한다(1362). 데이터 전송 블록체인(234)은 전송 블록 데이터를 등록하여 블록체인을 구성한다(1363).
이후 저장 정보가 위/변조되었는지 확인될 수 있다. 사용자 또는 다른 객체(시스템 내의 서버 또는 위변조 검증을 위한 외부 서버)는 데이터 전송 블록체인(234)에 저장된 기준 블록 데이터와 데이터 전송 등록 서버(224)에 등록된 동일한 블록 데이터를 비교하여 저장 정보가 변경되었는지 확인할 수 있다.
데이터 전송 블록체인(234)은 의뢰자 해쉬키(H1k)를 기준으로 제1 단말(211)에 암호화된 저장 정보를 전송할 수 있다(1364). 제1 단말(211)은 암호화된 저장 정보를 자신의 암호키로 복호하여 저장 정보를 확인한다(1371). 제1 단말(211)은 저장 정보에 따라 생명정보 데이터가 저장된 저장 서버(241, 242)에 생명정보 데이터를 요청하고, 해당 저장 서버로부터 생명정보 데이터를 수신한다(1372). 이때 전달되는 생명정보 데이터는 암호화된 상태이다. 제1 단말(211)은 자신의 암호키로 생명정보 데이터를 복호하여 생명정보 데이터를 확인한다(1381).
도 18은 생명정보 데이터를 제3자에게 공유하는 과정에 대한 예이다. 도 18은 도 3의 시스템(100)이 동작하는 예이다. 도 11은 의뢰자가 생산자가 제공한 생명정보 데이터를 제3자에게 공유하는 예이다. 도 11은 사용자 단말 중 의뢰자에 해당하는 단말(111)을 제1 단말(111)이라고 표시하였고, 사용자 단말 중 제3자에 해당하는 단말(113)을 제3 단말(113)이라고 표시하였다. 제1 단말(111) 및 제3 단말(113)은 사전에 사용자 정보를 등록하였다고 전제한다.
제1 단말(111)은 사용자 정보 블록체인(131)을 이용하여 사용자 인증을 수행한다. 인증에 성공한 제1 단말(111)은 생산자에 대한 정보(사용자 정보)를 기준으로 사용자 정보 블록체인(131)에 제3자를 조회한다(1401). 제1 단말(111)은 사용자 정보 블록체인(131)으로부터 제3자에 대한 공개키(P3uk) 및 해쉬키(H3k)를 수신한다(1402).
제1 단말(111)은 계약 정보를 입력한다(1411). 계약 정보는 의뢰자와 제3자 사이의 계약 정보에 해당한다. 계약 정보는 새로운 계약 조건을 포함한다. 예컨대, 계약 정보는 생명정보 데이터를 제3자에게 공유하기 위한 정보를 포함할 수 있다. 이 경우 계약 정보는 전술한 저장 정보, 공유 기간, 공유 조건, 유전체 샘플 정보, 생명정보 데이터 정보, 염기서열 해독을 위한 라이브러리 정보, 분석 기일, 분석 방법, 분석 장치 조건, 생산자 정보 및 의뢰자 정보 중 적어도 하나를 포함할 수 있다. 제1 단말(111)은 공유 정보를 공개키(P3uk)로 암호화한다(1412). 제1 단말(111)은 해쉬키(H3k) 및 암호화한 계약 정보를 포함하는 전자계약서 블록 데이터를 생성한다(1421). 제1 단말(111)은 생성한 전자계약서 블록 데이터를 전자계약서 블록체인(132)에 전달한다(1422). 전자계약서 블록체인(132)은 암호화된 공유 정보 및 해쉬키(H2k) 포함하는 전자계약서 블록 데이터를 등록한다(1423).
전자계약서 블록체인(132)은 해쉬키(H3k)를 기준으로 제3 단말(113)에 계약 정보가 포함된 전자계약서 블록 데이터를 전송한다(1424). 제3 단말(113)은 자신의 암호키로 블록 데이터에 포함된 공유 정보를 복호한다(1431). 제3 단말(113)은 사용자 정보 블록체인(131)을 통해 본인 인증을 수행할 수 있다(1432). 본인 인증에 성공하면 제3 단말(113)은 사용자 정보 블록체인(131)으로부터 의뢰자의 공개키(P1uk) 및 해쉬키(H1k)를 조회하여 수신할 수 있다(1432). 한편 공유 정보가 의뢰자의 공개키(P1uk) 및 해쉬키(H1k)를 사전에 포함할 수도 있다. 후자의 경우라도 제3 단말(113)이 본인 인증에 성공한 경우에 서명을 수행하는 단계로 진행할 수 있다.
제3자는 자신의 암호키로 복호한 공유 정보를 확인하고, 전자 계약서에 서명을 한다(1433). 서명은 사용자 인증 정보 및 거래 승인을 증명하는 내용에 해당한다. 제3 단말(113)은 계약 정보, 서명, 해쉬키를 포함하여 블록을 생성할 수 있다. 제3 단말(113)은 (i) 계약 정보 또는 (ii) 계약 정보 및 서명을 의뢰자 공개키(P1uk)로 암호화한다(1433). 최종적인 전자계약서는 의뢰자 해쉬키(H1k), 제3자 해쉬키(H3k), 의뢰자 공개키(P1uk)로 암호화한 계약 정보, 제3자의 서명키를 포함할 수 있다.
제3 단말(113)은 의뢰자 해쉬키(H1k), 제3자 해쉬키(H3k), 의뢰자 공개키(P1uk)로 암호화한 계약 정보, 제3자의 서명키를 포함하는 전자계약서 블록 데이터를 생성한다(1441). 제3 단말(113)은 전자계약서 블록 데이터를 전자계약서 블록체인(132)에 전달한다(1442). 전자계약서 블록체인(132)는 전자계약서 블록 데이터를 등록한다(1443).
전자계약서 블록체인(132)은 의뢰자 해쉬키(H1k)를 기준으로 제1 단말(111)에 전자 계약서를 전달할 수 있다(1451). 제1 단말(211)는 수신한 전자 계약서에서 계약 정보/서명을 자신의 암호키로 복호하여 계약 내용 및 승인 내용을 확인할 수 있다(1452).
도 18에 구체적으로 표시하지 않았지만 데이터 전송 블록체인(134)에 저장된 전송 블록 데이터가 갱신된다(1461). 구체적으로 서명하면 제1 단말(111)은 제3자 공개키(P3uk)로 암호화된 저장 정보를 포함하는 전송 블록데이터를 데이터 전송 블록체인(234)에 전달하여 저장할 수 있다. 또한 제1 단말(111)은 생명정보 데이터를 제3자 공개키(P3uk)로 암호화하여 복수의 저장 서버를 통해 데이터 저장 블록체인(135)에 사전에 저장할 수 있다.
이후 제3 단말(113)은 의뢰자 해쉬키(H1k)를 기준으로 데이터 전송 블록체인(134)으로부터 전송 블록 데이터를 수신한다(1471). 저장정보는 암호화된 상태이다. 제3 단말(113)은 자신의 암호키로 저장 정보를 복호한다(1472). 제3 단말(113)은 복호한 저장 정보를 기준으로 저장 서버(141, 142)에 생명정보 데이터를 요청하고(1481), 생명정보 데이터를 수신한다(1482). 제3 단말(113)은 자신의 암호키로 생명정보 데이터를 복호할 수 있다(1491).
기본적으로 의뢰자가 생명정보 데이터 생산 계약에서 갑의 지위에 있으므로, 도 18은 생명정보 데이터를 공유하는 주체도 의뢰자로 설명하였다. 다만 사전에 계약된 조건에 따라 생산자가 생명정보 데이터를 제3자에게 공유할 수도 있을 것이다. 이 경우 도 18에서 제2 단말(112)이 제1 단말(111)의 동작을 수행하면 된다.
도 19는 생명정보 데이터를 제3자에게 공유하는 과정에 대한 다른 예이다. 도 19는 도 4 또는 도 5의 시스템(200)이 동작하는 예이다. 도 19는 의뢰자가 생산자가 제공한 생명정보 데이터를 제3자에게 공유하는 예이다. 도 19는 사용자 단말 중 의뢰자에 해당하는 단말(211)을 제1 단말(211)이라고 표시하였고, 사용자 단말 중 제3자에 해당하는 단말(213)을 제3 단말(213)이라고 표시하였다. 제1 단말(211) 및 제3 단말(213)은 사전에 사용자 정보를 등록하였다고 전제한다.
제1 단말(211)은 사용자 정보 블록체인(231)을 이용하여 사용자 인증을 수행한다. 인증에 성공한 제1 단말(211)은 생산자에 대한 정보(사용자 정보)를 기준으로 사용자 정보 블록체인(231)에 제3자를 조회한다(1501). 제1 단말(211)은 사용자 정보 블록체인(231)으로부터 제3자에 대한 공개키(P3uk) 및 해쉬키(H3k)를 수신한다(1502).
제1 단말(211)은 계약 정보를 입력한다(1511). 계약 정보는 의뢰자와 제3자 사이의 계약 정보에 해당한다. 계약 정보는 의뢰자와 제3자 사이의 계약 정보에 해당한다. 계약 정보는 새로운 계약 조건을 포함한다. 예컨대, 계약 정보는 생명정보 데이터를 제3자에게 공유하기 위한 정보를 포함할 수 있다. 이 경우 계약 정보는 전술한 저장 정보, 공유 기간, 공유 조건, 유전체 샘플 정보, 유전체 데이터 정보, 염기서열 해독을 위한 라이브러리 정보, 분석 기일, 분석 방법, 분석 장치 조건, 생산자 정보 및 의뢰자 정보 중 적어도 하나를 포함할 수 있다. 제1 단말(211)은 계약 정보를 공개키(P3uk)로 암호화한다(1512). 제1 단말(211)은 해쉬키(H3k) 및 암호화한 의뢰 정보를 전자계약서 등록 서버(222)에 전송한다(1513).
전자계약서 등록 서버(222)는 해쉬키(H3k) 및 암호화한 계약 정보를 포함하는 전자계약서 블록 데이터를 생성한다(1521). 전자계약서 등록 서버(222)는 생성한 전자계약서 블록 데이터를 등록한다(1521).
전자계약서 등록 서버(222)는 생성한 전자계약서 블록 데이터를 전자계약서 블록체인(232)에 전달한다(1522). 전자계약서 블록체인(232)은 암호화된 계약 정보 및 해쉬키(H2k) 포함하는 전자계약서 블록 데이터를 등록한다(1523).
이후 계약 정보가 위/변조되었는지 확인될 수 있다. 사용자 또는 다른 객체(시스템 내의 서버 또는 위변조 검증을 위한 외부 서버)는 전자계약서 블록체인(232)에 저장된 기준 블록 데이터와 전자계약서 등록 서버(222)에 등록된 동일한 블록 데이터를 비교하여 계약 정보가 변경되었는지 확인할 수 있다.
전자계약서 블록체인(232)은 해쉬키(H3k)를 기준으로 제3 단말(213)에 계약 정보가 포함된 전자계약서 블록 데이터를 전송한다(1524). 제3 단말(213)은 자신의 암호키로 블록 데이터에 포함된 계약 정보를 복호한다(1531). 제3 단말(213)은 사용자 정보 블록체인(231)을 통해 본인 인증을 수행할 수 있다(1532). 본인 인증에 성공하면 제3 단말(213)은 사용자 정보 블록체인(231)으로부터 의뢰자의 공개키(P1uk) 및 해쉬키(H1k)를 조회하여 수신할 수 있다(1532). 한편 계약 정보가 의뢰자의 공개키(P1uk) 및 해쉬키(H1k)를 사전에 포함할 수도 있다. 후자의 경우라도 제3 단말(213)이 본인 인증에 성공한 경우에 서명을 수행하는 단계로 진행할 수 있다.
생산자는 자신의 암호키로 복호한 계약 정보를 확인하고, 전자 계약서에 서명을 한다(1533). 서명은 생산자에 대한 사용자 인증 정보 및 거래 승인을 증명하는 내용에 해당한다. 제3 단말(213)은 계약 정보, 서명, 해쉬키를 포함하여 블록을 생성할 수 있다. 제3 단말(213)은 (i) 계약 정보 또는 (ii) 의리 정보 및 서명을 의뢰자 공개키(P1uk)로 암호화한다(1533). 최종적인 전자계약서는 의뢰자 해쉬키(H1k), 제3자 해쉬키(H3k), 의뢰자 공개키(P1uk)로 암호화한 계약 정보, 제3자의 서명키를 포함할 수 있다. 제3자는 서명이 포함된 전자 계약서를 발송하고, 생명정보 데이터를 생성한다.
제3 단말(213)은 생성한 전자계약서를 전자계약서 등록 서버(222)에 전송한다(1541). 전자계약서 등록 서버(222)는 의뢰자 해쉬키(H1k), 제3자 해쉬키(H3k), 의뢰자 공개키(P1uk)로 암호화한 계약 정보, 제3자의 서명키를 포함하는 전자계약서 블록 데이터를 생성한다(1542). 전자계약서 등록 서버(222)는 생성한 전자계약서 블록 데이터를 등록한다(1542). 전자계약서 블록 데이터를 생성한 블록 데이터를 전자계약서 블록체인(232)에 전달한다(1543). 전자계약서 블록체인(232)는 전자계약서 블록 데이터를 등록한다(1544).
이후 전자계약서가 위/변조되었는지 확인될 수 있다. 사용자 또는 다른 객체(시스템 내의 서버 또는 위변조 검증을 위한 외부 서버)는 전자계약서 블록체인(232)에 저장된 기준 블록 데이터와 전자계약서 등록 서버(222)에 등록된 동일한 블록 데이터를 비교하여 전자계약서가 변경되었는지 확인할 수 있다.
전자계약서 블록체인(232)은 의뢰자 해쉬키(H1k)를 기준으로 제1 단말(211)에 전자 계약서를 전달할 수 있다(1545). 제1 단말(211)는 수신한 전자 계약서에서 계약 정보/서명을 자신의 암호키로 복호하여 계약 내용 및 승인 내용을 확인할 수 있다(1551).
도 19에 구체적으로 표시하지 않았지만 데이터 전송 블록체인(234)에 저장된 전송 블록 데이터가 갱신된다(1561). 구체적으로 서명하면 제1 단말(211)은 저장 정보를 제3자 공개키(P3uk)로 암호화하여 데이터 전송 등록 서버(224)에 전달할 수 있다. 데이터 전송 등록 서버(224)는 암호화된 저장 정보를 데이터 전송 블록체인(234)에 전달하여 저장할 수 있다. 또 제1 단말(211)은 생명정보 데이터를 제3자 공개키(P3uk)로 암호화하여 정보 저장 등록 서버(225)에 전달할 수 있다. 정보 저장 등록 서버(225)는 암호화된 생명정보 데이터를 복수의 저장 서버를 통해 유전정보 저장 블록체인(235)에 사전에 저장할 수 있다.
이후 제3 단말(213)은 의뢰자 해쉬키(H1k)를 기준으로 데이터 전송 블록체인(234)으로부터 저장정보 블록 데이터(1571)를 수신한다. 저장정보는 암호화된 상태이다. 제3 단말(213)은 자신의 암호키로 저장 정보를 복호한다(1572). 제3 단말(213)은 복호한 저장 정보를 기준으로 저장 서버(241, 242)에 생명정보 데이터를 요청하고(1581), 생명정보 데이터를 수신한다(1582). 제3 단말(213)은 자신의 암호키로 생명정보 데이터를 복호할 수 있다(1591).
기본적으로 의뢰자가 생명정보 데이터 생성 계약에서 갑의 지위에 있으므로, 도 19는 생명정보 데이터를 공유하는 주체도 의뢰자로 설명하였다. 다만 사전에 계약된 조건에 따라 생산자가 생명정보 데이터를 제3자에게 공유할 수도 있을 것이다. 이 경우 도 19에서 제2 단말(212)이 제1 단말(211)의 동작을 수행하면 된다.
도 20은 계약을 갱신하는 과정에 대한 예이다. 도 20은 도 3의 시스템(100)이 동작하는 예이다. 도 20은 의뢰자와 생산자 사이의 계약 정보를 변경 내지 갱신하는 과정에 대한 예이다. 도 20은 의뢰자와 생산자를 기준으로 설명하였으나, 의뢰자와 제3자 사이의 계약 갱신도 동일한 프로세스에 따른다. 도 20은 사용자 단말 중 의뢰자에 해당하는 단말(111)을 제1 단말(111)이라고 표시하였고, 사용자 단말 중 제3자에 해당하는 단말(113)을 제3 단말(113)이라고 표시하였다. 제1 단말(111) 및 제2 단말(113)은 사전에 사용자 정보를 등록하였다고 전제한다.
제1 단말(111)은 사용자 정보 블록체인(131)을 이용하여 사용자 인증을 수행한다. 인증에 성공한 제1 단말(111)은 생산자에 대한 정보(사용자 정보)를 기준으로 사용자 정보 블록체인(131)에 제3자를 조회한다(1601). 제1 단말(111)은 사용자 정보 블록체인(131)으로부터 생산자에 대한 공개키(P2uk) 및 해쉬키(H2k)를 수신한다(1602).
제1 단말(111)은 갱신 정보를 입력한다(1611). 갱신 정보는 계약을 내용을 변경하는 정보를 포함한다. 예컨대, 갱신 정보는 계약 기간 변경, 의뢰 내용 변경, 계약 주체 변경, 계약 해지 요구, 계약 종료 정보, 생명정보 데이터 삭제 요청, 생성된 데이터 삭제 요청 등을 포함할 수 있다. 갱신 정보가 특정 데이터의 삭제 요청인 경우 대상 데이터의 식별자, 생산자 정보, 의뢰자 정보, 삭제 조건 등을 포함할 수 있다. 제1 단말(211)은 갱신 정보를 공개키(P2uk)로 암호화한다(1612). 제1 단말(111)은 해쉬키(H2k) 및 암호화한 갱신 정보를 포함하는 전자계약서 블록 데이터를 생성한다(1621). 제1 단말(111)은 생성한 전자계약서 블록 데이터를 전자계약서 블록체인(232)에 전달한다(1622). 전자계약서 블록체인(132)은 암호화된 갱신 정보 및 해쉬키(H2k) 포함하는 전자계약서 블록 데이터를 등록한다(1623).
전자계약서 블록체인(132)은 해쉬키(H2k)를 기준으로 제2 단말(112)에 갱신 정보가 포함된 전자계약서 블록 데이터를 전송한다(1624). 제2 단말(112)은 자신의 암호키로 블록 데이터에 포함된 갱신 정보를 복호한다(1631). 제2 단말(112)은 사용자 정보 블록체인(131)을 통해 본인 인증을 수행할 수 있다(1632). 본인 인증에 성공하면 제2 단말(112)은 사용자 정보 블록체인(131)으로부터 의뢰자의 공개키(P1uk) 및 해쉬키(H1k)를 조회하여 수신할 수 있다(1632). 한편 갱신 정보가 의뢰자의 공개키(P1uk) 및 해쉬키(H1k)를 사전에 포함할 수도 있다. 후자의 경우라도 제2 단말(112)이 본인 인증에 성공한 경우에 서명을 수행하는 단계로 진행할 수 있다.
생산자는 의뢰자 공개키에 대칭되는 암호키로 복호한 갱신 정보를 확인하고, 전자 계약서에 서명을 한다(1633). 서명은 사용자 인증 정보 및 거래 승인을 증명하는 내용에 해당한다. 제2 단말(`12)은 (i) 갱신 정보 또는 (ii) 의리 정보 및 서명을 의뢰자 공개키(P1uk)로 암호화한다(1633). 최종적인 전자계약서는 의뢰자 해쉬키(H1k), 생산자 해쉬키(H2k), 의뢰자 공개키(P1uk)로 암호화한 갱신 정보, 생산자의 서명키를 포함할 수 있다. 생산자는 서명이 포함된 전자 계약서를 발송하고, 삭제 대상인 데이터를 삭제한다.
제2 단말(112)은 의뢰자 해쉬키(H1k), 생산자 해쉬키(H2k), 의뢰자 공개키(P1uk)로 암호화한 갱신 정보, 생산자의 서명키를 포함하는 전자계약서 블록 데이터를 생성한다(1641). 제2 단말(112)은 전자계약서 블록 데이터를 전자계약서 블록체인(132)에 전달한다(1642). 전자계약서 블록체인(132)는 전자계약서 블록 데이터를 등록한다(1643).
전자계약서 블록체인(132)은 의뢰자 해쉬키(H1k)를 기준으로 제1 단말(111)에 전자 계약서를 전달할 수 있다(1644). 제1 단말(111)는 수신한 전자 계약서에서 갱신 정보/서명을 자신의 암호키로 복호하여 계약 내용 및 승인 내용을 확인할 수 있다(1651).
도 21은 계약을 갱신하는 과정에 대한 다른 예이다. 도 21은 도 4 또는 도 5의 시스템(200)이 동작하는 예이다. 도 21은 의뢰자와 생산자 사이의 계약 정보를 변경 내지 갱신하는 과정에 대한 예이다. 도 21은 의뢰자와 생산자를 기준으로 설명하였으나, 의뢰자와 제3자 사이의 계약 갱신도 동일한 프로세스에 따른다. 도 21은 계약이 종료되거나, 조건이 변경되어 특정 데이터를 삭제하는 내용으로 계약을 갱신하는 예이다. 다른 말로 하면 특정 데이터를 삭제하기 위한 과정이라고 할 수도 있다. 도 21은 사용자 단말 중 의뢰자에 해당하는 단말(211)을 제1 단말(211)이라고 표시하였고, 사용자 단말 중 제3자에 해당하는 단말(213)을 제3 단말(213)이라고 표시하였다. 제1 단말(211) 및 제2 단말(213)은 사전에 사용자 정보를 등록하였다고 전제한다.
제1 단말(211)은 사용자 정보 블록체인(231)을 이용하여 사용자 인증을 수행한다. 인증에 성공한 제1 단말(211)은 생산자에 대한 정보(사용자 정보)를 기준으로 사용자 정보 블록체인(231)에 제3자를 조회한다(1701). 제1 단말(211)은 사용자 정보 블록체인(231)으로부터 생산자에 대한 공개키(P2uk) 및 해쉬키(H2k)를 수신한다(1702).
제1 단말(211)은 갱신 정보를 입력한다(1711). 갱신 정보는 계약을 내용을 변경하는 정보를 포함한다. 예컨대, 갱신 정보는 계약 기간 변경, 의뢰 내용 변경, 계약 주체 변경, 계약 해지 요구, 계약 종료 정보, 생명정보 데이터 삭제 요청, 생성된 데이터 삭제 요청 등을 포함할 수 있다. 갱신 정보가 특정 데이터의 삭제 요청인 경우 대상 데이터의 식별자, 생산자 정보, 의뢰자 정보, 삭제 조건 등을 포함할 수 있다. 제1 단말(211)은 갱신 정보를 공개키(P2uk)로 암호화한다(1712). 제1 단말(211)은 해쉬키(H2k) 및 암호화한 갱신 정보를 전자계약서 등록 서버(222)에 전송한다(1713).
전자계약서 등록 서버(222)는 해쉬키(H2k) 및 암호화한 갱신 정보를 포함하는 전자계약서 블록 데이터를 생성한다(1721). 전자계약서 등록 서버(222)는 생성한 전자계약서 블록 데이터를 등록한다(1721).
전자계약서 등록 서버(222)는 생성한 전자계약서 블록 데이터를 전자계약서 블록체인(232)에 전달한다(1722). 전자계약서 블록체인(232)은 암호화된 갱신 정보 및 해쉬키(H2k) 포함하는 전자계약서 블록 데이터를 등록한다(1723).
이후 갱신 정보가 위/변조되었는지 확인될 수 있다. 사용자 또는 다른 객체(시스템 내의 서버 또는 위변조 검증을 위한 외부 서버)는 전자계약서 블록체인(232)에 저장된 기준 블록 데이터와 전자계약서 등록 서버(222)에 등록된 동일한 블록 데이터를 비교하여 갱신 정보가 변경되었는지 확인할 수 있다.
전자계약서 블록체인(232)은 해쉬키(H2k)를 기준으로 제2 단말(212)에 갱신 정보가 포함된 전자계약서 블록 데이터를 전송한다(1724). 제2 단말(212)은 자신의 암호키로 블록 데이터에 포함된 갱신 정보를 복호한다(1731). 제2 단말(212)은 사용자 정보 블록체인(231)을 통해 본인 인증을 수행할 수 있다(1732). 본인 인증에 성공하면 제2 단말(212)은 사용자 정보 블록체인(231)으로부터 의뢰자의 공개키(P1uk) 및 해쉬키(H1k)를 조회하여 수신할 수 있다(1732). 한편 갱신 정보가 의뢰자의 공개키(P1uk) 및 해쉬키(H1k)를 사전에 포함할 수도 있다. 후자의 경우라도 제2 단말(212)이 본인 인증에 성공한 경우에 서명을 수행하는 단계로 진행할 수 있다.
생산자는 의뢰자 공개키에 대칭되는 암호키로 복호한 갱신 정보를 확인하고, 전자 계약서에 서명을 한다(1733). 서명은 생산자에 대한 사용자 인증 정보 및 거래 승인을 증명하는 내용에 해당한다. 제2 단말(212)은 갱신 정보, 서명, 해쉬키를 포함하여 블록을 생성할 수 있다. 제2 단말(212)은 (i) 갱신 정보 또는 (ii) 의리 정보 및 서명을 의뢰자 공개키(P1uk)로 암호화한다(1733). 최종적인 전자계약서는 의뢰자 해쉬키(H1k), 생산자 해쉬키(H2k), 의뢰자 공개키(P1uk)로 암호화한 갱신 정보, 생산자의 서명키를 포함할 수 있다. 생산자는 서명이 포함된 전자 계약서를 발송하고, 삭제 대상인 데이터를 삭제한다.
제2 단말(212)은 생성한 전자계약서를 전자계약서 등록 서버(222)에 전송한다(1741). 전자계약서 등록 서버(222)는 의뢰자 해쉬키(H1k), 생산자 해쉬키(H2k), 의뢰자 공개키(P1uk)로 암호화한 갱신 정보, 생산자의 서명키를 포함하는 전자계약서 블록 데이터를 생성한다(1742). 전자계약서 등록 서버(222)는 생성한 전자계약서 블록 데이터를 등록한다(1742). 전자계약서 블록 데이터를 생성한 블록 데이터를 전자계약서 블록체인(232)에 전달한다(1743). 전자계약서 블록체인(232)는 전자계약서 블록 데이터를 등록한다(1744).
이후 전자계약서가 위/변조되었는지 확인될 수 있다. 사용자 또는 다른 객체(시스템 내의 서버 또는 위변조 검증을 위한 외부 서버)는 전자계약서 블록체인(232)에 저장된 기준 블록 데이터와 전자계약서 등록 서버(222)에 등록된 동일한 블록 데이터를 비교하여 전자계약서가 변경되었는지 확인할 수 있다.
전자계약서 블록체인(232)은 의뢰자 해쉬키(H1k)를 기준으로 제1 단말(211)에 전자 계약서를 전달할 수 있다(1745). 제1 단말(211)는 수신한 전자 계약서에서 갱신 정보/서명을 자신의 암호키로 복호하여 계약 내용 및 승인 내용을 확인할 수 있다(1751).
도 22는 생명정보 데이터 및 관련 데이터가 삭제되는 과정에 대한 예이다. 도 22는 계약 갱신에 따른 동작 중 특정 데이터를 삭제하는 과정에 대한 예이다. 도 22는 도 3의 시스템(100)이 동작하는 예이다. 도 22는 사용자 단말 중 의뢰자에 해당하는 단말(111)을 제1 단말(111)이라고 표시하였고, 사용자 단말 중 생산자에 해당하는 단말(111)을 제2 단말(112)이라고 표시하였다. 제1 단말(111) 및 제2 단말(112)은 사전에 사용자 정보를 등록하였다고 전제한다.
도 22는 메타데이터, 저장 블록데이터 및 전송 블록 데이터를 삭제하는 과정을 도시한다. 삭제 정보 내용에 따른 특정한 데이터 어느 하나 또는 전체 데이터를 삭제할 수도 있다. 삭제를 위해 제2 단말(112)가 생성하는 정보를 삭제 정보라고 명명한다.
제2 단말(112)은 삭제 요청이 포함된 갱신 정보를 수신하면, 생명정보 데이터 내지 관련 데이터를 삭제하기 위한 삭제 정보를 생성한다(1801). 이 경우 삭제 정보는 (i) 의뢰자 해쉬키 또는 생산자 해쉬키 및 (ii) 특정 메타데이터를 식별하기 위한 추가 정보(생명정보 데이터 식별자, 데이터 생성 시간 등)를 포함할 수 있다. 제2 단말(112)은 메타데이터 블록체인(133)에 삭제 정보를 전달한다(1811). 메타데이터 블록체인(133)은 보유한 메타데이터 블록데이터를 삭제한다(1812). 메타데이터 블록체인(133)은 의뢰자 해쉬키를 기준으로 삭제에 대한 정보를 제1 단말(111)에 통지할 수 있다(1813).
제2 단말(112)은 갱신 정보를 수신하면, 생명정보 데이터 내지 관련 데이터를 삭제하기 위한 삭제 정보를 생성한다(1801). 이 경우 삭제 정보는 (i) 의뢰자 해쉬키 또는 생산자 해쉬키 및 (ii) 특정 전송 정보를 식별하기 위한 추가 정보(생명정보 데이터 식별자, 데이터 생성 시간 등)를 포함할 수 있다. 제2 단말(112)은 데이터 전송 블록체인(134)에 삭제 정보를 전달한다(1821). 데이터 전송 블록체인(134)은 보유한 전송 블록데이터를 삭제한다(1822). 데이터 전송 블록체인(134)은 의뢰자 해쉬키를 기준으로 삭제에 대한 정보를 제1 단말(111)에 통지할 수 있다(1823).
제2 단말(112)은 삭제 정보를 수신하면, 생명정보 데이터 내지 관련 데이터를 삭제하기 위한 삭제 정보를 생성한다(1801). 이 경우 삭제 정보는 (i) 의뢰자 해쉬키 또는 생산자 해쉬키 및 (ii) 특정 메타데이터를 식별하기 위한 추가 정보(생명정보 데이터 식별자, 데이터 생성 시간 등)를 포함할 수 있다. 제2 단말(112)은 삭제 정보를 저장 서버(141/142)에 전달한다(1831). 저장 서버(141/142)는 자신이 보유한 생명정보 데이터를 삭제한다(1832). 이는 데이터 저장 블록체인에서 저장 블록데이터가 삭제되는 것이다. 저장 서버(141/142)는 삭제에 대한 정보를 제1 단말(111)에 통지할 수 있다(1833).
도 23은 생명정보 데이터 및 관련 데이터가 삭제되는 과정에 대한 다른 예이다. 도 23은 도 4 또는 도 5의 시스템(200)이 동작하는 예이다. 도 22는 계약 갱신에 따른 동작 중 특정 데이터를 삭제하는 과정에 대한 예이다. 도 23은 사용자 단말 중 의뢰자에 해당하는 단말(211)을 제1 단말(211)이라고 표시하였고, 사용자 단말 중 제3자에 해당하는 단말(213)을 제3 단말(213)이라고 표시하였다. 제1 단말(211) 및 제2 단말(213)은 사전에 사용자 정보를 등록하였다고 전제한다. 도 21은 메타데이터, 저장 블록데이터 및 전송 블록 데이터를 삭제하는 과정을 도시한다. 삭제 정보 내용에 따른 특정한 데이터 어느 하나 또는 전체 데이터를 삭제할 수도 있다. 삭제를 위해 제2 단말(112)가 생성하는 정보를 삭제 정보라고 명명한다.
제2 단말(212)은 갱신 정보를 수신하면, 생명정보 데이터 내지 관련 데이터를 삭제하기 위한 삭제 정보를 생성한다(1901). 제2 단말(212)은 삭제 정보를 메타데이터 등록 서버(222)에 전달한다도(1911). 이 경우 삭제 정보는 (i) 의뢰자 해쉬키 또는 생산자 해쉬키 및 (ii) 특정 메타데이터를 식별하기 위한 추가 정보(유전체 데이터 식별자, 데이터 생성 시간 등)를 포함할 수 있다. 메타데이터 등록 서버(222)는 자신이 보유한 메타데이터 블록데이터를 삭제한다(1912). 메타데이터 등록 서버(222)는 메타데이터 블록체인(233)에 삭제 정보를 전달한다(1913). 메타데이터 블록체인(233)은 보유한 메타데이터 블록데이터를 삭제한다(1914). 메타데이터 블록체인(233)은 의뢰자 해쉬키를 기준으로 삭제에 대한 정보를 제1 단말(211)에 통지할 수 있다(1915).
제2 단말(212)은 삭제 정보를 수신하면, 생명정보 데이터 내지 관련 데이터를 삭제하기 위한 삭제 정보를 생성한다(1901). 제2 단말(212)은 삭제 정보를 정보 전송 등록 서버(224)에 전달한다(1921). 이 경우 삭제 정보는 (i) 의뢰자 해쉬키 또는 생산자 해쉬키 및 (ii) 특정 전송 정보를 식별하기 위한 추가 정보(유전체 데이터 식별자, 데이터 생성 시간 등)를 포함할 수 있다. 정보 전송 등록 서버(224)는 자신이 보유한 전송 블록데이터를 삭제한다(1922). 정보 전송 등록 서버(224)는 데이터 전송 블록체인(234)에 삭제 정보를 전달한다(1923). 데이터 전송 블록체인(234)은 보유한 전송 블록데이터를 삭제한다(1924). 데이터 전송 블록체인(234)은 의뢰자 해쉬키를 기준으로 삭제에 대한 정보를 제1 단말(211)에 통지할 수 있다(1925).
제2 단말(212)은 삭제 정보를 수신하면, 생명정보 데이터 내지 관련 데이터를 삭제하기 위한 삭제 정보를 생성한다(1901). 제2 단말(212)은 삭제 정보를 데이터 저장 등록 서버(225)에 전달한다(1931). 이 경우 삭제 정보는 (i) 의뢰자 해쉬키 또는 생산자 해쉬키 및 (ii) 특정 메타데이터를 식별하기 위한 추가 정보(유전체 데이터 식별자, 데이터 생성 시간 등)를 포함할 수 있다. 데이터 저장 등록 서버(225)는 삭제 정보를 저장 서버(241/242)에 전달한다(1932). 저장 서버(241/242)는 자신이 보유한 메타데이터 블록데이터를 삭제한다(1933). 이는 데이터 저장 블록체인에서 저장 블록데이터가 삭제되는 것이다. 저장 서버(241/242)는 삭제에 대한 정보를 제1 단말(211)에 통지할 수 있다(1934).
또한, 상술한 바와 같은 생명정보 데이터 전송 방법, 생명정보 데이터 생산 의뢰 방법, 계약 변경 방법은 컴퓨터에서 실행될 수 있는 실행가능한 알고리즘을 포함하는 프로그램(또는 어플리케이션)으로 구현될 수 있다. 상기 프로그램은 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장되어 제공될 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
본 실시례 및 본 명세서에 첨부된 도면은 전술한 기술에 포함되는 기술적 사상의 일부를 명확하게 나타내고 있는 것에 불과하며, 전술한 기술의 명세서 및 도면에 포함된 기술적 사상의 범위 내에서 당업자가 용이하게 유추할 수 있는 변형 예와 구체적인 실시례는 모두 전술한 기술의 권리범위에 포함되는 것이 자명하다고 할 것이다.

Claims (19)

  1. 사용자 블록체인 노드가 복수의 사용자별로 사용자 정보, 공유키 및 해쉬키를 포함하는 사용자 블록데이터를 저장하는 단계;
    전자계약서 블록체인 노드가 상기 복수의 사용자 중 제1 사용자가 제2 사용자에게 생명정보 데이터 생성을 의뢰하는 계약 정보를 포함하는 계약 블록데이터를 저장하는 단계;
    데이터 전송 블록체인 노드가 상기 생명정보 데이터를 저장한 적어도 하나의 저장 서버에 대한 저장 정보를 포함하는 전송 블록데이터를 저장하는 단계; 및
    상기 데이터 전송 블록체인 노드로부터 상기 전송 블록데이터가 상기 제1 사용자에게 전달되는 단계를 포함하는 복수의 블록체인에 기반을 둔 생명정보 데이터 제공 방법.
  2. 제1항에 있어서,
    상기 계약 블록데이터는 상기 제1 사용자의 계약 정보, 상기 제1 사용자의 해쉬키, 상기 제2 사용자의 해쉬키 및 상기 제2 사용자의 서명을 포함하는 복수의 블록체인에 기반을 둔 생명정보 데이터 제공 방법.
  3. 제2항에 있어서,
    상기 계약 블록데이터를 저장하는 단계는
    상기 전자계약서 블록체인 노드는 상기 제1 사용자가 상기 사용자 블록체인 노드로부터 수신한 제2 사용자의 공유키로 암호화한 제1 계약 정보를 저장하는 단계; 및
    상기 전자계약서 블록체인 노드는 상기 제2 사용자가 상기 전자계약서 블록체인 노드로부터 상기 제1 계약 정보를 수신하여 복호하고, 복호한 정보를 상기 제1 사용자의 공유키로 암호화하고 서명을 추가한 제2 계약 정보를 저장하는 단계를 포함하는 복수의 블록체인에 기반을 둔 생명정보 데이터 제공 방법.
  4. 제1항에 있어서,
    상기 전송 블록데이터는 상기 제1 블록체인으로부터 수신한 제1 사용자의 해쉬키, 상기 제1 블록체인으로부터 수신한 제2 사용자의 해쉬키 및 상기 제1 블록체인으로부터 수신한 제1 사용자의 공유키로 암호화한 상기 저장 정보를 포함하는 복수의 블록체인에 기반을 둔 생명정보 데이터 제공 방법.
  5. 제1항에 있어서,
    상기 저장 정보는 상기 저장 서버의 식별자, 저장 매체에서 상기 생명정보 데이터가 저장된 위치, 검증키, 파일 크기 및 파일 분할 정보 중 적어도 하나를 포함하는 복수의 블록체인에 기반을 둔 생명정보 데이터 제공 방법.
  6. 제1항에 있어서,
    상기 생명정보 데이터는 복수의 저장 서버로 구성된 데이터 저장 블록체인 노드에 제1 사용자의 해쉬키, 제2 사용자의 해쉬키 및 상기 생명정보 데이터가 저장된 파일에 대한 정보를 포함하는 블록데이터 형태로 저장되는 복수의 블록체인에 기반을 둔 생명정보 데이터 제공 방법.
  7. 제1항에 있어서,
    메타데이터 블록체인 노드가 상기 생명정보 데이터에 대한 메타데이터를 저장하는 단계를 더 포함하는 복수의 블록체인에 기반을 둔 생명정보 데이터 제공 방법.
  8. 제1항에 있어서,
    상기 전자계약 블록체인 노드가 상기 제1 사용자와 제3 사용자 사이의 새로운 계약 정보를 포함하는 새로운 계약 블록데이터를 저장하는 단계; 및
    상기 데이터 전송블록체인이 상기 제3 사용자의 해쉬키 및 상기 제3 사용자의 공개키로 암호화한 새로운 저장 정보를 포함하는 새로운 전송 블록데이터를 저장하는 단계를 더 포함하는 복수의 블록체인에 기반을 둔 생명정보 데이터 제공 방법.
  9. 제1항에 있어서,
    상기 전자계약 블록체인 노드가 상기 제1 사용자와 상기 제2 사용자 사이의 새로운 계약 정보를 포함하는 새로운 계약 블록데이터를 저장하는 단계를 더 포함하되, 상기 새로운 계약 정보는 계약 블록데이터 삭제, 데이터 전송 블록데이터 삭제 및 상기 생명정보 데이터 삭제 중 적어도 하나의 정보를 포함하는 복수의 블록체인에 기반을 둔 생명정보 데이터 제공 방법.
  10. 제1항에 있어서,
    적어도 하나의 서버가 상기 사용자 블록데이터, 상기 계약 블록데이터 및 상기 전송 블록데이터를 포함하는 블록데이터 그룹 중 적어도 하나의 블록데이터를 저장하고, 위조 확인 요청이 있는 경우 상기 저장한 적어도 하나의 블록데이터를 요청받은 객체에게 전달하는 단계를 더 포함하는 복수의 블록체인에 기반을 둔 생명정보 데이터 제공 방법.
  11. 사용자 블록체인 노드가 복수의 사용자별로 사용자 정보, 공유키 및 해쉬키를 포함하는 사용자 블록데이터를 저장하는 단계;
    저장 서버가 상기 복수의 사용자 중 제1 사용자가 의뢰하여 제2 사용자가 생성한 생명정보 데이터를 저장하는 단계; 및
    데이터 전송 블록체인 노드가 상기 생명정보 데이터를 저장한 상기 저장 서버에 대한 저장 정보를 포함하는 전송 블록데이터를 저장하는 단계를 포함하는 복수의 블록체인에 기반을 둔 생명정보 데이터 저장 방법.
  12. 제11항에 있어서,
    상기 전송 블록데이터는 상기 제1 블록체인으로부터 수신한 제1 사용자의 해쉬키, 상기 제1 블록체인으로부터 수신한 제2 사용자의 해쉬키 및 상기 제1 블록체인으로부터 수신한 제1 사용자의 공유키로 암호화한 상기 저장 정보를 포함하는 복수의 블록체인에 기반을 둔 생명정보 데이터 저장 방법.
  13. 제11항에 있어서,
    상기 저장 정보는 상기 저장 서버의 식별자, 저장 매체에서 상기 생명정보 데이터가 저장된 위치, 검증키, 파일 크기 및 파일 분할 정보 중 적어도 하나를 포함하는 복수의 블록체인에 기반을 둔 생명정보 데이터 저장 방법.
  14. 제11항에 있어서,
    상기 저장 서버는 복수의 서버로 구성되고, 상기 복수의 서버는 상기 생명정보 데이터를 저장하는 블록체인을 구성하는 복수의 블록체인에 기반을 둔 생명정보 데이터 저장 방법.
  15. 복수의 사용자별로 사용자 정보, 공유키 및 해쉬키를 포함하는 사용자 블록데이터를 저장하는 사용자 블록체인 노드;
    상기 복수의 사용자 중 제1 사용자가 제2 사용자에게 생명정보 데이터 생성을 의뢰하는 계약 정보를 포함하는 계약 블록데이터를 저장하는 전자계약서 블록체인 노드;
    상기 제2 사용자가 생성한 생명정보 데이터를 저장하는 저장 서버; 및
    상기 저장 서버에 대한 저장 정보를 포함하는 전송 블록데이터를 저장하는 데이터 전송 블록체인 노드를 포함하되,
    상기 사용자 블록데이터, 상기 계약 블록데이터 및 상기 전송 블록데이터는 상기 제1 사용자 또는 상기 제2 사용자 중 적어도 하나가 생성하는 복수의 블록체인에 기반을 둔 생명정보 데이터 전송 시스템.
  16. 제15항에 있어서,
    상기 계약 블록데이터는 상기 제1 사용자의 계약 정보, 상기 제1 사용자의 해쉬키, 상기 제2 사용자의 해쉬키 및 상기 제2 사용자의 서명을 포함하는 복수의 블록체인에 기반을 둔 생명정보 데이터 전송 시스템.
  17. 제15항에 있어서,
    상기 전송 블록데이터는 상기 제1 블록체인으로부터 수신한 제1 사용자의 해쉬키, 상기 제1 블록체인으로부터 수신한 제2 사용자의 해쉬키 및 상기 제1 블록체인으로부터 수신한 제1 사용자의 공유키로 암호화한 상기 저장 정보를 포함하는 복수의 블록체인에 기반을 둔 생명정보 데이터 전송 시스템.
  18. 제15항에 있어서,
    상기 저장 정보는 상기 저장 서버의 식별자, 저장 매체에서 상기 생명정보 데이터가 저장된 위치, 검증키, 파일 크기 및 파일 분할 정보 중 적어도 하나를 포함하는 복수의 블록체인에 기반을 둔 생명정보 데이터 전송 시스템.
  19. 제15항에 있어서,
    상기 저장 서버는 복수의 서버로 구성되고, 상기 복수의 서버는 상기 생명정보 데이터를 저장하는 블록체인을 구성하는 복수의 블록체인에 기반을 둔 생명정보 데이터 전송 시스템.
PCT/KR2018/001858 2018-02-13 2018-02-13 복수의 블록체인에 기반을 둔 생명정보 데이터 제공 방법, 생명정보 데이터 저장 방법 및 생명정보 데이터 전송 시스템 WO2019160167A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2018/001858 WO2019160167A1 (ko) 2018-02-13 2018-02-13 복수의 블록체인에 기반을 둔 생명정보 데이터 제공 방법, 생명정보 데이터 저장 방법 및 생명정보 데이터 전송 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2018/001858 WO2019160167A1 (ko) 2018-02-13 2018-02-13 복수의 블록체인에 기반을 둔 생명정보 데이터 제공 방법, 생명정보 데이터 저장 방법 및 생명정보 데이터 전송 시스템

Publications (1)

Publication Number Publication Date
WO2019160167A1 true WO2019160167A1 (ko) 2019-08-22

Family

ID=67619465

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/001858 WO2019160167A1 (ko) 2018-02-13 2018-02-13 복수의 블록체인에 기반을 둔 생명정보 데이터 제공 방법, 생명정보 데이터 저장 방법 및 생명정보 데이터 전송 시스템

Country Status (1)

Country Link
WO (1) WO2019160167A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110535958A (zh) * 2019-08-30 2019-12-03 腾讯科技(深圳)有限公司 一种健康信息存储方法及相关设备
CN111563273A (zh) * 2020-04-30 2020-08-21 中国银行股份有限公司 一种信息验证方法及相关设备
CN112508564A (zh) * 2020-12-01 2021-03-16 浙商银行股份有限公司 基于区块链的印章使用管理方法、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090102943A (ko) * 2008-03-27 2009-10-01 계명대학교 산학협력단 실시간 심전도 모니터링 시스템 및 방법, 패치형 심전도측정장치, 통신장치
KR101590076B1 (ko) * 2015-11-18 2016-02-01 주식회사 웨이브스트링 개인정보 관리 방법
KR101720268B1 (ko) * 2015-10-26 2017-03-27 (주)아이알엠 환자정보 보호를 위한 의료영상의 클라우드 데이터베이스 구축 및 판독 방법
KR101763827B1 (ko) * 2016-04-07 2017-08-02 주식회사 라이프시맨틱스 블록체인 기반 의료데이터전송시스템, 방법 및 프로그램
KR101812969B1 (ko) * 2017-11-06 2018-01-31 주식회사 올아이티탑 인체정보를 이용한 보안 및 해킹 방지기능을 구비하는 디지털 가상화폐의 거래방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090102943A (ko) * 2008-03-27 2009-10-01 계명대학교 산학협력단 실시간 심전도 모니터링 시스템 및 방법, 패치형 심전도측정장치, 통신장치
KR101720268B1 (ko) * 2015-10-26 2017-03-27 (주)아이알엠 환자정보 보호를 위한 의료영상의 클라우드 데이터베이스 구축 및 판독 방법
KR101590076B1 (ko) * 2015-11-18 2016-02-01 주식회사 웨이브스트링 개인정보 관리 방법
KR101763827B1 (ko) * 2016-04-07 2017-08-02 주식회사 라이프시맨틱스 블록체인 기반 의료데이터전송시스템, 방법 및 프로그램
KR101812969B1 (ko) * 2017-11-06 2018-01-31 주식회사 올아이티탑 인체정보를 이용한 보안 및 해킹 방지기능을 구비하는 디지털 가상화폐의 거래방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110535958A (zh) * 2019-08-30 2019-12-03 腾讯科技(深圳)有限公司 一种健康信息存储方法及相关设备
CN111563273A (zh) * 2020-04-30 2020-08-21 中国银行股份有限公司 一种信息验证方法及相关设备
CN112508564A (zh) * 2020-12-01 2021-03-16 浙商银行股份有限公司 基于区块链的印章使用管理方法、电子设备及存储介质
CN112508564B (zh) * 2020-12-01 2024-04-16 浙商银行股份有限公司 基于区块链的印章使用管理方法、电子设备及存储介质

Similar Documents

Publication Publication Date Title
KR101880175B1 (ko) 복수의 블록체인에 기반을 둔 생명정보 데이터 제공 방법, 생명정보 데이터 저장 방법 및 생명정보 데이터 전송 시스템
WO2019194403A1 (ko) 블록체인 및 동형암호 기술을 이용하여 데이터를 공유하는 사용자 장치와 전자장치 및 그 방법들
WO2020091278A1 (ko) 사용증명방식 블록체인 기반의 일회용 개인키를 이용한 개인정보 제공 시스템 및 방법
WO2020189926A1 (ko) 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말
WO2020235782A1 (ko) 분산 환경에서의 신원 인증 방법
WO2020189927A1 (ko) 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말
WO2016108468A1 (en) User terminal, service providing apparatus, driving method of user terminal, driving method of service providing apparatus, and encryption indexing-based search system
WO2019160167A1 (ko) 복수의 블록체인에 기반을 둔 생명정보 데이터 제공 방법, 생명정보 데이터 저장 방법 및 생명정보 데이터 전송 시스템
WO2019227557A1 (zh) 密钥管理方法、设备、存储介质及装置
US20170206372A1 (en) Data management system, data management method, and recording medium
WO2017071363A1 (zh) 密码的共享方法、密码的共享系统及终端设备
WO2021075867A1 (ko) 블록체인 기반 시스템을 위한 키의 저장 및 복구 방법과 그 장치
JP6925686B1 (ja) 情報処理システム、情報処理装置、情報処理方法、および、情報処理プログラム
WO2020101087A1 (ko) 개인정보 처리를 위한 암호화 시스템 및 방법
WO2019189954A1 (ko) 복수의 블록체인에 기반한 데이터 공유 방법
JP6619401B2 (ja) データ検索システム、データ検索方法およびデータ検索プログラム
WO2014003516A1 (ko) 데이터 공유 제공 방법 및 장치
WO2010087567A1 (en) Method for installing rights object for content in memory card
WO2019039865A1 (ko) 인증 단말, 인증 장치 및 이들을 이용한 인증 방법 및 시스템
WO2022060149A1 (ko) 탈중앙화 네트워크를 이용하여 권리를 관리하는 전자 장치 및 이의 동작 방법
WO2019182377A1 (ko) 블록체인 기반 암호화폐의 트랜잭션에 이용되는 주소 정보 생성 방법, 전자 장치 및 컴퓨터 판독 가능한 기록 매체
WO2022177204A1 (ko) Did 기반의 탈중앙화된 사용자 데이터 저장 및 공유 시스템
US11947492B2 (en) Information processing device, terminal device, and search method
WO2019125081A1 (ko) 블록체인을 이용한 일회성 접근 권한 부여 시스템
WO2022114857A1 (ko) 블록 체인 네트워크를 이용하여 데이터를 공유하는 전자 장치 및 이의 동작 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18906505

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18906505

Country of ref document: EP

Kind code of ref document: A1