一种具有隐私保护的高效私有属性集交集求解方法与流程

文档序号:15817536发布日期:2018-11-02 22:47阅读:347来源:国知局
一种具有隐私保护的高效私有属性集交集求解方法与流程

本发明属于信息安全技术领域,涉及一种具有隐私保护的高效私有属性集交集求解方法,特别涉及针对用户私有属性集隐私保护的需要,通过结合同态加密算法、霍纳法则的一种具有隐私保护的高效私有属性集交集求解方法。

背景技术

随着互联网大数据的各种应用渗透到人们生活的方方面面,这些应用在给人们的生活带来便利的同时,也给人们的隐私带来了越来越强烈的威胁。因此,大数据时代的隐私保护问题是一个值得研究的问题。隐私保护的数据计算是一种基本的大数据隐私保护技术。该技术能够在不泄漏隐私数据的同时完成隐私数据之间的计算任务。隐私保护集合交集是其中应用非常广泛的一类数据计算。该类计算实现在不泄漏输入集合的情况下计算输入集合的交集。

目前实现隐私保护集合交集的技术有不经意多项式计算的隐私保护集合交集协议。该协议将参与方集合元素表示为多项式的根,利用多项式的数学性质来计算交集,并采用同态加密算法加密交互过程中的信息来保证协议的隐私性。但该协议中,多项式的次数过高,会导致同态加密运算中指数的计算代价太大。有研究者利用哥德尔编码和同态加密算法解决隐私保护集合交集问题,但这种方案智能解决多个集合间的交集问题,不能解决2个集合间的交集问题。如何高效的实现具有隐私保护的n(n≥2)个集合的交集求解是亟待解决的问题。



技术实现要素:

为了解决上述的技术问题,本发明提供了一种具有隐私保护的高效私有属性集交集求解方法。

本发明所采用的技术方案是:一种具有隐私保护的高效私有属性集交集求解方法,假设系统由n个用户、1个网关gw和1个控制中心cc组成;将用户ui的私有属性集记为wi,i=1,2,…,n,属性集中的各个属性取自属性字典σ,即假设m=|σ|,σ={w1,w2,…,wm},其中wj表示属性字典σ中的第j个属性,j=1,2,…,m;

其特征在于,所述方法包括以下步骤:

步骤1:系统初始化;

步骤2:用户私有属性集密文生成;

步骤3:具有隐私保护的交集计算;

步骤4:用户私有属性集交集获取。

作为优选,步骤1的具体实现包括以下子步骤:

步骤1.1:控制中心cc首先设置一个能保证系统安全性的安全参数,然后根据安全参数生成系统参数、加密参数以及自己的公私钥对;

步骤1.2:网关gw生成自己的公私钥对;

步骤1.3:用户生成自己的公私钥对,向控制中心cc发生注册请求,控制中心cc向其返回加密参数。

作为优选,步骤2的具体实现包括以下子步骤:

步骤2.1:用户根据获得的加密参数将自己的私有属性集表示为一个满足霍纳法则的一元多项式;

步骤2.2:利用控制中心cc的私钥和同态加密算法对该一元多项式进行加密形成密文;

步骤2.3:用户ui用自己的私钥对生成的密文进行签名;

步骤2.4:把密文与签名发送给网关gw。

作为优选,步骤2.1中,用户ui将自己的私有属性集wi表示为一个m维的向量其中如果wj∈wi,则xij=1,否则xij=0;假设加密参数为r,且r>nm,则将表示成一元多项式pi=xi1r+xi2r2+…+ximrm

作为优选,步骤3的具体实现包括以下子步骤:

步骤3.1:网关gw对收到的n份密文进行签名验证;

步骤3.2:如果验证通过,那么网关gw对n份密文进行运算;

步骤3.3:网关gw用自己的私钥对计算得到的密文进行签名;

步骤3.4:把计算得到的密文与签名发送给控制中心cc。

作为优选,步骤3.1中,对n个密文进行随机划分,划分为两个大小相当的子集合cs1和cs2,大小分别为然后分别对两个子集中的密文进行批验证。

作为优选,步骤4的具体实现包括以下子步骤:

步骤4.1:控制中心cc对收到的密文进行验证;

步骤4.2:如果验证通过,控制中心cc利用自己的私钥对该密文进行解密;

步骤4.3:利用霍纳法则对解密得到的一元多项式进行解析,找出其中所有系数为n的项,从属性字典σ中取出这些项对应的属性构成的集合即为n个用户私有属性集的交集w=w1∩w2∩…∩wn。

作为优选,步骤4.3中,解密得到的一元多项式p=a1r+a2r2+…+amrm,利用霍纳法则解析p获得a1,a2,…,am,假设所求交集w对应的m维向量为则有,如果aj=n,则xj=1,如果aj<n,则xj=0;根据和属性字典σ得到w:如果xj=1,则wj∈w。

本发明方法与现有的技术相比有如下的优点和有益效果:

(1)本发明提出了一种新的将集合表示成一元多项式的方法。现有技术是将集合元素表示为一元多项式的根,而本发明先将用户集合表示成大小为属性字典规模的向量,然后将向量中的元素作为多项式的系数将集合表示成一个满足霍纳法则的多项式;

(2)本发明用同态加密算法对表示用户属性集合的多项式进行加密,通过对n个用户的密文进行密文级的运算得到反映n个用户属性集合交集情况的一元多项式的密文,该一元多项式同样满足霍纳法则。解密该密文并利用霍纳法则对解密得到的一元多项式进行解析得到该多项式的各项系数。如果第i项系数为n,则说明n个用户都具有属性字典中的第i个属性,因此该属性是交集中的元素。找出所有系数为n的项对应的属性,即求得n个用户属性集的交集。本发明通过将用户属性集表示成向量,再将向量表示成满足霍纳法则的一元多项式,并结合同态加密算法的方法,很好地避免了繁琐复杂的求解交集的过程,同时满足隐私保护的要求,因此本发明可以高效的实现具有隐私保护的用户私有属性集交集的求解。

附图说明

图1:本发明实施例的框架图;

图2:本发明实施例的方法流程图;

图3:本发明实施例的方法中控制中心在系统初始阶段的工作流程图;

图4:本发明实施例的方法中用户注册的工作流程图。

具体实施方式

为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。

请见图1,本发明涉及如下实体:用户、网关gw和控制中心cc。假设有n个用户、1个网关和1个控制中心。将用户ui的私有属性集记为wi,i=1,2,…,n,属性集中的各个属性取自属性字典σ,即假设m=|σ|,σ={w1,w2,…,wm},其中wj(j=1,2,…,m)表示属性字典σ中的第j个属性;用户将包含自己私有属性集信息的密文发送给网关gw;网关gw对用户密文实施运算,将运算得到的密文发送给控制中心cc;控制中心cc根据收到的密文得到n个用户的私有属性集的交集。

请见图2,本发明提供的一种具有隐私保护的高效私有属性集交集求解方法,包括以下步骤:

步骤1:系统初始化;

步骤2:用户私有属性集密文生成;

步骤3:具有隐私保护的交集计算;

步骤4:用户私有属性集交集获取。

请见图2中的步骤1,系统初始化的具体包括以下子步骤:

步骤1.1:控制中心cc根据首先设置一个能保证系统安全性的安全参数,然后根据安全参数生成系统参数、加密参数以及自己的公私钥对;

详细工作过程涉及参照图3中的步骤1.1.1至步骤1.1.3。

步骤1.1.1:控制中心cc从自然数集中选择安全参数κ,通过执行双线性对参数生成算法gen(κ)生成其中q是一个素数;是两个阶为q的循环群;p是的一个生成元;e:是一个非退化、可有效计算的双线性对映射。控制中心cc选择安全参数κ1,计算paillier加密算法的公钥(n=p1q1,g)和私钥(λ,μ),其中p1、q1是两个阶为κ1的大素数,g是的一个生成元。控制中心cc选择一个安全加密hash函数h:

步骤1.1.2:随机选择一个小于n的整数r作为加密参数,确保r>nm,其中n为用户数,m为属性字典集σ={w1,w2,…,wm}的模,即m=|σ|。

步骤1.1.3:控制中心cc公布系统参数

步骤1.2:网关gw生成自己的公私钥对;

网关gw随机选择作为自己的私钥,计算y=αp作为自己的公钥。

步骤1.3:用户生成自己的公私钥对,向控制中心cc发生注册请求,控制中心cc向其返回加密参数;

详细工作过程涉及参照图4中的步骤1.3.1至步骤1.3.3。

步骤1.3.1:用户ui(i=1,2,…,n)随机选择作为自己的私钥,计算yi=αip作为自己的公钥。

步骤1.3.2:用户ui向控制中心cc发送注册请求。

步骤1.3.3:控制中心cc向用户ui返回加密参数r。

请见图2中的步骤2,用户私有属性集密文生成的具体实现包括以下子步骤:

步骤2.1:用户根据获得的加密参数将自己的私有属性集表示为一个满足霍纳法则的一元多项式;

用户ui将自己的私有属性集wi表示为一个m维的向量其中如果wj∈wi,则xij=1,否则xij=0;假设加密参数为r,且r>nm,则将表示成一元多项式pi=xi1r+xi2r2+…+ximrm

步骤2.2:利用同态加密算法和控制中心cc的私钥对该一元多项式进行加密形成密文;

用户ui对pi实施paillier加密:随机选择计算

步骤2.3:用户ui用自己的私钥对生成的密文进行签名;

用户ui利用私钥αi对ci进行签名:σi=αih(ci||id_gw||id_ui||t),其中id_gw为网关的身份信息,id_ui为用户ui的身份信息,t为当前时戳。

步骤2.4:ui把密文与签名(ci,σi)发送给网关gw。

请见图2中的步骤3,具有隐私保护的交集运算的具体实现包括以下子步骤:

步骤3.1:网关gw对收到的n份密文进行签名验证;

网关gw对收到的n个密文进行验证,确保收到的用户密文来自合法用户且该用户的私有属性集未被篡改或伪造。为了提高验证效率,本发明提出一种高效抗伪造批验证方法:对n个密文进行随机划分,划分为两个大小相当的子集合cs1和cs2(大小分别为),然后分别对两个子集中的密文进行批验证。

如果成立,那么执行步骤3.2,否则验证失败,终止执行。

步骤3.2:如果验证通过,那么网关gw对n份密文进行运算;

网关gw对n份合法密文实施如下运算:

步骤3.3:网关gw用自己的私钥对计算得到的密文进行签名;

gw利用自己的私钥α对应c进行签名:σ=αh(c||id_cc||id_gw||t),其中id_cc为控制中心cc的身份信息。

步骤3.4:网关gw把计算得到的密文与签名(c,σ)发送给控制中心cc。

请见图2中的步骤4,用户私有属性集交集获取的具体实现包括以下子步骤:

步骤4.1:控制中心cc对收到的密文进行验证;

控制中心cc收到来自网关gw的密文之后,首先对其进行认证:验证下列等式是否成立,如果成立,那么控制中心cc认为收到的密文是合法的,继续执行下面的步骤,否则认为收到的密文是非法的,终止执行。

e(p,σ)=e(y,h(c||id_cc||id_gw||t))

步骤4.2:如果验证通过,控制中心cc利用自己的私钥对该密文进行解密;

控制中心cc对密文c进行解密得到包含交集信息的一元多项式p:

令p=a1r+a2r2+…+amrm,其中则有

c=gp·(r′)nmodn2

控制中心cc利用paillier解密密钥(λ,μ)和paillier解密算法对c进行解密得到一元多项式p。

步骤4.3:利用霍纳法则对解密得到的一元多项式进行解析,找出其中所有系数为n的项,从属性字典集σ中取出这些项对应的属性构成的集合即为n个用户私有属性集的交集w=w1∩w2∩…∩wn。

步骤4.3.1:控制中心cc按照如下算法获得一元多项式p的各项系数。

解析算法如下:

4.3.2:控制中心cc根据获得的a1,a2,…,am,按照如下方法得到交集w对应的向量

4.3.3:控制中心cc根据得到的和属性字典σ,按照如下方法得到n个用户私有属性集的交集w。

本发明将用户的私有属性集表示为一个满足霍纳法则的一元多项式,并结合同态加密算法,使得在不泄露用户私有属性集的情况下,获得用户私有属性集的交集。

本发明可用于社交网络、电子商务、电子政务、舆情管理等领域中的用户特征分析,具有很高的实用性。

应当理解的是,本说明书未详细阐述的部分均属于现有技术。

应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。

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