海量用户系统中具有隐私保护的特征用户发现与统计方法与流程

文档序号:16128191发布日期:2018-12-01 00:00阅读:194来源:国知局

本发明属于信息安全技术领域,具体涉及一种海量用户系统中具有隐私保护的特征用户发现与统计方法。

背景技术

在电子商务领域中,为了制定合理的营销策略,电子商务公司需要了解具有不同购物习惯的用户在其用户群体中的分布情况;在电子医疗领域中,为了掌握我国各种疾病的分布情况,医疗部门需要了解患有不同疾病的患者在所有患者中的分布情况;在电子政务领域中,为了获得人口结构情况,政府部门需要了解不同年龄段人在人口中的分布情况;在舆情管理中,为了全面掌握舆情情况,监管部门需要了解群众对社会事件持有态度的分布情况等等,这些实际应用说明特征用户在用户中的分布情况具有重要的应用价值。此外,在另一些应用需求中,需要在用户群体中发现指定特征的用户,例如在保险领域中,为了评估某疾病是否能参保或明确什么样的人适合参保即将推出的保险产品,保险公司需要了解潜在参保用户中具有指定的某个或某些属性的用户情况。这说明在用户中发现指定特征用户同样具有重要的应用价值。但是特征属性属于个人敏感信息,用户不希望公开自己的特征属性信息,同时随着移动网络、传感器网络、物联网等技术的发展,接入互联网的用户是海量级的。因此,研究如何在海量用户环境下具有隐私保护的特征用户发现与统计是一个重要课题。



技术实现要素:

为了解决上述的技术问题,本发明提供了一种海量用户系统中具有隐私保护的特征用户发现与统计方法。

本发明所采用的技术方案是:一种海量用户系统中具有隐私保护的特征用户发现与统计方法,所述系统包括m个区域网关、1个全局网关ggw和1个策略中心sc;每个区域包括n个用户和1个区域网关;

针对m种特征属性{w1,w2,…,wm},策略中心sc统计出mn个用户中2m种特征用户的用户数,获得mn个用户中目标特征用户的用户数;所述特征用户是指具有某种或某些属性的用户,所述目标特征用户是指具有指定的目标属性的用户;

将第i个区域的第j个用户表示为uij,i=1,2,…,m,j=1,2,…,n;将第i个区域对应的区域网关表示为rgwi,i=1,2,…,m;将用户uij的私有属性集记为wij,i=1,2,…,m,j=1,2,…,n;用户uij的特征属性集wij被表示为一个m维的属性向量如果用户uij具有属性wk,则xijk=1,否则xijk=0,i=1,2,…,m,j=1,2,…,n,k=1,2,…,m;

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

步骤1:系统初始化;

步骤2:用户特征值向量生成及其密文生成;

步骤3:具有隐私保护的单区域用户密文计算;

步骤4:具有隐私保护的海量用户密文计算;

步骤5:海量特征用户统计结果获取以及快速查询目标特征用户的统计结果。

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

(1)本发明解决了如何在海量用户中发现特征用户以及如何获得各种特征用户在海量用户中的分布情况的问题,具有非常好的实际应用价值。该方法可以应用到电子商务、电子医疗、电子政务、舆情管理、保险等领域中,具有非常广泛的应用范围。

(2)解决特征用户的发现和统计问题,需要解决的首要问题是如何表示特征用户。本发明所指的特征用户是指具有某种或某些属性的用户。本发明用一个整型的属性特征值表示一类特征用户。针对m种特征属性,最多有2m种特征用户,对应2m个特征值,用一个2m维的特征值向量表示一个用户属于哪几类的特征用户。如果用户具有特征值k1、k2(这说明该用户既是第k1类特征用户又是第k2类特征用户),那么该用户的特征值向量的第k1个分量和第k2个分量为1,其余分量为0。用户的特征值向量如何获得呢?显然,求解该问题需要求出用户具有的所有特征值。本发明首先将用户的特征属性集表示为一个m维的属性向量,如果用户具有第k种属性,则该用户属性向量的第k个分量为1,否则为0。根据用户的属性向量,生成所有至少包含一个1的01串,将每个01串视为二进制数求其对应的十进制数,求得的十进制数即为该用户的特征值。

(3)解决海量用户环境下的具有隐私保护的特征用户的发现和统计问题,本发明采用分层的思想和同态加密算法,将海量用户的特征值向量分层隐藏在具有同态性的密文中,特征用户的发现和统计通过密文级上的运算完成,对运算得到的密文进行解密,以“剥洋葱”的方式对解密得到结果一层一层地进行解析,最终得到各种特征用户在海量用户中的分布情况。

附图说明

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

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

具体实施方式

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

本发明提供的一种海量用户系统中具有隐私保护的特征用户发现与统计方法,请见图1,系统包括m个区域网关、1个全局网关ggw和1个策略中心sc;每个区域包括n个用户和1个区域网关;

针对m种特征属性{w1,w2,…,wm},策略中心sc统计出mn个用户中2m种特征用户的用户数,获得mn个用户中目标特征用户的用户数;所述特征用户是指具有某种或某些属性的用户,所述目标特征用户是指具有指定的目标属性的用户;

例如,假设有5种特征属性{女性,25岁以下,患子宫肌瘤,已婚,未婚},患子宫肌瘤的女性是本发明所指的特征用户、已婚女性是发明所指的特征用户、25岁以下未婚用户是本发明所指的特征用户、已婚用户是本发明所指的特征用户等等,基于5种特征属性{女性,25岁以下,患子宫肌瘤,已婚,未婚}的特征用户有25=32种。同时,策略中心sc可以快速获得mn个用户中目标特征用户的用户数。目标特征用户是指具有指定的目标属性的用户。例如,为了更好的制定保险策略,保险公司需要统计出年龄在25岁以下患子宫肌瘤的女性人数。在这个应用场景中,25岁以下患子宫肌瘤的女性即为本发明所指的目标特征用户。

将第i个区域的第j个用户表示为uij,i=1,2,…,m,j=1,2,…,n;将第i个区域对应的区域网关表示为rgwi,i=1,2,…,m;将用户uij的私有属性集记为wij,i=1,2,…,m,j=1,2,…,n;用户uij的特征属性集wij被表示为一个m维的属性向量如果用户uij具有属性wk,则xijk=1,否则xijk=0,i=1,2,…,m,j=1,2,…,n,k=1,2,…,m;

请见图2,本实施例的方法包括以下步骤:

步骤1:系统初始化;

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

步骤1.1:策略中心sc从自然数集中选择安全参数κ,计算paillier加密算法的公钥(n=pq,g)和私钥(λ,μ),其中p、q是两个阶为κ的大素数,g是的一个生成元,gcd(a,n2)=1}。策略中心sc随机选择一个小于n的整数r1和r2作为加密参数,确保r1>n2m其中n为一个区域中的用户数,m为区域的个数,m为特征属性的个数。

步骤1.2:区域网关rgwi(i=1,2,…,m)生成自己的公私钥对。

步骤1.3:全局网关ggw生成自己的公私钥对。

步骤1.4:用户uij(i=1,2,…,m,j=1,2,…,n)生成自己的公私钥对,向策略中心sc发生注册请求,策略中心sc向其返回加密参数r1和r2。

步骤2:用户特征值向量生成及其密文生成;

步骤2.1:用户uij根据自己的属性向量生成对应的特征值向量

用户uij根据自己的属性向量生成各分量构成的至少包括一个1的所有01串,将这些01串视为二进制数,求出对应的十进制数。将特征值向量中以这些十进制数为下标的分量置为1,其余分量为0。

因为xi有0或1两个可能的取值,所以用户属性向量有2m种可能的取值。用户属性向量对应的特征值向量包含2m个分量,每个分量对应属性向量的一种可能的取值,假设用户的特征值向量为如果用户属性向量中各分量构成的01串(将该01串视为二进制数)对应的十进制数等于k′,那么该用户的特征值向量的第k个分量为1,即yk′=1。此外,假设用户属性向量中有k″个分量的值为1,那么该用户属性向量各分量构成的至少包括一个1的01串有2k″-1种可能,则该属性向量对应的特征值向量有2k″-1个分量为1。

举例说明,假设m=5,用户属性向量(x1,x2,x3,x4,x5)有25种可能的取值,对应的特征值向量有25=32个分量,假设为(y1,y2,y3,…,y32)。假设某用户的属性向量为(1,0,0,1,1),其中有3个分量为1,其分量构成的至少包括一个1的01串有23–1=7种可能,分别为″10000″(表示该用户是具有属性1的特征用户)、″00010″(表示该用户是具有属性4的特征用户)、″00001″(表示该用户是具有属性5的特征用户)、″10010″(表示该用户是同时具有属性1和属性4的特征用户)、″10001″(表示该用户是同时具有属性1和属性5的特征用户)、″00011″(表示该用户是同时具有属性4和属性5的特征用户)、″10011″(表示该用户是同时具有属性1、属性4和属性5的特征用户)。属性向量(1,0,0,1,1)对应的特征值向量(y1,y2,y3,…,y32)有23–1=7个分量的值为1。因为10000对应的十进制数为16,00010对应的十进制数为2,00001对应的十进制数为1,10010对应的十进制数为18,10001对应的十进制数为17,00011对应的十进制数为3,10011对应的十进制数为19,因此,在对应的特征值向量中有y16=1、y2=1、y1=1、y18=1、y17=1、y3=1、y19=1,其余分量为0。

步骤2.2:用户uij根据获得的加密参数r1和r2将自己的特征值向量表示为

步骤2.3:用户uij随机选择利用paillier加密算法和策略中心sc的公钥对pij进行加密形成密文:

步骤2.4:用户uij用自己的私钥对生成的密文进行签名。

步骤2.5:uij把密文cij以及签名发送给区域网关rgwi。

步骤3:具有隐私保护的单区域用户密文计算,包括第i个区域网关rgwi对收到的本区域的n份密文(ci1,ci2,……,cin)进行签名验证,签名验证通过后对ci1,ci2,……,cin进行密文级的计算得到本区域级密文ci(该密文是与相关的密文),对密文ci进行签名,并将签名以及密文ci发送全局网关ggw。

请见图2中的步骤3,具有隐私保护的单区域用户密文计算的具体实现包括以下子步骤:

步骤3.1:区域网关rgwi(i=1,2,…,m)对收到的n份密文进行签名验证;如果验证成功,那么执行步骤3.2,否则验证失败,终止执行。

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

步骤3.3:区域网关rgwi用自己的私钥对计算得到的密文进行签名。

步骤3.4:区域网关rgwi把计算得到的密文ci已经签名发送给全局网关ggw。

步骤4:具有隐私保护的海量用户密文计算,包括全局网关ggw对收到的m个区域级密文(c1,c2,……,cm)进行签名验证,签名验证通过后对c1,c2,……,cm进行密文级的计算得到密文c(该密文是与相关的密文),对密文c进行签名,并将签名以及密文c发送策略中心sc。

请见图2中的步骤4,具有隐私保护的海量用户密文计算的具体实现包括以下子步骤:

步骤4.1:全局网关ggw对收到的m份密文进行签名验证;如果验证成功,那么执行步骤4.2,否则验证失败,终止执行。

步骤4.2:如果验证通过,那么全局网关ggw对m份密文进行运算:

步骤4.3:全局网关ggw用自己的私钥对计算得到的密文进行签名。

步骤4.4:全局网关ggw把计算得到的密文c以及签名发送给策略中心sc。

步骤5:海量特征用户统计结果获取以及快速查询目标特征用户的统计结果;

其中海量特征用户统计结果获取包括策略中心sc对收到的密文c进行签名验证,验证通过后利用自己的私钥对密文c进行解密得到p,对p进行解析,获得mn个用户中具有属性wm的用户数具有属性wm-1的用户数同时具有属性wm和wm-1的用户数…、同时具有属性w1,w2,w3,…,wm-1,wm的用户数即策略中心sc获得了各种特征用户在mn个用户中的分布情况。

快速查询目标特征用户的统计结果是指策略中心sc能快速查询mn个用户中具有目标属性的用户数,具体过程是策略中心sc将目标属性集a表示为对应的属性向量根据各分量的值得到一个01串,求该01串对应的十进制数,假设该十进制数为k″′,那么策略中心获得mn个用户中目标特征用户有个。

请见图2中的步骤5,获得各种特征用户的分布情况以及快速查询目标特征用户的统计结果的具体实现包括以下子步骤:

步骤5.1:策略中心sc对收到的密文进行验证;如果验证成功,那么策略中心sc认为收到的密文c是合法的,继续执行下面的步骤,否则认为收到的密文c是非法的,终止执行。

步骤5.2:如果验证通过,策略中心sc利用自己的私钥对密文进行解密,其中得到一元多项式p。

步骤5.3:利用霍纳法则对解密得到的一元多项式p进行解析,获得mn个用户中具有属性wm的用户数具有属性wm-1的用户数同时具有属性wm和wm-1的用户数…、同时具有属性w1,w2,w3,…,wm-1,wm的用户数即策略中心sc获得了各种特征用户在mn个用户中的分布情况。

步骤5.4:策略中心sc快速查询mn个用户中具有目标属性的用户数;

策略中心sc给出目标属性集a,将a表示为对应的属性向量根据各分量的值得到一个01串,求该01串(将其视为二进制数)对应的十进制数,假设该十进制数为k″′,那么策略中心可知mn个用户中目标特征用户有个。

本发明有效地解决了在海量用户环境下如何在不泄漏用户隐私的条件下高效发现和统计特征用户的问题。本发明可用于电子商务、电子医疗、电子政务、舆情管理、保险等领域中的特征用户发现和统计分析,具有很高的实用性。

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

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

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