移动社交网络中基于单项散列函数和伪身份匿名双向认证方法

文档序号:10515520阅读:269来源:国知局
移动社交网络中基于单项散列函数和伪身份匿名双向认证方法
【专利摘要】本文公开了一种移动社交网络中基于单项散列函数和伪身份匿名双向认证方法,利用单向哈希函数的函数特性,将用户的自身特征属性进行哈希,利用公钥对哈希结果以及用户的标识进行加密并发送给TTP。TTP通过对用户的权限进行认证后,对不同用户的哈希结果进行比较,从而得到用户之间属性的相似度;在这个过程中,TTP将向匹配用户发送各自的标识帮助用户之间建立相同的共享密钥,然后TTP利用用户之间协商的密钥对匹配的属性集合进行加密并发送给参与交友的用户。利用身份验证和密钥协商双重验证机制来实现用户访问权限控制,利用可信第三方强大的计算和存储能力减轻了智能用户终端计算和存储负担。
【专利说明】
移动社交网络中基于单项散列函数和伪身份匿名双向认证 方法
技术领域
[0001] 本发明设及计算机科学与技术领域,特别设及一种移动社交网络中基于单项散列 函数和伪身份匿名双向认证方法。
【背景技术】
[0002] 随着智能移动终端设备(智能手机,平板电脑等)的发展,移动社交网络软件在智 能手机和平板电脑的得到了迅速的应用,例如微信,美团,智圈等。在移动社交网络中,用户 通过分享自己的个人配置文件与其他用户进行特征匹配,从而找到兴趣爱好与自己相同或 者相近的潜在的朋友已经是移动社交软件中的一个重要应用。个人兴趣爱好属性配置文件 可W由安装在用户智能终端上的交友APP软件进行自动生成(例如:根据用户浏览网站的兴 趣点进行生成)或者用户手动输入,信息可W包括用户当前的位置,曾经去过的旅游景点, 购物爱好等。
[0003] 但是,在交友的过程中运些软件在给用户们带来极大生活便利的同时,也增加了 个人的隐私泄漏风险。因为个人属性配置文件通常包含个人的隐私信息,例如:个人的家庭 住址,年龄,性别,兴趣爱好,信用卡记录等敏感信息,而运些信息的泄漏将会直接造成位置 隐私泄露,数据隐私泄露,身份隐私泄露。
[0004] 当前,针对移动社交网络交友匹配过程的个人隐私保护问题的研究,通常有两种 解决方案,一是不依赖可信服务器的方案,二是依赖可信第Ξ方服务器(Trusted化ird hdy,TTP)的方案。从目前移动社交网络的发展情况来看,不依赖可信服务器的解决方案, 用户之间不需要将自身的隐私信息发送给TTP,而是直接通过蓝牙和WIFI进行技术匹配,但 是在运个过程中,用户之间需要采用复杂的加密和解密过程来保证隐私不被泄漏,虽然运 种方案降低了 TTP的共谋风险,但是计算终端需要承载繁重的计算任务,因此造成了计算终 端大量的计算开销,将直接影响用户在移动社交交友过程中的用户体验;同时因为缺乏对 智能终端统一监管,因此更容易造成个人的隐私泄漏。例如,智能终端在维修或者遗失时被 非法持有者利用。而在依赖TTP参与的方案中,依靠 TTP强大的计算能力,当用户提交他们的 属性配置文件给ΤΤΡ,ΤΤΡ作为匹配中屯、能够快速计算用户之间的相似度,并回复每个用户 的最佳匹配者;同时ΤΤΡ拥有较强的抵御恶意用户攻击的能力,能够很大程度上抵御恶意攻 击者的攻击而造成用户的个人隐私泄漏。但是,在运一类研究方案中,ΤΤΡ需要知道所有用 户详细的兴趣进行匹配的过程,假如ΤΤΡ和攻击者之间共谋,将会直接造成用户的个人隐私 泄漏,而运种情况是相当危险的,因此,如何在有效利用ΤΤΡ强大的计算和抵御恶意攻击者 的能力的同时,又能让的ΤΤΡ最小化的了解用户的隐私信息是亟需要解决的问题。

【发明内容】

[0005] 本发明针对现有的移动社交过程中存在的加解密运算计算量大和信息容易泄露 的问题,提出了一种新型的单项散列函数和伪身份匿名双向认证来代替传统的解决方案, 从而来保证移动社交网络中交友和互动过程中的安全。
[0006] -种移动社交网络中基于单项散列函数和伪身份匿名双向认证方法,包括W下几 个步骤:
[0007] 1)用户注册及权限认证;
[0008] 当用户发起社交交友匹配活动时,可信服务中屯、TTP对用户进行初始化设置进行 用户注册,构建用户的唯一身份和TTP系统参数W及公钥、私钥对;
[0009] 对用户自身特征属性进行哈希运算,利用TTP公钥、私钥对对用户自身特征属性的 哈希值和用户的标识进行加密;
[0010] TTP依据加密结果对用户的权限进行认证;
[0011] 2)寻找兴趣相同用户;
[0012] TTP比较完成权限认证通过后的每个用户的自身特征属性的哈希值,获得用户之 间的兴趣爱好匹配集合;
[0013] 3)用户共享密钥;
[0014] 通过用户共享密钥对存储在TTP中的用户间的兴趣爱好匹配集合进行解密,使得 用户获得相似兴趣爱好的匹配用户。
[0015] 所述TTP系统参数为化rams,是TTP随机选择安全参数目,基于密码学中的生成元和 双线性映射通过运行内部的函数生成器gen(0)生成q阶循环群G的双线性参数(q,g,G,e), 具体参数形式如下:
[001 W Pum"" = (q,!)' 9。' e, dg.机'、'、仇!' X 6 Z'。'e G}
[0017] 其中,G表示循环群,q表示循环群G的阶数,q的取值为随机素数,e表示一个双线性 映射,e(g,g)x表示一个双线性映射集合,hi和h2表示循环群的子集,a和X表示整数集合中的 随机数;
[0018] 用户的唯一身份采用如下表达式UI化:
[0019] 饥巧梦"气,沪S.穿\ 八?; €毎身,馬,馬径,式.,....,削}
[0020] 其中,山表示和Ui表示整数集合中的随机数,i表示用户数量,取值范围为l-m,m表 示用户数量总数。
[0021] 所述对对用户的权限进行认证是指首先计算用户的私密参数,然后利用私密参数 计算获得用户的权限计算值,并比较权限计算值和权限设定值是否相同,若相同,则表示当 前用户属于合法用户,否则表示非法用户,从而完成对用户的权限认证,其中权限设定值为 e(g,g)xy;
[0022] 所述用户的私密参数为S〇,S,=换曲=碱,分=仍.。,巧,巧=於C, = ?*'节.。=的*
[0023] 其中,Auth表示用户的权限设定值,y为一个任意的随机整数;
[0024] 用户的权限计算值Autl·/的计算公式如下:
[0025]
[00%] 所述共享密钥是指在两个用户Alice和Bob之间,TTP分别向Alice和Bob发送自身 标识拉却=U'i"怔od州和KeyB = (gtb (mod P));
[0027]用户自身标识是指从整数集合中随机选取一个数,并利用q对所选的随机整数做 取模运算得到的结果;
[002引 Alice计算共享密钥过程为:KEYshareAlice=化eyB)ram0d q=(grbmod p)ram0d p = (gTb)tamod p
[0029] Bob计算共享密钥过程为:KEYshareBob=化eyA)rbmod q=(gramod p)rbmod p=(gTa )^Vod p
[0030] 双方的共享密钥为:KEYshare = KEYshareAlice = KEYshareB。b=(ga)bmodp=(gb)amodp。
[0031] 利用共享密钥解密就能够获得与自己最匹配的用户,验证完整性进一步提升匹配 的准确性;
[0032] 当Alice和Bob分别接收到TTP发送的加密的各自的兴趣爱好匹配集合消息 MessageT2A,MessageT2B后,利用享密钥KEYshare进行解密消息,并分别判断解密的消息{H (niai ) . . .H(nia(i + s))},巧(mbj) . . .H(mb(j + s))}是否属于巧(nial , ) , Η (nia2 ) , . . . , Η (man , ) } , { Η (邮1,),H(mb2),. . .,H(邮η,)}的子集,从而完成其数据完整性的验证;
[003;3]其中,{mal,ma2,ma3, . . .man,}表示用户自身属性,man,表示用户在第η种兴趣爱好的 属性向量,H(m)表示属性的哈希值,S表示年用户之间相同的兴趣爱好的属性向量的数量。
[0034] 在用户Alice寻找到相似兴趣爱好的匹配用户Bob后进行相互通话前,按照W下步 骤进行双向身份认证:
[0035] 步骤A:Alice利用自身的随机数。与可信服务器TTP发送过来Bob的用户标识KeyB 进行运算生成化eyB)ta,同时与自己的唯一身份UIDAliee进行异或运算生成一个匿名身份 UID' Alice: W巧心=(Α-邸r留[//0,心;步骤B: A1 ice将自己同Bob相匹配的属性mai. . . ma(i+s)与 UIDAlice利用哈希函数进行运算得到属性哈希特征值:H(mai I I IDAlice) . . .H(ma(i+s) MUIDAlice)
[0036] 步骤。将1110'4心日、則11131||1]1〇4心日)..诚1113(山)||1]1〇4心日)与411〇6的共享密钥 KEYshare加密成消息MessageA2B发送给Bob;
[0037] 步骤D:Bob接收到MessageA2B消息后,首先利用其自身的共享密钥KEYshare进行解密 并还原Alice的身份UIDaiiw,同时利用运个身份与自身的属性进行哈希并与H(mai| UIDAlice) . . .H(ma(i+s) MUIDAlice)进行比对,如果比对不相等,则说明消息被篡改,Bob迅速识 别出Alice行为异常,将停止下一步工作。否则,Alice用同样的方式验证Bob的真实身份 UIDBob,若验证成功,则进行通话。
[0038] 共享密钥后,TTP发送加密的消息给Alice:
[0039]
[0040] 各变量参数说明如下:
[0041]
[0042] 私密参数S。由多个参数构成,较W往的方法更具有安全性和较低的计算开销。具 体来说,本方案选取计算参数Cu = {Cl,C2,C3},其中= g". =巧,在计算过程中 便于进行双线性计算,具有较高的计算效率。同时在设计验证权限的计算方法上,各参数相 互分离,互不影响,只有利用双线性计算的性质才能够进行约简,因此具有较高的安全性。
[0043] 表1各方案的对权限验证的计算比较
[0044]
[0045] 有益效果
[0046] 本发明提供了一种移动社交网络中基于单项散列函数和伪身份匿名双向认证方 法,利用单向哈希函数的函数特性,相同的特征属性经过哈希之后会得到相同哈希值,分别 将用户的自身特征属性进行哈希。同时利用可信第Ξ方(TTP)的公钥对哈希结果W及用户 的标识化ey)进行加密并发送给ΤΤΡ,ΤΤΡ在通过对用户的权限(Auth)进行认证后,对不同用 户的哈希结果进行比较,从而得到用户之间的相似度。在得到用户的相似度之后,TTP将向 匹配用户发送各自的标识帮助用户之间建立相同的共享密钥,然后TTP利用用户之间协商 的共享密钥对匹配的属性集合进行加密并发送给参与交友的用户。用户在收到TTP的加密 属性匹配集合后,会利用共享密钥对集合进行解密并比对该集合的是否为自身全部属性的 子集从而完成对子集的验证。
[0047] 用户双方启动会话工作前,为了防止窃听攻击和身份对应,交友发起用户会利用 对方的身份表示与自身的身份ID进行异或运算生成生成一个匿名身份。同时将自身与 对方匹配的属性进行合并哈希处理并用共享密钥加密发送给对方,交友应答用户在收到加 密消息之后,会利用共享密钥解密消息,得到对方的匿名身份和与匿名身份与属性 合并计算的哈希值。应答用户会利用前一阶段得到发起者用户的身份标识进行运算并获得 发起者用户身份的真实ID,同时将发起者的真实ID,与ΤΤΡ发送给自身的匹配属性子集进行 哈希运算,当运算结果与解密发起者发送过来的哈希值一致时,则成功完成身份认证的工 作,同样,应答者利用同样的方法可W对发起者身份进行核实,通过该方法能够有效避免恶 意攻击者身份伪造攻击、重放攻击、膨胀攻击W及完成对消息的不可抵赖认证。
[0048] 1)提出了利用身份验证和密钥协商双重验证机制来实现用户访问权限控制,利用 可信第Ξ方强大的计算和存储能力减轻了智能用户终端计算和存储负担。
[0049] 2)提出了利用哈希单向散列函数保证了攻击者和可信第Ξ方无法获知用户属性 配置文件的真实内容,使得在最差的极端情况下,即使用户数据被ΤΤΡ与攻击者共谋,攻击 者也无法获知用户数据的真实信息,保证了用户数据的隐私安全。
[0050] 3)提出了利用密码学中的对称、非对称加密和共享密钥的方法保证攻击者无法解 密消息,从而获知用户属性配置文件的内容,提高了用户数据的隐私保护。
【附图说明】
[0051 ]图1为本发明所述方法的应用场景图;
[0052] 图2为本发明所述方法流程示意图;
[0053] 图3为本发明在密钥长度变化和属性个数变化时,执行时间图,其中,(a)为用户端 参与人数变化,密钥长度变化本方案的执行时间,(b)为用户端属性变化,密钥长度变化本 方案的执行时间;
[0054] 图4为本发明在密钥长度变化和属性个数变化时,执行时间图,其中,(a)为服务器 端参与人数变化,密钥长度变化本方案的执行时间,(b)为服务器端属性变化,密钥长度变 化本方案的执行时间;
[0055] 图5为本发明通信开销仿真示意图,其中,(a)为参与人数变化本方案的通信开销 (b)为服务器端属性权重变化,本方案的通信开销。
【具体实施方式】
[0056] 下面将结合附图和实施例对本发明做进一步的说明。
[0057] W下典型的移动社交网络场景:每个用户携带智能移动终端,彼此之间可W通过 WIFI或者4G互相通信,当他们希望参加移动社交网络交友等社交活动时,他们将分别启动 安装在其智能终端的同一款移动应用APP并向提供该服务的可信服务器TTP发起注册请求。 由于运些的信息的私密性,用户希望在得到用户之间共同兴趣爱好(属性交集)计算结果的 同时保证其他不相关的隐私信息不被泄露。移动社交网络属性匹配模型图如图1所示。
[005引本发明所述方法的具体过程如图2所示,具体实例步骤如下:
[0化9] 步骤1:用户系统参数化rams和身份UI化生成;
[0060] TTP首先将选择一个安全参数Θ,通过运行内部的函数生成器gen (Θ)生成q阶循环 群的双线性参数伯居保,保f,e)和系统参数化rams,同时产生用户的编号UI化和TTP公钥私钥对 (SKttp,ΡΚττρ),并将化IDi,ΡΚττρ)分配给用户使用。
[0061] Pm'(!ms = (q, ,e(g'g)\ 窃,炉'<£ 玄I. g'h、'h:<sG\ .(.1),
[0062] 防巧'=(各…g"i.各巧呜马口)
[0063] 步骤2:用户匹配消息Μ和用户身份标识构造;
[0064] 假设Alice,Bob,CindyS人为移动社交网络中有意愿参与交友活动的用户,分别 拥有η个不同的兴趣爱好,例如,虹表示电影,m2表示音乐。那么对应的兴趣爱好属性向量可 表示为:
[00化] lAlice= (nial ,ma2 ,ma3 , . . .man, },lBob= (mbl ,mb2 ,mb3, . . .mbn,},Mcindy= (nicl ,mc2, nic3 j . . . nicn j }
[0066] l)Alice,Bob,Cindy首先在整数集合/上选择Ξ个随机数。,。,。分别计算 ,^m〇d(y),3'.阳〇山/)作为自身的唯一真实标识。ra,;rb,:rc由用户Alice,Bob,Cindy各 自保密。
[0067] 2)Alice利用单向哈希函数对自身的属性进行哈希,然后再用TTP服务器的公钥 P时TP对哈希值进行加密生成P时TP化(mai,),H(ma2),. . .,H(man,)),同时将代表自身唯一身份 标识的随机数脚。dp),通过公钥ΡΚττρ加密生成信息MessageAiice并发送给TTP。
[006引本方案中用USER一TTP:<M>表示用户向TTP发送消息M,用Si即化巧,M)表示用TTP 公钥ΡΚττρ对消息Μ进行加那么用户Alice发送给TTP的消息可W表示为:
[0073] 步骤3: TTP对用户进行权限认证:
[0074] 当TTP收到Alice的信息后,首先会计算收到消息的时间t2减去发送的时间ti是否 小于Δ t来对抗重放攻击,如果通过,将会对Alice的身份进行认证,如果Auth辛Auth/,则 Alice为非法用户,TTP将丢弃该消息;如果Auth = Auth/,则Alice为合法用户,可信服务器 TTP完成对Alice的用户权限验证工作。验证具体过程如下:
[0075] 1)41;[06身份4111:11计算过程:
[0076] A1 i ce首先选择任意随机数yc丐..,利用公布的系统参数化rams计算So:
[0081 ] 3)若Auth^等于Auth成立,表示权限验证通过,则TTP将利用自己的私钥SKttp对消 息进行解密得到:
[0082] SKTTP(PKTTP(H(mai),. . .H(man)) = (H(mai),. . .H(man))
[0083] 同时,ΤΤ巧尋用私钥SKttp解密邦巧於(mod础得到;
[0084] &.i'/! =【g''ta〇dW) (7)
[00化]同理可完成对Bob, Cindy其他参与者的验证工作,并得到:
[0086] KeyB= (grb(mod P)),KeyC= (grc(mod P)) (8)
[0087] 步骤4:相似用户发现阶段:
[0088] 完成步骤3阶段的工作后,Alice, Bob, CindyS人均在可信服务器TTP内完成了注 册工作并提交了个人兴趣爱好属性矩阵的哈希值。因此,在TTP中,可W完成Alice,Bob, Cindy的共同兴趣爱好属性的发现工作,ΤΤΡ只需要比较每一个属性的哈希值就可W得到相 同属性匹配的个数,即:
[0089] TTP分别比较化(mai,),H(ma2),. . .,H(man,)与化(mbi,),H(mb2),. . .,H(mbn,),化 (111。1,),化111。2),...,^111。。)之间交集大小,即:相同特征的个数。假设411〇6,8〇6获得交集的 个数为Xi,Alice,Cindy获得交集的个数为X2,那么Alice与所用用户的交集可W表示为X = 陆龙,...X3},如果MAX(X)=Xi,则说明Bob是Alice最佳匹配者。根据实际的应用需求, Alice可W要求TTP提供匹配值大小按照升序或者降序排列的用户给Alice进行选择。
[0090] 步骤5:用户共享密钥协商阶段:
[0091] 在步骤4阶段,仅仅只有TTP知道Bob是Alice的最佳匹配者,而用户之间并不知道 谁是自己最匹配的用户。因此TTP需要帮助用户建立会话过程,TTP分别向Alice和Bob发送 防的= (g''(m〇d州,KeyB=(grb(mod p))W帮助用户之间进行密钥协商。
[0092] TTP 一 U 沈RAiice:<MessageT2A〉={KeyB=(grb(modp))} (9)
[0093] TTP一US 邸B〇b:<MessageT2B〉= {KeyA=(gra(modp))} (10)
[0094] Alice计算共享密钥过程为:
[0095] KEYshareAlice二化巧B)ram〇d q=(grbm〇d p)ram〇d p=(grb)r3m〇d P (11)
[0096] Bob计算共享密钥过程为:
[0097] KEYshareBob=化eyA)rbm〇d q=(gram〇d p)rbm〇d p=(gra)rbm〇d p (12)
[009引则双方的共享密钥为:KEYshare = KEYshareAlice = KEYshareBob = ( g3 ) Vod p = ( gb ) 3m0d P。
[0099] 假设Alice与Bob的交集属性集合为:Mi=化(mai). . .H(ma(i+s))},Bob与Alice的交 集属性集合为M2=化(mbj).. .H(mb(j+s))}。那么TTP分别向Alice和Bob转发的经过共享密钥 KEYshare加密的属性匹配集合。
[0100] T巧如',心'B'、n、呪邸化,口,>=阵―正r況…(打好帕…+,,)i (13)
[0101] jtp>呪£民8,4 :<施綱拼。S >= !邸石""(好师,)…肛(听…,,)i (:14)
[0102] 当Alice和Bob分别接收到消息MessageT2A,MessageT2B后,会利用其协商的共享密 钥KEYshare进行解密消息,并分别比对解密的消息化(mai) . . .H(ma(i + s))},{H(mbj) . . .H (mb(j+s))}是否属于化(mai,),H(ma2),. . .,H(man,)},化(皿1,),H(mb2),. . .,H(mbn,)}的子集, 从而完成其数据完整性的验证。如果Alice需要与多个用户进行会话,执行过程类似。在运 个过程中,只有用户Alice,Bob自身知道自身保密的随机数ra,rb,因此恶意用户无法计算 出用户之间的共享密钥来完成后续的解密过程,提高了交友过程的安全性。
[0103] 步骤6:用户共享密钥协商阶段:
[0104] 完成步骤5:的工作后,Alice和Bob启动用户会话准备的工作,为了防止攻击者进 行窃听攻击,本专利设计用户之间需要进行双向身份认证。
[0105] 首先,Alice利用自身的随机数。与可信服务器TTP发送过来Bob的认证标签KeyB 进行运算生成化eyB)ta,同时与自己的身份UIDAliee进行异或运算生成一个匿名身份υ?〇/ Alice。
[0106]
[0107] 其次,Alice将自己同Bob相匹配的属性mai. . .ma(i+s)与UIDAiice利用哈希函数进行 运算得到:
[010 引 H(maillUIDAlice). . .H(ma(i+s)| lUIDAlice) (16)
[0109] 最后,将(15)(16)与Alice的共享密钥加密成消息Me s sageA2B发送给Bob。
[0110]
[0111] Bob接收到MeSSageA2B消息后,首先利用其自身的共享密钥KEYshare进行解密并还原 Alice真实身份UIDAiice,如果不能还原出UIDAiice,则说明消息被篡改,Bob可迅速识别。 UIDAlke推导过程如下:
[0112]
[0113] 根据前文化巧A)Tb=化eyA)Tb,那么经过两次异或运算后,公式(16)应该为:
[0114]
[0115] 当 Bob 得至IjAlice 真实 UIDAiice 时候,利用 UIDAiice 与自己的属性 H(mbjllUIDAiice). . .H (邮(叶)| lUIDAlice)进行运算并与接收到的 H(maillUIDAlice). . .H(ma(i+s)| lUIDAlice)进行比较, 如果哈希值相等,贝化ob对Alice完成身份验证的工作,同样Alice可验证Bob的真实身份 UI化。b,实现双向身份验证,如果验证成功,Alice和Bob彼此将对方加入到好友名单中,运 时,双方就可W进行好友会话了,从而进行更丰富的移动社交网络的交流和分享。
[0116] 目前针对移动社交网络隐私保护的研究方法主要有WAS,Fine-grained,S-Match, ΜΗΡ等方法,每一种方案根据其自身采用的加密方式,算法的计算开销和通信开销与本发 明所述方法的比较见表2、3。
[0117] 在计算开销上,本发明主要考虑协议操作中乘法运算和加法运算的次数,本发明 将用e邱1代表1024位的求幕操作,exp2代表2048位的求幕操作,add表示模加运算,mull, mul2分别表示不同密钥长度的乘法运算。
[0118] 在通信开销上,本文通过发送和接收比特的数量来评估通信开销。假设每个用户 的属性个数和兴趣爱好权重分别是m和n,k代表密钥长度,接收和发送数量用bit来进行计 算。
[0119] 表2移动社交网络典型隐私保护方法计算开销比较
[0120]
[0123] 通过比较发现,由于本发明采用复杂度较低的哈希运算与模运算,所W在计算开 销和通信开销上相比其他的协议具有较大的优势。另外,由于本发明用户之间的信息交互 均采用对称加密算法,因此用户端只需要负责最终匹配成功后的双方会话的加解密计算。 相对复杂的RSA非对称解密和用户属性的匹配任务均由可信第Ξ方服务器执行。
[0124] 在本实例中,将基于斯坦福大学PBC大数库化ttps : //ciTpto . Stanford . edu/ pbc/)选择大数进行加密和解密运算,硬件配置为CPU黯龙?8X74AC 801处理器主频2.5G化, LPDDR3 933MHz 3G高速内存,支持蓝牙4.0和WiFi双频信号,编程环境使用Eclipse开发平 台,利用化va程序设计语言进行代码开发,数据仿真使用化iginPro2016。在用户端本文分 别使用密钥长度为128,256,512,1024,2048位的对称加密算法进行加密和解密运算,在TTP 可信第Ξ方本文分别使用密钥长度为512,1024,2048位的非对称加密算法(RSA规定非对称 加密密钥长度至少为512位的素数)进行加密和解密运算,仿真不同密钥长度情况下,用户 端和服务器端的计算时间。
[0125] 1)假设一个运样的场景,用户Alice所在的小区周围初始有1000个移动用户参与 移动社交网络的交友软件的注册,当Alice离开家去公园、大型商场、机场等地,那么周围的 用户数量会线性增加,考虑到一个公园、大型商场、机场等地同时在线的用户进行移动社交 的用户数目不超过10000人,因此本文假设用户的数量分别从1000人-8000人进行递增。随 着用户的增加,如果Alice希望与更多的用户进行交友匹配,那么也更加需要考虑到匹配过 程中隐私安全,所WAlice依次选择长度分别为128位向2048位递增加密密钥。如果在一个 人口非常稠密的区域,Alice选择一个足够大的密钥(例如:2048位的密钥长度)对消息进行 加密和解密时,本文协议仍然能够在较短的时间里进行处理,那么显然本协议是成功的。本 文根据运一场景进行了仿真实验,实验结果分别见表4和图3(a)(b)所示。表5和图3(a)说明 随人数递增,密钥长度递增时,用户Alice与所有用户的密钥协商和加解密时间,由表4可 见,在一个8000人稠密的人口区域,本协议选择2048位的密钥进行加密,密钥协商的时间为 1089毫秒,显然地,运个时间是非常短的。
[0126] 表4用户端人数递增密钥协商时间
[0127]
[0128] 同时,在实际的移动社交网络中,因为用户的兴趣爱好一般不超过20项,因此为验 证协议的有效性,本文分别假设用户的属性依次进行递增,并统计算法执行时间,表5和图3 (b)说明随用户的属性递增,密钥长度递增时,用户Alice与所有用户的密钥协商和加解密 运算时间,经过对比分析,人数的变化对密钥协商时间的影响比属性变化对密钥协商的时 间更大,运也符合真实的移动社交网络的用户属性匹配交友的真实场景。
[0129] 表5用户端属性递增密钥协商时间
[0130]
[0132] 2)表6和图4(a)说明随人数递增,密钥长度递增时,可信第Ξ方服务器与所有用户 解密消息的运算时间对比,表7和图4(b)说明随用户的属性递增,密钥长度递增时,可信第 Ξ方服务器与所有用户解密消息的运算时间对比,经过对比分析,用户为了更安全的在通 信信道传递经过RSA加密算法加密的消息,并上传到可信第Ξ方服务器进行解密运算时,时 间大大的增加,当使用2048位的密钥进行加密和解密运算时,在总人数为8000人稠密的人 口区域,总共需要44838ms才能执行完整个过程,很显然,在用户端如果利用RSA加密算法, 将会直接地影响到用户的用户体验,而将复杂的RSA加密过程分布到服务器处理,不仅仅减 少了用户之间的属性匹配时间,而且也增加了用户隐私安全。同样本文也就属性的变化对 RSA加密时间的影响进行了实验,显然地,属性变化对RSA加密算法运算的时间比人数的变 化对RSA加密算法运算的时间小,因此在实际应用时,用户可W根据实际的应用需求选择加 密密钥的长度和属性的数目进行匹配,从而在达到用户属性最优匹配的同时做到更强的隐 私保护。
[0133] 表6可信第Ξ方服务器人数递增非对称加密解密时间
[0134]
[0137] 3)图5(a)(b)说明属性数目和用户的兴趣爱好的级数变化对通信开销的影响,从 表4中的对比分析可W发现,因为本发明所述方法提出的协议密钥的长度是可变化的,用户 的属性有向量表示,节约了空间,同时终端只需要一个TTP明确的匹配的结果,中间过程不 需要与TTP进行频繁的交互,因此在通信开销上与其他协议比较有较大的优势。
[0138] 最后,对本发明所述方法的适应性与其他的移动社交网络典型隐私保护方法进行 了比较,比较结果见表8。
[0139] 表8移动社交网络典型隐私保护方法适应性比较
[0140]
[0141] 参考文献:
[0142] [1]Lin S,Zhang 民,Ma H,et al.民evisiting Attribute-Based Encryption With Verifiable Outsourced Decryption[J]. IEEE Transactions on Information Forensics&Security,2015,10(10):2119-2130.
[0143] [2]Han J,Susilo W,Mu Y,et al.Improving Privacy and Security in Decentralized Ciphertext-Policy Attribute-Based Encryption[J]. Information Forensics&Security IEEE Transactions on,2015,10(3):665-678.
[0144] 本文虽然已经给出了本发明的一些实施例,但是本领域的技术人员应当理解,在 不脱离本发明精神的情况下,可W对本文的实施例进行改变。上述实施例只是示例性的,不 应^本文的实施例作为本发明权利范围的限定。
【主权项】
1. 一种移动社交网络中基于单项散列函数和伪身份匿名双向认证方法,其特征在于, 包括以下几个步骤: 1) 用户注册及权限认证; 当用户发起社交交友匹配活动时,可信服务中心TTP对用户进行初始化设置进行用户 注册,构建用户的唯一身份和TTP系统参数以及公钥、私钥对; 对用户自身特征属性进行哈希运算,利用TTP公钥、私钥对对用户自身特征属性的哈希 值和用户的标识进行加密; TTP依据加密结果对用户的权限进行认证; 2) 寻找兴趣相同用户; TTP比较完成权限认证通过后的每个用户的自身特征属性的哈希值,获得用户之间的 兴趣爱好匹配集合; 3) 用户共享密钥; 通过用户共享密钥对存储在TTP中的用户间的兴趣爱好匹配集合进行解密,使得用户 获得相似兴趣爱好的匹配用户。2. 根据权利要求1所述的方法,其特征在于,所述TTP系统参数为Params,是TTP随机选 择安全参数Θ,基于密码学中的生成元和双线性映射通过运行内部的函数生成器gen(0)生 成q阶循环群G的双线性参数(q,g,G,e),具体参数形式如下: Parmm x e e (?} 其中,G表示循环群,q表示循环群G的阶数,q的取值为随机素数,e表示一个双线性映 射,e(g,g)x表示一个双线性映射集合,h#Ph2表示循环群的子集,a和X表示整数集合中的随 机数; 用户的唯一身份采用如下表达式UID1: IIID_ = (?/"-'1 , // , gJ, // /,; ){α, e Z'r g, /;r h, s G, z e 1, 2, 3..... 其中,Ui表示和Vi表示整数集合中的随机数,i表示用户数量,取值范围为1-m,m表示用 户数量总数。3. 根据权利要求2所述的方法,其特征在于,所述对对用户的权限进行认证是指首先计 算用户的私密参数,然后利用私密参数计算获得用户的权限计算值,并比较权限计算值和 权限设定值是否相同,若相同,则表示当前用户属于合法用户,否则表示非法用户,从而完 成对用户的权限认证,其中权限设定值为e(g,g) xy; 所述用户的私密参数为S。A =以過=如冰?ΙL ~r3} 乂;t =心(*2 = 其中,Auth表示用户的权限设定值,y为一个任意的随机整数; 用户的权限计算值Autl·/的计算公式如下:4. 根据权利要求3所述的方法,其特征在于,所述共享密钥是指在两个用户Alice和Bob 之间,TTP分别向A1 ice和Bob发送自身标识=鲈(_1劢和KeyB = (grb (mod p)); Alice计算共享密钥过程为:KEYshareAiice= (KeyBpmod q=(grbmod p)ramod p = (grb) ramod p Bob计算共享密钥过程为:KEYshareB〇b=(KeyA)3rbmod p^mod p=(gra)1'bmod P 双方的共享密钥为:KEYshare = KEYshareAlice = KEYshareBob= (ga)bm〇d p= (gb)am〇d p〇5. 根据权利要求4所述的方法,其特征在于,当A1 ice和Bob分别接收到TTP发送的加密 的各自的兴趣爱好匹配集合消息MessageT2A,MessageT2B后,利用享密钥KEYshare进行解密消 息,并分别判断解密的消息{H(m ai). · .H(ma(i+s))},{H(mbj)· · .H(mb(j+S))}是否属于{H(mai,), H(ma2),· · ·,H(man,)},{H(mbi,),H(mb2),· · ·,H(mbn,)}的子集,从而完成其数据完整性的验 证; 其中,{mai,ma2,ma3, · · .man,}表示用户自身属性,man,表示用户在第η种兴趣爱好的属性 向量,H(m)表示属性的哈希值,s表示年用户之间相同的兴趣爱好的属性向量的数量。6. 根据权利要求1-5任一项所述的方法,其特征在于,在用户Alice寻找到相似兴趣爱 好的匹配用户Bob后进行相互通话前,按照以下步骤进行双向身份认证: 步骤A:Alice利用自身的随机数ra与可信服务器TTP发送过来Bob的用户标识KeyB进行 运算生成(KeyB)1-,同时与自己的唯一身份UIDAllc;e进行异或运算生成一个匿名身份 UID' Alice AID'iice: (KeyB)ra ? UIDAlice; 步骤B:Alice将自己同Bob相匹配的属性mai· · .ma(i+s)与UIDAiice利用哈希函数进行运算 得到属性哈希特征值:H(mai| |lDAiice)· · .H(ma(i+S)| |UIDAiice);步骤C:将UID'Aiic^iKnkil UIDAlice) · · .H(ma(i+s) I I UIDAlice)与 Alice 的共享密钥 KEYshare 加密成消息 MeSSageA2B 发送给 Bob ; 步骤D:Bob接收到MessageA2B消息后,首先利用其自身的共享密钥KEYshare进行解密并还 原Alice的身份UIDMice,同时利用这个身份与自身的属性进行哈希并与H(mai | | UIDMice) .· .H(ma(i+S) I |UIDAiice)进行比对,如果比对不相等,则说明消息被篡改,Bob迅速识别出 Alice行为异常,将停止下一步工作。否则,Alice用同样的方式验证Bob的真实身份UIDBob, 若验证成功,则进行通话。
【文档编号】H04L9/32GK105871869SQ201610279430
【公开日】2016年8月17日
【申请日】2016年4月28日
【发明人】罗恩韬
【申请人】湖南科技学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1