[发明专利]一种面向大型商场交易记录的隐私保护频繁项集挖掘方法有效
| 申请号: | 201810649609.X | 申请日: | 2018-06-22 |
| 公开(公告)号: | CN108900493B | 公开(公告)日: | 2020-12-15 |
| 发明(设计)人: | 马晨阳;王保仓;杨爱洁;柴炎廷;宋威;周立国 | 申请(专利权)人: | 西安电子科技大学 |
| 主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L9/30;H04L9/08;G06F21/62 |
| 代理公司: | 陕西电子工业专利中心 61205 | 代理人: | 陈宏社;王品华 |
| 地址: | 710071 陕*** | 国省代码: | 陕西;61 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | 本发明提出了一种面向大型商场交易记录的隐私保护频繁项集挖掘方法,用于解决现有技术中存在的在高隐私保护级别下挖掘频繁项集的过程中计算量大的技术问题。实现步骤为:评估员获取公私钥对,任意一个用户生成共享密钥;每个用户向云服务提供者发送加密后的交易记录,挖掘者向云服务提供者发送加密后的挖掘问询、挖掘问询中存在的商品的个数的密文和支持度阈值的密文;云服务提供者获取加密后的虚假交易记录;云服务和评估员进行交互判断挖掘问询是否为频繁项集。本发明的挖掘效率高。 | ||
| 搜索关键词: | 一种 面向 大型商场 交易 记录 隐私 保护 频繁 挖掘 方法 | ||
【主权项】:
1.一种面向大型商场交易记录的隐私保护频繁项集挖掘方法,其特征在于包括如下步骤:(1)评估员获取数据加密公私钥对和支持度评估公私钥对:(1.1)评估员采用密钥生成算法
生成数据加密公私钥对:
其中,λ1为BGN密码系统的安全参数,PKEnc为用于数据加密的公钥,SKEnc为用于数据加密的私钥;(1.2)评估员采用密钥生成算法
生成支持度评估公私钥对:
其中,λ2为Paillier密码系统的安全参数,PKEva为用于支持度评估的公钥,SKEva为用于支持度评估的私钥;(2)任意一个用户生成共享密钥Key:任意一个用户随机生成一个所有用户和挖掘者进行随机置换的共享密钥Key;(3)每个用户向云服务提供者CSP发送加密后的交易记录Ci:(3.1)每个用户使用Key对自己原始交易记录t'i中的e'i,j进行随机置换,得到交易记录ti,ti=(ei,0,...,ei,j,...,ei,n‑1),其中,t'i=(e'i,0,...,e'i,j,...,e'i,n‑1),i为原始交易记录和交易记录的序号,i∈{0,...,m‑1},m为原始交易记录的总数,j为商场中不同商品的序号,j∈{0,...,n‑1},n为商场中不同商品的个数,e'i,j表示在t'i中是否存在序号为j的商品,e'i,j∈{0,1},e'i,j=0表示在t'i中不存在序号为j的商品,e'i,j=1表示在ti'中存在序号为j的商品,ei,j表示在ti中是中否存在序号为j的商品,ei,j∈{0,1},ei,j=0表示在ti中不存在序号为j的商品,ei,j=1表示在ti中存在序号为j的商品;(3.2)每个用户采用BGN密码系统的加密算法,通过PKEnc对ti中的ei,j进行加密,并将加密后的交易记录Ci发送给CSP,其中,Ci=(ci,0,...,ci,j,...,ci,n‑1),
(4)挖掘者向云服务提供者CSP发送加密后的挖掘问询Q、挖掘问询q中存在的商品的个数的BGN密文z和支持度阈值的Paillier密文
(4.1)挖掘者生成原始挖掘问询q',q'=(s'0,...,s'j,...,s'n‑1),并使用Key对q'中的s'j进行随机置换,得到挖掘问询q,q=(s0,...,sj,...,sn‑1),其中,s'j表示在q'中是否存在序号为j的商品,s'j∈{0,1},s'j=0表示在q'中不存在序号为j的商品,s'j=1表示在q'中存在序号为j的商品;sj表示在q中是否存在序号为j的商品,sj∈{0,1},sj=0表示在q中不存在序号为j的商品,sj=1表示在q中存在序号为j的商品;(4.2)挖掘者采用BGN密码系统的加密算法,通过PKEnc对挖掘问询q中的sj和q中存在的商品的个数p分别进行加密,得到加密后的挖掘问询Q,Q=(r0,...,rj,...,rn‑1)和p的BGN密文z,
其中rj为第j个BGN密文,
(4.3)挖掘者采用Paillier密码系统的加密算法,通过PKEva对支持度阈值minup进行加密,得到支持度阈值的Paillier密文
并将Q、z和
发送给CSP;(5)云服务提供者CSP获取加密后的虚假交易记录Fμ:CSP随机生成υ个虚假交易记录F'μ,F'μ=(f'μ,0,...,f'μ,j,...,f'μ,n‑1),并采用BGN密码系统的加密算法,通过PKEnc对f'μ,j进行加密,得到加密后的虚假交易记录Fμ,Fμ=(fμ,0,...,fμ,j,...,fμ,n‑1),其中,μ为Fμ和F'μ的序号,μ∈{1,2,...,υ},f'μ,j表示在F'μ中是否存在序号为j的商品,f'μ,j∈{0,1},f'μ,j=0表示在Fμ'中不存在序号为j的商品,f'μ,j=1表示在Fμ'中存在序号为j的商品,fμ,j表示在Fμ中是否存在序号为j的商品,fμ,j∈{0,1},fμ,j=0表示在Fμ中不存在序号为j的商品,fμ,j=1表示在Fμ中存在序号为j的商品;(6)云服务提供者CSP获取交易记录ti中置换后的真实块和虚假块Xi,γ和虚假交易记录F'μ'中置换后的真实块和虚假块X'i,γ:(6.1)CSP以
为分块区间,分别对加密后的交易记录Ci、加密后的虚假交易记录Fμ和加密后的挖掘问询Q进行分块,得到m×ε个交易记录密文块、υ×ε个虚假交易记录密文块和ε个挖掘问询密文块,其中,
a为CSP猜测的平均每条交易记录中存在的商品的个数;(6.2)CSP分别求取交易记录密文块中的密文ci,j的和、虚假交易记录密文块中的密文fμ,j的和、以及挖掘问询密文块中的密文rj的和,得到交易记录块值Ai,ρ、虚假交易记录块值A'i,ρ和挖掘问询块值Bρ,并将Ai,ρ和Bρ的和作为加密后的交易记录Ci中的真实块Di,ρ,
将A'i,ρ和Bρ的和作为加密后的虚假交易记录Fμ中的真实块D'i,ρ,
其中,![]()
![]()
为椭圆曲线上的加法,ρ是Ai,ρ,A'i,ρ,Bρ,Di,ρ和D'i,ρ的序号,ρ∈(0,1,...,ε‑1);(6.3)CSP随机生成m×k个虚假块Di,ε,...,Di,ε+k‑1,m×k个虚假块D'i,ε,...,D'i,ε+k‑1,并将Di,ρ4和Di,ε,...,Di,ε+k‑1表示为加密后的交易记录Ci中的真实块和虚假块Di,γ,同时将D'i,ρ5和D'i,ε,...,D'i,ε+k‑1表示为加密后的虚假交易记录Fμ中的真实块和虚假块D'i,γ,其中,
和
分别为采用BGN密码系统的加密算法,通过PKEnc对1和0进行加密得到的密文,γ是真实块和虚假块的序号,γ∈{0,1,...,ε+k‑1};(6.4)CSP对Di,γ和D'i,γ分别进行随机化,得到加密后的交易记录Ci中随机化后的真实块和虚假块Wi,γ和加密后的虚假交易记录Fμ中真实块和虚假块W'i,γ,其中,Wi,γ=[Ri,γ]Di,γ,W'i,γ=[R'i,γ]D'i,γ,[Ri,γ]Di,γ为在椭圆曲线上对Ri,γ和Di,γ进行相乘,[R'i,γ]D'i,γ为在椭圆曲线上对[R'i,γ]和D'i,γ进行相乘,Ri,γ和R'i,γ是从环
中随机选择的数,
N1为BGN密码系统的模数;(6.5)CSP采用随机置换函数π1对Wi,γ和W'i,γ分别进行随机置换,得到加密后的交易记录Ci中置换后的真实块和虚假块Xi,γ和加密后的虚假交易记录Fμ中置换后的真实块和虚假块X'i,γ,并发送Xi,γ和X'i,γ给评估员;(7)评估员向云服务提供者CSP发送判断结果集合G:(7.1)评估员判断加密后的交易记录Ci中置换后的真实块和虚假块Xi,γ对应的明文的值是否为0,得到对加密后的交易记录Ci的判断结果αi,γ,
同时判断加密后的虚假交易记录Fμ中置换后的真实块和虚假块X'i,γ对应的明文的值是否为0,得到对加密后的虚假交易记录Fμ的判断结果α'i,γ,
其中,e为单位元,αi,γ=0表示Xi,γ对应的明文的值为0,αi,γ=1表示Xi,γ对应的明文的值不为0,α'i,γ=0表示X'i,γ对应的明文的值为0,α'i,γ=1表示X'i,γ对应的明文的值不为0;(7.2)评估员利用哈希函数Hash(·)计算加密后的交易记录Ci上的哈希值h和加密后的虚假交易记录Fμ上的哈希值h',并将αi,γ、α'i,γ、h和h'组成判断结果集合G,G={αi,γ,αi,γ,h,h'},将G发送给CSP,其中,h=Hash(αi,0||αi,1||...||αi,ε+k‑1),h'=Hash(α'i,0||α'i,1||...||α'i,ε+k‑1),||为连接符;(8)云服务提供者CSP获取置换后的全部内积密文ω'δ:(8.1)CSP判断h=Hash(αi,0||αi,1||...||αi,ε+k‑1)和h'=Hash(α'i,0||α'i,1||...||α'i,ε+k‑1)是否同时成立,若是,采用随机置换函数π1的逆函数
对αi,γ和α'i,γ分别进行逆置换,得到逆置换后的对加密后的交易记录Ci的判断结果τi,γ和逆置换后的对加密后的虚假交易记录Fμ的判断结果τ'i,γ,并执行步骤(8.2),否则,则频繁项集挖掘结束,其中,τi,γ={τi,0,τi,1,...,τi,ε+k‑1},τ'i,γ={τ'i,0,τ'i,1,...,τ'i,ε+k‑1};(8.2)CSP从τi,γ中移除{τi,ε,τi,ε+1,...,τi,ε+k‑1},得到对加密后的交易记录Ci的最终判断结果τi,ρ,从τ'i,γ中移除{τ'i,ε,τ'i,ε+1,...,τ'i,ε+k‑1},得到对加密后的虚假交易记录Fμ的最终判断结果τ'i,ρ,其中,ρ是τi,ρ和τ'i,ρ的序号,ρ∈{0,1,...,ε‑1};(8.3)CSP对τi,ρ进行扩展,得到对加密后的交易记录Ci的扩展判断结果βi,j,
同时对τ'i,ρ进行扩展,得到对加密后的虚假交易记录Fμ的扩展判断结果β'i,j,
其中,当ρ∈{0,1,...,ε‑2}时,
当ρ=ε‑1时,
(8.4)CSP计算当βi,j=1时的双线性对Eσ=e(rj,ci,j),并计算交易记录ti和挖掘问询q的内积的密文xi,
其中,e(rj,ci,j)为对rj和ci,j进行双线性对运算,∑为椭圆曲线上的求和操作,η1为βi,j=1的个数;(8.5)CSP计算当β'i,j=1时的双线性对
并计算虚假交易记录F'μ和挖掘问询q的内积的密文yμ,
将xi和yμ表示为全部内积密文zδ,zδ={x0,x1,...,xm‑1,y1,y2,...,yυ},其中,η2为β'i,j=1的个数,δ∈{0,1,...m+υ‑1};(8.6)CSP对zδ进行随机化,得到随机化后的全部内积密文ωδ,ωδ=[αδ](zδ‑z),其中,[αδ](zδ‑z)为在椭圆曲线上对αδ和zδ‑z进行相乘,αδ是从环
中随机选择的数;(8.7)CSP采用随机置换函数π2对ωδ进行置换,得到置换后的全部内积密文ω'δ,发送ω'δ给评估员;(9)评估员对置换后的全部内积密文ω'δ进行评估:评估员对置换后的全部内积密文ω'δ进行评估,得到评估结果vδ,
将vδ发送给云服务提供者CSP,其中,
和
分别为采用Paillier密码系统的加密算法,通过PKEva对1和0进行加密得到的密文;(10)云服务提供者CSP获取挖掘问询支持度的Paillier密文
(10.1)CSP采用随机置换函数π2的逆函数
对评估结果vδ进行逆置换,得到逆置换后的评估结果v'δ,v'δ={v'0,v'1,...,v'm+v‑1};(10.2)CSP移除v'δ中由虚假交易记录F'μ'生成的评估结果{v'm,v'm+1,...,v'm+v‑1},得到逆置换后的由交易记录ti生成的评估结果{v'0,v'1,...,v'm‑1};(10.3)CSP计算挖掘问询支持度的Paillier密文![]()
(11)云服务提供者CSP和评估员合作进行密文比较:云服务提供者CSP和评估员通过Paillier密文比较方法,对挖掘问询支持度的Paillier密文
和支持度阈值的Paillier密文
进行比较,得到挖掘结果Result,并通过评估员将Result发送给挖掘者,其中,Result∈{0,1},Result=1表示挖掘问询q是频繁项集,Result=0表示挖掘问询q不是频繁项集。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810649609.X/,转载请声明来源钻瓜专利网。





