ABE
属性基加密
简介
- 基于属性的加密(Atrribute-based Encryption,ABE)也成为属性基加密。
- 2005年,作为身份基加密(Identity-based Encryption)的一种扩展,被首次提出。
- 能够实现对加密数据的细粒度访问控制,在安全云存储,安全访问控制等方面有着广阔的应用前景,目前在安全性,访问策略表达力,效率等方面都得到了比较充分的研究。
- 细粒度访问控制是一种更细致、更强大的数据和资源访问控制方式。它基于对单个数据资源的多个条件和/或多个权限来授予或拒绝对关键资产(如资源和数据)的访问。与粗粒度访问控制相比,细粒度访问控制使用更细微和可变的方法来允许访问。
- 细粒度控制可以细化到数据库的行级或列级,将安全控制应用于单个数据项,并为每个数据项提供自己指定的访问策略。它通常用于大量数据源存储在一起的云计算环境中。
- 细粒度访问控制是一种访问控制系统,它允许向一组用户授予不同的访问权限,并允许灵活地指定单个用户的访问权限。在这种系统中,数据以加密形式存储在服务器上,而不同的用户可以根据安全策略解密不同的数据。这有效地消除了依赖存储服务器来防止未经授权的数据访问的需要。
- 属性是事物或者信息文件的特征,策略则是这些特征之间的与或关系
密文策略属性基加密
- 密文策略属性基加密(Ciphertext-Policy ABE,CP-ABE):
- 每个用户的密钥sk由其属性集合S描述和决定
- 密钥由密钥管理/分发权威机构根据用户的属性集合S生成和分发
- 每个密文C会关联一个基于用户属性的访问策略AP
- 加密这根据自己的意愿(具有哪些属性的用户能够解密其密文)决定访问策略AP,并用AP对明文加密来产生密文C。
- 对于一个关联着访问策略AP的密文C和一个关联着属性集合的密钥sk,当且仅当属性集合S满足访问策略AP,密钥sk能正确解密密文C。
- 每个用户的密钥sk由其属性集合S描述和决定
- 算法:
- Setup(λ,U)->(PP,MSK)
- 系统建立算法,由密钥管理权威机构PKG运行。
- 输入系统安全参数λ和系统属性空间U
- 输出系统公开参数PP和主密钥MSK
- KeyGen(PP,MSK,S)->sks.
- 用户密钥生成算法,由PKG运行。
- 用户向PKG提交和证明自己的属性集合S,PKG运行此算法为用户生成密钥sks。
- Encrypt(PP,M,AP)->CAP.
- 任何用户都可以使用系统公开参数PP和自己决定的访问策略AP来加密自己的明文M,产生相应的密文CAP。
- Decrypt(PP,CAP,sks)->M/⊥
- 当密钥sks的属性集合S满足密文的访问控制策略AP,解密算法解密出正确明文。
- Setup(λ,U)->(PP,MSK)
密钥策略属性基加密
- 密钥策略属性基加密(Key-Policy ABE,KP-ABE):
- 每个密文C会关联一个描述其数据性质的属性集合S
- 加密这更具数据的性质决定其属性集合S,并进行加密,产生密文C
- 每个用户的密钥sk会关联一个基于数据的属性的访问策略AP
- 密钥由密钥管理/分发权威机构根据用户的解密权限对应的访问策略来生成和分发
- 对一个关联着属性集合S的密文C和一个关联着访问策略AP的密钥sk,当且仅当属性集合S满足访问策略AP,密钥sk能正确解密密文C。
- 每个密文C会关联一个描述其数据性质的属性集合S
- 算法:
- Setup(λ,U)->(PP,MSK)
- 系统建立算法,由密钥管理权威机构PKG运行。
- 输入系统安全参数λ和系统属性空间U
- 输出系统公开参数PP和主密钥MSK
- KeyGen(PP,MSK,AP)->skAP.
- 用户密钥生成算法,由PKG运行。
- 用户向PKG提交和证明自己的访问结构AP,PKG运行此算法为用户生成密钥skAP。
- Encrypt(PP,M,S)->Cs.
- 任何用户都可以使用系统公开参数PP和自己决定的属性集合S来加密自己的明文M,产生相应的密文Cs。
- Decrypt(PP,CAP,skAP)->M/⊥
- 当密钥skAP的访问策略AP满足密文的属性集合S,解密算法解密出正确明文。
- Setup(λ,U)->(PP,MSK)
特点
- 是一种一对多的公钥加密机制
- 加密的时候加密者不需要知道接收者的具体身份,只需要使用描述性属性指定访问策略
- 能够实现对机密数据的细粒度访问控制
- 第一个具有这种功能的加密机制
- 被认为是实现安全访问控制的最有前途的机制之一
应用场景
- CP-ABE适用于分布式的安全访问控制:由数据加密者自主决定哪些人可以访问他的数据
- 公有云上云存储
- 大数据安全
- KP-ABE适用于有权限中心的安全访问控制:由权限管理中心根据用户的权限(访问策略)为用户生成密钥
- 付费电视
- 网络访问日志审核
注意事项
- 密钥托管问题:密钥权威机构能够生成任何属性集合/访问策略对应的密钥,并在不被察觉的情况下解密密文
- 注意应用场景
- 使用密钥托管问题已经解决的属性基加密方案
- 背叛者追踪问题:用户可能会泄露与其他用户公有的属性所对应的密钥,例如:{CS,PhD}对应的密钥。从多个具有公有属性的用户中识别出泄露密钥的恶意用户(背叛者)称为背叛者追踪
- 注意应用场景
- 使用具有背叛者追踪功能的属性基加密方案
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.