本文是一篇计算机论文,本文提出的基于区块链的物联网属性访问控制模型研究,为物联网的细粒度访问控制模型提供了一种新的解决思路。
第一章 绪论
第一节 研究背景及意义
自1999年提出物联网(IOT,Internet of things)概念发展至今,物联网技术已经应用到智慧城市、智慧医疗、智慧物流等诸多领域[1–3]。随着物联网技术的发展,物联网终端设备的数量也逐渐庞大,而大多数物联网设备都是轻量级,不具备存储和计算能力,这就给物联网系统带来了安全隐患。伴随着近些年多起隐私数据泄露的事件,人们对隐私保护的安全意识不断提高。深入研究物联网的访问控制技术[4–6],防止未经授权的访问,现已成为物联网系统安全的重要研究内容之一[7–9]。
随着用户数据安全意识的不断提高,访问控制作为保护受限资源的一种技术,也得到不断发展和完善。目前主要的访问控制模型有:自主访问控制(DAC)[10],强制访问控制(MAC)[11],基于角色的访问控制(RBAC)[12,13]、基于任务的访问控制(TBAC)[14]、基于权能的访问控制(CapBAC)[15–17]、基于属性的访问控制(ABAC)[18,19]等。
自主访问控制是以客体的拥有者为中心,拥有者可以将客体的访问权限或部分权限自主地分配给访问者,这种权限的分配方式为用户提供很大的灵活性,但是权限的分配需要用户手动操作,在复杂物联网环境下,权限的管理难度大、可操作性差、整体安全级别低。MAC整体上是一种约束类型的访问控制,主体或客体的敏感标签由管理员设置,该标签是固定且不允许改变,系统根据标签判断主体是否可以访问客体。在提高安全性的前提下,灵活性比较低;MAC在面对海量终端节点时,管理难度大,常用于安全级别要求高的系统。RBAC并不是直接将权限赋予用户,而是在用户和权限之间建立一个角色,将角色和权限相关联,每种角色的权限不同。用户在加入系统时,会为其赋予某种角色,对应的也就继承该角色的权限。但RBAC是一种静态访问控制,面对海量物联网设备的动态接入问题,很难有效地管理,且本身细粒度不够。TBAC以任务为中心点,在一个工作流中根据任务的不同赋予相应的访问权限,但是对主体和客体的约束性差,实际应用中常作为访问控制模型中的补充机制。
第二节 国内外研究现状
近些年随着区块链技术的不断发展,很多研究人员将访问控制和区块链相结合,比如张利华[26]等人提出了基于区块链的智能家居访问控制方案,文中引入边缘计算解决现有的分布式架构存在的高延迟问题,并在区块链上存储权能令牌提高系统的安全性。针对物联网设备大规模、动态性强等特点,杜瑞忠[27]等人提出一种层级区块链的物联网分布式架构,通过在属性度量中增加诚实度和信任值,以及动态评估体系,提高信用能力。为解决物联网访问控制系统中海量设备问题,Oscar Novo[28]等人提出一种基于区块链技术的物联网分布式访问控制系统来管理系统中的角色和权限。针对物联网中存在的身份、存储和访问管理问题,Martin Nuss[29]等人提出了一种用于大规模物联网系统的基于区块链的存储和访问管理框架。该方案解决了物联网中对安全和资源管理问题日益增长的需求,并讨论了使用区块链技术的异构和资源受限设备之间的互操作性问题。Xu[30]等人针对集中式授权服务器,提出一种使用 CapBAC 访问资源的物联网访问控制模型(BlendCAC)。BlendCAC基于区块链网络,提出一种权能委托机制,用于访问控制权限的传播,并提出一个基于身份的权能代币管理策略,该方案通过智能合约进行注册、传播和撤销访问授权。Tam Le[31]等人提出一个基于区块链的访问控制模型,命名为CapChina,通过利用区块链交易的密钥安全分发来维护隐私和用户身份,允许用户在公共场合高效、无缝地共享和委托他们的访问权限给其他物联网设备。Shantanu Pal[32]等人提出一种基于区块链技术的无身份、异步和去中心化的物联网授权模型,通过智能合约的自动执行,将区块链事务作为能力来促进授予物联网设备的访问控制权。Alessandra Rizzardi[33]等人提出一种许可区块链确保物联网资源的访问控制策略,通过引入许可区块链,解决访问控制系统存在的集中授权问题,该方案在不考虑物联网平台本身的可靠性情况下管理交易。Chen[34]等人提出一个基于区块链的访问控制框架,称为Policychain,该方案是基于属性的访问控制策略,将ABAC策略的管理和决策功能通过区块链节点来实现,通过扩展了区块链固有的脚本指令来支持ABAC实体的属性获取,将ABAC策略转化为区块链交易。
第二章 相关技术
第一节 区块链相关技术
一、区块结构
区块是链式结构的基本单元,主要包含区块头和区块体两部分,区块头由前一区块哈希、时间戳、难度Nonce 、Merkle根等信息构成;区块体由交易列表构成。其中,前一区块哈希将每一个区块相连,形成链式结构,结合Merkle根信息共同构成区块链可追溯、防篡改的特点。详细结构见图2.1。
Merkle根是当前区块体中交易列表的一个哈希值,通过对Merkle树中叶子结点(即交易信息)进行哈希运算,并将得到的哈希值封装成双亲结点;再次选择上一步封装的结点进行哈希运算;重复以上步骤,直到计算出一个唯一的根哈希值,即Merkle根。
若存在恶意结点修改图2.1中所示的交易1信息,则会导致Hash1的结果改变,进而导致Hash 12结果信息改变,直至Merkle根的结果发生改变;此时区块头信息哈希运算得到结果和后面区块中前一区块哈希不匹配,进而可追溯到修改信息。
第二节 基于属性的访问控制ABAC
ABAC核心思想是基于实体的属性来决策是否允许用户对资源的访问,其中访问控制策略根据属性以及属性之间的关系制定。ABAC模型框架通常由策略执行点(PEP)、策略决策点(PDP)、策略管理点(PAP)、策略信息点(PIP)组成。具体的访问控制流程如下图2.3所示。
ABAC授权的步骤:
(1)用户发起原始请求;
(2)策略执行点对接收到的原始请求进行处理,构建基于属性的访问控制请求并发送到策略决策点;
(3)策略决策点根据请求,首先通过策略管理点从策略库中获取相对应的策略信息;
(4)策略决策点通过策略信息点获取属性信息;
(5)策略决策点根据获取到的策略信息和属性信息对请求进行判定,并将判定结果返回给策略执行点;
(6)策略执行点根据判定结果执行访问操作。
ABAC框架包含两种不同标准,即可扩展访问控制标记语言(XACML)和下一代访问控制(NGAC),两者不同之处在于前者通过合取或析取范式对策略进行描述,NGAC通过配置其关系来表达、管理和执行访问控制策略。下面分别介绍二者的不同。
第三章 基于区块链的物联网访问控制模型 ....................................... 15
第一节 模型架构 ........................................ 15
第二节 访问控制工作流程 .............................. 16
第四章 NGAC规范下的IOT访问控制决策机制研究 ...................... 26
第一节 IOT环境下NGAC多策略图的构建 ........................................ 26
一、主体属性构建 .................................... 27
二、客体属性构建 .............................................. 28
第五章 基于查找表的智能合约链上升级方案 ................................... 39
第一节 智能合约总体设计 ....................................... 39
第二节 USC-LT模型的形式化定义 ................................. 40
第五章 基于查找表的智能合约链上升级方案
第一节 智能合约总体设计
本文涉及到的合约之间关系如图5.1所示。可分为三大类,一类是注册合约,负责归纳、管理主/客体的注册信息;一类是事务合约,负责协助处理访问请求,并承担事务转发的功能;最后一类是ABAC中执行点转化而来的合约,主要负责对访问控制请求的决策。
其中,图5.1所示的非合约类事务主要包括属性发布、策略发布、访问请求等,每种事务的响应都对应一个或多个具体的智能合约。比如:PIP CONTRACT会归纳、管理属性发布方发布的属性事务信息;PAP CONTRACT会归纳、管理策略发布方发布的策略事务信息;访问请求的响应则需要多个智能合约按照特定规则、步骤流程执行。在本文的设计中,在响应非合约类事务请求之前,这些事务请求都会依据PEP客户端分类情况先去调用注册合约或事务合约。通过这两个智能合约进一步的细化,才能触发特定的智能合约。比如:属性发布、策略发布事务需要经过注册合约进一步的细化,访问请求则需要先调用事务合约。
合约类事务则分为普通类事务和升级类事务,其中,普通类事务主要指通过智能合约完成某些特定的功能,比如:账户注册、访问请求的响应等。升级类事务主要指按需求升级智能合约。
第六章 总结与展望
第一节 工作总结
随着物联网技术的发展,物联网设备的数量也大幅度增加,而大多数物联网设备都是轻量级,不具备存储和计算能力,这就给物联网系统带来了安全隐患。近些年随着区块链技术的不断发展,很多研究人员将访问控制和区块链相结合,利用区块链技术去中心化解决可信任问题、密码学保证了交易的真实性;共识机制保证了区块数据的一致性;链式的结构和Hash算法保证了链上数据的不可篡改特性。因此,本文提出的基于区块链的物联网属性访问控制模型研究,为物联网的细粒度访问控制模型提供了一种新的解决思路,本文的主要研究成果如下:
(1)针对物联网访问控制系统中存在的中心化、设备轻量级、海量终端节点、动态性接入、缺少审计、监督等问题,提出基于区块链的物联网访问控制模型。将ABAC中的功能执行点改造成智能合约,并且设计了非合约类事务的数据格式,使得请求从开始到响应结束整个过程,重要信息全程上链,解决了当下物联网访问控制系统缺少审计、监督等问题。最后,运用布隆过滤器,在可接受误判范围内,提高了属性的查询效率。
(2)当下ABAC模型实现主要有可扩展访问控制标记语言(XACML)和下一代访问控制(NGAC)。通过对比二者之间访问控制功能与专有操作环境分离程度、运行效率、管理难易程度,最终本文选择分离程度大、运行效率高、易管理的NGAC作为策略决策的实现标准。以智慧农业访问控制系统为例,列出主/客体可能存在的属性值,以此构建NGAC多策略图;运用图的深度优先遍历算法得到权限列表,并结合布隆过滤器,提高两类访问控制请求的查询,使其查找时间复杂度皆为𝑂(1)。
(3)提出基于查找表的可升级智能合约,通过将智能合约划分成代理合约、数据合约、逻辑合约三个模块。结合第三章、第四章、给出整个模型的工作流程图,并对USC-LT模型进行形式化定义。提出合约类事务的数据结构,为合约的升级提供支撑;再给出USC-IT模型下的查找表结构,描述了三个合约模块处理事务的流程。以访问控制系统中注册功能为例,给出三个合约模块的设计,并通过实验分析,验证了USC-LT模型的可行性。
参考文献(略)