本科毕业设计内容,知识水平很有限,不涉及较深内容,开篇博客来帮助整理一些概念问题。
属性加密(Attribute-Based Encryption)
属性加密算法基本上可以分为KP-ABE和CP-ABE。
KP-ABE(key-policy)
密钥策略属性加密,在KP-ABE 方案中,用户的解密私钥对应相应的访问控制策略,而密文则和属性集合相关联,只有密文所对应的属性值满足用户私钥关联的访问策略时,用户才能成功对加密数据进行解密。[1]
CP-ABE(Ciphertext-policy)
密文策略属性加密,在CP-ABE方案中由数据拥有者对数据进行加密(设置访问结构),私钥是一组属性集合,只有对应属性集合满足加密后的数据才可以进行解密。帮助理解的话,可以参考Bethencourt发布的工具箱,基本实现了CP-ABE的全部功能。
这是链接:john bethencourt
CP-ABE库的安装及使用
贴上一些大佬整理好的配置过程,里面有解释m4,gmp,pbc的一些依赖关系。
配置教程1
配置教程2
一点自己的配置经验:
m4/M4(大写不行就小写)在英文环境下配置,会好一点。[解决pbc更改路径不会像中文环境一样一直报错]虚拟机安装的不要嫌麻烦安装vmwaretools,顺便配置一下vim。
访问控制、访问结构、秘密共享方案
在阅读相关学习资料过程中,很容易被这么几个概念弄迷糊,大致说下我的理解,有不对的地方烦请指正。
访问控制
访问控制实际上就是要实现非法用户不能对系统资源进行访问,授权合法用户只能访问自己可以访问的。
有几种访问控制:强访问控制、自主访问控制、基于角色的访问控制
访问结构
访问结构、秘密共享方案这两个概念在我刚接触的时候,老是被混在一起。比如我们会在某篇论文中刚看到作者在秘密共享方案这节写了(t,n)门限秘密共享方案,然后又在下一节访问结构看到(t,n)门限结构。
在一篇博士论文中[2],“访问结构(Access structure)是访问控制策略的一个抽象概念,它定义了授权访问集合和非授权访问集合。在密码学中,与该概念极其相关的是秘密共享课题(Secret sharing scheme) 。任何一个秘密共享课题均实现了某个访问结构,该结构定义了哪些参与者集合可以重构秘密,而哪些不可以重构秘密。”
双线性对
如果是有密码学基础的同学,应该知道在公钥密码学的实现常依赖于数学运算。所以运算速度和对称加密(例如DES)相比起来会慢很多所以例如RSA通常是用来进行密钥交换或是数字签名,而不是直接对大型数据进行加密。目前属性加密算法大多是基于双线性对映射实现。
这儿贴一个连接:双线性配对
其它问题
有限域乘法逆问题
单调访问结构问题
大概先写到这里,再接着补充。
PS:密码学的学习真的需要耐心一点点去理解,加油共勉。
引用文献
[1] Bethencourt J.Sahai A.Waters B. Ciphertext-Policy Attribute-Based Encryption[C]//Security and Privacy, . SP '07. IEEE Symposium on. IEEE, .
[2] 王永涛. 基于属性密码体制的相关研究[D]. 上海交通大学.