一种基于区块链的CP-ABE访问控制方案的制作方法

文档序号:20578542发布日期:2020-04-29 01:18阅读:691来源:国知局
一种基于区块链的CP-ABE访问控制方案的制作方法

本发明涉及基于区块链的访问控制领域,尤其涉及基于属性加密的访问控制。



背景技术:

访问控制能够防止非法用户访问系统中的数据,非常适合应用于云环境中,保护用户的隐私安全。然而传统的访问控制方案存在很多问题,它要求实施访问控制策略的一方必须是可信的,另外它不能应用于更细粒度更灵活的环境中。基于属性加密(attribute-basedencryption,abe)的访问控制方案能够解决上述问题,被认为是一种适合应用于云存储环境中保护数据安全的访问控制技术。基于属性的加密分为两类:密文策略的属性加密(ciphertextpolicyattributebasedencryption,cp-abe)和密钥策略的属性加密(keypolicyattributebasedencryption,kp-abe)。在cp-abe访问控制方案中,数据拥有者可以制定具体的访问控制策略,这使得访问控制更容易实施。

传统的基于cp-abe的访问控制方案中的大部分工作都由一个属性授权中心(attributeauthority,aa)完成,包括属性授权、密钥管理等,这会存在单点故障等安全问题,并且现如今用户的属性往往来源于不同的机构,所以多授权中心更符合应用需求。现有的多授权中心下的cp-abe访问控制方案大都需要一个第三方建立aa间的信任问题、管理公共安全参数等,这里的第三方需要完全可信,但在实际场景下是存在安全隐患的。

区块链作为一种分布式去中心化的计算和存储架构,能够解决访问控制中心化授权机构设计所导致的问题。中心化授权机构存在的问题主要体现在单点故障以及中心机构自身的安全问题,将区块链引入cp-abe访问控制中,可利用区块链可追踪且不可篡改的特性建立aa注册、密钥管理和属性撤销。



技术实现要素:

本发明提出了一种基于区块链的cp-abe访问控制架构,将原有方案中aa的工作交给区块链完成,主要包括aa注册、属性授权、密钥计算和属性撤销。

本发明的目的是通过以下技术方案来实现的:一种基于区块链的cp-abe访问控制方案,该方案中的架构根据其功能分为两层:应用层和区块链层。应用层包括用户、属性授权中心、认证中心,通过智能合约与区块链进行交互。

一种基于区块链的cp-abe访问控制方案的工作流程:

所有的aa根据其职能划分为多个域,每个aa管理一个域;

数据所有者到本域的aa请求加密密钥,请求通过后aa返回一个加密密钥;

数据所有者将数据文件使用加密密钥加密,数据所有者对明文加密后,选择rsa密钥对,利用公钥对密文再次加密,然后将密文上传到云服务商,同时将私钥发布到区块链作为转换密钥(transformkey,tk),用于后续撤销;

用户从云服务商请求得到密文;

用户通过智能合约向aa获取属性授权,aa将用户的属性签名后写入用户的合约;

用户利用收集得到的属性合约和自身的公钥向aa请求解密密钥,aa验证用户的属性后计算得到解密密钥,并通过用户公钥加密后返回给用户;

用户利用自己的私钥解密后得到解密密钥,然后解密密文;

属性撤销的发起者是aa,当一个用户的某个属性失效时,相关aa要对该属性撤销。首先向用户属性合约写入属性,状态为禁用,然后通知数据所有者使用新的公钥对密文重加密,然后将新的私钥发布到区块链替换tk,设置对状态为禁用的用户不可见。

所述基于区块链的cp-abe访问控制方案的实现方法:应用层与现有的区块链对接,区块链作为一个可信的第三方,替代原有方案中的第三方平台,每个aa作为区块链上的账户,应用层将计算、管理等任务委托给区块链完成。

总的来说,本发明的有益效果如下:

本发明中基于区块链的cp-abe访问控制架构,利用区块链建立aa间的信任关系,计算和管理密钥,一方面解决了原有方案中的单点故障问题,减轻了aa的工作负担,另一方面可以保证访问控制过程的公开透明,其中的数据不会被篡改。

附图说明

图1是本发明基于区块链的cp-abe访问控制架构示意图;

图2是本发明访问控制中的用户请求密钥流程示意图;

图3是本发明访问控制中的属性撤销流程示意图;

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示的架构展示了本发明的整体流程:

第1步:新加入的属性授权机构要向区块链发起注册请求,通过智能合约发送其主题、有效时间和公钥,认证中心对其认证通过后颁发身份证书。

第2步:数据所有者到本域的aa请求加密密钥,请求通过后aa返回一个加密密钥;

第3步:数据所有者将数据文件使用加密密钥加密,数据所有者对明文加密后,选择rsa密钥对,利用公钥对密文再次加密,然后将密文上传到云服务商,同时将私钥发布到区块链作为转换密钥tk,用于后续撤销;

第4步:用户从云服务商请求得到密文;

第5步:用户通过智能合约向aa获取属性授权,aa将用户的属性签名后写入用户的合约;

第6步:用户利用收集得到的属性合约和自身的公钥向aa请求解密密钥,aa验证用户的属性后计算得到解密密钥,并通过用户公钥加密后返回给用户;

第7步:用户利用自己的私钥解密后得到解密密钥,然后解密密文;

基于上述的架构,提出基于区块链的cp-abe访问控制中的密钥请求和属性撤销方案。

参照图2,图2为本发明基于区块链的cp-abe访问控制中密钥请求的流程示意图:

本发明实施例提供了基于区块链的cp-abe访问控制中密钥请求的实施例,需要说明的是,虽然在示意图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

基于区块链的cp-abe访问控制的密钥请求流程包括:

第1步:用户建立自己的属性智能合约公布到区块链上,通过线下方式向各个aa请求认证,认证通过的aa以<属性,认证时间,状态>的方式写入到用户的属性智能合约中;

第2步:用户利用自己的属性智能合约和自己的公钥向本域aa请求解密密钥,本域aa读取合约中的所有状态为“可用”的属性,计算一个解密密钥,然后将该密钥使用用户的公钥加密后以智能合约的形式返回给用户;

第3步:用户得到aa返回的结果后,利用自己的私钥对其解密得到解密密钥。

参照图3,本发明基于区块链的cp-abe访问控制中属性撤销的流程示意图:

第1步:属性授权机构通知数据所有者要发起撤销,数据所有者需要更新密钥和密文;

第2步:数据所有者选取新的转换密钥tk对密文进行重加密,并将tk发布到区块链上;

第3步:属性授权机构将需要撤销的用户的属性更新,更新方式为重新按照<属性,时间,状态>的形式写入用户的属性智能合约,这里的状态置为“禁用”。

本领域普通技术人员可以理解,以上所述仅为发明的优选实例而已,并不用于限制发明,尽管参照前述实例对发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在发明的精神和原则之内,所做的修改、等同替换等均应包含在发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1