用于内容中心网络的多层加密隐私保护方法与流程

文档序号:12477507 阅读:436 来源:国知局

本发明涉及内容中信网络研究领域,尤其涉及用于内容中心网络的多层加密隐私保护方法。



背景技术:

互联网的飞速发展,传统的IP网络架构暴露了诸多弊端,已经难以满足当下互联网的发展要求。为了顺应时代的发展,从2006年起,国内外学术界展开了关于新型网络体系架构的研究,包括UC Berkeley RAD实验室提出的面向数据的网络架构(DONA,data-oriented network architecture)(KOPONEN T,CHAWLA M,GON C B,et al.A data-oriented(and beyond)network architecture[A].Proceedings of the ACM SIGCOMM 2007Conference[C].Kyoto,Japan,2007.181-192.)、Palo Alto Research Center提出的内容中心网络(CCN,content-centric networking)(European Union.Project FP7 4WARD[EB/OL].http://www.4wardproject.eu,2010)等。目前CCN网络已经成为未来网络的研究热点,以内容为中心的网络,不关心内容的存储位置,内容来源可以是网络中的任意节点的缓存。CCN网络中对内容进行了统一的标识,当用户需要获取所需内容时,首先向网络发送兴趣请求,然后根据转发策略对兴趣请求进行转发。当从服务器或者缓存中取到数据后,原路返回给请求者,同时在缓存系统中根据缓存策略来决定是否缓存数据,从而为有相同需求的请求者服务。

CCN的核心机制是缓存机制,每个CCN的节点拥有一个内容存储器(Content Store,CS),用于缓存请求数据,目的是减少网络中用户访问请求数据的响应时间,提高网络资源的利用率。由于数据被缓存在节点的内容存储器中,在提升网络性能的同时也有可能造成隐私的泄露。根据VASILAKOS A V,FOTIOU N等人的研究(VASILAKOS A V,LI Z,SIMON G,et al.Information centric network:research challenges and opportunities[J].Journal of Network and Computer Applications,2015,(52):1-10;FOTIOU N,POLYZOS G C.ICN privacy and name based security[A].Proceedings of the 1st International Conference on Information-Centric Networking[C].ACM,2014:5-6)总结出目前CCN研究中缓存带来的隐私泄露问题包括:缓存隐私泄露与内容隐私泄露。1)在缓存隐私泄露中,攻击者通过探测缓存中存储的历史请求记录数据,根据相邻用户对敏感内容的访问等信息来推测邻近用户的隐私信息。2)在内容隐私泄露中,每个数据包都带有发布者的签名,确保请求者能确定返回的数据就是自己请求的数据,但是并没有对内容数据包的名字进行加密保护。由于内容命名与内容本身紧密相关的特性,攻击者可通过内容命名推断从缓存中获知相关内容,并采用深度分组检测(DPI,deep packet inspection)对内容破译,实现隐私信息窃取。这个特性使不可信的CCN节点监控内容请求者的行为特征变得容易。

CCN网络涉及四个角色,分别为内容发布者、内容请求者、CCN节点与攻击者。隐私保护研究首先要明确这些角色的作用能力及其相互关系,并根据CCN环境的隐私保护需求来定义相关属性。

内容发布者的隐私属性表现为机密性、匿名性、不可链接性等;内容请求者的隐私主要体现为个体行为特征的保护,即攻击者不能判断请求者感兴趣的内容;CCN节点缓存的隐私属性主要为缓存内容的热点性、匿名性、不可链接性等。

A Shikfa等人(A Shikfa,M nen,R Molva,Privacy-Preserving Content-Based Publish/Subscribe Networks,Emerging Challenges for Security Privacy&Trust,2009,297:270-282)提出了多层次交替加密技术(Multiple layer commutative encryption-MLCE),使用不同密钥多次加密数据,虽然能保证数据的安全性,但是CCN网络的缓存优势欠佳。Lauinger T等人(Lauinger T,Laoutaris N,and Rodriguez P.Privacy implications of ubiquitous caching in named data networking architectures.Technical Report,TR-iSecLab-0812-001,2012)提出了三种隐私攻击模式,并分别分析了攻击执行的条件和具体流程。Nabeel M等人(Nabeel M.,Shang N.,Bertino E.Efficient Privacy Preserving Content Based Publish Subscribe Systems.Proceedings of the 17th ACM symposium on Access Control Models and Technologies,ACM,2012:133-144)提出使用可搜索数据加密的方法达成路由。Qi Li等人(Qi Li,Ravi S.,Xinwen Zhang,Mingwei Xu.Mandatory Content Access Control for Privacy Protection in Information Centric Networks.IEEE Transactions on Dependable and Secure Computing,2015:1-13)针对信息中心网络下的信息隐私问题,提出一种强制性内容接入控制方法,针对内容发布,定义不同的安全级别,路由器根据内容的安全级别来决定是否缓存,该方法需要配置一个可信路由器。Roan S.S.等人提出(Roan S.S.,Sergio D.Z.An Access Control Mechanism to Ensure Privacy in Named Data Networking using Attribute-based Encryption with Immediate Revocation of Privileges.IEEE Consumer Comunications and Networking Conference,2015:128-133)利用一个部分可信代理服务器,采用属性加密技术,提出一种保护信息隐私的接入控制机制,该方法在保护信息隐私方面效果较好值得借鉴。Uzun E等人提出(Uzun E.,DiBenedetto S.V.,Gasti P.,and Tsudik G..ANDaNA:Anonymous Named Data Networking Application.Proceedings of the Network and Distributed System Security Symposium,San Diego,California,USA,arXiv:1112.2205v2[cs.CR],2012)采用加密隧道的方法传输信息,该方法能够保护信息隐私,但是加、解密过程复杂,又不能充分利用缓存优势。

Chaabane A.等人(Chaabane A.,Cristofaro E.D.,Kaafar M.A.,Uzun E..Privacy in Content-Oriented Networking:Threats and Countermeasures.ACM SIGCOMM Computer Communication Review,2013.43(3):25-33)探讨采用对称加密、广播加密、代理重加密等多种密码技术来保护信息隐私,对称加密算法:客户端产生一个会话密钥,用发布者公钥加密会话密钥后发送给发布者,发布者接收到密钥后解密该密钥获得会话密钥,然后使用会话密钥来加密信息发送给客户端,这种方法的弊端在于不能发挥缓存优势;广播加密算法:发布者使用系统公钥和授权用户公钥加密信息后广播,拥有私钥的的接收者才能解密信息,但是这种算法需要发布者维护大量的密钥,会对通信造成一定的影响;代理重加密:通过第三方代理来重新加密一次密文,且代理无法检索密文,此方案由于需要非对称加密和重加密,因此计算量较大;以上三种方案缺点很明显:对称加密下的缓存信息不易重用,采用广播加密的信息发布者需要维护大量密钥,代理重加密相比普通对称密钥加密计算量大,影响信息传输性能。

SC Seo等人(SC Seo,T Kim,M Jang.A Privacy-Preserving Approach in Content Centric Networking.IEEE Consumer Communications and Networking Conference.2014.pp.866-871)提出的混合加密方案,针对公共内容的发布能够有效保护请求者隐私,同时提高了缓存的利用率,克服采用加密隧道方法在保护请求者隐私过程中,需要执行多次加解密操作、计算量大、缓存利用率低的缺点。相比没有给出具体实现机制的对称加密算法、广播加密算法、代理重加密这些算法,混合加密方案在保护隐私和发挥缓存优势的情况下,给出了兴趣包加密算法的设计方案且系统部署相对容易方便。不足之处在于请求者以及路由器需要维护大量密钥、发布者隐私容易泄露、无法防止响应非法的兴趣包。



技术实现要素:

为克服现有技术的不足,有效保护请求者以及发布者的隐私,同时减少请求者以及路由器维护大量密钥的负担,本发明提出用于内容中心网络的多层加密隐私保护方法。

本发明的技术方案是这样实现的,用于内容中心网络的多层加密隐私保护方法,包括步骤:

S1:请求者向内容的发布者发送一个用于可信性验证的兴趣包,发布者收到所述用于可信性验证的兴趣包后产生一个随机数,返回给请求者,请求者对所述随机使用请求者私钥进行签名,并将签名作为请求兴趣包的一部分;

S2:设请求者和发布者之间依次相隔两个路由器区域AR1和AR2,位于相同路由器区域的路由器具有相同的路由器公钥,请求者依次使用发布者公钥、AR2公钥和AR1公钥加密请求兴趣包,然后将请求兴趣包发送到区域AR1中与请求者最相临的路由器中;

S3:AR1区域路由器使用AR1私钥解密请求兴趣包,获得自身所需信息,然后转发请求兴趣包到AR2区域路由器,AR2区域路由器使用AR2私钥解密请求兴趣包,获得自身所需信息,并将请求兴趣包转发到发布者;

S4:发布者使用发布者私钥解密请求兴趣包,对请求者进行可信性验证,验证通过后响应请求兴趣包,对响应数据使用AR2公钥加密后生成数据包,发送到AR2区域中与发布者最相邻的路由器;

S5:AR2区域路由器使用AR2私钥解密数据包,获得响应数据,并对相应数据使用AR1公钥进行加密,生成数据包发送到AR1区域路由器;

S6:AR1区域路由器使用AR1私钥解密数据包,获得响应数据,并使用请求者公钥加密响应数据后生成数据包,转发给请求者;

S7:请求者使用请求者私钥解密数据包,获得相应数据。

进一步地,步骤S1中所述兴趣请求包还包括Last Time标识符,当请求数据包到达路由器区域AR1和AR2的路由器时,先在路由器缓存中进行查找,找到匹配的内容则提取请求兴趣包中字段,将Last Time字段与该内容隐私标识符设置的最近访问时间比较,如果基本上接近,则可以判断请求者在此之前访问过此内容,则直接返回数据包,并且将数据包的隐私标识符更新为当前访问时间;如果时间偏差较大,则可判断为新的请求者,路由器更新隐私标识符,同时延迟一定时间,再发送给新的请求者。

进一步地,所述请求数据包在传输过程中采用随机填充法以保持固定长度。

进一步地,步骤S1包括步骤:

S11:请求者发送一个用于可信性验证的兴趣包,所述用于可信性验证的兴趣包中包括一个随机数R1;

S12:发布者收到所述用于可信性验证的兴趣包,生成一个随机数R2;

S13:发布者用随机数R2响应所述用于可信性验证的兴趣包;

S14:请求者收到随机数R2以后,请求者对所述随机数R2使用请求者私钥进行签名,并将签名作为请求兴趣包的一部分;

S15:请求者再次发送加密后的请求兴趣包。

本发明的有益效果在于,与现有技术相比,本发明提出的用于内容中心网络的多层加密隐私保护方法,第一:通过在请求兴趣包中内置LastTime字段并使用公钥加密请求兴趣包,请求兴趣包到达路由器后解密,然后在路由器缓存中进行检索。当找到相匹配的内容,取请求兴趣包中的LastTime字段与相应内容中的隐私标识符时间比较,通过时间偏差来确定请求者是否第一次访问,决定返回内容数据是否要延迟时间。如果邻近请求者第一次访问,即使缓存中有请求兴趣包对应的数据内容,也需要延迟一定时间,然后发送给它,因此邻近请求者是无法确定在这之前是否有其他请求者已经请求过相同的内容,能够有效抵抗偷听者、邻近请求者的窥探行为,从而能够有效保护请求者的隐私。第二:请求者只有通过内容发布者的验证,确认为可信的,发布者才会响应请求者的请求兴趣包。返回的数据包在网络传输过程中是处于加密状态,路由器使用自己的私钥可解密一层获得数据包,然后再使用下一层路由器的的公钥来加密数据包。当数据包到达请求者的上一层路由器时,使用请求者的公钥对数据包进行加密,防止其他请求者获知该请求者的请求内容。第三:数据包经过了新的签名认证,从发布者到路由器区域AR2中的路由器使用发布者的私钥来进行签名,数据包到达路由器区域AR2中的路由器使用发布者公钥对数据签名进行认证,实现了缓存中信息的完整性和可追溯性;从路由器区域AR2中的路由器到路由器AR1中的路由器使用AR2的私钥进行签名,在路由器区域AR1中的路由器中使用路由器区域AR2中的路由器公钥对数据包的签名进行认证;当路由器区域AR1中的路由器将数据包发送给请求者的时候,需要使用请求者的公钥来加密数据包以及使用路由器区域AR1中的路由器的私钥进行签名,请求者收到数据包进行解密、认证。第四:由于请求兴趣包的名字与请求的内容语义相关,在多层加密机制中数据包以及兴趣包在网络传输中一直处于加密状态,攻击者无法获知它们的具体信息,相比混合加密方案中路由器区域AR2中的路由器与发布者之间的请求兴趣包、数据包在传输中没有加密,假设在路由器区域AR2中的路由器和发布者之间有攻击者,则可以探测到发布者返回的内容,从而会暴露发布者的隐私信息,本发明提出的机制能够有效保护发布者的隐私。第五:由于混合加密方案中使用对称加密算法进行请求兴趣包、数据包加密是整个方案的中的一部分,如果其中一个对称密钥泄露都会给相应的兴趣包以及数据包来安全隐患,本发明使用公钥加密安全性相对较高,能够更大程度上保护请求者、发布者的隐私。

附图说明

图1是本发明用于内容中心网络的多层加密隐私保护方法流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参见图1,首先给出本实施例所述方法中涉及到的各个符号的含义:路由器的集合为ARset;路由器区域AR1、AR2的公/私钥对分别为(puk1|pri1)、(puk2|pri2);内容发布者的公/私钥对为(puk1│pri1);请求者的公/私钥对为(puk_r|pri_r);Data为验证请求者是可信请求者的加密数据包;LastTime是兴趣包中的一个内嵌标识符;Interest(用I替代)为原始兴趣包;H(I)是哈希值的一种写法;D为Decryption,意为解密;E为Encryption,意为加密。

1.请求者可信性请求

为了防止响应非法的Interest包,发布者需要验证请求者可信性,内容请求者首先向发布者发送一个兴趣包请求验证,当发布者收到来自请求者发送的兴趣包后,生成一个随机数R2发送给请求者,然后通过请求者对随机数的私钥签名来验证。

发送请求验证如下:

请求者发送一个用于可信性验证的兴趣包Interest,Interest请求名字为/request/R_certficate/R1,R1是随机数;

发布者收到Interest,生成一个随机数R2;

发布者用R2响应Interest兴趣包;

请求者收到R2以后,把R2作为自己兴趣包的一个数据,用请求者私钥加密后即为Data;

请求者再次发送加密的请求兴趣包。

2.兴趣包的加密过程

CCN网络运行过程主要通过请求者发起请求向内容发布者请求数据,由于请求兴趣包名字和数据内容语义相关,攻击者可以通过名字来推断请求者要请求的内容,因此需要对请求者的请求兴趣包进行加密保护,防止泄露相关隐私信息。

请求兴趣包加密方法:

准备:发布者公钥puk_p、路由器ARi∈ARseti>0;

从ARset选择两个路由器区域(假设请求者和发布者之间依次相隔两个路由器区域AR1和AR2,本领域的技术人员很容易想到多个路由器区域的情况):AR1(puk1|pri1)、AR2(puk2|pri2)。如果AR1、AR2在同一个区域或者是AR1=AR2,需要重新选择;

使用发布者公钥puk_p加密,加密后的兴趣包为:

Ipuk_p=Epuk_p(I,puk_r,puk2,Data);

使用AR2的公钥加密Ipuk_p,加密后的兴趣包为:

Ipuk_p,puk2=Epuk2(Ipuk_p,puk1,puk_p,I);

使用AR1的公钥加密Ipuk_p,puk2,加密后的兴趣包为:

Ipuk_p,puk2,puk1=Epuk1(Ipuk_p,puk2,puk_r,puk2,I);

返回Ipuk_p,puk2,puk1

在上述加密过程中,路由器每一次解密都可以得到原始兴趣包,当有同样兴趣请求再一次发送的时候,路由器可以检索缓存,查看是否已经缓存了相应的数据内容。为了避免攻击者窥测到用户的请求,需要将请求者兴趣包用哈希值来代替,则Ipuk_p,puk2、Ipuk_p,puk2,puk1中的I被替换成为H(I),Ipuk_p中保留原始兴趣包,因为攻击者无法在发布端根据兴趣包确定某个具体请求者。

3.路由器处理过程

信息转发依靠路由器一层层向上跳转,多层加密机制基于采用洋葱路由的思想,通过在路由器中层层解密来实现兴趣包以及数据包的隐私保护。

路由器处理过程方法:

准备路由器ARi∈ARseti>0;

AR1使用pri1进行第一层解密:

H(I),puk2,puk_r,Epuk2(Ipuk_p,puk1,puk_p,H(I))←Dpuk1(Epuk1(Ipuk_p,puk2,puk_r,puk2,H(I)));

AR1保存H(I)、puk2、puk_r,然后输出Epuk2(Ipuk_p,puk1,puk_p,H(I)),跳转到AR2路由器中。

AR2使用pri2进行第二层解密:

H(I),puk_p,puk1,Ipuk_p←Dpuk2(Epuk2(Ipuk_p,puk1,puk_p,H(I)));

AR2保存H(I)、puk_p、puk1输出Ipuk_p,发送到内容发布者。

在上述路由器转发过程中当请求兴趣包到达路由器,路由器AR1、AR2可以根据请求兴趣包名字先在内容缓存中检索,如果缓存中有被请求的内容,直接响应该请求,同时丢弃兴趣包。如果没有匹配到相应的内容,则查找待定兴趣表(Pending Interest Table,PIT)进行检索。如果在PIT中找到,则将请求兴趣包的到达接口添加到对应表项。如果PIT中未找到,则在PIT中新建一个条目,并存储兴趣包和到达接口信息,然后查找转发信息表(Forwarding Information Base,FIB)。

3.发布者验证请求者可信性

在网络中会涉及许多敏感信息,比如银行账号、用户消费记录等,为防止非法请求,对于请求者的可信性的验证在CCN网络中也是至关重要的。本发明所提出的机制采用签名认证来验证用户的可信性。

可信性验证过程:

准备发布者公/私钥(puk_p|pri_p);

接收AR2发过来的兴趣包;

发布者使用pri_p解密:I,puk_r,puk2,Data←Dpuk_p(Ipuk_p);

发布者收到兴趣包解密后取得Data,然后用请求者公钥puk_r验证签名,如果验证通过,则进行下一步响应,否则停止通信。

当发布者收到兴趣包后,使用自己的私钥来解密兴趣包,获得验证请求者可信性的数据包以及请求者公钥和原始兴趣包。通过验证请求者的可信性,能够防止响应非法兴趣包以及攻击者探测发布者的隐私,从而有效保护发布者的隐私信息。

本发明所提的加密机制采用了混合加密算法中的思想,使用数据填充法来保持数据包的长度不变,防止攻击者根据长度变化来定位请求兴趣包所在位置。请求兴趣包在传输过程中为了保持定长需要使用padding来填充,每一层的路由器都会根据原始兴趣包的长度以及当前路由器解密后兴趣包长度来计算padding的值。在图1中请求者发送请求加密兴趣包之前请求者已经发送了验证可信性兴趣包以及收到发布者返回的R2随机数。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

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