基于PUF,实现物联网设备的轻量级密钥共享协议

王振宇,李少青,郭阳,曾健平

(1.国防科技大学计算机学院,湖南长沙 410000;
2.湖南大学物理与微电子科学学院,湖南长沙 410082)

随着传感、自动化和通信技术的飞速发展,物联网(Internet of Things,IoT)产生的海量数据给设备之间有效安全传输、存储与保护带来了巨大的威胁[1].传统的网络安全协议会采用加密算法[2]、数字签名、Hash 函数[3]、消息验证码等复杂安全原语来保证信息传输的机密性、完整性以及不可否认性等[4].由于物联网设备通常体积小、资源约束强且硬件处理能力低,因此传输速率慢、通信开销大的安全原语不适用于轻量级设备的认证[5].

目前物联网的安全通信是假设硬件设备与系统是安全的,但是恶意攻击者可以通过芯片克隆、解剖等手段来破坏设备保密信息[6].信息加密是保护信息安全认证的有效途径,但是加密算法的密钥通常存储在非易失性存储器(NVM)中,攻击者通过侧信道和物理攻击,可以成功读取存储器中的私密信息[7].物理不可克隆函数(PUF)作为一种新兴的硬件安全原语,利用芯片在制造过程中无法控制的随机工艺偏差,来产生器件独有的数字签名[8].PUF 采用特定的“激励-响应”(CRP)机制触发可以实时生成安全密钥,对物理篡改非常敏感,无须存储,硬件开销小,可以解决传统密钥面临的安全问题,并且适用于轻量级物联网设备安全认证协议[9-11].

密钥共享认证协议通常在软件层采用公钥算法与数字签名完成,但是这些加密原语运行速度慢,通信开销大,且新型量子计算方法能够有效对公钥算法进行破解.为解决物联网设备在信道传输及密钥存储方面存在的安全性问题,本文采用可重构CRO PUF 防篡改防克隆的特性生成共享密钥,取代通信开销大的非对称加密算法和数字签名,结合MASK算法、Hash 函数等加密方法提出一种轻量级匿名密钥共享安全认证协议.该协议确保匿名性、可用性、完整性和前向/后向保密性等安全属性.

1.1 基于PUF的密钥共享机制

Zhang 等人[12]采用CRO PUF 为设备生成相同的共享密钥,适用于一对多的安全认证协议.该机制通过两个阶段来获得设备之间的共享密钥.

阶段1:生成共享密钥的可靠响应.通过建模获取CRO PUF 的高精度延迟矩阵R;
计算所有路径之间的延迟差并按绝对值降序排序.考虑不同温度影响来确定阈值T,当两条路径之间延迟差的绝对值大于阈值时,则输出响应是稳定的.

阶段2:生成共享密钥的激励.将延迟矩阵R的所有路径存入集合D,列举共享密钥K的所有位.从集合D中随机选择两条不同的路径,对于共享密钥K的每一位Ki,如果Ki等于1且延迟差大于T,则表示找到一个可以产生稳定响应1的配置激励Ci;
如果Ki等于0且延迟差小于-T,则表示找到一个可以生成稳定响应0的配置激励Ci;
否则,重新选择共享密钥K.

1.2 MASK与UNMASK算法

Qureshi 等人[13]提出的MASK 算法包含三个参数:长度l位的输入向量r=[r1,r2,r3,…,rl]、l个正整数集K={k1,k2,k3,…,kl|ki∈Z+}以及产生l位的输出向量rm=[rm1,rm2,rm3,…,rml].MASK 算法是采用正整数集K作为辅助数据,将长度l位输入向量r来生成一个等长度的输出函数rm.正整数集K通过伪随机数发生器生成K←PRNGi(y),其中y是长度n位的输入向量,且y=[y1,y2,y3,…,yn].类似地,MASK 函数的可逆变换UNMASK 函数,使用正整数集K将输出函数rm为复原输出函数r.其转换表达式如下:

算法1(Alogrithm 1)总结了MASK函数的运算过程,包括整数集生成、函数范围变换和位混淆等三个步骤.算法1具体过程如图1所示.

图1 算法1步骤图Fig.1 Step diagram of algorithm 1

1)整数集生成:向量y作为伪随机数发生器PRNG 电路的种子生成一组正整数K={k1,k2,k3,…,kl|ki∈Z+}.整数集K包含l个n位正整数,任何一位正整数的最大值为2n-1.

2)函数范围变换:定义一个范围函数Range()为线性映射变换,给定一个l位整数{k|k∈K},其取值范围在[0,2l-1],生成一个m位的新集合Q={q|q∈Z+},其整数范围在[0,2m-1],其中m≤l.线性范围映射由以下等式控制:

Nold∈K是Range()函数的输入,Noldmin与Noldmax是在范围[0,2l-1]内的最小值与最大值,Nnewmin与Nnewmax是在新范围[0,2m-1]内的最小值与最大值.

3)位混淆:MASK 函数最后是基于Fisher-Yates Shuffler 洗牌算法完成序列的位混淆,n个不同元素的有限序列生成一个n!个随机排列的算法.

MASK 算法有两个优点:1)它有效地隐藏了设备PUF 激励与响应之间的关系;
2)它为设备的输入提供了验证.在不验证输入流的情况下,PUF 不会被激活,因此设备不会产生任何响应,这有效地防止了设备受到任何蛮力攻击.

本文基于嵌入PUF 的物联网设备提出了一种轻量级密钥共享认证协议,包括协议注册阶段和双向认证与固件更新阶段.协议相关符号如表1所示.

表1 协议相关符号说明Tab.1 Symbol description

2.1 协议注册阶段

协议注册阶段采用Zhang 等人[12]所提出的基于可重构CRO PUF 的密钥共享机制,解决传统网络协议中公钥算法的开销大、处理速度低以及密钥存储的安全问题.注册阶段是在安全信道中传输,执行算法1,具体步骤如图2 所示.设备与服务器注册阶段如图3所示.

图2 协议注册阶段算法步骤图Fig.2 Algorithm steps in registration phase of the proposed protocol

图3 协议注册阶段Fig.3 Registration phase of the proposed protocol

1)设备A与设备B通过建模CRO PUF 分别获得延时矩阵MA与延时矩阵MB,并且将该延时矩阵发送到可信服务器S.

2)服务器S采用1.1节中阶段1来获得稳定的响应值.通过PUF 的延时矩阵计算出所有路径之间的延迟差,并将差值按降序排列得到延时序列(TA,TB).通过阶段2与共享密钥R来获得PUFA与PUFB的激励(CA,CB),即{PUF(CA)=PUF(CB)=R,CA≠CB}并 存储于服务器中.

2.2 双向认证与固件更新阶段

双向认证与固件更新阶段是PUF 产生的共享密钥在不安全的信道中完成设备之间的安全认证,执行算法2,具体步骤如图4 所示.设备与服务器认证阶段如图5所示.

图4 双向认证和固件更新阶段算法步骤图Fig.4 Algorithm steps in mutual authentication and firmware update phase

图5 双向认证与固件更新阶段Fig.5 Mutual authentication and firmware update phase

1)设备A与B记录当时时刻的时间戳(T1,T2),分别作为随机数发生器的种子产生两对随机值(nA1,nA2)与(nB1,nB2),并且发送到服务器S.

2)当服务器S接收到设备的随机值,通过MASK算法保护PUF 所产生的激励值CA与CB,即DA=MASK(CA,PRNG(nA1))与DB=MASK(CB,PRNG(nB1)).然后将DA,nB2和DB,nA2分别发送到设备A与设备B.

3)设备A通过随机数nA1解析激励CA,即CA←UNMASK(DA,PRNG(nA1)),再通过PUF 计算出响应值RA.同样,设备B通过随机数nB1解析激励CB并计算出响应值RB.

4)通过Fisher -Shuffler 洗牌混淆算法分别将响 应RA与RB分解为(rA1,rA2)与(rB1,rB2),该算法高效且等概率生成随机序列.设备A通过随机数nB2计算PUF响应值rA1的Hash值,即dA←Hash(rA1,PRNG(nB2));
同样,设备B计算出Hash值.

3.1 形式化安全分析

该协议保证物联网设备的信道传输安全,也可以防御攻击者对PUF 进行物理攻击,具体安全分析如下.

1)建模攻击.机器学习建模攻击是针对具有可公开访问的CRP 接口的强PUF,攻击者通过收集大量CRP,训练、学习和优化一个精确的模型,从而在给定的激励中预测出响应.但是,本文采用的可重构CRO PUF 是用作密钥生成的弱PUF,没有访问接口来读取芯片内部生成的密钥,密钥不会暴露给攻击者.同时,由于协议机制保护,通过MASK 算法保护(CA,CB)值,以及Fisher -Shuffler 混淆算法将响应值分为两部分(rA1,rA2)与(rB1,rB2),并采用Hash 算法与随机数发生器保护设备中部分的响应值rA1.由于Hash 函数单向性的特点,攻击者通过窃听内容dA获取不到真实的CRP值,因此,攻击者很难对PUF进行机器学习建模攻击.

2)不可追溯性.在物联网设备身份认证过程中,如果攻击者无法有效关联两次认证的请求和答复信息,即输入与输出结果不能相映射,则认为设备是无法追踪的.攻击者通过窃听获取消息DA与DB时,因为激励CA与CB通过MASK 函数进行加密防护,攻击者不能推断出激励CA与CB的值.攻击者窃听消息dA与dB之后,即dA←HashA(rA1,PRNG(nB2)),dB←HashB(rB2,PRNG(nA2)).由于哈希函数单一性,其不能获取共享密钥RA与RB的值.因此该协议可以防止位置跟踪.

4)重放攻击.该协议机制采用时间戳和更新的随机数(nA1,nA2)与(nB1,nB2)来防御重放攻击.以设备A 认证为例,假定第i次和i+1 次的随机数分别为当攻击者获得第i次的会话消息之后,进行第i+1认证时,设备A收到的会话消息已经更新为因此,攻击者认证将会失败,重放攻击将被检测.

5)假冒攻击.当攻击者伪装成合法设备时,需要发送有效消息dA与dB.以设备A为例,因为信息dA的生成需要有效的rA1,通过MASK 函数来保护PUF 的输入激励CA,同时通过混淆算法将响应RA进行防护.由于Hash 函数具有单一性,获得信息dA仍然不能得到有效信息rA1.因此在该协议机制中,攻击者不能假冒成合法设备与服务器认证.同理,当攻击者伪装成服务器时,也不能获取激励CA与CB的值,从而不能与设备相互认证.

6)中间人攻击.该协议可以对中间人攻击进行防御,攻击者窃听消息DA,nB2,DB,nA2,dA与dB是不能获取有效信息.因为所窃听的消息都是加密后的信息,攻击者若替换新的消息之后,设备之间将不能识别导致认证失败.若攻击者想解析加密后的信息,由上面假冒攻击可知,攻击者不能获取PUF 的CRP 对(CA,RA),因此设备之间认证会失败.

3.2 协议证明

本节使用BAN 逻辑来证明PUF 产生共享密钥的安全性.BAN 逻辑是认证协议形式化分析方法,可以提示一些非形式化方法很难发现的缺陷.BAN 逻辑中常用的逻辑符号如表2 所示,与本节相关的BAN逻辑常用的逻辑规则如表3所示.

表2 BAN逻辑中常用的逻辑符号说明Tab.2 Common logic symbols description in BAN logic

表3 BAN逻辑常用的逻辑规则Tab.3 Common logic rules of BAN logic

为便于分析,将设备A与B表示为D1 与D2,服务器表示为S,对协议进行理想化后,消息发送规则调整如下:

协议初始化假设如下:

目标公式如下:

如果目标公式成立,则说明设备与服务器S都与对方协商并确认秘密密钥,并且秘密密钥与平台完整性报告及通信信道绑定.可根据表3 中的各规则进行如下逻辑推理.

由规则1与A3、M3可知:

由规则2与A1可知:

由规则3及式(1)与式(2)可知:

由规则4与式(3)可知:

因此,可证得目标公式G1:D1| ≡S| ≡{cA},设备A与服务器S共享密钥cA.

由规则1与A4、M4可知:

由规则2与A2可知:

同理,由规则3 和4,及式(5)与式(6)可证明目标公式:G2:D2| ≡S| ≡{cB}.

由规则1与A5、M5可知:

由规则2与消息A2可知:

由规则3与式(7)、式(8)可知:

由规则4与式(9)可知:

因此,可证得目标公式G3:D2| ≡D1| ≡{rA1},设备B与设备A共享密钥rA1.

由规则1与A5、M6可知:

由规则2与A1可知:

同理,由规则3 和4,及式(11)与式(12)可证明目标公式:G4:D1| ≡D2| ≡{rB1}.

3.3 形式化工具分析

ProVerif[14]是应用于验证形式模型中密码协议的工具,支持对称和非对称加密、数字签名、Hash 函数、Diffie-Hellman 密钥协议等许多密码原语进行自动有效的安全分析.在本节中,使用ProVerif 来证明所提协议的保密性和身份验证属性.

协议定义服务器与设备之间的共享激励skc,以及设备A与设备B的共享密钥skr.在Dolev-Yao 模型[15]下,图6 是协议对设备与服务器的认证所建模四个事件:UserStarted 和UserAuthed,Server-Started和ServerAuthed,会话密钥skc 以及skr 的安全查询.ProVerif 查询协议的结果如图7 所示,通过结果可得该协议保持身份验证属性和长期秘密的保密性,会话密钥对模拟攻击者具有鲁棒性.

图6 设备与服务器的认证事件以及密钥安全查询Fig.6 Authentication events and key security query

图7 协议查询结果Fig.7 Query result in the proposed protocol

本节从安全属性、存储容量及通信成本等方面对认证协议进行分析与评估.通过Python 编写设备和服务器之间的认证协议程序.通过抽象TCP 客户端/服务器连接的套接字完成网络交互,使得服务器等待与指定IP 地址上的设备连接.一旦设备成功与服务器建立连接,该协议就执行一次相互认证会话.服务器和设备运行在Windows 10,采用Intel Core i7-9750 CPU,频率为2.60 GHz,配备8 GB RAM,模拟所提出的身份验证方案.

在安全属性方面与其他协议进行对比分析,其结果如表4 所示.协议[2,10-11,16-17]机制中,攻击者可以通过窃听、假冒以及物理攻击获取PUF的CRP对,从而不能防御建模攻击.协议[9]通过d次锁定机制可以防御PUF攻击,但信道传输中的信息未加密,导致设备认证中被窃听、去同步以及重放攻击等安全威胁.协议[2-3,9,16-17]中的设备存储了新旧两个身份,攻击者通过访问内存获取当前身份信息,从而跟踪到前一轮或下一轮的认证信息,因此协议不具备不可追溯性.但是本协议采用PUF 生成的共享密钥,采用MASK 算法与Hash 函数的加密保证设备的隐私性与不可追溯性.

表4 协议安全属性分析与比较Tab.4 Analysis and comparison of protocol security attributes

图8 列出与其他协议在设备存储与通信开销方面的比较.参考Aysu[11]的论文,伪随机身份的字节长128 bit,CRP 对(Ci,Ri)的字长均为128 bit,密钥的字节长度为96 bit.本协议只存储了128 bit 随机数,远远低于其他协议的存储容量.协议只传输信息(nA1,nA2,DA,nB2,dA,dB),通信开销为640 bit.相比较其他协议[3,5,9-11,16-17],所提出协议的通信成本均低于其他方案的通信成本,适用于轻量级设备的安全认证场景.

图8 协议中设备存储与通信开销对比图Fig.8 Performance comparison of device storage and communication cost in the proposed protocol

由于物联网产生海量数据给资源受限的终端设备带来信息传输安全威胁,同时硬件设备通常面临着芯片克隆、设备伪造以及密钥存储的安全问题.因此,运行速率慢、通信开销大的传统网络协议不适合轻量级物联网设备的安全认证.本文面向物联网设备提出一种轻量级匿名密钥共享认证协议.该机制采用PUF 防篡改防克隆的特性在硬件端生成共享密钥,结合混淆算法、MASK 算法、Hash 函数等安全原语来保证信息传输的匿名性、不可跟踪、不可否认和前向/后向保密等安全属性.通过形式化验证工具ProVerif、BAN 逻辑以及非形式化的安全性分析验证,证明协议运行的安全性、可靠性以及抗信道攻击能力.相比较于其他现有协议,所提出的协议具备计算成本低、通信开销和存储容量小以及高安全性的特点,适合轻量级物联网设备的安全通信传输.

猜你喜欢 攻击者密钥服务器 基于贝叶斯博弈的防御资源调配模型研究现代电子技术(2022年11期)2022-06-14幻中邂逅之金色密钥故事作文·低年级(2022年2期)2022-02-23幻中邂逅之金色密钥故事作文·低年级(2022年1期)2022-02-03密码系统中密钥的状态与保护*北京电子科技学院学报(2020年2期)2020-11-20PowerTCP Server Tool网络安全和信息化(2019年8期)2019-08-28BlackJumboDog网络安全和信息化(2019年7期)2019-07-10TPM 2.0密钥迁移协议研究小型微型计算机系统(2018年9期)2018-10-262018年全球服务器市场将保持温和增长中国计算机报(2018年12期)2018-10-08正面迎接批判爱你·心灵读本(2018年6期)2018-09-10正面迎接批判爱你(2018年16期)2018-06-21

推荐访问:密钥 联网 协议