发明内容
本发明针对现有的移动社交过程中存在的加解密运算计算量大或信息容易泄露的问题,提出了一种新型的矩阵混淆运算和内积计算来代替传统的解决方案,从而来保证近邻移动社交网络中交友和互动过程中的安全。
一种新型的近邻移动社交网络交友隐私保护方法,包括以下几个步骤:
步骤1:构造用户的个人属性偏好权重矩阵MAl×n;
其中,aij为用户的属性偏好权重矩阵中的元素,取值为0或1,i∈[1,l],j∈[1,n];属性偏好权重矩阵中每行的元素代表用户的对属性的偏好程度,也称为属性权重,n为兴趣属性类别数量,每列中的元素代表用户的属性;
所述兴趣权重根据用户在设定时间内的参与兴趣活动的频率的百分比进行设定,将频率百分比区间[0,100%]等分成l份,每个区间从小到大依次对应的兴趣权重分别为1,2,3...,l;
【频率区间为[0,20%),兴趣权重设置为1;频率区间为[20%,40%),兴趣权重设置为2;频率区间为[40%,60%),兴趣权重设置为3;频率区间为[60%,80%),兴趣权重设置为4;频率区间为[80%,100%],兴趣权重设置为5。】
【假设这三个兴趣爱好分别为看电影,游泳,和购物(列向量表示),我们以看电影的频率次数举例,假设用户每个月看电影的次数有5个选项,每个选项对应用户看电影的频率,分别为20%(1-2次),40%(3-4次),60%(5-6次),80%(7-8),100%(8次以上),我们假定用户看电影的次数满足20%的频率时1-2次为弱爱好(对应权重为1),满足40%的频率时3-5次为基本爱好(对应权重为2),满足60%的频率时6-8次为中等爱好(对应权重为3),满足80%的频率时8-10次为强爱好(对应权重为4),满足100%的频率时10次以上为超强爱好(对应权重为5);】
步骤2:构建发起兴趣匹配报文请求的发起者的个人属性偏好混淆矩阵以及获取恢复明文的密钥矩阵,同时,发起者将个人属性偏好混淆矩阵发送给愿意参加匹配的应答者;
所述个人属性偏好混淆矩阵MAl×n *是利用随机产生的两个素数α,β和两个随机矩阵MCl×n,MDl×n对发起兴趣匹配报文请求的发起者的个人属性偏好权重矩阵进行混淆操作获得:
其中,cij为MCl×n中的元素,rij为MDl×n中的元素,均为随机数,i∈[1,l],j∈[1,n];
所述密钥矩阵为l×1的矩阵 中每个元素为ki,ki=ki+(rijβ-cij);
步骤3:利用应答者的属性偏好权重矩阵与步骤2构建的发起者的混淆矩阵的转置矩阵相乘,将相乘后的矩阵D返回给发起者;
步骤4:发起者利用相乘后的矩阵D和步骤2获得的密钥矩阵进行求模操作,得到求模结果矩阵T,T=(tij)l*l,tij=(dij+ki)modq,其中,q为一个随机素数;
并将求模结果矩阵T按照公式进行转换得到转换矩阵T*,p为一个随机素数;
步骤5:将转换矩阵T*与位置权重恢复矩阵(Wij)l×l进行内积运算,获得发起者与应答者的相似度矩阵,并将相似度矩阵中的每个元素累加的结果作为两者的相似度值;
步骤6:应答者作为代理转发发起者的混淆矩阵MAl×n *以及发起者在当前一轮匹配过程中得到的最大相似度,按照最大相似度对应的发起者和应答者建立通信,进行移动社交网络活动。
在所述按照最大相似度对应的发起者和应答者建立通信,进行移动社交网络活动前,还包括以下两个步骤:
步骤7:利用应答者作为新的发起者,返回步骤2,得到新的发起者的混淆矩阵以及新的发起者在新的一轮匹配过程中得到的最大相似度;
步骤8:从步骤6和步骤7中两个最大相似度中选出最大的相似度,并按照选出的最大相似度对应的发起者和应答者建立通信,进行移动社交网络社交。
所使用的素数设置为1024位或者2048位,以防止攻击者通过穷举算法进行破解。
有益效果
本发明提供了一种新型的近邻移动社交网络交友隐私保护方法,发起者通过广播的方式将自己的个人配置文件矩阵MAl×n经过随机矩阵和素数混淆,并广播给所有的有意愿参与近邻移动社交网络邻近的潜在应答者,应答者利用自身的配置文件矩阵与发起者的个人属性偏好混淆矩阵进行计算,确保应答者仅仅了解他们双方之间的共同权重属性的信息;应答者将匹配结果发送给发起者,使得发起者除了知道发起者和应答者的相似程度之外,发起者和应答者不知道会话双方的任何属性信息,因此发起者和应答者双方的隐私都可以得到保护。同时利用应答者作为代理对发起者的个人配置文件进行转发,可以发起者在更大的区域内安全的找到更加精确的匹配用户。
具体实施方式
下面将结合附图和实施例对本发明做进一步的说明。
如图1和图2所述,一种新型的近邻移动社交网络交友隐私保护方法,包括以下几个步骤:
步骤1:构造用户的个人属性偏好权重矩阵MAl×n;
其中,aij为用户的属性偏好权重矩阵中的元素,取值为0或1,i∈[1,l],j∈[1,n];属性偏好权重矩阵中每行的元素代表用户的对属性的偏好程度,也称为属性权重,n为兴趣属性类别数量,每列中的元素代表用户的属性;
所述兴趣权重根据用户在设定时间内的参与兴趣活动的频率的百分比进行设定,将频率百分比区间[0,100%]等分成l份,每个区间从小到大依次对应的兴趣权重分别为1,2,3...,l;
【频率区间为[0,20%),兴趣权重设置为1;频率区间为[20%,40%),兴趣权重设置为2;频率区间为[40%,60%),兴趣权重设置为3;频率区间为[60%,80%),兴趣权重设置为4;频率区间为[80%,100%],兴趣权重设置为5。】
【假设这三个兴趣爱好分别为看电影,游泳,和购物(列向量表示),我们以看电影的频率次数举例,假设用户每个月看电影的次数有5个选项,每个选项对应用户看电影的频率,分别为20%(1-2次),40%(3-4次),60%(5-6次),80%(7-8),100%(8次以上),我们假定用户看电影的次数满足20%的频率时1-2次为弱爱好(对应权重为1),满足40%的频率时3-5次为基本爱好(对应权重为2),满足60%的频率时6-8次为中等爱好(对应权重为3),满足80%的频率时8-10次为强爱好(对应权重为4),满足100%的频率时10次以上为超强爱好(对应权重为5);】
在本实例中,假设Alice看电影的兴趣爱好程度为4,游泳的兴趣爱好程度为1,购物的兴趣爱好程度为5(行向量表示),则Alice的属性偏好权重矩阵表示为:
但是,直观的发现,通过这种方式构造的矩阵,元素的空置率太高,当矩阵属性和权重都较大的时候,在计算的时候,对资源的占用率较高。因此,为简化矩阵构造,本文拟定每一个行元素都可以表示权重,权重排序组合为从高到低排序,那么MAl×n可以表示为:
步骤2:构建发起兴趣匹配报文请求的发起者的个人属性偏好混淆矩阵以及获取恢复明文的密钥矩阵,同时,发起者将个人属性偏好混淆矩阵发送给愿意参加匹配的应答者;
所述个人属性偏好混淆矩阵MAl×n *是利用随机产生的两个素数α,β和两个随机矩阵MCl×n,MDl×n对发起兴趣匹配报文请求的发起者的个人属性偏好权重矩阵进行混淆操作获得:
其中,cij为MCl×n中的元素,rij为MDl×n中的元素,均为随机数,i∈[1,l],j∈[1,n];
所述密钥矩阵为l×1的矩阵 中每个元素为ki,ki=ki+(rijβ-cij);
两个素数α,β设置为1024或者2048位,以防止攻击者通过穷举算法进行破解。
步骤3:利用应答者的属性偏好权重矩阵与步骤2构建的发起者的混淆矩阵的转置矩阵相乘,将相乘后的矩阵D返回给发起者;
步骤4:发起者利用相乘后的矩阵D和步骤2获得的密钥矩阵进行求模操作,得到求模结果矩阵T,T=(tij)l*l,tij=(dij+ki)modq,其中,q为一个随机素数;
并将求模结果矩阵T按照公式进行转换得到转换矩阵T*,p为一个随机素数;
步骤5:将转换矩阵T*与位置权重恢复矩阵(Wij)l×l进行内积运算,获得发起者与应答者的相似度矩阵,并将相似度矩阵中的每个元素累加的结果作为两者的相似度值;
位置权重矩阵的关系描述:i,j分别是权重矩阵的下标。假设有三个属性偏好权重矩阵,其中每个矩阵有三个属性,分别是游泳,篮球,足球,每个属性有5个级别的爱好程度(权重),为了简单描述其过程,我们选择足球属性进行对比,假设Alice,Bob,Jenny的属性偏好矩阵为,其对足球爱好分别是3级,1级和3级,其对应的元素位置分别是a33,b13,c33。
直观来看和Alice对足球的兴趣爱好与Jenny更为接近(均为3级),如果两个矩阵相乘,那么因为矩阵的相乘要进行转置,最后会得到一个新的矩阵,但是这个新的矩阵并不能直接反映用户之间的关系,因此我们要引入权重矩阵来进行恢复原有矩阵的兴趣权重,从而利用
内积计算来计算两者之间的相似度。通过数学公式可以进行推导:
我们可以看到两个矩阵相乘生成新的矩阵后,原来矩阵的权重关系转换为新矩阵元素c31的行列关系。其中i=3,j=1;
其中i=3,j=3,通过比较发现,当i=j时,用户之间的相似度越接近,因此我们可以将权重的值设置较大的范围,同理我们可以推导i≠j的情况,于是我们可以构造权重恢复矩阵
步骤6:应答者作为代理转发发起者的混淆矩阵MAl×n *以及发起者在当前一轮匹配过程中得到的最大相似度,按照最大相似度对应的发起者和应答者建立通信,进行移动社交网络活动;
步骤7:利用应答者作为新的发起者,返回步骤2,得到新的发起者的混淆矩阵以及新的发起者在新的一轮匹配过程中得到的最大相似度;
步骤8:从步骤6和步骤7中两个最大相似度中选出最大的相似度,并按照选出的最大相似度对应的发起者和应答者建立通信,进行移动社交网络社交。
对本发明所述方法进行复杂度分析,分别利用离线、在线计算开销和通信开销是用来衡量本发明所述方法的复杂度。在计算开销上主要考虑乘法运算和加法运算的次数,因为这些操作都需要消耗移动设备的计算资源。同时本文利用发送和接收比特的数量来评估通信开销。
FSU为本发明所述方法,即寻找最合适的兴趣伙伴方法;WAS为现有技术中的权重方法,Fine-grained为现有技术中的细粒度方法;
在计算过程中用exp1代表1024位的求幂操作,exp2代表2048位的求幂操作,add表示模加运算,mul1,mul2分别表示1024和2048位的乘法运算。假设每个用户的属性个数和兴趣爱好权重分别是n和l,进行计算,计算结果如表1所示。
从与其他方法的对比分析可以看出,虽然本方法增加了一倍的搜索范围,但是计算任务由于分布到代理进行计算,因此计算开销没有增加,尤其是在线计算成本,对智能手机的资源消耗和CPU的计算效率有直接的影响。因为搜索范围扩大一倍,通信开销增加一倍,依然是线性增长。
表1:不同协议的算法复杂度比较表
在本实例中假设移动社交网络中发起者和应答者都有一个智能手机或者平板电脑,在测试环境中利用小米手机NOTE版,硬件配置为CPU骁龙TM 8X74AC 801处理器主频2.5GHz,使用LPDDR3 933MHz 3G高速内存,支持蓝牙4.0和WiFi双频,编程环境使用ECLIPSE,同时利用JAVA作为编程语言进行代码开发。
通过基准测试结果表明,一个1024位乘法运算需要8×10-5毫秒,一个1024位的指数运算需要40毫秒,一个2048位乘法和一个2048位的指数运算,分别需要2.4×10-4毫秒和0.25秒。同时因为加法运算计算消耗很低,所以忽略它的计算开销,仿真结果如图3-图6所示。
图3,4,5,6分别显示了不同个数的属性值n在离线/在线计算下对计算开销和通行开销的的影响评价结果。在第一轮测试过程中拟定n是从20到200,权重属性l设置为一个固定的数5。
图3比较了各种协议离线时的计算开销,横坐标是用户属性个数,纵坐标为离线计算开销时间,单位为毫秒,因为本发明所述方法只需要一些模块化的加法和乘法运算l·n·mul1+2l·n·add,所以在离线计算开销非常具有优势。
图4显示所有不同的协议的在线计算开销,横坐标是用户属性个数,纵坐标是在线计算开销时间,单位为毫秒,在线计算成本占移动社交网络交互双方整个执行时间的很大比例,在线计算开销越低,计算效率越高,运行时间也越快,从该图中的对比分析,可以看到本方案提出的协议2l·l·mul1+3l·l·n·add计算开销最小,比WAS协议和细粒度协议更具有执行效率优势。
图5比较了不同协议的通信开销,横坐标是用户属性个数,纵坐标是通信开销,单位为比特,从这个图表可以看出,FSU协议即使扩大一倍的通信范围,但是通信开销为(l·2)·1024,没有明显的级数增长,依然比细粒度协议具有优势。
图6显示了不同方法的总的执行时间,横坐标是用户属性个数,纵坐标为执行时间,单位为毫秒,这个执行时间为离线的计算开销和在线计算开销的总和,从这个实验可以看出,本发明提出的方法计算总时间最小,同时在部分的实验中,用户配置文件的属性值n的个数从20到200递增设置从而模仿在实际环境的可用性。
为了衡量在引用本发明所述方法中应答者(代理用户)在交友匹配过程中提供的帮助,分析在时间t内有多少应答者可以参与交友匹配计算,以及能够为匹配计算能够提供多少计算资源。本实例中利用机会计算来模拟应答者参与交友匹配的真实应用场景。
假设在一段时间t内出现在发起者的周围的应答者人数服从泊松分布{N(t),t≥0},参数为λ。对于一个给定阈值th,Nq(t)=n和分别表示[0,t]时间段内合格的参与者人数(Number of Qualified Help,NQHS)和不合格参与者的人数。τ∈[0,t]时间到达的任意用户有意愿与发起者交友匹配的概率是是P(τ)。
在[0,t]内参与交友匹配的预期人数为E(Nq(t))=λtp,其中
在[0,t]内,给定到达急救地点的总人数为
假设所有用户到达现场的时间τ∈[0,t]都是均匀分布的,因此在总人数为n+m的条件下,一个用户在[0,t]内到达现场并且是合格参与者的概率因为所有用户到达都是独立的,因此可以得到:
可以看出Nq(t)和是分布率分别为λtp和λt(1-p)的相互独立的泊松分布,因此在时间[0,t]内到达现场的应答者人数预期为E(Nq(t))=λtp。
在[0,t]时间内机会计算预期提供的资源是
假设第k个用户在τk∈[0,t]时出现在发起者的周围,其中1≤k≤Nq(t),那么所有到场用户提供的总资源为:
由E(Nq(t))=λtp,因此我们可以得到的预期资源E{R(t)}为
可以看出当λ和p较大时,随着时间的增加,E(Nq(t))和E{R(t)}的递增速度会非常快。因此,在人多的位置,可以通过设定阈值来控制参与计算的应答者的概率p,从而减少E(Nq(t))。而在人少的位置可以将阈值设置得低一些来增加参与计算应答者的概率,机会计算模型仿真见图7。
参考文献:
[1]B.Niu,X.Zhu,J.Liu,Z.Li,and H.Li,“Weight-aware private matchingscheme for proximity-based mobile social networks,”in IEEE GLOBECOM 2013..
[2]R.Zhang,Y.Zhang,J.Sun,and G.Yan,“Fine-grained private matching forproximity-based mobile social networking,”in IEEE INFOCOM 2012.