发明名称 基于动态假名的位置隐私保护方法
摘要 本发明公开了一种基于动态假名的位置隐私保护方法,主要解决现有位置匿名方法基于位置服务中的位置隐私保护程度过低的缺陷。其实现步骤为:建立由用户、可信机构、服务运营商组成的通信系统;可信机构初始化系统;用户向可信机构在线注册,获得公私钥;可信机构定期为用户更新假名及假名证书;用户使用动态假名向服务运营商请求位置服务;服务运营商为合法用户提供服务数据,请求可信机构撤销恶意用户;合法用户获得位置服务数据。本发明通过使用动态假名实现身份匿名,切断了身份信息和时空信息的联系,使服务运营商难以通过边信息推测特定用户的位置信息,有效保护了用户的位置隐私,可用于社交网络中基于位置服务的位置隐私保护。
申请公布号 CN103618995B 申请公布日期 2017.01.18
申请号 CN201310647713.2 申请日期 2013.12.04
申请人 西安电子科技大学 发明人 朱晓妍;池浩田;雷小三;刘洁;师双双;陈增宝;姜顺荣;曹磊;苏阳;高曼飞
分类号 H04W4/02(2009.01)I;H04W12/02(2009.01)I 主分类号 H04W4/02(2009.01)I
代理机构 陕西电子工业专利中心 61205 代理人 王品华;朱红星
主权项 一种基于动态假名的位置隐私保护方法,包括如下步骤:(1)建立一个由用户、可信机构TA、服务运营商构成的通信系统框架,其中:用户,通过3G或4G蜂窝网或WiFi与可信机构TA和服务运营商进行通信;可信机构TA,是可信的并且只需定时在线负责用户和服务运营商的注册和用户假名证书的发放;服务运营商,接收用户的请求并为其提供相关的位置服务;(2)对于上述通信系统,分别进行初始化,(2a)可信机构TA规定上述通信系统采用密钥长度为1024位的RSA公钥密码体制和密钥长度为128位的AES对称密码体制,为自己生成RSA公钥密码体制的公私密钥对,其中,公钥为pk<sub>TA</sub>,私钥为sk<sub>TA</sub>,选择SHA‑256作为单向哈希函数h(·);(2b)可信机构TA选定颁发假名证书周期T,并根据用户的请求频率和隐私需求选定时间槽宽度ΔT,使所有假名证书的有效期等于ΔT,则可信机构TA在颁发假名证书周期T内需要向每个用户颁发假名证书的数目为N=T/ΔT;(2c)可信机构TA向通信系统公布所述pk<sub>TA</sub>、h(·)、T、ΔT和N;(3)用户u<sub>i</sub>向可信机构TA注册个人信息,获得RSA体制公私密钥对<img file="FDA0001109059230000011.GIF" wi="83" he="67" />和<img file="FDA0001109059230000012.GIF" wi="94" he="71" />(3a)用户u<sub>i</sub>用可信机构TA的公钥pk<sub>TA</sub>将其身份标识<img file="FDA0001109059230000013.GIF" wi="101" he="86" />和自己产生的128位伪随机数r进行RSA加密,得到注册请求消息<img file="FDA0001109059230000014.GIF" wi="350" he="100" />并将其发送给可信机构TA;(3b)可信机构TA收到注册请求消息后,为用户u<sub>i</sub>生成密钥长度为1024位的RSA体制公私密钥对,其中公钥为<img file="FDA0001109059230000015.GIF" wi="123" he="63" />私钥为<img file="FDA0001109059230000016.GIF" wi="101" he="68" />然后使用128位伪随机数r将用户的身份标识<img file="FDA0001109059230000017.GIF" wi="131" he="80" />公钥<img file="FDA0001109059230000018.GIF" wi="94" he="77" />和私钥<img file="FDA0001109059230000019.GIF" wi="86" he="78" />进行AES加密,得到回复消息<img file="FDA00011090592300000110.GIF" wi="456" he="93" />并发送给用户u<sub>i</sub>;(3c)用户u<sub>i</sub>用128位伪随机数r对回复消息解密,获得其公私密钥对<img file="FDA00011090592300000111.GIF" wi="98" he="77" />和<img file="FDA00011090592300000112.GIF" wi="126" he="86" />(4)可信机构TA向用户u<sub>i</sub>发放假名消息:(4a)对于用户u<sub>i</sub>,当需要向可信机构TA请求证书时,用户u<sub>i</sub>发送一个用可信机构TA公钥pk<sub>TA</sub>进行RSA加密的请求消息<img file="FDA0001109059230000021.GIF" wi="689" he="103" />其中,<img file="FDA0001109059230000022.GIF" wi="99" he="78" />是用户u<sub>i</sub>的身份标识,<img file="FDA0001109059230000023.GIF" wi="302" he="102" />是用户用自己私钥<img file="FDA0001109059230000024.GIF" wi="96" he="93" />对身份标识<img file="FDA0001109059230000025.GIF" wi="99" he="79" />进行的RSA签名,r′是一个128位伪随机数,t是当前的时间戳,||表示字符连接符;(4b)可信机构TA收到用户u<sub>i</sub>的请求消息并用用户u<sub>i</sub>的公钥验证其签名后,进行如下操作:(4b1)为用户u<sub>i</sub>选择两个哈希种子<img file="FDA0001109059230000026.GIF" wi="126" he="78" />和<img file="FDA0001109059230000027.GIF" wi="168" he="77" />将其与用户u<sub>i</sub>的身份标识<img file="FDA0001109059230000028.GIF" wi="98" he="77" />生成用户记录<img file="FDA0001109059230000029.GIF" wi="403" he="93" />并保存;(4b2)为用户u<sub>i</sub>生成第j个时间槽的假名<img file="FDA00011090592300000210.GIF" wi="613" he="95" />其中,j=1,2,…,N,N表示可信机构TA每次向用户发放的假名数目,<img file="FDA00011090592300000211.GIF" wi="390" he="103" />是根据用户u<sub>i</sub>的哈希种子<img file="FDA00011090592300000212.GIF" wi="114" he="69" />进行j次哈希运算嵌套生成的哈希链,<img file="FDA00011090592300000213.GIF" wi="510" he="87" />是根据用户u<sub>i</sub>的哈希种子<img file="FDA00011090592300000214.GIF" wi="122" he="63" />进行N+1‑j次哈希运算嵌套生成的哈希链;(4b3)对每个假名<img file="FDA00011090592300000215.GIF" wi="139" he="71" />和其对应的有效截止时间ET<sub>j</sub>进行RSA签名得到假名<img file="FDA00011090592300000216.GIF" wi="139" he="70" />对应的假名证书:<img file="FDA00011090592300000217.GIF" wi="678" he="94" />其中,ET<sub>j</sub>=ET<sub>0</sub>+j·ΔT,ET<sub>0</sub>是一个颁发假名证书周期T的起始时间,ΔT表示每个假名证书的有效期;(4b4)对起始时间ET<sub>0</sub>、N个假名<img file="FDA00011090592300000218.GIF" wi="164" he="79" />及其对应假名证书<img file="FDA00011090592300000219.GIF" wi="190" he="71" />用128位伪随机数r′作为密钥,使用高级加密标准AES加密生成假名消息<img file="FDA00011090592300000220.GIF" wi="619" he="93" />并发送给用户u<sub>i</sub>;(5)用户u<sub>i</sub>收到假名消息后,用128位伪随机数r′解密得到所有的假名<img file="FDA00011090592300000221.GIF" wi="180" he="78" />假名证书<img file="FDA00011090592300000222.GIF" wi="158" he="76" />和起始时间ET<sub>0</sub>,根据起始时间ET<sub>0</sub>,用户通过ET<sub>j</sub>=ET<sub>0</sub>+j·ΔT计算第j个假名证书<img file="FDA00011090592300000223.GIF" wi="168" he="75" />的有效截止时间ET<sub>j</sub>,并保存所有的假名<img file="FDA00011090592300000224.GIF" wi="187" he="71" />假名证书<img file="FDA00011090592300000225.GIF" wi="165" he="78" />和有效截止时间ET<sub>j</sub>;(6)用户u<sub>i</sub>利用假名<img file="FDA00011090592300000226.GIF" wi="178" he="71" />假名证书<img file="FDA00011090592300000227.GIF" wi="150" he="71" />和当前位置信息loc等生成服务请求消 息,并发送给服务运营商;(7)服务运营商收到用户u<sub>i</sub>的服务请求消息后,检验假名<img file="FDA0001109059230000031.GIF" wi="136" he="62" />的合法性,若假名<img file="FDA0001109059230000032.GIF" wi="135" he="62" />合法,则执行步骤(8),若假名<img file="FDA0001109059230000033.GIF" wi="139" he="63" />不合法,则停止对用户u<sub>i</sub>的服务请求消息进行响应;(8)服务运营商检验用户u<sub>i</sub>是否存在拒绝服务攻击的恶意行为,若用户u<sub>i</sub>不存在恶意行为,服务运营商为用户找出所需服务数据DATA,并用128位伪随机数r<sub>j</sub>对服务数据DATA、当前的时间戳t<sub>1</sub>,以及服务运营商对t<sub>1</sub>的签名<img file="FDA0001109059230000034.GIF" wi="236" he="87" />进行AES加密,得到服务回复消息<img file="FDA0001109059230000035.GIF" wi="526" he="87" />返回给用户u<sub>i</sub>,执行步骤(9),若用户u<sub>i</sub>存在恶意行为,即用户u<sub>i</sub>在短时间内反复高频地向服务运营商发送大量服务请求消息,使服务运营商不断对其进行响应,消耗服务运营商的系统资源和网络带宽,造成服务运营商无法正常工作,则执行步骤(10);(9)用户u<sub>i</sub>收到服务回复消息后,用服务运营商的公钥pk<sub>SP</sub>验证其签名,如果验证正确,则用户使用服务数据DATA,否则,用户重新执行步骤(6);(10)服务运营商请求可信机构TA撤销用户u<sub>i</sub>:(10a)服务运营商将用户u<sub>i</sub>的假名<img file="FDA0001109059230000036.GIF" wi="187" he="79" />假名证书<img file="FDA0001109059230000037.GIF" wi="165" he="78" />及有效截止时间ET<sub>j</sub>发送给可信机构TA;(10b)可信机构TA通过所有用户记录中的哈希种子计算出所有用户在第j个时间槽的假名<img file="FDA0001109059230000038.GIF" wi="595" he="87" />其中u<sub>p</sub>是任意用户,<img file="FDA0001109059230000039.GIF" wi="381" he="103" />是根据用户u<sub>p</sub>的哈希种子<img file="FDA00011090592300000310.GIF" wi="118" he="70" />进行j次哈希运算嵌套生成的哈希链,<img file="FDA00011090592300000311.GIF" wi="539" he="103" />是根据用户u<sub>p</sub>的哈希种子<img file="FDA00011090592300000312.GIF" wi="120" he="70" />进行N+1‑j次哈希运算嵌套生成的哈希链;(10c)可信机构TA在上述生成的所有假名中找到与被举报假名<img file="FDA00011090592300000313.GIF" wi="161" he="79" />相同的假名,进而找到用于生成假名<img file="FDA00011090592300000314.GIF" wi="155" he="79" />的哈希种子所属的用户记录<img file="FDA00011090592300000315.GIF" wi="434" he="94" />再将用户u<sub>i</sub>的身份标识<img file="FDA00011090592300000316.GIF" wi="82" he="62" />加入黑名单,不再向u<sub>i</sub>颁发证书;(10d)可信机构TA根据用户u<sub>i</sub>的两个哈希种子<img file="FDA00011090592300000317.GIF" wi="108" he="70" />和<img file="FDA00011090592300000318.GIF" wi="158" he="77" />计算两个哈希链<img file="FDA0001109059230000041.GIF" wi="341" he="92" />和<img file="FDA0001109059230000042.GIF" wi="362" he="94" />并将这两个哈希链S<sub>1,j</sub>和S<sub>2,1</sub>发送给服务运营商;(10e)服务运营商根据两个哈希链S<sub>1,j</sub>和S<sub>2,1</sub>,得到用户u<sub>i</sub>在第j个时间槽以后的所有假名<img file="FDA0001109059230000043.GIF" wi="603" he="79" />其中k=j+1,j+2,…,N,S<sub>1,k</sub>=h<sup>k‑j</sup>(S<sub>1,j</sub>),S<sub>2,N+1‑k</sub>=h<sup>N‑k</sup>(S<sub>2,1</sub>),并将得到的假名加入黑名单;所述用户,包含GPS模块、应用模块和证书模块三个功能模块;该GPS模块用于获得并向应用模块提供用户的地理位置信息,该应用模块用于为用户请求和接收位置服务,该证书模块用于申请、存储和管理用户的假名及假名证书;所述可信机构TA,包含注册模块、证书模块和撤销模块三个功能模块;该注册模块负责管理用户和服务运营商的注册和密钥发放,该证书模块负责用户假名及假名证书的生成和发放,该撤销模块负责恶意用户的撤销;可信机构TA不需要保持在线,只是在注册模块定时在线处理用户注册请求,证书模块定时在线进行假名证书发放,撤销模块根据系统的隐私和安全需求,可以保持在线或者定时在线,可信机构TA对用户和服务运营商是完全可信的;所述服务运营商,包含数据库、应用模块和安全模块三个功能模块;该数据库用于存储服务数据,该应用模块接收用户位置服务请求并为用户返回位置服务数据,该安全模块用以监控用户的恶意攻击行为,并与可信机构TA共同撤销恶意用户,由于服务运营商掌握用户在服务请求消息中提供的位置、服务需求信息,并可能出于商业目的将用户隐私信息出卖给广告公司或者可能被黑客攻击,从而导致用户隐私泄露,因此服务运营商是不完全可信的。
地址 710071 陕西省西安市太白南路2号