一种人机物环境下基于区块链的动态访问控制方法
未命名
09-29
阅读:57
评论:0
1.本发明涉及访问控制技术领域,尤其涉及一种人机物环境下基于区块链的动态访问控制方法。
背景技术:
2.人机物环境系统中,海量的人机物资源以及相应服务可以提供强大的基础能力,但是人机物资源存在异构性并且处在分布式环境中,各种资源具备时间和空间特征,时刻处在不确定状态,处于不同的复杂网络中,这为资源之间相互调用,以及资源安全共享带来了诸多困难。所以在人机物环境中,数据以及服务存在共享和安全问题。在共享方面,人机物资源拥有者在将过剩的资源转化为其他价值,以及确保资源的使用者在购买资源之后防止资源拥有者抵赖,存在诸多问题;在安全方面,资源拥有者对自己的资源灵活指定访问控制策略,并且资源不被非法访问和使用,资源之间交互存在未经授权的数据访问,在保障安全的前提下,性能也是一个需要考虑的问题。
3.因此,为了解决这些问题,本领域技术人员将区块链技术运用到基于属性的访问控制中,区块链节点进行存储访问控制策略,利用智能合约进行访问控制的决策等工作。由于区块链节点之间同步同一份账本,资源请求方与资源拥有者之间就可以通过区块链节点以交易的方式来进行访问控制决策,代替了传统集中式的决策方式。基于属性的访问控制机制,其中一个核心是属性,另一个核心是访问控制策略,将区块链技术和基于属性的访问控制机制结合,目前的解决方案中存在以下问题:
4.公平性:基于属性的访问控制机制,策略执行点基于主体和客体的属性通过执行访问控制策略决定是主体具有访问权限,其中属性的存储以及策略的存储存在一些问题,为了保证公平性和透明性,一些方案将属性进行加密存储在区块链中,将访问控制策略进行公开透明存储,一些方案将访问控制策略进行加密存储,将属性进行公开透明存储在区块链中。但是这两种方案存在半公平性问题,并且由于采用了加密机制,性能得到了下降。
5.属性分配困难:传统的基于属性的访问控制系统采用集中式架构以及单独的属性权威机制,系统内的所有对象的属性由属性权威系统管理员来分配,在地理分布广泛,网络复杂,跨系统跨服务的人机物环境下,集中式的属性管理存在单点故障问题以及不透明和管理复杂等问题。
6.效率问题:区块链节点之间决策响应记录同步需要共识协议的参与,区块链的共识协议是整个系统的瓶颈,在海量数据和服务的人机物环境下,需要一种更高性能的解决方案。
技术实现要素:
7.本发明的目的是针对人机物环境中存在的资源共享的安全性、公平性和效率问题,提出一种基于区块链的动态访问控制方法,该方法设计了一种合理有效的属性分级交易的方案以及一种决策判断机制,属性分级交易的设置既保证了基于属性访问控制机制的
灵活度也保证了属性的安全性,保证主体不能够非法获取属性,一种决策判断机制在保障大部分节点诚实的情况下提高了决策的效率。所设计的访问控制方法在保证安全性的前提下,也提高了决策的效率,十分适用于人机物环境下的访问控制。
8.本发明解决技术问题所采取的技术方案为:
9.步骤1)资源拥有者owner以交易的形式上传自己资源的元数据信息。
10.步骤2)owner以交易的形式上传资源的元数据信息的基于属性的访问控制策略,该策略以xml的语言描述了访问资源的元数据信息的主体以及环境所必须具有的属性以及策略规则,只有满足访问控制策略中定义的规则才可以获取访问权限。
11.本发明提出了属性分级的思想,其中属性分为公有属性和私有属性,公有属性可由owner自身或该owner的管理员进行添加修改,而私有属性是针对单个资源所设置的,资源拥有者可以发布该私有属性的价格到区块链中。
12.步骤3)owner以智能合约的形式进行售卖私有属性,这种形式需要得到区块链网络内所有节点的共识,不可篡改,不可抵赖。利用智能合约交易的方式代替了传统的属性收集策略,在人机物环境中可以达到公平、高效的效果。
13.步骤4)资源访问者accessor在区块链网络中以智能合约的形式进行购买资源的元数据信息的私有属性,多个区块链节点需要进行验证来保证资源拥有者具有足够的金额才能够购买私有属性。
14.步骤5)accessor根据资源的元数据找到资源控制器(位于资源端或管理资源的网关)地址进行请求资源的元数据信息。
15.步骤6)资源控制器收到该访问请求后,将访问请求同时发送给多个区块链的策略决策节点,资源控制器本地动态维护一个可信策略决策节点列表,以及一个后备决策节点列表,根据每次请求的反馈信息进行动态调整节点的优先级,以及是否淘汰节点。
16.步骤7)策略决策节点是区块链网络中的一个peer节点,该节点收到决策请求后,查找资源的访问控制策略以及主体、客体的属性,然后根据访问控制策略执行智能合约,将结果返回给资源控制器。
17.步骤8)资源控制器从多个策略决策节点收到决策结果,然后根据访问控制策略中的定义的规则,比如根据大多节点返回的结果为最终结果进行判断,此时可以根据每个策略决策节点返回的结果进行动态调整本地可信策略决策节点列表。
18.本发明的有益效果:
19.引入了区块链技术和基于属性的访问控制策略以建立一个安全、不可抵赖、可信、透明的访问控制系统。区块链系统可以看作是一个公共账本,所有已提交的交易都存储在一个区块中,具有去中心化、信任、开放性、匿名性、自治性、防篡改等关键特征。基于属性的访问控制机制将主体、客体以及当前所处环境的属性作为基本的决策要素,灵活利用请求者所具有的属性集合以及环境的属性综合决定是否赋予其访问权限,能够很好地将策略管理和权限判定相分离,处理人机物环境下资源安全共享诸多难点。
20.通过使用本发明所提出的访问控制机制,在保证系统安全性的前提下,可以有效提高访问控制决策的效率,显著提高人机物环境系统的服务质量。
附图说明
21.图1为本发明提出的访问控制流程图。
具体实施方式
22.以下结合附图对本发明作进一步说明,请参阅图1;图1给出了本发明提出的访问控制机制总体流程结构。
23.下面对本发明体系结构重要组成部分做具体介绍。
24.属性分级和属性分发机制
25.基于属性的访问控制机制,其中一个核心就是属性的获取与管理。
26.在传统的集中式系统中,属性由权威机构进行管理,但是在区块链的环境中,属性需要分布式保存在账本中,由于区块链的账本是透明的,所以我们增加一种机制在保证灵活度的情况下保证属性不可被随意增加。
27.将属性划分为公有属性和私有属性,其中用户的公有属性可以由用户或用户机构的管理员进行增加及修改。用户的私有属性是针对某种特定类型的资源而定义的,具备唯一性。下面用一个简单的例子来说明这种机制的优点。
28.表1
29.属性标识符属性类型属性值professionstringdoctorageint40f1037bba.professionstringother_doctor
30.在表1中展示了一个用户的部分属性(不包含全部字段),其中profession为公有属性,比如这个用户属于a医院的一位医生,其中profession字段和age字段的值由该医院的管理员进行规定,表示该用户的职业和年龄,对于a医院的某种设备资源或数据资源,管理员可以很方便的基于公有属性设置对于本院医生的访问控制策略。此时如果用户需要访问b医院的某些数据,需要得到b医院的授权才可以,b医院针对某些数据发布私有属性,a医院购买此私有属性之后此时该用户可凭借私有属性进行访问b医院的某些数据。这样即保证了机构内部基于属性的访问控制的灵活性,也保证了跨机构的授权安全性。
31.属性的分发采用智能合约的形式,属性请求者通过客户端发起一笔交易,向属性拥有者支付一定金额的货币,智能合约内部完成对属性的分发。
32.策略决策机制
33.资源控制器同时向多个区块链peer节点发起策略决策请求,请求中携带有主体信息以及资源信息和环境信息,请求中部分内容见表2。
34.表2
35.字段值含义objectidded39b53主体(资源请求者)idsubjectidf1037bba客体(资源)idenv{"state":"running"}环境属性timestamp1669010554本次请求的时间戳
36.区块链peer节点收到策略决策请求后,执行策略决策的智能合约,合约内部,首先
根据主体id和客体id分别检索各自的属性,然后根据客体id寻找客体的访问控制策略,将主体属性信息、客体属性信息、环境信息送入决策判断合约,合约内部根据策略条件进行判断主客体属性是否满足规则,一个访问控制策略p中可以包含多个子策略pi,策略的决策过程中还需要一种可选的策略组合算法才可以最终判断出该主体是否具备访问的资格,比如下面这种组合方式:
37.r
p
=r
p1
^r
p2
...^r
pi
38.其中r
p
表示最终的决策结果,策略p有多个子策略pi组成,那么最终的决策结果可由子策略的决策结果r
pi
进行组合得到,上式中的^表示逻辑与操作,即子策略必须全部都满足,最终决策结果才允许访问。类似的,可以包含所有的逻辑运算符(∨和分别表示逻辑或、逻辑非)。策略的制定者可以在策略中指定更为复杂的策略组合算法。peer节点计算完成之后,将决策结果返回给资源控制器。
39.资源控制器动态更新本地可信策略决策节点列表
40.资源控制器从多个区块链peer节点收到决策响应,进行解析响应中的内容,同时记录本次请求的服务质量(吞吐量、可用性、响应时间等指标)。通过以上方式可以得到n个策略决策节点的m个响应,其中n》=m。其中n表示资源控制器中可信策略决策节点列表中节点的数量,可由资源拥有者进行配置列表大小,m表示在超时时间(可由资源拥有者进行配置)之内收到的m个响应。
41.表3
42.numberresulttimescorefault0yes121ms0.820 1yes207ms0.670 2no80ms0.740 3yes120ms0.520 4yes132ms0.6805 timeout 0
43.在表3中,number表示资源控制器本地可信策略决策节点列表中节点的编号,result表示该节点本次返回的决策结果,time表示本次请求的响应时间,score表示本次请求之前对该节点的评分,fault表示该节点不可信行为次数的记录。n=6,m=5。表示一共有6个节点,收到了5个节点返回的响应。当资源请求者请求资源时,资源控制器同时向6个策略决策节点发起请求,等待策略决策响应,表3中包含了策略决策节点响应中的内容以及资源控制器记录的信息。此时资源控制器根据大多数节点的原则,m/2+1的结果进行判断最终结果,可以得到此次请求的结果应该是yes,并且可以检测到节点编号为2的节点存在不可信行为,之后再对每个策略决策节点计算节点评分score,具体计算公式如下:
[0044][0045]
其中,j是节点序号;scorej表示上一时刻节点j的评分,λ是一个可容忍的不可信次数,可由资源拥有者进行设置;timej代表本地节点j的响应时间,δ为一个可控的因子,用于平衡时间的数值过大等问题。根据计算公式,本次节点的评分可以计算得到,当fault(不
可信次数)的增加可以显著降低score的数值,并且根据本次响应的时间与平均时间进行对比,可以动态调整节点的评分。资源拥有者可以设置适当的阈值ε,如果score《ε的话,进入后备决策节点列表,并且从后备决策节点列表中根据一定的算法挑选出一个合适的节点进入本地可信策略决策节点列表。
[0046]
因此,结合提出的动态调节机制,可以提高策略决策的安全性。
[0047]
本发明提出的一种人机物环境下基于区块链的访问控制方法,其步骤具体如下:
[0048]
步骤1)资源拥有者owner以交易的形式上传自己资源的元数据信息。
[0049]
步骤2)owner上传资源的元数据信息的基于属性的访问控制策略,该策略以xml的语言描述了访问资源的元数据信息主体以及环境所必须具有的属性以及策略规则,只有满足访问控制策略中定义的规则才可以获取访问权限。
[0050]
本发明采用了属性分级的思想,其中属性分为公有属性和私有属性,公有属性可由owner自身或该owner的管理员进行添加修改,而私有属性是针对单个资源所设置的。
[0051]
步骤3)owner以智能合约的形式进行售卖私有属性,这种形式需要得到区块链网络内所有节点的共识,不可篡改,不可抵赖。利用智能合约交易的方式代替了传统的属性收集策略,在人机物环境中可以达到公平、高效的效果。
[0052]
步骤4)资源访问者accessor在区块链网络中以智能合约的形式进行购买资源的元数据信息的私有属性,智能合约内部对该私有属性进行不可伪造的数字签名。
[0053]
步骤5)accessor根据资源的元数据找到资源控制器(位于资源端或管理资源的网关)地址进行请求资源的元数据信息。
[0054]
步骤6)资源控制器收到该访问请求后,将访问请求同时发送给多个区块链的策略决策节点,资源控制器本地动态维护一个可信策略决策节点列表,以及一个后备决策节点列表,根据每次请求的反馈信息进行动态调整节点的优先级,以及是否淘汰节点。
[0055]
本实施例中,动态调整节点的优先级的方法为:根据每个区块链节点的响应时间、响应结果进行打分,如果某个节点响应时间过长,那么降低该节点的分数。
[0056]
若请求10个节点,其中8个节点返回的结果一样,另外两个节点返回结果不一样,可以判断这两个节点返回虚假信息,降低这两个节点的分数,放入后备决策节点列表,定期检测其是否可以恢复可用。
[0057]
若某个节点的返回信息没有经过签名校验,疑似信息不完整或者篡改,进行降低其分数。
[0058]
步骤7)策略决策节点是区块链网络中的一个peer节点,该节点收到决策请求后,查找资源的访问控制策略以及主体的属性,然后根据访问控制策略执行智能合约,将结果返回给资源控制器。
[0059]
步骤8)资源控制器从多个策略决策节点收到决策结果,然后根据访问控制策略中的定义的规则,比如根据大多节点返回的结果为最终结果进行判断是否将资源返回给资源请求者,同时根据每个策略决策节点返回的结果以及反馈进行动态调整本地可信策略决策节点列表。
[0060]
本实施例中,动态调整的方法为:根据每个区块链节点的响应时间、响应结果进行打分。如果某个节点响应时间过长,那么降低该节点的分数。
[0061]
若请求10个节点,其中8个节点返回的结果一样,另外两个节点返回结果不一样,
可以判断这两个节点返回虚假信息,降低这两个节点的分数,放入后备决策节点列表,定期检测其是否可以恢复可用。
[0062]
若某个节点的返回信息没有经过签名校验,疑似信息不完整或者篡改,进行降低其分数。
技术特征:
1.一种人机物环境下基于区块链的动态访问控制方法,其特征在于,包括如下步骤:步骤1、上传资源元数据资源拥有者以交易的形式上传自己资源的元数据信息到区块链中;步骤2、上传访问控制策略资源拥有者以交易的形式上传资源元数据信息所描述资源的访问控制策略,所述访问控制策略的定义为:资源拥有者根据xacml的要求可以进行编写策略,该访问控制策略为一种脚本语言,由区块链节点进行执行,所述访问控制策略以xml的语言描述了访问资源的主体、客体以及环境所必须具有的属性以及策略规则;步骤3、发布私有属性资源拥有者以智能合约的形式进行发布售卖私有属性;步骤4、购买私有属性资源访问者在区块链网络中以智能合约的形式进行购买该资源的私有属性,多个区块链节点需要进行验证来保证资源拥有者具有足够的金额才能够购买私有属性;步骤5、检索资源资源访问者根据资源的元数据找到资源控制器地址进行请求资源控制器管理的资源;步骤6、请求决策资源控制器收到该访问请求后,将访问请求同时发送给多个区块链的策略决策节点,资源控制器本地动态维护一个可信策略决策节点列表,以及一个后备决策节点列表,根据每次请求的反馈信息进行动态调整节点的优先级,以及是否淘汰节点;步骤7、执行策略策略决策节点是区块链网络中的一个peer节点,该节点收到决策请求后,查找资源的访问控制策略以及主体、客体的属性,然后根据访问控制策略执行智能合约,将结果返回给资源控制器;步骤8、返回结果、调整可信节点列表资源控制器从多个策略决策节点收到决策结果,然后根据访问控制策略中的定义的规则。2.根据权利要求1所述的一种人机物环境下基于区块链的动态访问控制方法,其特征在于,所述步骤2中,所述属性分为公有属性和私有属性。3.根据权利要求2所述的一种人机物环境下基于区块链的动态访问控制方法,其特征在于,所述公有属性可由资源拥有者自身进行添加修改。4.根据权利要求2所述的一种人机物环境下基于区块链的动态访问控制方法,其特征在于,所述公有属性可由资源拥有者的管理员进行添加修改。5.根据权利要求2所述的一种人机物环境下基于区块链的动态访问控制方法,其特征在于,所述私有属性是针对单个资源所设置的,资源拥有者可以发布该私有属性的价格到区块链中。6.根据权利要求2所述的一种人机物环境下基于区块链的动态访问控制方法,其特征在于,所述步骤2中,只有满足访问控制策略中定义的规则才可以获取访问权限。7.根据权利要求1所述的一种人机物环境下基于区块链的动态访问控制方法,其特征在于,所述步骤3中,智能合约的形式需要得到区块链网络内所有节点的共识,不可篡改,不
可抵赖。8.根据权利要求1所述的一种人机物环境下基于区块链的动态访问控制方法,其特征在于,所述步骤6中,动态调整节点的优先级的方法为:根据每个区块链节点的响应时间、响应结果进行打分,如果某个节点响应时间过长,那么降低该节点的分数。9.根据权利要求7所述的一种人机物环境下基于区块链的动态访问控制方法,其特征在于,所述步骤8中,访问控制策略中的定义的规则具体为:根据节点返回的结果为最终结果进行判断,此时可以根据每个策略决策节点返回的结果进行动态调整本地的策略决策节点列表。10.根据权利要求8所述的一种人机物环境下基于区块链的动态访问控制方法,其特征在于,所述动态调整的方法动态调整节点的优先级的方法相同。
技术总结
本发明涉及一种人机物环境下基于区块链的动态访问控制方法包括如下步骤:步骤1、上传资源元数据;步骤2、上传访问控制策略;步骤3、发布私有属性;步骤4、购买私有属性;步骤5、检索资源;步骤6、请求决策;步骤7、执行策略;步骤8、返回结果、调整可信节点列表。该方法设计了一种合理有效的属性分级交易的方案以及一种决策判断机制,属性分级交易的设置既保证了基于属性访问控制机制的灵活度也保证了属性的安全性,保证主体不能够非法获取属性,一种决策判断机制在保障大部分节点诚实的情况下提高了决策的效率。所设计的访问控制方法在保证安全性的前提下,也提高了决策的效率,十分适用于人机物环境下的访问控制。用于人机物环境下的访问控制。用于人机物环境下的访问控制。
技术研发人员:殷昱煜 李之磊 李尤慧子 李玉 梁婷婷 万健
受保护的技术使用者:杭州电子科技大学
技术研发日:2023.01.10
技术公布日:2023/9/25
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/