智能家居远程控制的信息安全研究
2021-10-27
来源:21ic中国电子网
引言
随着中国社会经济的持续迅猛发展,人们的生活水平不断提高,人们在住宅方面的观念也潜移默化,由原来的居住温饱逐渐地倾向于舒适和方便。在此背景下,智能家居产业如雨后春笋般蓬勃发展,蒸蒸日上,从概念到实际应用,正一步一步地走进我们的生活。智能家居的远程控制系统,让我们能够随时随地而轻松快捷地了解家庭状况,并且进行远程遥控,极大方便了我们的生活,吸弓了大量消费者的眼球。然而,这种远程控制是否可靠,是否会被不法分子非法控制,这一系列的不安因素让许多用户望而止步。智能家居远程控制的安全性,直接或间接地关系到我们的生命财产安全,所以对智能家居的信息安全研究亥坏容缓。
1密钥管理技术发展
现代信息安全技术是基于密钥完成的,因此密钥的安全管理和分配是现代信息安全的重要基础。有效的密钥管理机制也是其他安全机制,如安全路由、安全定位、安全数据融合及针对特定攻击的解决方案等的基础。
密钥技术的发展,经历了一段曲折漫长的道路。1976年,Diffie、Hellman提出了著名的D-H密钥分发体制,第一次解决了不依赖秘密信道的密钥分发问题,但这种体制只能用于会话密钥的交换,而且不能抵抗中间人攻击(attackinthemiddle)。1978年,Kohnfelder提出了CA认证机构概念,采用密钥动态分发的管理体制,公钥以CA证书形式公布,用于解决密钥的规模化问题。1991年,相继出现了PGP、PEM,首次提出密钥由个人生成的分散式体系。各依赖方各自建立密钥环,将常用对方公钥储存在自己设备中。1996年,提出了SPKI解决方案叫PKI设立了证书授权中心机构(CertificateAuthority,CA),证明公钥和标识的一体化,防止他人冒名;创立了多层CA架构,以解决密钥的规模化问题。PKI的另一进展是利用提供数字签名的功能,构建在线认证系统,从而大大推动了认证理论的发展。由于需要数据库的在线支持,应用效率不高,维护代价过高。
2001年,Boneh和Franklin利用Weil对理论,将标识作为公钥,私钥由密钥中心产生配发的新体制,实现了Shamir的基于标识密码(IdentityBasedEncryption,IBE)设想叫此方案将个体的唯一标识符或网络地址作为它的公钥,从而两通信方不需要交换私钥或公钥来解密和验证签名,也无需保存密钥目录,取消了依靠第三方证明的层次化CA机构链。但是,该方案仍然需要数据库的在线支持,同样效率不高。
2矩阵密钥管理方案
智能家居的网路大部分都是无线传感网络(WirelessSensorNetworks,WSN),相对于传统有线网络,WSN的开放性使得网络更加地容易受到窃听、干扰等各种攻击。有线网络的网络连接是相对固定的,具有确定的边界,攻击者必须物理地接入网络或经过物理边界,如防火墙和网关,才能进入到有线网络。通过对接入端口的管理可以有效地控制非法用户的接入。而无线网络则没有一个明确的防御边界。首先,无线网络的开放性带来了信息截取、未授权使用服务、恶意注入信息等一系列信息安全问题。其次,WSN节点大部分都是低端的处理器,它们的资源(包括存储容量、计算能力、通信带宽和距离等)极其有限。再者,WSN的网络容量非常庞大。鉴于以上特点,传统密钥管理方案并不适用于WSN。
本文在南相浩教授的组合公钥算法的研究基础上,对算法进行改进,提出了一种矩阵密钥的认证方案。跟IBE一样,矩阵密钥算法也是基于身份标识的公钥算法,不需要第三方证明的CA机构链,但是,它不需要保留与用户相关的参数,只要保留少量的公共参数即可处理大量的公钥,无需数据库的支持。该算法以芯片级的储存能力处理大规模(比如1048)的公钥,非常适合应用于智能家居控制网络。
矩阵密钥管理体制的安全基础是椭圆曲线上的离散对数难题(EllipticCurveDiscreteLogarithmProblem,ECDLP),即对椭圆曲线上的点P,求Q=kP很容易,相反已知P和Q求k却非常的困难。
矩阵密钥管理体制在公开参数基础上建立公钥矩阵和私钥矩阵,采用散列映射函数将实体的标识映射为矩阵的行列坐标,将矩阵元素进行组合生成庞大的公钥与私钥。
2.1椭圆曲线及其公开参数
由于本系统的有限域计算是在FPGA上实施的,考虑二进制有限域在硬件上比素数域实现更加地方便,本系统选取了F2m上的Koblitz椭圆曲线y2+xy=x+ax+bmodF。其中,F为约减多项式(在南相浩教授的组合公钥方案里,采用的是素数域[8])确定椭圆曲线后,适当地选取曲线上的点G作为生成元,成为基点。基点G=(Gx,Gy)的所有倍点构成子群S={G,2G,3G,…,(N—1)G,NG}。其中NG即O,称为子群S的阶図。表明N是个殆素数(almost-prime),可以表示为N=hXn,其中n是个大素数,h是个小整数。椭圆曲线密码的公开参数组为T={a,b,G,N,m}。
按照NIST推荐,本系统参数选取见表1所列。椭圆曲线的计算可参见文献。
2.2私钥矩阵、公钥矩阵的构建
公钥矩阵为16×32的矩阵。矩阵中的16×32个元素记为Xi,j(0≤i≤15,0≤j≤31)。它们都是子群S中的元素,即
2.3基于标识的密钥的产生
密钥是根据实体标识产生的。每个实体都有一个唯一可以区分其他实体的标识,比如居民的身份证号。在网络中,每个节点都有一个网络地址,这地址在整个网络中是唯一的。我们首先对这个网络地址进行散列映射处理,使得标识更具有随机性。运算表达式如下:
identity为实体的标识,ID为标识的散列映射值。本系统中,HASH为SHA1算法,影射值为160位。从160位的ID中取出后128位,分割成32组,每组4位,每组依次为W0,W1,…,W31。计算公钥为:
2.4密钥管理
本系统中,有一个设备来负责密钥的产生和发放,该设备叫密钥管理中心(KeyManageCenter,KMC)。KMC首先选择系统的加密曲线参数以及基点,参数T={a,b,G,N,m}向网络公布。然后随机产生16×32的私钥矩阵。为了使每个不同的标识产生不同的私钥,文献给出了优化方案。根据私钥矩阵和基点,计算出公钥矩阵。私钥矩阵由KMC秘密保留,公钥矩阵则公布。
当网络节点申请入网时,KMC根据节点的标识计算出节点的私钥,并通过安全信道告知节点私钥。公开参数和公钥矩阵则在公开信道告知。图1所示是其密钥管理方案示意图。
两节点之间通信时,发送方用自己的私钥对消息进行签名,将消息和签名在公开信道上发送给目标节点。接收方接收到消息和签名时,先根据发送者的标识,从公钥矩阵中计算出接收者的公钥,从而进行消息的验证。此过程无需第三方的参与,减少了网络信息流量,提高了效率。
本方案支持海量节点的网络,以16X32密钥矩阵为例,几百Kb的容量就能支持1632=2128=1039个节点。
3数字签名协议
本系统签名协议采用椭圆曲线签名算法(EllipticCurveDigitalSignatureAlgorithm,ECDSA)。签名算法如算法1。其中,H为散列映射函数,m为待签名的消息,心为发送者的私钥,Qa为发送者的公钥。
算法1ECDSA如下:
签名过程:
选择整数kG(0,n);
计算kG=(X1,y1),并将转换为整数x:
计算r=xmodn,如果r=0,则返回步骤1):
计算e=H(n);
计算s=k」(e+dAr)modn。若s=0,则跳至步骤1):
返回(r,s)。
验证过程:
检查r,s是否是区间(0,n)内的整数,若任一个不成立则否认签名;
计算e=H(m);
计算w=s_1modn;
计算u1=ewmodn,u2=rwmodn;
计算X=uG+u2Qa=(x。,y。);
若X=8,则否认签名;
将X0转换为整数x,计算v=xmodn;
若v=r,则认可签名,否则否认签名。
签名验证的工作证明以及安全性证明详见文献。
4系统设计
本系统完成对智能家居控制网络通信的地址认证。本系统的家居控制网络由ZigBee网络构成。ZigBee网络是一种短距离、低功耗的无线通信技术,其近距离、低复杂度、自组织、低功耗、低数据速率、低成本等特点非常适合智能家居控制网络。ZigBee节点的通信地址有64位的IEEE地址(也叫扩展地址,由设备商固化在设备中)和32位的网络地址(也叫短地址,加入网络后由协调器分配,每次加入网络可能都不同)。在试验中,我们采用扩展地址通信方式。本系统中网络通信认证主要是对地址真实性的认证,能够正确地识别数据的来源,避免消息的伪造。消息的签名和认证算法则由FPGA完成。ZigBee模块与FPGA之间通过SPI总线通信。其硬件设计框图见图2所示。
图2 硬件设计框图
ZigBee模块在发送消息m前,将消息发送给FPGA,FPGA完成对消息的签名,并将签名<rs>返回给ZigBee模块。之后,ZigBee模块在接收到后,将签名内容附属在消息后面,形成<m,r,s>,并将这发送。当ZigBee模块接收到附带签名的消息<m,r,s>后,将消息发送给FPGA进行处理。FPGA对消息进行验证,将验证结果返回给ZigBee模块。若消息验证成功,则交给用户进行下一步的处理,否则认为消息来源不可信,抛弃消息不予处理。
图3 软件流程图
FPGA签名和认证流程图如图3所示。FPGA模块有签名和验证两种模式,由ZigBee模块通知选择。在两种模式下分别进行ECDSA签名和ECDSA验证处理,将处理结果传送回ZigBee模块进行下一步处理。
5实验结果分析
本次试验中,采用CC2530作为ZigbBee模块,签名认证算法由EP2C5T144CB完成,时钟频率为40MHz。
发送方发送消息为“Hello!”,消息HASH值为表2中的HASH(m)。
发送方用自己的私钥dA对消息进行签名,得到消息签名r和s。
接收方收到带有签名的消息后,根据发送方的IEEE地址,通过公钥矩阵查询到发送方的公钥为坐标(QA_x,QA_y),经过ECDSA认证算法后得到v。
表2记录了实验数据。
分析实验数据表2可得v=r,根据认证算法接收该签名。本方案实现了对消息的签名和认证,提高了网络通信的可靠安全性。
6结语
本系统将基于标志认证的矩阵密钥算法应用到智能家居远程控制网络的真实性认证当中,实现了无需第三方的在线参与的本地认证,大大提高了认证效率。网络中的KMC只需要在设备加入网络时分配密钥,平时并不参与认证活动;网络中的各个终端节点,也只是增加一些算法的实现,以很小的代价实现了对家庭网络的地址认证,为建立安全可信任的网络打下了良好的基础,确保了网络通信间的安全可靠。