云环境下基于属性加密的访问控制技术研究

2021-08-02 07:40李永忠
软件导刊 2021年7期
关键词:加密算法访问控制密文

顾 磊,李永忠

(江苏科技大学 计算机学院,江苏 镇江 212003)

0 引言

云计算技术的快速发展为数据存储带来了极大便利,使得越来越多的数据被存储于云端,而随之带来的则是数据安全问题[1]。访问控制是保护数据安全的关键技术之一[2],传统的访问控制技术如DAC[3]、MAC[4]、RBAC[5]等,均以服务器绝对可信为前提,数据的安全保障依赖于系统的安全性。但在复杂的云环境中,云服务器并非完全可信[6]。基于属性加密的访问控制技术由于兼具数据加密和访问控制两大特点[7],被认为最适用于云计算环境中的数据安全访问控制技术。但属性加密技术效率较低[8],严重限制其在实际中的应用。基于此,本文提出一种基于AES和改进CP-ABE 混合加密算法的访问控制技术,即使用AES 加密算法对数据进行加密,并使用CP-ABE 算法对AES 算法所使用的加密密钥进行加密存储。同时,在CPABE 算法解密过程中,对访问结构树先行遍历并进行剪枝处理,减少非必要节点计算。通过实验证明,该方案能够在保证数据安全性的同时,降低数据加解密的时间开销。

1 相关技术

1.1 AES 对称加密算法

AES 算法是将数据信息进行分组加密的算法,它可以将明文分成128 位固定长度的N 组,然后对小组内的信息进行序列加密[9]。AES 算法的参数主要有3 个:Key、Data、Mode。其中,Key 为算法加密所使用的密钥;Data 为输入数据,可以是明文数据也可以是密文数据,每次输入的数据长度为128 位;Mode 为算法工作模式,即加密与解密。

1.2 CP-ABE 算法

CP-ABE 算法步骤[10]主要包含以下4 个部分:

(1)初始化阶段Setup():输入参数,输出主密钥MK=(β,gα),公钥PK=(G0,g,gβ,Z)。其中,α,β∈ZpZ=e(g,g)α。

(2)用户私钥生成KeyGen()。输入用户属性集合S和主密钥MK,输出私钥SK。

其中,rj∈Zp,j∈S。

(3)加密Encrypt()。输入明文M,访问结构树T以及PK,输出密文CT。

加密算法根据访问结构T对明文进行加密,对访问结构中的每一个节点x选取多项式qx(系数为门限值减1),从根节点R开始随机选取s∈Zp,qx(0)=s,随机选取dR个点定义多项式qx,对于其他节点x,qx(0)=qparrent(x)(index(x)),然后随机选取dx个点定义qx,令Y为T中叶子节点集合,对M进行加密得到:

(4)解密Decrypt()。输入密文CT、SK,利用递归算法得到。

当x为叶子节点时,令i=att(x),如果i∈S,则有:

i∉S,则输出⊥。

当x为非叶子节点时,应采用递归算法进行解密。

最后对根节点R计算如下:

对密文进行解密得到:

2 混合加密方案

本文对现有数据保护方案进行研究,提出一种基于AES 和改进CP-ABE 加密的混合加密算法。该算法主要分为两步:第一步是利用AES 加密算法对数据进行加密,由于其加解密效率高的优点,可以对大量数据进行高效地加解密处理;第二步是利用改进的CP-ABE 算法对AES 对称密钥进行加密,保障了AES 密钥共享的安全性。

2.1 改进的CP-ABE 算法

在CP-ABE 算法中,用户身份用一个属性集表示,每一个属性代表用户的一个权限[11]。数据拥有者通过设定访问控制策略对数据进行加密,只有当访问者属性集合满足访问控制策略时才能成功解密。与传统加解密技术对比,CP-ABE 算法解密过程是在匹配用户的属性集合与访问控制策略,具有隐私性及抗串联合性等优点[12]。访问控制策略通常由访问树结构表示[13]。

CP-ABE 算法解密过程中,用户私钥与访问结构树的叶子节点进行属性匹配时需要进行两次双线性配对运算,从起始节点到根节点的每个内部节点都要进行一次幂运算且在最后根节点处需进行一次额外的双线性对运算[14]。而在每个非叶子节点处的叶子节点只有其门限值对应个数的叶子节点计算是有效的。文献[15]提供了一种解密优化策略,其原理是在对访问树的节点进行解密前可根据属性和叶子节点的子树筛选出满足访问策略树的子树,避免其他非必要节点计算。定义函数SelectMin(T,SK),对配对密钥中每个属性的叶子节点到根节点的一次递归遍历中删除并只保留可以满足访问策略树T的最小策略树T’,再对最小策略树的节点进行递归解密。

令L⊆T',表示最小策略树T’中叶子节点集合,对每一个叶子节点l∈L,l到根节点R的路径为:

节点x的兄弟节点表示为:

对于每一个l∈L,令i=index(x),S={index(x)|y∈brs(x)},利用拉格朗日差值计算:

最后计算:

2.2 云环境下基于混合加密的访问控制方案

云存储环境下数据加密与访问控制功能模块如图1 所示,包括客户端模块、数据处理模块及存储模块。数据处理模块包括密钥分配中心、加密子模块、解密子模块及授权中心,存储模块包括数据密文存储模块及系统数据库。各模块功能如下:①密钥分配中心[16]。为用户上传的数据加密分配密钥,由于云环境下数据信息量非常大,设立密钥分配中心可有效进行密钥分配管理;②加密子模块。加密模块功能主要有两个,即为用户数据进行对称加密并从系统数据库中获取系统公钥对使用的对称密钥进行加密;③解密子模块。解密模块功能同样有两个,即使用用户私钥解密密钥密文,用得到的密钥解密数据密文;④授权中心。在系统运行时生成系统主密钥与公钥、根据用户属性为用户生成私钥并存储到系统数据库中。

数据加解密及访问控制流程:①用户数据上传。数据拥有者请求上传数据,为数据设定相应的访问结构T,密钥分配中心生成用户加密所需的加密密钥KA,加密模块对相应的数据进行加密操作得到相应的数据密文以及密钥密文,数据密文存储到云存储中心而密钥密文存储到系统数据库中;②用户访问数据。由授权中心对用户的访问请求进行处理,首先从系统数据库中获取用户私钥,若不具有则根据数据库中用户所具有的属性为用户生成私钥,并将用户私钥发送至解密模块,解密模块获取对应的密钥密文并根据用户私钥进行匹配解密,若用户私钥属性满足解密密文则解密密文并返回数据,若不满足解密条件则返回解密失败。

3 方案实现及分析测试

对使用的算法进行性能仿真分析,实验环境为:Win⁃dows10 64 位,处理器AMD A6 4400M(2.7GHz),内存6Gb,仿真软件为MyEclipse2017 CI、MySQL,云存储为阿里公有云OSS,依赖外部JPBC2.0 库实现。

Fig.1 Data encryption and decryption system in cloud environment图1 云环境下数据加解密系统

3.1 实验结果

以单个文件为例,图2 为云存储中的文件密文,图3、图4 为随机生成的对称密钥key 加密前的表达和从数据库中导出的密钥密文,由图可知加密成功。

Fig.2 File ciphertext in cloud storage图2 云存储中文件密文

Fig.3 Key plaintext图3 密钥明文

3.2 安全性分析

云存储环境下的数据存储安全极为重要。AES 算法的缺点在于其密钥共享过程中安全性较差[17],而CP-ABE 算法为非对称加密,在安全性方面优势明显。本文从如下方面分析混合加密算法的安全性:

Fig.4 Key ciphertext图4 密钥密文

(1)权限管理。数据加密密钥由数据拥有者产生及管理,并对其他用户访问进行授权。

(2)端到端的加密[18]。用户在客户端对数据进行加/解密操作,提高了数据在传输信道中的机密性。

(3)密钥管理[19]。采用混合加密算法确保数据加密密钥传输和存储安全性。混合算法继承了CP-ABE 算法的安全性,即虽然采用了AES 与CP-ABE 相结合的方法,但并没有对安全性造成太大影响。几种加密方法的安全性对比如表1 所示。

Table 1 Security comparison of several encryption algorithms表1 几种加密算法安全性对比

3.3 性能分析及对比

针对CP-ABE 解密算法优化性能进行分析测试。设置图5 所示的访问策略树对算法解密效率进行测试,图6 为不同叶子节点数下典型算法解密耗时与改进算法解密耗时。可以看出,改进后的算法在解密耗时上有所减少。

Fig.5 Access policy tree图5 访问策略树

对混合加密算法性能进行实验仿真,设置属性个数为10,AES 算法加密使用128 位密钥进行性能测试,其加密解密时间如图7 和图8 所示。

通过实验对比可发现,混合加密算法的加解密性能与单纯使用AES 算法加密的性能十分接近,而CP-ABE 算法的加解密时间开销很大,而且随着用户属性增加,访问结构也越复杂,CP-ABE 算法的性能远远落后于其他两种加密方式。在云环境中使用混合加密方式进行加解密,既能保证数据安全性,同时还能实现用户对数据的访问控制。

Fig.6 Comparison of algorithm decryption time图6 算法解密时间对比

Fig.7 Comparison of algorithm encryption time图7 加密时间对比

Fig.8 Comparison of algorithm decryption time图8 解密时间对比

4 结语

通过对云环境下数据安全问题研究,采用改进的CPABE 与AES 混合加密算法对云环境下的数据进行加解密操作,解决了云环境下的数据安全访问控制问题,很好地保护了云环境中用户数据的机密性,同时提高了数据加解密效率。但CP-ABE 算法在应用中还存在一些如密钥撤销[20]等问题,针对这些问题将作进一步研究,使其更好地运用于云计算环境中。

猜你喜欢
加密算法访问控制密文
一种针对格基后量子密码的能量侧信道分析框架
一种支持动态更新的可排名密文搜索方案
基于模糊数学的通信网络密文信息差错恢复
ONVIF的全新主张:一致性及最访问控制的Profile A
动态自适应访问控制模型
浅析云计算环境下等级保护访问控制测评技术
大数据平台访问控制方法的设计与实现
基于小波变换和混沌映射的图像加密算法
云存储中支持词频和用户喜好的密文模糊检索
Hill加密算法的改进