使用低功耗蓝牙的物理不可克隆键智能锁系统外文翻译资料

 2022-07-26 16:05:38

英语原文共 6 页,剩余内容已隐藏,支付完成后下载完整资料


使用低功耗蓝牙的物理不可克隆键智能锁系统

摘要

如今,许多智能锁系统使用蓝牙低能量(BLE)来实现物理钥匙(钥匙扣,卡,智能手机等)与锁之间的无线通信。安全性基于创建和存储秘密数字密钥以建立密码安全的通信。问题是一些攻击可能会破坏这种安全性,特别是物理密钥的拷贝。为了增加攻击的难度,本文中描述的物理密钥不存储加密密钥的秘密,但在需要时重新构建密钥,并在不使用密钥时将其删除。只有信任的物理密钥能够使用存储在其中的公共数据来重构密码。这可以通过使用物理键的BLE芯片中的SRAM的启动值作为物理不可克隆功能(PUF),以便如果物理键被复制,则无法打开锁。这个想法已经被证明是基于德州仪器的基于CC2541BLE系统的关键抽头智能锁系统的开发。

文中的实验结果以说明其性能。

关键词:蓝牙低功耗;物理不可克隆功能,PUF;安全应用;电子系统芯片。

1.引言

智能锁系统安装在房屋,汽车,储物柜和箱子中,用于邮政应用,物流解决方案,存储等。锁可以由靠近物理钥匙的用户发送的电子信号打开(密钥卡,卡,智能手机等)通过秘密数字密钥方便地认证。数字键从智能电话的网络应用获得,从密钥交换密码协议生成或直接存储在物理密钥的存储器中。应该采用数字键高安全性,以确保未经授权的用户无法打开锁定,也不会恶意使用它们。

市场上可用的部分智能锁系统基于蓝牙,蓝牙是通过短距离无线电连接设备的无线通信标准。许多类型的服务和配置文件被定义为在广泛的应用中使用蓝牙,范围从提供信息的设备(例如物理密钥)到接受命令的设备,例如锁(在智能锁的情况下系统)。此外,由于这项技术可以将任何东西与互联网连接起来,因此在物联网的上下文中已经受到重视[1] - [2]。

蓝牙LE(BLE)和蓝牙BR / EDR(基本速率/增强数据速率)是当今最常见的蓝牙无线技术系统的两种形式[2]。第一个是通常在智能锁系统中使用的产品,其比BR / EDR需要更低的电流消耗,更低的复杂度和更低的成本。

蓝牙安全模型包括五个特征:(a)配对(创建一个或多个共享密钥的过程),(b)绑定:存储在配对期间创建的密钥以用于后续连接的动作,(c)设备认证(验证两个设备具有相同的密钥),(d)加密(确保消息机密性)和(e)消息完整性(以防止消息伪造)。安全性总是基于共享数字密钥的保密性。然而,数字密钥可以被显示为被动窃听攻击,可以在配对[3]或针对读取物理密钥的非易失性存储器的物理攻击来完成。如果非易失性存储器没有受到保护,那么它们不仅可以通过简单的阅读来显示,还可以使用更精细的技术,如激光光电探测和电磁分析[4]。由于非易失性存储器保留甚至从设备移除的信息,所以攻击者可以具有检索数字密钥并复制物理密钥的多个机会和方法。这个锁可以被攻击者打开,合法的用户无法实现。

本文提出的解决方案更安全,因为秘密数字键永远不会出现物理键,从不存储。它们在需要时生成,稍后删除。这可以通过使用物理键的BLE芯片中的SRAM的启动值来实现。如果SRAM单元供电但未写入,则形成单元的两个交叉耦合反相器之间的正反馈将导致其变为开始施加的启动值。使一个逆变器成为赢家的条件与逆变器之间的不匹配有关,这通常是由于每个SRAM的独特和随机的制造工艺变化性。一个SRAM的启动值难以由另一个SRAM产生,或者由愿意克隆SRAM的人确定。在这种情况下,SRAM表现为物理不可克隆功能或PUF [5] - [6]。因此,只有可靠的物理密钥能够重建真正的密钥。物理密钥对攻击更加强大,因为没有敏感数据被存储,而只是公开信息。

本文的结构如下。第二部分总结了BLE技术和PUF安全性背景。第三节用实验结果描述并说明了如何在德州仪器CC2541的片上系统中使用基于SRAM的固有PUF。第四节总结了基于CC2541 BLE芯片的智能锁系统的开发。最后,第五节作了结论。

2.前言

A.BLE技术的安全性

蓝牙低功耗(BLE)或智能蓝牙技术于2010年发布在蓝牙特别兴趣组的核心规范4.0中,于2013年底更新为规范4.1,并于2014年12月更新为规范4.2。

蓝牙设备的基本要求由通用接入配置文件(GAP)[2]定义。 GAP定义了BLE设备是否具有外围设备角色(它可以通过连接连接并在单个链路层连接中作为从属设备)或中心角色(扫描广告客户,启动连接并作为链接中的主控)层连接)。在智能锁系统的情况下,钥匙扣通常作为外围设备,锁定为中央。通用属性配置文件(GATT)定义设备是客户端还是服务器(独立于GAP角色)。在智能锁系统的情况下,密钥卡通常用作服务器,锁作为从密钥卡读取数据的客户端。

GAP通过安全管理器处理BLE连接的安全功能(配对,绑定,设备认证,加密和消息完整性)。对于BLE低于或等于4.1版本,配对机制可以使用LE传统配对;对于BLE高到4.1版本,可以使用LE安全连接。

在LE传统配对中,关键代码分为三个步骤。第一步是发送一个128位临时密钥(TK),最近用于在配对的第二步中生成128位短期密钥(STK)。第三步是使用此STK生成长期密钥(LTK),并发送有助于协商其他安全功能的信息。可以通过三种不同的方法共享STK密钥:

a)正常工作:在这种方法中,两个设备(锁和物理密钥)将TK值建立为零,并生成无保护地发送的STK。这种方法根本不安全,因为攻击者(中间人)可以在配对过程中嗅探数据包,并且可以学习LTK。

b)密钥条目:临时密钥TK只能通过在中央BLE设备的键盘上键入(锁定)来产生外围设备显示屏上显示的号码(6位数密码)。然而,在[3]中报告的被动窃听攻击能够在该方法中学习LTK。此外,在智能锁系统的情况下,该方法可能是昂贵的。低成本物理键不提供显示器,而且也不提供键盘的低成本锁。将密钥简单地存储在物理密钥的代码中的替代方法是不安全的,因为它可以被攻击者复制。

c)带外:可以使用安全带外机制来传送信息,如TK值或设备地址。这对于锁和物理密钥之间的实时通信是不可行的。事实上,很少有商业设备支持带外密钥交换。

在BLE版本4.1或更小的物理键的情况下,最安全的解决方案是物理键已经与锁绑定,以避免配对中可能的攻击。在这种情况下,私钥应该存储在安全的非易失性存储器中,以避免物理攻击。

通过使用椭圆曲线Diffie-Hellman(ECDH)公钥加密技术,在LE安全连接(BLE 4.2版)中,配对的关键交换协议得到了改进,提供了一种通过不安全信道交换密钥的机制。在这种情况下,每个设备存储其自己的ECDH公私密钥对的私钥,以便再次应用安全的非易失性存储器以避免物理攻击。

问题是安全的内存增加了智能锁系统的成本。相反,从内部PUF生成秘密密钥在硬件上不需要额外的成本,而是使用现有的硬件实现适当的处理,如下所述。

B.从PUF生成加密密钥

从PUF构建动态密钥的典型方法是使用助手数据算法(HDAs)[7] - [8]。它们基于名为“帮助数据”的存储公用信息,理想情况下不会泄漏关于在注册步骤期间获得的秘密密钥的信息(只有执行一次,除非键值必须更改)。最流行的秘密密钥生成方案是基于代码偏移的HDA。它以噪声容限的方式从给定输入中提取均匀的随机字符串,也就是说,如果输入变化但仍然接近其初始值,则可以精确地再现字符串。这是[7]中提出的解决方案,其中采用纠错码(ECC)来容忍PUF的不可避免的噪声。基于代码偏移的HDA由以下两个步骤组成:

1.注册或生成:执行一次以建立帮助数据值。辅助数据可以无保护地存储,并且每次需要获取动态密钥时使用。在此步骤中,执行的任务如下:

a)获得响应,R.在SRAM PUFs中,n位响应由n个SRAM单元的启动值形成。

b)从[n,k,d] - 错误校正码(ECC)中选择一个随机码字c,其中d是码的最小距离,n是码字长度,k是码字长度纠正错误后恢复位。

c)通过模2加运算计算辅助数据向量,,并存储。

2.密匙重建:每次需要使用密钥时都执行。可以从c或R恢复密钥。在此步骤中,执行以下任务:

a)从相同的SRAM单元获得响应R#39;用于注册。

b)使用注册阶段的W计算。

c) 输入ECC的解码算法以获得c。如果c和之间的距离等于或小于使用代码的距离,则c被正确地恢复。一旦c被恢复,k位被恢复而没有错误。根据密钥的长度,ECC的参数和SRAM单元的行为,或多或少的SRAM位和代码字是必需的。

关于秘密密钥的产生,相关的品质因素有可靠性(响应R和R#39;应该非常相似)和唯一性(每个SRAM应该产生与其他SRAM不同的独特响应),从而不能从它们获得任何信息。

由给定SRAM的单元产生的响应应理想地相同。然而,有些翻转是不可避免的。测量SRAM响应的可靠性的一种方法是在不同的时间和操作条件下获得由同一个SRAM的相同n个单元产生的m个响应,并且评估所有可能的响应对之间的最大分数汉明距离,,在p个不同SRAM中的所有可能的响应对之间。这定义如下:

当所有响应相同时,可靠性的理想结果发生,因此为零。 最差情况下的位错误或位翻转概率可以通过上面定义的最大内部HD进行估计。 随着最大内部HD的值越高,ECC的复杂度越高,因为这意味着要纠正的错误数量更高[8] - [9]。

测量SRAM响应的唯一性的一种方法是在不同时间和操作条件下获得由不同SRAM的相同n个单元产生的m个响应,并且评估所有可能的响应对之间的平均分数汉明距离。 这定义如下:

(2)

当所有的反应都是完全不同的时候,发生唯一性的理想结果,因此,是0.5(50%)。 这也适用于辅助数据,即从不同SRAM生成的辅助数据,但相同的代码字应该具有50%的是相当独特的。

唯一性要求答复与1和0的数字相同,即响应的汉明权重也应为50%。 这也是需要避免信息泄漏的帮助数据[10]。

3.在BLE CC2541物理按键的本征PUF

有些集成电路供应商提供了片上系统(SoC)。这些芯片包含RF模块,微控制器或中央处理器以及外围设备。本文分析的芯片是德州仪器公司的CC2541。已在CC2540 / 41Mini开发套件的CC2541密钥卡中进行了评估,如图1所示。 [11]

图1 智能锁定场景中的物理钥匙扣。

CC2541包含一个Intel 8051微控制器,可通过存储器仲裁器块访问256 KB的系统可编程闪存和8 KB SRAM。后者是已经被分析以使BLE物理钥匙值得信赖的内在PUF。这也是在商业设备的标准组件中使用PUF的想法,也是其他作者所报道的[12]。

为了分析SRAM启动值的特性,分析了10个BLE芯片,每个SRAM(7,000字节)获取56,000位和测量,并且每个SRAM执行40次测量。

考虑到2048位的响应,在相同SRAM单元提供的响应之间计算总共124,800 HD。所得的分数内HD在0.0269(2.69%)和0.2036(20.36%)之间。因此,根据需要,内部HD的最大值(等式(1)中的)不是0%,而是高得多(20.36%)。

在不同BLE芯片的相同SRAM单元提供的响应之间计算出总共1,152,000个HD。由此产生的分数间距在0.3193(31.93%)和0.5044(50.44%)之间。图2示出了汉明距离和汉明距离之间的分布。由于内部和内部汉明距离被很好地分离,所以可以通过它们的响应来区分SRAM(以及因此的BLE芯片)。

然而,为了降低纠错码的复杂度(更高的内部HD是更多的扩展),注册阶段的第一步是将SRAM单元分类成稳定和不稳定的单元格,如[6]中提出的。在关键重建步骤使用它们之前,细胞的分类允许识别最适当的细胞(稳定细胞)以减少SRAM响应的噪声。细胞分类的一种简单方法是进行几次上电。细胞分为稳定的A细胞,其总是提供相同的起始值和其他不稳定的B细胞。分类为A的单元被用于产生重构密钥的响应。

图2 汉密距离和海内距离分布。

图3的上半部分描述了BLE密钥卡中使用的分类方法。 在20次测量期间总是提供相同启动值的电池的百分比在标称工作条件下为73.59%至85.37%。 图4示出了64times;64 SRAM单元中稳定和不稳定单元的分布的示例。

图3分类方法流程图和Helper数据创建。

图4 64 x 64 SRAM单元中稳定(白色)和不稳定(黑色)单元的示例。

考虑到2048位的响应,但现在由先前分类为稳定单元的单元提供,在同一SRAM单元提供的响应之间计算总共30,400 HD。所得的分数内HD在0(0%)和0.0835(8.35%)之间。由于细胞分类的前一步,可靠性得到显着改善。

在由不同BLE芯片的相同SRAM单元提供的响应之间计算总共288,000个HD。由此产生的分数差距在0.2881(28.81%)至0.4126(41.26%)之间。汉密尔顿距离随细胞分类略小。图5示出了如果细胞被分类,汉明距离和汉明距离的分布。

图5内部和内部汉明距离与细胞分类的分布。

从图中可以看出图2(无分类)或图 5(具有细胞分类),等式(2)中的HD的平均值()根据需要不是50%。其中一个原因是启动值中的1和0的数目不平衡。图6示出了来自64times;64个单元的测量值的启动值。白色的单元格对应于1,单元格为黑色为0。 1的数量要高得多。应该使用去除算法来创建不泄漏关键信息的Helper Data(W)。应用[10]中提出的双输出冯诺依曼或2O-VN去虚拟算法,获得无偏差的可靠的PUF响应。分析所选(A)单元的起始值中的每对位。如果它们不同,则它们被选择用于PUF响应R,否则被消除。

图6 64 x 64 SRAM单元中启动值的示例。

图7示出了在

全文共10067字,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[144578],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。