一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于分层区块链的物联网设备资源访问控制方法与流程

2021-10-24 06:59:00 来源:中国专利 TAG:联网 访问控制 设备 资源 区块


1.本发明属于物联网设备资源访问控制领域,涉及一种基于分层区块链的物联网设备资源访问控制方法。


背景技术:

2.随着物联网技术的快速发展,各类物联网应用如智能可穿戴设备、智能家电、智能网联汽车、智能机器人、智慧医疗等得到广泛普及,数以万亿计的物联网设备将接入网络。物联网设备数量庞大且呈现分布式部署,相关应用在给人们生产生活带来便利的同时,也产生安全隐患,设备数据资源的可靠有效访问控制面临着巨大的挑战。大规模物联网设备的数据交互和信息通信可能导致部分数据,特别是一些隐私和敏感数据的安全访问难以保障,不法分子可通过系统漏洞或业务逻辑缺陷劫持终端设备中存储、管理以及传输的用户数据,从而导致用户个人数据泄露。为解决这一问题,物联网的数据访问控制技术应运而生。该项技术通过拒绝权限受限的实体访问物联网数据,仅支持具有完备访问权限的设备访问相关数据,可大幅提高物联网数据的安全性。
3.目前较为主流的物联网访问控制方法包括:基于角色的访问控制(role

based access control,rbac),基于属性的访问控制(attributes based access control,abac),基于使用控制模型(usage control,ucon)的访问控制以及基于权能的访问控制(capability

based access control,capbac)。上述方案中,如rbac、abac、ucon等多采用集中式策略,即基于一个高度可信任的中央实体而运行接入控制策略。然而,物联网应用中集中式实体的高度可信任性难以保障,同时与用户日益增长的隐私保护需求产生了矛盾。而capbac方案虽采用分布式架构,避免了集中式架构中单点故障问题和中央实体不可信问题,但这种方法可能存在被恶意攻击者利用漏洞威胁接入控制机制的可能性,难以保障轻量级设备的数据安全性。
4.区块链技术可解决基于信任的中心化模型带来的安全问题。针对当前物联网数据访问控制机制存在的问题不足,亟需一种基于区块链技术的物联网数据访问控制方法。


技术实现要素:

5.有鉴于此,本发明的目的在于提供一种基于分层区块链的物联网设备资源访问控制方法,构建全局区块链和本地区块链,利用区块链存储物联网设备、簇头节点的身份信息及物联网设备资源信息,设计基于属性的访问控制策略构建安全可信、支持跨域的物联网访问控制系统,实现对资源的访问控制管理,有效避免集中式架构的单点故障问题,并防止出现越权访问等情况。
6.为达到上述目的,本发明提供如下技术方案:
7.一种基于分层区块链的物联网设备资源访问控制方法,包括以下步骤:
8.s1:网关节点构建全局区块链网络并部署智能合约;
9.s2:簇头节点发送入网请求消息至网关节点进行身份注册;
10.s3:注册成功的簇头节点与所关联的网关节点构建本地区块链网络,并部署智能合约;
11.s4:采用延迟接受(deferred

acceptance,da)算法确定物联网设备成簇策略;
12.s5:网关与其关联的簇头、物联网设备构成物联网域;
13.s6:物联网设备发送入网请求消息至所关联簇头节点进行身份注册;
14.s7:物联网设备将其所收集资源发送至簇头节点,簇头节点调用智能合约将资源存储在本地区块链网络中;
15.s8:物联网设备制定访问控制策略,生成访问控制消息,发送至簇头节点,簇头节点调用智能合约将访问控制策略存储在本地区块链网络中;
16.s9:簇头节点将访问控制消息转发至网关节点,网关节点调用智能合约将访问控制策略存储在全局区块链网络中;
17.s10:簇头节点发送设备资源标识消息至网关节点,网关节点调用智能合约将设备资源标识存储在全局区块链网络中;
18.s11:第一物联网设备发送访问请求消息至所关联簇头节点;
19.s12:簇头节点接收第一物联网设备访问请求消息,对第一物联网设备进行身份认证,具体为簇头节点查询本地区块链网络中存储的物联网设备身份信息,验证第一设备身份是否合法;
20.s13:若第一物联网设备身份合法,簇头节点在本地区块链网络查询第二物联网设备的访问控制策略;
21.s14:若本地区块链网络已存储第二物联网设备的访问控制策略,则采用域内访问控制机制实现设备资源访问;
22.s15:若本地区块链网络未存储第二物联网设备的访问控制策略,则采用域间访问控制机制实现设备资源访问。
23.进一步,步骤s1中,所述全局区块链网络中存储簇头节点基本属性、物联网设备资源标识及访问控制策略等信息;网关节点部署的智能合约包括注册合约、设备关联合约和策略合约,注册合约用于实现簇头节点身份注册管理,定义如下函数:
24.(1)设备注册函数:网关节点与此函数交互,完成簇头节点注册;
25.(2)设备注销函数:网关节点与此函数交互,注销已认证簇头节点;
26.设备关联合约定义设备关联函数,网关节点与此函数交互,存储物联网设备、簇头及网关之间关联关系。
27.策略合约用于实现物联网设备的访问控制,定义如下函数:
28.(1)策略生成函数:网关节点与此函数交互,存储访问控制策略;
29.(2)策略更新函数:网关节点与此函数交互,更新访问控制策略;
30.(3)策略撤销函数:网关节点与此函数交互,撤销访问控制策略;
31.(4)策略查询函数:网关节点与此函数交互,查询访问控制策略。
32.进一步,步骤s2中,簇头节点发送的入网请求消息包括入网请求消息标识、簇头标识符、簇头关联的网关标识符及当前时间戳等信息。
33.进一步,步骤s3中,所述本地区块链网络中存储物联网设备基本属性信息、资源及访问控制策略;注册成功的簇头节点部署的智能合约包括注册合约、资源合约和策略合约,
其中注册合约用于实现物联网设备的身份管理,定义了如下函数:
34.(1)设备注册函数:簇头节点与此函数交互,完成物联网设备的身份注册;
35.(2)设备注销函数:簇头节点与此函数交互,撤销已认证的物联网设备;
36.资源合约用于实现第二设备资源的存储,定义如下函数:
37.(3)资源存储函数:簇头节点与此函数交互,完成物联网设备资源的存储;
38.(4)资源撤销函数:簇头节点与此函数交互,撤销物联网设备收集的资源;
39.策略合约用于实现物联网设备的访问控制管理,所采用访问控制策略为基于属性的访问模型,包括主体属性、客体属性、权限属性和环境属性,其中主体属性为第一设备属性信息;客体属性为第二设备的属性信息;权限属性为数据可读、可写的组合;环境属性为策略生成时间和策略结束时间;策略合约定义了如下函数:
40.(1)策略生成函数:簇头节点与此函数交互,存储访问控制策略;
41.(2)策略更新函数:簇头节点与此函数交互,更新访问控制策略;
42.(3)策略撤销函数:簇头节点与此函数交互,撤销访问控制策略;
43.(4)策略查询函数:簇头节点与此函数交互,查询访问控制策略;
44.其中,第一设备为发起访问请求的设备,第一设备可以是任意物联网设备;第二设备为接收访问请求的设备,第二设备可以是任意物联网设备。
45.进一步,所述步骤s4具体包括:假设物联网域中包含m个物联网设备,n个簇头节点,其中第m个物联网设备表示为iot
m
,位置坐标为1≤m≤m;第n个簇头节点表示为ch
n
,位置坐标为1≤n≤n;采用da算法确定物联网设备成簇策略,具体包括以下步骤:
46.s41:建立初始偏好列表
47.计算物联网设备与簇头节点之间距离,分别建立偏好列表;令ζ表示物联网设备集合ζ={iot1,iot2,

,iot
m
},γ表示簇头节点集合γ={ch1,ch2,

,ch
n
};令d
m,n
表示iot
m
与ch
n
之间距离,建模为令iot
m
所建立的偏好列表为φ
m
,ch
n
所建立的偏好列表为ψ
n
;若iot
m
到ch
n
的距离满足则φ
m
为若ch
n
到iot
m
的距离满足则ψ
n

48.s42:物联网设备发起匹配请求
49.物联网设备向偏好列表中位列第一的簇头节点发起匹配请求,并在偏好列表删除该簇头节点;对于iot
m
∈ζ,发送匹配请求至并在φ
m
移除
50.s43:簇头节点响应物联网设备请求
51.簇头节点比较发送请求的物联网设备数目与其最大可接收物联网设备数目,接收或拒绝物联网设备的匹配请求;令簇头节点最大可接收物联网设备数目为z0;对于ch
n
,令物联网设备发送匹配请求的数目为z,若z≤z0,ch
n
暂时接收所有物联网设备的匹配请求;若z>z0,ch
n
检查其偏好列表,接收偏好列表中前z0个物联网设备的请求,并向相应物联网设备发送接收响应,向其余物联网设备发送拒绝响应;
52.s44:更新物联网设备集合
53.若物联网设备接收到来自簇头节点的匹配接收响应,物联网设备与该簇头节点相关联,在物联网设备集合中删除该设备;若iot
m
接收到来自于的匹配接收响应,则建立与的关联,更新物联网设备集合和簇头节点集合ζ=ζ/{iot
m
},
54.s45:检查算法是否终止
55.若所有的物联网设备均完成匹配,算法终止;否则,返回步骤s42。
56.进一步,步骤s6中,物联网设备发送的入网请求消息包括入网请求消息标识、物联网设备标识符、物联网设备关联的簇头节点标识及当前时间戳等信息。
57.进一步,步骤s7中,物联网设备收集的资源包括物联网设备标识、资源标识及具体收集资源。
58.进一步,步骤s8中,物联网设备制定的访问控制策略包括:访问的主体对象(即第一物联网设备)、客体对象(即第二物联网设备的资源)、操作权限和环境属性;所述访问控制消息包括:访问消息标识、访问控制策略及当前时间戳等信息。
59.进一步,步骤s10中,所述簇头节点发送的设备资源标识消息包括:物联网设备的资源标识、物联网设备关联的簇头节点和网关节点信息及当前时间戳等信息。
60.进一步,步骤s11中,所述第一物联网设备发送的访问请求消息包括:访问请求消息标识、第一物联网设备属性信息、所请求数据的第二物联网设备标识、资源标识、资源访问动作,拟修改的数据(可选)。
61.进一步,步骤s14具体为:若本地区块链网络已存储第二设备的访问控制策略,也即第一、二设备同属相同物联网域,则基于域内资源访问机制实现设备资源访问,具体为簇头节点查询访问控制策略,验证策略主体对象是否存在第一设备,若不存在,则拒绝第一设备的访问请求;若主体对象中存在第一设备,判断访问请求消息中资源访问动作与访问控制策略中权限操作是否一致,若访问权限一致且为可读,簇头节点调用智能合约在本地区块链中获取第二设备相应资源,并将资源返回至第一设备;若访问权限一致且为可写,簇头节点调用智能合约将拟修改的数据存储在本地区块链中;若返回的访问权限不一致,则拒绝第一设备的访问请求。
62.进一步,步骤s15具体为:若本地区块链网络未存储第二设备的访问控制策略,也即第一、二设备属于不同物联网域,则基于域间资源访问机制实现设备资源访问;具体为簇头节点将访问请求消息转发至第一网关节点;第一网关节点验证簇头节点的身份,若簇头节点身份不合法,拒绝簇头节点转发的访问请求;若簇头节点身份合法,第一网关节点在全局区块链网络中查询第二设备的访问控制策略;若查询到第二设备的访问控制策略,第一网关节点验证策略的主体对象是否存在第一设备,若不存在,拒绝簇头节点转发的访问请求;若主体对象中存在第一设备,第一网关节点判断访问请求消息中资源访问的动作与访问控制策略中权限操作是否一致;若访问权限一致且为可读,第一网关节点通过全局区块链查询第二设备的关联消息,向第二设备所关联的第二网关节点转发访问请求,第二网关节点调用智能合约在本地区块链中获取第二设备的资源,并将资源返回至第一网关节点,进而转发第一设备;若访问权限一致且为可写,第一网关节点通过全局区块链查询第二设备的关联消息,向所关联的第二网关节点转发访问请求,第二网关节点调用智能合约将拟修改的数据存储在本地区块链中;若返回的访问权限不一致,则拒绝第一设备的访问请求。
63.本发明的有益效果在于:本发明根据物联网设备能力差异,将其划分为网关、簇头节点和物联网设备,在不同类型的节点之间构成分层的区块链网络,包括全局区块链和本地区块链。同时考虑物联网设备能力有限,基于da算法确定物联网设备成簇策略。引入分层区块链技术、基于属性的访问控制构建了一个安全和跨域的物联网访问控制系统,利用区块链存储物联网设备和簇头节点的身份信息,实现物联网设备和簇头节点的认证和物联网设备对资源的访问控制管理,有效避免单点攻击,克服集中式实体的单点故障问题,防止出现越权访问等情况,使访问控制系统具备安全、可伸缩性、轻量级和细粒度等特性。
64.本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
65.为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
66.图1为物联网设备分层架构图;
67.图2为基于分层的区块链模型图;
68.图3为基于分层区块链的物联网设备资源访问控制流程图;
69.图4为基于分层区块链域内的访问控制流程图;
70.图5为基于分层区块链域间的访问控制流程图。
具体实施方式
71.以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
72.请参阅图1~图5,本实施例是基于图1的物联网设备分层系统结构,此架构中包括网关、簇头节点及物联网设备,其中:
73.网关节点:管理域下簇头节点和物联网设备,网关节点具备丰富的计算能力和存储资源,网关节点具备高可信度,网关节点之间可直接建立连接。
74.簇头节点:簇头节点主要用于处理和转发消息,簇头节点具备丰富的计算能力和存储资源,每个簇头节点只可关联一个网关节点。
75.物联网设备:物联网设备如(智能家居、摄像头、传感器等),通常位于网络边缘,用于感知各种数据,每个物联网设备只允许关联一个簇头节点,物联网设备用于感知和传输数据,计算和存储能力较弱,无法进行复杂的数据操作和数据处理,其中第一设备为发起访问请求的设备,第一设备可以是任意物联网设备;第二设备为接收访问请求的设备,第二设备可以是任意物联网设备。
76.图2为本实施例基于分层的区块链模型图,如图2所示,分层的区块链包括全局区块链网络和本地区块链网络,其中:
77.全局区块链网络:基于超级账本(hyperledger fabric)搭建全局区块链网络,网关节点为全局区块链的节点,其中全局区块链网络存储簇头节点基本属性、物联网设备资源标识及访问控制策略等信息;部署的智能合约包括注册合约、设备关联合约和策略合约。
78.本地区块链网络:基于超级账本(hyperledger fabric)搭建本地区块链网络,网关节点和簇头节点为本地区块链的节点,其中本地区块链网络存储物联网设备基本属性信息、资源及访问控制策略;部署的智能合约包括注册合约、资源合约和策略合约。
79.图3为本实施例基于分层区块链的物联网设备资源访问控制流程图,如图3所示,物联网设备资源访问控制方法具体包括以下步骤:
80.1)网关节点构建全局区块链网络并部署智能合约;
81.2)簇头节点发送入网请求消息至网关节点进行身份注册;
82.3)簇头节点与所关联的网关节点构建本地区块链网络,并部署智能合约;
83.4)基于da算法确定物联网设备成簇策略;
84.5)网关与其关联的簇头、物联网设备构成物联网域;
85.6)物联网设备发送入网请求消息至所关联簇头节点进行身份注册;
86.7)物联网设备将其所收集资源发送至簇头节点,簇头节点调用智能合约将资源存储在本地区块链网络中;
87.8)物联网设备制定访问控制策略,生成访问控制消息,发送至簇头节点,簇头节点调用智能合约将访问控制策略存储在本地区块链网络中
88.9)簇头节点将访问控制消息转发至网关节点,网关节点调用智能合约将访问控制策略存储在全局区块链网络中;
89.10)簇头节点发送设备资源标识消息至网关节点,网关节点调用智能合约将设备资源标识存储在全局区块链网络中;
90.11)第一设备发送访问请求消息至所关联簇头节点;
91.12)簇头节点接收设备访问请求消息,对第一设备进行身份认证;
92.13)若第一设备身份合法,簇头节点在本地区块链网络查询第二设备的访问控制策略;
93.14)若本地区块链网络已存储第二设备的访问控制策略,则基于域内访问控制机制实现设备资源访问;
94.15)若本地区块链网络未存储第二设备的访问控制策略,则基于域间访问控制机制实现设备资源访问。
95.图4为本实施例基于分层区块链域内的访问控制流程图,如图4所示,区块链域内的访问控制方法具体包括以下步骤:
96.1)第一设备发送访问请求消息至所关联簇头节点;
97.2)簇头节点接收设备访问请求消息,对第一设备进行身份认证;
98.3)若第一设备身份合法,簇头节点在本地区块链网络查询第二设备的访问控制策略;
99.4)若本地区块链网络已存储第二设备的访问控制策略,则基于域内访问控制机制
实现设备资源访问;
100.5)簇头节点根据所查询的访问控制策略,验证策略的主体对象是否存在第一设备;
101.6)若不存在;拒绝第一设备的访问请求;
102.7)若主体对象中存在第一设备,判断访问请求消息中资源访问动作与访问控制策略中权限操作是否一致,
103.8)若访问权限一致且为可读,簇头节点调用智能合约在本地区块链中获取第二设备相应资源,并将资源返回至给第一设备;
104.9)若访问权限一致且为可写,簇头节点调用智能合约将拟修改的数据存储在本地区块链中。
105.10)若返回的访问权限不一致,则拒绝第一设备的访问请求。
106.图5为本实施例基于分层区块链域间的访问控制流程图,如图5所示,块链域间的访问控制方法具体包括以下步骤:
107.1)第一设备发送访问请求消息至所关联簇头节点;
108.2)簇头节点接收设备访问请求消息,对第一设备进行身份认证;
109.3)若第一设备身份合法,簇头节点在本地区块链网络查询第二设备的访问控制策略;
110.4)若本地区块链网络未存储第二设备的访问控制策略,则基于域间访问控制机制实现设备资源访问;
111.5)簇头节点将访问请求消息转发至第一网关节点;
112.6)第一网关节点验证簇头节点的身份,若簇头节点身份不合法,拒绝簇头节点转发的访问请求;
113.7)若簇头节点身份合法,在全局区块链网络中查询第二设备的访问控制策略;
114.8)若查询到第二设备的访问控制策略,第一网关节点验证策略的主体对象是否存在第一设备,若不存在,拒绝簇头节点转发的访问请求;
115.9)若主体对象中存在第一设备,第一网关节点判断访问请求消息中资源访问的动作与访问控制策略中权限操作是否一致;
116.10)若访问权限一致且为可读,第一网关节点通过全局区块链查询第二设备的关联消息,向第二设备所关联的第二网关节点转发访问请求,第二网关节点调用智能合约在本地区块链中获取第二设备的资源,并将资源返回至第一网关节点,进而转发第一设备;
117.11)若访问权限一致且为可写,第一网关节点通过全局区块链查询第二设备的关联消息,向所关联的第二网关节点转发访问请求,第二网关节点调用智能合约将拟修改的数据存储在本地区块链中;
118.12)若返回的访问权限不一致,则拒绝第一设备的访问请求。
119.最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜