一种基于cp-abe的密文访问控制方法

文档序号:10626584阅读:387来源:国知局
一种基于cp-abe的密文访问控制方法
【专利摘要】本发明公开了一种基于CP?ABE的密文访问控制方法,属于信息安全领域,其包括如下步骤:1、进行准备和维护工作,其包括密文策略的属性加密体制(CP?ABE)的初始化、用户注册与审核、产生系统和用户的用于签名和加密的非对称密钥对、生成用户的CP?ABE属性密钥SK以及密钥与属性证书管理;2、文档共享需要文档提供者、可扩展访问控制标记语言(XACML)访问控制系统及共享用户三者协同工作。本发明利用PMI体系中的属性证书作为CP?ABE属性集合和访问结构的表述凭证,XACML表达CP?ABE策略,保证了属性集合和访问控制结构描述的安全性。本发明引入具备继承关系的层次结构,支持分布式、可授权、可推导等特性,支持属性授权能力应遵守约束限制,适用于分布和开放的网络应用环境。
【专利说明】
一种基于CP-ABE的密文访问控制方法
技术领域
[0001]本发明涉及密文访问控制(S卩加密并控制用户的解密能力)技术,具体涉及一种基于CP-ABE的密文访问控制方法,其属于信息安全领域。
【背景技术】
[0002]随着信息技术与网络技术发展的日新月异,分布式应用得到了越来越广泛的应用,但对于应用中的敏感数据,必须通过密文访问控制(即加密并控制用户的解密能力)来实现信息的安全共享。传统的加密体制如PKI (Public Key Infrastructure,公钥基础设施)及基于身份加密体制IBE的加密,在分布式应用中得到了广泛的应用。传统加密体制首先必须列举共享群体中的用户并获取其公钥,并须针对每一用户利用其公钥生成密文,加密次数就是共享群体中的用户数。然后,共享用户接收到密文后,各自用私钥解密得到共享信息的明文。但是,在一些分布式的网络应用中,由于系统在地域上的广泛分布,信息共享的群体可能遍布全国甚至全球;或者是共享群体中的个体数量会极其庞大,不仅难以列举,还可能损害用户隐私;又或者共享群体中的成员是由一些符合某种特定条件的个体组成,根本不能列举。而信息共享的需求不仅安全性要求高,效率也有很高要求。面对这种情形,传统加密体制无能为力,不能满足信息共享的安全需求。
[0003]CP-ABE算法能够制定灵活的访问策略而更加适于分布式环境下的密文访问控制,加密方加密信息时不需知道具体是谁解密,而解密方只需符合相应条件便可解密。国内外许多学者对CP-ABE算法进行研究,L.Cheung等人通过给出固定大小的访问控制表达树提出了一个CP-ABE方案,实现了作用于正属性与负属性上的and门访问结构,表达能力得到了改善。B.Waters提出的CP-ABE方案是一个标准模型下可证安全的,控制结构的描述是通过利用LSSS (Linear Secret Sharing Scheme,线性秘密分享方案)来决定哪些子集属于授权集合哪些属性的集合不是授权集合,该CP-ABE方案无论在表述能力上还是安全证明上都有很大的贡献。2008年上海交通大学可信任数字技术实验室曹珍富、董晓蕾课题组设计了一个新的高效的CP-ABE方案,用来解决加密数据的共享问题,在世界上最先实现了加密数据共享移动设备及相关程序的研发。
[0004]学者们的研究内容主要集中在更强的表达能力、协议的安全模型证明及效率等方面,虽然获得了很多成果但与实际应用相结合的具体实施模型还有不少问题亟待研究,包括如何设计安全灵活的属性集合描述模式,如何构造易维护的访问控制结构,如何增强访问控制结构的表达能力,以及如何设计一个完整、详细的授权实施方案,只有解决好这些问题才能获取CP-ABE更多的实际应用场景。

【发明内容】

[0005]本发明所要解决的技术问题是提供了一种属性集合和访问控制结构描述安全可靠的基于CP-ABE的密文访问控制方法。
[0006]本发明所采用的技术方案包括如下步骤: 步骤1、准备和维护工作,其包括:
①完成基于密文策略的属性加密体制CP-ABE的初始化,产生系统公共参数PK和主密钥
MK;
②生成系统授权管理员的IBE非对称密钥对作为系统非对称密钥对,一对用于系统加密,一对用于签名,两对密钥均存于系统授权管理员的专用安全设备USB key中;
③完成用户注册;
④审核用户注册信息;
⑤生成用户的IBE非对称密钥对,一对用于加密,一对用于签名,两对密钥均存储于用户的专用安全设备USB key中;
⑥系统和用户PKI及IBE密钥对的存储、更新及管理;
⑦生成用户属性证书AC,存入轻量级目录访问协议LDAP证书库中;
⑧由用户属性证书AC获取用户属性集合S,根据S及系统主密钥MK生成该用户的CP-ABE属性密钥SK,SK=KeyGen(MK,S),SK存于用户的专用安全设备USB key中;
⑨对属性证书进行存储及管理,所述属性证书包括两部分,属性证书AC及其扩展即属性描述符证书ADC;
步骤2、文档共享需要文档提供者、XACML访问控制系统及共享用户三者协同工作,具体工作如下:
I)共享文档提供者的工作步骤如下:
1-1、文档提供者制定共享用户应满足的条件即访问结构,并将其形成XML文档,用文档提供者的IBE私钥签名、系统公钥加密后存储在其名下的属性描述符证书ADC中;
1-2、文档提供者制定环境与策略约束条件,形成XACML策略文件,并也用其IBE私钥签名、系统公钥加密;
1-3、采用混合加密机制,利用文档提供者属性描述符证书ADC中的访问结构对文档的会话密钥Key进行CP-ABE加密,用Key对文档内容加密,形成加密信息包;
1-4、文档提供者将加密信息包交给XACML访问控制系统准备传输给共享用户;
2 )XACML访问控制系统的工作步骤如下:
2-1、用户向策略执行点PEP提出某文档的共享请求;
2-2、所述策略执行点PEP响应用户请求,确定要共享的文档ID和用户ID;
2-3、策略执行点PEP要求用户提交相关的认证评估信息,其包括当时的网络情况、电脑系统软件运行情况、硬件运行情况等环境信息,电脑主要设备的参数等;
2-4、用户收集评估信息,发送给所述策略执行点PEP;
2-5、所述策略执行点PEP依据用户提供的访问请求(包括用户ID、共享文档ID和共享方式等)及相关评估信息形成XACML格式的判决请求报文,发给策略决策点PDP进行评估与决策;
2-6、所述策略决策点rop接收策略执行点PEP发来的请求报文,对报文进行解析,获取用户ID、共享文档ID、共享方式、环境情况等各类认证评估信息;
2-7、策略决策点TOP请求策略信息点PIP返回与主体、资源或者环境有关的属性值;
2-8、策略决策点rop向策略管理点PAP请求共享文档ID的策略;
2-9、策略管理点PAP根据共享文档ID得到文档提供者的ID,进而从LDAP证书库中获取文档提供者的属性描述符证书ADC,并由此得到文档提供者制定的XACML策略文件密文,PAP将该策略密文传给rop;
2-10、策略决策点rop对获取到的策略文件密文验证文档提供者的签名,若通过则用系统私钥解密,得到策略文件,并转步骤2-11。否则rop判决结束,给出策略文件签名验证没通过的评判结果,并转步骤2-12;
2-11、策略决策点rop依据XACML策略文件判定用户提交的环境情况是否能够满足文档提供者制定的环境条件,是否也能够满足策略约束条件,若有任何一项不满足,则PDP就会判为拒绝访问;若两项都满足,则允许访问;
2-12、所述策略决策点rop将决策结果告知策略执行点PEP;
2-13、所述策略执行点PEP接收到的策略决策点rop决策结果若为允许访问,则XACML访问控制系统向用户传送该文档加密包,用户获得该加密信息包,即可进行CP-ABE解密,否则XACML访问控制系统拒绝向用户传送共享文档的加密信息包。
[0007]3)共享用户的工作步骤如下:
3-1、共享用户接收由XACML访问控制系统传送的加密信息包;
3-2、共享用户由加密信息包获取签名SIG,获取文档提供者的IBE签名公钥;
3-3、共享用户用文档提供者的IBE签名公钥验证签名SIG,通过后继续,否则结束;
3-4、共享用户由信息包获取密文CK,利用CP-ABE加密体制,用共享用户自己USB key设备中的属性密钥SK对密文CK解密,得到会话密钥Key,即Key=Decrypt(PK,CK,SK),只有授权用户,即共享用户的属性满足文档提供者制定的条件即访问结构,才能正确解密;
3-5、由信息包获取E(F),用Key对获取的E(F)解密,得到要访问的共享文档的明文。
[0008]进一步的,所述步骤2中,在共享文档提供者的工作中,利用文档提供者属性描述符证书ADC中的访问结构对文档CP-ABE加密的方法如下:
1-3-1、生成会话密钥Key;
1-3-2、用会话密钥Key对要共享的电子文档M的内容进行加密,形成密文E(F);
1-3-3、用文档提供者的IBE签名私钥对E(F)签名,形成签名SIG;
1-3-4、获取文档提供者的ADC,从中获取访问结构的XML文件密文;
1-3-5、对获取到的XML文件密文验证文档提供者的签名,用系统私钥解密,得到XML文件;
1-3-6、根据XML文件生成访问结构T ;
1-3-7、利用CP-ABE体制,对会话密钥Key加密,结果为CK,即CK=Encrypt (PK,Key,T);
1-3-8、生成加密信息包,即CK+E(F)+SIG。
[0009]进一步的,所述步骤I中,对属性证书AC进行管理,是将属性证书AC的颁发分为信任源点SOA中心、属性权威机构AA中心及AA代理点三级。
[0010]进一步的,所述属性证书AC和记录访问策略的属性描述符证书ADC由SOA中心、AA中心或AA代理颁发,并存放在服务器端LDAP证书库中。
[0011]进一步的,所述属性证书AC和属性描述符证书ADC都遵循X.509V4标准,并且采用ANS.1编码格式来描述。
[0012]进一步的,每个所述信任源点SOA中心、属性权威机构AA中心及AA代理点的功能都由相应的系统管理员来完成,所述系统管理员都拥有两对IBE密钥对用于签名和加密,私钥存在个人的USB Key数字设备中,公钥存在服务器中。
[0013]进一步的,所述SOA中心或AA中心发放属性证书AC时,使用相应管理员的私钥进行签名。
[0014]进一步的,所述步骤I中,对属性证书AC进行管理还包括受理、编码、签发及吊销,所述属性证书AC的受理、产生、编码、签发及吊销由授权管理员和签发管理员负责。
[0015]进一步的,所述步骤2-3中,所述策略执行点PEP要求用户提交相关的认证评估信息,所述认证评估信息包括当时的网络情况、电脑系统软件运行情况、硬件运行情况、电脑主要设备的参数。
[0016]进一步的,所述步骤2-4中,所述策略执行点PEP依据用户提供的访问请求,其包括用户ID、共享文档ID和共享方式。
[0017]本发明的有益效果如下:
本方法是基于授权管理基础设施(Privilege Management Infrastructure,PMI)和可扩展访问控制标记语言(extensible Access Control Markup Language,XACMLMtlCP-ABE访问控制实施方案,本方法利用PMI体系中的属性证书作为CP-ABE属性集合和访问结构的表述凭证,XACML表达CP-ABE策略,保证了属性集合和访问控制结构描述的安全性。本发明引入具备继承关系的层次结构,支持分布式、可授权、可推导等特性,支持属性授权能力应遵守约束限制,适用于分布和开放的网络应用环境。
【附图说明】
[0018]图1为本方法中XACML访问控制模型的数据流模型图。
[0019]图2为实施例中混合加密的工作流程图。
[0020]图3为本方法中共享文档提供者的工作流程图。
[0021 ]图4为本方法中CP-ABE的加密流程图。
[0022]图5为本方法中XACML访问控制系统的工作流程图。
[0023]图6为本方法中共享用户对CP-ABE加密信息包的工作流程图。
【具体实施方式】
[0024]为使本发明的目的、技术方案和优点更加清楚,下面结合图1-图6和具体实施例对发明进行清楚、完整的描述。
[0025]本实施例对共享资源进行分类,那些不能以独立电子文档共享的资源,如硬件设备、不形成查询结果文件的实时信息查询等,用户的访问权限都记录在其属性证书AC中,访问控制采用PMI机基于角色的访问控制模型及XACML访问控制等技术;而那些能够以独立电子文档形式共享的那些资源,利用CP-ABE机制实现类似于广播的共享效果。因此,我们在XACML访问控制模型中,其数据流模型如图1所示,增加CP-ABE策略,这些策略只包括访问时要求满足的运行环境条件和策略约束条件,它们以XACML策略文件的方式存储,策略决策点TOP只需对此进行评估与判决,评估通过了,用户才能够收到利用混合加密机制处理过的加密信息包,CP-ABE加密和会话密钥加密相结合,如图2所示,存储在属性证书AC中的用户属性满足属性描述符证书ADC中的访问结构之后才能顺利对收到的密文解密。为了保证CP-ABE访问结构和策略的安全,发明对描述访问结构的XML文件及XACML策略文件加以防护,利用发布人的IBE私钥签名、系统的IBE公钥加密,保证其不可抵赖性与不被篡改,保证传输中不被窃取。
[0026]本实施方案由服务器端和客户端两部分组成。服务器端主要担负信息管理、策略制定、数据计算与数据处理等功能,并为客户端提供API接口。为了安全起见由特定的系统管理员完成。客户端是用户的操作界面。
[0027]本实施例具体采用如下步骤实现:
步骤1、服务器做准备工作,其包括:
①完成基于密文策略的属性加密体制CP-ABE的初始化,产生系统公共参数PK和主密钥
MK;
②生成系统授权管理员的IBE非对称密钥对作为系统非对称密钥对,一对用于系统加密,一对用于签名,两对密钥均存于系统授权管理员的专用安全设备USB key中;
③完成用户注册;
④审核用户注册信息;
⑤生成用户的IBE非对称密钥对,一对用于加密,一对用于签名,两对密钥均存于用户的专用安全设备USB key中;
⑥系统和用户PKI及IBE密钥对的存储、更新及管理;
⑦生成用户属性证书AC,存入轻量级目录访问协议LDAP证书库中;
⑧由用户属性证书AC获取用户属性集合S,根据S及系统主密钥MK生成该用户的CP-ABE属性密钥SK,SK=KeyGen(MK,S),SK存于用户的专用安全设备USB key中;
⑨对属性证书进行存储及管理,所述属性证书包括两部分,属性证书AC及其扩展即属性描述符证书ADC;
步骤2、文档共享需要文档提供者、XACML访问控制系统及共享用户三者协同工作,具体工作如下:
1)共享文档提供者的工作步骤如下,如图3所示:
1-1、文档提供者制定共享用户应满足的条件即访问结构,并将其形成XML文档,用文档提供者的IBE私钥签名、系统公钥加密后存储在其名下的属性描述符证书ADC中;
1-2、文档提供者制定环境与策略约束条件,形成XACML策略文件,并也用其IBE私钥签名、系统公钥加密;
1-3、采用混合加密机制,利用文档提供者属性描述符证书ADC中的访问结构对文档的会话密钥Key进行CP-ABE加密,用Key对文档内容加密,形成加密信息包,如图4所示;
1-4、文档提供者将加密信息包交给XACML访问控制系统准备传输给共享用户;
2)XACML访问控制系统的工作步骤如下,如图5所示:
2-1、用户向策略执行点PEP提出某文档的共享请求;
2-2、所述策略执行点PEP响应用户请求,确定要共享的文档ID和用户ID;
2-3、策略执行点PEP要求用户提交相关的认证评估信息,其包括当时的网络情况、电脑系统软件运行情况、硬件运行情况等环境信息,电脑主要设备的参数等;
2-4、用户收集评估信息,发送给所述策略执行点PEP;
2-5、所述策略执行点PEP依据用户提供的访问请求,包括用户ID、共享文档ID和共享方式等,以及相关评估信息形成XACML格式的判决请求报文,发给策略决策点rop进行评估与决策;
2-6、所述策略决策点rop接收策略执行点PEP发来的请求报文,对报文进行解析,获取用户ID、共享文档ID、共享方式、环境情况等各类认证评估信息;
2-7、策略决策点TOP请求策略信息点PIP返回与主体、资源或者环境有关的属性值;
2-8、策略决策点rop向策略管理点PAP请求共享文档ID的策略;
2-9、策略管理点PAP根据共享文档ID得到文档提供者的ID,进而从LDAP证书库中获取文档提供者的属性描述符证书ADC,并由此得到文档提供者制定的XACML策略文件密文,PAP将该策略密文传给rop;
2-10、策略决策点rop对获取到的策略文件密文验证文档提供者的签名,若通过则用系统私钥解密,得到策略文件,并转步骤2-11。否则rop判决结束,给出策略文件签名验证没通过的评判结果,并转步骤2-12;
2-11、策略决策点rop依据XACML策略文件判定用户提交的环境情况是否能够满足文档提供者制定的环境条件,是否也能够满足策略约束条件,若有任何一项不满足,则PDP就会判为拒绝访问;若两项都满足,则允许访问;
2-12、所述策略决策点rop将决策结果告知策略执行点PEP;
2-13、所述策略执行点PEP接收到的策略决策点rop决策结果若为允许访问,则XACML访问控制系统向用户传送该文档加密包,用户获得该加密信息包,即可进行CP-ABE解密,否则XACML访问控制系统拒绝向用户传送共享文档的加密信息包。
[0028]3)共享用户的工作步骤如下,如图6所示:
3-1、共享用户接收由XACML访问控制系统传送的加密信息包;
3-2、共享用户由加密信息包获取签名SIG,获取文档提供者的IBE签名公钥;
3-3、共享用户用文档提供者的IBE签名公钥验证签名SIG,通过后继续,否则结束;
3-4、共享用户由信息包获取密文CK,利用CP-ABE加密体制,用共享用户自己USB key设备中的属性密钥SK对密文CK解密,得到会话密钥Key,即Key=Decrypt(PK,CK,SK),只有授权用户才能正确解密,授权用户即共享用户的属性满足文档提供者制定的条件即访问结构;
3-5、由信息包获取E(F),用Key对获取的E(F)解密,得到要访问的共享文档的明文。
[0029]进一步的,所述步骤2中,在共享文档提供者的工作中,利用文档提供者属性描述符证书ADC中的访问结构对文档CP-ABE加密的方法如下,如图4所示:
1-3-1、生成会话密钥Key;
1-3-2、用会话密钥Key对要共享的电子文档M的内容进行加密,形成密文E(F);
1-3-3、用文档提供者的IBE签名私钥对E(F)签名,形成签名SIG;
1-3-4、获取文档提供者的ADC,从中获取访问结构的XML文件密文;
1-3-5、对获取到的XML文件密文验证文档提供者的签名,用系统私钥解密,得到XML文件;
1-3-6、根据XML文件生成访问结构T ;
1-3-7、利用CP-ABE体制,对会话密钥Key加密,结果为CK,即CK=Encrypt (PK,Key,T); 1-3-8、生成加密信息包,即CK+E(F)+SIG。
[0030]进一步的,所述步骤I中,对属性证书AC进行管理,是将属性证书AC的颁发分为信任源点SOA中心、属性权威机构AA中心及AA代理点三级。
[0031]进一步的,所述属性证书AC和记录访问策略的属性描述符证书ADC由SOA中心、AA中心或AA代理颁发,并存放在服务器端的LDAP证书库中。
[0032]进一步的,所述属性证书AC和属性描述符证书ADC都遵循X.509v4标准,并且采用ANS.1编码格式来描述。
[0033]进一步的,每个所述信任源点SOA中心、属性权威机构AA中心及AA代理点的功能都由相应的系统管理员来完成,所述系统管理员都拥有两对IBE密钥对用于签名和加密,私钥存在个人的USB Key数字设备中,公钥存在服务器中。
[0034]进一步的,所述SOA中心或AA中心发放属性证书AC时,使用相应管理员的私钥进行签名。
[0035]进一步的,所述步骤I中,对属性证书AC进行管理还包括受理、编码、签发及吊销,所述属性证书AC的受理、产生、编码、签发及吊销由授权管理员和签发管理员负责。具体定义如下:
①受理:接受和验证属性证书的产生、吊销请求,并处理该请求。
[0036]②产生:执行各种不同属性证书产生及签发的相关操作。
[0037]③X509编码:执行基于X.509v4标准的编码功能,采用ANS.1编码格式。
[0038]④数字签名:对按X.509v4标准进行了抽象语法符号I (Abstract SyntaxNotat1n 0ne,ANS.1)编码的属性证书进行数字签名,签名私钥存储在系统管理员的便携式USB数字设备中。
[0039]⑤LDAP发布:将属性证书发布到LDAP证书库中。
[0040]⑥吊销:响应吊销请求,并在LDAP证书库中删除要吊销的证书条目。
[0041]本发明的实现方案从功能角度讲包括服务器端和客户端两部分:
所述服务器端主要担负信息管理、策略制定、数据计算与数据处理等功能,并为客户端提供API接口。其功能如下:
①接收用户注册信息;
②完成CP-ABE机制的初始化,产生系统公共参数PK和主密钥MK;
③接收与审核用户属性证书AC的申请,通过审核后生成AC存入LDAP,并根据AC及系统主密钥MK生成该用户的CP-ABE私钥SK,存于用户的专用设备中,如USB key;
④接收属性描述符证书ADC的申请,生成ADC后存入LDAP;
⑤属性证书AC与属性描述符证书ADC的存储及管理,其包括受理、编码、签发及吊销等功能;
⑥接收共享文档提供者用户的服务请求;
⑦接收用户共享文档的服务请求;
⑧实现XACML访问控制系统的功能;
⑨XACML访问控制模型中策略执行点PEP、策略信息点PIP、策略决策点I3DP及策略管理点PAP的功能。
[0042]所述客户端是用户的操作界面,其功能为:
①用户注册;
②提交用户属性证书AC与属性描述符证书ADC的申请;
③提交用户访问请求; ④接收服务器根据访问请求传回的加密包,并对包进行IBE和CP-ABE解密。
[0043]如图1所示,本发明采用基于XACML的访问控制技术,模型的各个部分描述如下: ①表示策略执行点PEP接受用户的请求。
[0044]②表示策略执行点PEP根据用户的请求到策略信息点PIP检索与主体、资源或者环境有关的属性值,生成XACML格式的请求。
[0045]③表示策略执行点PEP将用户请求以XACML格式发送到策略决策点TOP。
[0046]④表示策略决策点PDP到策略管理点PAP请求相关策略用以评估请求,PDP是根据策略目标选择相关策略,策略目标包括关于主体、动作和其他环境属性的信息。
[0047]⑤表示策略决策点rop到策略信息点PIP检索相关信息评估请求。
[0048]⑥表示策略决策点PDP评估请求并将评估结果以XACML的格式返回给策略执行点PEP,评估结果可以是允许访问的,也可以是拒绝访问的,并具有适当的义务。
[0049]⑦表示策略执行点PEP执行认证,根据F1DP发送的授权决策允许或拒绝访问。
[0050]上述模型的实现步骤如下:
①策略创建:
由策略管理点PAP生成策略文件。首先需要选择策略的规则组合算法;创建策略的目标、相关规则及所有必需的策略子组件;之后创建poliyc对象,并将poliyc对象保存到文件中以便传递给rop。
[0051 ] 实际运行时,因为每个Request可能只包含一个Act1n元素,使得在客户端会产生很多Request,由此造成收集所有访问决策而花费的处理时间和延迟会令人无法忍受。为了解决这一问题,可以利用LDAP存储策略中目标的相关信息,策略决策点I3DP通过检索LDAP选择相关策略评估请求。这样有选择的加载相关策略能够大大节省系统的开销。
[0052]②策略决策点rop:
PDP针对策略评估请求,并返回响应。PDP的创建和请求评估过程:首先读取策略文件;创建策略查找模块,以实现查找属性、策略和资源的机制;设置rop将使用的策略发现程序;通过初始化PDP类来创建PDP; PDP调用评估方法对来自PEP的请求进行评估,并返回决策结果给PEP。
[0053]③策略执行点PEP包括: a.生成请求
PEP根据不同的应用环境生成访问请求,发送给rop。然后执行rop返回的结果和义务。
[0054]b.解析返回结果
PDP针对策略评估请求,得到授权决定后,将结果返回PEP。
[0055]本实施例基于CP-ABE的访问控制设计,包括(一)CP-ABE方案确定和(二)访问控制设计。(一)CP_ABE方案确定,首先需要选取CP-ABE方案,通过对著名CP-ABE文献的研究,我们对现有CP-ABE方案进行比较和分析得知,随着研究的深入,CP-ABE算法的表达能力和安全证明不断提高。从引入树形访问控制结构,到扩展到了访问控制结构中包含非门的属性,再到之后的非单调的属性结构以及利用LSSS协议刻画的控制结构。安全证明也在基于不同假设和不同模型下变得更加安用实用。B.Waters提出的LSSS的CP-ABE方案,无论在表达能力上还是安全证明上都有很大优势,但其非属性的扩展比较困难。J.Bethencourt等人提出的CP-ABE方案,在访问结构树上实现了 and门和or门,非常贴合于实际应用场景,方案效率也较高。权衡利弊之后,我们决定将J.Bethencourt等人的方案作为访问控制的基础。
[0056]针对J.Bethencourt的CP-ABE方案进行相关说明如下:
(I)属性集合
设Ρ={Ρ1,Ρ2,...,Ρη}为所有属性的集合,则每个用户的属性S是P的一个非空子集,SGP,那么N个属性可用于鉴别2Ν个用户。
[0057](2)访问结构访问结构T是全集{Ρ1,Ρ2,...,Ρη}的一个非空子集,T C 2{Ρ1,Ρ2,...,Ρη} \ {Φ}。代表一个属性判断条件,在T中的属性集合称为授权集,不在T中的属性集合称为非授权集。
[0058](3)访问树
访问树用于描述一个访问结构,树的每个叶节点代表一个属性项,每个内部节点代表一个关系函数,关系函数可以是AND(n of n)、0R(lof η)以及n of m(m>n)门限等。实现过程中,访问树中的每一个节点(包括叶节点)都可定义一个多项式,节点的遍历方式为由根节点开始从上向下,从左向右的顺序。
[0059]针对J.Bethencourt的CP-ABE方案具体CP-ABE算法包括:
(I)初始设置Setup O
输入系统安全参数Para,Setup()输出系统公共参数PK和主密钥MK。
[0060]
(2 )加密算法Encrypt ()
输入系统公共参数PK、访问结构T和明文M,Encrypt O输出密文CT。
[0061]
(3)密钥抽取KeyGenO
输入系统主密钥MK和属性集合S,KeyGen()输出对应于S的解密密钥KS。
[0062]
(4)解密算法DecryptO
输入系统公共参数PK、用访问结构A加密的密文CT,及对应于属性集合S的解密密钥KS。如果属性集合S满足访问结构T,则Decrypt ()输出消息M。
[0063]
(二)访问控制设计,包括属性集合的表达、访问结构的表达和访问控制模型:
属性集合的表达:
利用PMI体系中的属性证书AC来描述CP-ABE中的属性集合。
[0064]用户通过属性来描述,用属性证书AC作为用户属性的凭证。属性证书AC根据用户提交的描述信息生成。AC采用符合国际标准X.509 V4的国标GB/T 16264.8-2005证书格式及抽象语法符号(Abstract Syntax Notat1n 0ne,ANS.1)的编码格式来描述。
[0065 ] 访问结构的表达:
利用可扩展的标记语言(extensible Markup Language,XML)文档记录CP-ABE中的访问结构,并将形成的XML访问结构文件的内容拷贝到属性描述符证书ADC的扩展域Privi IegePo I icy Identifier 属性值中来存储。
[0066]访问控制模型:
采用XACML来构建访问控制模型,系统采用XACML2.0标准。
[0067]属性描述符证书ADC中存储的访问结构是访问控制策略的主要组成部分,除此之夕卜,访问控制策略还包括环境约束和策略约束等条件,这些以XACML策略文件的方式存储,纳入XACML控制模型来处理。即在XACML访问控制模型中,增加专门的CP-ABE策略,以表示文档共享时必须满足的运行环境条件和策略约束条件。策略决策点(Policy Decis1nPoint,PDP)对用户应满足的所有策略进行评估与判决,评估通过了用户才能够收到用CP-ABE加密过的文件,否则是收不到的,而且只有存在AC中的用户属性满足ADC中的访问结构要求才能顺利对收到的密文解密。
[0068]本发明从四个角度进行了安全处理:分别是CP-ABE算法的安全处理、访问控制策略的安全性、CP-ABE与IBE相结合、混合加密框架,下面进行具体阐述:
CP-ABE算法的安全处理,包括属性集合的安全性和访问结构的安全性,其中属性集合的安全性指的是属性是用户的隐私数据,也由此决定其是否能够共享信息,因此用户提交的属性信息会用其IBE私钥签名和加密后再存于属性证书AC中,以保证其隐秘性,并保证传输中不被窃取。访问结构的安全性指的是访问结构决定了可共享信息的授权用户,所以必须保证访问结构的安全性。本发明对描述访问结构的XML文件加以防护,利用发布人的私钥签名、系统的公钥加密,保证访问结构XML文件的不可抵赖性与不被篡改,保证传输中不被窃取。
[0069]访问控制策略的安全性,本发明对XACML的所有策略文件的创建、更新、撤销等操作都由策略管理点(Policy Administrat1n Point,PAP)完成,并对形成的策略XML文件加以防护,利用策略管理点PAP人员的私钥签名、系统的公钥加密,保证了不可抵赖性与不被篡改、不被窃取的安全性要求。
[0070]CP-ABE与IBE相结合,系统中的每个用户(包括服务器端的策略管理点PAP等各类系统管理员)都拥有专门的数字存储设备USB Key。该设备中存放着用户的私密信息。每个用户有两对IBE密钥对,一对用于数字签名,一对用于加密。私钥存储在USB Key中,公钥存于服务器中。每个用户的CP-ABE私钥也存在该设备中。
[0071]混合加密框架,CP-ABE和IBE都属于非对称加密算法,与对称加密相比效率较低,难以直接用于加密大量数据,因此系统采用混合加密框架,即先使用对称密钥对数据加密,而后使用CP-ABE或IBE加密该对称密钥。混合加密框架下的工作流程如图2所示。
[0072]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。
【主权项】
1.一种基于CP-ABE的密文访问控制方法,其特征在于:其包括如下步骤: 步骤1、进行准备和维护工作,其包括密文策略的属性加密体制(Ciphertext-ΡοI icyAttribute-Based Encrypt1n,CP_ABE)的初始化、用户注册与审核、产生系统和用户的用于签名和加密的非对称密钥对、生成用户的CP-ABE属性密钥SK以及密钥与属性证书(Attribute Certificate,AC)管理; 步骤2、文档共享需要文档提供者、可扩展访问控制标记语言(extensible AccessControl Markup Language,XACML)访问控制系统及共享用户三者协同工作,具体工作如下: I)共享文档提供者的工作: 文档提供者首先需要制定共享用户应满足的条件,即访问结构,以及环境与策略约束条件,然后采用混合加密机制,用文档提供者的访问结构对文档的会话密钥Key进行CP-ABE加密和签名,再用Key对文档内容加密,形成加密信息包,并将加密信息包交给XACML访问控制系统准备传输给共享用户; 2 )XACML访问控制系统的工作: 策略强制点(Policy enforcement point,PEP)接收用户的共享请求和认证评估信息,形成XACML判决请求后发给策略决定点(Policy decis1n point,PDP);PDP根据用户认证信息及由策略管理点(Policy administrat1n point ,PAP)、策略信息点(Po I i cyinformat1n point,PIP)传过来的策略及相关属性值进行判决,并将判决结果传回PEP;若判决结果为允许则XACML访问控制系统将加密信息包传送给用户,否则或判决过程有任何签名验证不成功、解密不成功情形发生,XACML访问控制系统便拒绝将加密信息包传送给用户; 3)共享用户的工作: 用户收到XACML访问控制系统发来的加密信息包后,要先验证会话密钥Key的签名,通过后用CP-ABE解密得到Key;然后用Key对共享文件解密得到明文;期间若签名验证不成功则会中断后面的步骤,并且用户只有符合共享文档提供者制定的条件才能正确解密会话密钥Key ο2.根据权利要求1所述的一种基于CP-ABE的密文访问控制方法,其特征在于:所述步骤I准备和维护工作中,其包括: ①完成CP-ABE的初始化,产生系统公共参数PK和主密钥MK; ②生成系统授权管理员的基于身份加密(IdentityBased Encrypt1n,IBE)机制的非对称密钥对作为系统非对称密钥对,一对用于系统加密,一对用于签名,两对密钥均存于系统授权管理员的专用安全设备USB key中; ③完成用户注册; ④审核用户注册信息; ⑤生成用户的IBE非对称密钥对,一对用于加密,一对用于签名,两对密钥均存于用户的专用安全设备USB key中; ⑥系统和用户PKI及IBE密钥对的存储、更新及管理; ⑦生成用户属性证书(AttributeCert if icate,AC),存入轻量级目录访问协议(Lightweight Directory Access Protocol,LDAP)证书库中; ⑧由用户属性证书AC获取用户属性集合S,根据用户属性集合S及系统主密钥MK生成该用户的CP-ABE属性密钥SK,SK=KeyGenCMK,S),SK存于用户的专用安全设备USB key中; ⑨对属性证书进行存储及管理,所述属性证书包括两部分:即属性证书AC及其扩展即属性描述符证书(Attribute Descriptor Certificate,ADC)。3.根据权利要求1或2所述的一种基于CP-ABE的密文访问控制方法,其特征在于:所述步骤2中,I)在共享文档提供者的工作中,具体步骤如下: 1-1、文档提供者制定共享用户应满足的条件即访问结构,并将其形成可扩展的标记语言(extensible Markup Language,XML)文档,用文档提供者的IBE私钥签名、系统公钥加密后存储在其名下的属性描述符证书ADC中; 1-2、文档提供者制定环境与策略约束条件,形成XACML策略文件,并也用其IBE私钥签名、系统公钥加密; 1-3、会话密钥Key采用混合加密机制,利用文档提供者属性描述符证书ADC中的访问结构对文档的会话密钥Key进行CP-ABE加密,用Key对文档内容加密,形成加密信息包; 1-4、文档提供者将加密信息包交给XACML访问控制系统准备传输给共享用户。4.根据权利要求3所述的一种基于CP-ABE的密文访问控制方法,其特征在于:所述步骤2中,I)在共享文档提供者的工作的步骤1-3中,利用文档提供者属性描述符证书ADC中的访问结构对文档进行CP-ABE加密形成加密信息包的方法如下: 1-3-1、生成会话密钥Key; 1-3-2、用会话密钥Key对要共享的电子文档M的内容进行加密,形成密文E(F); 1-3-3、用文档提供者的IBE签名私钥对E(F)签名,形成签名SIG; 1-3-4、获取文档提供者的ADC,从中获取访问结构的XML文件密文; 1-3-5、对获取到的XML文件密文验证文档提供者的签名,用系统私钥解密,得到XML文件; 1-3-6、根据XML文件生成访问结构T ; 1-3-7、利用CP-ABE体制,对会话密钥Key加密,结果为CK,即CK=Encrypt (PK,Key,T); 1-3-8、生成加密信息包,即CK+E(F)+SIG。5.根据权利要求1或2所述的一种基于CP-ABE的密文访问控制方法,其特征在于:所述步骤2中,2)XACML访问控制系统的工作中,具体步骤如下: 2-1、用户向策略执行点PEP提出某文档的共享请求; 2-2、所述策略执行点PEP响应用户请求,确定要共享的文档ID和用户ID; 2-3、策略执行点PEP要求用户提交相关的认证评估信息,其包括当时的网络情况、电脑系统软件运行情况、硬件运行情况等环境信息,电脑主要设备的参数等; 2-4、用户收集评估信息,发送给所述策略执行点PEP; 2-5、所述策略执行点PEP依据用户提供的访问请求,包括用户ID、共享文档ID和共享方式,以及相关评估信息形成XACML格式的判决请求报文,发给策略决策点PDP进行评估与决策; 2-6、所述策略决策点PDP接收策略执行点PEP发来的请求报文,对报文进行解析,获取用户ID、共享文档ID、共享方式、环境情况各类认证评估信息; 2-7、策略决策点PDP请求策略信息点PIP返回与主体、资源或者环境有关的属性值; 2-8、策略决策点PDP向策略管理点PAP请求共享文档ID的策略; 2-9、策略管理点PAP根据共享文档ID得到文档提供者的ID,进而从LDAP证书库中获取文档提供者的属性描述符证书ADC,并由此得到文档提供者制定的XACML策略文件密文,PAP将该策略密文传给I3DP; 2-10、策略决策点rop对获取到的策略文件密文验证文档提供者的签名,若通过则用系统私钥解密,得到策略文件,并转步骤2-11;否则rop判决结束,给出策略文件签名验证没通过的评判结果,并转步骤2-12; 2-11、策略决策点PDP依据XACML策略文件判定用户提交的环境情况是否能够满足文档提供者制定的环境条件,是否也能够满足策略约束条件,若有任何一项不满足,则PDP就会判为拒绝访问;若两项都满足,则允许访问; 2-12、所述策略决策点PDP将决策结果告知策略执行点PEP; 2-13、所述策略执行点PEP接收到的策略决策点PDP决策结果若为允许访问,则XACML访问控制系统向用户传送该文档加密包,用户获得该加密信息包,即可进行CP-ABE解密,否则XACML访问控制系统拒绝向用户传送共享文档的加密信息包。6.根据权利要求1或2所述的一种基于CP-ABE的密文访问控制方法,其特征在于:所述步骤2中,3)在共享用户的工作中,具体步骤如下: 3-1、共享用户接收由XACML访问控制系统传送的加密信息包; 3-2、共享用户由加密信息包获取签名SIG,获取文档提供者的IBE签名公钥; 3-3、共享用户用文档提供者的IBE签名公钥验证签名SIG,通过后继续,否则结束; 3-4、共享用户由信息包获取密文CK,利用CP-ABE加密体制,用共享用户自己USB key设备中的属性密钥SK对密文CK解密,得到会话密钥Key,即Key=Decrypt(PK,CK,SK),只有授权用户才能正确解密; 3-5、由信息包获取E(F),用Key对获取的E(F)解密,得到要访问的共享文档的明文。7.根据权利要求1所述的一种基于CP-ABE的密文访问控制方法,其特征在于:所述步骤I中,对属性证书AC进行管理具体包括:属性证书AC和记录访问策略的属性描述符证书ADC的颁发由信任源点(Source Of Author i ty,S0A)中心、属性权威机构(At tributeAuthority,AA)中心及AA代理点对应的系统管理员来完成,所述系统管理员都拥有一对IBE密钥对,其中私钥存在个人的USB Key数字设备中,公钥存在服务器中;发放属性证书AC时,使用相应管理员的私钥进行签名。8.根据权利要求1所述的一种基于CP-ABE的密文访问控制方法,其特征在于:所述步骤I中,属性证书AC存放在服务器端的LDAP证书库中,其管理还包括受理、编码、签发及吊销,所述属性证书AC的受理、产生、编码、签发及吊销由授权管理员和签发管理员负责。9.根据权利要求5所述的一种基于CP-ABE的密文访问控制方法,其特征在于:所述步骤2-3中,所述策略执行点PEP要求用户提交相关的认证评估信息,所述认证评估信息包括当时的网络情况、电脑系统软件运行情况、硬件运行情况、电脑主要设备的参数。10.根据权利要求5所述的一种基于CP-ABE的密文访问控制方法,其特征在于:所述步骤2-4中,所述策略执行点PEP依据用户提供的访问请求,其包括用户ID、共享文档ID和共享方式。
【文档编号】H04L29/06GK105991278SQ201610540456
【公开日】2016年10月5日
【申请日】2016年7月11日
【发明人】周彦萍, 黎彤亮, 赵环宇, 马艳东, 慕晓蕾, 万仲飞, 辛凤艳
【申请人】河北省科学院应用数学研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1