APP下载

基于BST-PUF模型的轻量型认证与会话密钥交换协议

2022-01-22贺章擎吴铁洲

计算机工程与应用 2022年1期
关键词:攻击者密钥辅助

贺章擎,项 链,汪 晨,吴铁洲

湖北工业大学太阳能高效利用湖北省协同创新中心,武汉 430068

随着物联网(IoT)的发展,物理不可克隆技术(physical unclonable function,PUF)[1-2]有望成为数十亿IoT设备的关键安全原语。PUF利用集成电路在制造过程中不可避免的物料随机变化特性,生成不可克隆的激励响应对(CPRs)。PUF 的理想功能是轻量化、不可预测性、不可克隆性和唯一性(针对每个实例)。每个PUF都不可克隆,所以PUF可用于提供身份“指纹”或生成和存储加密密钥,防止对物联网设备的篡改攻击。

PUF减轻了密码算法的计算费用,同时具有相对较低的硬件开销,因此是解决物联网环境中安全通信问题非常有效的选择。但生成PUF响应需要进行物理测量,因此它很容易受到噪声的影响[3]。PUF 对电压和温度(voltage and temperature,V&T)变化的敏感性,致使PUF 输出不够可靠,无法直接用于加密认证,需要进行纠错处理[4]。与此同时,PUF 设备将数据传输到其他设备前须共享其秘密密钥,需要认证与密钥交换协议。对此,Aysu 等人[5]提出了一种PUF 匿名认证协议,Rostami等人[6]提出了轻量级认证与密钥交换协议,Gope 等人[7]提出基于PUF的RFID认证协议。上述协议实现了安全的认证与密钥交换功能,但均采用了基于BCH 等纠错码的模糊提取器技术来消除PUF中噪声的影响,但采用模糊提取器会带来极大的执行开销,因此无法应用于资源受限的物联网设备。为了降低纠错开销,Yu等人[8]提出一种名为“基于索引综合症(index-based syndrome,IBS)”机制,该机制将纠错码复杂度降低16~64 倍。但此技术仅应用于输出实数值的PUF电路和软判决编码/解码比较复杂的机制,目前已提出的PUF认证与密钥交换协议中开销大的问题尚未得到有效解决。

针对PUF协议开销大问题,本文提出一种位自检策略的轻量级高可靠PUF模型,并根据该模型设计了一种新轻量级两方认证与会话密钥交换协议。此协议在保证安全性同时无需模糊提取器或其他任何的纠错机制,且能有效减少开销,更适合资源受限的IoT设备。

1 BST-PUF模型及密钥提取辅助算法

1.1 自检PUF模型

PUF 电路主要利用内部的偏差检测电路来将制造工艺偏差转换成信号偏差,再经过仲裁电路的判决之后产生数字响应。新的研究发现,PUF输出响应的可靠性与偏差信号强度等参数有着直接的关系,由较大的偏差信号所产生的响应在各种环境下显示了良好的鲁棒性[9]。因此,文献[10-11]提出一种轻量级可靠性增强机制,它在PUF 内部嵌入了一个可靠性自检电路,自动检测出生成每个PUF响应的信号偏差,并为该响应位产生一个可靠性标志位。该PUF 电路可用图1 所示模型表示,称之为比特自检PUF(BST-PUF)电路。

图1 BST-PUFs模型Fig.1 BST-PUFs model

在BST-PUF中,输入激励Ci时,除了生成相应的响应Ri外,还可以生成标识该响应可靠性的标志值Fi。当Fi为1 时,表明响应Ri具有环境鲁棒性,稳定性很高。后续电路可以据此挑选鲁棒响应来构建数字密钥(如图1(b)所示)从而大幅减少纠错开销。文献[12]中的测试和分析结果表明,所挑选出的鲁棒响应具有良好的唯一性、均匀性和随机特性,也具有很好的安全性,因此可以用于密钥产生、认证等各种安全应用中。

1.2 BST-PUF密钥提取辅助算法

利用可靠性自检PUF 电路可以构建轻量级密钥提取辅助算法(HDA),从而取代模糊提取器。辅助算法的执行包括密钥产生和密钥恢复两个过程。密钥产生过程如图2(a)所示,首先由BST-PUF产生一定数量的响应R和可靠性标识值F,并输入到鲁棒响应提取器中提取具有极高可靠性的鲁棒响应RB,然后经过熵提取器生成高熵的密钥K。可靠性标志F作为辅助数据helper data存储并公开。密钥恢复过程如图2(b)所示。当HDA从BST-PUF获取带噪声的响应R′之后,将R′和辅助数据F再次输入鲁棒响应提取器中,可以得到相同的鲁棒响应RB,经过熵提取器之后可以恢复出密钥K。

图2 新型HDA执行流程Fig.2 New HAD execution flow

该辅助算法采用BST-PUF 电路和鲁棒响应提取器生成可靠的响应,取代传统PUF 和纠错码组合,将可靠性标志F作为辅助数据用来恢复密钥。由于BST-PUF电路和鲁棒响应提取器的复杂性远低于传统密钥提取方式,且可靠性标志长度也远小于纠错码所需的辅助数据长度,因此该方式可大幅降低纠错复杂性、减少辅助数据长度并提升PUF利用率。

2 基于BST-PUF 模型的轻量级认证和会话密钥交换协议

为了确保PUF 产生的密钥能与其他通信实体进行安全交换,本文采用比特自检PUF模型与密钥提取辅助算法设计一个轻量级两方认证及会话密钥交换协议[13],在一个拥有PUF 实体的密码设备(device)与服务器(server)之间进行安全认证并建立共享会话密钥。确保安全性的同时有效降低了纠错开销,大幅减少了辅助数据长度。

2.1 基本概念

为描述提出的轻量级PUF 认证与会话密钥交换协议,表1给出相关概念。

表1 相关概念Table 1 Related concept

2.2 协议描述

协议在PUF device 与server 间进行,server 拥有KEY.Ext 函数、TRNG 函数、PRF 和PRF'函数。device 拥有BST-PUF 函数、KEY.Ext 函数、TRNG 函数、PRF 和PRF'函数。

协议执行分为两个阶段:注册阶段(enrollment phase)和密钥交换阶段(key-exchange phase)。

注册阶段:安全环境下,server对身份标识为IDi的device 中的BST-PUF 进行注册,提取一定数量激励-响应-可靠标识信息。首先,server 随机产生一个激励ci,利用BST-PUF 中的BST-PUF()函数获取响应和可靠性标识:r1,f1BST-PUF(ci)PUF。重复上述过程提取若干(c,f,r)集合并存储在server数据库。然后,随机挑选集合(c1,f1,r1),设定初始共享密钥k=k1和k=kold。Server 存储该PUF 的ID 值、密钥以及(C,F,R) 集合:{IDi:k1,kold,(c,f,r)} ,device 存储{IDi,c1,f1} 。双方建立了初始共享密钥k1。

密钥交换阶段:当server和device要发起会话时,执行两方认证和密钥交换步骤如图3所示。

图3 提出的两方认证与会话密钥交换协议Fig.3 Proposed two-party authentication and session key exchange protocol

首先,server 产生并发送随机数m1给device,device 收到m1后,产生随机数m2。然后,将保存的激励c1输入到PUF中,获取带有噪声的响应r′1,并用密钥提取函数KEY.Ext和保存的辅助数据f1从r′1中提取出密钥k1。然后,以k1为密钥、m1||m2为输入,利用伪随机函数PRF 产生5 个伪随机数s1,s2,…,s5用于后续认证加密。最后将IDi、s1、m2发给server。

Server 对device 认证通过后,server 随机挑选集合(c2,f2,r2) ,设置k2=KEY.Ext(r2,f2) ,将密钥k1、kold更新为k2和k1,把(c2,f2,r2)从数据库删除。然后用异或加密将s′2与c2加密得u,s′3与f2加密得v,计算u、v的MAC 值w:=PRF′(s′4,m1||u||v),最后将(s′5,u,v,w)发给device。

Device接收信息后,首先认证s5是否等于s′5,若相等,则对server认证成功。device再对接收的信息w进行MAC认证,确保w未被篡改。若MAC认证正确,就将u与s2异或得到c2,v与s3异或得到f2,并将c1、f1更新为c2和f2。至此,密钥交换过程完成,server 和device建立了新会话密钥k1。

3 协议形式化分析与安全特性

3.1 BAN逻辑形式化分析

本文采用BAN逻辑化分析对提出协议进行安全性证明。server(S)或device(D)用相同的伪随机函数PRF 分别生成5 个伪随机数s′1,s′2,…,s′5与s1,s2,…,s5用于后续认证与加密。以双方的共享密钥k1和实时产生的随机数m1和m2为输入PRF,因此s′1,s′2,…,s′5与s1,s2,…,s5相同。设定server或device事先共享了3个密钥分别为kab1、kab2、kab3。同时,协议采用BST-PUF及其鲁棒响应提取器实时生成最后的密钥k,实际上协议双方交换的共享秘密信息为c2和f2。因此,将c2和f2作为双方最终交换的密钥信息来进行安全分析。BSTPUF函数及其鲁棒响应提取器可信情况下,若c2和f2满足安全性需求,最终产生的密钥k也将满足安全性需求。

本文涉及的BAN逻辑规则如下:

根据式(8)和(9),可以得到协议能保证server 与PUF device 共享的秘密信息c2和f2的安全性,即安全目标①和②得证,那么最后生成的密钥k也能满足安全需求。

3.2 协议安全特性分析

3.2.1 密钥安全性

已知会话密钥安全:即使协议第i轮完成后会话密钥泄露了,但第i+1 轮认证与会话密钥交换过程不包含第i轮任何信息,且每轮认证与密钥交换完成后,server 会删除该轮的密钥信息,即协议每次执行过程都会生成唯一的会话密钥,第i+1 轮及以后会认证与密钥交换不会受到影响。

未知密钥共享安全:协议中server 与device 建立会话密钥k2后,敌手尝试与device或server进行通信来获取另一方的密钥。未知密钥需要ID、伪随机数s1和真随机数m2等信息通过认证获取,伪随机数s1需密钥k1与随机数m1、m2经伪随机函数得到,密钥k1作为密钥安全参数是根据响应r1生成。r1未知则无法获取密钥k1。只有合法设备才能通过认证与密钥交换,未知密钥共享安全能得到有效保证。

前向与后向安全性:协议每轮产生的新密钥ri由server 从数据库随机挑选,确保协议每次更新的密钥值的独立性。每个密钥使用后数据库会删除,保证密钥不会重复使用,因此即使攻击者知道某次会话密钥值,甚至获取了一部分密钥信息对由于PUF的不可克隆性,也无法破解PUF推算出前一次和后一次的会话密钥。

抗密钥泄露伪装攻击安全:server 中的新密钥信息对都是server从数据库随机挑选,确保了协议每次更新的密钥值的独立性。密钥信息使用后数据库会删除,保证密钥不会重复使用。密钥信息的前项与后项安全性是可以保证的,即使一部分密钥信息对泄漏,由PUF 的不可克隆性,密钥信息也无法推断出来,所以敌手无法冒充其他实体与server或device进行会话。

抗密钥控制安全:server 与device 在协议会话中,server 确定s′1=s1后,server 会从数据库(C,F,R)中随机选取一组密钥信息响应对来作为一个会话的密钥,server 数据库中储存了大量的数据,抽取满足数学检验良好随机性即可以抗密钥控制。

抗临时私钥泄露:协议执行过程中的会话密钥为私钥,长期密钥为server储存于数据库中的密钥。即使某轮或某几轮的会话密钥泄漏,协议也能保证抗临时私钥泄露。因为每轮的密钥信息对都是server 在数据库随机选取的,满足随机独立性;密钥信息对完成对应轮次认证与会话密钥交换后,密钥信息会从数据库中删除且会话密钥每轮都会更新。所以临时私钥泄漏不会对协议安全造成影响。

3.2.2 其他安全性

抗DoS攻击:协议中server完成对device的认证后,先更新共享密钥k1。此时若攻击者发动DoS 攻击,使device在后面无法正确接收到server发送的数据,则device 不会更新密钥k1,引发了密钥失配。为应对该威胁,协议server 中保存了旧密钥kold,一旦发生DoS 攻击,双方会使用旧密钥kold来进行接下来的认证和密钥更新过程。

抗物理探测攻击:传统密钥交换协议,密钥直接保存在非易失性存储器中,易受到侵入式探测攻击和非侵入式图像攻击的破解。协议device 只存储了激励c1和可靠标志f1,即使攻击者破解了c1和f1,知道PUF 的结构,由PUF 不可克隆性[14],攻击者仍无法获取密钥k1值。后续新密钥k2由server 随机挑选,因此c1和f1泄露不会对后续密钥交换产生影响。

抗建模攻击:PUF 结构尺寸有限,当攻击者获取PUF 足够多CPRs 时,可通过建模以极大概率预测PUF的CPR行为。建模攻击前提是获取足够多的CPRs。其他协议[15]攻击者可通过监听通信信道或进行物理攻击获取CPRs。但本协议,激励信息c和辅助数据f经过异或加密后传输,响应值r未在信道上进行传输,因此攻击者无法从信道上获取CRPs。但攻击者可通过物理攻击探测device 中的非易失存储器(NVM)获取c和f。但物理攻击具有破坏性,只能获取device当前存储的(c1,f1)。因此,攻击者通过各种攻击均无法获取足够CPRs来进行建模攻击。

4 协议实现及性能分析

4.1 协议实现

为了评估协议device端的执行开销与性能,测试将device 端协议以硬件方式在旁路攻击评估板SASEBOGII 上的Cryptographic FPGA 上实现,server 端协议在PC 上实现。测试时device 使用UART 接口与server通信,顶层电路结构如图4 所示。device 主要包括BST-PUF 电路、控制器(controller)、密钥提取器(KEY extractor)、伪随机函数PRF、真随机数产生器TRNG、SPI ROM。BST-PUF 电路采用文献[10]Arbiter-PUF 实现。密钥提取器也采用文献[10]电路架构实现。伪随机数产生器PRF 采用了文献[5]中基于SIMON 的实现方式。而TRNG则采用文献[16]提出的基于电路亚稳态的FPGA实现结构。

图4 模块组成图Fig.4 Module composition diagram

4.2 协议性能分析

Device端协议采用Verilog实现后,使用Xilinx ISE 11.1综合工具将协议写入SASEBO-GII 的Cryptographic FPGA 中。协议执行1 000 次后,平均每次各模块以及总平均执行开销如表2所示。

表2 Device端协议执行开销Table 2 Device side execution overhead

从表3 看出本文提出协议实现了双向认证与可靠的密钥交换,能够抵抗物理探测攻击、DoS攻击,具有前后向安全性。由于加入了消息认证码,可有效抵抗篡改攻击和中间人攻击。PUF密钥信息经过加密传输,可防建模攻击。

表3 协议安全性与执行开销比较Table 3 Comparison of protocol security and execution overhead

执行开销上,本协议device 端资源消耗为798 个LUT,436个register。相比现有PUF轻量型认证与密钥交换协议,执行开销大幅度减小,更适用于资源受限的物联网设备。

表4 对比了各协议在实验中的运行一次认证所用时间、用到的辅助数据总长度,可以看出本文提出的协议的辅助数据字节长度大幅减少,且运行时间较短。

表4 协议运行时间与辅助数据长度比较Table 4 Comparison of protocol uptime and help data length

5 结束语

本文提出一种轻量型认证与会话密钥交换协议。协议用BST-PUF 电路实现密钥产生与交换,用伪随机函数和异或运算来进行双向认证和异或加密。协议中device只需有BST-PUF电路、真随机数产生器和伪随机函数,无需采用任何纠错机制,保证安全性同时有效降低执行开销低至237 slices。安全性分析表明该协议实现了双向认证和可靠的密钥交换,能够抵抗窃听攻击、篡改攻击、中间人攻击、DOS攻击、建模攻击、物理探测等攻击。

猜你喜欢

攻击者密钥辅助
幻中邂逅之金色密钥
幻中邂逅之金色密钥
小议灵活构造辅助函数
倒开水辅助装置
密码系统中密钥的状态与保护*
基于大数据分析的易混淆车辅助识别系统设计与实现
TPM 2.0密钥迁移协议研究
正面迎接批判
正面迎接批判
提高车辆响应的转向辅助控制系统