邹建文,赵 波,李 想,刘一凡,黎佳玥
武汉大学 国家网络安全学院 空天信息安全与可信计算教育部重点实验室,武汉430072
随着物联网技术的快速发展,物联网技术已被广泛应用于智能家居、智能穿戴、智能交通、车联网、智能医疗等众多领域中[1],其广泛应用使得物联网安全问题愈演愈烈,也越来越受到重视。在面对安全威胁时,不仅要考虑网络的安全问题,还需考虑接入网络的物联网设备的设备安全性。不可信的物联网设备接入对物联网的危害性极大,这会严重影响物联网在政府、企业、军队、金融等高安全需求领域的推广[2]。
物联网接入设备越来越容易受到假冒攻击[3]和设备篡改攻击[3],设备的真实性应该要受到重视,因为攻击者能够创建后门以绕过安全性检测,通过不安全的通信信道接入互联网,造成重要数据的泄漏。只有实现了有效的物联网设备安全接入方案,才能保证访问控制、入侵防范等安全机制的有效实施。除此之外,这也是设备身份认证、密钥交换等安全协议的必要前提。因此要在保证接入设备可信性的前提下,将安全状态延伸至网络,保障整个网络的安全可信。目前,应用较为广泛的物联网设备安全接入技术是RFID 技术。RFID 技术使用天线发射和接收射频信号来收集设备的标识信息,并将其写入电子标签。读取器将读取到的标识信息传输到中央数据库,用以识别设备[4]。但是,由于射频标签数量太多、实现方案复杂度高、成本高、标签信息易于跟踪的特点,终端设备的安全性难以保证。并且RFID 技术以及现有的物联网设备接入技术大多局限于物联网设备的平台身份认证,认为完成设备平台身份认证即可保证接入设备的可信性,而未能考虑到接入设备关键信息完整性的安全校验,攻击者可以通过篡改设备关键性文件或是植入木马进行攻击设备,而平台身份认证并不能预防此类攻击。
可信计算[5-7]的出现与发展,为解决物联网设备接入的安全问题提供了有效的方法,利用可信网络连接技术TNC[8-9]保证接入网络的设备安全真实性,建立安全的通道。TNC技术实现用户身份认证、平台身份认证、完整性校验的三层认证,用户身份认证保证使用设备的用户合法性;平台身份认证保证接入设备的平台身份可信,防止假冒设备接入网络;完整性验证可以保证接入设备环境安全,防止被攻击篡改的设备接入网络,从而保障接入网络的设备是可信的,实现对网络的可信访问。但是现有的TNC实现大多基于完整性报告协议[10-11],只完成了认证端对设备的单向认证;并且大多依赖TPM(Trusted Platform Module)[12]安全芯片实现,通过TPM存储秘密信息和实现平台身份认证[13],成本太高;TNC实现平台身份认证时通常使用传统公钥密码体制实现[13],效率低并且需要节点设备存储私钥,不适用于资源受限的物联网设备。
为了解决上述问题,本方案引入PUF(Physical Unclonable Function)技术,将PUF 技术与TNC 技术进行结合,提出一种基于tPUF 的物联网设备安全接入方案。该方案首先利用PUF技术,在设备需要更少的硬件资源和不需要存储任何秘密参数的情况下,完成设备与认证端的双向认证和协商会话密钥。并通过TNC 技术,完成认证端对接入设备的用户身份认证、平台身份认证、完整性校验,建立数据安全传输通道,实现数据安全传输。本方案能够很好弥补传统TNC方案和现有物联网设备接入方案的不足,实现设备和认证端之间的双向认证,完成物联网设备的安全接入。安全性分析表明该方案可以有效抵抗篡改、复制、物理攻击等,实验结果表明该方案有效降低设备安全接入的成本和资源消耗。
PUF 是建立在设备特有物理特征基础上的一种特殊映射关系,具有不可预测、不可克隆、轻量级[14]等性质。相较于加密功能,PUF 需要较少的硬件资源,这适用于资源受限的物联网设备。
基于Pappu 等人提出的PUF[15],现在有很多不同的方法利用非常不同的物理特性来获得PUF。比如,光学PUF[15]、环形振荡器PUF[14]、仲裁器PUF[16]、SRAM PUF[17]等。由于SRAM PUF的易实现和物联网设备普遍有硬件SRAM的特性,本文重点研究基于SRAM的PUF。
基于SRAM的PUF是通过在设备上电时提取SRAM的瞬态特性来实现的。如图1所示,SRAM的单元结构为交叉耦合回路。在没上电时,Q、nQ 处于的逻辑为“00”状态,然而在上电后的一段时间内,Q、nQ的输出可能处于“01”或者“10”,由于存在材料、制造过程中的工艺、工作环境以及电路中的噪声等差异,每个逻辑单元在上电后的状态都是不可预知的。
图1 SRAM逻辑单元
使用PUF,可以通过从复杂物理系统中提取与设备物理相关的秘密信息,将其与TNC 技术相结合设计物联网安全接入方案,能够有效提高物联网设备接入的安全性。
近年来,随着物联网技术的不断发展,针对物联网设备的安全接入问题受到广泛关注。为了解决设备的安全接入问题,完成设备的认证,最简单的方法就是使用加密函数加密设备标识,后端认证服务器需要遍历数据库去验证设备标识,这种方式性能不佳。例如,Akgun等[18]设计了一种基于PUF的认证协议,其中设备标识由散列函数编码。为了验证设备,在接收到哈希码时,认证服务器必须对系统中的所有设备执行线性搜索,直到找到匹配为止。该方案时间效率低下,并且缺乏前向保密性。Aysu等[19]提出类似解决方案,但其中编码是用伪随机函数完成的,并且方案支持前向保密。但是该方案存在泄漏敏感数据的安全威胁,并且易受追踪攻击。为了更好解决设备接入的安全问题,多因素认证被认为是一种更好的解决方案。比如,Yu等[20]为物联网环境提出一种安全、轻量级的三因素认证方案,通过利用秘密参数和生物识别提供安全的相互认证和匿名性。但该方案容易遭受物理攻击,攻击者可以通过物理手段获取存储在物联网设备秘密参数,从而复制设备。Bae 等[21]为多网关物联网环境提供了基于智能卡的双因素身份验证协议。但是,该协议容易受到用户模仿攻击、网关欺骗攻击和会话密钥泄露的影响,并且无法提供相互身份验证。Lee等[22]为解决Bae等[21]的安全漏洞,为多网关物联网环境提出了三因素相互认证协议。但是该方案基于智能卡实现,实现成本较高,并没有进行设备的完整性校验,无法抵御篡改攻击。
通过上述对现有的物联网安全接入方案的分析,均存在一定的不足之处,并不能完全保障接入设备的安全可信性。在物联网安全接入技术中引入可信网络连接技术是一个可行的方案,TNC技术完成用户身份验证、平台身份验证和完整性校验,三层验证的方式可以保证接入设备的可信性,但是现有TNC 实现方式并不能很好适用于物联网环境。Zhu等[23]基于D-H协议提出一种健壮完整性报告协议,认证的双方基于D-H协议在平台认证阶段协商共享密钥,利用此共享密钥在通信过程中加密数据,保证通信的安全,但是该方案的密钥存储在设备中,存在密钥泄露的威胁。汤建等[24]提出了一种基于可信平台模块的可信网络模型,该方法基于TPM 的安全芯片实现,通过TPM存储私钥并完成设备认证,保障设备安全接入,但该方案基于TPM 的实现增加了架构复杂性。Ma等[25]结合可信计算技术和无证书公钥密码体制,提出一种无线环境下的可信网络连接协议,该协议实现双向身份认证和会话密钥协商,同时实现平台可信性验证。但是该方案基于公钥密码体制,需要在设备中存储私钥,存在私钥泄露的安全问题。金雷等[26]提出一个基于可信网络连接框架的网络终端认证模型,实现用户、改进的认证智能卡以及可信终端三者间的相互认证。但是该方案需要给设备添加认证智能卡,成本高,这很难在大量部署的物联网设备中配备。
综上所述,为了提高物联网设备安全接入网络,有的方案通过线性搜索匹配方式认证,效率很低;有的方案通过秘密参数和生物识别进行认证,进行多因素认证,提高接入安全性,但易遭受复制攻击;有的方案依赖于智能卡进行安全认证,提高了设备的身份认证安全性,但实现成本高。以上物联网设计接入方案都是仅仅考虑了设备的平台身份认证,没有考虑到设备的用户合法性和设备环境安全问题,不能很好保证接入设备的安全性。可信计算中的TNC技术通过对设备的用户身份认证、平台身份认证、完整性校验的三层认证,能够更好保障接入设备的安全。为了实现TNC 完成三层认证,大多方案依赖于TPM 安全芯片或者认证智能卡实现,提高认证安全性,但实现成本高,并且增加设备架构复杂性;实现平台身份认证时基于公钥密码体制,效率低下,设备需要存储私钥,私钥的安全性很难保证;并且大多TNC 实现方案只完成了认证端对设备的单向认证,安全性不高。针对上述问题,本方案引入PUF 技术,弥补现有物联网设备接入方案和TNC 实现的不足之处,将PUF 技术与TNC 技术相结合,提出一种改进的TNC(tPUF)设计。利用PUF技术实现物联网节点设备与认证端的双向认证,保证通信双方的真实可信性,并根据PUF 生成随机的会话密钥,保障数据的安全传输;基于TNC技术,完成认证端对接入设备的用户身份认证、平台身份验证、完整性校验,接入设备安全接入网络,建立安全通道。
基于tPUF的物联网设备接入方案在TNC的基础上结合PUF 技术,不需要增加额外实体的复杂性,不需要存储任何的秘密信息,会话密钥具有新鲜性和前向安全性,并且实现了双向认证,该方案效率高、实现成本低、安全性高。
在本章中,将详细介绍本文所提出的设计方案。方案分为设备注册、基于PUF的可信网络连接和数据安全传输三个过程,设备注册只需执行一次,TNC连接和数据安全传输在设备每次接入网络进行通信时执行。
2.1.1 实体
可信网络连接TNC 架构有3 个实体:访问请求者AR(Access Requestor),请求接入网络的设备;策略执行点PEP(Policy Enforcement Point),传递接入请求和认证信息并执行访问控制,如网关、防火墙、交换机等;策略决定点PDP(Policy Decision Point),对AR进行可信评估并做出是否准许接入的决定,在物联网系统中即网络端、后台认证服务器。
2.1.2 假设
(1)接入设备AR都内置了PUF模块。根据不同设备在制造过程中存在不可避免的物理差异,PUF模块通过提取设备的物理特征值(如设备的SRAM上电值),不同设备能够输出不同的响应(如不同设备的SRAM上电值是不同的)。
(2)为保证AR 和PDP 数据通信时的数据正确性,增加循环冗余校验(CRC)机制,对所有通信数据进行错误检测。
(3)AR与PDP有相同的hash函数和对称加密函数。
2.1.3 声明
在本方案设计中使用到的运算方法和密码学方法如表1所示。
表1 运算符声明
当一个新的设备要加入物联网系统中时,新的设备需要跟后台认证服务器经过一个协商注册的过程。这个过程在一个安全环境下进行,注册过程如图2。
图2 设备注册过程
步骤1 PDP->AR:{c1}
PDP生成一个随机挑战信息c1,然后将c1发送给AR。
步骤2 AR->PDP:{r1,pwd,imc}
AR 接收到PDP 发过来的c1之后,AR 根据PUF 模块,生成响应r1;并且AR 使用完整性收集器IMC 收集完整性信息r1=PUF(c1);生成与用户身份绑定的口令密码pwd。然后将{r1,pwd,imc}发送给PDP。
步骤3 PDP->AR:{uid1}
接收到AR 发送过来的数据后,PDP 生成接入设备会话ID、uid1,用于标识当前这个AR,类似于给AR 生成一个账号,将其发送给AR。然后PDP 将与AR 相关的数据{uid1,c1,r1,pwd,imc}存储起来,而AR将uid1存储起来。
当设备要接入网络时,此时网络处于不安全环境,图3是设备的第i 次接入网络的过程。
步骤1 AR->PDP:{uidi}
AR 读取会话ID、uidi,并将其发送给PDP,表示当前AR申请接入网络。
步骤2 PDP->AR:{ci,ni′,hash1}
PDP 接收到AR 传过来的uidi,PDP 根据这个uidi在数据库中读取与之相关的数据{ci,ri,pwd,imc}。如果数据库中没有找到这个uidi,说明这个设备是无效的,TNC 连接过程终止。读取到数据之后,PDP 生成一个随机数ni,并计算ni′=ni⊕ri,hash1=Hash(uidi,ni,ri}。然后将{ci,ni′,hash1}发送给AR。
步骤3 AR->PDP:{mi′,hash2}
AR 接收到PDP 发送过来的数据之后,利用挑战ci通过PUF模块产生与之对应的响应ri,ri=PUF(ci),并通过这个ri与ni′计算出ni,ni=ni′⊕ri,然后利用uidi,ni,ri去验证hash1,如果hash1验证通过,说明PDP 是AR 信任的平台,否则TNC 连接终止。验证hash1成功之后,AR 生成一个随机数mi,并计算mi′=ni⊕mi,hash2=Hash(ni,mi,ri},然后将{mi′,hash2}发送给PDP。
图3 基于PUF的TNC连接过程
步骤4 PDP->AR:{data1}
PDP 接收到AR 发送过来的数据{mi′,hash2},计算出mi=ni⊕mi′ 。然后根据mi、ni和数据库中读取的ri去验证hash2,如果hash2验证通过,说明AR 通过了PDP 的平台身份验证,否则TNC 连接过程终止。验证hash2通过之后,PDP 要AR 进行身份验证和完整性校验,此时生成一个会话密钥Ki=ni+mi+ri,这个密钥在每一次连接时因为ni、mi和ri不同而得到不同的Ki,具有前向保密性。利用这个Ki使用对称加密算法加密数据{success1},得到data1=EKi(success1),代表设备平台身份认证成功,要进行下一步验证,将data1发送给AR。
步骤5 AR->PDP:{data2,data3}
AR 接收到PDP 发送过来的数据后,先计算出会话密钥Ki=ni+mi+ri,解密data1,如果得到success1,代表AR平台身份认证成功,要进行下一步的验证。身份验证需要用户输入AR注册时口令密码pwd,并且使用AR 的完整性收集器IMC 收集完整性信息imc=IMC(AR),然后分别使用对称加密算法加密pwd 和imc得到data2=EKi(pwd),data3=EKi(imc),并将{data2,data3}发送给PDP。
步骤6 PDP->AR:{uidi+1,ci+1}
PDP 接收到数据之后,使用Ki解密data2和data3得到pwd 和imc, pwd=DKi(data2),imc=DKi(data3) 。然后根据数据库中读取的pwd 和imc 进行身份验证和平台完整性验证,只要有一个验证不通过,TNC连接终止。验证通过之后,则认为AR 是可信的。PDP 生成随机挑战信息ci+1和随机会话ID、uidi+1,每次设备进行TNC 连接时就可以使用新的会话ID 和挑战信息,具有保鲜性。将{uidi+1,ci+1}发送给AR。
步骤7 AR->PDP:{ri+1′}
AR接收到PDP传过来的数据之后,AR根据ci+1通过PUF 产生与之对应的ri+1,即ri+1=PUF(ci+1),利用会话密钥Ki加密ri+1,得到ri+1′=EKi(ri+1),将ri+1′ 发送给PDP,并将uidi更新为uidi+1。
步骤8 PDP->AR:{success}
PDP 接收到AR 的数据ri+1′ 之后,使用Ki解密得到ri+1,并将数据库中的uidi、ci、ri更新为uidi+1、ci+1、ri+1,并给AR 发送{success},代表TNC 连接过程完成,设备安全接入网络,可以进行数据传输。
数据安全传输过程如图4。
图4 数据安全传输过程
在完成TNC连接之后,设备安全接入网络,可以与后台服务器进行安全通信。接入设备端计算会话密钥Ki=ni+mi+ri,会话密钥Ki作为对称加密算法(加密和解密使用相同密钥)的对称密钥,用于对需要传递的数据进行加密传输,避免隐私数据的泄露,保证数据安全传输。产生要传递的明文消息M ,使用会话密钥Ki和对称加密算法对M 进行加密得到M′=EKi(M),然后将M′发送给服务端,实现物联网设备数据的加密通信,服务端接收到数据M′之后,计算出与接入设备端一致的会话密钥Ki=ni+mi+ri,使用与接入设备端相同的对称加密算法和会话密钥Ki(即对称加密算法的对称密钥),将数据M′ 解密得到M ,M=DKi(M′)=DKi(EKi(M))。
本文设计方案的安全性基于PUF 的不可预测性和不可克隆性,基于此条件,可以得到本方案具有以下的安全性结论。
定理1 基于PUF的TNC连接过程中的秘密参数不会泄露
证明在基于PUF的TNC连接过程的步骤2中PDP的随机数ni通过ni⊕ri传递给AR,这可以看作是将ri当成一个密钥,对ni进行加密传输给了PDP,在攻击者无法得到ri时,ni被安全传输给了AR。同样地,在步骤3 中AR 的随机数mi通过使用密钥ni加密,mi′=ni⊕mi,传送给了PDP,攻击者无法得到ni,因此mi被安全传输给了PDP。在其他步骤中传输的数据data1、data2、data3和ri+1′ ,是被AR 和PDP 协商的密钥Ki=ni+mi+ri所加密后的数据,攻击者无法得到Ki,从而保证秘密参数的安全传输。
定理2 基于PUF的TNC连接过程中实现了接入设备和认证服务器的双向认证。
证明在TNC连接过程中利用PUF参数实现AR和PDP之间的双向认证,这个双向认证过程可以简化为以下三个步骤:
(1)AR->PDP:{uidi};
(2)PDP->AR:{ci,ni′,hash1};
(3)AR->PDP:{mi′,hash2}。
根据PUF的不可预测性和不可复制性,挑战信息ci对应的PUF响应ri具有与当前设备相关的物理唯一性和机密性,攻击者无法得到ri,因此步骤(2)和步骤(3)中hash 值只能在合理安全的设备上计算出正确的值。该验证过程引入随机数ni、mi和设备每次进行TNC 连接时都会分配不同的uidi值,来确保验证过程中消息的新鲜性,以抵抗重放攻击。因此TNC 连接过程中可以实现设备间的双向认证。
定理3 数据传输过程中具有安全保密性。
证明对于所有需要传输的数据M ,都需要通过AR与PDP协商得到的会话密钥Ki,使用对称加密算法加密传输,另外一方再通过Ki进行解密得到M 。攻击者无法得到每一次TNC 连接过程AR 与PDP 协商的会话密钥Ki,因此可以保证数据的安全传输。
定理4 密钥具有前向安全性。
证明AR 每次进行TNC 连接时均使用不同的随机数mi、ni和每次得到不一样的ri,以此产生不同的会话密钥Ki,所以某一次的会话密钥的泄露,也不会因此导致其他轮次的密钥泄露。
定理5 本方案可以抵抗复制攻击。
证明在本方案中要求每一个物联网设备都具有PUF模块,根据PUF不可复制的性质说明PUF技术能够抵抗复制攻击,因此说明本方案可以抵抗复制攻击。
定理6 密钥具有新鲜性。
证明接入设备AR 和认证服务端PDP 的会话密钥,是由AR 和PDP 分别产生的随机数mi、ni和PUF 的响应ri共同产生,Ki=ni+mi+ri,由于ni、mi和ri的随机性和每次TNC 连接时生成新的值,可保证密钥的新鲜性,并且任意单独的一方均无法独立计算出双方的会话密钥。
定理7 本方案可以抵抗物理攻击。
证明攻击者可通过物理手段捕获开放环境中的物联网设备,从其存储介质中提取秘密参数并复制恶意设备。而本方案设计中,物联网设备不需要存储任何的秘密信息,比如密钥等重要数据,攻击者无法获取到与设备相关的任何秘密信息,从而无法复制恶意设备。因此,说明本方案可以抵抗物理攻击。
定理8 本方案可以防平台篡改。
证明通过注册过程对设备平台使用IMC进行设备安全属性收集后,将其信息注册到后台验证服务端,在TNC连接过程中进行完整性校验,保证设备的软硬件关键文件没有被恶意代码或程序攻击篡改,保证设备的完整性安全。
4.1.1 实验环境
为了预防非法物联网设备接入网络,本实验设置三个控制变量,分别是设备用户密码pwd、设备平台身份合法性和设备配置信息修改,观察这3个控制变量改变下设备请求接入网络时的接入情况,证明本方案是否可以判断接入设备的合法性。
本实验基于开源项目TNC@FHH 构建实验环境,TNC@FHH 遵循TCG 规范,实现了TNC 架构的大部分组件和接口。在TNC@FHH中引入了PUF和做了部分修改,实现本方案设计。实验的系统软硬件配置环境如表2 所示。在实现本方案时使用的Hash 散列算法为SM3算法,对称加密算法使用SM4算法。
表2 系统软硬件配置
4.1.2 实验结果
实验结果如表3所示。测试结果记录了4种接入设备AR 状态下的认证服务器PDP 的反馈情况。实验表明只有在身份验证、平台身份验证、完整性检验都成功时才被准许接入网络,只要有一种检验不合法便被拒绝接入网络。这体现了本方案能够实现接入设备的合法性检查,实现设备安全接入网络。
表3 实验结果
图5 是4 种AR 接入网络时PDP 的日志记录截图,其中(a)、(b)、(c)、(d)分别对应表3中的1、2、3、4的4种接入设备AR状态的PDP反馈结果。
图5 认证服务器PDP的日志记录
从时间和存储开销两个方面对本文方案进行性能分析,并与传统TNC方案进行对比。
(1)时间开销
为了直观体现本方案的性能,设置3 组对照实验。Exp1 为传统TNC 方案;Exp2 为本文方案;Exp3 为只实现用户身份认证的简单通信方案。在实验环境下进行10轮实验测试,得到如图6的对比结果。
图6 性能分析结果
根据实验结果可知,本方案在TNC 连接过程和数据安全传输过程均可在相对较短时间内完成。相比较传统的TNC,本方案的时间消耗更少,因为传统TNC方案在平台身份验证是需要密钥协商的过程,并使用TPM进行私钥解密等操作,TPM的运算速度较低,造成耗时较长;在数据安全通信也是需要TPM 进行数据加密操作,耗时长。而本方案在平台身份验证时不需要密钥协商过程,利用PUF 进行平台身份验证,并且利用PUF协商会话密钥进行数据加密传输,耗时较短。
(2)存储开销
本文方案每个节点设备的存储开销为L(uid)=48 bit,即仅需要存储会话标识。传统TNC方案需要存储设备私钥s(鉴于安全问题,低于1 024 bit 的私钥已不建议使用),用于平台身份认证,存储开销为L(s)≥1 024 bit。
通过以上分析,相对于传统TNC方案,本方案的设备存储开销更小。并且,本方案不需要存储任何秘密参数,可以防止暴露在外的物联网设备被获取并通过物理手段获取设备里面的秘密信息,从而复制设备,提高设备安全性;而传统TNC方案需要存储秘密参数,即设备私钥,无法抵御物理攻击。
本文分析了现有物联网安全接入方案存在的不足以及现有的可信网络连接实现不适用于物联网设备,在此基础上将TNC 技术与PUF 技术相结合,基于TNC 规范提出一种基于tPUF的物联网设备安全接入方案。该方案实现接入设备与网络认证端的双向认证,保证通信双方的真实可信性。并且,设备不需要存储任何秘密信息,有效防止物理攻击,降低设备资源开销;通过PUF技术完成平台身份验证和协商会话秘钥,减少了平台身份验证的时间开销以及保障数据安全加密传输。因此,本方案具有较高应用价值。