一种基于区块链的物联网多域访问控制系统及方法与流程

文档序号:15923080发布日期:2018-11-14 00:50阅读:370来源:国知局

本发明属于物联网访问控制领域,尤其涉及一种基于区块链的物联网多域访问控制系统及方法。

背景技术

目前,业内常用的现有技术是这样的:

物联网是通过各种信息传感设备,实时采集任何需要监控、连接、互动的物体或过程等各种需要的信息,与互联网结合形成的一个巨大网络。信息世界的互联网延伸到物理世界形成物联网,物联网不仅仅是规模的扩充,更是两种物质形态的对接。现有的物联网信息服务系统解决方案在多维数据处理,数据时空关联处理等方面存在数据共享困难的问题。数据共享问题主要体现在缺乏有效共享机制解决物联网应用闭环,容易形成信息孤岛。物联网多域数据共享有助于适应物联网多样化的应用场景,促进物联网各行业间实现应用协同。各物联网域数据的安全共享助力于打破物联网普遍存在的应用闭环状态。

传统的多域访问控制解决方案是通过各个独立域建立自己的访问控制系统,其他域若需要访问权需要通过向此域进行申请、认证、授权三步来完成。但是其访问控制系统中心化的部署方式容易遭到入侵导致系统功能破坏。传统的第三方访问控制系统存在是否可信任和数据隐私泄露的问题,无法实现各域数据的安全可靠共享。区块链应用密码学的知识以及其去信任、分布式、不可篡改的特性促成了区块链技术在多域访问控制领域发挥重要的应用。

综上所述,现有技术存在的问题是:

(1)现有多域访问控制系统因使用各个域独立中心化的部署方式,导致访问控制系统容易遭受攻击,造成数据被窃取、系统功能失效的技术问题。

(2)现有的访问控制系统,一般和数据在同一个服务器中部署,一旦访问控制系统遭到入侵,则物联网敏感即遭到泄露。

(3)传统的第三方访问控制系统存在是否可信任和数据隐私泄露的问题,无法实现各域数据的安全可靠共享。

(4)各个域独立部署访问控制系统的方式使得系统的可扩展性较低,如果增加一个域,则各个域都要进行对访问控制策略的更新操作。

解决上述技术问题的难度和意义:

(1)物联网数据目前具有海量、异构等特征,要解决海量异构数据的安全共享问题,要确保实现安全可靠的访问控制系统。

(2)中心化的系统架构,极易造成单点故障问题,导致系统功能失效,要确保访问控制系统的可靠性,在一定的意外错误情况下,能够保证访问控制系统功能的正确性。

(3)各个域独立部署访问控制系统或者利用第三方访问控制系统的方案都不能根本解决物联网数据的安全共享和隐私问题。



技术实现要素:

针对现有技术存在的问题,本发明提供了一种基于区块链的物联网多域访问控制系统及方法。

本发明是这样实现的,一种基于区块链的物联网多域访问控制方法,所述基于区块链的物联网多域访问控制方法包括:

通过业务层完成和网络层各节点之间的通信、完成对网络层存储数据的管理;用户在发送访问控制权限注册请求之后,业务层与用户层进行双向密码审核验证,验证通过之后,由业务层处理请求;

通过用户层发送多域访问控制权限注册请求和访问请求,业务层接收到注册请求时,业务层根据权限注册业务将用户层申请注册的权限信息获取,并且验证用户层信息的合法性,验证通过后,业务层将这些信息提交到网络层存储到状态数据库中,形成访问控制策略,业务层将执行结果状态码返回用户层;

业务层接收到访问请求时,获取网络层状态数据库的数据,根据访问控制策略判断用户是否具有访问权限,验证通过后,用户即进行跨域访问数据。

进一步,用户层发送多域访问控制权限注册请求的方法包括:

业务层与用户层进行密码验证,验证通过则继续进行权限注册请求,验证不通过时,业务层将错误状态码以及错误信息返回用户层;

业务层权限注册业务获取用户权限注册信息,并且验证权限注册信息是否合法,是否符合物联网应用协同要求,验证通过则继续进行权限注册业务,验证不通过时,业务层将错误状态码以及错误信息返回用户层;

业务层验证权限注册信息符合要求时,业务层将注册信息存储在网络层区块链状态数据库中,形成访问控制策略;

网络层区块链完成访问控制策略后,返回成功状态码到用户层。

进一步,用户层发送数据访问请求的方法包括:

业务层与用户层进行密码验证,验证通过则继续进行访问请求,验证不通过时,业务层再次进行验证用户是否频繁的进行非法访问请求,用户频繁的发送非法访问请求,则用户将被限制;验证不通过时,业务层返回错误信息和错误状态码到用户层;

业务层获取用户访问请求信息以及网络层访问控制策略;

业务层通过访问控制策略,判别用户是否具有访问权限;用户拥有权限,则业务层返回成功状态码到用户层,用户层进行数据访问;否则,业务层返回错误状态码和验证未通过等错误信息到用户层,用户层无法进行数据访问

本发明的另一目的在于提供一种基于区块链的物联网多域访问控制系统,包括:

网络层:由物联网多域体系实现底层区块链网络的节点,记录账本以及存储状态数据,包括:访问控制策略、评判策略、注册策略。网络层实现状态数据的分布式存储,并且实现对网络层数据的操作记录不可篡改。

业务层:实现访问控制业务,包括访问控制、权限注册和评判机制。判定来自各域的访问请求是否合法,进行权限验证,评判机制对于太频繁的请求给予限制。业务层完成业务后,返回状态码。业务层访问控制权限验证通过后,多域之间即可进行数据访问。

用户层:用于提供访问控制权限注册和发起跨域访问的请求。

进一步,网络层区块链的各节点由物联网的多个域组成,各节点分别作为一个peer节点,共同组成一个区块链网络。

进一步,网络层区块链为联盟链,采用权威共识机制poa(proofofauthority)由预先设定好的节点担任区块链的背书节点。网络层要完成数据的分布式存储,并且确保各节点的数据同步。

进一步,业务层的智能合约部署在网络层各节点上,各节点都可完成智能合约所实现的访问控制业务功能。

进一步,业务层可实现跨域访问权限的增加,修改,删除和查询。完成多域访问控制的权限管理业务,根据认证后用户的身份、权限信息和访问控制的策略,通过决策决定用户是都能够访问某个域、进行某项操作、获得某项服务。

综上所述,本发明的优点及积极效果为

本发明通过结合区块链技术,利用密码学的机密性、完整性、不可篡改等特性,实现一套分布式的多域访问控制系统,促进了物联网各个域之间数据的安全共享和隐私保护。

本发明将密码技术的机密性、完整性和不可抵赖特性和区块链技术的分布式账本不可篡改特性相结合,开发出一个安全可扩展的物联网多域访问控制系统,以促进物联网数据的安全和充分共享。

本发明的网络层是基于物联网多个域构成的联盟区块链网络,采用权威共识机制poa,由预先设定好的节点担任区块链的背书节点。解决了公有链成员认证和效率低的问题。

本发明的访问控制策略是存储在网络层区块链网络的状态数据库中,实现了数据的去中心化、分布式存储,避免遭受单点攻击。

本发明不论是多域访问控制权限注册请求还是访问请求,都会记录在分布式区块链账本上,不可篡改。解决了现有技术中因使用中心化部署方式,导致数据信息容易被篡改从而使系统功能失效。

对比目前已有的访问控制方法和系统,基于区块链的跨域访问控制系统和方法采用去中心化的架构,能够保证系统在安全性、可靠性、可扩展性、可用性以及数据的隐私保护等多方面相比目前访问控制系统和方法都要高。并且本发明所述的访问控制操作,都会记录在区块链账本上,不可篡改。解决了多域之间的信任问题。

附图说明

图1是本发明实施例提供的基于区块链的物联网多域访问控制系统示意图。

图2是本发明实施例提供的业务层与网络层架构图;

图3是本发明实施例提供的多域访问控制权限注册流程图;

图4是本发明实施例提供的多域访问请求验证流程图;

图5是本发明实施例提供的网络层区块链具体执行过程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明通过结合区块链技术,利用密码学的机密性、完整性、不可篡改等特性,实现一套分布式的多域访问控制系统,促进了物联网各个域之间数据的安全共享和隐私保护。

如图1所示,本发明实施例提供的基于区块链的物联网多域访问控制系统包括:

网络层:如图2所示,网络层区块链由物联网多个域组成,各个域分别作为一个peer节点,组成一个区块链网络,各个节点维护同一个账本和一个状态数据库,账本记录着每个时间发生操作对应的hash值,存储在区块block中,区块block相互连接形成区块链。状态数据库是一个key-value数据库,记录区块链上存储的状态值,各节点完成状态数据库的同步更新。

业务层:如图2所示,业务层是基于网络层开发的智能合约,通过智能合约来进行对网络层的操作,业务层通过对用户信息进行获取,通过与网络层跨域访问控制策略、评判策略、注册策略来完成相应的业务功能,判定请求是否合法,以及返回状态码。若访问控制策略判断拥有权限,则可进行跨域数据访问。

用户层:用于提供多域访问控制权限注册和发起跨域访问的请求。

用户在发送跨域权限注册申请时,用户层与业务层进行密码审核和验证,验证通过后,由业务层处理请求。

用户层发来的请求分为多域访问控制权限注册请求和访问请求。

如图3所示,当用户发送访问控制权限注册请求时:

1.业务层与用户层进行密码验证,验证通过则继续进行权限注册请求,当验证不通过时,业务层将错误状态码以及错误信息返回用户层。

2.业务层权限注册业务获取用户权限注册信息,并且验证权限注册信息是否合法,是否符合物联网应用协同要求,验证通过则继续进行权限注册业务,当验证不通过时,业务层将错误状态码以及错误信息返回用户层。

3.业务层验证权限注册信息符合要求时,业务层将注册信息存储在网络层区块链状态数据库中,形成访问控制策略。

4.网络层区块链完成访问控制策略后,返回成功状态码到用户层。

如图4所示,用户在发送数据访问请求时:

1.业务层与用户层进行密码验证,验证通过则继续进行访问请求,当验证不通过时,业务层再次进行验证用户是否频繁的进行非法访问请求,如果用户频繁的发送非法访问请求,则用户将被限制。验证不通过时,业务层返回错误信息和错误状态码到用户层。

2.业务层获取用户访问请求信息以及网络层访问控制策略。

3.业务层通过访问控制策略,来判别用户是否具有访问权限,如果用户拥有权限,则业务层返回成功状态码到用户层,用户层即可进行数据访问;否则,业务层返回错误状态码和验证未通过等错误信息到用户层,用户层无法进行数据访问。

业务层可实现多域访问控制权限的增加,修改,删除和查询。完成跨域访问控制的权限管理业务,根据认证后用户的身份、权限信息和访问控制的策略,通过决策决定用户是都能够访问某个域、进行某项操作、获得某项服务。

业务层可根据用户提交访问请求的频率,来判断用户所在的域是否被攻击,业务层通过评判机制,记录用户在最近几次访问请求的时间间隔以及验证非法的访问请求,如果时间间隔小于预先设定的阈值,则此域将被限制请求业务层。

网络层区块链是联盟链,由预先设定好的节点来作为区块链的背书节点,共识机制采用权威共识poa(proofofauthority),背书节点验证刚生成区块的合法性,进而广播到其他peer节点,其他peer节点将此区块加入到自己的区块链中。每个区块的内部包含前一个区块的hash值,从而形成一条链。实现数据的分布式存储并且不可篡改

以上所述的与业务层交互的操作,都要生成区块,由背书节点来验证才能完成操作。

如图5所示为网络层区块链具体执行过程:

1.用户层发送操作信息,新操作被创建;

2.操作被广播到网络中,等待背书节点进行验证;

3.背书节点通过获取区块链状态数据库中的数据对区块中的操作进行验证;

4.背书节点将验证完的操作打包为一个区块,广播到区块链网络中;

5.网络中的peer节点将区块加到自己的区块链中,完成操作。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1