一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

保护隐私安全的基因数据分享方法和装置与流程

2022-02-22 06:46:09 来源:中国专利 TAG:


1.本发明涉及数据加密技术领域,具体是一种保护隐私安全的基因数据分享方法和装置。


背景技术:

2.由于dna分析成本的降低,不断增长的基因组数据集有望改善预防医学并支持开发更有针对性的治疗方法,使得大规模基因组数据集价值得到充分体现。目前已经进入大规模的基因组学时代。直接面向用户的个人基因组学市场在过去几年里急剧增长,全球多个国家正在实施大规模的人口基因组学计划。
3.然而只有当基因组数据能够被广泛获取时,大规模基因组这种潜力才能得以实现。基因数据的隐私问题使大规模的数据共享变得极为困难。从历史上看,健康数据的隐私问题总是通过数据的"去身份化"来解决,特别是通过删除显示个人身份的字段。然而,个人基因组数据无法有效地通过传统的"去身份化“来解决,因为即使是其中的一小部分也足以识别个人身份。例如dna在法医领域的成功应用所表明的那样,即使是其中的一小部分也足以识别个人或亲属。
4.这导致人们对基因组数据隐私特别敏感和关注。在保险、就业以及其他领域存在着真实或可感知的基因歧视风险,它们阻止了个人参与人口基因组学研究和使用直接面向消费者的基因检测服务。
5.此外,人们希望对其基因组数据的使用有控制权,并能与研究人员分享他们的数据,而没有被滥用的风险,这些都是人口基因组学倡议的保障。但是这些保障是人口基因组学计划目前无法提供的。
6.在过去的几年里,来自信息安全界的研究人员提出了一些解决方案。其中一些侧重于为基因组数据提供安全存储,而另一些则提出了如何安全地进行特定计算的方法。然而,到目前为止,这些解决方案都没有在实践中被采用,主要是因为它们在实际应用中的使用范围和适用性非常有限。此外,信任问题超出了提供安全存储和处理的范围,因为它还与数据共享和使用的透明度和个人控制问题密切相关。现有的基因组数据共享平台都依赖于广泛的同意政策,完全由机构管理数据,如全球基因组学与卫生联盟(ga4gh)构建的beacon网络,都采用了这种广泛的同意政策,以促进机构间的基因组数据共享,但对提供基因组数据的个人未提供动态且细化的控制。上述这些问题还没有办法有效解决。
7.因鉴于此,特提出本发明。


技术实现要素:

8.本发明的目的在于提供一种保护隐私安全的基因数据分享方法和装置,可以以用户为中心,实现可控、透明和安全的基因组数据分享。
9.第一方面,本发明提供一种保护隐私安全的基因数据分享方法,应用于数据提供终端,包括:
10.采用虚拟个体生成算法生成一组虚拟个体以及对应的基因数据,即虚拟个体基因数据;
11.为数据提供者生成一个对称加密的密钥用于对原始文件进行加密,获得对称加密文件;
12.为每个虚拟个体和数据提供者分配一个标识;
13.使用集体公钥分别对原始文件、虚拟个体基因数据、密钥、标识进行加密,获得加密后数据,并发送至计算节点;
14.设置访问策略,在有动态同意策略的情况下,还包括:
15.与区块链状态同步时,接收查询请求通知供数据提供者审查决定同意或者拒绝,并将结果发送至计算节点。
16.第二方面,本发明提供一种保护隐私安全的基因数据分享方法,应用于计算节点,所述计算节点为两个以上,包括:
17.每个计算节点基于加法同态算法生成一对公钥和私钥,还生成一个秘密,所有计算节点广播自己的公钥,从而生成一个集体公钥;所有计算节点建立成一个区块链;
18.接收数据提供终端发送的加密后数据,经所有计算节点验证后存储在区块链上;
19.将对称加密文件和经过集体公钥加密的标识发送至存储单元;将经过集体公钥加密的原始文件和虚拟个体基因数据进行分布式再加密,并发送至存储单元;
20.接收数据查询终端发送的经加法同态加密的查询请求,查询请求经所有计算节点校验后存储在区块链上;对查询请求进行分布式再加密,并发送至存储单元;
21.所述分布式再加密,是将加法同态加密形式转换为确定加密形式。
22.可选或优选的,上述方法应用于计算节点时,所述分布式再加密采用椭圆曲线上的elgamal加密算法ec-elgamal,包括两轮过程:
23.令ek(v)=(c1,c2)=(rg,v rk)表示对v的分布式再加密,其中v是经过集体公钥加密的原始文件、或经过集体公钥加密的虚拟个体基因数据、或查询请求,k是集体公钥,r是随机数,g是椭圆曲线上的基点,
24.第1轮过程:某个计算节点i使用其秘密si,将sig与c2相加并将结果发送给下一个计算节点i 1,得到的最终结果是
25.第2轮过程:某个计算节点i收到上一个计算节点i-1的密文后,执行计算算将最终结果的第2项取出来,即为确定加密的结果,即其中
26.可选或优选的,上述方法应用于计算节点时,还包括:
27.读取区块链上的访问策略,将接收的加密后数据与访问策略相关联,所述访问策略为全部同意策略或动态同意策略;对于全部同意策略,同意或者拒绝查询请求;对于动态同意策略,向数据提供终端发送询问,接收并验证区块链上生成的由数据提供者发送的对询问的答复;
28.对于选择同意的答复,将使用集体公钥加密的对称密钥转换为使用查询者的公钥
u加密的对称密钥。
29.可选或优选的,上述方法应用于计算节点时,还包括:
30.接收存储单元发送的计算结果,计算结果经所有计算节点验证后存储在区块链上。
31.可选或优选的,上述方法应用于计算节点时,还包括将计算结果转换为查询结果的步骤,由所有计算节点联合执行以下分布式密钥交换:
32.令ek(r)=(c1,c2)=(rg,r rk)为使用集体公钥k加密的计算结果,u是查询者的公钥,
33.首先修改ek(r)=(c1,c2)为然后每个计算节点相继生成一个随机数vi,并且计算其中其中最终转换为使用查询者的公钥u加密的查询结果是其中v=v1

vn;
34.将使用查询者的公钥u加密的查询结果发送至数据查询终端。
35.第三方面,本发明提供一种保护隐私安全的基因数据分享方法,应用于数据查询终端,包括:
36.向数据查询者分配查询积分和伪随机身份,并将查询积分和伪随机身份存储在区块链上;
37.生成查询者自己的公钥u和私钥u,提供数据字段信息供查询者进行布尔组合建立查询请求;使用集体公钥对查询请求进行加密,并连同查询者的公钥u一起发送给任意一个计算节点;
38.接收由计算节点发来的查询结果,然后更新查询积分,并将更新后的查询积分存储在区块链上;
39.使用查询者自己的私钥u解密查询结果,或者使用查询者自己的私钥u解密对称密钥,用对称密钥解密加密后数据,获得真实个体数据。
40.第四方面,本发明提供一种保护隐私安全的基因数据分享方法,应用于存储单元,包括:
41.接收并存储对称加密文件和经过集体公钥加密的标识,以及经过集体公钥加密后又经过分布式再加密的原始文件和虚拟个体基因数据,即为存储信息;
42.接收经过分布式再加密的查询请求,将查询请求与存储信息进行匹配,根据查询请求分别进行以下两种计算,并将计算结果发送至计算节点:
43.令φ为匹配成功的个体身份标识的集合,包括数据提供者和虚拟个体;
44.如果查询请求中只需要匹配成功的个体数量,进行以下同态计算:
[0045][0046]
如果查询请求中需要匹配成功的个体身份标识符,进行以下计算:
[0047]
将个体身份标识符与同态加密的标识相乘,即此时计算结果经解密后虚拟个体的标识为0。
[0048]
第五方面,本发明提供一种保护隐私安全的基因数据分享装置,应用于数据提供终端,所述装置包括:
[0049]
虚拟个体基因数据生成模块,用于采用虚拟个体生成算法生成一组虚拟个体以及对应的基因数据,即虚拟个体基因数据;
[0050]
数据发送模块,用于为数据提供者生成一个对称加密的密钥用于对原始文件进行加密,获得对称加密文件;为每个虚拟个体和数据提供者分配一个标识,使用集体公钥分别对原始文件、虚拟个体基因数据、密钥、标识进行加密,获得加密后数据,并发送至计算节点;
[0051]
审计模块,用于设置访问策略,以及在在有动态同意策略的情况下,还用于与区块链状态同步时,接收查询请求通知供数据提供者审查决定同意或者拒绝,并将结果发送至计算节点。
[0052]
第六方面,本发明提供一种保护隐私安全的基因数据分享装置,应用于计算节点,所述装置包括:
[0053]
数据接收模块,用于接收数据提供终端发送的加密后数据,经所有计算节点验证后存储在区块链上;接收数据查询终端发送的经加法同态加密的查询请求,查询请求经所有计算节点校验后存储在区块链上;接收存储单元发送的计算结果,计算结果经所有计算节点验证后存储在区块链上;
[0054]
数据处理模块,用于基于加法同态算法生成一对公钥和私钥,还生成一个秘密,所有计算节点广播自己的公钥,从而生成一个集体公钥;所有计算节点建立成一个区块链;将经过集体公钥加密的对称加密文件和标识发送至存储单元;将经过集体公钥加密的原始文件和虚拟个体基因数据进行权利要求2或3所述的分布式再加密,并发送至存储单元;对查询请求进行分布式再加密,并发送至存储单元。
[0055]
访问策略处理模块,用于读取区块链上的访问策略,将接收的加密后数据与访问策略相关联,所述访问策略为全部同意策略或动态同意策略;对于全部同意策略,同意或者拒绝查询请求;对于动态同意策略,向数据提供终端发送询问,接收并验证区块链上生成的由数据提供者发送的对询问的答复;
[0056]
对于选择同意的答复,将使用集体公钥加密的对称密钥转换为使用查询者的公钥u加密的对称密钥。
[0057]
第七方面,本发明提供一种保护隐私安全的基因数据分享装置,应用于数据查询终端,所述装置包括:
[0058]
请求生成模块,用于向数据查询者分配查询积分和伪随机身份,并将查询积分和伪随机身份存储在区块链上;生成查询者自己的公钥u和私钥u,提供数据字段信息供查询者进行布尔组合建立查询请求;使用集体公钥对查询请求进行加密,并连同查询者的公钥u一起发送给任意一个计算节点;
[0059]
结果接收模块,用于接收由计算节点发来的查询结果,然后更新查询积分,并将更新后的查询积分存储在区块链上;使用查询者自己的私钥u解密查询结果,或者使用查询者自己的私钥u解密对称密钥,用对称密钥解密加密后数据,获得真实个体数据。
[0060]
第八方面,本发明提供一种保护隐私安全的基因数据分享装置,应用于存储单元,所述装置包括:
[0061]
数据存储模块,用于接收并存储对称加密文件和经过集体公钥加密的标识,以及经过集体公钥加密后又经过分布式再加密的原始文件和虚拟个体基因数据,即为存储信息;
[0062]
查询匹配模块,用于接收经过分布式再加密的查询请求,将查询请求与存储信息进行匹配,根据查询请求分别进行以下两种计算,并将计算结果发送至计算节点:
[0063]
令φ为匹配成功的个体身份标识的集合,包括数据提供者和虚拟个体;
[0064]
如果查询请求中只需要匹配成功的个体数量,进行以下同态计算:
[0065][0066]
如果查询请求中需要匹配成功的个体身份标识符,进行以下计算:
[0067]
将个体身份标识符与同态加密的标识相乘,即此时计算结果经解密后虚拟个体的标识为0。
[0068]
本发明提供的保护隐私安全的基因数据分享方法和装置,具有如下有益效果:
[0069]
结合了同态加密、数据提供者(即数据所有者)基于加密的访问控制和区块链技术,使个人能够以加密的形式分享他们的基因组和临床数据。应用于数据提供终端、计算节点、存储单元、数据查询终端和区块链的装置组合成一个安全可信的平台,确保数据提供者上传的数据能够被数据查询者(如研究人员)发现,并且始终保持加密状态,防止未经授权的访问。另外,还确保经授权的数据查询者能够在数据提供者控制和可审计的方式下,访问和使用解密的基因数据进行进一步的数据分析操作,同时满足了确保信任分配、基因组数据的端到端保护、安全数据发布,以及数据提供者个人能够对自己数据的控制和可审计等需求。
[0070]
以往对于隐私安全的研究大多集中在单个加密技术的应用上,本发明则整合了多种互补技术,实现了可控、透明和安全的基因组数据共享。
[0071]
以往提出的保护隐私安全实施方案侧重于机构的基因组数据共享,本发明则以用户为中心(数据提供者,数据查询者),以用户对个人基因组学服务的需求为指导,能够让用户控制自己的个人基因组学数据。
[0072]
本发明技术方案是通用和可移植的,可以很容易地与具有中心化特征的安全计算协议整合,从而使其更安全(通过在多个节点上分布信任)和更加以用户为中心(通过使个人能够对其数据的使用拥有控制权)。
附图说明
[0073]
图1为实施例中保护隐私安全的基因数据分享装置中应用于数据查询终端、数据提供终端、计算节点及存储时单元各部分之间通信关系示意图;
[0074]
图2为实施例中保护隐私安全的基因数据分享装置中数据提供终端与计算节点之间通信关系示意图;
[0075]
图3为实施例中保护隐私安全的基因数据分享装置中存储时单元与计算节点之间通信关系示意图;
[0076]
图4为实施例中保护隐私安全的基因数据分享装置中数据查询终端与计算节点之
间通信关系示意图。
具体实施方式
[0077]
下面将结合具体实施例对本发明的技术方案进行详细解释和说明,以使其更加清楚明白并能够被本领域技术人员所实施。实施例中所列步骤并无前后顺序限制。
[0078]
在第一种实施例中,提供了一种保护隐私安全的基因数据分享方法,应用于数据提供终端,该方法包括:
[0079]
s11:采用虚拟个体生成算法生成一组虚拟个体以及对应的基因数据,即虚拟个体基因数据。
[0080]
生成虚拟个体基因数据的目的是最大化防止攻击者通过观察加密数据与明文数据后进行关联。虚拟个体生成算法输入能够获取的所有基因数据,包括临床属性和基因变异等的集合,以及相应的人群统计资料,即基因变异的频率分布和临床变量的流行率等,经过计算,输出一组虚拟个体以及对应的基因数据。
[0081]
所述的一组,是指两个以上,即一组中至少有两个虚拟个体,以及每个虚拟个体所对应的基因数据。虚拟个体数量越多,对真实的数据提供者保护越强。
[0082]
s12:为数据提供者生成一个对称加密的密钥si用于对原始文件进行加密,获得对称加密文件;为每个虚拟个体和数据提供者分配一个标识fi;
[0083]
使用集体公钥k加密si:ek(si),使用集体公钥k分别对原始文件、虚拟个体基因数据进行加密,同时还加密标识fi::ek(fi),获得加密后数据,并发送至计算节点。
[0084]
所述的原始文件,即包含基因数据与临床数据的文件,例如基因变异数据、临床医疗数据等,这些数据都具有特定的标准格式。
[0085]
为每个虚拟个体和数据提供者分配一个标识fi,是为了消除虚拟个体对后面数据查询者的数据分析统计的影响,该标识可以根据需求进行设置,例如设置该标识长度是1位,标识为1时表示真实的个体,标识为0时表示虚拟的个体。
[0086]
s13:设置访问策略,以及,在有动态同意策略的情况下,与区块链状态同步时,接收查询请求通知供数据提供者审查决定同意或者拒绝,并将同意或者拒绝的结果发送至计算节点。
[0087]
所述访问策略一般有两个基本选择:全部同意和动态同意。全部同意策略,是设置某些必须满足的选项,当这些选项全部满足时,经过全部计算节点验证后,计算节点就会提供数据访问,否则,就拒绝。动态同意策略,是数据提供终端在与区块链状态同步时,会收到一个询问通知,该通知包含了数据访问请求相关信息,数据提供者可以审查这些信息,然后选择同意或者拒绝作为答复。
[0088]
原始文件的哈希签名和设置的访问策略与数据提供者的身份(数据提供者自己的公钥,用于区块链上产生交易)相连。
[0089]
本实施例中,被发送至计算节点的加密后数据,还包含了数据提供者的伪身份,该伪身份由数据提供终端分配,同样为了保护真实的数据提供者,另外还包含了访问策略。
[0090]
在第二种实施例中,提供了一种保护隐私安全的基因数据分享方法,应用于计算节点,该方法包括:
[0091]
s21:每个计算节点基于加法同态算法生成一对公钥和私钥,还生成一个秘密,例
如,基于ec-elgamal加法同态加密算法,第i个计算节点生成私钥ki和公钥ki,以及秘密si。所有计算节点广播自己的公钥ki,从而生成一个集体公钥所有计算节点建立成一个区块链,作为各方执行操作的可审计和不可更改的日志,并用于存储关于存储单元的拓扑信息。
[0092]
集体公钥确保了在集体公钥下加密的数据得到保护,除非所有计算节点被破坏,或者所有计算节点的私钥被盗。因此参与生成集体密钥的计算节点越多,系统的整体安全性就越高。
[0093]
s22:接收数据提供终端发送的加密后数据(包含访问策略和数据提供者的伪身份),经所有计算节点验证后存储在区块链上。
[0094]
将对称加密文件和经过集体公钥加密的标识发送至存储单元;将经过集体公钥加密的原始文件和虚拟个体基因数据进行分布式再加密,将加法同态加密形式转换为确定加密形式,并发送至存储单元。
[0095]
s23:接收数据查询终端发送的经加法同态加密的查询请求,查询请求经所有计算节点校验后存储在区块链上;对查询请求进行分布式再加密,将加法同态加密形式转换为确定加密形式,并发送至存储单元。
[0096]
分布式再加密的目的,是将数据从加法同态加密形式转换为确定加密的形式,从而使储存单元能够对经过分布式再加密的数据执行“相等”的匹配查询。具体是将存储单元内存储的由数据提供终端上传并经过计算节点分布式再加密的基因数据,与由数据查询终端上传并经过计算节点分布式再加密的查询请求数据进行匹配。
[0097]
一般加密算法都是概率加密,即对相同消息的每次加密得到的密文都不一样。而确定加密,能够对相同消息的每次加密得到的密文都是一样的。尽管使用确定加密会泄露加密数据的分布。但是,由于数据提供终端生成了虚拟个体,使得加密数据的总体分布是均匀的,敌手就不可能进行频率分析攻击。只要加密的个体标识安全,就无法区分出真实的个体与虚拟个体。
[0098]
分布式再加密协议包含2轮过程,涉及到所有计算节点的参与。本实施例以椭圆曲线上的elgamal加密算法ec-elgamal为例,说明该协议的过程。可以在格密码上构造出该协议。
[0099]
令ek(v)=(c1,c2)=(rg,v rk)表示对v的分布式再加密,其中v是经过集体公钥加密的原始文件、或经过集体公钥加密的虚拟个体基因数据、或查询请求,k是集体公钥,r是随机数,g是椭圆曲线上的基点。
[0100]
第1轮过程:某个计算节点i使用其秘密si,将sig与c2相加并将结果发送给下一个计算节点i 1,得到的最终结果是
[0101]
第2轮过程:某个计算节点i收到上一个计算节点i-1的密文后,执行计算算将最终结果的第2项取出来,即为确定加密的结果,即其中
[0102]
利用分布式再加密,即可将加法同态加密形式转换为确定加密形式。
[0103]
s24:读取区块链上的访问策略,将接收的加密后数据与访问策略相关联,所述访问策略由数据提供终端制定,可以是全部同意策略或动态同意策略。对于全部同意策略,同意或者拒绝查询请求;对于动态同意策略,向数据提供终端发送询问通知,接收并验证区块链上生成的由数据提供者发送的对询问通知的答复。对于选择同意的答复,将使用集体公钥加密的对称密钥转换为使用查询者的公钥u加密的对称密钥。
[0104]
s25:接收存储单元发送的计算结果,计算结果经所有计算节点验证后存储在区块链上。
[0105]
该计算结果是由存储单元进行查询匹配并进行计算后的结果,该计算结果需要所有计算节点联合执行分布式密钥交换,将计算结果转换为查询结果后再发送至数据查询终端。
[0106]
令ek(r)=(c1,c2)=(rg,r rk)为使用集体公钥k加密的计算结果,u是查询者的公钥,
[0107]
首先修改ek(r)=(c1,c2)为然后每个计算节点相继生成一个随机数vi,并且计算其中其中最终转换为使用查询者的公钥u加密的查询结果是其中m=c
2-(k1
……
k
n-1
)c1,v=v1

vn。
[0108]
这样,计算结果就转换为使用查询者的公钥u加密的查询结果,发送至数据查询终端后,查询者能够使用自己的私钥解密查询结果。
[0109]
当查询者需要获取原始文件时,则密钥交换步骤中将使用集体公钥加密的密钥(即数据提供终端生成的对称加密的密钥)转换为使用查询者公钥加密的对称密钥,转换过程与上述密钥交换过程相同。转换后即可供数据查询终端使用自己的私钥解密出密钥,在下载原始文件以后,使用该解密出的密钥去解密该原始文件,从而获得原始数据。
[0110]
在第三种实施例中,提供了一种保护隐私安全的基因数据分享方法,应用于存储单元,该方法包括:
[0111]
s31:接收并存储由计算节点发来的对称加密文件和经过集体公钥加密的标识,以及经过集体公钥加密后又经过分布式再加密的原始文件和虚拟个体基因数据,即为存储信息。
[0112]
s32:接收有计算节点发来的经过分布式再加密的查询请求,将查询请求与存储信息进行匹配,根据查询请求分别进行以下两种计算,并将计算结果发送至计算节点:
[0113]
令φ为匹配成功的个体身份标识的集合,包括数据提供者和虚拟个体;
[0114]
如果查询请求中只需要匹配成功的个体数量,即匹配成功的个体标识之和r,进行以下同态计算:
[0115][0116]
如果查询请求中需要匹配成功的个体身份标识符,进行以下计算:
[0117]
将个体身份标识符与同态加密的标识相乘,即此时计算结果经解密后虚拟个体的标识为0,从而不影响查询。其中id表示个体身份标识符。
[0118]
上述两种情况的查询匹配执行,都会产生一个区块链交易,其中包含查询的定义和匹配成功的个人身份标识符。用于经所有计算节点验证后不可篡改地存储在区块链上。
[0119]
在第四种实施例中,提供了一种保护隐私安全的基因数据分享方法,应用于数据查询终端,该方法包括:
[0120]
s41:向数据查询者分配查询积分和伪随机身份,并将查询积分和伪随机身份存储在区块链上;生成查询者自己的公钥u和私钥u,提供数据字段信息供查询者进行布尔组合建立查询请求;使用集体公钥对查询请求进行加密,并连同查询者的公钥u一起发送给任意一个计算节点。
[0121]
数据查询者在数据查询终端进行注册时,数据查询终端会对注册信息进行记录并进行适当的认证,再为查询者分配一个伪随机身份和查询积分。伪随机身份保护了查询者的隐私安全。
[0122]
查询积分记录在区块链上,每次查询时消耗该查询积分。该查询积分的目的是限制同一数据查询者可以发送的查询请求总数,并因此限制可能从查询结果中推断出的关于数据提供者的未公开的敏感信息的数量。经过适当的认证后,有足够查询积分的授权查询者可以运行安全的数据查询。并根据他的授权级别,要么获得平台上数据匹配的个体总数,或者这些个体的标识符,即获取不同的查询权限。如果同一查询请求被同一查询者多次提出,则查询积分不会减少。
[0123]
查询请求可以是不同查询权限的,如果仅需要获得匹配数量信息,例如某个基因发生变异的个体数量,则生成的查询请求主要包含查询的内容以及查询者的伪随机身份。如果还需要获得匹配个体的具体信息和原始文件等,则生成的查询请求还包含基于哈希函数的文件签名和查询者的信息,如他的名字、所属单位和对需要访问个人数据的研究的描述等更为详细的内容。
[0124]
查询请求生成后将在区块链上产生一条交易,即某个计算节点接收到数据查询终端发来的查询请求和查询者公钥u,该交易将被所有计算节点校验后存储到区块链上。
[0125]
s42:接收由计算节点发来的查询结果,然后更新查询积分,并将更新后的查询积分存储在区块链上。
[0126]
对于查询结果只包含匹配数量信息的,直接使用查询者自己的私钥u解密查询结果;
[0127]
对于查询结果还包含匹配个体标识符等详细信息和原始文件的,则使用查询者自己的私钥u解密密钥(即数据提供终端生成的对称加密的密钥),用解密后的密钥再解密原加密后数据,获得真实个体数据。
[0128]
在第五种实施例中,提供了一种保护隐私安全的基因数据分享装置,应用于数据提供终端,该装置包括:
[0129]
虚拟个体基因数据生成模块,用于采用虚拟个体生成算法生成一组虚拟个体以及对应的基因数据,即虚拟个体基因数据;
[0130]
数据发送模块,用于为数据提供者生成一个对称加密的密钥用于对原始文件进行
加密,获得对称加密文件;为每个虚拟个体和数据提供者分配一个标识,使用集体公钥分别对原始文件、虚拟个体基因数据、对称加密文件、标识进行加密,获得加密后数据,并发送至计算节点;
[0131]
审计模块,用于设置访问策略,以及在有动态同意策略的情况下,用于与区块链状态同步时,接收查询请求通知供数据提供者审查决定同意或者拒绝,并将同意或者拒绝的结果发送至计算节点。
[0132]
数据提供终端是可以作为前端的各种设备,该设备包括处理器和存储介质,以及存储在存储介质中并能够被处理器运行的包括虚拟个体基因数据生成模块、数据发送模块和审计模块的程序,例如网页等。数据提供者即用户,可以通过数据提供终端将他们的临床和基因变异数据等原始文件安全地上传,并分享给其他人,以用于群体基因组学研究。
[0133]
在第六实施例中,提供了一种保护隐私安全的基因数据分享装置,应用于计算节点,该装置包括:
[0134]
数据接收模块,用于接收数据提供终端发送的加密后数据,经所有计算节点验证后存储在区块链上;接收数据查询终端发送的经加法同态加密的查询请求,查询请求经所有计算节点校验后存储在区块链上;接收存储单元发送的计算结果,计算结果经所有计算节点验证后存储在区块链上;
[0135]
数据处理模块,用于基于加法同态算法生成一对公钥和私钥,还生成一个秘密,所有计算节点广播自己的公钥,从而生成一个集体公钥;所有计算节点建立成一个区块链;将经过集体公钥加密的对称加密文件和标识发送至存储单元;将经过集体公钥加密的原始文件和虚拟个体基因数据进行权利要求2或3所述的分布式再加密,并发送至存储单元;对查询请求进行分布式再加密,并发送至存储单元。
[0136]
访问策略处理模块,用于读取区块链上的访问策略,将接收的加密后数据与访问策略相关联,所述访问策略为全部同意策略或动态同意策略;对于全部同意策略,同意或者拒绝查询请求;对于动态同意策略,向数据提供终端发送询问,接收并验证区块链上生成的由数据提供者发送的对询问的答复;对于选择同意的答复,将使用集体公钥加密的对称密钥转换为使用查询者的公钥u加密的对称密钥。
[0137]
该数据处理模块还用于将计算结果转换为查询结果,转换由所有计算节点联合执行以下分布式密钥交换:
[0138]
令ek(r)=(c1,c2)=(rg,r rk)为使用集体公钥k加密的计算结果,u是查询者的公钥,
[0139]
首先修改ek(r)=(c1,c2)为然后每个计算节点相继生成一个随机数vi,并且计算其中其中最终转换为使用查询者的公钥u加密的查询结果是其中,m=c
2-(k1
……
k
n-1
)c1,v=v1

vn;
[0140]
数据处理模块将使用查询者的公钥u加密的查询结果发送至数据查询终端。
[0141]
应用于数据节点的装置为服务器,所述服务器由相互独立的政府、学术或者商业机构托管,多个应用于计算节点的装置负责共同和安全地处理数据查询者的查询请求。
[0142]
在第七实施例中,提供了一种保护隐私安全的基因数据分享装置,应用于数据查询终端,包括:
[0143]
请求生成模块,用于向数据查询者分配查询积分和伪随机身份,并将查询积分和伪随机身份存储在区块链上;生成查询者自己的公钥u和私钥u,提供数据字段信息供查询者进行布尔组合建立查询请求;使用集体公钥对查询请求进行加密,并连同查询者的公钥u一起发送给任意一个计算节点;
[0144]
结果接收模块,用于接收由计算节点发来的查询结果,然后更新查询积分,并将更新后的查询积分存储在区块链上;使用查询者自己的私钥u解密查询结果,或者使用查询者自己的私钥u解密对称密钥,用对称密钥解密加密后数据,获得真实个体数据。
[0145]
数据查询者一般是研究人员,他们使用数据查询终端发出查询请求,并获得查询结果,进而寻找他们感兴趣的临床和基因变异的个人,以便在临床研究或药物试验中招募他们。
[0146]
在第八实施例中,提供了一种保护隐私安全的基因数据分享装置,应用于存储单元,包括:
[0147]
数据存储模块,用于接收并存储经过集体公钥加密的对称加密文件和标识,以及经过集体公钥加密后又经过分布式再加密的原始文件和虚拟个体基因数据,即为存储信息;
[0148]
查询匹配模块,用于接收经过分布式再加密的查询请求,将查询请求与存储信息进行匹配,根据查询者需求分别进行以下两种计算,并将计算结果发送至计算节点:
[0149]
令φ为匹配成功的个体身份标识的集合,包括数据提供者和虚拟个体;
[0150]
如果查询者只需要匹配成功的个体数量,,即匹配成功的个体标识之和r,进行以下同态计算:
[0151][0152]
如果查询者需要匹配成功的个体身份标识符,进行以下计算:
[0153]
将个体身份标识符与同态加密的标识相乘,即此时计算结果经数据查询终端解密后虚拟个体的标识为0。其中id表示个体身份标识符。
[0154]
应用于存储单元的装置可以是一个或者多个服务器,负责安全地储存数据提供者的临床和基因组数据。数据提供者可以选择任何一个服务器来存储他们的数据。这些服务器可以是分布在具有能够提供存储大量数据的it基础设施的任何政府、学术或商业机构中。
[0155]
本文中应用了具体个例对发明构思进行了详细阐述,以上实施例的说明只是用于帮助理解本发明的核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离该发明构思的前提下,所做的任何显而易见的修改、等同替换或其他改进,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献