一种基于联盟链的动态双访问控制机制制造技术

技术编号:24996508 阅读:32 留言:0更新日期:2020-07-24 17:59
本发明专利技术公开了一种基于联盟链的动态双访问控制机制,涉及区块链数据安全技术领域。该的动态双访问控制机制在联盟链框架Hyperledger Fabric上采用基于属性的访问控制ABAC模型,将链上数据通过合约函数进行读写,同时将离链数据与合约函数统一抽象成资源实体,并由资源的拥有者通过调用智能合约为该资源绑定访问策略。本发明专利技术针对联盟链链应用系统中链上和离链结合的应用模式,可同时对链上数据以及离链数据的两类数据进行访问控制,可从数据读写的源头保护系统数据的安全。另外,通过调用智能合约的形式动态更新访问策略,可在系统运行时动态更新访问策略。

【技术实现步骤摘要】
一种基于联盟链的动态双访问控制机制
本专利技术涉及区块链数据安全
,具体涉及一种基于联盟链的动态双访问控制机制。
技术介绍
随着加密货币大热,其底层技术区块链也开始受到各界关注。近年来,国内外许多行业建立了不少区块链应用,如金融、证券等对数据公信力和可靠性要求高的行业都逐渐将原有的数据系统慢慢迁移至区块链。区块链在发展过程中也出现了不少新的区块链平台,如现在加密货币中的比特币和后面加入了智能合约的以太坊平台。以太坊的引入使得区块链技术的应用访问从金融领域扩展至教育、公益等社会领域,可见区块链有望成为下一代互联网的核心。然而考虑到降低区块链存储负担和数据访问安全的风险,目前区块链应用系统较多采用链上数据与离链数据相结合的应用模式。现有的应用模式及其缺陷如下:1、现有的访问控制访问方案集中在离链数据的访问安全,对于离链数据的访问控制,传统的访问控制的方法是借助第三方可信实体为系统中的节点提供访问控制的性能,但会面临单点故障或数据篡改的风险。现有的研究主要考虑利用区块链存储和共享访问权限,利用区块链去中心化的特心保证权限能够被安全存储。然而这些方案假设节点管理员相互可信,不会任意读写访问权限,从而忽略了链上数据的保护;2、链上数据的访问控制只有与合约函数静态绑定的形式,无法动态更新访问策略。以太坊和HyperledgerFabric等区块链平台支持使用智能合约维护和读写全局状态,为了保证合约函数被正确调用使得区块链上的数据能够被安全访问,以太坊和HyperledgerFaberic都提供了静态访问控制的方式。这种方式通过为合约函数绑定有效调用者集合的方式,保证了区块链上的数据只被特定调用者成功调用,从而保证了数据的读写安全。然而,这种静态访问控制的方式会增加合约开发者的管理负担,而且合约以合约账户或容器实例的形式部署在网络中。当需要更新访问策略时,需要对合约进行升级并重新部署,且升级期间系统不能响应用户需求,因此无法适应需要频繁更新访问策略的场景。因此,上述的应用模式在现有的访问控制机制下无法满足对源头数据的安全保护要求以及策略更新时系统的运行稳定性要求。
技术实现思路
鉴于现有技术的不足,本专利技术旨在于提供一种基于联盟链的动态双访问控制机制。为了实现上述目的,本专利技术采用的技术方案如下:一种基于联盟链的动态双访问控制机制,在联盟链框架HyperledgerFabric上采用基于属性的访问控制ABAC模型,将链上数据通过合约函数进行读写,同时将离链数据与合约函数统一抽象成资源实体,并由资源的拥有者通过调用智能合约为该资源绑定访问策略。优选地,在上述的基于联盟链的动态双访问控制机制中,所述动态双访问控制机制的架构包括三层:区块链数据层,用于存储所有区块链数据,包括访问控制数据域和业务状态数据域,其中所述访问控制数据域存储访问控制相关的User实体与Resource实体,所述业务状态数据域存储业务逻辑相关的全局状态;能合约层,用于实现访问控制与业务相关的功能,包括访问控制子模块与业务逻辑子模块,其中访问控制子模块包括有链上拦截点PEPb;应用层,用于实现用户间的数据共享,包括离链拦截点PEPo与需要相互共享数据的用户。优选地,在上述的基于联盟链的动态双访问控制机制中,所述访问控制数据域中的User实体持有证书中心颁发的数字证书,User实体保存有用于校验数字签名的公钥,所述访问控制数据域中的Resource实体保存有资源的访问策略。优选地,在上述的基于联盟链的动态双访问控制机制中,由所述联盟链框架HyperledgerFabric中的证书中心作为所述动态双访问控制机制在基于属性的访问控制ABAC模型运行时的属性中心AA,在为User实体颁发数字证书的同时为该User实体绑定属性。优选地,在上述的基于联盟链的动态双访问控制机制中,所述智能合约中的策略执行点PDP通过访问控制框架casbin实现,传入所述策略执行点PDP的访问请求被用于决策引擎进行决策,最后得出发出该访问请求的请求用户是否拥有可以访问所述Resource实体中的资源客体的权限。优选地,在上述的基于联盟链的动态双访问控制机制中,访问请求在传至所述策略执行点PDP之前,由所述策略拦截点PEP进行数据解析。优选地,在上述的基于联盟链的动态双访问控制机制中,所述链上拦截点PEPb负责拦截链上资源的访问,所述离链拦截点PEPo负责拦截离链资源的访问。优选地,在上述的基于联盟链的动态双访问控制机制中,所述智能合约中的策略管理点PAP采用分布式结构构成。优选地,在上述的基于联盟链的动态双访问控制机制中,在访问离链数据时,还包括对发起离链数据访问请求的用户的身份进行伪造校验识别,在由所述离链拦截点PEPo将该离链数据访问请求进行数据解析后,由所述智能合约中的访问控制子模块中的CheckUser模块配合,通过数字签名校验来对该发起离链数据访问请求的用户身份进行识别,防止身份伪造的用户对离链数据进行非法访问。本专利技术有益效果:本专利技术针对联盟链链应用系统中链上和离链结合的应用模式,该机制能够同时对联盟链上存储的链上数据以及离链数据的两类数据进行访问控制,可以从数据读写的源头保护系统数据的安全。另外,该机制允许策略管理者通过调用智能合约的形式动态更新访问策略,与升级合约更新策略的方式相比拥有更低的时延,且在策略更新期间不影响系统运作,即运行时动态更新访问策略。附图说明图1为本专利技术的整体架构图;图2为本专利技术的访问控制数据域的构成图;图3为本专利技术的分布式策略管理点的框架图;图4为本专利技术的链上拦截点PEPb的工作时序图;图5为本专利技术的离链拦截点PEPo的工作时序图。具体实施方式以下将结合说明书附图和具体实施例对本专利技术作进一步的描述,需要说明的是,在详细解释本专利技术的任何实施例之前,本专利技术在其应用中不限于以下描述中阐述的或下面的附图中示出的部件构造和布置细节。本专利技术能够具有其他实施例并且能够以各种方式实践或执行。而且,应该理解的是,这里使用的措辞和术语是为了描述的目的,而不应该认为是限制性的。本文中的“包括”、“包含”或“具有”及其变体的使用意味着涵盖其后列出的项目及其等同物以及额外的项目。本专利技术的实施例提出的一种基于联盟链的动态双访问控制机制,该访问控制机制在联盟链框架HyperledgerFabric上采用基于属性的访问控制ABAC模型,将链上数据通过合约函数进行读写,同时将离链数据与合约函数统一抽象成资源实体,并由资源的拥有者通过调用智能合约为该资源绑定访问策略,采用基于属性的访问控制ABAC模型在联盟链框架HyperledgerFabric上运行,该机制可为用户提供细粒度的访问控制。具体地,如图1所示,该动态双访问控制机制的架构包括三层:区块链数据层,用于存储所有区块链数据,包括访问控制数据域和业务状态数据域,其中访问控制数据域存储访问控制相关的User实体与R本文档来自技高网
...

【技术保护点】
1.一种基于联盟链的动态双访问控制机制,其特征在于,在联盟链框架HyperledgerFabric上采用基于属性的访问控制ABAC模型,将链上数据通过合约函数进行读写,同时将离链数据与合约函数统一抽象成资源实体,并由资源的拥有者通过调用智能合约为该资源绑定访问策略。/n

【技术特征摘要】
1.一种基于联盟链的动态双访问控制机制,其特征在于,在联盟链框架HyperledgerFabric上采用基于属性的访问控制ABAC模型,将链上数据通过合约函数进行读写,同时将离链数据与合约函数统一抽象成资源实体,并由资源的拥有者通过调用智能合约为该资源绑定访问策略。


2.根据权利要求1所述的基于联盟链的动态双访问控制机制,其特征在于,所述动态双访问控制机制的架构包括三层:
区块链数据层,用于存储所有区块链数据,包括访问控制数据域和业务状态数据域,其中所述访问控制数据域存储访问控制相关的User实体与Resource实体,所述业务状态数据域存储业务逻辑相关的全局状态;
能合约层,用于实现访问控制与业务相关的功能,包括访问控制子模块与业务逻辑子模块,其中访问控制子模块包括有链上拦截点PEPb;
应用层,用于实现用户间的数据共享,包括离链拦截点PEPo与需要相互共享数据的用户。


3.根据权利要求2所述的基于联盟链的动态双访问控制机制,其特征在于,所述访问控制数据域中的User实体持有证书中心颁发的数字证书,User实体保存有用于校验数字签名的公钥,所述访问控制数据域中的Resource实体保存有资源的访问策略。


4.根据权利要求1所述的基于联盟链的动态双访问控制机制,其特征在于,由所述联盟链框架HyperledgerFabric中的证书中心作为所述动态双访问控制机制在基于属性的访问控制ABA...

【专利技术属性】
技术研发人员:胡建国谭德志丁颜玉李仕仁
申请(专利权)人:广州智慧城市发展研究院
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1