基于差分隐私的健康数据聚合方法与流程

文档序号:12751382阅读:1211来源:国知局

本发明属于密码学与信息安全技术领域,具体涉及一种基于差分隐私的健康数据聚合方法。



背景技术:

个人的健康数据涉及到个人的隐私,这是不能公开的,一旦隐私数据泄露,他人就有可能利用这个数据做危害到个人利益的事情。比如保险公司如果知道了某投保人的健康数据,就会对该投保人的利益造成损害。但众多个人健康数据的平均水平,则对保险公司非常有用,比如保险公司在不损害个人利益的前提下可以根据这个平均数据设定保费的价格。因此,如何在不被泄露个人隐私的情况下,将健康数据进行聚合成为一个十分重要且必须解决的问题。另外,网络上的第三方机构一般都是难以信任的,近些年来频频爆出个人隐私遭到泄露的事件就可以说明这一点。因此,在对个人隐私数据进行聚合的情况下,如何能够不依靠第三方,也是一个亟待解决的问题。



技术实现要素:

基于上述原因,本发明提供一个基于差分隐私的健康数据聚合解决方案,在没有可信的第三方的情况下,对个人隐私数据进行聚合而不造成泄露。

下面是该方案的具体内容。

一种基于差分隐私的健康数据聚合方法,所述方法包括如下步骤:

(1)健康数据中心根据隐私和实用需求选取两个秘密的随机数ε,δ;并计算w=64Δ2log(2/δ)/ε2,其中Δ是mi的间隔;选择三个安全素数q、q1、q2,并计算N=q1q2;从N阶循环群G0中,选择其中一个生成元g0,并随机选择一个数u∈G0,计算然后在g阶循环群G1中选择一个随机数g2;选择一个安全哈希函数H(x)和一个双线性对e(G1,G1)=G2);将q1、q2保密,然后将{N,q,g0,g2,h,wn,H(x),e}公开;其中H(x)表示安全哈希函数,H:{0,1}*→G1

(2)第i个病人利用公钥进行计算然后和自己的身份信息IDi组成{IDi,yi}发送给健康数据中心,其中:i=1,2,3.…,n;xi表示第i个病人的私钥;yi表示第i个病人的公钥。

(3)第i个病人在t时刻产生一个健康数据mi∈[0,1,…,Δ],选择一个vi~B(wn,1/2)和一个随机数ri',然后根据选择出的数据计算其中B(wn,1/2)表示无偏二项分布。

(4)第i个病人根据步骤(1)中健康数据中心选择出的安全哈希函数H(x)产生一个签名并将{IDi,CTii}传输给健康数据中心。

(5)健康数据中心在收到第i个病人传输过来的{IDi,CTii}后,验证等式e(σi,g2)=e(H(t||CTi),yi)是否成立,若成立则验证通过。

(6)如果验证通过,健康数据中心计算然后根据V和g1求出的值,并输出的结果,其中nwn/2是的期望。

具体实施方式

下面利用实施案例对本发明做一个详细说明。

定义:Pi表示在特定区域内的第i个病人,i=1,2,3.…,n;IDi表示第i个病人的身份信息;xi表示第i个病人的私钥;yi表示第i个病人的公钥;H(x)表示安全哈希函数,H:{0,1}*→G1;t表示聚合的时刻;mi表示第i个病人在时间t的健康数据;Δ表示产生一个mi的间隔;B(wn,1/2)表示无偏二项分布。

一.数据准备阶段

1.当地健康数据中心(LHC)需要进行的数据准备

①根据隐私和实用需求选取两个秘密的随机数ε,δ;并计算w=64Δ2log(2/δ)/ε2,其中Δ是mi的间隔。

②选择三个安全素数q、q1、q2;并计算N=q1q2

③从N阶循环群G0中,选择其中一个生成元g0,并随机选择一个数u∈G0,计算然后在g阶循环群G1中选择一个随机数g2

④选择一个安全哈希函数H(x)和一个双线性对e(G1,G1)=G2

⑤将q1、q2保密,然后将{N,q,g0,g2,h,wn,H(x),e}公开。

2.病人在收到LHC公开的数据后的行为

第i个病人需要利用公钥进行计算然后和自己的身份信息IDi组成{IDi,yi}发送给LHC。

3.LHC收到第i个病人提供的数据后将其保存在自己的数据库里。

二.数据传输阶段

⑴第i个病人在t时刻产生一个健康数据mi∈[0,1,…,Δ],然后选择一个vi~B(wn,1/2)和一个随机数ri',然后根据选择出的数据计算除此之外,为了进行身份认证,第i个病人还需根据之前LHC给的安全哈希函数H(x)产生一个签名并将{IDi,CTii}传输给LHC。

⑵LHC在收到第i个病人传输过来的{IDi,CTii}后,首先要根据双线性对对其签名进行身份验证,方法是验证等式e(σi,g2)=e(H(t||CTi),yi)是否成立,若成立则验证通过。如果同时有m个数据送到,可以用公式来加快验证的速度。

⑶如果验证通过,LHC可以认为数据确实是由病人发过来的。然后,LHC需计算此时,由于在一个相对有限大的区间内,可以根据V和g1求出的值。LHC只需要输出的结果,其中nwn/2是的期望。

三.经过上述算法处理数据之后,LHC便可以在不知道任意一个病人的具体健康信息的情况下,了解并使用所有病人的平均健康数据,达到本发明的目的。

本发明所涉及的密码学基础知识有以下几种:

1.安全哈希函数(SecureHashFunction)

安全哈希函数一个映射,h:{0,1}*→{0,1}n,其中{0,1}*表示任意长度的比特串集合,{0,1}n表示长度为n比特串集合,消息x∈{0,1}*的像h(x)成为x的哈希值。

2.子群判定假设(Subgroup Decision Assumption)

①双线性群:称有限N阶循环群G为一双线性群,如果存在N阶循环群H及满足下列条件的映射e:G×G→H;⑴映射e是双线性的,即对于任意元素u,v∈G及整数m、n;我们有e(um,vn)=e(u,v)mn;⑵映射e是非退化的,即若元素g是群G的一个生成元,则e(g,g)是H的一生成元。设N为一大于3的整数,无平方因子且不被3整除,构造N阶双线性群如下:

1)令l为最小的正整数,使得p=lN-1为素数且p模3同余2。

2)考虑定义在有限域Fp上的椭圆曲线E:y2=x3+1及椭圆曲线群E(Fp);由于p模3同余2,椭圆曲线群E(Fp)的阶为p+1=lN,因而E(Fp)必包含一N阶循环子群,记之为G。

3)令H为群的N阶子群;双线性映射e:G×G→H取为modified Weil pairing。

②子群判定假设:定义子群判定问题实例生成器GGen(k):在输入安全参数k上,随机生成2个不同的k比特素数q1、q2;置N=q1q2;按上述定义构造N阶双线性群G、群G的一个生成元g及双线性映射e:G×G→H,生成器GGen(k)的输出为(q1,q2,g,H,e)。

考虑任一输出为0/1的算法A,定义算法A求解子群判定问题的优势函数为

3.离散对数假设(Discrete Logarithm Assumption)

假设G是由g生成的n阶循环群,给定G的元素a,求x,使得a=gx,0<x<n,这在n足够大的前提下是不可能的。

4.双线性对(Bilinear Pairing)

对q阶循环群G1、G2而言,如果g2是G1中的一个随机元素,且G1、G2均符合离散对数假设,那么e:G1×G1→G2将满足以下几个性质:

①对任意P,Q∈G1,e(pa,qb)=e(p,q)ab

②存在P,Q∈G1使得

③对任意P,Q∈G1,存在一个高效算法e(P,Q)。

5.差分隐私(Differential Privacy)

差分隐私技术也就是增加或删除一条数据记录不会对任何分析的结果产生明显的影响,Dwork等人在2006年首次提出了差分隐私技术,该技术可以通过在数据结果中增加适当的噪声来实现数据的隐私保护。

6.HDA攻击

假设有一个数据库,可以获得所有数据的某一特定信息I(D)和这个数据库中除了数据记录式外的某一特定信息I(D-di),如果用I(D)-I(D-di)就可能获得用户i的特定信息。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1