智能头条

蓝牙安全性如何构建下一代安全密钥管理

很少有人能抗拒扣人心弦的海盗故事,其中充满了冒险、X标记地点(X marks the spot),以及寻找遗失已久的钥匙,打开大量宝藏箱的危险旅程。虽然海盗的故事早已被浪漫化,但它们今天仍然盛行,而且在网络上也越来越流行!

蓝牙安全性简介

2021年蓝牙市场更新报告中(通过下方链接参考详细内容)指出,蓝牙低功耗(Bluetooth Low Energy)正在工业、商业、家庭和无线医疗物联网等领域显著增长,并迅速成为这些数字海盗最喜欢的攻击目标。蓝牙信标在医疗行业中被用于追踪高价值资产,如血糖仪等。黑客入侵这些设备后,网络犯罪分子就可以控制传感器并读取患者数据。然后他们可以将读数中继到楼宇管理系统。手机也已经成为像门锁和门禁系统等多种设备的通用数字钥匙。入侵这些系统使网络海盗能够获取关键的数字信息或实物资产。黑客可以通过访问蓝牙协议中用来保护通信链路的安全密钥来入侵这些系统。

蓝牙市场报告:

https://www.bluetooth.com/bluetooth-resources/2021-bmu/

蓝牙安全与密钥

安全密钥是一长串字符和数字,它们在安全算法中被用来加密和解密信息。蓝牙设备在初始配对过程中生成并交换多个安全密钥。设备这样做是为了相互识别,并为将来通信创建一个安全的链接。这些密钥包括若干短暂的或临时的密钥,如设备的公钥、椭圆曲线密钥算法(Elliptic Curve Diffie-Hellman, ECDH)、消息验证码(MAC)以及更多的密钥。但是,这些密钥仅在配对过程中相关,并且可以在配对过程完成后将其丢弃。

配对过程还生成持久密钥,如用于解析私有地址的身份解析密钥(Identity Resolving Keys, IRK),和用于创建会话密钥并在链路层加密消息的长期密钥(Long-Term Keys, LTK)。这些持久性密钥需要安全存储,蓝牙规范将密钥的存储留给蓝牙低功耗设备制造商自行决定。像Silicon Labs(亦称“芯科科技”)这样的半导体公司可以通过创新技术帮助解决安全密钥存储的这一需求。

在过去,海盗会把他们的财宝埋在遥远的地方,把钥匙藏在他们的胡须里。由于胡须空间不足这一问题日趋明显,物理存储密钥不再是一个可行的选择。在半导体领域,安全密钥存储在密钥存储和管理设备中。然而,这些存储就像一个保险库,需要密钥来确保蓝牙密钥的安全存储。这让我们回到原点并留给我们一个问题——我们如何存储密钥?

解决方案是安全的密钥管理

Silicon Labs的安全引擎(Secure Engine, SE)是一个安全子系统,支持安全密钥管理,如长期密钥(Long-Term Key, LTK)和身份解析密钥(IRK)。安全引擎使用物理不可克隆功能(Physically Unclonable Function, PUF)的概念来克服安全存储密钥的挑战。

物理不可克隆功能(PUF)

首先,让我们了解什么是PUF。PUF是嵌入在集成电路(IC)中的一种物理结构,它利用深亚微米(deep-submicron)半导体制造中固有的工艺变化,从而产生独特的微米级或纳米级特性,因此很难被克隆。静态随机存取存储器(SRAM)PUF是最著名的、基于可用标准组件的PUF。一个SRAM存储单元由两个交叉耦合的反相器(Inverter)和两个用于外部连接的附加晶体管组成,因此总共6个晶体管。当向每个存储单元施加电压时,其初始化方式将是一个独特的1或0优先态,它们是由构成两个交叉耦合反相器的晶体管的阈值电压来决定的。

如果一个SRAM存储阵列足够大(通常是1000到2000个单元),那么1和0的随机模式将代表该芯片在统计学上保证的“唯一”指纹识别。然后使用这个独特的数字指纹创建一个称为密钥加密密钥(Key Encryption Key, KEK)的对称根密钥,该密钥对需要安全存储的密钥进行加密。因为设备创建了自己的KEK,所以消除了KEK被恶意攻击的机会。

安全密钥管理示意图

Silicon Labs如何实现下一代安全密钥存储

1. 没有可提取的密钥加密密钥!

Silicon Labs的EFR32BG21器件利用最先进的安全引擎来实现PUF和篡改检测功能。蓝牙设备主要关注LTK和IRK的安全存储。在Secure Vault安全技术的高层级保护中,PUF生成的密钥加密密钥被发送到对称的先进加密标准(Advanced Encryption Standard, AES)加密算法,其传送途径是安全引擎都无法读取的秘密总线。然后,使用AES算法用标准化的密钥封装算法对LTK和IRK进行加密,然后将其发送到片上闪存、片上存储器或片外存储器,以“封装”好的格式进行安全存储。每次芯片通电时,PUF数字指纹和KEK都会重新生成,并暂时存储在安全引擎RAM中。这意味着当芯片断电时,KEK永远不会留在永久性存储器中,因此不需要对KEK进行安全存储。

探索相关解决方案:

EFR32BG21:
https://cn.silabs.com/wireless/bluetooth/efr32bg21-series-2-socs

Secure Vault:
https://www.silabs.com/security/secure-vault

2. 篡改检测

篡改检测在安全套件中经常被忽视,因为安全套件的关注点通常是防止远程攻击。然而,篡改检测是一种相对便宜且简单的方法,可以避免本地攻击载体从闪存中读取您设备的密钥。例如,如果一个未经授权的实体试图通过物理攻击的方式获取密钥,则可以设置篡改检测以执行以下操作之一:

中断正在运行的代码

复位芯片,或

永久性地自毁芯片。

如果选择最后一个选项,结果将删除PUF重构数据(数字指纹),这意味着永远无法重新生成密钥加密密钥,因此无法解密任何已经封装的密钥。加密的密钥将永远保持加密状态。这是一个有效的内核级选项,以确保任何未经授权的实体都无法访问蓝牙密钥。通过此项扩展,蓝牙设备得到了最大程度的保护。

3. 故障注入(Fault Injection)和侧信道保护(Side Channel Protection)

Silicon Labs的Secure Vault的高层级部件都具有多样化的缓解手段,可针对非侵入性差分功率分析(Differential Power Analysis, DPA)和电磁分析(Electromagnetic Analysis, EMA)的多种变化,它利用检测和测量加密操作过程中芯片的杂散能量发射和复杂的统计分析来推导私钥或密钥。我们的加密算法还针对差分故障分析(Differential Fault Analysis, DFA)和相关功率分析(Correlation Power Analysis, CPA)提供了经验证过的保护。这些类型的攻击在过去并不常见,因为它们需要大量的专业知识和资金来执行。然而,目前在公开市场上已有一些工具出现,从而可以以合理的价格和简单易行的方式很好地完成这些攻击。

结论

蓝牙技术将会继续发展,而且随着它的发展,对安全性的要求也会不断提高。把钥匙藏在海盗的箱子里或者贴在便利贴上不再是可行的选择。芯片中的PUF封装密钥和篡改检测等先进安全功能在医疗、高价值资产追踪、访问控制等敏感行业中是必不可少的,这些行业对数据隐私和设备身份识别有着苛刻的要求。

Silicon Labs在满足这些安全要求方面处于领先地位。我们的蓝牙器件是第一个获得PSA 3级认证的无线系统级芯片(SoC),这证明了我们的差异化能力。Silicon Labs的蓝牙器件还通过了Riscure安全认证服务公司全面的、独立的漏洞渗透测试,这进一步证明了我们的安全特性已名列业界前茅。蓝牙密钥的安全存储由设备制造商在蓝牙规范中自行决定。通过我们的安全措施,厂商可以确保其蓝牙设备是尽可能安全的。

展开全文
打开智能头条APP 查看更多精彩资讯