基于茫然传输协议的隐私保护基因序列比对方法及系统

文档序号:32393573发布日期:2022-11-30 09:19阅读:87来源:国知局
基于茫然传输协议的隐私保护基因序列比对方法及系统

1.本发明涉及基因序列比对技术领域,特别是涉及一种基于茫然传输协议的隐私保护基因序列比对方法及系统。


背景技术:

2.本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
3.由于基因数据固有的敏感特性,基因数据的共享和传播会带来隐私泄露问题,比如(1)基因数据唯一标识人类个体,可以用于身份识别;(2)基因数据含有家族之间的血缘关系信息;(3)基因数据与遗传、表型和易感疾病等密切关联;(4)基因数据含有未被提取或未获得的敏感信息内容。
4.因此,基因数据的隐私泄露会产生不良影响;在早期,对于基因数据的保护,主要是通过匿名化技术实现的;然而即便对基因谱系进行匿名化处理,匿名记录的重新识别仍是可能的,而且概率很大。
5.为了提供更强的安全保障,利用密码学方法(包括同态加密和混淆电路等)对基因数据进行隐私保护的研究工作相继被提出。同态加密允许在密文上进行运算而不需要解密数据,但由于技术的瓶颈,其研究并没有取得重大的突破;混淆电路允许持有各自隐私数据的两方联合计算某个既定的函数,而不会泄露任何一方的隐私数据信息,但其实用性存在争议。
6.目前对于基因数据的研究工作大多集中在提高计算准确率及运行效率上,少数考虑了围绕基因序列比对方面的数据隐私安全。
7.另外,基因序列由四种基本的核苷酸(腺嘌呤a、鸟嘌呤g、胞嘧啶c、胸腺嘧啶t)构成,在对基因数据执行序列比对、搜索或相似性计算时,通常需要对基因序列编码,例如采用二进制编码:a—00,g—01,c—10,t—11;但基于这种简单的编码方式对基因序列进行上述操作时并不安全,极易遭受恶意敌手的攻击,导致基因数据的泄露。


技术实现要素:

8.为了解决上述问题,本发明提出一种基于茫然传输协议的隐私保护基因序列比对方法及系统,在保护基因序列信息的同时实现基因序列的高效安全比对。
9.为了实现上述目的,本发明采用如下技术方案:
10.第一方面,本发明提供一种基于茫然传输协议的隐私保护基因序列比对方法,包括:
11.设定第一基因序列和第二基因序列共享的公开随机字符串;
12.采用独热编码对第一基因序列和第二基因序列分别进行编码;
13.对第一基因序列碱基编码中的有效位选取第一随机字符串和第二随机字符串,以构成第一随机有序对,且所有有效位的第一随机字符串满足公开随机字符串,对非有效位
选取第二随机有序对,以此得到碱基编码有序对;
14.根据第二基因序列碱基编码中每个比特位,以及第一基因序列的碱基编码有序对,执行茫然传输协议,得到每个比特位的匹配结果;
15.根据第二基因序列碱基编码中所有有效位所在比特位的匹配结果,判断是否满足公开随机字符串,以此得到第一基因序列和第二基因序列是否相等的比对结果。
16.作为可选择的实施方式,第一随机字符串ri满足其中,r为公开随机字符串,i为第一基因序列碱基编码中第i个有效位,d为第一基因序列碱基编码中有效位所在的集合。
17.作为可选择的实施方式,对第二基因序列碱基编码中有效位j所在的比特位的匹配结果判断是否满足公开随机字符串的过程中,计算其中,j为第二基因序列碱基编码中有效位所在的集合;
18.若则第一基因序列和第二基因序列不相等;
19.若则第一基因序列和第二基因序列相等。
20.作为可选择的实施方式,所述公开随机字符串r

{0,1}
κ
,κ为安全参数。
21.作为可选择的实施方式,采用独热编码对第一基因序列和第二基因序列中的碱基a、g、c、t依次编码为00001、00010、00100、01000,对于碱基缺失的情况编码为10000。
22.作为可选择的实施方式,编码后有效位的个数与基因序列中碱基个数一致。
23.作为可选择的实施方式,所述茫然传输协议采用茫然传输扩展技术。
24.第二方面,本发明提供一种基于茫然传输协议的隐私保护基因序列比对系统,包括:
25.初始化模块,被配置为设定第一基因序列和第二基因序列共享的公开随机字符串;
26.独热编码模块,被配置为采用独热编码对第一基因序列和第二基因序列分别进行编码;
27.随机编码模块,被配置为对第一基因序列碱基编码中的有效位选取第一随机字符串和第二随机字符串,以构成第一随机有序对,且所有有效位的第一随机字符串满足公开随机字符串,对非有效位选取第二随机有序对,以此得到碱基编码有序对;
28.协议执行模块,被配置为根据第二基因序列碱基编码中每个比特位,以及第一基因序列的碱基编码有序对,执行茫然传输协议,得到每个比特位的匹配结果;
29.比对模块,被配置为根据第二基因序列碱基编码中所有有效位所在比特位的匹配结果,判断是否满足公开随机字符串,以此得到第一基因序列和第二基因序列是否相等的比对结果。
30.第三方面,本发明提供一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成第一方面所述的方法。
31.第四方面,本发明提供一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成第一方面所述的方法。
32.与现有技术相比,本发明的有益效果为:
33.本发明提出的基于茫然传输协议的隐私保护基因序列比对方法及系统,与传统编码方式相比,采用独热编码(one-hot encoding)的方式对基因序列进行编码,提升比对效率,防止基因数据的泄露,采用茫然传输协议实现字符串的安全比对,并且利用茫然传输(oblivious transfer,ot)协议扩展技术降低ot协议带来的低效公钥密码学操作,从而提升协议的操作效率;该方法具有更高的效率和安全性,在保护基因序列信息的同时实现序列高效安全比对。
34.本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
35.构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
36.图1为本发明实施例1提供的基于茫然传输协议的隐私保护基因序列比对方法流程图;
37.图2为本发明实施例1提供的基因序列包括一个碱基的比对方法示意图;
38.图3为本发明实施例1提供的基因序列包括两个碱基的比对方法示意图。
具体实施方式
39.下面结合附图与实施例对本发明做进一步说明。
40.应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
41.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
42.在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
43.实施例1
44.本实施例提供一种基于茫然传输协议的隐私保护基因序列比对方法,在保护基因序列信息的同时,实现基因序列的高效安全比对;假定两个互不信任的参与方alice和bob分别持有基因序列sa=a1...a
l
和sb=b1...b
l
,在不泄露任何信息的情况下,对两个基因序列进行比对。
45.本实施例考虑从yao的百万富翁问题出发,借助安全多方计算技术实现基因序列的安全高效比对。yao的百万富翁问题即两个百万富翁alice和bob想知道他们两个人谁更
富有,同时不希望对方知道自己财富的任何信息。yao百万富翁问题可以抽象为保密的比较两个数a和b的大小问题。考虑到a=b的情况,基因序列比对问题可以看作是yao百万富翁问题的变种。
46.那么,本实施例利用茫然传输协议提出一种高效的基因序列安全比对方法,茫然传输协议的输出即为匹配结果。
47.如图1所示,具体包括:
48.设定第一基因序列和第二基因序列共享的公开随机字符串;
49.采用独热编码对第一基因序列和第二基因序列分别进行编码;
50.对第一基因序列碱基编码中的有效位选取第一随机字符串和第二随机字符串,以构成第一随机有序对,且所有有效位的第一随机字符串满足公开随机字符串,对非有效位选取第二随机有序对,以此得到碱基编码有序对;
51.根据第二基因序列碱基编码中每个比特位,以及第一基因序列的碱基编码有序对,执行茫然传输协议,得到每个比特位的匹配结果;
52.根据第二基因序列碱基编码中所有有效位所在比特位的匹配结果,判断是否满足公开随机字符串,以此得到第一基因序列和第二基因序列是否相等的比对结果。
53.在本实施例中,采用独热编码方法对第一参与方(alice)和第二参与方(bob)的基因序列sa和sb进行编码;编码后只有一位有效,即一个碱基的编码只有一位为“1”,其余为“0”。因此,任意两个不同碱基的“1”的位置一定不同。
54.为实现sa和sb的安全比对,判断sa和sb每个对应碱基是否相等,关键是要解决每个独热编码后的碱基是否相等的问题,本实施例采用茫然传输协议来实现,具体地:
55.茫然传输协议涉及2个参与方,第一参与方(alice)拥有2个私有字符串x0、x1;第二参与方(bob)通过自己的选择比特b∈{0,1},选择2个字符串中的1个。在传输完成以后,bob将获得xb,而不会知道另一个字符串x
1-b
,同时alice不会收到任何输出,并且无法知道bob获得了哪一个字符串。该过程采用功能函数描述:
[0056][0057]
由于不同的碱基经独热编码后“1”的位置信息不同,在常规的基因序列比对方法中,alice和bob共享公开随机数r,根据编码后“1”的位置,alice提供2
l
个输入(如果第i个位置是1,那么输入为r;否则输入为一个随机数s),而bob输入选择比特j,j表示其相应碱基编码后“1”的位置。bob根据协议的输出是否为r来判断是否和alice的字符相等;如果协议输出为r,表示bob和alice的对应字符相等,否则,结论不成立。
[0058]
然而,上述方案并不安全,存在着信息泄露的问题。具体而言,上述方案可以实现比较两个基因序列相同位置上的2个碱基是否相等,但与此同时,bob将知道alice基因序列上的每个位置的有关碱基信息(例如非空或者非碱基a),这就带来了隐私泄露的问题,甚至bob可以根据所掌握的额外辅助信息,推测出来alice的基因序列信息。
[0059]
因此,本实施例对上述方案作出进一步的修改。
[0060]
本实施例采用独热编码方法,对第一参与方(alice)和第二参与方(bob)基因序列中的碱基a、g、c、t依次编码为00001、00010、00100、01000,对于碱基缺失的情况(用“—”表示),则编码为10000。
[0061]
令|sa|=|sb|=n,设定alice和bob共享的公开随机字符串r

{0,1}
κ
,对基因序列sa和sb进行独热编码,分别记为t,p∈{0,1}n×
l
,l为独热编码的长度,每l位代表一个碱基的编码,n为碱基个数;
[0062]
例如:n=3,sa=acg,l=5,那么编码后的结果为:000010001000100,其中00001对应碱基a,00010对应碱基c,00100对应碱基g。
[0063]
那么,每个碱基编码后必然仅包含1个“1”,则第一参与方编码后的碱基编码t和第二参与方编码后的碱基编码p中共有n个“1”,“1”所在位置为有效位;
[0064]
对于1≤k≤n
×
l,若t的第k个比特位置为1,即tk=1,则将k添加到集合=1,则将k添加到集合中,并选取两个随机字符串ri←
{0,1}
κ
和si←
{0,1}
κ
,随机字符串ri←
{0,1}
κ
满足异或操作然后构成第一随机有序对(si,ri);i指第i个有效位。
[0065]
否则,对非有效位随机选取两个随机字符串构成第二随机有序对
[0066]
以此得到碱基编码有序对以此得到碱基编码有序对作为执行的输入。
[0067]
执行茫然传输协议的第二个输入为第二参与方基因序列编码后的碱基编码中每个比特位pk∈{0,1},pk表示p的第k个比特位,为“0”或“1”;
[0068]
茫然传输协议执行结束后,得到每个比特位的匹配结果
[0069]
根据第二基因序列碱基编码中“1”的位置j,构建集合对第二基因序列碱基编码中的有效位,得到对应的匹配结果,计算得到r';
[0070]
若r'≠r,那么t≠p,表示sa和sb不相等;
[0071]
若r'=r,那么t=p,表示sa和sb相等。
[0072]
比如,若那么pk=tk=1,则在第k个比特位上,sa和sb的两个碱基相等;以此类推,得到所有有效位上的计算则t=p,基因序列sa和sb相等。
[0073]
在本实施例中,如图2所示,以n=1为例,|sa|=|sb|=1,alice和bob共享的公开随机字符串r

{0,1}
κ
,对sa和sb进行独热编码,得到t,p∈{0,1}
l
,l为编码长度;
[0074]
如果t的第k个比特位tk=1,alice选取一个随机字符串s

{0,1}
κ
,并构成第一随
机有序对(s,r);否则alice随机选取字符串且j≠k,构成第二随机有序对得到碱基编码有序对
[0075]
alice将作为协议的输入;
[0076]
bob将pk∈{0,1}作为协议的输入,k∈{1,...,l};
[0077]
协议执行结束后,得到匹配结果
[0078]
如果表明在执行第k次协议时,bob的输入pk=1,alice的输入是随机字符串s和r,因此tk=1;
[0079]
根据不同碱基独热编码后只有“1”的位置信息不同,由于pk=tk=1,因此t=p,sa和sb相等,可以安全地判断两个碱基是否相等。
[0080]
在本实施例中,如图3所示,以n=2为例,设定公开随机字符串r

{0,1}
κ
,基因序列sa=ag,sb=at,独热编码后,得到t=0000100100和p=0000101000,根据t5=1和t8=1,选择r1和r2,且满足
[0081]
执行茫然传输协议,根据p中“1”的位置,构建集合计算看出r'≠r,则表示sa和sb不相等。
[0082]
本实施例提出的基于茫然传输协议的隐私保护基因序列比对方法,提供一种安全有效的编码方法,同时防止基因数据的泄露,在保护基因序列信息的同时实现序列高效安全比对。
[0083]
在本实施例中,由于ot协议涉及到低效的公钥密码学操作,因而会在基于ot的安全计算协议中带来巨大的计算代价。例如,在yao协议中,ot执行的次数和输入规模成线性关系。考虑到基因序列涉及的数据量巨大,会带来输入长度与电路深度过大的问题,需要用到大量的ot协议,因此,本实施例采用ot扩展协议,以提升协议效率;
[0084][0085]
ot扩展协议主要用于优化参与方的计算复杂度,使得无论参与方的输入有多长,双方所执行的公钥操作次数都只与安全参数κ有关。
[0086]
实施例2
[0087]
本实施例提供一种基于茫然传输协议的隐私保护基因序列比对系统,包括:
[0088]
初始化模块,被配置为设定第一基因序列和第二基因序列共享的公开随机字符串;
[0089]
独热编码模块,被配置为采用独热编码对第一基因序列和第二基因序列分别进行编码;
[0090]
随机编码模块,被配置为对第一基因序列碱基编码中的有效位选取第一随机字符串和第二随机字符串,以构成第一随机有序对,且所有有效位的第一随机字符串满足公开随机字符串,对非有效位选取第二随机有序对,以此得到碱基编码有序对;
[0091]
协议执行模块,被配置为根据第二基因序列碱基编码中每个比特位,以及第一基因序列的碱基编码有序对,执行茫然传输协议,得到每个比特位的匹配结果;
[0092]
比对模块,被配置为根据第二基因序列碱基编码中所有有效位所在比特位的匹配结果,判断是否满足公开随机字符串,以此得到第一基因序列和第二基因序列是否相等的比对结果。
[0093]
此处需要说明的是,上述模块对应于实施例1中所述的步骤,上述模块与对应的步
骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为系统的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
[0094]
在更多实施例中,还提供:
[0095]
一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成实施例1中所述的方法。为了简洁,在此不再赘述。
[0096]
应理解,本实施例中,处理器可以是中央处理单元cpu,处理器还可以是其他通用处理器、数字信号处理器dsp、专用集成电路asic,现成可编程门阵列fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0097]
存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。
[0098]
一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例1中所述的方法。
[0099]
实施例1中的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
[0100]
本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元即算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0101]
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1