一种物联网资源访问系统、方法、介质、设备及终端与流程
未命名
09-22
阅读:66
评论:0
1.本发明属于区块链技术领域,尤其涉及一种物联网资源访问系统、方法、介质、设备及终端。
背景技术:
2.目前,随着计算机、物联网技术的发展,分布式物联网的概念是一种很有前景的发展方向,用户可以更好地控制他们生成的数据的粒度。但是用户的一个简单的错误或配置错误可能会导致他们的隐私遭到严重破坏,现有的在设备端实现当前的安全标准和访问控制解决方案都非常复杂。所以目前需要一种复杂度低的分布式的访问控制方法,而且对正常的访问安全有效。
3.田圣彪在其发表的论文《面向物联网的用户中心化认证授权系统设计与实现》中针对面向物联网的用户中心化认证授权系统进行相关的研究与实现,其中分别面向物联网的用户中心化认证授权系统的需求分析以及总体架构设计,面向物联网的用户中心化认证授权系统的相关研究工作,在以用户为中心的认证授权协议openid connect 1.0的基础上,实现物联网环境下具有良好用户互操作性的认证授权及访问控制流程。但是该授权逻辑委托给外部服务需要被委托的实体和设备之间有很强的信任关系。此外,它们之间的所有通信都必须是安全的并相互验证的,以便委托的实体安全级别至少与内部实现授权逻辑一样高。
4.李永娇等作者在其发表的论文《物联网安全资源共享关键技术的研究》一文中针对物联网环境下数据资源共享过程中容易造成隐私信息泄露、非法用户窃取数据等安全威胁,提出一种基于密文属性认证的安全资源共享协议,该协议采用隐藏属性的身份认证方法对物联网中各终端设备进行身份认证,首先对终端设备的属性进行加密隐藏,然后用加密后的属性进行身份认证。在保障参与数据共享的终端设备的合法性的同时,避免终端设备的隐私信息泄露。认证后的终端设备计算加解密密钥对其共享的资源进行加密存储,也可以通过权限和身份双重认证,下载并解密共享资源。但是这种方案需要基于在离散对数问题和双线性计算diffie-hellman问题假设下,该条件不满足的情况下也可能导致数据泄露,降低平台的防御能力。
5.通过上述分析,现有技术存在的问题及缺陷为:
6.(1)现有在设备端实现当前的安全标准和访问控制解决方案都非常复杂。
7.(2)现有授权逻辑委托给外部服务需要被委托的实体和设备之间有很强的信任关系;此外,它们之间的所有通信都必须是安全的并相互验证的。
8.(3)现有技术需要基于在离散对数问题和双线性计算diffie-hellman问题假设下,该条件不满足的情况下也可能导致数据泄露,降低平台的防御能力。
9.解决以上问题及缺陷的难度为:在物联网中,访问控制面临巨大挑战。由于智能对象的局限性,目前的访问控制标准很难在智能对象上实现,而引入强大且可信的第三方来处理访问控制逻辑可能会损害用户隐私。如果将访问控制权限全部交给客户,一个简单的
错误或错误的配置都可能导致他们的隐私遭到严重侵犯。目前典型的安全和访问控制标准都是围绕信任的概念构建的,其中总是引入集中式的受信任实体。然而,当在实际的物联网部署中考虑集中式方法时,会出现重大缺陷。一方面,为每个访问请求包含一个中心实体显然不利于端到端的通信安全性。另一方面,大量设备的物联网场景使得中心实体的信任管理复杂化。此外,服务器的资源非常有限,这导致了服务器端功能需要更加精简。
10.解决以上问题及缺陷的意义为:通过利用区块链技术中的协议,作为最解决前面提到的所有物联网授权挑战。分布式物联网目前的设备计算力都在提高,更多的智能化、个性化功能会出现在每个设备上,同时为了避免放权到个人,保证整个物联网系统的正常、安全运转,提出利用区块链技术完成访问控制。同时需要一个新的访问控制框架适合当前物联网发展的分布式特性,用户可以控制他们自己的隐私,而不是由一个集中控制的权力,同时可以集中处理物联网设备的授权功能。
技术实现要素:
11.针对现有技术存在的问题,本发明提供了一种物联网资源访问系统、方法、介质、设备及终端,尤其涉及一种基于区块链的物联网资源访问系统、方法、介质、设备及终端,旨在解决现有数据安全平台中第三方仲裁机构信任危机,防御能力弱等问题。
12.本发明是这样实现的,一种物联网资源访问方法,所述物联网资源访问方法包括以下步骤:
13.步骤一,注册一个具有相应地址的新资源区块,请求模块发起一个请求;
14.用户访问请求需要经过注册步骤,注册之后可以向系统中发送数据,以便后续流程进行;
15.步骤二,请求模块将当前请求提交到授权管理点,判断当前请求的类型;
16.典型的访问控制系统中,当请求模块需要访问一个受保护的资源,需要将请求提交给管理员,便于管理员进行验证,批准等安全步骤;
17.步骤三,若当前请求的类型为授权访问,则执行对应的协议流程;
18.若当前请求的类型为请求访问,则执行对应的协议流程;
19.若当前请求的类型为代理访问,则执行对应的协议流程;
20.本步骤作为具体执行策略的决策点,需要将不同类型的请求,按照安全控制等级分配不同的区块进行处理;
21.步骤四,资源管理者为访问事务制定所述类型的请求;
22.本步骤需要利用编码脚本,根据不同类型请求,定制不同的访问秘钥;
23.步骤五,资源管理者将该事务广播给其他网络节点,直到到达资源请求者;
24.本步骤为了保证当前的操作能同步在分布式物联网中的各节点;
25.步骤六,资源请求者稍后充当分布式策略决策者,并对事务进行评估;
26.本步骤为资源请求者的转换过程,为后续步骤中策略决策者操作进行铺垫;
27.步骤七,策略决策者使用定义的策略检查请求,将此事务的解锁脚本与前一个授权请求事务的锁定脚本进行比较;
28.本步骤在物联网中检查请求方已经满足了访问条件,可以利用解码脚本进行信息处理,同时令牌现在是有效的,可以供请求方使用。
29.步骤八,策略决策者决定是允许请求还是拒绝请求;
30.本步骤表示策略决策者可以作为请求是否执行的结果;
31.如果允许则将该请求记录在区块链中,否则该事务将被拒绝并向其发送方发送一个拒绝通知,并终止当前流程。
32.进一步,所述步骤一中的注册一个具有相应地址的新资源区块包括:
33.在框架中,定义一个授权令牌。此令牌只是一个数字签名,表示事务的创建者为访问由其地址设计的特定资源而对其接收者定义的访问权限或授权。
34.所述请求模块发起一个请求包括:
35.智能设备a在申请访问设备b前,获取接入令牌;a向设备b发送一个请求,指示目标资源的地址和要执行的操作;设备b定义他的访问控制策略,并通过授权事务将其重新加载到区块链中。
36.进一步,所述步骤二中的授权管理点充当管理受保护资源的策略实施点。
37.进一步,所述步骤三中,若当前请求的类型为授权访问,则:
38.(1)资源管理者对当前请求制定一个规则;
39.(2)认证管理者将当前的请求规则转换为脚本;
40.(3)资源管理者对请求者的公钥加密生成一个令牌;
41.(4)资源管理者利用如下公式生成一个交易请求:
42.t
x
=(m,sig
rs
(m))wherem=(id
x
,input(rs),output(rq,π
x
,tkn
rs,rq
));
43.(5)每一个节点在交易过程中验证交易请求t
x
的合法性;
44.(6)若当前事务是一个未被交易的对象,则当前交易会被记录在区块链中,并展示在请求者的钱包中,作为请求者可用的对象;
45.(7)若当前事务是一个已经交易过的对象,则当前的交易请求会被拒绝。
46.进一步,所述步骤三中,若当前请求的类型为请求访问,则:
47.(1)请求者将扫描其可用的数据库;
48.(2)资源管理者会解密当前访问请求携带的秘钥;
49.(3)资源管理者执行锁定任务,保证其他请求者暂时无法获取当前请求者请求的资源;
50.(4)校验请求者满足访问当前资源的控制条件,执行访问任务,生成一个解锁脚本;
51.(5)资源管理者按照如下公式生成访问请求事务:
[0052][0053]
(6)资源管理者将生成的事务传播到整个网络中;
[0054]
(7)网络节点验证和验证事务,如果它是有效的,它将被包含在区块链中,否则它将被拒绝并向其发送方发送通知;
[0055]
(8)一旦事务出现在区块链中,则意味着网络见证请求者已经完成访问条件,解锁脚本,那么token现在是有效的,可以使用;
[0056]
(9)请求者设备将令牌发送到目标设备;
[0057]
(10)目标设备通过检查区块链中是否包含请求事务来检查令牌的有效性;如果是有效的,则允许访问,否则拒绝访问。
[0058]
进一步,所述步骤三中,若当前请求的类型为代理访问,则:
[0059]
(1)若请求设备a通过代理c访问资源管理者,利用如下公式产生事务:
[0060]
t
x
=(m,siga(m))wherem=(id
x
,input(ref,rs,ψ),output(c.pk,π
x
,tkn
c.pk,rs
));
[0061]
(2)资源管理者广播当前的事务t
x
;
[0062]
(3)区块链中的各区块验证事务有效性;
[0063]
(4)如果当前请求事务有效,则将当前的事务t
x
记录在区块链中,同时由代理c作为当前资源的管理者;
[0064]
(5)当代理c需要提供访问当前资源时,创建一个访问事务,必须通过代理c创建的一个满足访问条件的脚本来解锁。
[0065]
本发明的另一目的在于提供一种实施所述的物联网资源访问方法的物联网资源访问系统,所述物联网资源访问系统包括:
[0066]
新资源区块注册模块,用于注册一个具有相应地址的新资源区块;
[0067]
请求发起及提交模块,用于通过请求模块发起一个请求,并将当前请求提交到授权管理点,
[0068]
请求类型判断模块,用于判断当前请求的类型;若当前请求的类型为授权访问,则执行对应的协议流程;若当前请求的类型为请求访问,则执行对应的协议流程;若当前请求的类型为代理访问,则执行对应的协议流程;
[0069]
请求制定模块,用于通过资源管理者为访问事务制定所述类型的请求;
[0070]
事务广播模块,用于通过资源管理者将该事务广播给其他网络节点,直到到达资源请求者;
[0071]
事务评估模块,用于通过资源请求者稍后充当分布式策略决策者,并对事务进行评估;
[0072]
请求检查模块,用于通过策略决策者使用定义的策略检查请求,将此事务的解锁脚本与前一个授权请求事务的锁定脚本进行比较;策略决策者决定是允许请求还是拒绝请求;如果允许则将该请求记录在区块链中,否则该事务将被拒绝并向其发送方发送一个拒绝通知,并终止当前流程。
[0073]
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
[0074]
注册一个具有相应地址的新资源区块;请求模块发起一个请求;请求模块将当前请求提交到授权管理点;判断当前请求的类型;若当前请求的类型为授权访问,则执行对应的协议流程;若当前请求的类型为请求访问,则执行对应的协议流程;若当前请求的类型为代理访问,则执行对应的协议流程;
[0075]
资源管理者为访问事务制定所述类型的请求;资源管理者将该事务广播给其他网络节点,直到它到达资源请求者;资源请求者稍后充当分布式策略决策者,并对事务进行评估;策略决策者使用定义的策略检查请求,将此事务的解锁脚本与前一个授权请求事务的锁定脚本进行比较;策略决策者决定是允许请求还是拒绝请求;如果允许则将该请求记录在区块链中,否则该事务将被拒绝并向其发送方发送一个拒绝通知,并终止当前流程。
[0076]
本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述
计算机程序被处理器执行时,使得所述处理器执行如下步骤:
[0077]
注册一个具有相应地址的新资源区块;请求模块发起一个请求;请求模块将当前请求提交到授权管理点;判断当前请求的类型;若当前请求的类型为授权访问,则执行对应的协议流程;若当前请求的类型为请求访问,则执行对应的协议流程;若当前请求的类型为代理访问,则执行对应的协议流程;
[0078]
资源管理者为访问事务制定所述类型的请求;资源管理者将该事务广播给其他网络节点,直到它到达资源请求者;资源请求者稍后充当分布式策略决策者,并对事务进行评估;策略决策者使用定义的策略检查请求,将此事务的解锁脚本与前一个授权请求事务的锁定脚本进行比较;策略决策者决定是允许请求还是拒绝请求;如果允许则将该请求记录在区块链中,否则该事务将被拒绝并向其发送方发送一个拒绝通知,并终止当前流程。
[0079]
本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于实现所述的物联网资源访问系统。
[0080]
结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明提供的物联网资源访问方法,首次结合了访问控制模型和加密货币区块链机制,本发明采用智能合约来表达细粒度的上下文访问控制策略,以做出授权决策;选择授权令牌作为访问控制机制,通过紧急加密资源来解决方案交付;区块链可以确保在没有中央权威机构/管理员的分布式环境中评估访问策略,并保证策略将被所有交互实体正确执行,其次是为了确保令牌重用检测。本发明可用于车联网、互联网信息管理、教育资源管理和医疗设备管理等涉及用户个人隐私信息的领域。
[0081]
本发明在针对物联网资源访问流程中,首先设计了授权管理者,资源管理者,认证管理者,策略决策者等角色,然后按照不同的请求方式设计了一个完整的数据流交互关系,最终使得用户可以安全的存储和取用自己的信息。相较于普通的物联网访问控制等系统,开创了区块链的一个新的应用领域,即通过本发明提到的框架进行访问控制,利用基于区块链提供的一致性来解决物联网单中心多分布模块的访问控制问题。
[0082]
本发明在针对访问资源令牌的设计中,采用了智能编程控制算法,该算法这使得区块资源能够实现更细粒度的访问控制策略,只要该系统中加密解密算法可以转换为脚本语言,就可以用任何访问控制模型表示,并且通过相同的机制,可以添加额外的操作和安全保护。
附图说明
[0083]
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
[0084]
图1是本发明实施例提供的物联网资源访问方法流程图。
[0085]
图2是本发明实施例提供的物联网资源访问方法原理图。
[0086]
图3是本发明实施例提供的物联网资源访问系统结构框图;
[0087]
图中:1、新资源区块注册模块;2、请求发起及提交模块;3、请求类型判断模块;4、请求制定模块;5、事务广播模块;6、事务评估模块;7、请求检查模块。
[0088]
图4是本发明实施例提供的请求过程的步骤流程图。
具体实施方式
[0089]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0090]
针对现有技术存在的问题,本发明提供了一种物联网资源访问系统、方法、介质、设备及终端,下面结合附图对本发明作详细的描述。
[0091]
如图1所示,本发明实施例提供的物联网资源访问方法包括以下步骤:
[0092]
s101,注册一个具有相应地址的新资源区块,请求模块发起一个请求;
[0093]
s102,请求模块将当前请求提交到授权管理点,判断当前请求的类型;
[0094]
s103,若当前请求的类型为授权访问,则执行对应的协议流程;若当前请求的类型为请求访问,则执行对应的协议流程;若当前请求的类型为代理访问,则执行对应的协议流程;
[0095]
s104,资源管理者为访问事务制定上述类型的请求;
[0096]
s105,资源管理者将该事务广播给其他网络节点,直到到达资源请求者;
[0097]
s106,资源请求者稍后充当分布式策略决策者,并对事务进行评估;
[0098]
s107,策略决策者使用定义的策略检查请求,将此事务的解锁脚本与前一个授权请求事务的锁定脚本进行比较;
[0099]
s108,策略决策者决定是允许请求还是拒绝请求;如果允许则将该请求记录在区块链中,否则该事务将被拒绝并向其发送方发送一个拒绝通知,并终止当前流程。
[0100]
本发明实施例提供的物联网资源访问方法原理图如图2所示。
[0101]
如图3所示,本发明实施例提供的物联网资源访问系统包括:
[0102]
新资源区块注册模块1,用于注册一个具有相应地址的新资源区块;
[0103]
请求发起及提交模块2,用于通过请求模块发起一个请求,并将当前请求提交到授权管理点,
[0104]
请求类型判断模块3,用于判断当前请求的类型;若当前请求的类型为授权访问,则执行对应的协议流程;若当前请求的类型为请求访问,则执行对应的协议流程;若当前请求的类型为代理访问,则执行对应的协议流程;
[0105]
请求制定模块4,用于通过资源管理者为访问事务制定所述类型的请求;
[0106]
事务广播模块5,用于通过资源管理者将该事务广播给其他网络节点,直到到达资源请求者;
[0107]
事务评估模块6,用于通过资源请求者稍后充当分布式策略决策者,并对事务进行评估;
[0108]
请求检查模块7,用于通过策略决策者使用定义的策略检查请求,将此事务的解锁脚本与前一个授权请求事务的锁定脚本进行比较;策略决策者决定是允许请求还是拒绝请求;如果允许则将该请求记录在区块链中,否则该事务将被拒绝并向其发送方发送一个拒绝通知,并终止当前流程。
[0109]
下面结合具体实施例对本发明的技术方案作进一步描述。
[0110]
本发明公开了一种基于区块链的物联网资源访问系统,主要解决现有数据安全平台中第三方仲裁机构信任危机,防御能力弱等问题。其实现步骤是:1.注册一个具有相应地址的新资源区块;2.请求模块发起一个请求;3.请求模块将当前请求提交到授权管理点;4.判断当前请求的类型;5.若当前请求的类型为授权访问,则执行对应的协议流程;6.若当前请求的类型为请求访问,则执行对应的协议流程;7.若当前请求的类型为代理访问,则执行对应的协议流程;8.资源管理者为访问事务制定上述类型的请求;9.资源管理者将该事务广播给其他网络节点,直到它到达资源请求者;10.资源请求者稍后充当分布式策略决策者,并对事务进行评估;11.策略决策者使用定义的策略检查请求,将此事务的解锁脚本与前一个授权请求事务的锁定脚本进行比较;12.策略决策者决定是允许请求还是拒绝请求;13.如果允许则将该请求记录在区块链中,否则该事务将被拒绝并向其发送方发送一个拒绝通知,并终止当前流程。
[0111]
本发明的目的在于克服上述现有技术存在的不足,提供一种基于区块链的物联网资源访问系统,它首次结合了访问控制模型和加密货币区块链机制,本发明采用智能合约来表达细粒度的上下文访问控制策略,以做出授权决策。选择授权令牌作为访问控制机制,通过紧急加密资源来解决方案交付。区块链可以确保在没有中央权威机构/管理员的分布式环境中评估访问策略,并保证策略将被所有交互实体正确执行,其次是为了确保令牌重用检测。
[0112]
为实现上述目的,本发明的技术方案包括如下步骤:
[0113]
(1)注册一个具有相应地址的新资源区块;
[0114]
在本发明框架中,定义一个授权令牌。此令牌只是一个数字签名,它表示事务的创建者为访问由其地址设计的特定资源而对其接收者定义的访问权限或授权。
[0115]
本实施例中可以使用rsa、dsa和ecdsa这三种常见的算法进行签名,也可以使用其他具有较高安全性的加密策略。
[0116]
(2)请求模块发起一个请求;
[0117]
智能设备a在申请访问设备b之前,需要获取接入令牌。a向设备b发送一个请求,指示目标资源的地址和要执行的操作。然后设备b定义他的访问控制策略,并通过授权事务将其重新加载到区块链中。
[0118]
本实施例中参考的区块链技术可以采用以太坊或者其他专门去中心化智能合约系统来设计。
[0119]
(3)请求模块将当前请求提交到授权管理点,该授权管理点充当管理受保护资源的策略实施点;
[0120]
本实施例中的授权管理点需要采用mysql类型的数据库,来保存具体的流水信息,同时通过普通文件管理系统来保存日志文件,可以利用redis来保存内存信息。
[0121]
(4)若当前请求的类型为授权访问;
[0122]
a)资源管理者对当前请求制定一个规则;
[0123]
b)认证管理者将当前的请求规则转换为脚本;
[0124]
c)资源管理者对请求者的公钥加密生成一个令牌;
[0125]
d)资源管理者利用如下公式生成一个交易请求;
[0126]
t
x
=(m,sig
rs
(m))wherem=(id
x
,input(rs),output(rq,π
x
,tkn
rs,rq
))
[0127]
e)每一个节点在交易过程中验证交易请求t
x
的合法性;
[0128]
f)若当前事务是一个未被交易的对象,则当前交易会被记录在区块链中,并展示在请求者的钱包中,作为请求者可用的对象;
[0129]
g)若当前事务是一个已经交易过的对象,则当前的交易请求会被拒绝;
[0130]
(5)若当前请求的类型为请求访问;
[0131]
a)请求者将扫描其可用的数据库;
[0132]
b)资源管理者会解密当前访问请求携带的秘钥;
[0133]
c)资源管理者执行锁定任务,保证其他请求者暂时无法获取当前请求者请求的资源;
[0134]
d)校验请求者满足访问当前资源的控制条件,执行访问任务,生成一个解锁脚本;
[0135]
e)资源管理者按照如下公式生成访问请求事务;
[0136][0137]
f)资源管理者将生成的事务传播到整个网络中;
[0138]
g)网络节点验证和验证事务,如果它是有效的,它将被包含在区块链中,否则它将被拒绝并向其发送方发送通知。
[0139]
h)一旦事务出现在区块链中。这意味着网络见证了请求者已经完成了访问条件(解锁脚本),那么token现在是有效的,可以使用了。
[0140]
i)请求者设备将令牌发送到目标设备。
[0141]
j)目标设备通过检查区块链中是否包含请求事务来检查令牌的有效性。如果它是有效的,则允许访问,否则拒绝访问。
[0142]
(6)若当前请求的类型为代理访问;
[0143]
a)若请求设备a通过代理c访问资源管理者,需要利用如下公式产生事务;
[0144]
t
x
=(m,siga(m))wherem=(id
x
,input(ref,rs,ψ),output(c.pk,π
x
,tkn
c.pk,rs
))
[0145]
b)资源管理者广播当前的事务t
x
;
[0146]
c)区块链中的各区块验证事务有效性;
[0147]
d)如果当前请求事务有效,则将当前的事务t
x
记录在区块链中,同时由代理c作为当前资源的管理者;
[0148]
e)当代理c需要提供访问当前资源时,它创建一个访问事务,必须通过代理c创建的一个满足访问条件的脚本来解锁。
[0149]
(7)资源管理者为访问事务制定上述类型的请求;
[0150]
(8)资源管理者将该事务广播给其他网络节点,直到它到达资源请求者;
[0151]
(9)资源请求者稍后充当分布式策略决策者,并对事务进行评估;
[0152]
(10)策略决策者使用定义的策略检查请求,将此事务的解锁脚本与前一个授权请求事务的锁定脚本进行比较;
[0153]
本实施例中可以利用sha-256算法对请求事务实例进行哈希计算,来判定是否符合脚本要求;
[0154]
(11)策略决策者决定是允许请求还是拒绝请求;
[0155]
(12)如果允许则将该请求记录在区块链中,否则该事务将被拒绝并向其发送方发送一个拒绝通知,并终止当前流程。
[0156]
本发明在针对物联网资源访问流程中,首先设计了授权管理者,资源管理者,认证管理者,策略决策者等角色,然后按照不同的请求方式设计了一个完整的数据流交互关系,最终使得用户可以安全的存储和取用自己的信息。相较于普通的物联网访问控制等系统,开创了区块链的一个新的应用领域,即通过本发明提到的框架进行访问控制,利用基于区块链提供的一致性来解决物联网单中心多分布模块的访问控制问题。
[0157]
本发明在针对访问资源令牌的设计中,采用了智能编程控制算法,该算法这使得区块资源能够实现更细粒度的访问控制策略,只要该系统中加密解密算法可以转换为脚本语言,就可以用任何访问控制模型表示,并且通过相同的机制,可以添加额外的操作和安全保护。
[0158]
下面结合试验对本发明的技术效果作详细的描述。
[0159]
本算法使用cpu为intel(r)xeon(r)e5-2680@2.70ghz,内存为金士顿32gb,显卡为nvidia geforce rtx 2060进行试验。
[0160]
基于上述介绍可以看出,应用本实施例所述方案,可以实现一种物联网资源访问系统。利用java8建立了一个系统来评估物联网资源访问系统设计方案。具体采用了rsa进行数字签名,采用sha-256来对检测脚本的结果进行校验。
[0161]
本试验测试了数字签名的耗时。每次签名都是一个独立的过程。加密秘钥是公开信息,一般长度为500位,推荐使用1024。从结果中可以看到,签名时间基本保持在120ms左右。系统的数据共享阶段是变量独立的过程,变量意味着不同用户的输入大小可能不同,独立意味着不同用户数据的加密不相互依赖。
[0162]
同时测试了用于哈希匹配计算的sha-256算法,sha每次接收的字符串长度为160bits,运算步骤数限制为80,为了测试协议的交易成本和执行成本之间的相似性,尽可能获得准确的分析结果,使用不同的输入长度的文本执行脚本。结果显示这些成本是随着输入大小而增加的。但这两条曲线的增长率在区间之间是相同的,也是线性的。
[0163]
本发明的系统中的各方可能需要同时应对物联网系统中各模块的请求。同时使用多个模块来发出请求,每个模块发出请求的时间间隔为2s,总共请求100次,可以发现单次请求的处理耗时没有明显变化。
[0164]
可以看出当前系统的性能满足本发明的使用场景。
[0165]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质(例如dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
[0166]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
技术特征:
1.一种物联网资源访问方法,其特征在于,所述物联网资源访问方法包括以下步骤:步骤一,注册一个具有相应地址的新资源区块,请求模块发起一个请求;步骤二,请求模块将当前请求提交到授权管理点,判断当前请求的类型;步骤三,若当前请求的类型为授权访问,则执行对应的协议流程;若当前请求的类型为请求访问,则执行对应的协议流程;若当前请求的类型为代理访问,则执行对应的协议流程;步骤四,资源管理者为访问事务制定所述类型的请求;步骤五,资源管理者将该事务广播给其他网络节点,直到到达资源请求者;步骤六,资源请求者稍后充当分布式策略决策者,并对事务进行评估;步骤七,策略决策者使用定义的策略检查请求,将事务的解锁脚本与前一个授权请求事务的锁定脚本进行比较;步骤八,策略决策者决定是允许请求还是拒绝请求;如果允许则将该请求记录在区块链中,否则事务将被拒绝并向发送方发送一个拒绝通知,并终止当前流程。2.如权利要求1所述物联网资源访问方法,其特征在于,所述步骤一中的注册一个具有相应地址的新资源区块包括:在框架中,定义一个授权令牌;所述令牌只是一个数字签名,表示事务的创建者为访问由其地址设计的特定资源而对其接收者定义的访问权限或授权;所述请求模块发起一个请求包括:智能设备a在申请访问设备b前,获取接入令牌;a向设备b发送一个请求,指示目标资源的地址和要执行的操作;设备b定义他的访问控制策略,并通过授权事务将其重新加载到区块链中。3.如权利要求1所述物联网资源访问方法,其特征在于,所述步骤二中的授权管理点充当管理受保护资源的策略实施点。4.如权利要求1所述物联网资源访问方法,其特征在于,所述步骤三中,若当前请求的类型为授权访问,则:(1)资源管理者对当前请求制定一个规则;(2)认证管理者将当前的请求规则转换为脚本;(3)资源管理者对请求者的公钥加密生成一个令牌;(4)资源管理者利用公式生成一个交易请求:t
x
=(m,sig
rs
(m))wherem=(id
x
,input(rs),output(rq,π
x
,tkn
rs,rq
));(5)每一个节点在交易过程中验证交易请求t
x
的合法性;(6)若当前事务是一个未被交易的对象,则当前交易会被记录在区块链中,并展示在请求者的钱包中,作为请求者可用的对象;(7)若当前事务是一个已经交易过的对象,则当前的交易请求会被拒绝。5.如权利要求1所述物联网资源访问方法,其特征在于,所述步骤三中若当前请求的类型为请求访问,则:(1)请求者将扫描其可用的数据库;(2)资源管理者会解密当前访问请求携带的秘钥;(3)资源管理者执行锁定任务,保证其他请求者暂时无法获取当前请求者请求的资源;(4)校验请求者满足访问当前资源的控制条件,执行访问任务,生成一个解锁脚本;
(5)资源管理者按照如下公式生成访问请求事务:(6)资源管理者将生成的事务传播到整个网络中;(7)网络节点验证和验证事务,如果它是有效的,它将被包含在区块链中,否则它将被拒绝并向其发送方发送通知;(8)一旦事务出现在区块链中,则意味着网络见证请求者已经完成访问条件,解锁脚本,那么token现在是有效的,使用;(9)请求者设备将令牌发送到目标设备;(10)目标设备通过检查区块链中是否包含请求事务来检查令牌的有效性;如果是有效的,则允许访问,否则拒绝访问。6.如权利要求1所述物联网资源访问方法,其特征在于,所述步骤三中,若当前请求的类型为代理访问,则:(1)若请求设备a通过代理c访问资源管理者,利用如下公式产生事务:t
x
=(m,sig
a
(m))wherem=(id
x
,input(ref,rs,ψ),output(c.pk,π
x
,tkn
c.pk,rs
));(2)资源管理者广播当前的事务t
x
;(3)区块链中的各区块验证事务有效性;(4)如果当前请求事务有效,则将当前的事务t
x
记录在区块链中,同时由代理c作为当前资源的管理者;(5)当代理c需要提供访问当前资源时,创建一个访问事务,必须通过代理c创建的一个满足访问条件的脚本来解锁。7.一种实施权利要求1~6任意一项所述物联网资源访问方法的物联网资源访问系统,其特征在于,所述物联网资源访问系统包括:新资源区块注册模块,用于注册一个具有相应地址的新资源区块;请求发起及提交模块,用于通过请求模块发起一个请求,并将当前请求提交到授权管理点,请求类型判断模块,用于判断当前请求的类型;若当前请求的类型为授权访问,则执行对应的协议流程;若当前请求的类型为请求访问,则执行对应的协议流程;若当前请求的类型为代理访问,则执行对应的协议流程;请求制定模块,用于通过资源管理者为访问事务制定所述类型的请求;事务广播模块,用于通过资源管理者将该事务广播给其他网络节点,直到到达资源请求者;事务评估模块,用于通过资源请求者稍后充当分布式策略决策者,并对事务进行评估;请求检查模块,用于通过策略决策者使用定义的策略检查请求,将此事务的解锁脚本与前一个授权请求事务的锁定脚本进行比较;策略决策者决定是允许请求还是拒绝请求;如果允许则将该请求记录在区块链中,否则该事务将被拒绝并向其发送方发送一个拒绝通知,并终止当前流程。8.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:注册一个具有相应地址的新资源区块;请求模块发起一个请求;请求模块将当前请求
提交到授权管理点;判断当前请求的类型;若当前请求的类型为授权访问,则执行对应的协议流程;若当前请求的类型为请求访问,则执行对应的协议流程;若当前请求的类型为代理访问,则执行对应的协议流程;资源管理者为访问事务制定所述类型的请求;资源管理者将该事务广播给其他网络节点,直到它到达资源请求者;资源请求者稍后充当分布式策略决策者,并对事务进行评估;策略决策者使用定义的策略检查请求,将此事务的解锁脚本与前一个授权请求事务的锁定脚本进行比较;策略决策者决定是允许请求还是拒绝请求;如果允许则将请求记录在区块链中,否则事务将被拒绝并向其发送方发送一个拒绝通知,并终止当前流程。9.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:注册一个具有相应地址的新资源区块;请求模块发起一个请求;请求模块将当前请求提交到授权管理点;判断当前请求的类型;若当前请求的类型为授权访问,则执行对应的协议流程;若当前请求的类型为请求访问,则执行对应的协议流程;若当前请求的类型为代理访问,则执行对应的协议流程;资源管理者为访问事务制定所述类型的请求;资源管理者将该事务广播给其他网络节点,直到它到达资源请求者;资源请求者稍后充当分布式策略决策者,并对事务进行评估;策略决策者使用定义的策略检查请求,将此事务的解锁脚本与前一个授权请求事务的锁定脚本进行比较;策略决策者决定是允许请求还是拒绝请求;如果允许则将该请求记录在区块链中,否则事务将被拒绝并向其发送方发送一个拒绝通知,并终止当前流程。10.一种信息数据处理终端,其特征在于,所述信息数据处理终端用于实现如权利要求7所述物联网资源访问系统。
技术总结
本发明属于区块链技术领域,公开了一种物联网资源访问系统、方法、介质、设备及终端,包括:注册具有相应地址的新资源区块;请求模块发起请求,并将当前请求提交到授权管理点;判断当前请求的类型;资源管理者为访问事务制定所述类型的请求;资源管理者将该事务广播给其他网络节点,直到它到达资源请求者;资源请求者稍后充当分布式策略决策者,并对事务进行评估;策略决策者使用定义的策略检查请求,将此事务的解锁脚本与前一个授权请求事务的锁定脚本进行比较;策略决策者决定是允许请求还是拒绝请求。本发明开创了区块链的新应用领域,通过框架进行访问控制,利用基于区块链提供的一致性解决物联网单中心多分布模块的访问控制问题。制问题。制问题。
技术研发人员:李磊 李志奇
受保护的技术使用者:西安链科信息技术有限公司
技术研发日:2021.12.29
技术公布日:2023/9/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/