1.本发明属于信息安全技术领域,具体涉及一种基于区块链的跨域访问控制方法。
背景技术:
2.目前物联网环境已经随着技术的发展而展示出大规模、分布式、动态化和异构化等特点,依赖可信第三方的传统身份认证与访问控制存在着许多安全威胁,如:隐私问题、缺乏透明度等,单域的数据共享和信息交互已经无法满足人们的需求,如何跨越这种限制,提供多域间的高效信息服务成为亟待解决的问题。
3.区块链技术越来越受到世界各国和公司的重视和采用,区块链目前正在金融、医疗、供应链、保险和物联网等许多行业掀起一场科技革命,除了加密技术外,区块链还可以帮助许多行业提高效率,克服瓶颈。使用区块链可以加快交易结算速度,降低成本,提供透明度、可审计性、高效率、安全性等。
4.区块链是确保所有参与者在多域环境中进行分布式交易的理想架构,将传统跨域访问控制技术进行优化并与区块链技术相结合,在保证可行性与安全性的基础上对其进行创新,提高效率,提供一个更加安全和细粒度的方案。
技术实现要素:
5.本发明的目的在于提供一种可以进行跨域访问的、动态与静态验证相结合的,更加细粒度的基于区块链的访问控制方法。
6.一种基于区块链的跨域访问控制方法,包括以下步骤:
7.步骤1:注册阶段:未注册的用户与服务提供者向域所有者进行注册,获得唯一标识eid,域所有者维护本地配置数据库,提供身份验证功能;
8.步骤2:能力令牌的生成:已注册的用户向域所有者发起请求服务提供者资源的请求,用户作为访问控制的主体,服务提供者作为客体,域所有者执行预定义的决策策略,评估主体的请求后生成能力令牌,并与区块链中的智能合约进行同步;
9.步骤3:能力令牌的动态验证:主体向客体发起服务请求,客体根据主体的eid调用用区块链中的智能合约对能力令牌进行动态验证,检查主体是否存在不良行为;
10.步骤4:能力令牌的静态验证:对于不存在不良行为的主体,进行能力令牌的静态验证,检查其权限;
11.步骤5:响应或拒绝服务:根据动态验证与静态验证的结果,客体将决策响应主体的请求并提供服务或拒绝请求。
12.进一步地,所述步骤2包括以下步骤:
13.步骤2.1:已注册用户作为访问控制的主体,服务提供者作为被访问的客体,主体向域所有者发送请求访问客体资源的请求;
14.步骤2.2:域所有者收到请求后,执行预定义的能力令牌生成策略,生成主体的能力令牌;
15.步骤2.3:域所有者发起交易,向区块链中的智能合约更新能力令牌,自此所有区块链中的节点都可以同步或验证能力令牌;
16.步骤2.4:域所有者向主体返回其能力令牌的智能合约地址。
17.进一步地,所述步骤3包括以下步骤:
18.步骤3.1:主体向客体发起包含自己eid的访问请求;
19.步骤3.2:客体收到请求后根据主体的eid向智能合约请求主体的能力令牌进行动态验证;
20.步骤3.3:智能合约首先根据主体eid判断令牌是否存在,不存在则将拒绝请求并记录此次访问控制记录
21.步骤3.4:智能合约检查令牌是否处于可用状态,即根据主体能力令牌中的属性:被禁用开始时间dt以及禁用时长tom,与发起请求的时间进行比较,判断主体是否在被禁用时间内发起请求;
22.步骤3.5:智能合约根据令牌中记录的该主体上一次对客体发起访问请求的时间lrt,计算与此次发起请求的时间差,根据预定义的频繁访问时间阈值,判断主体是否存在频繁访问的不良行为;
23.步骤3.6:智能合约根据访问控制记录表查询该主体的前n次请求的结果,若均被拒绝仍发起请求,则判定主体存在不良行为;
24.步骤3.7:若主体存在不良行为,将拒绝其访问请求并根据发生不良行为的次数times计算能力令牌的禁用时间tom,禁用主体的能力令牌,并更新不良行为记录表与访问控制记录表;如主体通过验证,则开始进行能力令牌的静态验证。
25.进一步地,所述步骤4包括以下步骤:
26.步骤4.1:静态验证首先检查主体能力令牌中是否已授予对客体的访问权限,若无权限则直接拒绝请求;
27.步骤4.2:对主体的权限进行验证,验证令牌中上下文条件的属性是否满足客体需要在本地满足的访问控制条件;
28.步骤4.3:若满足条件则提供服务并更新访问控制记录表,若不满足条件则继续检查主体的下一组权限,重复步骤4.2,直至所有权限均被验证。
29.进一步地,所述步骤5包括以下步骤:
30.步骤5.1:智能合约将动态与静态权限验证的检查结果返回给客体;
31.步骤5.2:若无异常情况,客体将响应请求并对主体提供服务,若结果中包含令牌封锁时间,客体将该时间返回给主体。
32.本发明的有益效果在于:
33.本发明根据更严谨的权限验证逻辑与对能力令牌结构的优化,提供了更加细粒度、更安全的访问控制,根据令牌生成阶段对令牌的处理可以防止伪造令牌的行为,根据动态验证可以抵抗中间人攻击,防止恶意节点对系统进行泛洪攻击,防止单点故障导致系统异常的行为发生,基于区块链的透明与公开特性,所有节点均可以通过访问区块链中的交易和智能合约来同步状态。
附图说明
34.图1为本发明的一种基于区块链的跨域访问控制方法的架构图。
35.图2为本发明中能力令牌生成的过程图。
36.图3为本发明中动态验证流程图。
37.图4为本发明中静态验证流程图。
38.图5为本发明中权限验证的过程图。
39.图6为本发明中不良行为记录表及访问控制记录表的示意图。
具体实施方式
40.下面结合附图对本发明做进一步描述。
41.结合图1,本发明提出了一种基于区块链的跨域访问控制方法,包括用户与服务提供者注册,能力令牌生成,访问权限验证,主要包括以下步骤:
42.步骤1:注册阶段,参与访问控制流程的实体被分为主体和客体,主体即向服务或资源请求访问服务的实体,客体通常为服务提供者或资源提供者,所有实体需要通过注册流程来参与访问控制,根据自己的地址信息生成唯一标识eid,由域所有者在本地维护一个配置文件数据库。
43.步骤2:能力令牌生成阶段,已注册的用户作为主体向客体发送请求访问客体资源的请求;域所有者收到请求后,执行预定义的能力令牌生成策略,生成主体的能力令牌,并发起交易,向区块链中的智能合约更新能力令牌,自此所有区块链中的节点都可以同步或验证能力令牌,最后域所有者向主体返回其能力令牌的智能合约地址,具体的流程图如图2所示。
44.步骤3:能力令牌动态验证阶段,为了判断主体是否为恶意节点,是否存在不良行为,根据令牌属性、不良行为记录表、访问控制记录表,对主体的能力令牌进行动态验证。
45.本发明实施的动态验证具体流程如图3所示,步骤如下:
46.步骤3.1:主体向客体发送服务请求,并附带自己的eid;
47.步骤3.2:客体收到请求后根据主体的eid向智能合约请求主体的能力令牌,进行动态验证;
48.步骤3.3:智能合约首先判断主力的能力令牌是否存在,不存在则将拒绝请求并记录此次访问控制记录;
49.步骤3.4:智能合约检查令牌是否处于可用状态,即根据主体能力令牌中的属性:被禁用开始时间dt以及禁用时长tom,与发起请求的时间进行比较,判断主体是否在被禁用时间内发起请求;
50.步骤3.5:智能合约根据令牌中记录的该主体上一次对客体发起访问请求的时间lrt,计算与此次发起请求的时间差,根据预定义的频繁访问时间阈值,判断主体是否存在短时间内频繁访问的不良行为;
51.步骤3.6:智能合约根据访问控制记录表查询该主体的前n次请求的结果,若均被拒绝仍发起请求,则判定主体存在不良行为。
52.步骤3.7:若主体存在不良行为,将拒绝其访问请求并根据发生不良行为的次数times计算能力令牌的禁用时间tom,禁用主体的能力令牌,并更新不良行为记录表与访问
控制记录表;如主体通过验证,则开始进行能力令牌的静态验证。
53.步骤4:能力令牌静态验证阶段,在不考虑主体历史行为的情况下,检查能力令牌中的权限。
54.本发明实施的静态权限验证具体流程如图4所示,步骤如下:
55.步骤4.1:静态验证首先检查主体能力令牌中是否已授予对客体的访问权限,若无权限则直接拒绝请求;
56.步骤4.2:对主体的权限进行验证,验证令牌中上下文条件的属性是否满足客体需要在本地满足的访问控制条件;
57.步骤4.3:若满足条件则提供服务并更新访问控制记录表,若不满足条件则继续检查主体的下一组权限,重复4.2步骤,直至所有权限均被验证;
58.步骤5:响应或拒绝服务阶段,根据动态验证与静态验证的结果,客体将决策响应主体的请求并提供服务或拒绝请求。
59.本发明实施的权限验证具体流程如图5所示,步骤如下:
60.步骤5.1:智能合约将动态与静态权限验证的检查结果返回给客体;
61.步骤5.2:若无异常情况,客体将响应请求并对主体提供服务,若结果中包含令牌封锁时间,客体将该时间返回给主体。
62.与现有技术相比,本发明的有益效果在于:基于区块链的跨域访问控制根据更严谨的权限验证逻辑与对能力令牌结构的优化,提供了更加细粒度、更安全的访问控制,根据令牌生成阶段对令牌的处理可以防止伪造令牌的行为,根据动态验证可以抵抗中间人攻击,防止恶意节点对系统进行泛洪攻击,防止单点故障导致系统异常的行为发生,基于区块链的透明与公开特性,所有节点均可以通过访问区块链中的交易和智能合约来同步状态。
63.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:
1.一种基于区块链的跨域访问控制方法,其特征在于,包括以下步骤:步骤1:注册阶段:未注册的用户与服务提供者向域所有者进行注册,获得唯一标识eid,域所有者维护本地配置数据库,提供身份验证功能;步骤2:能力令牌的生成:已注册的用户向域所有者发起请求服务提供者资源的请求,用户作为访问控制的主体,服务提供者作为客体,域所有者执行预定义的决策策略,评估主体的请求后生成能力令牌,并与区块链中的智能合约进行同步;步骤3:能力令牌的动态验证:主体向客体发起服务请求,客体根据主体的eid调用用区块链中的智能合约对能力令牌进行动态验证,检查主体是否存在不良行为;步骤4:能力令牌的静态验证:对于不存在不良行为的主体,进行能力令牌的静态验证,检查其权限;步骤5:响应或拒绝服务:根据动态验证与静态验证的结果,客体将决策响应主体的请求并提供服务或拒绝请求。2.根据权利要求1所述的一种基于区块链的跨域访问控制方法,其特征在于:所述步骤2包括以下步骤:步骤2.1:已注册用户作为访问控制的主体,服务提供者作为被访问的客体,主体向域所有者发送请求访问客体资源的请求;步骤2.2:域所有者收到请求后,执行预定义的能力令牌生成策略,生成主体的能力令牌;步骤2.3:域所有者发起交易,向区块链中的智能合约更新能力令牌,自此所有区块链中的节点都可以同步或验证能力令牌;步骤2.4:域所有者向主体返回其能力令牌的智能合约地址。3.根据权利要求1所述的一种基于区块链的跨域访问控制方法,其特征在于:所述步骤3包括以下步骤:步骤3.1:主体向客体发起包含自己eid的访问请求;步骤3.2:客体收到请求后根据主体的eid向智能合约请求主体的能力令牌进行动态验证;步骤3.3:智能合约首先根据主体eid判断令牌是否存在,不存在则将拒绝请求并记录此次访问控制记录步骤3.4:智能合约检查令牌是否处于可用状态,即根据主体能力令牌中的属性:被禁用开始时间dt以及禁用时长tom,与发起请求的时间进行比较,判断主体是否在被禁用时间内发起请求;步骤3.5:智能合约根据令牌中记录的该主体上一次对客体发起访问请求的时间lrt,计算与此次发起请求的时间差,根据预定义的频繁访问时间阈值,判断主体是否存在频繁访问的不良行为;步骤3.6:智能合约根据访问控制记录表查询该主体的前n次请求的结果,若均被拒绝仍发起请求,则判定主体存在不良行为;步骤3.7:若主体存在不良行为,将拒绝其访问请求并根据发生不良行为的次数times计算能力令牌的禁用时间tom,禁用主体的能力令牌,并更新不良行为记录表与访问控制记录表;如主体通过验证,则开始进行能力令牌的静态验证。
4.根据权利要求1所述的一种基于区块链的跨域访问控制方法,其特征在于:所述步骤4包括以下步骤:步骤4.1:静态验证首先检查主体能力令牌中是否已授予对客体的访问权限,若无权限则直接拒绝请求;步骤4.2:对主体的权限进行验证,验证令牌中上下文条件的属性是否满足客体需要在本地满足的访问控制条件;步骤4.3:若满足条件则提供服务并更新访问控制记录表,若不满足条件则继续检查主体的下一组权限,重复步骤4.2,直至所有权限均被验证。5.根据权利要求1所述的一种基于区块链的跨域访问控制方法,其特征在于:所述步骤5包括以下步骤:步骤5.1:智能合约将动态与静态权限验证的检查结果返回给客体;步骤5.2:若无异常情况,客体将响应请求并对主体提供服务,若结果中包含令牌封锁时间,客体将该时间返回给主体。
技术总结
本发明属于信息安全技术领域,具体涉及一种基于区块链的跨域访问控制方法。本发明根据更严谨的权限验证逻辑与对能力令牌结构的优化,提供了更加细粒度、更安全的访问控制,根据令牌生成阶段对令牌的处理可以防止伪造令牌的行为,根据动态验证可以抵抗中间人攻击,防止恶意节点对系统进行泛洪攻击,防止单点故障导致系统异常的行为发生,基于区块链的透明与公开特性,所有节点均可以通过访问区块链中的交易和智能合约来同步状态。交易和智能合约来同步状态。交易和智能合约来同步状态。
技术研发人员:史子卉 陈志远 皇甫姣姣 林茂 王明珍 韩一夫
受保护的技术使用者:哈尔滨工程大学
技术研发日:2021.11.26
技术公布日:2022/3/8