@KP-ABE知识整合
一、KP-ABE
KP-ABE(基于密钥策略的属性加密,Key-Policy ABE,KP-ABE)是将策略嵌入到用户密钥中,属性嵌入到密文中。密钥对应于一个访问结构而密文对应于一个属性集合,解密当且仅当属性集合中的属性能够满足此访问策略。这种设计比较接近静态场景,此时密文用与其相关的属性加密存放在服务器上,当允许用户得到某些消息时,就分配一个特定的访问策略给用户,其应用场景则更加偏向于付费视频网站、日志加密管理等等。如果用户想解密多个文件,那么他必须拥有多个可以满足匹配的密钥,否则不能解密多个文件。
二、访问树
三、KP-ABE与CP-ABE比较
比较项 | CP-ABE | KP-ABE |
---|---|---|
策略相关 | 密文 | 密钥 |
属性集合相关 | 密钥 | 密文 |
数据拥有者是否有权决定数据能被谁访问 | 能 | 否 |
属性集合中属性来源 | 用户属性 | 数据/文件属性 |
适用场景 | 云环境/区块链数据加密共享 | 日志管理、付费视频网站 |
四、KP-ABE的提出
Goyal等人2006年推出了KP-ABE,这是一种用于细粒度共享加密数据的密码系统。在该方案中,密文由属性集形成,并且用户密钥嵌入策略(即访问结构)。当用户属性满足访问结构时,用户可以解密消息。此处使用的访问结构是一种访问树,其中叶子节点由属性组成,非叶子节点由门限组成,形式为[m,n],n个属性满足m个即可解密。属性紧随其后。如果阈值为[1,n],则它代表“或”门,[n,n]代表“与”门。如果根节点得到满足,则用户可以解密数据,否则无法解密数据。假设属性是X1,X2,X3,访问策略是X1 AND(X2 OR X3),如图6所示。这里[1,2]表示“或”门,[2,2]代表“与”门。KP-ABE可以应用在 共享审计日志信息 和 广播加密方面。
五、KP-ABE流程
①设置:这是一个随机算法,输入隐藏的安全参数,输出公开参数PK和一个主密钥MK。
②加密:这是一个随机算法,输入一个消息m、一组属性Y、公开参数PK,输出密文E。
③密钥生成:这是一个随机算法,输入访问结构A、主密钥MK、公开参数PK,输出一个解密密钥D。
④解密算法输入:基于属性组Y加密的密文E,对应访问结构A的解密密钥D,公开参数PK。
如果Y∈A,输出X消息m。
KP-ABE流程
①设置:这是一个随机算法,输入隐藏的安全参数,输出公开参数PK和一个主密钥MK。
②加密:这是一个随机算法,输入一个消息m、一组属性Y、公开参数PK,输出密文E。
③密钥生成:这是一个随机算法,输入访问结构A、主密钥MK、公开参数PK,输出一个解密密钥D。
④解密算法输入:基于属性组Y加密的密文E,对应访问结构A的解密密钥D,公开参数PK。
如果Y∈A,输出X消息m。