首页> 中国专利> 一种基于联盟区块链具有动态共识的物联网访问控制方法

一种基于联盟区块链具有动态共识的物联网访问控制方法

摘要

本发明提供了一种基于联盟区块链具有动态共识的物联网访问控制方法,将一个物联网场景划分成多个IoT域,每个IoT域下都包含一个IoT网关以及IoT设备,选取经过CA认证的IoT网关作为对等方节点加入到联盟区块链网络,且在IoT网关上部署链码以提供访问控制、访问策略管理以及信任评估相关接口功能,IoT设备与对应域中的IoT网关相连并使用MQTT协议进行访问控制相关的数据交互;此外,本方法能够根据IoT域信任评估结果动态选取IoT网关作为共识排序节点,并使用Raft共识机制进行共识排序。本发明的有益效果是:本发明提供了一种基于联盟区块链具有动态共识的物联网访问控制方法,以实现高效,可信赖的访问控制。

著录项

  • 公开/公告号CN112261155A

    专利类型发明专利

  • 公开/公告日2021-01-22

    原文格式PDF

  • 申请/专利号CN202011513645.7

  • 发明设计人 张伟哲;冯禹铭;方滨兴;

    申请日2020-12-21

  • 分类号H04L29/08(20060101);H04L29/06(20060101);G16Y30/10(20200101);

  • 代理机构44451 深圳市添源知识产权代理事务所(普通合伙);

  • 代理人黎健任

  • 地址 518000 广东省深圳市南山区桃源街道深圳大学城哈尔滨工业大学校区

  • 入库时间 2023-06-19 09:40:06

说明书

技术领域

本发明涉及物联网技术领域,尤其涉及一种基于联盟区块链具有动态共识的物联网访问控制方法。

背景技术

高速网络的快速发展以及物联网设备的广泛分布为物联网环境带来了新的安全风险与挑战。物联网设备中经常包含大量与隐私相关的敏感数据,而大多数物联网设备由于受到资源限制难以执行严格和完善的安全手段。访问控制能够防止未授权的访问动作侵犯隐私,成为了物联网领域重点关注的研究内容。传统的集中式访问控制方法使用集中式的授权实体,容易产生单点故障的问题。此外,由于物联网设备的异构性与动态性,不同组织间设备经常需要交互与协作,集中式的访问控制方法难以满足物联网场景下的需求。

区块链技术的出现为物联网环境下的访问控制提供了一种新的解决思路。区块链本身具有透明、不可篡改以及可审计的特点,能够实现可信的访问控制。然而,现有的基于区块链的物联网访问控制方案中,共识过程所采用的共识算法,如工作量证明(PoW)或实用拜占庭容错(PBFT)导致较低的交易验证效率,进而影响了访问控制性能,制约该技术的应用与推广。此外,预先确定且不变的共识节点也难以适应物联网网络环境的动态变化,影响了访问控制系统自身的安全性与公平性。

发明内容

为了解决现有技术中的问题,本发明提供了一种基于联盟区块链具有动态共识的物联网访问控制方法。

本发明提供了一种基于联盟区块链具有动态共识的物联网访问控制方法,将一个物联网场景划分成多个IoT域,每个IoT域下都包含一个IoT网关以及IoT设备,选取经过CA认证的IoT网关作为对等方节点加入到联盟区块链网络,且在IoT网关上部署链码以提供访问控制、访问策略管理以及信任评估相关接口功能,IoT设备与对应域中的IoT网关相连并使用MQTT协议进行访问控制相关的数据交互。

作为本发明的进一步改进,所述链码包括策略管理链码、访问控制链码和信任评估链码,策略管理链码和访问控制链码部署在同一数据通道上,以实现对访问控制策略的管理并获取访问权限;信任评估链码用于记录从IoT网关和IoT设备节点收集的行为特征并计算IoT域的综合信任度,信任评估链码部署在另一个通道上,从而实现与访问控制策略相关业务数据的隔离;借助所述信任评估链码设计了一种基于信任评估的Raft共识机制,所述Raft共识机制通过不同IoT域的综合信任度指标进行共识排序节点的动态选择,之后再执行共识排序服务验证交易。

作为本发明的进一步改进,当用户通过用户设备访问其他IoT设备中的资源时,通过链码提供的接口发送访问控制请求,链码会根据访问控制策略会返回访问权限,用户根据访问权限方可获取相关资源;管理者一方面负责维护修改访问控制策略,另一方面负责联盟区块链网络中各类节点CA证书的发放。

作为本发明的进一步改进,访问控制策略包括主体属性、客体属性、环境属性以及动作权限,所述主体属性用于描述用户或操纵设备的属性,所述客体属性用于描述访问对象的属性,所述环境属性包括:授权截止时间、允许访问IP段、位置信息,所述动作权限包括读、写、执行;所述主体属性包括ID、角色、所处成员组、所处域,所述客体属性包括客体ID以及设备MAC值。

作为本发明的进一步改进,所述策略管理链码提供了添加、删除、更新、查找访问控制策略的功能,每一条访问控制策略都通过策略管理链码以Json格式存储在区块链状态数据库中;

所述访问控制链码用于提供访问控制的授权以及权限委派功能,根据提供的主体属性、客体属性以及环境属性,所述访问控制链码会查询匹配是否有相应的访问控制策略,若发现匹配的访问控制策略,则返回对应的动作权限;此外,所述访问控制链码支持权限委派,用户可以将自己获得的权限委派给其他指定用户,以满足不同应用场景的需求;

所述信任评估链码用于记录IoT域内各个设备的行为特征并根据历史记录计算IoT域的信任度;IoT域的综合信任度由以下5项数据计算而来,包括:平均IP包丢失率指数、平均IP包重复率指数、平均传输延迟指数、平均访问成功率指数、网关节点性能指数。

作为本发明的进一步改进,所述基于信任评估的Raft共识机制包括:

步骤1:IoT网关通过信任评估链码周期性计算所在IoT域的综合信任度评估指标;

步骤2:根据各个IoT域的综合信任度评估指标,周期性地动态选取综合信任度评估指标高于设定阈值的IoT域的IoT网关成为排序节点;

步骤3:当一项交易发起后,每个IoT网关需要验证新区块中的每个交易是否都得到背书策略中指定的所有必需对等方的背书,若是,那么执行步骤4,否则认定为交易发起失败,需等候重新发起新的交易;

步骤4:检查所需背书对等方的特定交易结果是否相同,若是,那么执行步骤5,否则认定为交易发起失败,需等候重新发起新的交易;

步骤5:已动态选取的一组排序节点对接收的交易使用Raft算法进行共识排序,然后按照区块生成策略,将一批交易打包到一起,生成新的区块;

步骤6:对新区块中的每笔交易进行校验,检查交易依赖的输入输出是否符合当前区块链的状态,完成后将区块追加到本地的区块链,并修改世界状态。

作为本发明的进一步改进,IoT网关通过MQTT协议从与它相连的IoT设备中采集各IoT设备IP包丢失率、各IoT设备IP包重复率、各IoT设备传输延迟、各IoT设备访问成功率,并计算平均值作为该IoT域的指标;网关节点的性能数据直接从网关节点采集;各IoT设备IP包丢失率、各IoT设备IP包重复率、各IoT设备传输延迟、各IoT设备访问成功率和网关节点性能5种数据最终将标准化为[0,100]的整型数据,通过周期性地采集和计算这些数据,它们通过信任评估链码被写入区块链账本中;

平均IP包丢失率指数

平均传输延迟指数

平均访问成功率指数

网关节点性能指数

以上经过标准化后的一组证据数据

作为本发明的进一步改进,所述步骤1包括:

输入:IoT域ID编号;

S1: 设定选取的历史交易次数

S2: 设定初始值

S3: 当

S4:

S5: 权重系数

S6:

S7:

S8:

S9:

S10: 综合信任度评估指标

输出:IoT域综合信任度评估指标。

作为本发明的进一步改进,用户获取访问权限时,执行如下步骤:

步骤a:用户向联盟区块链中的访问控制链码发送访问控制请求;

步骤b:访问控制链码根据主体、客体以及环境属性,检索访问控制策略,并返回访问控制权限;

步骤c:用户根据获取的访问控制权限,经由不同的IoT网关访问IoT设备上的资源。

作为本发明的进一步改进,管理者修改访问控制策略时,执行如下步骤:

步骤A:管理者向联盟区块链中的策略管理链码发送修改访问控制策略的请求;

步骤B:策略管理链码根据请求内容发起交易提案;

步骤C:依据基于信任评估的Raft共识机制验证交易;

步骤D:各IoT网关同步更新验证成功后的访问控制策略。

本发明的有益效果是:本发明提供了一种基于联盟区块链具有动态共识的物联网访问控制方法,以实现高效,可信赖的访问控制。

附图说明

图1是本发明中物联网访问控制基础架构图;

图2是本发明中物联网访问控制运行示意图;

图3是本发明中执行Raft共识时IoT网关角色转换示意图;

图4是本发明中基于信任的Raft共识机制流程图;

图5是本发明中用户获取访问权限流程图;

图6是本发明中管理者修改访问控制策略流程图。

具体实施方式

本发明公开了一种基于联盟区块链具有动态共识的物联网访问控制方法,在本发明中,如图1所示,将一个物联网场景划分成多个物联网(IoT)域,每个IoT域下都包含一个IoT网关以及其他一些IoT设备。鉴于IoT网关具有相对更强的硬件配置与计算能力,选取经过CA认证的IoT网关作为对等方(Peer)节点加入到联盟区块链网络,且在IoT网关上部署链码以提供访问控制相关接口功能。而IoT设备与对应域中的IoT网关相连并使用MQTT协议进行访问控制相关的数据交互。联盟区块链网络基于Hyperledger Fabric进行搭建。

在本发明中,我们提出了一种基于联盟区块链具有动态共识的访问控制方法,以实现高效,可信赖的访问控制。我们设计了三种类型的链码作为访问控制框架的重要组成部分,包括策略管理链码,访问控制链码和信任评估链码。策略管理链码和访问控制链码部署在同一数据通道上,以实现对访问控制策略的管理并获取访问权限。信任评估链码用于记录从IoT网关和IoT设备节点收集的行为特征并计算IoT域的综合信任度,它部署在另一个通道上,从而实现与访问控制策略相关业务数据的隔离。此外,借助信任评估链码,我们设计了一种基于信任评估的Raft共识机制,该方法通过不同IoT域的综合信任度指标进行共识排序节点的动态选择,之后再执行共识排序服务验证交易。该方法可以实现快速可靠的共识,并减轻网络环境的恶化对访问控制框架的影响。此外,信任评估的动态调整从而选取可靠的共识节点有助于提高访问控制过程的安全性和鲁棒性。

在本发明中,有2个重要角色,分别是用户以及管理者。当用户通过用户设备(如计算机、笔记本、手机)需要访问其他物联网设备中的资源时,通过链码提供的接口发送访问控制请求,链码会根据访问控制策略会返回访问权限,用户根据访问权限方可获取相关资源。管理者一方面负责维护修改访问控制策略,另一方面负责联盟区块链网络中各类节点CA证书的发放。

访问控制策略由4个部分组成,包括:主体属性、客体属性、环境属性以及动作权限。主体属性用于描述用户或操纵设备的属性,包括ID、角色、所处成员组、所处域。客体属性用于描述访问对象的属性,包括其ID以及设备MAC值。环境属性包括:授权截止时间、允许访问IP段、位置信息。动作权限包括:读、写、执行。

表1 访问控制策略描述示例

策略管理链码(PMC)提供了添加、删除、更新、查找访问控制策略的功能,具体的访问控制策略描述如表1所示。每一条访问控制策略都通过策略管理链码以Json格式存储在区块链状态数据库中。

访问控制链码(ACC)用于提供访问控制的授权以及权限委派功能。根据提供的主体属性、客体属性以及环境属性,该链码会查询匹配是否有相应的访问控制策略,若发现匹配的访问控制策略,则返回对应的动作权限。此外,该链码支持权限委派,用户可以将自己获得的权限委派给其他指定用户,以满足不同应用场景的需求。

信任评估链码(CEC)用于记录IoT域内各个设备的行为特征并根据历史记录计算IoT域的信任度。IoT域的综合信任度由以下5项数据计算而来,包括:平均IP包丢失率指数、平均IP包重复率指数、平均传输延迟指数、平均访问成功率指数、网关节点性能指数。

本发明采用Raft共识算法作为共识机制的重要组成部分。成为了排序节点(Orderer)的IoT网关将采用Raft算法进行共识排序,验证交易的有效性。如图3所示,初始状态IoT网关为跟随者(Follower)状态,如果跟随者在选举超时时间内没有收到领导者(Leader)的心跳信息,它将转换为候选者(Candidate)状态。超时时间为一个随机数。如果IoT网关成为候选者,则发送RPC请求到其他节点,假设总共有2N+1个节点并接收到N+1个以上的节点,它将被选为领导者并开始下一阶段的工作,而其他候选者将变更为跟随者状态。正常情况下,领导者将连续广播心跳信息,而跟随者将在接收到领导者的心跳信息后重置超时设置。领导者选举成功后,IoT网关将进入日志复制过程以执行日志记录和数据提交,从而实现分布式的一致性。对于Raft算法,核心共识过程是日志复制这个过程,这个过程分两个阶段,一个是日志记录,一个是提交数据。如果区块链中总节点数为 n,对于日志记录阶段,通信次数为 n-1,对于提交数据阶段,通信次数也为 n-1,总通信次数为 2n-2,因此Raft共识算法的通信复杂度为O(n),具有更高的共识效率。

本发明提出了针对IoT域的综合信任度评估指标,该指标将成为动态选择区块链排序节点和修改访问控制策略的重要基础,从而实现动态共识。为了计算IoT域的信任度,我们从IoT域内的网关以及设备节点采集证据数据进行计算。网关节点和IoT设备之间采用MQTT协议,以简化并实现更快的通信。需要采集的IoT域证据数据包括:各IoT设备IP包丢失率、各IoT设备IP包重复率、各IoT设备传输延迟、各IoT设备访问成功率和网关节点性能。其中,IoT网关通过MQTT协议从与它相连的设备中采集前4种数据,并计算平均值作为该域的指标。网关节点的性能数据直接从网关节点采集。这5种数据最终将标准化为[0,100]的整型数据。通过周期性地采集和计算这些数据,它们通过信任评估链码被写入区块链账本中。

本发明提出的综合信任度评估指标计算方法如下,首先需要对5种证据数据进行标准化。

(1)平均IP包丢失率指数

(3)平均传输延迟指数

在通信网络中,由于多种因素,节点之间的数据传输会产生传输延迟,但是网络的传输 延迟应在正常范围内波动。当IoT域的平均传输延迟

(4)平均访问成功率指数

(5)网关节点性能指数

网关节点的性能指标表示网关节点本身的资源消耗。该指标将影响网关节点是否有足 够的能力加入区块链以执行相应的共识任务。因此,网关节点的性能指标也用作计算综合 信任值的证据数据。其中,

以上经过标准化后的一组证据数据

输入:IoT域ID编号输出:IoT域综合信任度评估指标

S1: 设定选取的历史交易次数

S2: 设定初始值

S3: 当

S4:

S5: 权重系数

S6:

S7:

S8:

S9:

S10: 综合信任度评估指标

本发明提出了一种基于信任评估的Raft共识机制。该机制分为2个步骤,第一步进行基于各个IoT域的信任度动态选择哪些IoT网关成为排序节点(Orderer),第二步是使用Raft算法进行共识排序验证交易。

对于第一步,每个IoT网关通过信任评估链码根据历史记录计算域综合信任度。根 据各个域的综合信任度,具有较低信任度的IoT网关将无法成为排序节点,无法参与第二步 的共识排序。通过筛选出的信任值高于阈值的域,选择这些域中的网关节点作为排序节点。 该过程将周期性触发,以实现对排序节点的动态选择。此外,我们还设置了3个阈值

表2:

对于第二步,此时已动态选择了受信任的IoT网关成为排序节点。当一项交易发起后,每个IoT网关都需要验证新区块中的每个交易是否都得到背书策略中指定的所有必需对等方的背书。此外,他们还需要检查所需背书对等方的特定交易结果是否相同。 在验证背书后,上一步动态选择的受信任的排序节点将对提交的交易进行排序和打包。在此过程中,将使用Raft算法执行共识,以确保每个IoT网关中的账本数据一致。

综上,如图4所示,基于信任评估的Raft共识机制包括:

步骤1:IoT网关通过信任评估链码周期性计算所在IoT域的综合信任度评估指标。

步骤2:根据各个IoT域的综合信任度评估指标,周期性地动态选取综合信任度评估指标高于设定阈值的IoT域的IoT网关成为排序节点。

步骤3:当一项交易发起后,每个IoT网关需要验证新区块中的每个交易是否都得到背书策略中指定的所有必需对等方的背书,若是,那么执行步骤4,否则认定为交易发起失败,需等候重新发起新的交易。

步骤4:检查所需背书对等方的特定交易结果是否相同,若是,那么执行步骤5,否则认定为交易发起失败,需等候重新发起新的交易。

步骤5:已动态选取的一组排序节点对接收的交易使用Raft算法进行共识排序,然后按照区块生成策略,将一批交易打包到一起,生成新的区块。

步骤6:对新区块中的每笔交易进行校验,检查交易依赖的输入输出是否符合当前区块链的状态,完成后将区块追加到本地的区块链,并修改世界状态。

如图5所示,用户获取访问权限时,执行如下步骤:

步骤a:用户向联盟区块链中的访问控制链码发送访问控制请求。

步骤b:访问控制链码根据主体、客体以及环境属性,检索访问控制策略,并返回访问控制权限。

步骤c:用户根据获取的访问控制权限,经由不同的IoT网关访问IoT设备上的资源。

如图6所示,管理者修改访问控制策略时,执行如下步骤:

步骤A:管理者向联盟区块链中的策略管理链码发送修改访问控制策略的请求。

步骤B:策略管理链码根据请求内容发起交易提案。

步骤C:依据基于信任评估的Raft共识机制验证交易。

步骤D:各IoT网关同步更新验证成功后的访问控制策略。

在本发明中,环境部署过程:首先需要在联盟区块链上搭建访问控制系统,本发明基于Hyperledger Fabric平台,管理者负责为所有成员(包括Peer节点、Orderer节点、数据通道)创建证书,并将各个IoT域内的IoT网关作为Peer节点加入区块链网络。之后,将本发明中的三种链码(策略管理链码、访问控制链码、信任评估链码)部署在Peer节点上,其中策略管理链码与访问控制链码加入到同一个数据通道中,信任评估链码部署在另一个数据通道中,实现业务层面的数据隔离。

策略设置过程:每一条访问控制策略代表一组主体-客体的访问控制权限,管理者通过策略管理链码(PMC)自定义设置访问控制策略,将其上传至区块链,并保存至状态数据库(SDB)中。管理者具有添加、修改、删除、查询访问控制策略的权限。整个访问控制的交易记录存储在分布式账本中,因此访问控制策略是可审计和可追溯的。值得一提的是,共识机制在交易发生时使用本发明提出的基于信任的Raft共识方法。

行为特征采集过程:IoT网关负责定期从所在域的IoT设备中收集行为特征信息。IoT设备将通过MQTT协议发送带有行为特征信息的数据到IoT网关。IoT网关获取数据后,将结合其自身的性能状态并对这些数据进行标准化。之后,通过信任评估链码将这些标准化数据写入区块链,形成IoT域的综合的行为特征记录。最后,链码将计算IoT域的信任值,为共识过程中排序节点的动态选择提供依据。

访问控制执行过程:当用户需要访问IoT设备以获取资源时,他首先向访问控制链码(ACC)发送访问控制请求。之后,访问控制链码会根据主体属性、客体属性以及环境属性检索访问控制权限,如果访问请求与策略中描述的属性匹配,则返回策略中描述的访问控制权限。在获得访问控制权限后,用户可以通过IoT网关访问IoT设备。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号