理论教育 基于属性加密的云数据共享

基于属性加密的云数据共享

时间:2023-10-28 理论教育 版权反馈
【摘要】:基于身份加密中用户与授权方是一人加密一人解密的对应关系,基于属性加密将其改变成一人加密多人解密的对应关系,提高了实用性。基于属性的加密方案由访问结构实现控制。图10.9基于密文策略的属性加密示例CP-ABE方案中每个用户的私钥都通过一个属性集合由密钥生成中心生成,数据属主通过一个访问控制结构把明文加密成密文,在加密的同时就决定哪些人可以解密消息。

基于属性加密的云数据共享

云模型由密钥授权中心(AA,也称授信中心、TA)、云服务提供者(CSP)、数据所有者(数据属主)和数据用户四个实体组成。AA是一个受信任的实体,负责为用户生成公共参数和解密密钥。CSP是一个诚实但好奇的实体,负责将所有者的加密数据存储在其云存储服务器中。

云计算中安全云数据共享是一个基本的应用需求。在非信任的云系统中,用户更希望自己来定义访问控制的策略,确保任何不满足访问控制策略的实体包括云端都不能读取敏感数据,这需要通过加密数据的访问控制技术来保证机密性,即用户存储在云端的数据应该是加密的,只有满足访问策略的授权用户才能解密数据。非授权用户包括云端均无法访问原始数据。

传统的方法将可以解密文件的密钥分发给每一个可以访问该加密文件的授权用户,然而在多用户环境中,这会使得密钥分发与管理变得十分复杂,尤其是在大规模用户和细粒度访问控制的前提下。

目前,最适合云计算的访问控制方法是基于属性加密(Attribute-Based Encryption,ABE)的方法。在基于身份的加密中,数据属主将用户的身份(ID、属性、个人信息)等作为公钥对数据进行加密,只有拥有对应身份的人才能解密。在基于属性的加密中,数据属主加密时不需要指定接收者的身份,只需要指定访问策略,按照访问策略进行加密,只有满足访问策略的用户才可以解密。属性加密中用户的属性(性别、年龄、工作单位、职位等)可以被灵活地定义,因此可以实现细粒度的控制。基于身份加密中用户与授权方是一人加密一人解密的对应关系,基于属性加密将其改变成一人加密多人解密的对应关系,提高了实用性。

基于属性的加密方案由访问结构实现控制。访问结构支持属性之间的与、或、门限关系,使得访问策略具有很高的细粒度控制能力,属性可以被灵活地表达。访问结构主要有访问控制树、访问控制矩阵等。

1.KP-ABE

基于不同的访问策略嵌入位置,属性加密可分为两种加密方式:基于密钥策略的属性加密(Key-Policy Attribute-Based Encryption,KP-ABE)和基于密文策略的属性加密(Ciphertext-Policy Attribute-Based Encryption,CP-ABE)。

KP-ABE最早是由Goyal等人提出的。在KP-ABE中,访问结构被嵌入用户密钥当中,密文对应于一个属性集合而密钥对应于一个访问结构,当且仅当属性集合中的属性能够满足此访问结构时用户才可以解密。KP-ABE使用树状访问控制结构,用户可以自行制定访问策略,其中密钥采用树状访问策略,密文属性与树的叶节点相关。

KP-ABE有如下四个算法

(1)设置(setup):由授权中心运行,输入一个隐藏的安全参数,输出公钥PK和一个主私钥MK。

(2)密钥生成(Key Gen):输入访问结构树A、主密钥MK、公钥PK,输出用户私钥SK。

(3)加密(Encrypt):输入一个消息M、一组属性Y、公钥PK,输出密文E。

(4)解密(Decrypt):基于属性组Y加密的密文E,对应访问结构A的解密密钥D,公开参数PK。如果Y∈A,输出消息M。

需要注意的是,Y∈A中的符号“∈”并不表示属于关系,它只是表示满足关系。假设用户的访问树策略为(P and(Q or R)),这里P、Q、R表示属性。如果密文中的属性集合为{P,Q},用户可以正常解密。如果属性集合为{P,Q,S},此时用户仍然可以正常解密。但是如果属性集合为{P,S},则用户就无法解密出明文。KP-ABE示例如图10.8所示。

图10.8 基于密钥策略的属性加密示例(www.daowen.com)

KP-ABE方案中每个用户的私钥都通过一个访问控制结构由密钥生成中心生成,用户密钥策略决定哪些密文可以被成功解密出明文。数据属主通过一个属性集合把明文加密成密文,如果属性集合满足用户的访问控制树,则用户可以解密该密文。

2.CP-ABE

KP-ABE利用与门和或门实现了灵活的访问策略,但在实际运用中还有一些场景KPABE并不能满足,例如,数据属主在加密时就想指定哪些用户可以访问数据。为了更好地满足实际应用,Bethencourt等人提出了CP-ABE方案。和KP-ABE不同,CP-ABE将访问策略嵌入密文之中,密文对应于一个访问结构,而密钥对应于一个属性集合,当且仅当属性集合中的属性能够满足此访问结构时用户才可以解密。CP-ABE示例如图10.9所示。

方案有以下四个算法。

(1)设置:输入隐藏的安全参数,输出公开参数PK和一个主密钥MK。

(2)加密:输入一个消息M、一个访问结构A、公开参数PK,输出密文E。

(3)密钥生成:输入一组属性Y、主密钥MK、公开参数PK,输出一个解密密钥D。

(4)解密:输入基于访问结构A加密的密文E,对应属性组Y的解密密钥D,公开参数PK。如果Y∈A,输出消息M。

图10.9 基于密文策略的属性加密示例

CP-ABE方案中每个用户的私钥都通过一个属性集合由密钥生成中心生成,数据属主通过一个访问控制结构把明文加密成密文,在加密的同时就决定哪些人可以解密消息。如果用户的属性集合满足访问控制树,则用户可以解密该密文。

CP-ABE应具有如下安全需求。

•数据机密性:非授权用户(属性集不满足访问策略)通过私钥无法解密数据。即如果私钥对应的属性集不满足访问策略,那么在任何多项式时间算法下,用户从密文中获得有效信息的概率是可以忽略的。

•抗共谋攻击:对于某个访问策略,有多个用户,每个用户的属性集都无法满足访问策略的要求,那么即使这些用户合作也无法解密。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈