陈佳圣, 王亮亮
(上海电力大学 计算机科学与技术学院, 上海 200090)
智能家居中存在着数百台与互联网相连的设备。这些智能设备不仅要保证设备之间的数据交换,还要保存用户产生的数据,以及确保一些应用软件的及时更新。如果将这些涉及到的所有系统都部署在智能家居中,实施身份认证机制对于保护用户安全与隐私就十分必要。
利用智能家居自动化环境,用户可以通过使用智能手机来远程控制智能家居中的所有家用电器[1],从而极大地减少人们动手操作的次数。智能终端是用户最直接接触的智能家居系统的节点。然而这些智能设备大多数功能有限,计算能力以及安全防护能力相对较低[2],攻击者仍能通过入侵终端设备对智能家居系统发起攻击,因此需要保证用户数据存储安全和终端设备安全。但是目前在智能家居系统中,主要通过互联网来实现用户与设备之间的通信,设备互联以及设备安全接入互联网的问题使得智能家居包含了更多的用户隐私信息,且互联网协议往往存在一些安全漏洞,所以一旦攻击者进行攻击,不仅会泄露用户数据,造成财产的损失,还可能会威胁到用户的人身安全。因此,只有对存储、数据保护以及传输信道有更高的要求,才能保证智能家居系统中的通信安全。
物联网(Internet of Things,IoT)是信息技术产业的第3次革命,是将互联网与射频识别技术(Radio Frequency Identification,RFID)、各种传感器(如环境传感器、可穿戴设备)与智能物体融合在一起[3]。物联网在连接物理工业环境和计算系统网络空间从而形成网络物理系统(Cyber Physical System,CPS)方面发挥了重要作用。它具有以下几个特点:系统的分散性;物联网设备和系统的多样性;物联网数据的异构性;网络的复杂性[4]。这些特点虽然使我们的生活变得更加便利,但也给物联网应用带来了许多安全漏洞。
智能家居是物联网最典型的应用之一。它以我们通常居住的房屋为平台,通过通信网络将多种设备和各种领域连接起来进行监控。智能家居中有许多可联网的物联网设备且大多是低能耗、轻量化[5],用户可以使用终端设备(如手机、平板等)远程控制家庭中的智能设备,从而极大地便利了人们的生活,节约了能源。智能家居总体框架如图1所示。
图1 智能家居总体框架
该框架包含了与应用程序和家庭网关相连的智能设备,智能家居系统将用户与设备之间的通信数据上传至云服务器中进行存储,用户使用手机连接网络,远程控制家中的设备,发送需求,服务提供商可以从云服务器中获取数据,提供特定的服务。智能家居系统中有各种各样的智能设备,智能设备是在电子芯片或微控制器的监督下由执行器控制的电子设备或电子电气设备[6],如智能灯、智能门锁、智能电视等。智能家居不仅仅是物联网,也不仅仅是将智能硬件连接到网络上,还需要通过物联网设备之间的联动实现家庭自动化[7]。
智能家居自动化会导致设备数量的增加,许多物联网设备计算资源受限,节点之间采用无线通信技术进行通信,WiFi信号足够敏感即可以达到传感的目的[8]。但如果通信协议不安全,就会导致设备之间信息传输的泄露,不安全的通信信道也会成为攻击者的攻击目标,恶意攻击可能导致整个智能家居系统的瘫痪,泄露用户隐私[9]。
2.1.1 智能终端与用户身份认证
近年来,研究者提出了众多解决方案,以保证用户和设备之间的通信安全。文献[10]介绍了一种适用于智能家居环境的轻量级安全会话密钥的建立方案,采用了HAN协议(如ZigBee),通过无线信道和家庭网关进行通信,用户可以用手机或其他终端设备直接控制和操作家庭设备。该方案分为3个部分:身份验证、密钥设置和易于添加的新设备。为了建立网络间的信任,在家庭网关部署开始前,所有的智能设备都必须离线注册以获得服务提供商分发的唯一密钥和密钥标识符,进行身份验证。每个传感器和家庭网关使用一个短的认证令牌,建立一个轻量级的安全会话密钥,利用哈希函数性质保证设备之间的安全通信,确保智能家居的安全性。该方案不仅提供了重要的安全属性(如身份认证、机密性、完整性),还可以防止各种常见的攻击。
文献[11]提出了一种基于身份的签密方案,用于保护智能家居设备之间的通信安全。签密技术将加密和签名相结合,更能有效地满足身份验证、完整性和机密性的要求。当终端用户设备与智能家居中的设备进行通信时,由第三方服务器负责参数的初始化和密钥生成。在认证过程中,该方案仅需要在注册或更新密钥时访问第三方服务器,从而有效地保证设备身份的匿名性。
文献[12]通过消除工作量证明(Proof of Work,PoW)和比特币的概念,利用区块链具有分布式、匿名性和安全性的特点,提出了一个轻量级的区块链实例方案。该方案有3个主要层:云存储、覆盖层和智能家居。在每一个智能家庭环境中,都有一个本地区块链来跟踪事务,由家庭网关或其他独立设备作为矿工,负责对交易进行身份验证、授权、审核交易记录、分发和更新密钥等工作。当矿工将共享密钥分配给彼此之间需要通信的设备之后,只要密钥有效,设备就可以直接通信。当设备需要存储数据时,就会把数据和服务请求一起发送给矿工,矿工对设备进行授权,将数据分组到具有唯一块号的区块中。用户使用存储数据的块号和哈希值进行身份验证,通过验证的用户可以请求服务,第三方服务提供商从云中获取数据,从而提供满足用户需求的智能服务。该方案保证了机密性、完整性和可用性的要求,且可以有效地抵抗分布式拒绝服务(Distributed Denial of Service,DDoS)攻击。
文献[13]利用环签名提出了一个隐私感知边缘计算(Privacy-aware Edge Computing,PEC)框架,实现了完全隐私且不牺牲数据质量的社会感知应用,并基于改进的K-means算法,开发了一种自下而上的环组合协商方案,提升了系统的可扩展性。在PEC中,要求每个边缘设备都要生成一个一次性的RSA公钥,并且与环中的其他设备共享,用于与服务器协商密钥加密,实现安全的通信信道。该框架通过环签名实现设备之间的认证,将任务声明和结果提交配对通过一次性的RSA密钥完成。这些操作无需第三方可信机构来完成,满足了用户与设备之间的通信安全要求。
文献[14]使用家庭有限信道(Home Limited Channel,HLC)构建了一个安全高效的无密钥通信协议,考虑了室内恶意智能设备的存在以及防范此类恶意室内智能设备的需要。然而在智能家居系统下,由于智能设备数量大、分布广,并且通常都具有有限的计算(存储)能力,所以该协议虽然满足了设备之间的通信安全,但是无法达到轻量级的要求。
文献[15]设计了一种智能家居的密钥协商方案,利用秘密失配问题(存在于物理层的秘密提取方案中)使智能家居设备能够自动、安全地建立通信密钥。该方案虽然解决了智能设备无法在线访问第三方和各类由不同工厂生成的智能设备中存在的预载秘密问题,但通信成本较高,可能会降低系统运行效率。
2.1.2 通信协议漏洞
无线物理通信的使用使得攻击者更容易截获通信。文献[16]从安全的角度描述了智能家居应用中最重要的物联网协议,所考虑的5个协议(Zigbee,EnOcean,Z-Wave,KNX-RF和Thread)都定义了加密、身份验证、数据完整性检查服务。文献[17]设计了融合ZigBee和WiFi无线技术的智能家居系统。该系统以CC2530为核心板,外接RF无线射频收发器和继电器,结合电能计量芯片RN8209和温湿度传感器DHT11,借助IAR集成环境,实现了PC端和手机端的并发访问。文献[18]采用“KRACK”密钥重装攻击对WPA2进行攻击,该攻击可以攻陷所有的WiFi网络,使攻击者能够读取机密信息。文献[19]通过对一个用于应用层的即时通信协议(Message Queuing Telemetry Transport,MQTT)发起攻击,测试该协议的数据完整性、数据隐私和身份认证服务。该协议只为安全机制提供身份认证。
在智能家居环境下,强大的身份认证机制可以保护用户安全与隐私,防止未经授权的用户访问设备获取敏感数据,预防恶意设备导致系统故障的问题。目前智能家居平台多采用无线通信方式,用户利用手机下载相应的应用程序进行远程控制,然而智能家居平台采用的通信协议没有统一的标准,所以需要更加重视协议的规范使用。
智能家居框架大部分都采用云来存储和处理数据。云是家庭管理中最复杂的部分。随着数据量越来越大[20],云处理数据的负担也越来越重。文献[21]提出了一种采用区块链和无证书密码体制的分布式数据存储方案,通过利用区块链消除传统的集中式云服务,借助边缘计算帮助智能设备执行加密计算,将收集的数据转发到分布式哈希表(Distributed Hash Tables,DHT)进行存储。该方案让大量的区块链矿工控制IoT数据来消除集中式服务器存在的单点故障问题,保证了数据安全;方案中采用的无证书密码体制也减少了传统公钥基础设施(Public Key Infrastructure,PKI)带来的问题。文献[22]对智能家居系统中的门锁访问数据进行了研究,利用区块链不可更改和不可否认的性质,提出使用以太坊区块链平台来存储用户数据,并以智能合约来制定由房主制定的策略。以太坊区块链的哈希函数和加密算法可以增强物联网系统,利用雪崩效应计算,证明了该方案的安全性。文献[23]首先通过机器学习将智能家居实时传感器数据分为敏感数据和非敏感数据;接着使用组合加密和信息隐藏方法,通过普通信道安全地传输敏感数据。该方案对敏感数据进行加密,并将密文隐藏在封面图像中,并且stego图像不会发生变化,因此敌方无法注意到秘密信息的存在,为智能家居数据提供了双重保障。文献[24]提出了一种新的分层结构,用于未来智能家居的大数据驱动处理和管理。该方案首先将智能家居物理层中的传感器数据发送至雾计算层进行有限的数据存储和处理;然后,所有需要的数据使用智能家庭网络层发送到云计算层;最后,将处理后的数据作为数据驱动服务,提供给不同的智能家居和第三方应用程序。
目前智能家居系统多为基于云服务器的框架结构,但是智能终端设备数量多、分布范围广,随着这些设备的部署,产生的数据量也会随之增长,如果将产生的所有用户数据都存储在云端,同时用户的请求也都由云处理之后再传送给服务提供商,就会导致智能家居系统运行效率降低,用户得不到良好的体验;并且一旦传统的集中式服务器发生单点故障,将会泄露用户数据。针对这一问题,研究人员需要深入研究适用于存储智能家居数据的平台。
文献[25]设计了一个具有真实属性的管理框架和一个基于属性的访问控制模型(Attribute-Based Access Control,ABAC)来定义访问控制策略。该框架可以帮助所有者执行任务,在需要时定义新的访问控制策略。文献[26]在传统认证方法(如用户名和密码)的基础上引入另一层访问控制,提出了智能家居系统中账户泄露时的安全对策。文献[27]采用以数据为中心的方法,通过命名数据网络(Named Data Networking,NDN)开发智能家居系统,解决了2个具体问题:一是在新设备和系统之间建立信任关系;二是只有授权用户才能访问系统中的数据。文献[28]提出了采用Kerberos协议、CoAP通信协议和椭圆曲线数字签名算法(Elliptic Curve Digital Signature Algorithm,ECDSA)加密方案,通过验证客户端所扮演的角色,对不同资源服务器上的物联网服务提供基于服务级别的角色访问控制框架。该框架中授权不仅基于客户端,还基于请求的服务和角色,使得访问控制更加精细。文献[29]分析了目前物联网层次结构中基于角色的访问控制,实现了基于角色的层次结构访问控制代理,用于安全地分组IoT。
智能家居环境下,需要用户通过开放部分权限授权智能设备,才能得到特定的服务。每个家庭中都存在着不同的用户角色,每个用户角色应该设定对应的权限组来控制其拥有的访问权限,这样就会造成越权访问,所以对于智能家居系统的访问控制机制需要进行深入的分析。
智能家居平台是为方便终端设备接入、加快智能家居应用发展而构建的消费领域平台[30],智能家居系统中设备众多,不同的设备为人们提供不同的服务。但物联网的终端设备存在资源受限和能力受限的问题,这些设备通过无线技术接入家庭网络中,如果没有进行身份认证,轻则导致隐私泄露,重则可能会导致单点故障。
智能家居系统中的通信协议漏洞主要来自于应用层,应用层协议是用于应用之间的数据交换。当用户发送某些服务请求后,需要通信协议将数据或信息传输给服务商,才能获取特定的服务。目前智能家居设备通信没有统一的标准,不同的应用场景下有不同的通信协议。当配置智能家居系统时,就会出现不规范行为,从而导致安全问题。由于智能家居系统中的设备多为受限设备,内存、计算、通信等资源不足,所以需要设计轻量级的安全通信协议来保证智能家居的安全。
智能家居框架大部分都采用云来存储和处理数据,但是随着智能设备分布数量的增多,产生的数据量也越来越大。如果将产生的所有数据都存储在云端,由云服务器处理数据,那么集中式的云服务中心会产生较大的负担,降低数据传输的效率,并且一旦发生单点故障,将无法保证用户隐私。
访问控制是按用户身份及其所归属的某项定义组来限制用户对某些信息项的访问。一个良好的访问控制机制能够有效地保护设备敏感数据。目前各智能家居平台的访问控制机制以智能手机的权限为基础,所设计的访问控制机制都存在权限粒度过粗的问题,无法保证设备的安全使用。如何划分更细粒度的访问控制策略并实施成为重要问题。此外,一个家庭存在着多种用户角色(如老人、孩子),如何保证不同用户角色的访问权限,也为智能家居系统带来了极大的挑战。
物联网是一个设备嵌入软件、传感器和执行器组成的系统。系统中的设备能够通过网络传输数据,实现相互通信。结合智能家居的研究现状,未来研究方向可以考虑以下方面。
利用区块链去中心化的特征,可以消除智能家居系统中的第三方。在保留区块链优点的基础上,同时克服集中式服务器的缺点,考虑构建基于区块链的智能家居框架[31]。通过区块链中的数字签名、单向哈希函数保证数据的完整性、机密性和智能家居的通信安全。
当前智能家居采用云服务器来存储数据,而边缘计算或雾计算是在网络边缘进行数据处理,可以减少延迟、减少数据量。因此,可关注边缘计算或雾计算,满足智能家居系统轻量级需求,提高系统运行效率。
随着智能家居产业的快速发展,将会有越来越多的智能设备走进人们的家庭,在使用这些设备时需要对用户身份进行认证,保证不同身份用户拥有不同访问权限。如何在多用户场景下进行身份认证,如何授予、撤销和管理访问权限均可以进一步研究。
智能家居系统中出现的安全问题将会随着智能设备的不断加入而逐渐增多。首先,介绍了物联网智能家居环境发展背景和总体框架;其次,阐述了当前智能家居中身份认证和通信安全的研究现状,分析了近几年来针对这方面的问题所提出的方案,同时介绍了用户数据存储安全与访问控制机制存在的缺陷;最后,提出了利用边缘计算和雾计算或区块链技术进行改进、基于多用户场景下的身份认证、基于不同角色的访问权限等未来研究方向。