时间:2015-12-26 15:31 文章来源:http://www.lunwenbuluo.com 作者:苏金树,曹丹,王小峰, 点击次数:
摘要:由于属性基加密(attribute-basedencryption,简称ABE)机制以属性为公钥,将密文和用户私钥与属性关联,能够灵活地表示访问控制策略,从而极大地降低了数据共享细粒度访问控制带来的网络带宽和发送结点的处理开销.因此,ABE在细粒度访问控制领域具有广阔的应用前景.在对基本ABE机制及其两种扩展:密钥-策略ABE(KP-ABE)和密文-策略ABE(CP-ABE)进行深入研究、分析后,针对ABE中的CP-ABE机制访问结构的设计、属性密钥撤销、ABE的密钥滥用、多授权机构等难点问题进行了深入探讨和综合分析,对比了现有研究工作的功能及开销.最后讨论了ABE未来需进一步研究的问题和主要研究方向.
关键词:ABE;访问控制策略;密钥撤销;密钥滥用;多机构
随着互联网和分布式计算技术的发展,在分布开放的计算环境中进行数据共享和处理的需求越来越多.资源提供方需要制定灵活可扩展的访问控制策略,从而控制数据的共享范围,也需要在与用户的通信过程中保证数据的机密性.大规模分布式应用也迫切需要支持一对多的通信模式,从而降低为每个用户加密数据带来的巨大开销.传统的基于公钥基础设施(publickeyinfrastructure,简称PKI)的加密机制能够保护数据机密性,但是存在3个重大缺陷:一是资源提供方必须获取用户的真实公钥证书,否则无法加密;二是资源提供方需要用接收群体中每个用户的公钥加密消息,并将密文分别发送给相应的用户,导致处理开销大和占用带宽多的问题;三是广播加密技术虽然部分解决了效率问题,却要求资源提供方在加密前获取用户列表,这会产生另外两个次生问题:分布式难以一次获取接收群体的规模与成员身份;分布式应用列举用户身份会损害用户隐私.
为了解决第1个重大缺陷,Shamir和Boneh等人提出并实现了基于双线性对技术的身份基加密(identity-basedencryption,简称IBE)机制,直接使用用户的身份作为公钥,使得资源提供方无需在线查询用户的公钥证书.Sahai和Waters在IBE技术的基础上提出属性基加密(attribute-basedencryption,简称ABE)机制,实现基于属性的加解密,能够进一步解决第2个和第3个重大缺陷.ABE机制具有以下4个特点:一是资源提供方仅需根据属性加密消息,无需关注群体中成员的数量和身份,降低了数据加密开销并保护了用户隐私;二是只有符合密文属性要求的群体成员才能解密消息,从而保证数据机密性;三是ABE机制中用户密钥与随机多项式或随机数相关,不同用户的密钥无法联合,防止了用户的串谋攻击;四是ABE机制支持基于属性的灵活访问控制策略,可以实现属性的与、或、非和门限操作.ABE机制的高效性、抗串谋性和策略表示灵活性使得它在细粒度访问控制(审计日志、付费电视系统等)、定向广播、组密钥管理、隐私保护等领域具有良好的应用前景.
最初提出的基本ABE机制仅能支持门限访问控制策略.为了表示更灵活的访问控制策略,学者们进一步提出密钥-策略ABE(KP-ABE)和密文-策略ABE(CP-ABE)两类ABE机制.ABE机制的复杂性导致其本身仍存在一些需要解决的重要问题:(1)CP-ABE机制中的策略由消息发送方制定,使得系统公钥设计的复杂性与策略复杂性相关,限制了访问结构的设计;(2)ABE机制中用户密钥与属性相关,属性的动态性增加了密钥撤销的开销和难度;(3)ABE机制中用户私钥由授权机构产生,且用户私钥与用户的隐私信息(如ID)无关,造成了授权机构和用户都可能泄露用户私钥,无法分清密钥泄露的责任;(4)多机构ABE能够分担授权机构的责任,也满足分布式应用的多机构协作的需求,对ABE的设计也提出了挑战.针对以上提到的4个问题,ABE机制已成为近年来学者们研究的热点,并在密码和安全协议领域的期刊和学术会议上发布了不少好的研究成果.
1、ABE机制
ABE属于公钥加密机制,其面向的解密对象是一个群体,而不是单个用户.实现这个特点的关键是引入了属性概念.属性是描述用户的信息要素,例如:校园网中的学生具有院系、学生类别、年级、专业等属性;教师具有院系、职称、教龄等属性.群体就是指具有某些属性值组合的用户集合.例如,计算机学院本科生就是指院系属性值为计算机学院、学生类别属性值为本科生的一个群体.
ABE使用群体的属性组合作为群体的公钥,所有用户向群体发送数据使用相同公钥.上例中,{计算机学院,本科生}作为向计算机学院本科生发送密文的公钥.而私钥由属性授权机构根据用户属性计算并分配给个体.
1.1术语定义
本文用到的符号见表1.ABE机制通过访问结构表示策略,以双线性对为技术基础,并基于各种数学难题和假设构建安全性.下面分别给出本文基本概念的形式化定义.
定义1(访问结构[15]).假定{P1,P2,…,Pn}是参与方的集合,P=2{P1,P2,...,Pn}.访问结构A是{P1,P2,…,Pn}的非空子集,即A.P\{.}.若访问结构A是单调的,则.B,C,若B∈A且B.C,那么C∈A.
定义2(双线性对[5]).映射e:G1×G1→G2若满足下列特征就是双线性对:(1)双线性:.a,b∈Zq,.f,h∈G1,都有e(fa,hb)=e(f,h)ab,称映射e:G1×G1→G2是双线性的;(2)非退化性:.f∈G1,使e(f,f)≠1;(3)可计算的:.f,h∈G1,存在一个有效的算法计算e(f,h).注意:e(*,*)是对称操作,即e(fa,hb)=e(f,h)ab=e(fb,ha).
定义3(计算Diffie-Hellman(CDH)问题[16]).随机选择a,b∈Zq*,给定三元组(g,ga,gb),计算gab.
定义4(判定双线性Diffie-Hellman(DBDH)问题[16]).随机选择*a,b,c∈Zq,R∈G2,给定元组(g,ga,gb,gc,R),判断等式e(g,g)abc=R是否成立.
定义5(判定线性(D-Linear)问题[17]).随机选择阶为q的群G的生成元g,f,v,随机选择指数a,b∈Zq,R∈G,给定元组(g,f,v,ga,fb,R),判断等式va+b=R是否成立.
定义6(选择密文攻击(IND-CCA)游戏[16]).敌手和受挑战者进行如下交互:(1)受挑战者对加密方案进行系统建立,输出公私钥对,并将公钥交给敌手;(2)敌手可以向受挑战者进行一些解密询问,受挑战者解密密文,返回结果给敌手;(3)敌手选择两个明文M0,M1,然后发送给受挑战者.受挑战者投掷一个公平硬币b∈{0,1},对明文Mb加密,得到密文C*并发送给敌手;(4)敌手可以继续向受挑战者进行一些同步骤(2)中的解密询问,但询问密文不能为C*;(5)最后,受挑战者必须回答0或者1(记为b′),作为对密文C*的猜测.
若b′=b,则敌手在该游戏中获胜.敌手在游戏中的优势定义为Pr[b′=b].1/2.
若在上面的交互中,敌手不能进行任何解密询问,则此游戏称为选择明文攻击(IND-CPA)游戏.对于一个加密方案,如果任意概率多项式时间(PPT)的敌手在上述游戏中的优势是可忽略的,则称该加密方案是IND-CCA安全,简称CCA安全.对应选择明文攻击游戏,称为IND-CPA安全,简称CPA安全.CPA安全是公钥加密机制的最基本要求,CCA安全是公钥加密机制更强的安全性要求.目前所提出的ABE方案基本上都是CPA安全,但很多达不到CCA安全.
1.2ABE基本机制
ABE访问控制系统的参与实体包括授权机构和用户.授权机构监管属性并为用户颁发属性密钥;用户分为消息发送方和接收方.Sahai和Waters提出基本ABE(fuzzyIBE),系统中的每个属性用散列函数映射到*Zq中,
密文和用户密钥都与属性相关.该机制支持基于属性的门限策略,即只有用户属性集与密文属性集相交的元素数量达到系统规定的门限参数时才能解密.例如,图书馆中某论文的属性集为{计算机,安全,英文,博士},且该论文的属性加密门限参数为2,则属性集为{计算机,路由,博士}的用户可以访问该论文,而属性集为{机械,博士}的用户无法访问该论文.
基本ABE机制包括4种算法:Setup,Extract,Encrypt,Decrypt.系统初始化时根据安全参数运行BDH参数生成器,产生两个阶为素数q的群G1,G2,以及双线性对e:G1×G1→G2.d为门限参数.
(1)Setup(d):授权机构执行,选择y,t1,…,tn∈Zq,系统公钥PK为1(1,...,,(,))ttnyT=gTn=gY=egg.主密钥MK1302JournalofSoftware软件学报Vol.22,No.6,June2011为(y,t1,…,tn).
(2)KeyGen:授权机构执行,生成用户u的私钥.随机选择一个(d.1)次多项式p,令p(0)=y,用户私钥SK为{()}.upitiDigiA.∈=
(3)Encrypt:发送方执行,用属性集AC加密消息M∈G2.随机选择s∈Zq,密文为(,(,),{i}).CsystsACEYMeggMEigiA.∈===
(4)Decrypt:接收方执行.若|Au∩AC|>d,则选择d个属性i∈Au∩AC,计算e(Ei,Di)=e(g,g)p(i)s,再用拉格朗日插值找到Ys=e(g,g)p(0)s=e(g,g)ys,得到M=E/Ys.
上述机制中,KeyGen算法采用Shamir门限秘密共享机制,将秘密y嵌入到SK的各个构件Di中,实现门限策略;SK与随机多项式p有关,使得不同用户无法结合私钥实施串谋攻击.Encrypt算法采用双线性对加密消息,并且密文构件Ei与属性相关,从而规定了解密必须的属性;随机数s可以防止多次加密情况下用户首次解密成功即可解密后续密文的问题.在上述基本ABE机制中,PK与系统属性数目线性相关,幂运算次数和双线性对数目较多.Pirretti等人和Baeky等人提出了性能更优的算法.
基本ABE只能表示属性的“门限”操作,且门限参数由授权机构设置,访问控制策略并不能由发送方决定.
而许多现实应用需要按照灵活的访问控制策略支持属性的与、或、门限和非操作,实现发送方在加密时规定访问控制策略.由于基本ABE无法支持灵活的访问控制策略,Goyal等人提出由接收方制定访问策略的KP-ABE机制,支持属性的与、或、门限操作.Bethencourt等人提出由发送方规定密文的访问策略的CP-ABE机制.分别说明了KP-ABE和CP-ABE的工作流程.
KP-ABE机制所示,用户密钥采取树结构描述访问策略Au-KP,树的叶节点集合为Au.密文与属性集AC相关,只有AC满足Au-KP,用户才能解密密文.KP-ABE与基本ABE机制的区别在于KeyGen和Decrypt算法.
KeyGen算法仍采用秘密共享机制,采取自顶向下的方式为树中每个节点x定义一个次数比节点的门限值小1的随机多项式px,令px(0)=pparent(x)(index(x)),其中,parent(x)表示x的父节点,index(x)表示x的父节点给x的编号.
联系方式
随机阅读
热门排行