CN110915165B - 用于共享私有数据的计算机实现的方法和装置 - Google Patents
用于共享私有数据的计算机实现的方法和装置 Download PDFInfo
- Publication number
- CN110915165B CN110915165B CN201880045976.7A CN201880045976A CN110915165B CN 110915165 B CN110915165 B CN 110915165B CN 201880045976 A CN201880045976 A CN 201880045976A CN 110915165 B CN110915165 B CN 110915165B
- Authority
- CN
- China
- Prior art keywords
- private data
- data
- private
- execution environment
- distributed ledger
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 136
- 238000003860 storage Methods 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 17
- 238000012546 transfer Methods 0.000 claims description 8
- 238000012790 confirmation Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 53
- 108020004414 DNA Proteins 0.000 description 45
- 102000053602 DNA Human genes 0.000 description 43
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 36
- 201000010099 disease Diseases 0.000 description 35
- 108700028369 Alleles Proteins 0.000 description 31
- 230000000875 corresponding effect Effects 0.000 description 27
- 239000002773 nucleotide Substances 0.000 description 24
- 125000003729 nucleotide group Chemical group 0.000 description 24
- 230000002068 genetic effect Effects 0.000 description 15
- 238000011160 research Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 230000015654 memory Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000012549 training Methods 0.000 description 8
- 239000008186 active pharmaceutical agent Substances 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 7
- 238000013138 pruning Methods 0.000 description 7
- 239000013598 vector Substances 0.000 description 7
- 238000013175 transesophageal echocardiography Methods 0.000 description 6
- 238000009826 distribution Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 210000001766 X chromosome Anatomy 0.000 description 4
- 210000002593 Y chromosome Anatomy 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000001364 causal effect Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 4
- 238000001914 filtration Methods 0.000 description 4
- 230000036541 health Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 208000024827 Alzheimer disease Diseases 0.000 description 2
- RTZKZFJDLAIYFH-UHFFFAOYSA-N Diethyl ether Chemical compound CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 description 2
- 230000004075 alteration Effects 0.000 description 2
- 238000012550 audit Methods 0.000 description 2
- 238000003776 cleavage reaction Methods 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000003205 genotyping method Methods 0.000 description 2
- 230000037308 hair color Effects 0.000 description 2
- 238000013178 mathematical model Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 102000054765 polymorphisms of proteins Human genes 0.000 description 2
- 108090000623 proteins and genes Proteins 0.000 description 2
- 230000007017 scission Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012070 whole genome sequencing analysis Methods 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 108091028043 Nucleic acid sequence Proteins 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 125000002015 acyclic group Chemical group 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000000205 computational method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013502 data validation Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000007614 genetic variation Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 230000003234 polygenic effect Effects 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 201000000980 schizophrenia Diseases 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 210000003765 sex chromosome Anatomy 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 238000013179 statistical model Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B20/00—ICT specially adapted for functional genomics or proteomics, e.g. genotype-phenotype associations
- G16B20/20—Allele or variant detection, e.g. single nucleotide polymorphism [SNP] detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/26—Government or public services
- G06Q50/265—Personal security, identity or safety
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B20/00—ICT specially adapted for functional genomics or proteomics, e.g. genotype-phenotype associations
- G16B20/40—Population genetics; Linkage disequilibrium
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B50/00—ICT programming tools or database systems specially adapted for bioinformatics
- G16B50/30—Data warehousing; Computing architectures
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B50/00—ICT programming tools or database systems specially adapted for bioinformatics
- G16B50/40—Encryption of genetic data
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H10/00—ICT specially adapted for the handling or processing of patient-related medical or healthcare data
- G16H10/40—ICT specially adapted for the handling or processing of patient-related medical or healthcare data for data related to laboratory analysis, e.g. patient specimen analysis
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/30—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for calculating health indices; for individual health risk assessment
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/70—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for mining of medical data, e.g. analysing previous cases of other patients
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3226—Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
- H04L9/3231—Biological data, e.g. fingerprint, voice or retina
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B30/00—ICT specially adapted for sequence analysis involving nucleotides or amino acids
- G16B30/10—Sequence alignment; Homology search
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/88—Medical equipments
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Medical Informatics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Bioethics (AREA)
- Biophysics (AREA)
- Biotechnology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Public Health (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Genetics & Genomics (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Primary Health Care (AREA)
- Analytical Chemistry (AREA)
- Chemical & Material Sciences (AREA)
- Proteomics, Peptides & Aminoacids (AREA)
- Epidemiology (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Tourism & Hospitality (AREA)
- Pathology (AREA)
- Computer Hardware Design (AREA)
- Educational Administration (AREA)
- Physiology (AREA)
- Development Economics (AREA)
- Computing Systems (AREA)
- Ecology (AREA)
Abstract
本文描述了用于共享私有数据的安全系统以及用于激励和验证私有数据共享的相关系统和方法。在一些实施方式中,私有数据提供者可以注册以在受控共享条件下选择性地共享私有数据。可以使用与一个或更多个安全执行环境对应的加密信息来加密地保护私有数据。为了向私有数据提供者证明安全执行环境是安全且可信的,可以将证明安全执行环境的安全性的证明存储在分布式账本(例如,公共区块链)中。想要访问共享的私有数据的私有数据用户可以将用于对私有数据进行操作的应用发布到安全执行环境,并且在分布式账本中发布该应用可用于接收私有数据的指示。分布式账本还可以存储共享条件,在该共享条件下将共享私有数据。
Description
对相关申请的交叉引用
本申请在35U.S.C.§119(E)条下要求于2017年5月12日提交的题为“SYSTEMS ANDMETHODS FOR CROWDSOURCING,ANALYZING,AND/OR MATCHING PERSONALDATA”的美国临时申请序列号62/505,822和于2018年2月19日提交的题为“METHODS AND SYSTEMS FOR ANINTEGRATED ARCHITECTURE OF SECURITY HARDWARE AND BLOCKCHAIN FOR APRIVACY-PROTECTED DATASTORING,PROCESSING AND SHARING MARKETPLACE”的美国临时申请序列号62/632,330的优先权,这两个美国临时申请的全部内容通过引用并入本文。
背景技术
全基因组关联研究(GWAS)可以研究全基因组的一组遗传变体,以确定单核苷酸多态性(SNP)与性状之间的关联。GWAS可以包括与每个SNP相关联的显著性,该显著性指示各SNP与性状之间的关联强度。
发明内容
一些实施方式提供了用于共享私有数据的安全系统和方法以及用于激励和验证私有数据共享的相关系统和方法。
在一个实施方式中,提供了一种用于共享私有数据的计算机实现的方法。该方法包括:注册私有数据以用于在用于交换私有信息的安全平台内共享,其中,注册所述私有数据包括:1)从安全执行环境获得用以保护私有数据的安全性信息;2)在第一分布式账本中存储标识安全执行环境已被保护的证明报告;以及3)在第二分布式账本中存储私有数据已被注册以用于在安全平台内共享的标识;以及响应于从用户接收到准许对被保护的私有数据的访问的指令,触发被保护的私有数据向安全执行环境的传送以被处理,其中,该触发包括在第二分布式账本中记录对被保护的私有数据的访问已被准许的指示。
在另一实施方式中,提供了至少一个其上编码有可执行指令的非暂态计算机可读存储介质。该指令当由至少一个处理器执行时使至少一个处理器执行上述方法。
在另一实施方式中,提供了一种装置。该装置包括至少一个处理器;以及至少一个其上编码有可执行指令的存储介质,该可执行指令当由至少一个处理器执行时使至少一个处理器执行上述方法。
在一个实施方式中,提供了一种基于包括多个人的群体的健康信息来估计第一人经历医学状况的可能性的计算机实现的方法。该方法包括:将第一人的状况相关联单核苷酸多态性(SNP)的第一组核苷酸与状况相关联SNP的多组核苷酸相比较,其中,第一多个组的状况相关联SNP的每组核苷酸与群体中的不同人的基因组数据有关;以及响应于确定了状况相关联SNP的第一组核苷酸超过与第一多个的状况相关联SNP的一个或更多个第二组核苷酸的相似性的阈值水平,一个或更多个第二组分别与群体中的一个或更多个人相关联,基于群体中的一个或更多个人是否已被诊断为具有医学状况来计算第一人将经历医学状况的可能性。
在另一实施方式中,提供了至少一个其上编码有可执行指令的非暂态计算机可读存储介质。该指令当由至少一个处理器执行时使至少一个处理器执行上述方法。
在另一实施方式中,提供了一种装置。该装置包括至少一个处理器;以及至少一个其上编码有可执行指令的存储介质,该可执行指令当由至少一个处理器执行时使至少一个处理器执行上述方法。
在另一实施方式中,提供了一种计算机实现的方法。该方法包括:确定被宣称与人相关联的基因组数据是否真实,其中,该确定包括:访问与基因组数据相关联的一个或更多个特征,其中,该访问包括:1)接收指示人被宣称拥有的一个或更多个特征中的至少一个特征的非基因组信息;以及/或者2)计算基因组数据的一个或更多个特征中的至少一个特征;将人的一个或更多个特征与基因组数据相比较;以及至少部分地基于比较的结果来确定基因组数据真实的可能性。
在另一实施方式中,提供了至少一个其上编码有可执行指令的非暂态计算机可读存储介质。该指令当由至少一个处理器执行时使至少一个处理器执行上述方法。
在另一实施方式中,提供了一种装置。该装置包括至少一个处理器;以及至少一个其上编码有可执行指令的存储介质,该可执行指令当由至少一个处理器执行时使至少一个处理器执行上述方法。
附图说明
附图不是按比例绘制的。为了清楚起见,不是每个部件都在每幅图中被标记。在附图中:
图1示出了本文描述的技术的一些实施方式可以在其中操作的用于共享私有数据的说明性系统。
图2示出了用于向可信的私有执行环境提供私有数据的计算设备的说明图。
图3A至图3G示出了用于确定基因组数据是否真实的说明性过程。
图4A至图4D示出了用于估计给定人将经历医学状况的可能性的说明性过程。
图5示出了用于管理用户对私有数据的访问的计算设备的说明性框图。
图6示出了私有数据储存库的说明性框图。
图7示出了用于共享私有数据的系统的说明性框图。
图8示出了分布式账本的说明性实施方式。
图9示出了分布式应用客户端的说明性框图。
图10示出了可信执行环境的说明性框图。
图11A至图11D示出了用于共享私有数据的说明性处理流程。
图12A至图12C示出了用于关于私有数据的搜索和通信的说明性处理流程。
图13示出了可以在其上实现本公开内容的任何方面的说明性计算系统。
具体实施方式
本文描述了用于共享私有数据的安全系统以及用于激励和验证私有数据共享的相关系统和方法。在一些实施方式中,私有数据提供者可以注册以在受控共享条件下选择性地共享私有数据。可以使用一个或更多个安全执行环境与对应的加密信息来加密地保护私有数据。为了向私有数据提供者证明安全执行环境是安全且可信的,可以将证明安全执行环境的安全性的证明存储在分布式账本(例如,公共区块链)中。想要访问共享的私有数据的私有数据用户可以将用于对私有数据进行操作的应用发布到安全执行环境,并且在分布式账本中发布应用可用于接收私有数据的指示。分布式账本还可以存储共享条件,在该共享条件下将共享私有数据。一旦私有数据提供者例如通过同意共享条件而准许对私有数据的访问,则私有数据可以被传送至安全执行环境中的应用并由该应用对其进行操作。
本文还描述了用于检测潜在地不真实的私有数据的方法。在一些实施方式中,私有数据用户对执行关于基因组数据的研究任务感兴趣,并且可以受益于具有基因组数据不真实的可能性的指示。当私有数据潜在地或很可能不真实(例如,其不真实的可能性高于阈值)时,数据用户可以选择不使用私有数据或者可以以不同于很可能真实的私有数据的方式使用私有数据。在一些实施方式中,接收(例如,通过安全执行环境中的应用)被宣称针对个体的基因组数据,所述基因组数据具有宣称由与基因组数据相关的宣称个体所拥有的报告的特征(例如,生物性别、种族祖先和/或表型性状)。可以确定所述特征中的一个或更多个特征与基因组数据对应的可能性,以确定基因组数据真实的可能性。在一些实施方式中,代替或者除了所接收的特征以外,可以根据基因组数据来计算一个或更多个特征。计算的特征可以用于确定基因组数据真实或不真实(例如,是随机生成的数据,或者是工程化的基因组数据而不是天然基因组数据)的可能性。
本文还描述了用于估计人将经历医学状况的可能性的方法,在一些情况下,该可能性可以由安全执行环境中的应用来估计。基于包括由群体共享的基因组数据和医学状况状态的私有数据,个体的基因组数据可以与具有足够相似的基因组信息的群体的子集匹配。然后,群体的子集的医学状况状态可以用于确定个体将经历医学状况的可能性。
发明人已认识并意识到,可以期望使得私有数据能够安全共享。例如,许多研究任务,诸如包括生成描述(例如,人或另一对象的)群体的模型并且可以用于做出关于群体或群体成员的预测的那些研究任务,可以受益于大量数据的共享。在许多这些情况下,所寻找的数据可能对生成该数据的人或该数据所属的人敏感,或者该数据可能是有价值的或保持有价值的或更有价值,只要它保持私有并且不被公开分发并且不被复制。这样的私有数据可以包括但不限于社会信息数据、社会媒体数据、会计数据、库存数据、消费者数据、图像数据、医学记录、财务数据、保险数据、基因组数据和/或表型数据。(为了便于以下描述,参考作为私有遗传数据的数据来描述一些实施方式,所述私有遗传数据可以包括基因组/基因型和表型数据,应当理解,私有遗传数据被用作不意味着限制的说明性示例,并且一些实施方式不限于利用特定类型的私有数据进行操作。)本文描述的一些实施方式可以包括可以应用于任何私有数据的安全共享的技术,以便当私有数据要被交换时提供机密性和安全性。此外,本文描述的一些实施方式可以包括用于激励数据提供者和/或给予数据提供者报酬以进一步鼓励共享传统上保持私有但在对研究任务作出贡献时可能有益的数据的技术。
例如,这样的技术可以与遗传数据一起使用。医学研究人员已认识到,许多复杂疾病例如阿尔茨海默病和精神分裂症具有显著的遗传贡献。例如,可能有数十种以上的脱氧核糖核酸(DNA)单核苷酸多态性(SNP)参与疾病过程。一些用于医学状况的常规建模方法试图建立通用数学模型以将DNA序列映射到疾病状态。例如,可以建立线性混合效应模型以预测给定基因型数据的疾病风险。然而,发明人已认识并意识到,用于预测疾病风险的这种数学建模方法可能由于数据不足而无效。例如,当前可用的遗传和疾病状态数据可能不包括足够的样本以使得能够构建数学模型来捕获复杂的遗传架构(例如,不同基因之间的相互作用)。
例如,如果可以使用至少n个样本稳健地估计无SNP相互作用信息的模型的参数,则为了稳健地估计包括SNP相互作用信息的模型的所有参数,可能需要n2个样本的量级,这大得多。目前,可以使用约10,000至100,000个样本进行GWAS,这可能不足以构建具有SNP相互作用的模型。
另外,常规参数建模可能不考虑罕见变体的贡献。发明人已认识并意识到,在构建参数模型时,等位基因频率可能对通过参数估计过程计算的参数值有影响。然而,在拟合参数模型之前过滤掉相对罕见的变体(例如,等位基因频率<5%)是常见的实践。结果,可能失去来自这些变体的贡献。另一方面,单卵双胞胎共享100%相同的DNA,并且对双胞胎的许多研究已显示,对于许多复杂疾病例如阿尔茨海默氏病,单卵双胞胎之间的一致率更高。因此,可以在不构建任何通用参数模型的情况下使用一个双胞胎兄弟姐妹的健康信息来可靠地预测另一双胞胎兄弟姐妹的疾病状态。
越来越多的人正在获得他们的DNA基因型数据,并且不同的公司提供对DNA数据增值的服务并鼓励人们上传他们自己的DNA数据。DNA数据的最常见形式是SNP数据,其仅包含基因组中常见SNP的基因型。(如本文所使用的,SNP可以指基因组内的特定碱基位置,而核苷酸可以指特定SNP的状态。)例如,诸如23andme和ancestry.com之类的公司提供600,000个SNP的基因型信息。
发明人已认识到,从个体收集大量私有数据在一些情况下可能是有益的,并且可以改进研究项目的建模。其他情况包括从分布式私有数据源聚合数据,这虽然具有挑战性,但采取许多形式,例如医学数据、金融数据、社交媒体数据和其他形式。这些数据源的示例包括但不限于GWAS、电子医学记录、医学图像、表型、研究结果、信用分数、消费者和权益交易、会计和库存数据、社交媒体和因特网历史、制造中的处理条件及个人偏好。
例如,如果现在可用于选择组织或个人的私有基因组或研究数据可以安全地用于需要数据以用于新医学发现的更多医学研究人员,则可以改进医学研究的建模。
作为另一示例,如果由个人持有的私有上游供应商数据或下游消费者数据可以安全地用于需要数据以用于更好的企业计划的企业,则可以改进对企业过程的建模。
作为另一示例,如果现在可用于选择平台组织的私有社交媒体和互联网数据可以安全地可用于广告和消费产品公司、政府和政治团体以及寻求个人数据以改进他们的产品和运营的其他平台,则可以改进对社交媒体行为建模。
更大量的私有数据共享以及基于该数据的建模可以引起与这样的私有数据的源有关的两个问题。
首先,私有数据涉及的人可能关心谁可以访问他们的私有数据以及为了什么目的将使用私有数据,并且可能关心关于是否将以安全的方式处理和存储私有数据以防止不正确或未准许的访问。如下面详细描述的,本文描述的用于保密交换和共享私有数据的技术可以在一些情况下减轻这个第一考虑。
其次,发明人认识并意识到,如果个人被要求大范围地贡献私有数据,则如果个人以某种方式被激励或给予报酬,则个人贡献这种私有数据的可能性会增加。然而,对于数据共享,传统的报酬方法可能是不期望的。例如,法定货币转移可能需要各方之间的信任和/或各方可能更喜欢保持私密的财务信息的共享。此外,同意任何支付时间表可能需要相当大的信任。例如,在一些应用中,可能期望共享数据来交换在使用数据时所进行的支付。共享数据的个体可能几乎看不见数据的实际使用以及是否准确地进行支付。另外,一些数据可以被共享一次,例如以用于训练模型,而通过传统方式协商特定贡献的值并给予数据提供者报酬的可靠方法可能是不可能的。此外,共享数据的激励也可以激励欺诈性数据的共享。例如,个体可以以多种方式获得和共享非真实DNA数据,例如通过1.复制另一个人的DNA数据;2.随机产生基因型数据;3.获得非人DNA数据。尤其是在遗传数据由匿名贡献者自我报告的情况下,检测不真实的DNA以确保共享数据是有价值的可能是有益的。
发明人因此已认识并意识到需要这样的技术:能够激励私有数据共享,同时还检测并防止欺诈性数据的分发,以及/或者标记可疑数据,使得可疑私有数据被分发到的那些人可以被警告数据可能是欺诈性的并且可以适当地与数据交互。
因此,一些实施方式包括用于使得个体能够共享数据的安全平台。在一些实施方式中,个体可以注册以用于共享私有数据(例如,包括多个SNP处的核苷酸数据的遗传数据)。在一些实施方式中,数据提供者可以例如使用由服务器实现的注册应用编程接口(API)来注册,以接收诸如用户标识的共享凭证和诸如公共和私有钥匙的加密信息,该加密信息可以用于访问安全系统以进行数据共享。
在一些实施方式中,数据提供者可以注册以用于在一个或更多个分布式账本中共享数据。诸如区块链的分布式账本可以在网络中的多个节点之间共享并且用于以加密安全的方式记录和检查交易。例如,在一些实施方式中,虽然新的交易可以被附加至分布式账本,但是在不破坏加密证明链的情况下不可以更改过去的交易。因此,被接受到分布式账本中的条目可以是不可改变的且可信的。分布式账本可以用于实现信任结构以允许跨多个实体依赖证明(例如,计算机安全证明)。在一些实施方式中,分布式账本可以用于记录可信实体的证明,使得其他实体不需要独立地验证所证明的事实。
在一些实施方式中,数据提供者可以通过与分布式账本交互来注册以共享数据,例如通过向维护分布式账本的节点提交请求以执行存储在分布式账本中的指令(例如,智能合同)和/或记录用户正在分布式账本中提供数据。在一些实施方式中,私有数据提供者和用户例如使用数据来训练模型或购买对模型的访问的个体可以使用分布式应用客户端与分布式账本进行交互。
在一些实施方式中,私有数据可以经由安全、可信执行环境(TEE)来保护,该执行环境可以是加密安全的远程计算设备。例如,可以使用Intel 软件保护扩展(/>)或/>提供TEE,该TEE使得能够在不准许执行环境之外的数据可见性的情况下在TEE内安全地操作数据。在一些实施方式中,TEE可以仅运行经审计的指令和/或限制操作以确保安全的安全虚拟机。为了确保隐私,共享数据的个体可以接收用于对要发送至TEE的数据的加密钥匙进行加密,并且在一些实施方式中,私有数据仅在TEE内未加密。例如,注册以共享数据的个体可以接收与在TEE中保护的私有加密钥匙对应的公共加密钥匙。为了确保TEE可以是可信的,可以将验证TEE的身份和/或安全性的证明发布给分布式账本。例如,可以以任何适当的方式来审计TEE。证明可以包括TEE的任何合适的标识符和/或安全性证明。一旦个体使用证明建立了与TEE的可信关系,则可以通过使用TEE的加密钥匙对私有数据进行加密来保护私有数据。在一些实施方式中,可以将私有数据已被保护的指示存储在分布式账本中。
在一些实施方式中,分布式账本可以用于存储私有数据已被注册以用于在安全平台内共享的指示。在这样的实施方式中,智能合同可以存储在分布式账本中,例如以控制对数据的访问。用于存储私有数据已被注册以用于共享的指示的分布式账本可以与用于注册以用于共享私有数据和/或证明TEE的安全性的任何分布式账本相同或不同。在一些实施方式中,可以在单个分布式账本中作出多个单独的条目。在这样的实施方式中,分布式账本中的诸如智能合同的条目可以用于使不同类型的账本条目保持分离。
在一些实施方式中,希望在诸如用于预测疾病风险的基因组模型的应用中使用来自私有数据提供者的私有数据的私有数据用户可以向TEE提交用于执行应用的计算机指令(例如,可执行程序和/或虚拟机指令)。在一些实施方式中,一个或更多个TEE可以执行用于执行应用的一个或更多个虚拟机,并且虚拟机可以允许有限的指令集来确保私有数据的安全性。私有数据用户可以使用分布式账本来指示应用可用于接收私有数据。在一些实施方式中,分布式账本条目可以指示执行应用的TEE和/或虚拟机的一个或更多个网络地址、要用于向应用提交私有数据的一个或更多个加密钥匙或证明、或用于向应用提供私有数据的安全提交的任何其他合适的信息。在另外的实施方式中,对于一个或更多个应用,私有数据用户可以向分布式账本提交一个或更多个智能合同。这些智能合同可以指定用于共享私有数据的条件。例如,用于共享私有数据的条件可以包括确定所提交的私有数据的值的方法、给予私有数据贡献者报酬的方法及其它条件。
在一些实施方式中,响应于来自准许对被保护的私有数据的访问的私有数据提供者的指令,可以将使用TEE加密钥匙来保护的私有数据传送至TEE以被解密和处理(例如,用于训练应用)。例如,私有数据提供者可以使用分布式应用客户端来与智能合同交互以向应用提供数据。该交互可以将已准许对私有数据的访问的条目发布到分布式账本中,并且这样做时将私有数据提供者和任何私有数据用户绑定至先前在分布式账本中发布的共享条件。
本文还描述了用于检测不真实私有数据的方法。发明人已意识到,激励私有数据提供者贡献私有数据的报酬可以激励坏人提交欺诈性私有数据。在一些实施方式中,检测潜在的欺诈性私有数据可能是有益的。在一些实施方式中,在私有数据是基因组数据的情况下,非基因组信息可以与基因组数据一起被接收。非基因组信息可以指示被认为是DNA的宣称来源的人所拥有的一个或更多个特征。例如,所接收的特征可以包括但不限于诸如种族祖先、生物性别和/或表型性状(例如,头发颜色、眼睛颜色、颏裂)的特征。可以将所述一个或更多个特征与基因组数据相比较,以确定基因组数据真实的可能性。在一些实施方式中,性状可以根据遗传信息推断并且与接收的性状相比较。例如,可以根据基因组信息中的SNP推断种族祖先,并将其与所接收的种族祖先相比较。作为另一示例,性别染色体SNP的杂合性可以用来确定所接收的生物性别是否对应于基因组数据。在一些实施方式中,代替接收到的特征或者除了接收到的特征以外,可以基于基因组数据确定一个或更多个特征。例如,某些SNP倾向于在真实的基因组数据中显示天然水平的相关性。在接收到的数据中这些SNP之间的相关性的计算量度可以用于计算DNA真实的可能性。在一些实施方式中,多个特征可以用于确定基因组数据真实的多个可能性;这些可能性可以被组合以便确定基因组数据真实的整体可能性。如果真实性的可能性超过阈值,则基因组数据可以被确定为真实的。
本文还描述了一种基于包括群体的健康信息的私有数据来估计第一人将经历医学状况的可能性的方法。发明人已认识到,由于双胞胎兄弟姐妹在其基因组中共享相同的一组状况风险变体,因此可能发生双胞胎兄弟姐妹之间的医学状况状态(例如,是否已诊断出特定医学状况例如疾病的存在)的高度一致率。因此,在基因组中共享相同的一组病症风险变体的两个人之间可能存在医学状况状态的高度一致率,即使这些人不是双胞胎兄弟姐妹。因此,在一些实施方式中,提供了一种用于从私有基因组数据的群体中识别针对给定复杂疾病共享同一组状况风险变体的个体对的计算方法。这样的对可以被称为“伪双胞胎”。
伪双胞胎模型可以例如在TEE中被配置成从个体的群体接收私有基因组数据以及对应的疾病诊断和/或状态。伪双胞胎模型可以过滤基因组数据以识别特定医学状况的状况相关联SNP。过滤可以包括但不限于标识具有超过阈值的全基因组关联研究(GWAS)p值的SNP,并除去与具有足够高p值的一个或更多个其他SNP高度相关的SNP。然后,这些SNP可以用于确定一个或更多个伪双胞胎模型参数。
然后,伪双胞胎模型可被应用于估计个体的医学状况的风险。伪双胞胎模型从个体接收基因组数据并将所接收的基因组数据中的状况相关联SNP与群体数据相比较。当所接收的基因组数据超过与模型中的基因组数据的相似性的阈值水平时,检测到伪双胞胎。然后,基于是否已诊断出一个或更多个伪双胞胎具有医学状况,使用所检测的伪双胞胎来确定个体将经历医学状况的可能性。例如,具有疾病的伪双胞胎的比例可以作为经历疾病的可能性输出。
下面描述了各种实施方式,以示出可以如何实现本文描述的技术。然而,应当理解,所描述的实施方式仅是示例,并且其他实施方式是可能的。
此外,如上面所讨论的,为了便于以下描述,参考作为私有遗传数据的数据来描述一些实施方式,所述私有遗传数据可以包括基因组/基因型和表型数据。然而,应当理解,所述私有遗传数据被用作不意味着限制的说明性示例,且所述实施方式不限于利用特定类型的私有数据进行操作。
图1提供了对一些实施方式可以操作的计算机系统的描述,以提供用于结合其它附图对可在类似于图1中所示的系统或其它计算机系统中的各个实施例中使用的特定技术的后续描述的上下文。在图1的讨论之后,下面详细描述这样的技术。
具体地,图1示出了用于共享私有数据的系统100,在其中可以运行本文描述的技术的一些实施方式。图1示出了私有数据提供者101a、101b和101c、网络103、API服务105、数据存储器107、私有数据用户应用提供者109和应用客户端113、执行环境111以及支付系统115。网络103连接计算设备,并且系统100可操作以与诸如应用提供者109和应用客户端113的私有数据用户安全地共享来自私有数据提供者101a至101c的私有数据。
私有数据提供者101a至101c可以是具有用于共享的任何适当私有数据的个体(例如,人)和/或组织(研究组织,例如医院、或私有数据集的所有者或运营商(例如,用于个体的组的基因组信息的数据存储的运营商)、或可以是商业的、非盈利的和/或非盈利性的其他组织)。私有数据可以是基因组数据、财务数据和/或健康数据或其他数据。私有数据提供者101a至101c可以使用任何合适的处理电路和/或计算设备例如台式计算机或移动计算机以连接至网络103和远程计算设备。
在一些实施方式中,私有数据可以是个体的基因组数据,并且私有数据提供者101a至101c可以是获得他们自己的DNA基因型数据的个体。例如,每个提供者101a至101c可能已向对DNA进行测序的公司提供了DNA样本。DNA数据的常见形式是SNP数据,所述SNP数据包含基因组中常见SNP(即,特定碱基位置)的基因型(例如,核苷酸值)。例如,诸如23andme和ancestry.com之类的公司为消费者提供了600,000个SNP的基因型信息。提供者101a至101c可以操作计算设备以经由网络103与系统100的关于私有数据的其他部件进行交互。
网络103可以是用于将私有数据提供者101a至101c连接至系统100中的私有数据用户和远程计算设备的任何合适的有线或无线网络。例如,网络103可以是包括因特网(例如,虚拟私有网络、覆盖网络和/或因特网业务流)的局域网和/或广域网,具有经由802.11Wi-Fi、以太网、光纤或任何合适的连接实现的连接。在一些实施方式中,网络103可以包括与对等消息传递和/或一个或更多个分布式账本相关联的覆盖网络和/或路由协议。在一些实施方式中,网络103可以是使用任何合适连接的自组织网络。在另外的实施方式中,网络103可以是有线或无线局域网或者包括有线或无线局域网。在一些实施方式中,本地网络可以包括有线连接,包括通用串行总线(USB)、集成电路间(I2C)、串行外围接口(SPI)、片上网络(NOC)、高速外围组件互连(PCIe)或任何其它合适的连接。应当理解,并且发明人已认识到,网络103的各种拓扑可以更好地适合于可以根据本公开实施的各种认证方法。
在图1的示例中,私有数据提供者101a至101c可以使用由API服务105实现的一个或更多个API来与系统100的其它部件进行交互,并控制对所贡献的私有数据的访问和报酬。可以使用任何合适的计算设备例如一个或更多个服务器来实现API服务105。
在其它实施方式中,API服务105可以是分布式账本。发明人已认识到,将API服务105实现为分布式账本可以提供优于单个服务器的实质益处/改进,因为分布式账本可以例如使用一个或更多个智能合同来提供透明且可信的API。此外,分布式账本提供了高水平的正常运行时间、可用性和总体可访问性。另外,实现API服务105使得能够在从私有数据提供者101a至101c和私有数据用户接受诸如智能合同的API时的灵活性。因此,分布式账本可以通过使得能够接受和使用用户提交的API来改进可以是公共的且不可变的并因此是审计的且可信的服务器实现的API。
在一些实施方式中,私有数据提供者101a至101c可以在客户端设备上执行他们用来与API服务105交互的客户端应用。例如,API服务105和每个私有数据提供者101a至101c的计算设备可以实现分布式应用的相应部分。例如,私有数据提供者101a至101c的设备可以实现如参考图9所描述的分布式应用客户端。
在一些实施方式中,私有数据提供者101a至101c可以经由分布式应用进行注册以使用由API服务105实现的注册API来共享私有数据。私有数据提供者101a至101c可以响应于注册而(经由应用)接收共享凭证。这样的共享凭证可以包括但不限于用户标识和加密信息。
用户标识可以是标识系统100内的每个私有数据提供者101a至101c的唯一标识。在一些实施方式中,私有数据提供者101a至101c可以向API服务105提供唯一标识凭证作为注册的一部分,并且唯一标识符可以在提供者接收之后由系统100使用来标识该提供者。在其他实施方式中,用户标识符可以是加密钥匙或基于加密钥匙的标识符。例如,在一些实施方式中,可以由在分布式账本协议中使用的地址例如Bitcoin或Ethereum钱包地址来在系统100内标识私有数据提供者101a至101c。
在一些实施方式中,作为注册以共享私有信息的一部分,私有数据提供者101a至101c可以接收加密信息例如公共和/或私有加密钥匙,其可以用于调节对安全系统的访问以用于数据共享。例如,私有数据提供者101a至101c可以在注册期间接收与在执行环境111中保持的私有加密钥匙对应的公共加密钥匙。该私有钥匙可以用于保护私有数据,而公共钥匙可以与被准许访问保护之后的私有数据的那些人共享,以使得能够访问。
因此,在一些实施方式中,作为注册以共享私有数据的一部分,私有数据提供者101a至101c可以将私有数据存储在数据存储器107中,该数据存储器可以是用于所有提供者101a至101c的一个数据存储器,或者可以是不同的数据存储器。数据存储器107可以是任何合适的储存库,例如(任何合适格式的)数据库和/或私有或公共分布式文件系统。
参照图6描述了私有数据的储存库的示例,在一些实施方式中,私有数据提供者(例如,101a至101c中的一个或更多个)可以在本地、在由私有数据提供者操作的设备(执行分布式应用的设备)上或者在与由私有数据提供者操作的设备相同的网络(例如,企业网络)上的设备上存储私有数据。在其他情况下,提供者101a至101c在其中存储私有数据的数据存储器107可以是提供者的直接控制之外的数据存储器,例如与系统100的操作者相关联的公共可用的数据存储器。
为了帮助保持存储在数据存储器107中的数据是私有的,私有数据提供者101a至101c可以使得私有数据在被存储在数据存储器107中之前被加密。根据本文描述的实施方式,私有数据可以被安全地传送至安全执行环境111,该安全执行环境111可以从种子创建公共钥匙钥和私有钥匙。种子可以例如作为注册的一部分从数据提供者接收并且可以是字母数字内容例如一组单词或短语或其他内容。执行环境111可以例如通过加密数据使用私有钥匙来保护数据。执行环境111然后可以返回安全数据以存储在数据存储器107中并返回公共钥匙。安全执行环境111可以以安全的方式维护私有钥匙,如下所描述的。随后,安全数据和公共钥匙可以被提供给执行环境111以解密和操纵不安全数据。下面提供关于执行环境111的其它细节。
当私有数据被保护并且在系统100中注册时,可以利用API服务105创建一个或更多个记录,在API服务105至少部分地被实现为分布式账本系统的情况下,所述记录可以包括记录与分布式账本的一个或更多个交易。例如,如以下更详细地讨论的,关于保护私有数据的安全执行环境111的信息可以被存储在分布式账本中。如以下更详细讨论的,这样的信息可以证明执行环境111的安全性并允许对安全性的审计。附加地或可替选地,可以利用分布式账本(相同账本或不同账本)记录智能合同,该分布式账本指示当私有数据提供者准许对私有数据的访问时要采取的行动,其示例在下面更详细地描述。
可以由提供者101a至101c共享的私有数据可以由私有数据用户用于应用。这样的应用可以使用私有数据来完成任务,例如研究任务。在一些情况下,任务可以是使用大量私有数据来训练模型。这样的模型可以是例如用于基于基因组数据来预测疾病风险的基因组模型。
应用提供者109可以利用私有数据向系统100提交用于使用共享的私有数据来执行应用的可执行指令(例如,软件)。在一些实施方式中,应用可以包括可执行程序,例如二进制程序文件。作为非限制性示例,应用可以被配置用于一系列研究任务,所述研究任务包括但不限于GWAS模型、统计模型、深度学习、机器学习(例如,神经网络、随机森林、逻辑回归和/或其他技术)和/或任何其他合适的研究任务。在一些实施方式中,应用可以顺序地在一个或更多个TEE(例如211)上对私有数据进行操作(例如,为了训练的目的)以及/或者通过访问单个TEE(例如211)上的批量私有数据进行操作。在一些实施方式中,应用输出可以被限制(例如,限制为特定数量的字节)以提供安全性并防止恶意模型的输出中的私有数据盗窃。
在一些实施方式中,一个或更多个虚拟机可以在执行环境111中操作以解释和/或执行应用的指令。这可以被完成以使得当应用以非安全形式处理私有数据时,私有数据仅在安全执行环境中处于非安全状态。
因此,在一些实施方式中,为了增加安全性,可以在执行之前审计应用(例如,应用的二进制文件),例如以确保应用将不执行违反执行环境的安全性的恶意代码以及/或者窃取或以其他方式滥用私有数据。在一些实施方式中,应用可以被配置成由执行环境中的处理电路执行的一系列指令。在一些这样的实施方式中,应用提供者109可以仅被允许在开发应用时从有限的指令集或指令模块中进行选择。例如,如果应用要开发用于研究任务的模型,则应用可被限于对私有数据执行某些操作,作为训练模型的一部分。提供有限的指令集可能比常规可执行文件更有益,因为这可以限制审计可执行文件或其它指令的需要,并且通过限制可以如何使用数据来使得更容易实施安全策略。
在一些实施方式中,应用提供者109可以与API服务105进行交互以注册用于处理已在系统100中共享的私有数据的应用。在API服务105被实现为分布式账本(例如,作为区块链的形式)的实施方式中,应用提供者109可以向API服务105提交与应用对应的一个或更多个智能合同。例如,智能合同可以被添加至分布式账本(例如,以太坊网络区块链)并且可以指定将与应用共享私有数据的条件。这样的条件可以包括确定提交给应用的私有数据的值的方法、给予提交给应用的私有数据的贡献者报酬的方法和/或其他条件。在应用要在安全执行环境111内执行例如由在安全执行环境内执行的虚拟机执行的实施方式中,应用提供者109还可以发布标识安全执行环境的信息。这样的标识信息可以包括与托管应用和/或接收私有数据的执行环境111对应的网络地址和/或公共加密钥匙。
如下面更详细地讨论的,在一些实施方式中,每个私有数据提供者101a至101c可以能够调节哪些应用可以访问由该提供者共享的私有数据。在一些情况下,提供者可以经由在提供者的设备上执行的分布式应用来选择向其贡献私有数据的研究任务或其他应用。当被选择时,可以利用私有账本记录交易,私有账本指示私有数据将在该时间与特定应用共享。作为记录交易的一部分,可以执行与数据提供者的私有数据对应的智能合同。如上面所讨论的,智能合同可以指示当准许访问私有数据时要采取的行动。例如,当访问被准许时,可以将保护数据的特定安全执行环境111(因为在一些实施方式中,可以存在多个不同的安全执行环境)的标识符以及被保护的私有数据的公共钥匙传送至应用提供者109。另外,在一些实施方式中,可以与应用提供者109共享存储被保护的私有数据的数据存储器107的标识符,使得应用提供者109可以检索被保护的私有数据,使得私有数据可被提供给安全执行环境111以供处理。在其他实施方式中,智能合同可以触发被保护的私有数据向安全执行环境111的传送。然后,可以利用公共钥匙将应用传送至安全执行环境111,并且安全执行环境可以对安全执行环境111内的安全数据进行解密,并在安全执行环境111内运行该应用。这样做使得应用能够在数据上执行,并且使得能够在应用训练模型的情况下训练模型,同时仍确保私有数据是被保护的并且仅在安全执行环境内被访问。
在一些实施方式中,安全执行环境111可以是可信执行环境(TEE),其可以是一个或更多个加密安全远程计算设备。例如,执行环境111可以利用处理器池或其他执行环境。参照图10描述了示例性TEE。作为示例,可以使用Intel 软件保护扩展()或/>提供TEE,TEE使得能够在不准许执行环境之外的数据可见性的情况下在TEE内安全地操作数据。在一些实施方式中,执行环境111可以仅运行经审核的指令和/或限制操作以确保安全性和隔离策略的安全虚拟机。
在一些实施方式中,如上面所讨论的,为了确保执行环境111可以是可信的,可以将例如通过验证TEE的身份和/或安全性来证明由执行环境提供的安全性的“证明”发布给分布式账本。例如,可以以任何适当的方式来审计TEE。证明可以包括执行环境111的任何合适的标识符和/或安全性的证明。一旦私有数据提供者101a至101c或私有数据用户使用证明建立了与执行环境111的可信关系,就可以通过使用TEE的加密钥匙对私有数据进行加密来保护私有数据。
在一些实施方式中,应用还可以以安全的方式存储在系统100内并且可以使用API服务105来调节对应用的访问。例如,在应用使用私有数据训练模型的情况下,私有模型的训练参数可以被视为系统内的私有数据,并且可以由安全执行环境111保护。
这样的实施方式在其中应用一旦被训练就将使用可以使用系统100来保护的私有数据来运行的场景中可以是有利的。例如,如果使用群体的一些成员的私有数据来训练模型以用于研究任务,则一旦被训练,就可以利用经训练的模型来分析群体的特定其他成员的私有数据以生成结果。在训练模型以识别基因组数据与医学状况之间的关系的情况下,例如,可以随后将模型应用于临床医生照顾的患者的基因组数据,以帮助临床医生诊断或以其他方式治疗患者。通过在可信执行环境中执行,该其他人的私有数据也可以被保护。
在这样的实施方式中,一旦应用已被上传至执行环境111,应用客户端113就可以例如通过购买访问权来访问该应用。例如,公司可能想要安全地对消费者财务记录进行操作,确定基因组数据序列是否可能是不真实的,以及/或者对从消费者获得的基因组数据进行操作以便提供除测序以外的附加服务。作为另一示例,个体可以提交要由应用分析的私有数据,以便识别经历医学状况的风险。应用客户端113可以向支付系统115提交支付以访问应用。支付系统可以基于当私有数据提供者101a至101c同意共享私有数据时建立的共享条件来指定为每个私有数据提供者101a至101c提供的报酬量。
图2示出了用于向可信执行环境211提供私有数据的计算设备的说明性示图。私有数据提供者201可以通过网络203将私有数据传送至可信执行环境211,例如如参照图1所描述的。在一些实施方式中,私有数据可以在传送至TEE211之前被加密并且在TEE211内被解密。TEE211可以如参照图1中的执行环境111所描述的那样操作。在一些实施方式中,TEE211可以被配置成执行特定目的,例如处理来自新注册用户的私有数据。在一些实施方式中,TEE211上的特定虚拟机可以与私有数据用户隔离。
在一些实施方式中,TEE211可以被配置成通过对新添加至系统的私有数据执行各种操作来辅助私有数据的注册,以便共享。TEE211可以执行包括私有数据加密的各种注册操作,因为实施方式在此方面不受限制。
在一些实施方式中,TEE211可以被配置成对所接收的私有数据执行搜索索引并且向私有数据用户201提供指示私有数据的特征的信息。例如,TEE211可以计算部分私有数据的散列,以使得能够搜索散列来找到具有期望特征的私有数据。例如,在私有数据是基因组数据的情况下,可以基于包括在基因组数据中的特定SNP或SNP组合处的、可以指示与基因组数据有关的个体的特定表型特征的核苷酸来索引基因组数据。
在私有数据是基因组数据的一些实施方式中,TEE211可以被配置成作为处理接收到的私有数据的一部分,检测基因组数据是否可能是不真实的。在基因型数据代表由宣称的来源生成/来自宣称的来源的天然存在的DNA的情况下,可以认为该数据是真实的。在一些实施方式中,在数据是例如随机生成的、来自不同于宣称来源的来源(例如来自不同的人或不同的物种)或以其他方式不真实的基因型数据的情况下,基因型数据可能是不真实的。可以以多种方式执行用于检测不真实数据的过程。图3A至图3G示出了可以单独或组合使用以确定所接收的基因组数据是否真实的说明性过程。在一些实施方式中,这些过程可由在可信执行环境(例如,111、211和/或1011)内执行的软件来执行。
图3A示出了用于确定被宣称与人相关联的基因组数据是否真实的说明性过程300,其利用了被宣称与人有关的基因组数据和非基因组数据。
图3A的过程300开始于动作301,在动作301中接收基因型数据。可以从私有数据提供者接收基因型数据,例如参照图1所描述的。为了确定基因型数据是否是不真实的,流程可以仅进行至动作303和动作305中的一个或两个。
在动作303处,接收指示基因型数据的所宣称的源被宣称拥有的一个或更多个特征的非基因型信息。在一些实施方式中,非基因型信息是从私有数据提供者自我报告的。例如,私有数据提供者可以通过合适的用户接口提供非基因型信息。非基因型信息可以包括但不限于生物性别、种族祖先和一个或更多个表型特征中的任何或全部。
在动作305处,计算基因型数据的一个或更多个特征。在一些实施方式中,可以计算基因型数据中SNP之间的相关性的量度。在真实的DNA中,连锁不平衡(LD)测量某些SNP处核苷酸之间的自然相关性。因此,发明人已认识到,可以计算LD值以指示某些SNP的核苷酸之间的相关性,以区分真实的基因型数据和不真实的基因型数据。在一些实施方式中,LD值可以是r2统计值。
在动作307处,计算基因型数据真实(和/或不真实)的可能性的指示。在一些实施方式中,对于在动作303处接收到的和/或在动作305处计算出的任何或所有特征,例如,可以从与该特征有关的数据库或基因组研究中获得与该特征通常相关联的基因组数据。在这样的实施方式中,对于一个或更多个特征的每个特征,可以确定基因组数据的至少一部分是否与通常与该特征相关联的基因组数据相匹配。为了进行确定,可以根据遗传数据中针对任何特征或所有特征来推断特征,并且可以将所推断的特征与所接收和/或所计算的特征相比较。在一些实施方式中,该比较可以用作计算基因型数据真实的可能性的概率或其他指示的基础。
在动作309处,确定基因型数据是否真实。例如,在一些实施方式中,将基因型数据真实的可能性的指示与阈值相比较。
图3B示出了用于确定基因组数据是否真实的说明性过程310,其包括计算多个分数,该分数可以提供指示以上结合图3A讨论的一些因素的定量值。图3B的过程310可以生成基因型数据真实的定量可能性。
过程310开始于动作311,在动作311中从私有数据提供者接收基因型数据以及被宣称是针对与基因型数据相关的人的自我报告的生物性别、种族祖先和/或表型性状信息中的一个或更多个。
在动作313处,基于基因型数据和所接收的生物学性别来计算性别分数。下面参照图3C描述可以计算性别分数的方式的示例。
图3C示出了用于确定接收到的基因型数据是否与指示生物学性别的接收到的表型信息对应的过程330。即,基因型数据是否表示与用户输入的与该基因型数据应该相关的人相同的性别。
图3C的过程330开始于动作331,在动作331中确定输入基因型数据的X染色体SNP的杂合性。例如,可以比较X染色体上多个SNP处的核苷酸。在动作333处,确定基因型数据中是否存在任何杂合性(例如,至少一个SNP处的不同核苷酸)。如果不存在,则基因型数据是纯合的,并且在动作335处,确定纯合性表明真正的基因型源仅具有一个X染色体并且因此对应于雄性。
然而,如果在框333处确定基因型数据的X染色体数据中存在杂合性,则在动作337处确定基因型数据是否包括任何Y染色体SNP。如果存在Y染色体SNP,则在动作339处确定基因型数据异常。这是因为还包含Y染色体的杂合基因型数据并不常见。这可能是基因型数据不真实的迹象,或者可能是基因型数据所对应的人具有异常基因型数据的迹象。
如果在动作337中确定基因型数据中不包括Y染色体SNP,则在框341中,确定基因型数据对应于雌性。
在动作343处,将所接收的生物性别与推断出的生物性别相比较。基于该比较,在动作345处计算性别分数。性别分数可以基于在给定所接收的性别的情况下观察到基因型数据的推断出的性别的条件概率。
在一些实施方式中,可以使用openSNP数据库(从https://opensnp.org/版本2016-04-27可获得)中的SNP数据对不正确的报告的性别的可能性进行量化,这使志愿者能够上传DNA和表型数据以为科学研究做出贡献。在一些实施方式中,可以如下得到条件概率:
用于不真实的DNA检测的性别分数可以是相应的对数条件概率:
性别分数=log(概率(自我报告的性别|DNA是真实的))
在一些实施方式中,使用对数概率代替原始概率可以在将性别分数与其他因素的分数组合的方面产生益处。这样的益处可以包括数学上的简单性,因为在一些情况下,使用对数概率的总和来组合分数可以比使用小数的乘法来组合分数更容易,如果分数被计算为概率而不是对数概率时,则可以替代地使用。使用对数概率还可以避免在使用概率时可能出现的小数的乘法的数值误差。
回到图3B,在动作315处,还可以基于所接收的种族祖先来计算种族祖先分数。参照图3D描述了计算种族祖先分数的方法的示例。
图3D示出了用于计算种族祖先分数的说明性过程350。在动作351处,根据基因型数据推断种族祖先。在一些实施方式中,可以通过从基因型数据中提取祖先锚SNP来推断与基因型数据对应的种族祖先。然后祖先锚SNP可以用于确定来自基因型数据的推断出的种族祖先。在动作353处,可以将推断出的种族祖先与自我报告的种族祖先相比较。基于该比较,在动作355处计算种族祖先分数。该种族祖先分数可以基于在给定所接收的种族祖先的情况下观察到基因型数据的推断出的种族祖先的条件概率。
作为说明性示例,以下技术可以应用于SNP数据以推断祖先。
首先,来自每个样本的较少数量的SNP(例如600,000,来自基因分型芯片分析的直接测量)可以被推算为较大数量的SNP(例如7百万,计算预测)。这可以以任何适当的方式来完成,例如使用软件Impute2和1000基因组项目阶段3参考小组。因为附近的SNP通常是共遗传的,所以软件利用使用全基因组测序(1000基因组项目)从大群体数据观察到的SNP位置的基因型之间的共现关系,并利用直接测量结果从附近的SNP中推断未测量的SNP位置的基因型。
其次,可以从推算的SNP中提取多个祖先锚SNP(例如162645)。这可以以任何合适的方式完成,例如,根据https://github.com/Ancestry/cehg16-workshop。该工作室描述了如何应用软件Admixture来使用一个人的DNA基因型数据推断他/她的祖先。
第三,祖先锚SNP可以被输入至Admixture软件,Admixture软件可以输出推断出的祖先。该软件根据大量祖先标记的DNA基因型数据建立祖先模型,并且一旦建立了祖先模型,该软件就使用该模型将祖先标记分配给新基因型数据。
在一些实施方式中,祖先匹配(例如,使用上面描述的说明性步骤)可以单独使用或与其它技术结合使用,以检测不真实的DNA数据。例如,推断出的祖先与自我报告的祖先不匹配的样本可以被标记为潜在的不真实DNA样本。
例如,上面描述的说明性步骤可以应用于openSNP数据库中的DNA数据。在一个实验中,使用了OpenSNP数据库中可用的23andme SNP数据。自我报告的祖先为“北欧”的样本有64个。(在进行实验时,“北欧”群体在openSNP数据库中具有最大数量的样本。)将上面描述的说明性步骤应用于64个样本中的每一个。在64个样本中,Admixture软件输出的推断出的性别是59个样本的“芬兰”。(“芬兰”是最接近“北欧”的可用标记。)因此,在该实验中,在92%的样本中,推断出的祖先与自我报告的祖先相匹配。
在一些实施方式中,条件概率可以如下得到:
用于不真实的DNA检测的祖先分数可以是相应的对数条件概率:
祖先分数=log(概率(自我报告的祖先|DNA是真实的))
回到图3B,在动作317处,可以基于所接收的种族祖先来计算等位基因频率分数。参照图3E描述等位基因频率分数的计算。
图3E示出了一个可以用于计算等位基因频率分数的示例性过程360。在动作361处,基于所接收的种族祖先信息来确定观察到基因型数据中的多个等位基因的概率。在动作363处,基于条件概率确定观察到基因型数据中的多个核苷酸的概率。在动作365处,基于在动作363中计算的概率来计算等位基因频率分数。
本发明人已认识并意识到,给定群体中不同SNP的等位基因频率,可以计算天然源自群体的基因型的可能性。因此,如果可能性低,则指示携带相对罕见的等位基因的SNP的数目出乎意料地高,这可能指示DNA数据不真实。
因此,在一些实施方式中,可以计算上传的DNA样本的“等位基因频率分数”(Scoreallele_freq)。该分数可以测量群体中观察到的基因型与等位基因频率的平均一致性。因此,给定样本的低Scoreallele_freq可以指示该样本可能是不真实的。
在一些实施方式中,给定自我报告的祖先信息,可以如下计算观察到第i个SNP的基因型剂量di的条件概率。
在本实施方式中,di表示第i个SNP的剂量。例如,如果从该SNP观察到的两个等位基因是群体中的次要等位基因,则剂量可以是2。如果该SNP是杂合的,则剂量可以是1。如果该SNP与群体中的主要等位基因是纯合的,则剂量可以是0。
此外,在本实施方式中,fi表示给定群体中第i个SNP的次要等位基因频率。次要等位基因频率可以以任何合适的方式获得,例如,从1000基因组计划获得。
发明人已认识并意识,群体等位基因频率可以具有有限的精确度(例如,由于有限的样本大小)。因此,在一些实施方式中,低于0.001的等位基因频率可以被常数值0.001代替以避免数值问题。因此,可以如下计算等位基因频率分数,其中N是上传的样本中的SNP的数目。
发明人已认识并意识,诸如以上计算的分数的等位基因频率分数可以代表观察到的基因型剂量的平均对数概率。在上面的示例中,常数项“2*log(0.5)”可以将分数移动平均值0。应当理解,本公开内容的各方面不限于使用任何常数项。
在一个实验中,openSNP数据库基因型样本被用于计算等位基因分数分布。例如,为原始样本(假设其是真实的)计算第一分布,并且为通过随机突变10%的SNP而获得的非真实样本来计算第二分布。如图7所示的结果指示等位基因频率分数例如如上面所描述的Scoreallele_freq可以用于区分真实的DNA样本(绿色)和非真实的DNA样本(红色)。
回到图3B,在动作319处,可以基于接收到的表型性状来计算性状分数。参照图3F来描述性状分数的计算。
图3F示出了可以用于计算将用于确定基因型数据是否真实的性状分数的一个说明性过程370。
在动作371处,基于自我报告的表型性状信息确定在基因型数据中某些等位基因处观察到多个核苷酸的概率。在动作373处,基于确定的概率计算表型性状分数。
发明人已认识并意识,某些身体特征例如眼睛颜色、头发颜色和颏裂是高度可遗传的(遗传力量度H2>0.7),并且因此可以根据DNA基因分型数据预测,这意味着常见变体而非罕见变体有助于那些表型。因此,在一些实施方式中,可以单独使用或与其它技术组合使用一个或更多个性状的匹配(例如,使用下面描述的说明性步骤),以检测非真实的DNA数据。
在一些实施方式中,可以计算分数Scoretrait以量化一个或更多个高度遗传性状上的自我报告表型与预测表型之间的匹配程度。这可以以任何合适的方式来完成,例如,通过使用针对性状的多基因风险分数模型计算观察到自我报告表型的可能性:
概率(自我报告的表型|模型,DNA数据)
多基因风险分数模型生成给定特定性状的基因组上的基因型数据的人的风险分数。多基因风险分数模型通常假设来自基因组中不同SNP的加性效应,并且可以根据针对该性状的病例对照遗传研究来估计每个SNP的效应大小。
用于不真实的DNA检测的特征分数可以是相应的对数条件概率
Scoretrait=log(概率(自我报告的表型|模型,DNA数据))
回到图3B,在动作321处,可以计算连锁不平衡分数。参照图3G描述了连锁不平衡分数的计算。
图3G示出了可以用于计算将用于确定基因型数据是否真实的性状分数的说明性过程380。过程380开始于动作381,在动作381中计算基因型数据中多个核苷酸之间的相关性的量度。在一些实施方式中,相关性的量度包括所接收的核苷酸在基因型数据中共现的可能性。在一些实施方式中,计算核苷酸自然共现的可能性包括计算SNP的LD相关性。在动作383处,基于相关性的量度,针对基因型数据计算连锁不平衡分数。可以如参照图4A至图4D所描述的那样进行LD计算。
回到图3B,在动作323处,可以计算基因型数据真实的可能性的指示。在一些实施方式中,在动作313、动作315、动作317、动作319和/或动作312中计算的所有分数或一些分数被用于计算可能性。在一些实施方式中,分数基于概率的对数通过加法组合。可以根据任何合适的数学公式来组合分数。在一些实施方式中,所有分数或部分分数可以被输入至统计分类器以生成分数自然一起出现的概率。
在动作325处,例如通过将组合分数和/或组合分数的可能性的指示与阈值相比较来确定基因型数据是否真实。
在一些实施方式中,可以针对被认为包含真实数据的验证数据库中的每个受试者计算组合分数。可以计算经验Scorecombine分布以供将来不真实的DNA检测时使用。例如,可以如下计算经验分布。
p值=概率(自我报告的属性|上传的SNP基因型是真实的)
在一些实施方式中,可以选择p值阈值以拒绝“上传的DNA是真实的”的假说。例如,如果根据自我报告的属性和相应上传的DNA数据计算的p值小于0.001,则上传的DNA可以被标记为潜在地不是真实的DNA。p值阈值的选择可以表示假阳性与假阴性之间的折衷。例如,较低的p值阈值可能致使将真实的DNA误分类为非真实的DNA的概率较低。可能期望使用低于0.05的p值阈值。然而,应当理解,本公开内容的各方面不限于使用任何特定阈值。
如上面所讨论的,在一些实施方式中,可以收集基因组数据以训练模型,从而使基因型信息(例如,针对特定SNP的特定核苷酸组)与表型信息相关,例如患者是否具有特定的医学状况(例如,疾病)。应用可以由可信执行环境执行,并且可以分析特定人的基因组数据以生成该人具有特定医学状况的可能性。
图4A至图4D示出了可以在一些实施方式中实现的用于估计给定人将经历医学状况的可能性的说明性过程。图4A示出了用于通过配置和应用伪双胞胎模型来估计给定人将经历医学状况的可能性的说明性过程400A。
如上面所讨论的,来自群体的、针对给定复杂疾病共享同一组状况风险变体的个体对可以被称为“伪双胞胎”。伪双胞胎模型可以被配置成从个体的群体接收私有基因组数据以及对应的疾病诊断和/或状态,并且可以基于个体的伪双胞胎是否具有医学状况来估计该个体的医学状况的风险。例如,伪双胞胎模型可以从个体接收基因组数据并将所接收的基因组数据中的状况相关联SNP与群体数据相比较。当所接收的基因组数据超过与模型中的基因组数据的相似性的阈值水平时,检测到伪双胞胎。然后,基于是否已诊断出一个或更多个伪双胞胎具有医学状况,使用所检测的伪双胞胎来确定个体将经历医学状况的可能性。例如,具有疾病的伪双胞胎的比例可以作为经历疾病的可能性输出。
在动作410处,配置伪双胞胎模型,并且在动作420处,将配置的伪双胞胎模型应用于个体(例如,临床医生照顾的患者,正在对他们是否可能具有医学状况进行评估)的数据以识别伪双胞胎并估计风险。可以基于来自私有数据提供者的私有数据的集合来配置伪双胞胎模型。在一些实施方式中,用于配置伪双胞胎模型的私有数据可以包括基因型数据和医学状况状态,其可以包括具有疾病的诊断。该伪双胞胎模型可以应用于与个体相关联的基因型数据,以基于在模型中识别的伪双胞胎来确定个体将经历医学状况的风险。
图4B示出了用于配置伪双胞胎模型的说明性过程410。该过程开始于动作411,在动作411中接收群体的个体级全基因组关联研究(GWAS)数据。GWAS数据可以是从一个或更多个私有数据提供者接收的私有数据并且可以在TEE处接收,例如,如上面参照图1和下面参照图7所描述的。
在动作413处,过滤GWAS数据以提取针对医学状况的状况相关联SNP,该状况相关联SNP可以是包括与特定人是否具有特定医学状况相关的信息的一组SNP(即,基准位置)。不同组的SNP可以被标识为对于不同医学状况而言状况相关联的。过滤过程可以包括从一大组SNP中标识与医学状况的存在或不存在相关或比其他SNP更相关的SNP。
在一些实施方式中,过滤GWAS数据可以包括p值修剪和/或LD修剪。
在一些实施方式中,可以仅考虑存在指示与疾病(或模型正在训练的其他医学状况)相关的统计证据的SNP,这可以被称为p值修剪。在其它情况下,5E-8的全基因组显著性阈值通常用于确定相关性或关联性。然而,本发明人已认识并意识到这种严格阈值可以导致排除除了一小部分因果SNP之外的所有SNP。发明人还认识并意识到,对于伪双胞胎匹配,可能期望包括更多因果变体。因此,在一些实施方式中,可以使用更宽松的阈值(例如,从1E-7到1E-4的GWAS p值截止值)。
本发明人已认识并意识,尽管使用较低阈值可能致使包含错误关联的SNP(例如,与医学状况的存在或不存在实际不相关的SNP),但这样的SNP可能不会降低伪双胞胎方法中的准确度。替代地,在一些情况下,较松的p值截止值实际上可以在伪双胞胎匹配中产生较高的准确度。
然而,如果使用太宽松的p值截止值,错误关联的SNP也可以增大识别给定个体的伪双胞胎匹配的难度。例如,如果使用p值截止值1,则必须匹配所有SNP,且几乎不可能找到不是单卵双胞胎的两个匹配的人。
发明人已认识并意识到,1E-6的截止值可以代表在准确性与找到匹配的能力之间的良好折衷。然而,应当理解,本公开内容的各方面不限于使用任何特定的截止值。例如,当收集更多数据时,可以使用较低的截止值,并且识别匹配变得更容易。
本发明人进一步认识并意识到,位于针对医学状况的基因组中的因果SNP附近(例如,在因果SNP的一定数目的碱基位置内)的SNP也可以与医学状况具有强关联性,因为彼此邻近的SNP可能经常一起变化。本发明人还认识并意识到,可能期望排除这样的“额外的”SNP。一起变化并因此携带几乎相同信息的SNP可能具有一起超过p值阈值的高可能性。一旦它们一起超过阈值,如果在训练模型时使用基因组的给定区域的所有SNP(它们一起变化),则该额外数据可能在模型和伪双胞胎匹配中引入偏差。
另外,在伪双胞胎识别过程中包括更多SNP可能使得伪双胞胎的识别更加困难。如上面所讨论的,将伪双胞胎识别为具有与状况相关联SNP的核苷酸的阈值匹配数目相同或超过该阈值匹配数目的核苷酸的人。当考虑更多SNP时,识别伪双胞胎可能变得困难,因为可能需要匹配更多SNP以识别群体中的伪双胞胎成员。此外,当额外的SNP没有向模型添加太多信息时,由于它们与其他SNP一起变化的趋势使得额外的SNP可以说是冗余的,因此这种增加的难度是不必要的,并且可能具有有限的益处或没有益处。
可以通过测量SNP之间的连锁不平衡(LD)来量化SNP一起变化的这种趋势。因此,可以使用SNP对的LD值来确定是否将SNP排除在考虑之外。
在一些实施方式中,可以通过r2值来测量两个SNP之间的LD的强度,r2值的范围可以在0与1之间,其中r2=1可以指示两个SNP提供完全相同的信息。在一些实施方式中,可以如下计算r2。
在该实施方式中,PA表示具有等位基因A的第一SNP的概率,PB表示具有等位基因B的第二SNP的概率,PAB表示观察到具有等位基因A的第一SNP和具有等位基因B的第二SNP两者的概率。
在一些实施方式中,可以使用1Mbp内的SNP的祖先特定LD r2统计。这样的统计可以以任何合适的方式获得,例如,从1000基因组项目获得。1000基因组计划通过将全基因组测序应用于来自多个群体的不同个体集来提供对常见人类遗传变异的全面描述。已重构了来自26个群体的2,504个个体的基因组,包括>99%的SNP变体,对于多种祖先,其频率>1%。
在一些实施方式中,可以如下执行LD修剪。首先,可以基于GWAS p值选择与疾病相关联的最显著SNP。可以去除r2值高于所选择的LD阈值的所有附近SNP(例如,所选择SNP的1Mbp以内),其中r2值是在所选择的SNP与被考虑去除的SNP之间计算的。
在一些实施方式中,可以使用r2>0.8的LD阈值,但是应当理解,本发明的方面不限于使用任何特定LD阈值。例如,本发明人已认识并意识到,较低LD阈值可以致使较少的选择的SNP,这可以提高发现伪双胞胎的可能性,但可以修剪一些真正因果SNP。
在一些实施方式中,在基于最显著的SNP执行LD修剪后,可以选择剩余SNP中次最显著的SNP,并且可以基于次最显著的SNP进行LD修剪。这可以重复,直到剩余SNP中次最显著的SNP不再满足所选择的GWAS p值截止值(例如,如上面结合p值修剪所描述的)
在动作415处,可以确定一个或更多个伪双胞胎模型参数。例如,可以确定用于确定两个样本对应于伪双胞胎的基因型数据之间的相似性水平的阈值。
图4C示出了用于应用伪双胞胎模型的说明性过程420。过程420开始于动作421,在动作421中接收输入基因型数据。输入基因型数据可以从私有数据提供者接收并且对应于个体。伪双胞胎模型可操作以确定个体将经历一个或更多个医学状况的风险。在动作423处,从输入的基因型数据中提取状况相关联SNP。状况相关联SNP可以已通过参照图4B描述的GWAS过滤和模型配置来确定。
在动作425处,将所提取的SNP与与伪双胞胎模型相关联的记录进行匹配。在一些实施方式中,可以将查询个体与数据库中关于为疾病选择的一组SNP的一个或更多个个体进行匹配。例如,查询可以被构建为K维向量x=gK|g∈{0,1,2},其中K是所选择的SNP的数目,并且值0、1、2表示每个所选择的SNP的基因型。例如,纯合性参考等位基因可以用0表示,杂合性可以用1表示,纯合性替代等位基因可以用2表示,在一些实施方式中,可以根据1000基因组计划和hg19版本的人类参考基因组来定义每个SNP的参考等位基因和替代等位基因。
在一些实施方式中,可以针对K个选择的SNP提取数据库中的基因型记录,并且将所述基因型记录表示为一组K维向量{y=gK|g∈{0,1,2}|y在数据库中)。给定查询矢量x和记录矢量y,两个矢量之间的相似性可以被计算为相同维度的百分比,如下所示。
在一些实施方式中,可能需要查询矢量x与数据矢量y之间的高相似性水平来将查询个体和记录个体分类为给定疾病的伪双胞胎。实验结果表明,当使用高相似性阈值(例如,>0.9)时,可以获得高预测准确度。
在一些实施方式中,可以通过测试不同候选阈值(例如,从0.9到1)并选择具有最高一致率的阈值来确定给定疾病的相似性阈值。
在一些实施方式中,候选阈值的一致率可以被计算为在至少一个个体具有疾病的所有对中两个个体具有感兴趣疾病的对的百分比,其中每对包括数据库中被认为根据候选阈值匹配的两个个体。只有当存在具有高于候选阈值的相似性的至少三对个体时才可以计算一致率,这可以提供模型性能的更佳指示。然而,这不是必需的,如在一些实施方式中,如果存在相似性高于候选阈值的两个或更少对,则也可以计算一致率。
在动作427处,基于伪双胞胎的匹配记录来估计与输入基因型数据相关联的个体将经历状况的可能性。在一些实施方式中,给定的查询个体可以与数据库中的关于给定疾病的一个或更多个个体(例如,如上所述)匹配。然后,查询个体的疾病风险可以被计算为查询个体的具有疾病的伪双胞胎的百分比。
在一些实施方式中,可以报告疾病风险估计的方差。例如,可以从数据库中针对该感兴趣疾病的伪双胞胎对的一致率μ的方差中得出方差。
var(疾病风险)=μ(1-μ)
一致率μ可以是具有与查询者相同的疾病/性状状态的匹配伪双胞胎的百分比。
图4D示出了用于通过配置和应用伪双胞胎模型来估计给定的人将经历医学状况的可能性的说明性过程400b。在动作431、动作433、动作435和动作437处,可以如参照图4B所描述的那样配置伪双胞胎模型。在动作439、动作441、动作443和动作445处,可以如参照图4C所描述的那样将伪双胞胎模型应用于输入基因型数据。
图5示出了用于管理用户对私有数据的访问的系统500的说明性框图。图5示出了私有数据提供者501、私有数据用户509以及被配置成托管注册API 521、共享API 523和支付API 525的远程计算设备505。私有数据用户可以是具有用于共享的私有数据的个体,例如,如参照图1中的私有数据提供者101a至101c所描述的。私有数据用户509可以是如参照考图1所描述的应用提供者和/或应用客户端。
远程计算设备505可以是用于托管API 521、523和525的任何合适的计算设备,例如,如参照图1中的API服务器105所描述的。远程计算设备505可以是分布式账本协议中的一个或更多个服务器和/或节点。
注册API 521可以被配置用于使得私有数据提供者501能够注册以共享私有数据,例如,如参照图1所描述的。私有数据提供者可以使用注册API注册以共享私有数据。私有数据提供者501可以响应于注册而接收共享凭证。例如,凭证可以包括但不限于用户标识和加密信息。用户标识可以是提供给私有数据提供者501的唯一标识。在一些实施方式中,私有数据提供者501可以向注册API提供唯一标识的凭证以便注册。在一些实施方式中,用户标识可以是加密钥匙或基于加密钥匙的标识符,例如,私有数据提供者501可以由在分布式账本协议中使用的地址例如Bitcoin或Ethereum钱包地址来标识。在一些实施方式中,私有数据提供者501可以注册以共享私有数据并接收加密信息例如公共和私有加密钥匙,该加密信息可以用于访问安全系统以进行数据共享。在一些实施方式中,私有数据提供者501可以接收与TEE中保持的私有加密钥匙对应的公共加密钥匙。
共享API 523可以被配置成使得能够共享私有数据。私有数据用户509可以使用共享API 523建立共享条件,并且私有数据提供者501可以同意共享条件并且作为响应共享数据。在一些实施方式中,注册API 521和共享API 523可以被实现为单个API。例如,可以为每个应用注册并共享私有数据用户。在一些实施方式中,共享API 523可以被实现为智能合同,该智能合同可以由私有数据用户509发布给分布式账本。私有数据提供者501和私有数据用户509可以同意共享条件,例如,如参照图1所描述的。在一些实施方式中,共享API 523可以向私有数据用户509和私有数据提供者501中的一个或两个提供标识TEE的信息。
支付API 525可以被配置成使得私有数据提供者能够因贡献私有数据而得到报酬。在一些实施方式中,共享API 523可以触发支付API 525的一个或更多个功能。例如,还可能需要通过共享API 523访问共享信息的私有数据用户509经由支付API 525提供支付。支付API 525还可以基于由共享API 523建立的共享条件向私有数据提供者501分发报酬。
图6示出了私有数据储存库600的说明性框图。图6示出了私有数据提供者601、网络603和数据库607a至607c。(尽管图6示出了以一个或更多个数据库的形式实现的私有数据储存库600,但是应当理解,实施方式不限于以数据库或任何数量的数据库的形式存储数据,并且可以使用其他形式的存储装置。)在一些实施方式中,私有数据提供者(例如,101和/或701)可以将加密的私有数据存储在分布式数据存储装置中。例如,可以使用与TEE相关联的加密钥匙来加密私有数据。私有数据提供者601可以通过网络603(例如,根据分布式哈希表)将加密的私有数据的碎片分发到任何适当的数据库607a至607c,数据库607a至607c可以是连接至一个或更多个TEE或包括在一个或更多个TEE中的存储装置。
在一些实施方式中,私有数据储存库600用于存储与一个或更多个TEE相关的数据。例如,在一个或更多个TEE中运行的源代码、可由TEE执行的二进制代码、由TEE执行的应用的参数和/或任何其它合适的信息。
图7示出了用于共享私有数据的系统700的说明性框图。图7示出了私有数据提供者701、私有数据用户709、分布式应用客户端731a和731b、对等网络735、网络703、分布式账本733、TEE711和虚拟机737。系统700可以操作用于使得私有数据提供者(例如701)能够与私有数据用户709共享私有数据。如参照图1、图5和图8所描述的分布式账本733可以存储与私有数据共享相关的包括智能合同的条目。
如参照图1中的私有数据提供者101a至101c所描述的,私有数据提供者701可以具有要共享的私有数据。私有数据用户709可以利用共享的私有数据,例如以训练模型或购买对模型的访问。可以如参照图1中的应用提供者109和应用客户端113所描述的那样操作私有数据用户709。
私有数据提供者701和私有数据用户709中的每一个都可以利用相应的分布式应用客户端731a和731b。每个分布式客户端应用731a至731b可以被配置成例如通过根据一个或更多个智能合同发布分布式账本条目来与分布式账本733进行交互。每个分布式应用客户端731和731b可以连接至对等网络735,该对等网络735可用于与其它分布式应用客户端通信。可以使用任何合适的对等消息传递系统或协议。可以匿名执行对等通信,以防止有关私有数据提供者的信息泄露给对等消息传递参与者。TEE711、一个或更多个公共储存库和/或任何其它合适的计算设备可以连接至对等网络735并在其上通信。在一些实施方式中,计算设备(例如,TEE711和/或虚拟机737)的对等标识符被存储在分布式账本中。在一些实施方式中,分布式应用客户端731A可以被配置成执行参照图11A和图11B描述的方法。还参照图9描述了分布式应用客户端。
在一些实施方式中,分布式应用客户端731A可以被配置成使得私有数据提供者能够注册以共享私有数据、根据一个或更多个共享条件共享私有数据、被给予针对共享私有数据的报酬以及/或者从分布式账本读取任何其他相关信息和向分布式账本写入任何其他相关信息。类似地,分布式应用客户端731b可以使得私有数据用户709能够向分布式账本733发布共享条件、购买对TEE711和/或虚拟机737中的一个或更多个应用的访问以及/或者从分布式账本读取任何其他相关信息和向分布式账本写入任何其他相关信息。
可以如参考执行环境111、TEE211和/或TEE1011所描述的那样操作TEE711。在图7的示例中,TEE711托管虚拟机737。在一些实施方式中,虚拟机可以包括用于数据和指令的被保护的存储器空间。在一些实施方式中,可以使用审计的或可信的代码来运行虚拟机。在一些实施方式中,虚拟机被配置成解释对私有数据进行操作的有限指令集。在这样的实施方式中,可以通过检查提交给虚拟机737以及/或者在虚拟机中运行的应用是否遵守有限的指令集而无需更复杂的审计过程来实施数据隐私和安全性。在一些实施方式中,TEE711可以托管多个虚拟机737。每个虚拟机737可以由特定的私有数据用户或提供者拥有和/或控制。证明虚拟机的身份和/或安全性的信息可以被存储在分布式账本733中。
图8示出了分布式账本833的说明性实施方式。图8图示了用于维护分布式账本833的系统800。具体地,图8示出了由网络803(例如,因特网)连接的分布式账本节点841a、841b和841c以及包括分布式账本条目843a、843b、843c、...和843n的分布式账本833。
分布式账本在多个分布式账本节点841a至节点841c之间共享,并且用于以加密安全的方式记录和检查交易。在一些实施方式中,虽然新的交易可以被附加至分布式账本,但是在不破坏加密证明链的情况下,不能更改过去的交易。例如,每个分布式账本条目841a至843n可以包括使用一个或更多个先前条目作为输入而计算的哈希值。分布式账本833可以用于实现信任结构以使得证明(例如,证明TEE的安全性的证明)对于多个实体是可见的并且依赖于多个实体。分布式账本833还可以存储可以实现API的智能合同。在一些实施方式中,智能合同的配置可以用于提供由节点841a至节点841c的节点执行的指令,该指令将与智能合同交互的条目添加至分布式账本833。例如,智能合同可以包括由所有对手方建立/同意的预定义合同条款,作为非限制性示例,该条款包括算法指令、要共享的格式或数据、相关存储地址、用户标识、与合同有关的计算成本以及/或者诸如数据验证条件、应用评估/使用条件以及/或者时间条件之类的条件。作为另一示例,智能合同可以包括可以触发智能合同中的全部或部分指令的执行的事件,例如数据转移、一定量数据共享以及/或者与智能合同相关联的应用相关联的计算。智能合同的条款可以支配智能合同的执行,包括分布式账本中的价值转移和其他操作和/或智能合同的结算。
作为说明性示例,分布式账本条目843a可以存储智能合同,该智能合同使得私有数据提供者能够注册以根据共享条件共享私有数据,并且准许对TEE中的应用的访问。分布式账本条目843b可以包括针对TEE的证明。分布式账本条目843c可以包括私有数据提供者同意分布式账本条目843a中的共享条件和/或私有数据与分布式账本条目843b中的TEE证明共享的指示。分布式账本条目843n可以存储交易的记录,该交易向私有数据提供者提供报酬以交换对TEE中的应用的访问。
应当理解,可以以任何合适的方式来实现分布式账本833。例如,在一些实施方式中,除了一个或更多个区块链以外或替代一个或更多个区块链,可以使用一个或更多个有向非循环图(例如,IOTA15 Tangle)、哈希图(例如,Swirlds)、哈希树(例如,Guardice无钥匙签名基础结构)和/或不具有全局共享链(例如,R3 Corda)的分布式账本。
图9示出了分布式应用客户端931的说明性框图,分布式应用客户端931包括分布式应用接口951、对等客户端953、搜索客户端955和存储装置957。分布式应用客户端可以用于与一个或更多个分布式账本通信,例如,如参照图1和图7所描述的。在一些实施方式中,可以使用存储在分布式账本中的智能合同和被配置成与存储在智能合同中的指令进行交互的分布式应用客户端931来实现诸如参照图1和图5所描述的API之类的API。分布式应用接口951可以包括用于接收用户输入并且基于用户输入与一个或更多个分布式账本进行交互的合适接口。不要求分布式应用客户端实现完整的分布式账本协议以及/或者维护或验证分布式账本的副本。存储装置957可以存储与分布式账本、私有数据和/或任何其他合适的数据有关的信息。
对等客户端953可用于与其它分布式应用客户端通信。可以使用任何合适的对等消息传递系统或协议。可以匿名执行对等通信,以防止关于私有数据提供者的信息泄漏给对等消息传递参与者。参照图12C描述了确保私有对等通信的合适方法。
在一些实施方式中,对等客户端953被配置成生成对等标识符。例如,对等客户端953可以使用种子短语来生成多个钥匙对,所述多个钥匙对中的每一个钥匙对可以用作消息收发账户。在一些实施方式中,对等客户端953的用户可以在任何合适的时间改变账户。
在一些实施方式中,分布式应用客户端931可以被配置成执行用户认证和/或访问控制。例如,用户可以通过提供可以用密码加密的其账户的账户名称和私有钥匙来登录到分布式应用客户端931。在一些实施方式中,如果所提供的私有钥匙能够解密与账户名称相关联的数据,则分布式应用客户端931认证(例如,准许访问数据和/或控制)用户。在一些实施方式中,账户名称可以对分布式应用客户端是本地的。在一些实施方式中,对等客户端953与搜索客户端955结合使用,以使得用户能够搜索私有数据。搜索客户端955可以(例如,通过对等客户端953)接收对私有数据的期望特征的请求。在一些实施方式中,搜索客户端可以(例如,使用存储装置957)存储可以用于将搜索索引到私有数据中的信息。例如,可以使用私有数据计算一个或更多个哈希值并将其存储,然后,传入的搜索请求可以包括期望哈希值。还参照图12A和图12B描述了搜索私有数据。
图10示出了可信执行环境1011的说明性框图。可以如参照执行环境111、TEE 211和/或TEE 711所描述的那样来操作TEE 1011。TEE 1011包括处理电路1061、被保护的存储器1063、加密电路1065、加密钥匙管理1067、网络接口1069和托管应用1071的虚拟机1037。
处理电路可以是包括处理器、片上系统(SoC)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)和/或任何其他合适的处理器的任何合适的处理电路。处理电路1061可以被配置成访问可以是安全且可信的被保护的存储器1063。加密电路1065可以使用一个或更多个加密钥匙来执行包括哈希算法和/或输入的加密的任何必要的加密功能。在一些实施方式中,加密钥匙管理1067维护一个或更多个加密钥匙例如私有钥匙对和公共钥匙对。可以针对每个应用、虚拟机、私有数据提供者、私有数据用户或以任何合适的方式生成和维护钥匙对。网络接口可以是用于(例如,通过到因特网的有线或无线连接)进行网络通信的任何合适的接口。在一些实施方式中,网络接口1069可以被配置成与一个或更多个分布式账本交互以向(一个或更多个)分布式账本发布信息和/或条目以及从(一个或更多个)分布式账本检索信息和/或条目。
在一些实施方式中,可以使用Intel 软件保护扩展(/>)或/>实现TEE 1011的所有或部分元件。在一些实施方式中,TEE 1011可以被虚拟化以将一个或更多个TEE作为单个虚拟TEE呈现给用户。例如,用户可以接收用于与TEE交互的单个加密钥匙,并且使用该钥匙共享的私有数据可以(例如,通过加密电路1065和加密钥匙管理1067)在TEE内被解密并且共享。
可以如参照图7中的虚拟机737所描述的那样来操作虚拟机1037。虚拟机1037可以并发地或通过虚拟机1037的迁移在一个或更多个虚拟机上运行。在一些实施方式中,每个虚拟机被分配给至多一个应用1071以隔离工作负载并确保安全性。在一些实施方式中,虚拟机1037可以由诸如应用提供者之类的个体拥有和控制。在一些实施方式中,TEE 1011可以被用于托管一个或更多个应用1071,以促进本文描述的技术。例如,TEE 1011可以被配置成托管用于索引私有数据以供搜索的应用1071。
图11A至图11D示出了用于共享私有数据的说明性处理流程。可以使用分布式应用(例如,分布式应用731A、731B和/或931)来执行所示的过程1100。过程1100开始于动作1101,在动作1101中私有数据被注册以用于共享。可以使用API和/或分布式账本中的智能合同来注册私有数据以用于共享,例如,如参照图1、图5和图7所描述的。
在动作1103处,可以从安全执行环境获得用以保护私有数据的安全性信息,该安全执行环境可以被称为可信执行环境。在一些实施方式中,可信执行环境可以向被注册以共享私有数据的私有数据提供者提供一个或更多个加密钥匙。然后,可以使用加密钥匙来经由加密保护私有数据。
在动作1105处,可以在分布式账本中存储和/或访问标识安全执行环境的一个或更多个证明报告。将证明报告存储在分布式账本中可以确保报告是公开可用的并且仍然是不可变的,并且因此是可信的。证明报告可以用于确保安全执行环境和/或私有数据保持安全并且可以被信任。此外,证明报告还可以使得用户能够确定声称属于TEE的网络地址被证明属于TEE。在一些实施方式中,可以在分布式账本中访问指示TEE是安全的证明报告。在一些实施方式中,证明报告可以被存储在分布式账本中以指示TEE和/或私有数据是安全的。
在动作1107处,将私有数据已被注册以用于共享的指示存储在分布式账本中。在动作1109处,响应于准许访问的指令,将被保护的私有数据传送至安全执行环境。在一些实施方式中,私有数据提供者可以使用智能合同来发布分布式账本交易以同意共享私有数据并且接收交易已被发布至分布式账本的指示。作为响应,私有数据提供者可以将私有数据传送至TEE。在一些实施方式中,私有数据可以在TEE中,并且可以基于准许访问的指令来准许访问。
图11B示出了用于共享私有数据的说明性处理流程1110。可以使用分布式应用(例如,分布式应用731a、731b和/或931)来执行所示的过程1110。过程1110开始于动作1111,在动作1111中根据共享条件传送共享私有数据的请求。可以将请求传送至分布式账本。该请求可以基于智能合同,该智能合同可以在分布式账本中发布共享条件,例如参照图1、图5和图7所描述的。
在动作1113处,可以基于分布式账本中的证明来验证在共享条件下识别的TEE的安全性。如参照图11A的动作1103所描述的,将证明报告存储在分布式账本中可以确保该报告是公开可用的并且仍然是不可变的,并且因此是可信的。证明报告可以用于确保安全执行环境保持安全并且可以被信任。此外,证明报告还可以使得用户能够确定声称属于TEE的网络地址被证明属于TEE。
在一些实施方式中,证明报告和/或共享条件可以包括与TEE所持有的私有加密钥匙对应的公共加密钥匙。在一些实施方式中,公共钥匙由私有数据提供者以任何合适的方式获得。在动作1115处,可以使用公共加密钥匙来加密私有数据。在动作1117处,将加密的私有数据传送至在共享条件下识别的TEE。作为响应,可以接收和/或向分布式账本发布在模型和/或应用的生成、训练和/或配置中使用了私有数据的确认。
图11C示出了用于提供应用以接收私有数据的说明性处理流程1120。可以使用分布式应用(例如,分布式应用731a、731b和/或931)来执行所示出的过程1120。过程1120开始于动作1121,在动作1121中将可执行指令传送至安全执行环境。在一些实施方式中,可执行指令可以包括由安全执行环境托管的虚拟机执行的一系列指令。指令在被执行时可以使得虚拟机配置和/或执行应用。例如,所述指令可以包括配置并且应用伪双胞胎模型和/或用于检测不真实的基因型数据的模型的指令。
在动作1123处,将标识安全执行环境和与可执行指令相关联的一个或更多个参数的账本条目传送至分布式账本。在一些实施方式中,账本条目可以包括智能合同并且可以指定一个或更多个共享条件。在一些实施方式中,一个或更多个参数可以包括用于执行环境的标识信息、共享条件、关于模型和所需的私有数据的信息以及/或者任何其他合适的参数。
图11D示出了用于对共享的私有数据进行操作的说明性处理流程1130。可以使用TEE(例如,执行环境111、TEE 711和/或TEE 1011)来执行所示的过程1130。过程1130开始于动作1131,在动作1131中接收根据模型和加密的私有输入数据进行预测的请求。模型可以是任何合适的模型,例如伪双胞胎模型和/或用于检测不真实的基因型数据的模型。在动作1133处,例如使用TEE中所持有的私有钥匙来解密私有输入数据。
在动作1135处,使用该模型执行预测。可以通过执行或使得执行对应于模型的一系列指令而执行预测。在一些实施方式中,可以在相应的虚拟机中实现模型。在步骤1137处,输出将预测模型应用于私有输入数据的结果。在一些实施方式中,模型的输出被传送至在动作1131处接收的请求的源。应当理解,过程1130不限于模型,在不脱离本公开内容的范围的情况下可以使用合适的输入数据来计算任何合适的工作负荷或应用。
图12A至图12C示出了关于私有数据的搜索和通信的说明性处理流程。图12A示出了用于使得能够搜索私有数据的说明性过程1200。可以使用分布式应用(例如,分布式应用731A、731B和/或931)来执行所示的过程1200。过程1200开始于动作1201,在动作1201中将私有数据传送至TEE。作为响应,在动作1203处,从TEE接收对私有数据的可搜索特征进行索引的数据。在一些实施方式中,TEE可以使用全部或部分私有数据来计算哈希值或其他合适的索引。例如,对可搜索特征进行索引的数据可以包括通过基因型数据中的多个相应SNP集计算的多个哈希值。
在动作1205处,(例如,通过对等消息传递系统)接收标识期望私有数据的搜索查询。在一些实施方式中,期望私有数据可以通过与期望私有数据对应的搜索索引值来标识。例如,搜索特定基因型的研究者可以计算所需基因型的哈希值以及/或者从可选择的搜索选项中选择预先计算的哈希值。在动作1207处,确定期望私有数据是否对应于私有数据。例如,可以将从TEE接收的哈希值与在搜索查询中接收的哈希值相比较。如果私有数据与期望私有数据不匹配,则在一些实施方式中,可以向搜索查询的源传送指示缺乏匹配的消息。在一些实施方式中,在期望私有数据不匹配的情况下,不采取动作。在动作1209处,在私有数据与期望私有数据相匹配的情况下,向搜索查询的源传送指示私有数据与期望私有数据相匹配的消息。
在一些实施方式中,可以在对等网络上广播参照图12A描述的搜索,其中由每个接收者执行匹配。因此,发明人已意识到,验证报告的匹配可能是有益的。在动作1211处,报告搜索匹配的个体可以接收验证私有数据的特征(例如,搜索中的期望特征)的请求。在动作1213处,可以将私有数据传送至TEE以用于验证。双方都可以信任TEE,以私下(例如,在不向任何一方透露信息的情况下)验证私有数据特征。
发明人还意识到,为了保护个人隐私和安全性,使用匿名进行包括搜索在内的通信可以是有益的。因此,图12C示出了用于安全对等通信的说明性过程1220。在动作1221处,生成消息(例如,对搜索查询的响应)。在动作1223处,两个参与方参与混淆电路的计算,以使发送方和接收方中至少一个的身份模糊。在一些实施方式中,每个分布式应用客户端创建用于响应每个搜索查询的新的对等消息传递帐户和/或标识符。在一些实施方式中,由私有数据提供者和远程计算设备的分布式应用客户端评估混淆电路。例如,分布式应用客户端可以将全部或部分消息和/或接收者的标识符输入至由服务器生成的混淆电路中。由于混淆电路提供了安全性,因此远程计算设备不需要是TEE,并且不需要任何专门的硬件部件。
混淆电路是指用于安全的多方计算的技术。对于本领域普通技术人员明显的是,可以根据归功于Andrew Yao的混淆电路协议来实现混淆电路。在一些实现方式中,两方或更多方可以在任何一方都无法辨别有关任何其他方输入的任何信息的情况下评估混淆电路。为了简单起见,本文描述的混淆电路将涉及两方(例如,分布式应用客户端731a和远程计算设备),但是应当理解,可以实现多方混淆电路。
在一些实施方式中,混淆电路包括基于对应的真值表的一个或更多个逻辑门、作为构造器(例如,远程计算设备)的一方以及作为评估器(例如,分布式应用客户端)的一方。构造器构造混淆电路。对于混淆电路中的每个逻辑门,构造器都会生成一组参数。参数包括与各方的每个可能输入对应的输入钥匙。例如,构造器可以生成四个输入钥匙,每方有一个输入钥匙,以将零或一输入至门中。输入钥匙可以是随机生成的数字。构造器还可以将输出钥匙分配给逻辑门的每个可能输出。例如,可以分配两个标签,其中可能的输出为零和一。在一些实施方式中,四条目真值表的每个输出可以具有唯一的输出标签,但是这可能实质上需要更多的资源来实现。然后,使用输入密钥对加密每个输出,该输出对应于将输入密钥对输入到门。例如,A方输入“1”的钥匙和B方输入“0”的钥匙将用于加密与A方输入“1”和B方输入“0”对应的输出。在构造器将钥匙分配给输入和输出之后,逻辑门的真值表的行会随机排列(或“混淆”),从而无法从该行确定真实的输出值。
然后,构造器将针对混淆电路中每个门的加密输出提供给评估器。为了解密输出并评估混淆电路,评估器将需要从构造器接收输入钥匙。构造器可以将与构造器的输入对应的钥匙发送给评估器。评估器不知道钥匙与真实输入之间的映射,因此,未接收到有关构造器输入的信息。为了完整地评估混淆电路,评估器必须接收用于评估器输入的正确钥匙。这为构造器创造了学习评估器输入的潜力,这可能会损害认证过程。
在一些实施方式中,根据遗忘的转移协议来转移评估器输入钥匙。遗忘的转移使得第一方能够接收由第二方持有的许多可能选项中的一条信息。由于第二方不学习第一方所选择的输入并且第一方不学习未转移的其他可能选项,因此该转移是遗忘的。例如,评估器可以在不学习哪个随机数被分配为针对一的输入钥匙的情况下接收与零对应的输入钥匙。如果评估器收到了两个有效的输入钥匙,则有可能可以确定来自构造器的输入。
应当理解,例如在电路复杂性或硬件设计方面,混淆电路协议的各种实现方式可以具有各自的优点和成本。应当理解,在不脱离本公开内容的范围的情况下,可以对混淆电路协议进行修改。
在一些实施方式中,TEE可以被配置成将匿名对等消息传递标识符安全地映射至对应的网络地址或其他合适的标识符。在这样的实施方式中,匿名对等消息传递标识符可以使消息发送者和/或接收者的真实身份模糊。对应的网络地址可以用于直接标识发送者和/或接收者并寻址消息。
图13示意性地示出了可以在其上实现本公开内容的任何方面的说明性计算机1300。在图13所示的实施方式中,计算机1300包括具有一个或更多个处理器的处理单元1301以及可以包括例如易失性和/或非易失性存储器的非易失性计算机可读存储介质1302。存储器1302可以存储对处理单元1301进行编程以执行本文描述的任何功能的一个或更多个指令。计算机1300还可以包括除系统存储器1302以外的其他类型的非暂时性计算机可读介质例如存储装置1305(例如,一个或更多个磁盘驱动器)。存储装置1305还可以存储一个或更多个应用程序和/或由应用程序使用的外部部件(例如,软件库),其可以被加载至存储器1302中。
计算机1300可以具有一个或更多个输入设备和/或输出设备,例如图13中所示的设备1306和1307。这些设备尤其可以用于表现用户接口。可以用于提供用户接口的输出设备的示例包括用于输出的视觉表现的打印机或显示屏以及用于输出的听觉表现的扬声器或其他声音生成设备。可以用于用户接口的输入设备的示例包括键盘和指针设备例如鼠标、触摸板和数字化平板电脑。作为另一示例,输入设备1307可以包括用于捕获音频信号的麦克风,并且输出设备1306可以包括用于视觉呈现所识别的文本的显示屏幕和/或用于听觉呈现所识别的文本的扬声器。
如图13所示,计算机1300还可以包括一个或更多个网络接口(例如,网络接口1310),以使得能够经由各种网络(例如,网络1320)进行通信。网络的示例包括局域网或广域网,例如企业网络或因特网。这样的网络可以基于任何适当的技术,并且可以根据任何适当的协议进行操作,并且可以包括无线网络、有线网络或光纤网络。
至此已描述了至少一个实施方式的几个方面,应当理解,本领域技术人员将容易想到各种改变、修改和改进。这样的改变、修改和改进意图在本公开内容的精神和范围内。因此,前面的描述和附图仅作为示例。
可以以许多方式中的任何一种方式来实现本公开内容的上述实施方式。例如,可以使用硬件、软件或其组合来实现实施方式。当以软件实现时,软件代码可以在无论是提供在单台计算机中还是分布在多台计算机中的任何合适的处理器或处理器集合上执行。
另外,本文概述的各种方法或过程可以被编码为可在采用多个操作系统或平台中的任何之一的一个或更多个处理器上执行的软件。此外,可以使用多种合适的编程语言和/或编程工具或脚本工具中的任何一个来写入这样的软件,并且还可以将其编译为可执行的机器语言代码或在框架或虚拟机上执行的中间代码。
在这方面,本文公开的概念可以体现为编码有一个或更多个程序的非暂态计算机可读介质(或多个计算机可读介质)(例如,计算机存储器、一个或更多个软盘、压缩盘、光盘、磁带、闪存、现场可编程门阵列或其他半导体设备中的电路配置或其他非暂态有形计算机存储介质),这些程序在一台或更多台计算机或其他处理器上执行时执行实现上面描述的本公开内容的各种实施方式的方法。计算机可读介质或多个计算机可读介质可以是便携式的,从而可以将存储在其上的一个或多个程序加载至一个或更多个不同的计算机或其他处理器上,以实现如上面所描述的本公开内容的各个方面。
本文使用的术语“程序”或“软件”用于指代可以被采用以对计算机或其他处理器进行编程以实现上面所描述的本公开内容的各个方面的任何类型的计算机代码或计算机可执行指令集。另外,应当理解,根据该实施方式的一方面,当被执行时执行本公开内容的方法的一个或更多个计算机程序不需要驻留在单个计算机或处理器上,而是可以以模块化的方式分布在多个不同的计算机或处理器中来实现本公开内容的各个方面。
计算机可执行指令可以有多种形式,例如由一个或更多个计算机或其他设备执行的程序模块。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、部件、数据结构等。通常,在各种实施方式中,可以根据需要结合或分布程序模块的功能。
此外,数据结构可以任何合适的形式存储在计算机可读介质中。为了简化说明,可以将数据结构示出为具有通过数据结构中的位置相关的字段。这样的关系同样可以通过利用传达字段之间的关系的计算机可读介质中的位置为字段分配存储空间来实现。但是,可以使用包括通过使用指针、标签或在数据元素之间建立关系的其他机制的任何合适的机制来建立数据结构的字段中的信息之间的关系。
本公开内容的各种特征和方面可以单独使用、以两个或更多个的任意组合使用或者以在前述实施方式中未具体描述的各种布置来使用,并且因此其应用不限于前述描述中所述或附图中所示的部件的细节和布置。例如,一个实施方式中描述的方面可以以任何方式与其他实施方式中描述的方面组合。
此外,本文公开的概念可以体现为一种方法,已提供了该方法的示例。作为该方法的一部分执行的动作可以以任何合适的方式排序。因此,可以构造其中以与所示出的顺序不同的顺序来执行动作的实施方式,这也可以包括同时执行一些动作,即使在说明性实施方式中被示为顺序动作。
在权利要求中使用诸如“第一”、“第二”、“第三”等序数术语来修改权利要求元素本身并不意味着一个权利要求元素相对于另一个权利要求元素的任何优先权、优先级或顺序或者方法的动作是按时间顺序执行的,而仅仅用作对具有某个名称的一个权利要求元素与具有相同名称(但用于序数术语)的另一元素进行区分的标签以区分权利要求元素。
另外,本文使用的措词和术语仅出于描述目的并且不应被视为限制。本文使用“包括”、“包含”、“具有”、“含有”、“涉及”及其变体意在涵盖其后列出的项目及其等同物以及其他项目。
Claims (15)
1.一种用于共享私有数据的计算机实现的方法,所述方法包括:
注册私有数据以用于在用于交换私有信息的安全平台内共享,其中,注册所述私有数据包括:
从安全执行环境获得用以保护私有数据的安全性信息;
在第一分布式账本中存储指示所述安全执行环境安全的证明报告;以及
在第二分布式账本中存储所述私有数据已被注册以用于在所述安全平台内共享的指示;以及
响应于从用户接收到准许对被所述安全性信息保护的私有数据的访问的指令,触发所述被保护的私有数据向所述安全执行环境的传送以使操作对所述被保护的私有数据执行,其中,所述触发包括在所述第二分布式账本中存储对所述被保护的私有数据的访问已被准许的指示。
2.根据权利要求1所述的方法,其中,所述方法还包括:将所述私有数据保护在与至少一个可信执行环境TEE相关联的包围区内。
3.根据权利要求2所述的方法,其中,从所述安全执行环境获得用以保护私有数据的所述安全性信息包括:获得与所述安全执行环境中的私有加密钥匙对应的公共加密钥匙。
4.根据权利要求1所述的方法,其中,所述方法还包括:经由在所述安全执行环境内执行的虚拟机来保护所述私有数据。
5.根据权利要求1所述的方法,其中,所述方法还包括:响应于从所述用户接收到准许对所述被保护的私有数据的访问的指令:
接收所述被保护的私有数据被用于生成私有信息模型并且所述用户在所述私有信息模型中的所有权权益已被记录在所述第二分布式账本中的确认。
6.根据权利要求1所述的方法,其中,所述方法还包括:
接收标识期望私有数据的搜索查询;
确定所述期望私有数据是否对应于所述私有数据;以及
响应于确定了所述私有数据对应于所述期望私有数据,向所述搜索查询的源传送消息,所述消息指示所述私有数据对应于所述期望私有数据。
7.根据权利要求1所述的方法,所述方法还包括:
将所述被保护的私有数据传送至第二安全执行环境;以及
接收指示所述私有数据的一个或更多个相应特征的一个或更多个搜索索引。
8.根据权利要求1所述的方法,所述方法还包括:
接收验证所述私有数据的特征的请求;以及
响应于所述请求,将所述被保护的私有数据传送至被配置成验证所述特征的第二安全执行环境。
9.根据权利要求1所述的方法,所述方法还包括:
生成消息;以及
传送所述消息,其中,传送所述消息包括评估由远程计算设备生成的混淆电路,所述混淆电路被配置成使所述消息的发送者和接收者的相应身份模糊。
10.根据权利要求1所述的方法,所述方法还包括:响应于将所述被保护的私有数据传送至所述安全执行环境,经由所述第二分布式账本接收报酬的指示。
11.根据权利要求10所述的方法,所述方法还包括:
响应于将所述被保护的私有数据传送至所述安全执行环境,接收利用所述私有数据的任务已完成的指示;以及
在接收到利用所述私有数据的任务已完成的指示之后,经由所述第二分布式账本接收未来报酬的预期值的指示。
12.根据权利要求1所述的方法,所述方法还包括:将所述被保护的私有数据存储在储存库中。
13.根据权利要求1所述的方法,其中,所述私有数据包括基因组数据、社会信息数据、图片数据、表型数据、医学数据、财务数据和/或保险数据。
14.一种其上编码有可执行指令的非暂态计算机可读存储介质,所述可执行指令当由至少一个处理器执行时使所述至少一个处理器执行根据权利要求1至13中的任一项所述的方法。
15.一种用于共享私有数据的装置,包括:
至少一个处理器;以及
至少一个其上编码有可执行指令的存储介质,所述可执行指令当由所述至少一个处理器执行时使所述至少一个处理器执行根据权利要求1至13中的任一项所述的方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762505822P | 2017-05-12 | 2017-05-12 | |
US62/505,822 | 2017-05-12 | ||
US201862632330P | 2018-02-19 | 2018-02-19 | |
US62/632,330 | 2018-02-19 | ||
PCT/US2018/032303 WO2018209222A1 (en) | 2017-05-12 | 2018-05-11 | Systems and methods for crowdsourcing, analyzing, and/or matching personal data |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110915165A CN110915165A (zh) | 2020-03-24 |
CN110915165B true CN110915165B (zh) | 2023-05-26 |
Family
ID=64105047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880045976.7A Active CN110915165B (zh) | 2017-05-12 | 2018-05-11 | 用于共享私有数据的计算机实现的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11593512B2 (zh) |
EP (1) | EP3622660B1 (zh) |
CN (1) | CN110915165B (zh) |
WO (1) | WO2018209222A1 (zh) |
Families Citing this family (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201710176D0 (en) | 2017-06-26 | 2017-08-09 | Nchain Holdings Ltd | Computer-implemented system and method |
US11818249B2 (en) * | 2017-12-04 | 2023-11-14 | Koninklijke Philips N.V. | Nodes and methods of operating the same |
US10476847B1 (en) | 2017-12-08 | 2019-11-12 | Symbiont.Io, Inc. | Systems, methods, and devices for implementing a smart contract on a distributed ledger technology platform |
US10320843B1 (en) * | 2017-12-08 | 2019-06-11 | Symbiont.Io, Inc. | Methods, systems, and devices for encrypted electronic storage and confidential network transfer of private data through a trustless distributed ledger technology system |
US11550299B2 (en) | 2020-02-03 | 2023-01-10 | Strong Force TX Portfolio 2018, LLC | Automated robotic process selection and configuration |
US11669914B2 (en) | 2018-05-06 | 2023-06-06 | Strong Force TX Portfolio 2018, LLC | Adaptive intelligence and shared infrastructure lending transaction enablement platform responsive to crowd sourced information |
US11544782B2 (en) | 2018-05-06 | 2023-01-03 | Strong Force TX Portfolio 2018, LLC | System and method of a smart contract and distributed ledger platform with blockchain custody service |
EP3791347A4 (en) | 2018-05-06 | 2022-05-25 | Strong Force TX Portfolio 2018, LLC | METHODS AND SYSTEMS FOR IMPROVING MACHINES AND SYSTEMS THAT AUTOMATE THE EXECUTION OF DISTRIBUTED LEADER AND OTHER TRANSACTIONS IN SPOT AND FUTURES MARKETS FOR ENERGY, COMPUTING, STORAGE AND OTHER RESOURCES |
CN108664650B (zh) * | 2018-05-17 | 2020-05-22 | 百度在线网络技术(北京)有限公司 | 一种区块链网络的事务处理方法、装置、设备及存储介质 |
CN110909356B (zh) * | 2018-09-18 | 2022-02-01 | 百度在线网络技术(北京)有限公司 | 安全多方计算方法、装置、设备及计算机可读介质 |
US11328087B1 (en) * | 2018-09-25 | 2022-05-10 | Amazon Technologies, Inc. | Multi-party analysis of streaming data with privacy assurances |
US20200125757A1 (en) * | 2018-10-19 | 2020-04-23 | Oracle International Corporation | Distributed and blockchain-based student academic ledger systems and methods |
JP7524066B2 (ja) * | 2018-10-22 | 2024-07-29 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 制御方法、ファンド管理システム、及び、プログラム |
CN109685501B (zh) * | 2018-12-04 | 2023-04-07 | 暨南大学 | 基于区块链激励机制下可审计的隐私保护深度学习平台建设方法 |
US11048800B2 (en) * | 2018-12-17 | 2021-06-29 | Intel Corporation | Composable trustworthy execution environments |
EP3918559A4 (en) * | 2019-02-01 | 2022-10-26 | Tgrid Technologies Pty Ltd. | SYSTEM, METHOD AND COMPUTER READABLE MEDIA FOR PERFORMING A TRANSACTION IN RESPECT OF AN IDENTITY CENTRIC RECORD |
US11641274B2 (en) * | 2019-03-22 | 2023-05-02 | Jpmorgan Chase Bank, N.A. | Systems and methods for manipulation of private information on untrusted environments |
EP3953834A4 (en) | 2019-04-12 | 2023-01-04 | Symbiont.io, Inc. | SYSTEMS, DEVICES AND PROCEDURES FOR DLT-BASED DATA MANAGEMENT PLATFORMS AND DATA PRODUCTS |
CN110062042B (zh) * | 2019-04-16 | 2021-09-24 | 南京信息工程大学 | 一种移动众包支持的去中心化的视频流服务方法及系统 |
US11829996B1 (en) | 2019-04-25 | 2023-11-28 | Phunware, Inc. | Hybrid organizational system for data management and tracking |
US11880882B2 (en) * | 2019-04-25 | 2024-01-23 | Intellectual Frontiers Llc | Computer-controlled marketplace network for digital transactions |
US10474834B1 (en) | 2019-06-04 | 2019-11-12 | Capital One Services, Llc | Data sharing via distributed ledgers |
GB2590520B (en) * | 2019-06-04 | 2022-11-02 | Capital One Services Llc | Data sharing via distributed ledgers |
JP7297200B2 (ja) * | 2019-06-17 | 2023-06-26 | 株式会社野村総合研究所 | ブロックチェーンを利用するシステム |
WO2021013813A1 (en) * | 2019-07-24 | 2021-01-28 | Koninklijke Philips N.V. | Summarizing a genomic data entry |
CN110620772B (zh) * | 2019-09-20 | 2021-06-25 | 西安电子科技大学 | 基于区块链的空间众包多级位置隐私保护方法 |
US20210342472A1 (en) * | 2020-01-10 | 2021-11-04 | David Forman | Framework for maintaining ownership of personal information in a network environment |
US11763297B2 (en) * | 2020-01-16 | 2023-09-19 | Jpmorgan Chase Bank, N.A. | Systems and method for conducting and managing cryptocurrency transactions |
US11982993B2 (en) | 2020-02-03 | 2024-05-14 | Strong Force TX Portfolio 2018, LLC | AI solution selection for an automated robotic process |
WO2020169125A2 (en) | 2020-06-08 | 2020-08-27 | Alipay Labs (singapore) Pte. Ltd. | Blockchain-based document registration for custom clearance |
WO2020169122A2 (en) | 2020-06-08 | 2020-08-27 | Alipay Labs (singapore) Pte. Ltd. | Blockchain-based import custom clearance data processing |
WO2020169124A2 (en) | 2020-06-08 | 2020-08-27 | Alipay Labs (singapore) Pte. Ltd. | Distributed storage of custom clearance data |
CN111989707B (zh) | 2020-06-08 | 2024-04-16 | 支付宝实验室(新加坡)有限公司 | 管理基于区块链的海关清关服务的用户权限 |
CN114930330A (zh) | 2020-06-08 | 2022-08-19 | 支付宝实验室(新加坡)有限公司 | 基于区块链的海关清关服务平台的用户管理 |
EP3841491B1 (en) | 2020-06-08 | 2023-08-02 | Alipay Labs (Singapore) Pte. Ltd. | Blockchain-based smart contract pools |
CN111770112B (zh) * | 2020-08-31 | 2020-11-17 | 支付宝(杭州)信息技术有限公司 | 一种信息共享方法、装置及设备 |
US11343082B2 (en) * | 2020-09-28 | 2022-05-24 | Red Hat, Inc. | Resource sharing for trusted execution environments |
CN112394973B (zh) * | 2020-11-23 | 2024-03-12 | 山东理工大学 | 一种基于伪孪生网络的多语言代码剽窃检测方法 |
CN113721833A (zh) * | 2020-11-26 | 2021-11-30 | 北京沃东天骏信息技术有限公司 | 存储信息的方法、获取信息的方法、装置、设备和介质 |
US11847253B2 (en) * | 2020-11-30 | 2023-12-19 | Red Hat, Inc. | Efficient launching of trusted execution environments |
CN113516447B (zh) * | 2021-05-21 | 2024-04-23 | 陕西迅税通智能科技有限公司 | 基于计算机输出财税推理匹配结果的电子装置及方法 |
CN113379465B (zh) * | 2021-06-29 | 2024-07-30 | 北京百度网讯科技有限公司 | 基于区块链的网点选址方法、装置、设备和存储介质 |
CN113609502B (zh) * | 2021-08-06 | 2023-09-26 | 东北大学 | 一种基于区块链的空间众包系统及方法 |
US20230043731A1 (en) | 2021-08-06 | 2023-02-09 | Salesforce.Com, Inc. | Database system public trust ledger architecture |
US11509709B1 (en) * | 2021-08-18 | 2022-11-22 | Fortifid, Inc. | Providing access to encrypted insights using anonymous insight records |
US11989726B2 (en) | 2021-09-13 | 2024-05-21 | Salesforce, Inc. | Database system public trust ledger token creation and exchange |
US11770445B2 (en) * | 2022-01-25 | 2023-09-26 | Salesforce, Inc. | Decentralized information management database system |
US20230334489A1 (en) * | 2022-04-15 | 2023-10-19 | Bank Of America Corporation | Dynamic Quantum Enabled Method for Large Currency Transaction Exemption Using Distributed Hash Chain |
US20230334482A1 (en) * | 2022-04-15 | 2023-10-19 | Bank Of America Corporation | Dynamic Quantum Enabled Method for Large Currency Transaction Exemption using Distributed Hash Chain |
CN114520747B (zh) * | 2022-04-21 | 2022-08-30 | 山东省计算中心(国家超级计算济南中心) | 一种以数据为中心的数据安全共享系统和方法 |
US11880372B2 (en) | 2022-05-10 | 2024-01-23 | Salesforce, Inc. | Distributed metadata definition and storage in a database system for public trust ledger smart contracts |
JP2024076442A (ja) * | 2022-11-25 | 2024-06-06 | 株式会社ジャパンディスプレイ | 報酬決定システム及び報酬決定方法 |
WO2024186669A1 (en) * | 2023-03-03 | 2024-09-12 | Galatea Bio, Inc. | Ancestry-adjusted polygenic risk score (prs) models and model pipeline |
CN116433080B (zh) * | 2023-03-17 | 2024-02-27 | 交通运输部规划研究院 | 交通运输规划行业的数据共享评分方法、装置及电子设备 |
CN116739813B (zh) * | 2023-08-15 | 2023-10-20 | 湖南奔普智能科技有限公司 | 一种基于哈希算法的病区结算对账方法 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1076279A1 (en) * | 1999-08-13 | 2001-02-14 | Hewlett-Packard Company | Computer platforms and their methods of operation |
US20040229231A1 (en) * | 2002-05-28 | 2004-11-18 | Frudakis Tony N. | Compositions and methods for inferring ancestry |
WO2006052242A1 (en) | 2004-11-08 | 2006-05-18 | Seirad, Inc. | Methods and systems for compressing and comparing genomic data |
US20060166224A1 (en) | 2005-01-24 | 2006-07-27 | Norviel Vernon A | Associations using genotypes and phenotypes |
AU2009282172B2 (en) | 2008-08-10 | 2016-06-02 | Kuakini Medical Center | Method of using FOXO3A polymorphisms and haplotypes to predict and promote healthy aging and longevity |
CN101771532B (zh) * | 2008-12-31 | 2012-07-18 | 华为技术有限公司 | 实现资源共享的方法、装置及系统 |
HUE061110T2 (hu) * | 2009-11-05 | 2023-05-28 | Univ Hong Kong Chinese | Magzati genomelemzés anyai biológiai mintából |
US9117173B2 (en) * | 2010-06-04 | 2015-08-25 | Georgetown University | Systems and methods of predicting a subject's medical outcome |
EP2635704B1 (en) | 2010-11-01 | 2017-04-19 | F. Hoffmann-La Roche AG | Predicting progression to advanced age-related macular degeneration using a polygenic score |
US8412945B2 (en) * | 2011-08-09 | 2013-04-02 | CloudPassage, Inc. | Systems and methods for implementing security in a cloud computing environment |
US20130097644A1 (en) * | 2011-10-13 | 2013-04-18 | Uab Research Foundation | Generation and Consumption of Discrete Segments of Digital Media |
WO2013059368A1 (en) * | 2011-10-17 | 2013-04-25 | Intertrust Technologies Corporation | Systems and methods for protecting and governing genomic and other information |
US9378380B1 (en) * | 2011-10-31 | 2016-06-28 | Reid Consulting Group | System and method for securely storing and sharing information |
WO2014101126A1 (zh) | 2012-12-28 | 2014-07-03 | 深圳华大基因医学有限公司 | 确定胎儿性别的方法、系统和计算机可读介质 |
WO2014110350A2 (en) | 2013-01-11 | 2014-07-17 | Oslo Universitetssykehus Hf | Systems and methods for identifying polymorphisms |
US20150242816A1 (en) * | 2014-02-25 | 2015-08-27 | Vittal Srimushnam | Sharing recruiting information |
CN104123333B (zh) * | 2014-03-17 | 2017-02-15 | 腾讯科技(深圳)有限公司 | 用于位置共享的数据处理方法和装置 |
GB2530685A (en) * | 2014-04-23 | 2016-03-30 | Intralinks Inc | Systems and methods of secure data exchange |
WO2016063092A1 (en) | 2014-10-23 | 2016-04-28 | Dele Atanda | Intelligent personal information management system |
WO2016187529A1 (en) * | 2015-05-20 | 2016-11-24 | Paul Rad | Systems and methods for secure file transmission and cloud storage |
CN108701276B (zh) * | 2015-10-14 | 2022-04-12 | 剑桥区块链有限责任公司 | 用于管理数字身份的系统和方法 |
US20170116693A1 (en) * | 2015-10-27 | 2017-04-27 | Verimatrix, Inc. | Systems and Methods for Decentralizing Commerce and Rights Management for Digital Assets Using a Blockchain Rights Ledger |
US10862959B2 (en) * | 2016-11-28 | 2020-12-08 | Keir Finlow-Bates | Consensus system and method for adding data to a blockchain |
US20180225661A1 (en) * | 2017-02-07 | 2018-08-09 | Microsoft Technology Licensing, Llc | Consortium blockchain network with verified blockchain and consensus protocols |
US11182497B2 (en) * | 2017-03-28 | 2021-11-23 | Uniscen | Architectures and systems for managing personal data to be utilized by dynamic sets of external parties |
WO2018200325A1 (en) * | 2017-04-23 | 2018-11-01 | Coulbourne Patrick | Internet of things (iot) message distribution and display platform |
US10742393B2 (en) * | 2017-04-25 | 2020-08-11 | Microsoft Technology Licensing, Llc | Confidentiality in a consortium blockchain network |
-
2018
- 2018-05-11 EP EP18797831.7A patent/EP3622660B1/en active Active
- 2018-05-11 WO PCT/US2018/032303 patent/WO2018209222A1/en active Application Filing
- 2018-05-11 US US16/612,993 patent/US11593512B2/en active Active
- 2018-05-11 CN CN201880045976.7A patent/CN110915165B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110915165A (zh) | 2020-03-24 |
EP3622660A4 (en) | 2021-01-06 |
WO2018209222A1 (en) | 2018-11-15 |
US11593512B2 (en) | 2023-02-28 |
US20200202038A1 (en) | 2020-06-25 |
EP3622660B1 (en) | 2023-08-30 |
EP3622660A1 (en) | 2020-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110915165B (zh) | 用于共享私有数据的计算机实现的方法和装置 | |
US11574712B2 (en) | Origin protected OMIC data aggregation platform | |
CN113169957B (zh) | 个人医疗数据安全共享和所有权去中心化的所有权系统 | |
US20200035341A1 (en) | De-identification omic data aggregation platform with permitted third party access | |
US20190304578A1 (en) | Omic data aggregation with data quality valuation | |
Haddad et al. | Systematic review on ai-blockchain based e-healthcare records management systems | |
US10114851B2 (en) | Systems and methods for verifiable, private, and secure omic analysis | |
Mohammed Yakubu et al. | Ensuring privacy and security of genomic data and functionalities | |
Mittos et al. | Systematizing genome privacy research: a privacy-enhancing technologies perspective | |
EP2709028A1 (en) | Privacy-enhancing technologies for medical tests using genomic data | |
US20220139566A1 (en) | Distributed medical testing framework | |
Alghazwi et al. | Blockchain for genomics: a systematic literature review | |
European Centre for Disease Control (ECDC) et al. | EFSA and ECDC technical report on the collection and analysis of whole genome sequencing data from food‐borne pathogens and other relevant microorganisms isolated from human, animal, food, feed and food/feed environmental samples in the joint ECDC‐EFSA molecular typing database | |
Dedeturk et al. | Blockchain for genomics and healthcare: a literature review, current status, classification and open issues | |
Alsaffar et al. | Digital dna lifecycle security and privacy: an overview | |
Casaletto et al. | Federated Analysis for Privacy-Preserving Data Sharing: A Technical and Legal Primer | |
Yakubu et al. | A blockchain-based application for genomic access and variant discovery using smart contracts and homomorphic encryption | |
WO2016040909A1 (en) | Centralized framework for storing, processing and utilizing proprietary genetic data | |
Pulivarti et al. | Cybersecurity of Genomic Data | |
US10599865B2 (en) | Systems and methods for protecting personal information | |
Bellafqira et al. | Privacy-preserving genome-wide association study for rare mutations-a secure framework for externalized statistical analysis | |
Fernandes | Reconciling data privacy with sharing in next-generation genomic workflows | |
Raisaro | Privacy-enhancing technologies for medical and genomic data: From theory to practice | |
Mittos | Analyzing the privacy and societal challenges stemming from the rise of personal genomic testing | |
ADANUR | Blockchain Based Data Sharing Platform for Bioinformatics Field |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |