命名数据网中基于CP-ABE的访问控制方法

2020-06-15 07:14吴志军许恩中
中国民航大学学报 2020年2期
关键词:发布者哈希解密

吴志军,许恩中

(中国民航大学电子信息与自动化学院,天津 300300)

命名数据网络(NDN,named nata networking)是最具代表性的一种信息中心网络架构,是解决传统IP 网络中数据分发效率和网络拥塞问题的全新方法[1]。NDN 中信息缓存技术简化了内容的请求和分发,有利于解决云计算中数据高效访问和安全传输的问题[2]。信息缓存使发布者和数据解耦,导致发布者对内容失去控制,可能出现数据泄露的风险。因此,访问控制对NDN 安全性尤为重要,需要一种有效的方法实现缓存数据的细粒度访问控制。

为了保护数据隐私和实现有效的访问控制,Bethencourt 等[3]提出基于密文策略的属性加密(CP-ABE,cipertext policy attribute based encryption)方案。CP-ABE被广泛用于解决云存储问题,NDN 信息缓存与云存储都存在着内容和内容所有者解耦的问题。因此,NDN中基于属性的访问控制受到了越来越多研究人员的关注[4],研究主要集中在两方面:内容的命名和内容的缓存。在内容命名方面,Li 等[5]提出基于CP-ABE 的命名方案,方案增加了命名的开销,且没有考虑消费者权限撤销的问题;在内容缓存方面,Wood 等[6]提出一种控制机制实现对内容中心网络的访问控制,该机制要求发布者时刻在线完成用户认证,也未考虑消费者权限撤销的问题。Tao 等[7]为解决该问题设计一种新的NDN 访问控制系统,该系统是基于CP-ABE 多授权、可撤销的访问控制方案,方案用CP-ABE 对发布内容加密,加密和解密开销是难以接受的(此外方案未用实验证明内容发布、内容请求的时间开销)。Simoes 等[8]提出一种NDN 中基于属性加密的可撤销访问控制机制(IRP-ABE),该方法引入代理服务器实现权限撤销,但代理服务器的数量和分布位置都会影响方法的性能,方案未给出该方面的介绍,且CP-ABE 加密内容大大增加了内容访问开销。

在上述分析的基础上,针对目前研究成果中存在的内容访问需发布者时刻在线、未考虑权限撤销、非授权用户可获取加密内容、发布者发布或访问数据开销大等问题,提出一种基于混合加密的改进型CP-ABE访问控制方法(HEI-CPABE,hybrid encryption improved ciphertext policy attribute based encryption),达到了数据保护的目的,适用于NDN 高效的数据分发。

1 HEI-CPABE 访问控制方法

为了实现对缓存数据的细粒度访问控制,提出了HEI-CPABE 访问控制方法。该方法用改进的CP-ABE混合加密思想,降低了内容访问开销,实现权限撤销及内容的访问无需发布者时刻在线,同时构建哈希表兴趣包过滤机制,节省网络资源。总体方案设计如图1所示。

图1 HEI-CPABE 的方案设计Fig.1 HEI-CPABE scheme design

方法设计主要包括3 个部分:①CP-ABE 混合加密模块,该部分首先用高级加密标准(AES)加密发布的内容,充分发挥对称加密速度快的优势,然后用改进的CP-ABE 算法加密对称密钥,既实现了密钥的安全分发也实现对发布内容的细粒度访问控制;②路由节点的重加密转换模块,该部分用来转换消费者的访问结构信息实现内容安全访问和权限撤销;③基于哈希表的兴趣包过滤模块,该模块对未授权消费者用户的兴趣包进行过滤,提高内容的分发效率。

内容发布者经混合加密模块发布两块内容:密文数据和访问结构信息,可被分别命名为:/university/computer/content 和/university/computer/access control。两者均作为数据包(图1虚线框)的数据部分发布至NDN网络。只有授权的消费者(图1消费者2,消费者1 被过滤)能够从就近路由器获取密文内容,然后请求访问结构,边缘路由器(含重加密模块)对访问控制信息进行转换。数据的访问过程不需要发布者时刻在线,只有当消费者属性满足的访问结构才可以进行解密得到密钥,进而获得明文内容,完成数据访问。

以下通过消费者注册、内容发布、内容访问、用户权限撤销、兴趣包过滤几方面详细介绍方法的实现过程。

1)消费者注册

内容访问前消费者需要注册并获取一组属性。消费者用户发送自签名兴趣包到发布者服务器注册,发布者验证用户Ui并添加到注册列表。注册完成后,消费者收到属性私钥SK 和消费者身份属性ID。

注册时执行系统初始化函数Setup:非对称双线性对e:G0× G1→G2,α,β∈Zp(α,β 为一个随机数,ZP为随机数集合),g0、g1是G0、G1的生成元。使用t(撤销用户数目)阶多项式P 计算产生PK 和MK,即

然后,执行私钥产生算法KeyGen(MK,S),产生属性私钥SK,这里引入包含用户身份属性信息Dj″。假设用户Uk收到这个密钥,计算得到SK 为

其中

2)内容发布

内容发布是数据共享的基础,发布过程如图2所示。

图2 内容发布过程Fig.2 Content releasing process

发布内容前首先使用对称密钥加密数据,然后用改进的CP-ABE 算法加密密钥,需要执行Encrypt(PK,M,T),得到密文CT,该算法与CP-ABE 相同,根据非对称双线性对进行调整。

内容加密后发布至NDN 网络,该数据包可被任何路由器缓存。该部分是大块数据,消费者可从邻居路由器中获取内容,提高了数据的传输和分发效率,而访问结构信息单独作为数据包的数据部分仅可被具有重加密模块的边缘路由器使用。

3)内容访问

内容访问需要发送两个兴趣包分别请求数据内容和访问结构,如图3所示。

图3 内容访问过程Fig.3 Content access process

首先,发送兴趣包(1)请求pdf 文档,收到响应数据包(1),发现内容被加密保护(标记为ENCR),数据包的数据部分为密钥密文和内容密文。然后,消费者发送请求访问结构的兴趣包(2),兴趣包还包含身份属性ID,边缘路由器用包含转换的访问结构的数据包(2)来响应消费者的兴趣包。消费者用户收到两部分后,执行解密完成内容访问。

内容访问需要执行ProxyRekey(PK,MK,RL),RL为撤销用户列表,i∈(1,…,t),使用MK 估计相应的P(Ui)。在少于t 的情况下,发布者生成随机的〈x,P(x)〉,使x 不对应于用户的身份以将PXK 填充到长度t,即

然后需执行Convert(PXK,∀y∈Y:Cy,Uk),Uk是用户身份属性ID,解密密文时除了需要Cy和Cy′外,还需要Cy″。计算如下

解密需要Decrypt(CT,SK),如下

对于每个叶节点x,属性i=att(x),如果i∈S,其中S 是私钥SK 的属性集合。

否则DecryptNode 返回⊥,其他的解密与基本CPABE 相同,然后用拉格朗日插值和双线性配对计算得到访问内容M。

4)用户权限撤销

实际的NDN 访问控制系统中,需要发布者能够实现用户可灵活地进行权限撤销。在HEI-CPABE 中,发布者只需更新RL,边缘路由器用新PXK 来转换请求者的访问结构[9]。该权限撤销过程如图4所示。

图4 权限撤销过程Fig.4 Authority revocation process

由于撤销用户访问结构不能被转换,实现了权限的撤销,但为了防止用户使用撤销之前的对称密钥再次获取密文解密内容,方案构建基于哈希表的兴趣包过滤机制,使撤销权限的用户无法获取到感兴趣的密文,实现了撤销用户不能访问缓存的数据。

5)兴趣包过滤

哈希表被广泛应用于NDN 路由器的名字查找策略[10]。发布者根据注册用户表的信息构建哈希表并将其分发至NDN 路由器,然后检索的关键字对应的哈希地址,若存在,表示发送兴趣包的用户属于授权用户,否则兴趣包来自未授权用户。

授权的用户分别为Alice、Bob,非授权的用户为Cathy。通过查寻哈希表得到Alice 和Bob 相应的哈希地址,说明二者为授权用户,拥有数据访问权限,而Cathy 为未授权用户。因此,路由器能过滤未授权用户的兴趣包,如图5所示。

随着注册用户的增加,内容发布者更新哈希表,类似地,若有用户注销的情况,路由器则维持更新的哈希表。

图5 哈希表数据结构Fig.5 Hash table data structure

2 HEI-CPABE 性能评估

通过定性分析方案满足NDN 的安全性要求,通过实验仿真进行验证。

2.1 安全性分析

1)权限管理HEI-CPABE 密钥的产生和管理对于NDN 路由器是透明的。内容发布者直接通过设置访问结构对用户进行授权,提高了权限管理的安全性。

2)机密性 消费者用应用程序实现保护数据的解密访问和加密发布,受保护内容以密文的状态在整个网络中缓存和传输,保障数据的机密传输和缓存数据的安全。

3)前向安全性和后向安全性 HEI-CPABE 确保了用户的权限被撤销后,无法获得密钥,即使用户保留了密钥,由于兴趣包过滤机制,也无法获取密文即无法获得要访问的内容。因此,确保了受保护内容的前向安全性和后向安全性。

2.2 性能分析

实验环境:Intel Core 3.80 GHz 的处理器i3-4370,内存4 GB,在Vmware Workstation10 上安装Ubuntu 16.04,通过NS3 中的ndnSIM 模块实现。

以下部分主要对方法的私钥生成时间、密钥加密时间及内容加/解密等性能进行分析。根据消费者的属性信息设置属性为0~50;然后用HEI-CPABE 和CPABE 算法的相关函数,根据属性信息产生属性私钥等,并记录相关时间开销;最后使用HEI-CPABE 对128 bit、192 bit、256 bit 3 种不同密钥长度的密钥加密的开销进行计算。实验结果均为10 次实验平均结果,性能分析结果如图6所示。

从图6看出:图6(a)显示两种算法的私钥生成时间与属性数目成线性关系,且改进的CP-ABE 比CPABE 花费时间多,由于未对加密算法进行修改,加密时间相同;图6(b)随机产生50 个属性来分析两种算法的解密时间,由于改进算法解密时比CP-ABE 多一对的双线性对,因此在解密时间上略高于基本CPABE 算法;图6(c)显示了不同密钥长度的加密时间与属性数目正相关。采用不同密钥长度的AES 的安全性不同,因此,可根据不同安全性需求选择不同的密钥长度。

图6 时间开销Fig.6 Time overhead

2.3 比较分析

2.3.1 内容发布加密开销评估

在HEI-CPABE 中,发布者只需一次加密发布内容,在权限变更时不需要重新发布内容。因此,加密开销与访问用户数量无关,保持常量O(1)。文献[11]提出将基于身份的加密技术(IBC)和公钥基础设施(PKI)结合的方法实现数据访问。该方法需要用不同用户的身份公钥对内容加密,内容发布的加密开销和用户数量n 成正比,加密开销为O(n)。Jacobson 等[12]提出用公钥密码体制(RSA)加密内容,该方法需要使用不同用户的公钥来加密内容,内容发布的加密开销也为O(n)。对于网络中大量的消费者用户来说,HEI-CPABE 能降低发布者发布数据的加密开销,提高数据分发效率。

2.3.2 计算效率评估

HEI-CPABE 在内容发布者加密发布内容和消费者用户解密内容方面也具有很大优势。考虑不同的内容对性能的影响,对比了Silva 的IRP-ABE 方法[8]在加密/解密内容的时间,为评估内容加密发布和解密的计算效率进行如下实验:选取内容为2、10、40、100、200、300、400、500 MB;然后根据定义的消费者的属性信息,设置属性数目为5 和15;分别用两种方法对不同大小的内容进行加密和解密,计算出内容发布时间和内容解密时间。实验结果均为10 次加/解密平均结果,如图7所示。

图7 两种方法的时间开销Fig.7 Time overhead of two methods

从图7(a)看出,属性数目为5 和15,改进方法的内容加密时间均低于IRP-ABE 方法,且随着加密内容块越大,方法优势越明显。从图7(b)看出,属性数目为5 和15,改进方法的内容解密的时间均低于IRP-ABE方法,且随着加密内容块越大,HEI-CPABE 优势越明显。

2.3.3 哈希表过滤效率

为了实现用户权限撤销和增加数据访问的有效性,HEI-CPABE 构建哈希表过滤机制,通过CPU 占用率作为定量指标来评估该机制效率,在实验中设置56个授权用户和24 个未授权用户分别请求内容。在路由节点构建兴趣包过滤机制,分别记录安装前后的CPU占用率。实验结果均为10 次实验平均结果,过滤机制的过滤效率如图8所示。

图8 CPU 占用率Fig.8 CPU usage

从图8可知,未建立基于哈希表得兴趣包过滤机制,CPU 占用率约39%~41%,建立过滤机制后系统CPU 使用率大约18%~21%。比较过滤机制建立前后CPU 占用率可知,过滤机制建立后CPU 占用率下降了近20%,减少了来自网络中未授权用户的处理兴趣包的数量,从而提高数据访问的有效性和降低了非法用户强制解密内容的风险。

3 结语

NDN 内容的安全问题影响着NDN 应用和部署,因此,提出了HEI-CPABE,该方案解决了几方面的问题:①用混合加密来确保数据机密性,且数据发布者只需一次发布内容,符合NDN 内容共享的特点,并通过实验证明,降低了发布数据的加密开销和请求数据的解密开销,尤其发布的数据越大,该方法的优势越明显;②NDN 中发布者需要时刻在线完成数据访问,这不符合NDN 数据共享的特点,因此,HEI-CPABE无需发布者时刻在线,也实现了消费者权限撤销;③构建基于哈希表的兴趣包过滤机制,对未授权用户的兴趣包进行过滤,提高了数据分发效率。

猜你喜欢
发布者哈希解密
基于特征选择的局部敏感哈希位选择算法
炫词解密
哈希值处理 功能全面更易用
解密“一包三改”
文件哈希值处理一条龙
新加坡新法规引争议
炫词解密
炫词解密
带隐私保护的群智感知任务分配机制
软件众包任务发布优先级计算方法