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

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

Info

Publication number
KR101880175B1
KR101880175B1 KR1020180017378A KR20180017378A KR101880175B1 KR 101880175 B1 KR101880175 B1 KR 101880175B1 KR 1020180017378 A KR1020180017378 A KR 1020180017378A KR 20180017378 A KR20180017378 A KR 20180017378A KR 101880175 B1 KR101880175 B1 KR 101880175B1
Authority
KR
South Korea
Prior art keywords
data
information
user
block
terminal
Prior art date
Application number
KR1020180017378A
Other languages
English (en)
Inventor
양성우
전재경
최익정
박현민
박지은
서정선
김창훈
Original Assignee
주식회사 마크로젠
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 마크로젠 filed Critical 주식회사 마크로젠
Priority to KR1020180017378A priority Critical patent/KR101880175B1/ko
Application granted granted Critical
Publication of KR101880175B1 publication Critical patent/KR101880175B1/ko
Priority to SG10201810913XA priority patent/SG10201810913XA/en
Priority to JP2018231811A priority patent/JP6661742B2/ja
Priority to CN201811533726.6A priority patent/CN110164508B/zh
Priority to EP18212825.6A priority patent/EP3525212B1/en
Priority to US16/221,829 priority patent/US10560272B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • G06F17/3012
    • 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
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • 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
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B20/00ICT specially adapted for functional genomics or proteomics, e.g. genotype-phenotype associations
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H15/00ICT specially adapted for medical reports, e.g. generation or transmission thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L2209/38
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/88Medical equipments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Abstract

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

Description

복수의 블록체인에 기반을 둔 생명정보 데이터 제공 방법, 생명정보 데이터 저장 방법 및 생명정보 데이터 전송 시스템{BIO-INFORMATION DATA PROVIDING METHOD, BIO-INFORMATION DATA STORING METHOD AND BIO-INFORMATION DATA TRANSFERRING SYSTEM BASED ON MULTIPLE BLOCK-CHAIN}
이하 설명하는 기술은 블록체인을 이용하여 생명정보 데이터를 제공하는 기법에 관한 것이다.
전 세계적으로 인구 고령화 및 만성질환 증가로 인해 웰니스(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), 유전 질환을 사전에 파악할 수 있는 산전 검사, 범죄 수사나 친자 확인 등을 위한 유전자 감식, 그리고 장내 미생물 유전체 분석을 통한 질병치료까지 다방면에서 활용되고 있다. 나아가 유전체 데이터를 통해 생물자원 확보, 유용한 바이오 소재 개발, 멸종 위기종 보전 및 복원 등을 할 수 있다.
이러한 유전체 데이터는 생물학적 연구 및 의료 분야뿐만 아니라 생태학, 인류학 등 다방면 분야에서 유전체 데이터를 통한 연구가 진행됨에 따라 그 중요성 및 활용성은 갈수록 증대될 것으로 보인다.
한편, 유전체 데이터는 특정 개체의 현재뿐만 아니라 미래까지 예측할 수 있고, 그 개체의 가족 유전정보까지 시사한다. 따라서 기타 다른 데이터보다 프라이버시 침해 가능성 및 보안 위험 문제가 심각하게 대두되고 있다.
한국등록특허 제10-1763827호
유전체 데이터를 안정적으로 보관하고, 용량 증가 및 데이터 공유에 유연하게 대처할 수 있는 시스템이 마련되어야 한다. 이하 설명하는 기술은 복수의 블록체인(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 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
본 실시례 및 본 명세서에 첨부된 도면은 전술한 기술에 포함되는 기술적 사상의 일부를 명확하게 나타내고 있는 것에 불과하며, 전술한 기술의 명세서 및 도면에 포함된 기술적 사상의 범위 내에서 당업자가 용이하게 유추할 수 있는 변형 예와 구체적인 실시례는 모두 전술한 기술의 권리범위에 포함되는 것이 자명하다고 할 것이다.
100 : 생명정보 데이터 전송 시스템
110, 111, 112 , 113 : 사용자 단말
130, 131, 132, 133, 134, 135 : 블록체인
131 : 사용자 정보 블록체인
132 : 전자계약서 블록체인
133 : 메타데이터 블록체인
134 : 데이터 전송 블록체인
135 : 데이터 저장 블록체인
141, 142 : 저장 서버
200 : 생명정보 데이터 전송 시스템
210, 211, 212 , 213 : 사용자 단말
220, 221, 222, 223, 224, 225, 229 : 등록 서버
221 : 사용자 등록 서버
222 : 전자계약서 등록 서버
223 : 메타데이터 등록 서버
224 : 데이터 전송 등록 서버
225 : 데이터 저장 등록 서버

Claims (19)

  1. 사용자 블록체인 노드가 복수의 사용자별로 사용자 정보, 공유키 및 해쉬키를 포함하는 사용자 블록데이터를 저장하는 단계;
    전자계약서 블록체인 노드가 상기 복수의 사용자 중 제1 사용자가 제2 사용자에게 생명정보 데이터 생성을 의뢰하는 계약 정보를 포함하는 계약 블록데이터를 저장하는 단계;
    데이터 전송 블록체인 노드가 상기 생명정보 데이터를 저장한 적어도 하나의 저장 서버에 대한 저장 정보를 포함하는 전송 블록데이터를 저장하는 단계; 및
    상기 데이터 전송 블록체인 노드로부터 상기 전송 블록데이터가 상기 제1 사용자에게 전달되는 단계를 포함하는 복수의 블록체인에 기반을 둔 생명정보 데이터 제공 방법.
  2. 제1항에 있어서,
    상기 계약 블록데이터는 상기 제1 사용자의 계약 정보, 상기 제1 사용자의 해쉬키, 상기 제2 사용자의 해쉬키 및 상기 제2 사용자의 서명을 포함하는 복수의 블록체인에 기반을 둔 생명정보 데이터 제공 방법.
  3. 제2항에 있어서,
    상기 계약 블록데이터를 저장하는 단계는
    상기 전자계약서 블록체인 노드는 상기 제1 사용자가 상기 사용자 블록체인 노드로부터 수신한 제2 사용자의 공유키로 암호화한 제1 계약 정보를 저장하는 단계; 및
    상기 전자계약서 블록체인 노드는 상기 제2 사용자가 상기 전자계약서 블록체인 노드로부터 상기 제1 계약 정보를 수신하여 복호하고, 복호한 정보를 상기 제1 사용자의 공유키로 암호화하고 서명을 추가한 제2 계약 정보를 저장하는 단계를 포함하는 복수의 블록체인에 기반을 둔 생명정보 데이터 제공 방법.
  4. 제1항에 있어서,
    상기 전송 블록데이터는 상기 사용자 블록체인 노드로부터 수신한 제1 사용자의 해쉬키, 제2 사용자의 해쉬키 및 제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 사용자의 해쉬키, 제2 사용자의 해쉬키 및 제1 사용자의 공유키로 암호화한 상기 저장 정보를 포함하는 복수의 블록체인에 기반을 둔 생명정보 데이터 저장 방법.
  13. 제11항에 있어서,
    상기 저장 정보는 상기 저장 서버의 식별자, 저장 매체에서 상기 생명정보 데이터가 저장된 위치, 검증키, 파일 크기 및 파일 분할 정보 중 적어도 하나를 포함하는 복수의 블록체인에 기반을 둔 생명정보 데이터 저장 방법.
  14. 제11항에 있어서,
    상기 저장 서버는 복수의 서버로 구성되고, 상기 복수의 서버는 상기 생명정보 데이터를 저장하는 블록체인을 구성하는 복수의 블록체인에 기반을 둔 생명정보 데이터 저장 방법.
  15. 복수의 사용자별로 사용자 정보, 공유키 및 해쉬키를 포함하는 사용자 블록데이터를 저장하는 사용자 블록체인 노드;
    상기 복수의 사용자 중 제1 사용자가 제2 사용자에게 생명정보 데이터 생성을 의뢰하는 계약 정보를 포함하는 계약 블록데이터를 저장하는 전자계약서 블록체인 노드;
    상기 제2 사용자가 생성한 생명정보 데이터를 저장하는 저장 서버; 및
    상기 저장 서버에 대한 저장 정보를 포함하는 전송 블록데이터를 저장하는 데이터 전송 블록체인 노드를 포함하되,
    상기 사용자 블록데이터, 상기 계약 블록데이터 및 상기 전송 블록데이터는 상기 제1 사용자 또는 상기 제2 사용자 중 적어도 하나가 생성하는 복수의 블록체인에 기반을 둔 생명정보 데이터 전송 시스템.
  16. 제15항에 있어서,
    상기 계약 블록데이터는 상기 제1 사용자의 계약 정보, 상기 제1 사용자의 해쉬키, 상기 제2 사용자의 해쉬키 및 상기 제2 사용자의 서명을 포함하는 복수의 블록체인에 기반을 둔 생명정보 데이터 전송 시스템.
  17. 제15항에 있어서,
    상기 전송 블록데이터는 상기 사용자 블록체인 노드로부터 수신한 제1 사용자의 해쉬키, 제2 사용자의 해쉬키 및 제1 사용자의 공유키로 암호화한 상기 저장 정보를 포함하는 복수의 블록체인에 기반을 둔 생명정보 데이터 전송 시스템.
  18. 제15항에 있어서,
    상기 저장 정보는 상기 저장 서버의 식별자, 저장 매체에서 상기 생명정보 데이터가 저장된 위치, 검증키, 파일 크기 및 파일 분할 정보 중 적어도 하나를 포함하는 복수의 블록체인에 기반을 둔 생명정보 데이터 전송 시스템.
  19. 제15항에 있어서,
    상기 저장 서버는 복수의 서버로 구성되고, 상기 복수의 서버는 상기 생명정보 데이터를 저장하는 블록체인을 구성하는 복수의 블록체인에 기반을 둔 생명정보 데이터 전송 시스템.

KR1020180017378A 2018-02-13 2018-02-13 복수의 블록체인에 기반을 둔 생명정보 데이터 제공 방법, 생명정보 데이터 저장 방법 및 생명정보 데이터 전송 시스템 KR101880175B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020180017378A KR101880175B1 (ko) 2018-02-13 2018-02-13 복수의 블록체인에 기반을 둔 생명정보 데이터 제공 방법, 생명정보 데이터 저장 방법 및 생명정보 데이터 전송 시스템
SG10201810913XA SG10201810913XA (en) 2018-02-13 2018-12-05 Bio-information data providing method, bio-information data storing method and bio-information data transferring system based on multiple blockchains
JP2018231811A JP6661742B2 (ja) 2018-02-13 2018-12-11 複数のブロックチェーンに基盤を置いた生命情報データ提供方法、生命情報データ保存方法及び生命情報データ伝送システム
CN201811533726.6A CN110164508B (zh) 2018-02-13 2018-12-14 生物信息数据提供方法、生物信息数据存储方法和基于多区块链的生物信息数据传输系统
EP18212825.6A EP3525212B1 (en) 2018-02-13 2018-12-15 Bio-information data providing method based on multiple blockchains
US16/221,829 US10560272B2 (en) 2018-02-13 2018-12-17 Bio-information data providing method, bio-information data storing method and bio-information data transferring system based on multiple blockchains

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
KR101880175B1 true KR101880175B1 (ko) 2018-07-19

Family

ID=63058395

Family Applications (1)

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

Country Status (6)

Country Link
US (1) US10560272B2 (ko)
EP (1) EP3525212B1 (ko)
JP (1) JP6661742B2 (ko)
KR (1) KR101880175B1 (ko)
CN (1) CN110164508B (ko)
SG (1) SG10201810913XA (ko)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109101832A (zh) * 2018-07-24 2018-12-28 安徽问法信息技术有限公司 一种基于区块链的遗嘱电子数据管理方法
CN109729074A (zh) * 2018-12-11 2019-05-07 深圳市汇星数字技术有限公司 一种音频数据的加密和对等存储方法及系统
CN110351276A (zh) * 2019-07-12 2019-10-18 全链通有限公司 数据处理方法、设备及计算机可读存储介质
KR102052066B1 (ko) * 2018-12-28 2019-12-05 이정우 블록체인을 활용한 원격 cro 시스템 및 그 방법
KR102072815B1 (ko) * 2019-06-14 2020-02-03 주식회사 마크로젠 마이크로바이옴을 이용한 건강 상태 분류 방법 및 장치
WO2020047116A1 (en) * 2018-08-29 2020-03-05 Visa International Service Association Techniques for data access control utilizing blockchains
KR20200030345A (ko) * 2018-09-12 2020-03-20 (주)월드정보기술 프라이빗 블록체인 기반 개인정보 관리 서비스 제공 방법
KR20200055411A (ko) * 2018-11-13 2020-05-21 주식회사 싸이투코드 위치 정보를 이용한 블록체인 방식의 계약 단말 및 방법
KR20200063283A (ko) * 2018-11-16 2020-06-05 현대모비스 주식회사 Slam 데이터 저장 및 제공 장치 및 그 방법
KR20200064663A (ko) * 2018-11-29 2020-06-08 (주)코리아트리즈 블록체인 기반의 스마트 전자계약 체결방법 및 시스템
KR20200074474A (ko) 2018-12-17 2020-06-25 (주)에스유지 블록체인 기반의 IoT플랫폼을 활용한 데이터 저장 방법
EP3712894A1 (en) * 2019-03-21 2020-09-23 Macrogen, Inc. Method of providing biological data, method of encrypting biological data, and method of processing biological data
KR102164659B1 (ko) 2019-06-11 2020-10-12 경일대학교산학협력단 블록체인 기반의 데이터 저장을 위한 방법 및 이 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체
WO2020209411A1 (ko) * 2019-04-10 2020-10-15 주식회사 엘비엑스씨 블록체인 기반의 개인 의료 정보 관리 장치 및 방법
CN112307508A (zh) * 2020-10-01 2021-02-02 复旦大学 一种基于sgx、cp-abe和区块链的可撤销数据共享系统
KR102279377B1 (ko) * 2020-11-24 2021-07-20 주식회사 엔젠바이오 블록체인을 이용한 개인 권한 기반의 의료 정보 제공 시스템
WO2022039350A1 (ko) * 2020-08-07 2022-02-24 이근우 블록체인 네트워크를 구성하고 있는 복수의 노드 장치들과 연동하여 실시간 리서치를 수행하는 리서치 관리 서버 및 그 동작 방법
KR20220085568A (ko) * 2020-12-15 2022-06-22 포항공과대학교 산학협력단 개인 정보 보안 강화된 블록체인 기반 의료 정보 제공 방법 및 시스템
US11645406B2 (en) 2020-07-16 2023-05-09 Humanscape Inc. System for verifying data access and method thereof
KR102535319B1 (ko) * 2022-09-02 2023-05-26 주식회사 메디클라우드 블록체인 기반 유전자 정보 거래 서비스 제공 방법, 장치 및 시스템
US11836274B2 (en) 2020-07-16 2023-12-05 Humanscape Inc. System for embedding digital verification fingerprint and method thereof

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11940958B2 (en) * 2018-03-15 2024-03-26 International Business Machines Corporation Artificial intelligence software marketplace
US10991463B2 (en) 2018-05-18 2021-04-27 John D. Kutzko Computer-implemented system and methods for predicting the health and therapeutic behavior of individuals using artificial intelligence, smart contracts and blockchain
US20200073560A1 (en) * 2018-09-04 2020-03-05 Genetic Intelligence, Inc. Methods for decentralized genome storage, distribution, marketing and analysis
KR20200119601A (ko) * 2019-04-10 2020-10-20 현대모비스 주식회사 차량의 바이너리 데이터 처리 장치 및 방법
US11671432B1 (en) * 2019-04-18 2023-06-06 Riccardo Vieri Portable trust rating method and system
US11366879B2 (en) * 2019-07-08 2022-06-21 Microsoft Technology Licensing, Llc Server-side audio rendering licensing
CN110719264B (zh) * 2019-09-18 2022-07-22 平安科技(深圳)有限公司 一种信息处理方法、装置、电子设备和存储介质
CN110677259B (zh) * 2019-09-29 2022-03-15 杭州尚尚签网络科技有限公司 一种电子合同全链路实时公证系统及方法
JP6687798B1 (ja) * 2019-10-01 2020-04-28 データテック株式会社 データ管理システムおよびデータ管理方法
US11068443B2 (en) * 2019-12-13 2021-07-20 Raynor DONGIEUX Information deletion assurance system using distributed ledger
WO2021125756A1 (ko) * 2019-12-16 2021-06-24 김병양 개인의 유전체 정보를 관리하는 유전체 데이터 활용 방법 및 컴퓨터 프로그램
US11682095B2 (en) 2020-02-25 2023-06-20 Mark Coast Methods and apparatus for performing agricultural transactions
CN113096828B (zh) * 2021-04-19 2022-06-10 西康软件有限责任公司 基于癌症基因组大数据核心算法的诊断、预测以及大健康管理平台
CN113783955A (zh) * 2021-09-09 2021-12-10 东南大学 一种基于区块链的农业科技园区环境信息共享系统和方法
US20230155839A1 (en) * 2021-11-12 2023-05-18 Gridplus, Inc. Peer-to-peer secure conditional transfer of cryptographic data
WO2024038510A1 (ja) * 2022-08-17 2024-02-22 日本電気株式会社 情報処理システム、情報処理方法及びプログラム

Citations (4)

* 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 주식회사 라이프시맨틱스 블록체인 기반 의료데이터전송시스템, 방법 및 프로그램

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9204405B2 (en) * 2013-12-09 2015-12-01 Itron, Inc. Synchronization methods and apparatus
US20150206106A1 (en) * 2014-01-13 2015-07-23 Yaron Edan Yago Method for creating, issuing and redeeming payment assured contracts based on mathemematically and objectively verifiable criteria
US9824408B2 (en) * 2014-03-31 2017-11-21 Monticello Enterprises LLC Browser payment request API
WO2015175722A1 (en) * 2014-05-13 2015-11-19 Nant Holdings Ip, Llc Healthcare transaction validation via blockchain proof-of-work, systems and methods
US9256761B1 (en) * 2014-08-18 2016-02-09 Yp Llc Data storage service for personalization system
US10050959B2 (en) * 2014-09-03 2018-08-14 Nanthealth, Inc. Synthetic genomic variant-based secure transaction devices, systems and methods
US10333696B2 (en) * 2015-01-12 2019-06-25 X-Prime, Inc. Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency
SG11201708295XA (en) * 2015-04-06 2017-11-29 Bitmark Inc System and method for decentralized title recordation and authentication
US20160300223A1 (en) * 2015-04-08 2016-10-13 Portable Data Corporation Protected data transfer across disparate networks
CN107787501A (zh) * 2015-04-29 2018-03-09 皇家飞利浦有限公司 用于由组的成员操作设备的方法和装置
EP3317775B1 (en) * 2015-07-02 2022-02-16 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
US20170011460A1 (en) * 2015-07-09 2017-01-12 Ouisa, LLC Systems and methods for trading, clearing and settling securities transactions using blockchain technology
US20170134161A1 (en) * 2015-11-06 2017-05-11 Cable Television Laboratories, Inc Blockchaining for media distribution
US20170132630A1 (en) * 2015-11-11 2017-05-11 Bank Of America Corporation Block chain alias for person-to-person payments
SG11201803785RA (en) * 2015-11-18 2018-06-28 Global Specimen Solutions Inc Distributed systems for secure storage and retrieval of encrypted biological specimen data
JP2019503020A (ja) * 2015-11-24 2019-01-31 ダカドー エージー 自動健康データ取得、処理および通信システムならびに方法
US9992028B2 (en) * 2015-11-26 2018-06-05 International Business Machines Corporation System, method, and computer program product for privacy-preserving transaction validation mechanisms for smart contracts that are included in a ledger
WO2017171165A1 (ko) * 2015-12-14 2017-10-05 (주)코인플러그 블록체인을 기반으로 하는 공인인증서 발급시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 발급방법
US10176481B2 (en) * 2015-12-21 2019-01-08 Beston Technologies Pty Ltd Method and apparatus for managing and providing provenance of product using blockchain
US20190026425A1 (en) * 2015-12-24 2019-01-24 YouGene, Inc. Curated genetic database for in silico testing, licensing and payment
WO2017178956A1 (en) * 2016-04-11 2017-10-19 nChain Holdings Limited A method for secure peer-to-peer communication on a blockchain
EP3458985A1 (en) * 2016-05-17 2019-03-27 Nokia Technologies Oy Method, device and system for verifying user health data
CN105812126B (zh) * 2016-05-19 2018-10-12 齐鲁工业大学 健康区块链数据加密密钥的轻量级备份与高效恢复方法
US20170344988A1 (en) * 2016-05-24 2017-11-30 Ubs Ag System and method for facilitating blockchain-based validation
JP6511017B2 (ja) * 2016-06-03 2019-05-08 日本電信電話株式会社 契約合意方法、合意検証方法、契約合意装置および合意検証装置
KR20190032433A (ko) * 2016-07-18 2019-03-27 난토믹스, 엘엘씨 분산 머신 학습 시스템들, 장치, 및 방법들
CA3033385A1 (en) * 2016-08-23 2018-03-01 BBM Health LLC Blockchain-based mechanisms for secure health information resource exchange
US20180082024A1 (en) * 2016-09-16 2018-03-22 International Business Machines Corporation Secure Distributed Patient Consent and Information Management
US20180130034A1 (en) * 2016-11-07 2018-05-10 LedgerDomain, LLC Extended blockchains for event tracking and management
MX2019007003A (es) * 2016-12-15 2019-11-28 Walmart Apollo Llc Metodo y aparato para compras colaborativas.
JP6888295B2 (ja) * 2016-12-26 2021-06-16 富士通株式会社 プログラム、情報処理装置、および情報処理方法
WO2018140913A1 (en) * 2017-01-30 2018-08-02 SALT Lending Holdings, Inc. System and method of creating an asset based automated secure agreement
US11650195B2 (en) * 2017-02-03 2023-05-16 Q Bio, Inc. Iterative medical testing of biological samples
US20180260522A1 (en) * 2017-03-08 2018-09-13 Grant A. Bitter Identity verification by computational analysis of genomic dna
US20180285810A1 (en) * 2017-03-29 2018-10-04 Ripe Technology, Inc. Systems and methods of blockchain transaction recordation in a food supply chain
US10102526B1 (en) * 2017-03-31 2018-10-16 Vijay K. Madisetti Method and system for blockchain-based combined identity, ownership, integrity and custody management
US10541818B2 (en) * 2017-04-19 2020-01-21 International Business Machines Corporation Decentralized biometric signing of digital contracts
US10146792B1 (en) * 2017-05-31 2018-12-04 Symbiont.Io, Inc. Systems and methods for implementing a programming model for smart contracts within a decentralized computer network
CN107181599B (zh) * 2017-07-18 2020-01-21 天津理工大学 基于区块链的路由位置数据保密存储及共享方法
WO2019060855A1 (en) * 2017-09-22 2019-03-28 Kowala Cayman SEZC SYSTEM AND METHOD FOR MONITORING AND DISTRIBUTED ASSAY MONITORING CRYPTOMONIA
US20190147431A1 (en) * 2017-11-16 2019-05-16 Blockmason Inc. Credit Protocol
US11393568B2 (en) * 2017-12-27 2022-07-19 Prescryptive Health, Inc. Blockchain prescription management system
US10135835B1 (en) * 2018-03-19 2018-11-20 Cyberark Software Ltd. Passwordless and decentralized identity verification
KR101893729B1 (ko) * 2018-03-28 2018-10-04 주식회사 마크로젠 복수의 블록체인에 기반한 데이터 공유 방법
CN108600272B (zh) * 2018-05-10 2020-08-04 阿里巴巴集团控股有限公司 一种区块链数据处理方法、装置、处理设备及系统

Patent Citations (4)

* 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 주식회사 라이프시맨틱스 블록체인 기반 의료데이터전송시스템, 방법 및 프로그램

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109101832A (zh) * 2018-07-24 2018-12-28 安徽问法信息技术有限公司 一种基于区块链的遗嘱电子数据管理方法
WO2020047116A1 (en) * 2018-08-29 2020-03-05 Visa International Service Association Techniques for data access control utilizing blockchains
KR102118556B1 (ko) * 2018-09-12 2020-06-03 (주)월드정보기술 프라이빗 블록체인 기반 개인정보 관리 서비스 제공 방법
KR20200030345A (ko) * 2018-09-12 2020-03-20 (주)월드정보기술 프라이빗 블록체인 기반 개인정보 관리 서비스 제공 방법
KR102120330B1 (ko) * 2018-11-13 2020-06-08 주식회사 싸이투코드 위치 정보를 이용한 블록체인 방식의 계약 단말 및 방법
KR20200055411A (ko) * 2018-11-13 2020-05-21 주식회사 싸이투코드 위치 정보를 이용한 블록체인 방식의 계약 단말 및 방법
WO2020101190A1 (ko) * 2018-11-13 2020-05-22 주식회사 싸이투코드 위치 정보를 이용한 블록체인 방식의 계약 단말 및 방법
KR102558367B1 (ko) 2018-11-16 2023-07-21 현대모비스 주식회사 Slam 데이터 저장 및 제공 장치 및 그 방법
KR20200063283A (ko) * 2018-11-16 2020-06-05 현대모비스 주식회사 Slam 데이터 저장 및 제공 장치 및 그 방법
KR20200064663A (ko) * 2018-11-29 2020-06-08 (주)코리아트리즈 블록체인 기반의 스마트 전자계약 체결방법 및 시스템
KR102258700B1 (ko) * 2018-11-29 2021-05-31 (주)코리아트리즈 블록체인 기반의 스마트 전자계약 체결방법 및 시스템
CN109729074B (zh) * 2018-12-11 2021-10-01 深圳市汇星数字技术有限公司 一种音频数据的加密和对等存储方法及系统
CN109729074A (zh) * 2018-12-11 2019-05-07 深圳市汇星数字技术有限公司 一种音频数据的加密和对等存储方法及系统
KR20200074474A (ko) 2018-12-17 2020-06-25 (주)에스유지 블록체인 기반의 IoT플랫폼을 활용한 데이터 저장 방법
KR102052066B1 (ko) * 2018-12-28 2019-12-05 이정우 블록체인을 활용한 원격 cro 시스템 및 그 방법
US11004544B2 (en) 2019-03-21 2021-05-11 Macrogen, Inc. Method of providing biological data, method of encrypting biological data, and method of processing biological data
EP3712894A1 (en) * 2019-03-21 2020-09-23 Macrogen, Inc. Method of providing biological data, method of encrypting biological data, and method of processing biological data
WO2020209411A1 (ko) * 2019-04-10 2020-10-15 주식회사 엘비엑스씨 블록체인 기반의 개인 의료 정보 관리 장치 및 방법
KR102164659B1 (ko) 2019-06-11 2020-10-12 경일대학교산학협력단 블록체인 기반의 데이터 저장을 위한 방법 및 이 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체
KR102072815B1 (ko) * 2019-06-14 2020-02-03 주식회사 마크로젠 마이크로바이옴을 이용한 건강 상태 분류 방법 및 장치
CN110351276B (zh) * 2019-07-12 2021-11-23 全链通有限公司 数据处理方法、设备及计算机可读存储介质
CN110351276A (zh) * 2019-07-12 2019-10-18 全链通有限公司 数据处理方法、设备及计算机可读存储介质
US11645406B2 (en) 2020-07-16 2023-05-09 Humanscape Inc. System for verifying data access and method thereof
US11836274B2 (en) 2020-07-16 2023-12-05 Humanscape Inc. System for embedding digital verification fingerprint and method thereof
WO2022039350A1 (ko) * 2020-08-07 2022-02-24 이근우 블록체인 네트워크를 구성하고 있는 복수의 노드 장치들과 연동하여 실시간 리서치를 수행하는 리서치 관리 서버 및 그 동작 방법
CN112307508B (zh) * 2020-10-01 2022-04-12 复旦大学 一种基于sgx、cp-abe和区块链的可撤销数据共享系统
CN112307508A (zh) * 2020-10-01 2021-02-02 复旦大学 一种基于sgx、cp-abe和区块链的可撤销数据共享系统
KR102279377B1 (ko) * 2020-11-24 2021-07-20 주식회사 엔젠바이오 블록체인을 이용한 개인 권한 기반의 의료 정보 제공 시스템
KR20220085568A (ko) * 2020-12-15 2022-06-22 포항공과대학교 산학협력단 개인 정보 보안 강화된 블록체인 기반 의료 정보 제공 방법 및 시스템
KR102531929B1 (ko) 2020-12-15 2023-05-11 포항공과대학교 산학협력단 개인 정보 보안 강화된 블록체인 기반 의료 정보 제공 방법 및 시스템
KR102535319B1 (ko) * 2022-09-02 2023-05-26 주식회사 메디클라우드 블록체인 기반 유전자 정보 거래 서비스 제공 방법, 장치 및 시스템
WO2024049265A1 (ko) * 2022-09-02 2024-03-07 주식회사 메디클라우드 블록체인 기반 유전자 정보 거래 서비스 제공 방법, 장치 및 시스템

Also Published As

Publication number Publication date
EP3525212B1 (en) 2022-02-02
US10560272B2 (en) 2020-02-11
US20190253253A1 (en) 2019-08-15
CN110164508A (zh) 2019-08-23
SG10201810913XA (en) 2019-09-27
EP3525212A1 (en) 2019-08-14
JP6661742B2 (ja) 2020-03-11
CN110164508B (zh) 2022-07-08
JP2019139750A (ja) 2019-08-22

Similar Documents

Publication Publication Date Title
KR101880175B1 (ko) 복수의 블록체인에 기반을 둔 생명정보 데이터 제공 방법, 생명정보 데이터 저장 방법 및 생명정보 데이터 전송 시스템
KR101893729B1 (ko) 복수의 블록체인에 기반한 데이터 공유 방법
Shi et al. Applications of blockchain in ensuring the security and privacy of electronic health record systems: A survey
Raisaro et al. M ed C o: Enabling Secure and Privacy-Preserving Exploration of Distributed Clinical and Genomic Data
US8977572B2 (en) Systems and methods for patient-controlled, encrypted, consolidated medical records
Ramzan et al. Healthcare applications using blockchain technology: Motivations and challenges
US9524370B2 (en) Method for privacy-preserving medical risk test
US20220222373A1 (en) A Computer System and Method of Operating Same for Handling Anonymous Data
Aamot et al. Pseudonymization of patient identifiers for translational research
US20220278830A1 (en) Secure information sharing systems and methods
US11556667B2 (en) Facilitating processing of a query on shareable data in a temporary vault
KR102279377B1 (ko) 블록체인을 이용한 개인 권한 기반의 의료 정보 제공 시스템
WO2019058952A1 (ja) 医療データ検索システム、医療データ検索方法および医療データ検索プログラム
Dedeturk et al. Blockchain for genomics and healthcare: a literature review, current status, classification and open issues
WO2019095552A1 (zh) 区域医疗电子病历安全协同整合系统及方法
KR102465467B1 (ko) Did 기반의 탈중앙화된 사용자 데이터 저장 및 공유 시스템
Zala et al. On the design of secured and reliable dynamic access control scheme of patient e-healthcare records in cloud environment
CN115396113A (zh) 基于区块链的医疗数据处理方法、装置、计算机设备
US20220382904A1 (en) Restricted fully private conjuctive database query for protection of user privacy and identity
Abouakil et al. Data models for the pseudonymization of DICOM data
KR20210135405A (ko) 원격 상담을 통한 의료 기록 관리 방법
JP2020109447A (ja) 秘密情報検索システム、秘密情報検索プログラム、および秘密情報検索方法
Tcholakian et al. Self-Sovereign Identity for Consented and Content-Based Access to Medical Records Using Blockchain
Kumar Scalable Inter-operable and Secure Healthcare Framework For Sharing Patient Medical Report using Blockchain and IPFS Technology
Singh et al. FATE: flexible attribute-based traceable encrypted data sharing scheme using smart contracts in wireless medical sensor networks

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant