可验证的隐私数据比较与排名查询方法

文档序号:6579349阅读:313来源:国知局
专利名称:可验证的隐私数据比较与排名查询方法
技术领域
本发明涉及数据安全与分析处理领域,特别涉及一种可验证的隐私数据比较与排名查询方法。
背景技术
数据大小比较和基于数据比较的数据排名作为一种非常基础的数据查询,被广泛应用在各种数据应用场景,如传感网络中节点进行数据查询,社交网络中好友间数据的比较查询,云计算等。很多应用场景中,仅仅需要数据的比较和排名结果,但参与比较和排名的数据本身是一种隐私,具有敏感性需要得到保护,比如用户希望在不暴露个人分数的情况下比较两个用户的得分,进行个人分数在多用户中排名的查询。安全多方计算最简单的解决方法便是采用可信的中心服务器,计算参与方将各自隐私的数据交给可信中心,由可信中心进行计算,再将计算结果返回给参与方。在这种有中心的解决方案中,固然可以进行数据大小比较和排名的运算。但是在很多情况下,如无线自组织传感网,移动社交网络等,并不是所有用户都能访问到中心服务器,例如在没有互联网接入或者在服务器失效的情况下运算便无法展开。频繁与计算中心交互还会带来高额的费用,同时也增大了数据隐私暴露的隐患。此外,由于服务器并非绝对可信,服务器被攻击可能导致大量用户隐私暴露,因此很多用户并不愿意将其隐私的数据暴露给服务器。由于采用可信中心的方式存在的种种局限,因此急需无中心的隐私数据比较和排名查询方法。目前已经有部分工作支持保护隐私的无中心数据比较,来保证每个用户只能得到比较和排名的结果而无法得到他人的隐私数据。但是现有的方法计算开销都非常大,尤其是在计算资源受限的移动设备上几乎无法进行,使得它们在很多场景下都难以得到实际应用。目前所有相关的解决方案都将重点放在了隐私保护,保证数据不被泄露,而忽略了运算输入和结果的可验证性。采用这些方法的进行比较和排序,其结果的正确性都建立在用户诚实地执行该方法的假设上。实际上,恶意用户可以通过简单的伪造其输入数据就能更改数据比较结果,导致错误的排名结果;或者先得到比较结果的用户可以向其他用户谎报排名结果。例如,恶意用户可以简单的输入一个非常大的数值而获得最高排名。这样无法验证的运算结果显然无法满足大量安全性较高的应用的需要。

发明内容
(一)要解决的技术问题本发明要解决的技术问题是如何提供一种可验证的隐私数据比较与排名查询方法,使得该方法在整个查询过程中无需服务器参与,不受平台限制,能够在比较数据降低计算开销的同时保护数据的安全性,并能够提供一种严密的验证机制。(二)技术方案为解决上述技术问题,本发明提供了一种可验证的隐私数据比较与排名查询方法,该方法运行的系统中存在可信第三方,所述可信第三方拥有公钥PkT和私钥SkT,该方法包括步骤SI每个用户连接可信第三方,获取一对公钥Pki和私钥Ski,由可信第三方对用户的隐私数据Vi和相关的随机数进行验证,使用用户获取的公钥Pki对隐私数据Vi和相关的随机数进行加密,对加密的数据进行签名形成数字证书颁发给用户;S2用户P1发送证书给用户P2,用户P2对用户P1发送的数字证书中加密的数据进行验证和同态计算,并将同态计算的结果发送给用户P1 ;S3用户P1解密用户P2发送的同态计算结果,得到隐私数据的比较结果;S4用户P1验证隐私数据的比较结果的正确性;

S5针对各用户进行步骤S2-S5,获得各用户的排名。优选的,步骤SI中,所述隐私数据Vi和相关的随机数的加密和验证方法为可信第三方为每个用户分配一个标示IDi,定义Ei (VijTi)表示使用快速Paillier加密算法利用用户Pi的公钥Pki对Vi进行加密,其中^是作为快速Paillier加密算法输入的随机数。用户Pi选择一系列随机数{ 6 J发送给可信第三方来验证Vi的合法性。优选的,步骤SI中,所述对加密的数据进行签名和形成数字证书的方法为用一系列相关随机数{ 6 J分别乘以Vi得到集合{ 8 kVi},可信第三方使用用户Pi的公钥Pki加密得到Ei (Vi, !Ti)、集合(Ei ( S k,rj}和Ei ( S kVi,r/ )},并将rjPr/告知然后可信第三方分别对所述Ei (Vi,ri)、集合{EjSkA)}和)}进行哈希,再对哈希的结果用可信第三方的私钥SkT进行签名Sig形成该数据的证书C(Pi, Vi) =< Sig(IDi), Ei (vi; Ti), Sig(Ei (vi; Ti)), Pki, Pk1 >和一系列证书的集合{C(Pi,6 J5Vi)} = {< Sig(IDi),Ei (Vi, Ti), Ei ( 8 k, Ti), Ei ( 8 kVi, T1 r ), Sig(Ei ( 6 k, Ti)), Sig(Ei ( 6 kvi; T1')),Pki, Pk1 > }其中r/为随机数。优选的,步骤S2中所述用户P1发送的证书为(P1, V1) =< Sig(ID1), E1 (v1; T1), Sig (E1 (v1; T1)) , Pk1, Pk1 >所述数据的数据验证和同态计算方法为用户P2随机地从V2的证书集合{C(p2,8 kv2)}中选出一个证书 C(p2, S1V2) =< Sig(IID2),E2 (v2, r2), E2 ( 6 r2), E2 ( 6 Jv2, Y2' ), Sig (E2 ( 6 r2)), Sig (E^ 6 Jv2, Y2')),Pk2, Pk1 > p2基于P1的证书中的值,利用快速Paillier加密系统的同态计算,得到同态计算结果e: = E1 ( 6 ^1+ 6 2, 6 ^1+ 8 2), e2 = E1 ( 6 ^2+ 5 2,r2), e3 = E2 ( 3 2,r2"),e4 = E1 Cr2V1+!"" 2, Y2Y^r" 2), e5 = El (r" 2+r" 2, r2)其中62和1>" 2为生成的随机数。优选的,步骤S3中,所述得到隐私数据比较结果方法为定义DiG)表示使用快速Paillier解密算法用Pi的私钥Ski对同态计算结果进行解密,计算(I1 = Dje1)和d2 =D1G2),比较Cl1和d2的大小即可得到隐私数据V1和V2的大小比较结果。优选的,步骤S4中,所述验证正确性的方法为A计算d4 = D1 (e4), d5 = D1 (e5),然后用证书C(P2,S1V2)中的值,以及e3,采用快速Paillier加密的同态性计算以下等式E2 ( 6 JV1+ 8 2,d4) = E2 ((I1), E2 ( 6 ^2+ 8 2, d5) = E2 (d2)
如果两个等式均成立,则说明P1得到正确的比较结果,否则说明P2对计算结果作假,则该计算结果无效。优选的,步骤S5中,获得各用户的排名的具体方法为 1在11个用户中,P1反复采用步骤S2到S4的方法,分别与其他n-1个用户进行的保护隐私的数据比较和验证,并记录数值小于P1的用户的个数R。比较完成后,P1就能得到自己在n个用户中的排名为R+1,采用相同的方法获得各用户的排名。优选的,所述快速Paillier加密算法为c = E (m, r) = gm+nrmodn2其中m为加密数据,n为用户公钥的模,g为用户公式的基,r为随机数。优选的,所述快速Paillier加密系统的同态计算算法为EOn1, r:) E (m2, r2)mod n2 = EOi^m2, r1+r2)mod n2Eiin-1, F1 )m'2mod n2 = EOn1 m2, ^ rn2)mod n2其中Iiipm2为加密数据,n为用户公钥的模,I^r2为随机数。优选的,所述快速Paillier解密算法为
权利要求
1.一种可验证的隐私数据比较与排名查询方法,其特征在于,该方法运行的系统中存在可信第三方,所述可信第三方拥有公钥PkT和私钥SkT,该方法包括步骤 Si每个用户连接可信第三方,获取一对公钥Pki和私钥Ski,由可信第三方对用户的隐私数据Vi和相关的随机数进行验证,使用用户获取的公钥Pki对隐私数据Vi和相关的随机数进行加密,对加密的数据进行签名形成数字证书颁发给用户; S2用户P1发送证书给用户P2,用户P2对用户P1发送的数字证书中加密的数据进行验证和同态计算,并将同态计算的结果发送给用户P1 ; S3用户P1解密用户P2发送的同态计算结果,得到隐私数据的比较结果; S4用户P1验证隐私数据的比较结果的正确性; S5针对各用户进行步骤S2-S5,获得各用户的排名。
2.权利要求1所述的可验证的隐私数据比较与排名查询方法,其特征在于,步骤SI中,所述隐私数据Vi和相关的随机数的加密和验证方法为可信第三方为每个用户分配一个标示IDi,定义Ei (Vyri)表示使用快速Paillier加密算法利用用户Pi的公钥PkJt Vi进行加密,其中A是作为快速Paillier加密算法输入的随机数。用户Pi选择一系列随机数{ 6 J发送给可信第三方来验证Vi的合法性。
3.权利要求2所述的可验证的隐私数据比较与排名查询方法,其特征在于,步骤SI中,所述对加密的数据进行签名和形成数字证书的方法为用一系列相关随机数{Sk}分别乘以Vi得到集合{ SkvJ,可信第三方使用用户Pi的公钥Pki加密得到Ei(Vpri)和集合{EjSk,!^)}和i{E(SkVi,ri' )},并将巧和巧'告知Pi。然后可信第三方分别对所述Ei (Ui)、集合{EjSkA)}和{EjSkhr/ )}进行哈希,再对哈希的结果用可信第三方的私钥SkT进行签名Sig形成该数据的证书C(Pi, Vi) =< Sig(IDi), Ejvi, T1), Sig(Ei (Vi, r^), Pki, Pk1 > 和一系列证书的集合{C(Pi, 6 J5Vi)} = { < Sig(IDi), Ei (Vi, T1), Ei ( 8 k, Ti), Ei ( 8 kvi; T1' ), Sig(Ei ( 8 k, r^), Sig(E^ 8 kVi,r/ )), Pki, Pk1> I 其中r/为随机数。
4.权利要求3所述的可验证的隐私数据比较与排名查询方法,其特征在于,步骤S2中所述用户P1发送的证书为 (P1, V1) =< Sig(ID1), E1 (v1; T1), Sig(E1 (v1; r^), Pk1, Pk1 > 所述数据的数据验证和同态计算方法为用户P2随机地从V2的证书集合{C(p2,SkV2)}中选出一个证书 C(p2, S1V2) =< Sig(IID2), E2 (v2, r2), E2( 6 j, r2), E2( 6 Y2' ), Sig(E2 ( 6 r2)), Sig(E1 ( 6 ^2, Y2' )), Pk2, Pk1>P2基于P1的证书中的值,利用快速Paillier加密系统的同态计算,得到同态计算结果 e: = E1 ( 6 JV1+ 6 2, 6 ^1+ 8 2), e2 = E1 ( 6 ^2+ 6 2,r2), e3 = E2 ( 6 2, r2"), e4 = E1Cr2V1+!"" 2, Y2Y^r" 2), e5 = E1 (r' 2+r" 2, r2) 其中32和1>" 2为生成的随机数。
5.权利要求4所述的可验证的隐私数据比较与排名查询方法,其特征在于,步骤S3中,所述得到隐私数据比较结果方法为定义DJe)表示使用快速Paillier解密算法用Pi的私钥Ski对同态计算结果进行解密,计算(I1 = D1 (ej)和d2 = D1 (e2),比较(I1和d2的大小即可得到隐私数据V1和V2的大小比较结果。
6.权利要求5所述的可验证的隐私数据比较与排名查询方法,其特征在于,步骤S4中,所述验证正确性的方法为=P1计算d4 = D1 (e4), d5 = D1 (e5),然后用证书C (P2, 8 ^2)中的值,以及e3,采用快速Paillier加密的同态性计算以下等式
7.权利要求6所述的可验证的隐私数据比较与排名查询方法,其特征在于,步骤S5中,获得各用户的排名的具体方法为=P1在n个用户中,P1反复采用步骤S2到S4的方法,分别与其他n-1个用户进行的保护隐私的数据比较和验证,并记录数值小于P1的用户的个数R。比较完成后,P1就能得到自己在n个用户中的排名为R+1,采用相同的方法获得各用户的排名。
8.权利要求2所述的可验证的隐私数据比较与排名查询方法,其特征在于,所述快速Paillier加密算法为 c = E (m, r) = gm+nrmodn2 其中m为加密数据,n为用户公钥的模,g为用户公式的基,r为随机数。
9.权利要求4所述的可验证的隐私数据比较与排名查询方法,其特征在于,所述快速Paillier加密系统的同态计算算法为
10.权利要求8所述的可验证的隐私数据比较与排名查询方法,其特征在于,所述快速Paillier解密算法为
全文摘要
本发明公开了一种可验证的隐私数据比较与排名查询方法,该方法包括步骤S1系统初始化,对用户的隐私数据vi和相关的随机数进行验证和加密,对加密的数据进行签名形成数字证书颁发给用户;S2用户p1发送证书给用户p2,P2对接收的数据进行验证和同态计算,并将结果发送给用户p1;S3用户P1解密用户p2发送的同态计算结果,得到隐私数据的比较结果;S4用户p1验证隐私数据的比较结果的正确性;S5针对各用户进行步骤S2-S5,获得各用户的排名。采用本发明的方法能够在保护用户隐私数据的情况下进行比较,并对结果进行验证,保证用户无法输入或对比虚假数据,并且在整个查询过程中无需服务器参与,处理速度快,计算开销小,不受平台限制。
文档编号G06F17/30GK103064931SQ20121056455
公开日2013年4月24日 申请日期2012年12月21日 优先权日2012年12月21日
发明者张兰, 李向阳, 刘云浩 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1