基于同态OU密码的外包分类器加解密方法与流程

文档序号:15978715发布日期:2018-11-17 00:04阅读:666来源:国知局

本发明属于计算机技术领域,更进一步涉及信息安全技术领域中的一种基于同态ou(anewpublic-keycryptosystemassecureasfactoring)密码的外包分类器加解密方法。本发明可用于对用户查询信息的数据分类过程中,对分类器的参数信息进行加密,达到隐藏用户的查询信息的目的。

背景技术

数据挖掘在学术界与工业界受到了越来越多的关注,而数据的分类作为数据挖掘最主要的应用服务之一也越来越受到重视。然而,隐私泄露的问题阻碍了数据挖掘的快速发展,分类器所有者训练了一个分类器模型,由于所有者本地计算能力有限,而云计算服务提供商往往以低廉的价格提供计算资源。但是,出于对自己隐私信息的保护,所有者往往不希望直接将分类器信息委托给云计算服务提供商,用户使用该分类器时也不希望服务提供商得知自己的查询信息及计算结果。因此,外包环境下的分类器隐私保护受到越来越多的关注和研究。同态加密技术是实现外包分类器隐私保护的常用技术之一,该技术一般将分类器信息使用同态密码加密后存储到外包服务器上,当用户进行分类查询时,对同态加密后的数据进行一系列同态计算,最终获得用户所需要的分类结果,在整个计算过程中避免了分类器所有者及用户的数据隐私泄露。

作者bos在其发表论文“machinelearningclassificationoverencrypteddata”(in22ndannualnetworkanddistributedsystemsecuritysymposium,ndss2015,sandiego,california,usa,february8-11,2015.theinternetsociety,2015.)中公开了一种在分类器模型下对同态加密的数据处理的方法。该方法构建了一系列对密文数据的操作:比较、argmax,点积运算,并在此基础上实现了包含朴素贝叶斯、超平面决策和决策树在内的三种安全的分类协议,在该分类协议中外包云服务器获得公开透明的分类器参数信息,并利用同态密码技术计算用户的预测结果,可用于保护用户的查询信息及分类结果。但是,该方法存在的不足之处是,在三种安全的分类器参数信息对于云服务器是公开透明的,分类器参数信息的公开会造成分类器所有者的财产损失,无法解决对外包分类器的隐私查询问题。

作者tongli在其发表论文“outsourcedprivacy-preservingclassificationserviceoverencrypteddata”(journalofnetwork&computerapplications,2018)中公开了一种对密文数据的外包分类器的隐私保护的方法。该方法在分类协议中利用paillier密码对朴素贝叶斯分类器进行加解密,将加密的分类器参数发送给云外包服务器,利用argmax密文比较技术及大量的paillier同态计算构造了一个安全的分类协议,保护了分类器的参数信息,采用pir检索技术来保护用户的访问模式,从而隐藏用户的查询隐私。但是,该方法的不足之处是,第一,在分类协议中使用了paillier密码对朴素贝叶斯分类器进行加解密,同时采用大量的paillier同态计算来支持协议,存在着计算代价大的技术问题;第二,由于paillier密码的密文维数较大,在用户与服务器进行多次数据传输过程中,会产生较大的带宽损耗。



技术实现要素:

本发明的目的在于针对上述现有技术的不足,提出了一种基于同态ou密码的外包分类器加解密方法,采用同态密码技术对外包分类器进行加密,利用pir检索技术来保护用户的访问模式,用于解决当前外包分类器在分类计算过程中存在的计算代价大、通信成本高的技术问题。

为实现上述目的,本发明的具体思路是:

(1)生成公私钥对:

(1a)利用同态ou密码的密钥生成算法,分别产生用于加密分类器模型的公私钥对<pk1,sk1>,用于argmax密文比较协议的公私钥对<pk2,sk2>和用于pir协议的公私钥对<pk3,sk3>;

(1b)利用基于二次剩余问题的qr密码的密钥生成算法,产生用于密文比较协议argmax的公私钥对<pkq,skq>;

(2)分发公私钥对:

(2a)外包分类器所有者通过安全信道将公私钥对<pk2,sk2>和<pkq,skq>发送给云服务器;

(2b)外包分类器所有者通过安全信道将公私钥对<pk1,sk1>和<pk3,sk3>发送给用户,作为用户访问分类协议的令牌;

(3)对外包分类器进行加密:

(3a)利用同态ou密码加密算法,对训练好的外包分类器模型进行加密,得到外包分类器模型密文;

(3b)外包分类器所有者将外包分类器模型密文发送给云服务器,云服务器代理外包分类器所有者为用户提供待预测的分类服务;

(4)产生查询索引:

用户向云服务器提交待预测分类请求的查询向量,对查询向量每一维上的元素执行pir隐私信息检索协议产生查询索引向量,将查询索引向量发送给云服务器;

(5)云服务器混淆外包分类器模型密文:

(5a)随机选取分类类别概率加密参数和分类类别项概率加密参数;

(5b)用同态ou密码的加密算法,对概率加密参数进行加密,得到概率加密参数加密后的密文结果;

(5c)利用混淆方法,对外包分类器模型密文进行混淆,将混淆后的分类密文参数、分类类别混淆密文和分类类别项混淆密文发送给用户;

(6)对分类类别混淆密文和分类类别项混淆密文解密;

用户接收分类类别混淆密文和分类类别项混淆密文,利用同态ou密码解密算法,分别对分类类别混淆密文和分类类别项混淆密文进行解密,获得分类类别混淆明文,分类类别项混淆明文;

(7)按照下式,计算每个分类类别待处理概率明文:

其中,p′i表示第i个分类类别待处理概率明文,p′r(i)表示解密后第i个分类类别的混淆明文,p′r(i,j,xj)表示解密后的第i个类别发生时查询索引向量的第j维元素概率xj的混淆明文;

(8)对每个分类类别待处理概率明文进行加密:

利用同态ou密码的加密算法,对每个分类类别待处理概率明文进行加密,得到分类类别待处理概率密文;

(9)按照下式,计算每个分类类别待比较密文:

其中,e2(p″t)表示第t个分类类别待比较密文,e2(p′t)表示第t个分类类别待处理概率密文,e2(ot-p1)表示第t个分类密文参数,t∈{1,...,n};

(10)获取用户待预测分类结果:

用户将每个分类类别待比较密文提交给云服务器,云服务器运行最大密文比较协议argmax,获得用户待预测分类结果。

本发明与现有技术相比具有如下优点:

第一,本发明利用同态ou密码的外包分类器加解密方法,对外包分类器进行加解密,克服了现有技术中外包分类器在分类计算过程中存在的计算代价大、通信成本高的技术问题。使得本发明在相同安全性级别下,提高了分类过程的加解密以及同态计算效率,提高了用户查询分类的效率,降低了密文的维数,节省了密文的存储空间,有效地减小了分类过程中的通信带宽。

第二,由于本发明中对分类器进行同态加密,利用pir检索技术来保护用户的查询信息不被他人窃取,克服了现有技术中无法解决外包分类器隐私查询的技术问题,允许分类器所有者将分类模型以密文的形式外包给云服务器,用户向云服务器提交分类查询,云服务器返回给用户分类结果,可以有效保护了分类器模型和用户分类查询的隐私。

附图说明

图1为本发明的流程图。

具体实施方式

参照附图1,对本发明实现的步骤作进一步的详细描述。

步骤1,生成公私钥对。

利用同态ou密码的密钥生成算法,分别产生用于加密分类器模型的公私钥对<pk1,sk1>,用于argmax密文比较协议的公私钥对<pk2,sk2>和用于pir协议的公私钥对<pk3,sk3>。

所述的同态ou密码的密钥生成算法的步骤如下:

第1步,按照下式,计算同态ou密码密钥生成算法的计算模数:

n=p2q

其中,n表示同态ou密码的密钥生成算法的计算模数,p表示均匀且随机选取的大素数,q表示均匀且随机选取的大素数。

第2步,构建剩余类环

第3步,按照下式,计算同态ou密码密钥生成算法的优化参数:

h≡gnmodn

其中,h表示同态ou密码的密钥生成算法的优化参数,g表示在剩余类环中均匀且随机选取模下p2的原根,mod表示同余操作。

第4步,将模数n、两个大素数p和q、优化参数h、原根g,组成同态ou密码公钥pk=(n,g,h),私钥sk=(p,q),得到公私钥对<pk,sk>。

利用基于二次剩余问题的qr密码的密钥生成算法,产生用于密文比较协议argmax的公私钥对<pkq,skq>。

所述的基于二次剩余问题的qr密码的密钥生成算法的步骤如下:

第1步,按照n=rs,计算基于二次剩余问题的qr密码的密钥生成算法的计算模数,其中,n表示基于二次剩余问题的qr密码密钥生成算法的计算模数,r、s表示均匀且随机选取的两个大素数。

第2步,均匀且随机生成满足下式的非剩余数x:

其中,表示勒让德符号。

第3步,将计算模数n、两个大素数r和s、非剩余数x,组成基于二次剩余问题的qr密码公钥pk=(x,n),私钥sk=(r,s),得到公私钥对<pk,sk>。

步骤2,分发公私钥对。

外包分类器所有者通过安全信道将公私钥对<pk2,sk2>和<pkq,skq>发送给云服务器。

外包分类器所有者通过安全信道将公私钥对<pk1,sk1>和<pk3,sk3>发送给用户,作为用户访问分类协议的令牌。

步骤3,对外包分类器进行加密。

利用同态ou密码加密算法,对训练好的外包分类器模型进行加密,得到外包分类器模型密文。

所述的同态ou密码加密算法的步骤如下:

第1步,均匀且随机选取正整数其中,表示剩余类环,n表示同态ou密码密钥生成算法的计算模数。

第2步,按照下式,计算密文结果:

e(m)=gmhrmodn

其中,g表示在剩余类环中均匀且随机选取模下p2的原根,h表示同态ou密码的密钥生成算法的优化参数。

所述的外包分类器模型如下:

其中,pr(i)表示第i个分类类别出现的概率,pr(i,j,v)表示第i个分类类别发生时查询向量第j个元素v出现的概率,v表示第i个分类类别发生时查询向量第j个元素,sj表示查询向量第j个位置可能出现元素的集合,j∈{1,...,d},i∈{1,...,n},d表示用户查询向量的总维数,n表示分类类别的总数,∈表示属于符号。

所述的外包分类器模型密文如下:

其中,e1(·)表示加密操作,e1(pr(i))表示使用公私钥对<pk1,sk1>对第i个分类类别出现概率pr(i)加密后的密文,表示使用公私钥对<pk1,sk1>对第i个分类类别发生时查询向量第j个元素v出现概率pr(i,j,v)加密后的密文。

外包分类器所有者将外包分类器模型密文发送给云服务器,云服务器代理外包分类器所有者为用户提供待预测的分类服务。

步骤4,产生查询索引。

用户向云服务器提交待预测分类请求的查询向量,对查询向量每一维上的元素执行pir隐私信息检索协议产生查询索引向量,将查询索引向量发送给云服务器。

步骤5,云服务器混淆外包分类器模型密文。

随机选取分类类别概率加密参数和分类类别项概率加密参数。

用同态ou密码的加密算法,对概率加密参数进行加密,得到概率加密参数加密后的密文结果。

所述的同态ou密码加密算法的步骤如下:

第1步,均匀且随机选取正整数其中,表示剩余类环,n表示同态ou密码密钥生成算法的计算模数。

第2步,按照下式,计算密文结果:

e(m)=gmhrmodn

其中,g表示在剩余类环中均匀且随机选取模下p2的原根,h表示同态ou密码的密钥生成算法的优化参数。

利用混淆方法,对外包分类器模型密文进行混淆,将混淆后的分类密文参数、分类类别混淆密文和分类类别项混淆密文发送给用户。

所述的混淆方法的步骤如下:

第1步,计算得到聚合模型参数结果oi,其中,oi,0表示分类类别概率加密参数,oi,j表示分类类别项概率加密参数,oi表示聚合模型参数结果。

第2步,将(oi-p1)作为分类参数,利用同态ou密码的加密算法对分类参数(oi-p1)进行加密,得到e2(oi-p1)作为分类密文参数,其中,(oi-p1)表示分类参数,e2(·)表示加密操作,e2(oi-p1),表示使用公私钥对<pk2,sk2>对分类参数(oi-p1)进行加密后的分类密文参数。

第3步,云服务器对查询索引向量执行pir隐私信息检索协议,得到每一分类类别发生时查询向量第一个元素出现概率加密后的密文。

第4步,分别计算得到e1(p′r(i))作为分类类别混淆密文,作为分类类别项混淆密文,其中,e1(oi,0)表示使用公私钥对<pk1,sk1>对分类类别的概率加密参数oi,0进行加密后的分类类别概率加密参数密文,表示同态ou密码的加法同态计算符号,e1(oi,j)表示使用公私钥对<pk1,sk1>对分类类别项的概率加密参数oi,j进行加密后的分类类别项的概率加密参数密文,j∈{1,...,d}。

步骤6,对分类类别混淆密文和分类类别项混淆密文解密。

用户接收分类类别混淆密文和分类类别项混淆密文,利用同态ou密码解密算法,分别对分类类别混淆密文和分类类别项混淆密文进行解密,获得分类类别混淆明文,分类类别项混淆明文。

所述的同态ou密码解密算法的步骤如下:

第1步,构建剩余类子环p表示密钥生成算法中均匀且随机的大素数。

第2步,在剩余类子环上构建p-西罗子群其中,x表示p-西罗子群中的任一元素。

第3步,按照下式,计算密文处理结果:

cp≡cp-1modp2

其中,cp表示密文处理结果,c表示密文。

第4步,按照下式,计算解密参数:

gp≡gp-1modp2

其中,gp表示解密参数。

第5步,按照下式,分别计算得到密文处理结果的l函数l(cp),和解密参数gp的l函数l(gp):

其中,l(·)为在p-西罗子群γ上的l函数,l(cp)表示密文处理结果的l函数,l(gp)表示解密参数gp的l函数。

第6步,按照下式,计算密文解密结果;

其中,m表示密文解密结果。

步骤7,按照下式,计算每个分类类别待处理概率明文:

其中,p′i表示第i个分类类别待处理概率明文,p′r(i)表示解密后第i个分类类别的混淆明文,p′r(i,j,xj)表示解密后的第i个类别发生时查询索引向量的第j维元素概率xj的混淆明文。

步骤8,对每个分类类别待处理概率明文进行加密。

利用同态ou密码的加密算法,对每个分类类别待处理概率明文进行加密,得到分类类别待处理概率密文。

所述的同态ou密码加密算法的步骤如下:

第1步,均匀且随机选取正整数其中,表示剩余类环,n表示同态ou密码密钥生成算法的计算模数。

第2步,按照下式,计算密文结果:

e(m)=gmhrmodn

其中,g表示在剩余类环中均匀且随机选取模下p2的原根,h表示同态ou密码的密钥生成算法的优化参数。

步骤9,按照下式,计算每个分类类别待比较密文。

其中,e2(p″t)表示第t个分类类别待比较密文,e2(p′t)表示第t个分类类别待处理概率密文,e2(ot-p1)表示第t个分类密文参数,t∈{1,...,n}。

步骤10,获取用户待预测分类结果。

用户将每个分类类别待比较密文提交给云服务器,云服务器运行最大密文比较协议argmax,获得用户待预测分类结果。

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