一种基于移动社交网络二度人脉的交友匹配隐私保护方法及
系统
技术领域
本发明属于计算机领域,特别涉及一种基于移动社交网络二度人脉的交友匹配隐私保护方法及系统。
背景技术
随着移动终端设备的普及,移动社交网络(Mobile Social Networks,MSN)得到了迅速的发展,通过移动社交网络,使得人们有了一个更加广阔的交流平台,结识新朋友,进一步扩大自己的社交范围。例如伴随在我们日常生活中的微信,智圈等。
用户通过自身特征属性进行相似度匹配可以在移动社交网络中找到具有共同特征的朋友,这些特征属性可以包括用户身份标识、所在地域、兴趣爱好等;但是在相似度匹配过程中,存在用户个人隐私信息被泄露的风险,这主要包括:位置隐私泄露,身份隐私泄露,数据隐私泄露,医疗数据隐私泄露等。而用户隐私一旦被泄露将有可能直接影响人们的工作、生活、以及财产安全。例如:(非法用户窃取用户的位置信息分析用户的日常生活轨迹、通过分析交友用户消费习惯来推测用户信用额度和还款能力,利用用户医疗数据进行广告商业诈骗和非法牟利等)。
因此,如何在促进移动社交活动的同时,又能够保证用户个人隐私安全,是一个亟待解决的热点问题,也是移动应用服务提供商未来的研究方向。
目前,国内外很多专家在移动社交网络交友隐私保护的研究上作出了贡献。在文献中,通过引入可信第三方(Trusted Third Party,TTP)来保护用户交友过程中的隐私(参见文献Guo L,Zhang C,Sun J.APrivacy-Preserving Attribute-Based AuthenticationSystem for Mobile Health Networks.IEEE Trans.on Mobile Computing,2014,13(9):1927-1941.)。在此类模型中,单一的可信第三方负责产生和管理用户所有的密钥,因此有可能存在单点故障、密钥失窃、服务高峰性能瓶颈问题,有文献提出了不依赖TTP的解决方案,此类方案通过计算用户属性私有交集(Private Set Intersection,PSI)来保证用户的隐私不被泄漏(参见文献Li M,Cao N,Yu S,Lou W.Findu:Privacy-preserving personalprofile matching in mobile social networks.In:Proc.of 30th IEEE Int’l Conf.onComputer Communications(INFOCOM),IEEE,2011.2435–2443.)。主要方法是:匹配双方各自持有自己的私有数据集,仅仅通过计算两者共同交集的大小而不泄漏彼此额外的信息来保证用户双方的隐私。但是,此类方法只考虑用户共同的属性个数,因此无法实现细粒度的访问控制和属性匹配。
Zhang等对以上方法进行了改进(参见文献Zhang R,Zhang Y,Sun J,et al.Fine-grained private matching for proximity-based mobile social networking[C]//Proceedings of the International Conference on Computer Communications(INFOCOM).IEEE,2012:1969-1977.),提出根据用户的兴趣偏好分配不同的权重,计算匹配的相似度。Niu等对用户的属性设置了优先级匹配(参见文献Niu B,Zhu X,Zhang T,etal.P-Match:Priority-aware friend discovery for proximity-based mobile socialnetworks[C]//Proceedings of the International Conference on Mobile Ad-Hoc andSensor Systems.IEEE Computer Society,2013:351-355.),Zhu等提出高效的混淆矩阵变换算法实现安全高效匹配(参见文献Zhu X,Liu J,Jiang S,et al.Efficient weight-based private Matching for proximity-based mobile social networks[C]//Proceedings of the International Conference on Communications.IEEE,2014:4114-4119.)。但是,以上方案用户只能对属于公共集合的属性进行设置,因此应用范围比较有限,例如当用户更换交友场景时,也许很难找到有共同特征的朋友。
因此,还有文献提出了基于单授权中心与CP-ABE属性加密方案的访问控制策略,可以为属性的匹配和消息共享提供细粒度的访问控制,也可以解决用户交友场景变换的问题。
虽然以上方案在一定程度上解决了交友可信的问题,但是依然属于陌生人交友,因此在实际的应用场景中,存在交友朋友圈不稳定的情况;另外以上方案也没有充分结合移动社交网络的特点,将用户实际的位置信息考虑进来,因此应用范围比较有限,例如当用户更换交友地点时,也许很难找到有共同特征的朋友。
发明内容
本发明针对现有技术中存在的问题,提出了一种基于移动社交网络二度人脉的交友匹配隐私保护方法及系统,该方法将用户特征属性分为必选属性和可选属性,利用交友发起者和交友应答者必要属性和位置信息进行密钥协商,只有协商成功的交友请求者才能进入到下一轮的精确的可选属性匹配阶段,再通过向量内积计算求得两者之间特征属性的相似度,同时交友请求者可以作为代理对匹配文件进行转发,从而扩展“二度人脉”。
一种基于移动社交网络二度人脉的交友匹配隐私保护方法,首先,利用交友发起者和交友请求者的必要属性和位置信息进行密钥协商;其次,密钥协商成功的交友请求者获取共享密钥,并利用共享密钥解密交友发起者的可选属性特征;最后,采用向量内积计算交友请求者与交友发起者的可选属性特征相似度,以交友发起者和交友请求者的可选属性特征相似度作为用户间的爱好交集,进行社交信息交互;
所述必要属性和可选属性是指交友用户的特征。
进一步地,所述利用交友发起者和交友请求者的必要属性和位置信息进行密钥协商的过程如下:
步骤A1:交友发起者生成自身必要属性和设定的交友位置信息的加密序列{l1,l2,l3,...,ln},并将加密序列发送给交友请求者;
所述{l1,l2,l3,...,ln}是利用自身的加密密钥Key对一组加密随机数{ri}采用加密函数进行加密获得,i∈{1,2,3,...,n},ri的取值为从随机选取的正整数,n表示有意愿参加社交匹配的交友请求者数量;所述交友发起者自身的加密密钥Key是对交友发起者的自身必要属性和设定的交友位置信息进行哈希运算获得;
步骤A2:交友请求者利用自身的加密密钥Key′1对接收到加密序列中的元素li进行解密,若成功解密,则交友发起者和交友请求者的密钥协商成功,且交友请求者获得对应的共享密钥,所述共享密钥是指交友请求者所收到的加密序列元素对应的加密随机数ri;
所述交友请求者的加密密钥Key′1是对交友发起者的自身必要属性和设定的交友位置信息进行哈希运算获得。
成功解密的交友请求者和交友发起者具备相同的必要属性,且交友请求者已经满足交友发起者的交友位置信息,并完成了密钥协商工作,同时获得设定的交友位置信息。而不能正确解密得到的交友请求者,说明其不具备与交友发起者共同的必选属性,则被交友发起者排除,无法进入下一轮可选属性特征的匹配过程。
进一步地,所述密钥协商成功的交友请求者获取共享密钥,并利用共享密钥解密交友发起者的可选属性特征的过程如下:
步骤B1:交友发起者利用一组加密随机数{r1,r2,r3,...,rn}和一组会话密钥{sk1,sk2,...,skn}采用中国剩余定理计算得到随机值value,{sk1,sk2,...,skn}中每个元素的取值为随机正整数;
步骤B2:交友发起者从设定的一组会话密钥{sk1,sk2,...,skn}中依次选取会话密钥ski对自身的可选属性集合I采用加密函数进行加密,将加密得到的结果和随机值value作为交友发起者的个人配置文件发送给密钥成功协商的交友请求者;
步骤B3:接收到交友发起者的个人配置文件的交友请求者利用在步骤A2获得的对应共享密钥ri和所接收随机值value进行计算,解算出对应的会话密钥ski,再利用ski解密得到经过混淆的可选属性集合I。
通过这种方式,没有参加第一轮密钥协商的用户或者攻击者无法正确的计算出会话密钥ski,每一个用户仅仅需要进行简单的模计算,只有符合条件的用户才进行解密和下步骤的可选属性的矩阵匹配。降低了终端的计算开销,提高了终端的计算效率。
进一步地,所述采用向量内积计算交友请求者与交友发起者的可选属性特征相似度的过程如下:
步骤C1:获取交友发起者和交友请求者的可选属性集合和
步骤C2:计算ki:ki=Ri·β-ci;
其中,Ri、ci为随机选取的正整数,α和β为随机选取的大素数,β>(n+1)·α2且α的长度为256位,
步骤C3:计算K和Ci,K和i的初始值为0:
K=K+ki
若ai=1,Ci=α+ci+ri·β;若ai=0,Ci=ci+ri·β;
步骤C4:判断i的取值是否等于n,若不等于,则将i的值加1,返回步骤C3,直到i的取值等于n,保存(β,K),并将(α,C1,C2,...,Cn)发给交友请求者;
步骤C5:交友请求者依据收到的(α,C1,C2,...,Cn)计算对应的Di,得到
若bi=1,Di=Ci·α;若bi=0,Di=Ci;
步骤C6:交友发起者获得交友请求者发送的D值,计算交友请求者与交友发起者的可选属性特征相似度E=D+Kmodβ。
进一步地,交友请求者作为交友发起者代理将前一轮交友发起者设定的位置信息、必要属性、可选属性进行转发,再次进行社交。
一种基于移动社交网络二度人脉的交友匹配隐私保护系统,包括:
密钥协商单元,利用交友发起者和交友请求者的必要属性和位置信息进行密钥协商;
共享密钥获取单元,经密钥协商单元进行密钥协商成功的交友请求者获取共享密钥,并利用共享密钥解密交友发起者的可选属性特征;
特征相似度计算单元,采用向量内积计算交友请求者与交友发起者的可选属性特征相似度,以交友发起者和交友请求者的可选属性特征相似度作为用户间的爱好交集,进行社交信息交互;
所述必要属性和可选属性是指交友用户的特征。
进一步地,所述密钥协商单元中包括加密序列模块和第一解密模块;
加密序列模块,交友发起者用于生成自身必要属性和设定的交友位置信息的加密序列{l1,l2,l3,...,ln},并将加密序列发送给交友请求者;
所述{l1,l2,l3,...,ln}是利用自身的加密密钥Key对一组加密随机数{ri}采用加密函数进行加密获得,i∈{1,2,3,...,n},ri的取值为从随机选取的正整数,n表示有意愿参加社交匹配的交友请求者数量;所述交友发起者自身的加密密钥Key是对交友发起者的自身必要属性和设定的交友位置信息进行哈希运算获得;
第一解密模块,用于交友请求者利用自身的加密密钥Key′1对接收到加密序列中的元素li进行解密,若成功解密,则交友发起者和交友请求者的密钥协商成功,且交友请求者获得对应的共享密钥,所述共享密钥是指交友请求者所收到的加密序列元素对应的加密随机数ri;
所述交友请求者的加密密钥Key′1是对交友发起者的自身必要属性和设定的交友位置信息进行哈希运算获得。
进一步地,所述共享密钥获取单元包括随机值计算模块、加密模块以及第二解密模块;
所述随机值计算模块,用于交友发起者利用一组加密随机数{r1,r2,r3,...,rn}和一组会话密钥{sk1,sk2,...,skn}采用中国剩余定理计算得到随机值value,{sk1,sk2,...,skn}中每个元素的取值为随机正整数;
加密模块:交友发起者从设定的一组会话密钥{sk1,sk2,...,skn}中依次选取会话密钥ski对自身的可选属性集合I采用加密函数进行加密,将加密得到的结果和随机值value作为交友发起者的个人配置文件发送给密钥成功协商的交友请求者;
第二解密模块:用于接收到交友发起者的个人配置文件的交友请求者利用在第一解密模块中获得的对应共享密钥ri和所接收随机值value进行计算,解算出对应的会话密钥ski,再利用ski解密得到经过混淆的可选属性集合I。
进一步地,所述特征相似度计算单元包括K值计算模块、Ci计算模块、D值计算模块以及可选属性特征相似度计算模块:
K值计算模块,将所有的ki进行累加获得;
其中,ki=Ri·β-ci,ci为随机选取的正整数,α和β为随机选取的大素数,β>(n+1)·α2且α的长度为256位,
Ci计算模块,依据交友发起者的可选属性集合计算Ci:
若ai=1,Ci=α+ci+ri·β;若ai=0,Ci=ci+ri·β;
D值计算模块,将所有的Di进行累加获得,Di是交友请求者依据收到的(α,C1,C2,...,Cn)和交友请求者的可选属性集合计算获得:
若bi=1,Di=Ci·α;若bi=0,Di=Ci;
可选属性特征相似度计算模块,依据交友发起者获得交友请求者发送的D值、β和K,计算交友请求者与交友发起者的可选属性特征相似度:
进一步地,还包括交友信息转发单元,交友请求者作为交友发起者代理将前一轮交友发起者设定的位置信息、必要属性、可选属性进行转发,再次进行社交。
同时交友请求者可以作为代理对交友发起者设定的位置信息、必要属性、可选属性对应的匹配文件进行转发,从而扩展“二度人脉”。
有益效果
本发明提供了一种基于移动社交网络二度人脉的交友匹配隐私保护方法及系统,该方法将用户特征属性分为必选属性和可选属性,利用交友发起者和交友应答者必要属性和位置信息进行密钥协商,只有协商成功的交友请求者才能进入到下一轮的精确的可选属性匹配阶段,再通过向量内积计算求得两者之间特征属性的相似度,同时交友请求者可以作为代理对匹配文件进行转发,从而扩展“二度人脉”。相比于现有技术而言,具有以下优点:
(1)将匹配属性阶段分为必选属性匹配阶段和可选属性匹配阶段,可以在第一阶段快速筛选符合交友条件的交友请求者,只有拥有相同必选属性和请求位置的用户才能参与匹配。使得本发明所述方法对应的机制更加实用、灵活和轻量。
(2)利用中国剩余定理进行模计算进行密钥计算,每个交友用户自身管理密钥,可以有效降低单属性中心密钥泄漏风险,同时也降低了匹配过程中的计算开销。
(3)在个人属性配置文件的匹配上,通过引入向量计算与大素数模糊,在保证精确匹配的同时,保证了用户的隐私。
(4)通过将交友请求者作为代理交友用户,将移动社交网络交友从完全陌生人的社交缩小到熟人社交或者同事社交,极大的提高了交友过程中的可信性。
附图说明
图1为本发明所述的交友过程总体架构图。
具体实施方式
下面将结合实例对本发明做进一步地说明。
本发明所述方法对应的模型和以往的移动社交网络交友模型有较大的区别,以往模型主要是建立一个无边际的交友圈,在这个交友区域中,发起者可以同任何的陌生人进行特征属性文件的匹配,进行社交活动。但是可以发现,这个模型在现实生活中存在较大的应用缺陷,因为,现实生活中两个不同地域的陌生人即使特征属性文件完全匹配,但是他们依然难以成为朋友,或者因为地域原因存在即使建立好友关系,也存在不稳固的情况。同时,在以往模型中,因为无法确定彼此的真实身份,所以在交友匹配过程中的安全和隐私保护方面依然存在相当大的漏洞。
抵御内部攻击者:当方案匹配完成时,交友发起者和交友请求者双方仅仅知道双方匹配是否存在交集,除此之外,双方均不知道对方与共同属性无关的其他任何信息。
抵御外部攻击者:当方案匹配完成时,假定外部攻击者拦截到用户双方交互过程中的消息进行中间人攻击,或者进行字典攻击,外部攻击者也无法将这些截获的消息解密恢复成明文。
本文依据用户在协议过程中的身份,将用户分为交友发起者和交友请求者,同时为扩大社交范围,考虑利用匹配成功的交友请求者作为交友代理对交友文件进行转发,方案中交友发起者和交友请求者的角色可以进行互换。交友过程总体架构图如图1所示。
实施例一
本发明所述方法包括三个阶段:第一阶段,必选属性密钥协商阶段;第二阶段,可选属性解密阶段;第三阶段,向量相似度计算阶段。该方法的安全基础建立在中国剩余定理,以及密码学认可的大素数加密安全框架上。
交友发起者Alice:拥有设置匹配属性设置的文件的所有权利。
交友请求者Bob,Tom:交友请求者的必选属性和位置信息只有满足Alice的设置的配置文件要求时,才能够计算出正确的解密密钥,进而解密文件,开展进一步的社交活动。
第一阶段,必选属性密钥协商阶段
在本阶段,Alice首先启动安装在智能手机上的App应用,进行启动参数的设置和必选属性的选择。Alice首先将选择一个包含m个属性的请求配置文件A={N,I}={n1,n2,...,nα,...,nm}来匹配所期望的交友请求者。为了更加灵活和细粒度的搜索应答者,本方案A={N,I}={n1,n2,...,nα,...,nm}分为两个组成部分,记为A={N,I},其中N代表α个匹配的必备属性,交友请求者必须包含所有必选属性才能进入下一轮可选属性的匹配;I代表剩下的m-α个可选属性,交友请求者至少需要包含他们中的β个,此外,令,γ=m-α-β如果γ为0,则是完全匹配。
交友发起者:
(1)Alice设置α个交友的必备属性,必备属性分别为:
N={n1,n2,...nα} (1)
Alice可以将这α个必备属性与Alice的需要进行交友位置进行组合哈希,从而生成加密密钥Key,为保证用户加密密钥Key生成一致,本方案对所有属性名称采用统一标准,不考虑属性名的二义性,用户位置信息LocationZone_id利用网格进行统一划分,同时利用保序加密方式对用户的位置隐私进行保护[8],加密密钥Key的生成过程为:
H(N+LocationZone_id)=Key (2)
(2)Alice从集合R中选择任意随机数rt作为加密随机数,t∈{1,2,3,...,n},利用公式(3)密钥Key对集合中的随机数利用加密函数Encrypt进行加密,生成一组加密序列{l1,l2,l3,...,ln}。
Message1=EncryptKey(r1,r2,r3,...,rn)={l1,l2,l3,...,ln} (3)
(3)Alice将加密序列{l1,l2,l3,...,ln}通过通信信道分发给周围有意愿参加社交匹配的交友请求者U1,U2,...,Un。
交友请求者:
(4)假设交友请求者Ui(1≤i≤n)为Bob,当Bob接收到加密序列中的li,Bob首先对自身的α个匹配的必备属性N′i与以及自己的位置信息利用公开的哈希函数以进行哈希,求得密钥Key′i。如果Bob可以利用Key′1对li利用解密函数Decrypt进行解密,并得到加密随机数ri。说明Bob与Alice具备相同的必备属性已经满足Alice交友的位置信息,并完成必备属性ri密钥协商工作。而不能正确解密得到的交友请求者。说明其不具备与发起者共同的必选属性,则被Alice排除,通过这种方式,发起者可以将必选属性和用户的具体位置移动社交范围进一步的可信化,从而可以进行下一轮的密钥分发工作。
第二阶段,可选属性解密阶段
在本阶段,为抵御伪装攻击者,Alice将分别利用密钥集合{r1,r2,r3,...,rn}与会话密钥集合{sk1,sk2,...,skn}利用中国剩余定理计算值value,并利用{sk1,sk2,...,skn}加密自身的可选属性匹配集合,Bob只有利用第一阶段协商的加密随机数ri成功解密value才能恢复ski进而解密Alice加密的可选属性集合。
交友发起者:
假设在本阶段有n个用户通过了密钥协商和必备属性的认证过程,则n个用户均得到了经过协商的共享密钥{r1,r2,r3,...,rn}。在本阶段Alice选择一组会话密钥{sk1,sk2,...,skn}分别加密个人可选属性集合I,为保证用户的隐私,用户可选匹配属性经过大素数混淆计算,同时交友发起者Alice将利用{r1,r2,r3,...,rn}计算得到值value,value满足:
value的求解过程如下:假设{r1,r2,...rn}两两互素,根据方程组(4)和结合根据中国剩余定理,value的解等价于:value=(sk1×t1×r1+sk2×t2×r2+......+skn×tn×rn)mod M;
其中,M=r1×r2×...×rn,Mi=M/ri,M-1 iti≡1mod ri;
此时,发起者可以将加密过的自身的个人配置文件发送给第一轮成功协商共享密钥ri的交友请求者,为进行下一轮相似度的匹配做准备。
广播的消息为Message2:
交友请求者:
假设交友请求者Bob接收到信息Message2,Bob首先将value与自身在第一阶段协商保存的密钥ri进行计算,可以求解出会话密钥ski,并利用ski成功解密得到经过混淆的必选属性集合I,通过这种方式,没有参加第一轮密钥协商的用户或者攻击者无法正确的计算出会话密钥ski,每一个用户仅仅需要进行简单的模计算,只有符合条件的用户才进行解密和下步骤的可选属性的矩阵匹配。降低了终端的计算开销,提高了终端的计算效率。
第三阶段,向量相似度计算阶段
在上一阶段,交友发起者快速地找到了与发起者必选属性相同的交友请求者,同时交友请求者计算出会话密钥ski并对发起者的消息进行了解密,获得了交友发起者经过混淆的匹配可选属性。在本阶段,请求者将利用向量交集计算技术,计算可选属性与发起者的相似度。
假设交友用户参与匹配的可选属性为5个,分别是{健身,购物,旅游,看书,音乐},为简单描述,如果一个用户对某选项有兴趣,就将项置为1,否则该项则为0,例如Alice对健身、购物和音乐有兴趣,那么其向量可以表示为Bob对健身、旅游和音乐有兴趣,那么其向量可以表示为直观的,Alice与Bob两个用户的兴趣交集为2,也就是两个向量相乘的结果,假设存在Tom用户,其只对音乐有兴趣,那么其向量可以表示为那么Alice与Tom用户的兴趣交集为1,很显然Bob与Alice更为匹配。
但是,直观的发现,用户Alice如果直接将发送给周围有意愿参与匹配的用户,假设这些用户中存在攻击者,那么攻击者可以掌握用户所有的信息,显然,这是非常不安全的,因此保护交友用户的隐私,本步骤将利用大素数α,β对向量的元素进行信息隐藏,具体过程如下:
步骤C1:获取交友发起者和交友请求者的可选属性集合和
步骤C2:计算ki:
其中,ci为随机选取的正整数,α和β为随机选取的大素数,β>(n+1)·α2且α的长度为256位,
步骤C3:计算K和Ci,K和i的初始值为0:
K=K+ki
若ai=1,Ci=α+ci+ri·β;若ai=0,Ci=ci+ri·β;
步骤C4:判断i的取值是否等于n,若不等于,则将i的值加1,返回步骤C3,直到i的取值等于n,保存(β,K),并将(α,C1,C2,...,Cn)发给交友请求者;
步骤C5:交友请求者依据收到的(α,C1,C2,...,Cn)计算对应的Di,得到
若bi=1,Di=Ci·α;若bi=0,Di=Ci;
步骤C6:交友发起者获得交友请求者发送的D值,计算交友请求者与交友发起者的可选属性特征相似度E=D+K modβ。
本发明所述方法通过建立起一个有边际的信息交流圈,而这个边际正是用户现实世界里所处的圈子,有可能是一个小区,一个会议中心,同一所学校,还有可能是大型集团公司内部等。因此,在设计个人匹配属性文件的时候,小区的位置,会议主持者现场临时公布的一个账号,公司集团和学校内部分配授权,都可以作为一个必要属性一个重要选项,只有满足这些必要属性的用户才能加入用户组成的移动社交网络,同时考虑利用已经建立稳定好友关系的熟人或者好友作为代理转发特征文件配置信息,从而在他们的好友圈中找到有共同特征的朋友,利用这种方法,不仅提高了交友的质量,也保证了交友的可信。
一种基于移动社交网络二度人脉的交友匹配隐私保护系统,包括:
密钥协商单元,利用交友发起者和交友请求者的必要属性和位置信息进行密钥协商;
共享密钥获取单元,经密钥协商单元进行密钥协商成功的交友请求者获取共享密钥,并利用共享密钥解密交友发起者的可选属性特征;
特征相似度计算单元,采用向量内积计算交友请求者与交友发起者的可选属性特征相似度,以交友发起者和交友请求者的可选属性特征相似度作为用户间的爱好交集,进行社交信息交互;
所述必要属性和可选属性是指交友用户的特征。
所述密钥协商单元、共享密钥获取单元、特征相似度计算单元按照上述方法对交友过程中的隐私进行保护。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。