杨丽莉
(闽南理工学院信息管理学院 福建 泉州 362700)
近年来,传感器和执行器设计技术的进步,它们可以嵌入到任何设备中。物联网(internet of things,IoT)是一个广义的术语,指的是从周围环境中收集数据的许多智能传感器和微控制器。这些传感器是现代技术的基础,如智能家居、智能城市、智能电网、智能健康系统和可穿戴设备[1]。IoT将具有不同功能的异构设备在以人为中心和以机器为中心的网络中无缝互连,以满足不同行业不断发展的需求,将数字世界扩展到了现实生活和社会生活中。目前,IoT技术还在飞速发展,但仍不成熟,如IoT设备的计算限制、异构性、识别、电源、数据存储/处理、安全性等。由于IoT中智能设备在人类生活的各个角落,在IoT的应用中,对信息的安全性和隐私性提出了很高的要求。本文提出访问控制框架的一个参考模型,并实现一个基于区块链技术的新分布式访问控制框架,旨在能够满足IoT安全和隐私方面的需求。
国内外很多学者为了满足IoT安全要求在访问控制模型方面做出了许多努力。基于角色的访问控制(role-based access control,RBAC)模型根据从物理对象环境中收集的特征和上下文信息,将权限分配给角色[2]。然而,其没有考虑隐私和安全目标。HERNNDEZ-RAMOS等[3]也选择了基于能力的访问控制模型,在完全分布式的安全方法中,它直接在资源受限的设备上实现。SEITZ等[4]提出了IoT的另一个通用授权框架。该框架能够实现更加灵活的访问控制,如可扩展访问控制标记语言和安全断言标记语言,适用于任何低功耗和内存资源的对象。
在基于区块链的访问控制方面已经做了一些初步工作。充分利用去中心化、可追溯、不可篡改和智能合约这些区块链的特点,构建访问控制模型时,将区块链作为可信实体[5]。首先,有研究者探讨了在区块链上设计新框架是否可行。如,ZHANG等[6]在区块链上重新设计访问控制模型。随后研究人员提出了更详细的访问过程,且不仅仅局限于框架:DING等[7]提出了一种基于属性的IoT访问控制方法;ALI等[8]提出了IoT下的访问控制模型,并对事件和查询的基本权限委托提出了要求。此外,研究人员解决了IoT环境中的关键问题:DORRI等[9]提出了一种使用代币来缓解区块链存在时间、计算和存储开销等巨大问题的方法;MA等[10]提出的模型可以跨域访问。基于区块链的访问控制的研究很多,但缺点是存在不可扩展的特点。因此,文中提出一种基于区块链的可扩展IoT访问控制系统模型。
为了能够为IoT建立合适的安全机制,需要正确理解其应用的性质及其安全要求。每个域应用程序都有特定的特性,在建立安全解决方案时必须考虑特殊的安全要求。这将有助于作为构建访问控制框架的基础,以实现每个域应用程序所需的安全级别。
IoT应用在安全和隐私方面提出了新的要求。访问控制系统应该保护用户的隐私,这是获得用户信任的方法之一。因此,在IoT等新兴信息技术领域,保护隐私是一个比较重要的关键问题。应根据IoT用户的政策和期望,灵活保护包括用户数据和个人信息在内的用户隐私[11]。隐私的关键因素包括透明度、用户驱动、匿名性、假名、不可链接性、不可观察性、去中心化。透明度能够帮助人们了解谁知道他们的情况,数据将如何使用及与谁共享,保存多长时间。
IoT应用需要建立在合作和协作的原则之上,要求具有开放性/互操作性、高可扩展性、灵活性、分布性、上下文感知等特点。包括智能家居和医疗保健应用在内的个人和家庭类别中,最终用户由于其高度参与而被认为是枢纽元件。因此,针对这些领域的访问控制模型需要更多的用户驱动。它们应该允许最终用户完全控制自己的资源。如果没有适当的安全机制,可能会受到攻击者的控制。因此,身份验证和授权机制是IoT安全的先决条件。IoT的全面和整体访问控制框架要求能够很好地实现所有给定的目标。为了能够将实施策略的实际机制联系起来,需要一个访问控制模型。
根据OM-AM框架构建FairAccess框架的参考模型,并基于目标和模型层,介绍框架及其功能。去中心化访问控制框架的是一个能够自治的系统,它围绕着资源所有者(resource owner,RO),RO的个数可以是一个或者多个,拥有一个或许多用地址标识的资源,并在RO的控制下进行交易,交易包括的内容有请求、授予、删除和撤销访问。区块链能够跟踪,并能够保证组织之间访问交易的有效性的账本。管理访问策略是在其RO的控制下,建立“去中心化、自治组织的互联网”,实现了访问控制框架的公平性。FairAccess框架如图1所示。
图1 FairAccess框架
访问框架组成如图2所示。其中,User可以是属于供应商组织的RO,公开其资源并控制对其访问,也属于某个请求组织的请求者。每一个RO作为一个请求者,用地址标识资源,进行交互是通过事务进行。每个用户都有一个wallet钱包,用来存储地址、凭证和交易。包含资源的注册和识别、交易签署,以及请求访问所需的所有密钥。在整个框架中,将钱包看作是AMP,是网络或移动应用程序,注册需要保护的资源通过钱包RO实现,定义它的访问控制策略。生成密钥和地址是钱包的主要功能,将策略广播到网络,并转换为事务,验证从网络接收的交易。
图2 访问框架组成
在框架中,无论是RO或请求者还是资源的用户可以拥有几乎无限数量的加密身份,称为Addresses。Addresses能够在网络中共享,是公共的。能够用于请求访问令牌和授予。Addresses是ECDSA(elliptic curve digital signature algorithm,椭圆曲线数字签名算法)公钥的散列,被认为拥有该Addresses的用户为拥有对应的私钥的用户。识别框架中的所有实体是通过地址来。实体包括RO、请求者及其所有资源。地址能够实现很多属性,包括所有权的证明、去中心化的信任和控制及加密证明的安全模型。
Transactions是指在地址之间传输比特币,比特币交易的基本组成部分是未花费的交易输出(unspent transaction output,UTXO)。UTXO是锁定给特定所有者的比特币货币价值,记录在区块链上,并被整个网络识别为货币单位。事务所消耗的UTXO称为事务输入,并且由事务创建的UTXO被称为事务输出。在框架中,转移访问令牌,而不转移比特币。对应于访问令牌TKN(Token)框架为交易的UTXO,整个网络将其看成由交易的创建者定义的访问权限,使用地址标识来区别资源。任何事务由标识符IDx、输入向量Vin[]和输出向量Vout[]组成。IDx用加密哈希来唯一而明确地识别交易,该哈希是通过对交易进行哈希而产生的数字指纹。结果的散列被称为事务标识符IDx。这个IDx可以由任何节点通过简单地散列事务来独立地导出。
Blockchain(区块链)是一个数据库,按时间顺序存储所有处理的交易,由所有参与的用户或节点共享。假设在比特币和其他区块链中使用的相同对抗性模型下,该内存是防篡改的。区块链技术为每个人提供了去中心化信任的有效证据。所有加密货币都使用了一种最能被描述为不可能坏掉的公共账本。每个用户或节点都有与网络中所有其他用户或节点完全相同的账本。这确保了来自相应货币区块链中所有用户或节点的完整共识。在系统框架中,区块链被视为一个数据库,以交易的形式存储每对资源和请求者的所有访问控制策略,并用作日志数据库,以确保它的审计职能。
文中提出的授权框架可以在各种IoT应用系统中应用,如交通、智能家居和医疗保健。为了证明所提出框架的有用性,将以下场景作为一个典型的实例。目标系统是一个具有远程控制功能的智能安全摄像头。它是使用树莓派2主板和专用摄像头构建的。树莓派连接到无线局域网,提供远程访问。相机代表控制访问的资源,因此授权请求者可以根据相机所有者定义的权限执行多项操作(视频录制、直播、延时摄影等)。拍摄快照并将其保存在树莓派SD卡上,定义控制策略,并使用本地区块链分发的令牌为请求者提供远程访问。因此,整个系统由以下几个主要组成:RO、请求者、资源、区块链和比特币网络、RO钱包(AMP)、请求方钱包(AMP)。图3显示了系统的主要组成部分以及它们之间的主要相互作用。将摄像机添加为要保护的资源(为相机分配地址)。定义对请求者的访问控制策略。创建授权访问交易,比特币提供了在存储区块链中80字节任意数据的能力。对于令牌,即连接到8字节自定义标头作为前缀的SHA256哈希。摄像机模块连接到运行比特币客户端节点的树莓派硬件。
图3 系统主要组成部分
RO能够通过它在树莓派上运行的AMP来定义2种对摄像头的访问控制策略。第一种策略是基于身份的访问控制,第二种策略是许可访问控制。钱包使用付费公钥哈希脚本和多签名公钥脚本将这些策略转换为脚本语言。使用OP_RETURN将令牌封装在事务中。钱包发送GrantAccess交易,网络验证交易。请求者使用交付给他的钱包访问令牌进行扫描。请求者满足访问控制条件,通过GetAccess事务获得TKN。
基于区块链技术的IoT访问控制框架利用基于区块链的加密货币提供的一致性,提供更透明、更强大的访问控制工具。分析IoT应用的安全要求,设计了基于区块链的访问控制架构,并使用UML类图及交互式图在静态和动态2个方面描述了框架的主要构建块和功能。提出了框架协议的详细技术实现,结合树莓派及其监控摄像头模块的典型IoT用例,验证了所提出访问控制架构的应用效果,证明了该访问控制架构具有良好的性能和可扩展性。