基于cp-abe算法的访问控制方法在linux下的实现和算法优化,基于CP_ABE算法的访问控制方法在Linux下的实现和算法优化.docx...

基于CP_ABE算法的访问控制方法在Linux下的实现和算法优化

第6卷第27期(2010年9月)ComputerKnowledgeandTechnology电脑知识与技术基于 CP-ABE 算法的访问控制方法在 Linux下的实现和算法优化彭文华1,卞一茗2(1.江苏省常州市刘国钧高等职业技术学校,江苏常州213004;2.南京邮电大学计算机学院,江苏南京210046)摘要:该文在Linux操作系统下具体实现了基于CP-ABE算法的访问控制方法。同时,根据实验结果提出几种算法优化方案,旨在设计出更高效安全的访问控制方法。对于相应的算法优化方案,给出了一定的验证测试。测试表明,不同的优化方案对复杂度的影响各有不同。关键词:CP-ABE算法;访问控制;算法优化中图分类号:TP311文献标识码:A文章编号:1009-3044(2010)27-7563-04CP-ABE(Cipher-PolicyABE)算法的主要原理是加密方可以控制主动权,只有满足密文策略的访问者才能有获得解密密钥的权 利。基于CP-ABE算法的访问控制方法的基本原理是:客户端的用户若要求访问服务器端的资源,必须提供自己的用户属性给服务 器端。在服务器端,将用户提供的属性通过由资源属性组成的访问控制树(AccessTree)来判断用户是否能获得访问资源的私钥。一旦用户通过访问控制树,则用户能访问服务器端的资源。1 算法的一般形式基于CP-ABE算法的访问控制一般形式主要包括4个阶段,即系统参数的生成、私钥的提取、用公钥加密得到密文和访问控制树、用私钥解密得到明文,四个步骤分别完成其相应的功能。现具体描述如下:1)初始化:由服务器端生成公钥PK和主密钥MK。2)加密:对服务器端的资源服务M(例如一份文件)进行加密生成密文CT,并生成由属性资源组成的访问控制树Γ。其中,CT中 暗含Γ。a):访问控制树Γ中的每一个结点x(包括叶结点)都定义一个多项式qx。结点的遍历方式为由根节点R开始从上往下,从左往右的先序遍历方法。b):根结点R随机选取s,满足qR(0)=s;并选取其他各点完成对树中的每个节点多项式qx的完整定义。c):运用公式。 对M进行加密。3)提取:客户端用户输入自己的属性集S,生成用户的私钥SK。4)解密:利用递归算法从Γ的叶子结点到根节点R开始递归。对于树中的每个结点,通过执行判决条件来计算Fx,直至计算出s。根据s运用对称密钥算法AES对密文进行解密。a):利用结点函数DecryptNode(CT,SK,x)来表示Γ中的任一结点与用户提供的属性的访问判定,通过则得到最后的密钥s。b):由对称密钥算法AES 对密文进行解密。2 算法的实现步骤基于CP-ABE算法的访问控制的详细实现主要有四个过程,初始化过程、加密过程、密钥提取过程及解密过程,分别对应四个函数,即Setup、Encrypt、Keygen和Decrypt。1)初始化过程:运行Setup函数在服务器端生成CP-ABE算法中所需的PK,MK。2)加密过程:运行Encrypt函数生成密文CT与访问控制树。a):通过运行fill_policy函数将服务器端规定的属性集嵌入以R为根节点的访问控制树中,完成访问控制策略的定义。b):明文M用aes_128_encrypt对称加密AES算法函数对其进行数据加密,得出密文m。 3)密钥提取过程:运行Keygen函数在客户端由用户自己提供的属性生成密钥组件SK。4)解密过程:运行Decrypt函数对用户的密钥组件SK进行访问判定,判断是否获得对服务器端资源的访问权。a):由服务器端运行 check_sat 函数判定用户的密钥组件是否通过访问控制树。b):密文m用aes_128_decrypt函数对称解密AES算法函数对其进行数据解密,得出明文M。3 基于 CP-ABE算法的访问控制方法的具体实现在linux下,我们用对一个具体文档的访问来模拟基于CP-ABE的访问控制方法的实现。收稿日期:2010-06-26作者简介:彭文华(1978-),男,江苏常州市人,常州市刘国钧高等职业技术学校工作,讲师,河海大学在读工程硕士,研究方向为高职计算机网络专业网络课程的教学和教材开发;卞一茗,女,南京邮电大学计算机学院信息安全专业在读2009级研究生,主要从事ABE相关算法的研究。1)对用于CP-ABE算法的库函数pbc和libbswabe及cpabe包进行编译使用命令./configure,make,makeinstall实现这三个包的编译,图1为编译libbswabe包的运行截图。2)公钥PK、主密钥MK及一些系统参数的生成图 1 Libbswabe包的编译执行cpabe-setup生成加密与私钥生成所需要的PK及MK,并记录了生成系统参数所需要的相对时间(秒)。图 2 系统参数生成3) 系统对文档进行加密,并定义一定的访问权

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值