雷竞技注册
消息

SoC安全是什么意思?仔细看看无线壁虎系列2

2019年7月24日通过马克休斯

是什么让一个安全的SoC实际上…安全吗?在真实世界的示例IC中查看这篇基于硬件的安全特性概述。

是什么让一个安全的SoC实际上…安全吗?在真实世界的示例IC中查看这篇基于硬件的安全特性概述。

安全是工程师在开发新设备,特别是物联网应用时的一个重要考虑因素。在这个过程中,选择安全的组件可以走很长一段路,但安全的设备到底意味着什么呢?

在本文中,我们将深入了解Silicon Labs无线壁虎系列2 EFR32xG21无线SoC。该集成电路有一个安全核心和在硅上实现的无线电与Arm-M33处理器。它被设计用来与Zigbee、线程和蓝牙协议

图片来自Silicon Labs

根据硅实验室,第2系列SOC与其前身不同,重点是为智能家庭,智能城市和工业IOT应用提供功能。

链路预算

EFR32蓝色Gecko SoC可在10 dBm或20 dBm输出中提供,并且根据无线电配置,具有高达-104.5 dBm的灵敏度。这提供了高达124.5 dB的链接预算(915 MHz 2GFSK,0.6 kbps)。请参阅Silicon Labs文档UG147获取额外的配置、范围和链接预算文档。

EFR32内部的安全

在EFR32的硅芯片和ARM Cortex-M33处理器中嵌入了一个硬件安全核心,它包含一个真正的随机数生成器(TRNG)和一个硬件密码加速器。核心具有配置并优化了特定密码任务的硅门,包括:

  • 高级加密标准(AES)
  • 椭圆曲线密码学
  • 安全哈希算法(SHA)
  • A 32位循环冗余校验(CRC32)

安全启动,安全调试和安全调试解锁

通常,当一个糟糕的演员对您的微控制器进行物理访问时,他们可以从读取内存到上传新固件的所有类型的恶意操作,以弄清楚您的私人安全键。Silicon Labs消除了许多攻击向量,其安全引导与信任和安全装载机(RTSL)的根源和安全调试功能。安全启动可防止仅执行正确签名的代码来防止恶意软件注入。

安全引导确保只有正确签名的固件才能在无线壁虎系列2上运行。无论黑客是试图通过空中(OTA)更新,还是物理连接到JTAG引脚,他们能做的最坏的事情就是“砖”设备。

安全调试确保所有来自设备的数据都是完全加密的。这个安全特性确保只有设备的原始程序员才能解锁和解释调试数据。通常,这也意味着设备制造商不能帮助进行故障分析,因此Silicon Labs加入了安全调试解锁功能,允许Silicon Labs继续在设备上工作。客户向硅实验室提供行为不端的设备和安全密钥,然后设备上的数据就可以被解密。

真随机数发生器

任何安全系统的一个关键组件都是随机数生成器。这部分硬件的工作是持续地创建一个无模式且不可预测的1和0字符串。EFR32xG21使用环形振荡器生成随机数。环形振荡器由奇数个逆变器级组成。

示意是三级环形振荡器。使用Guerberj的图片

作为随机数发生器的环形振荡器利用了从振荡器的一个级到下一个级别的略有可变的栅极过渡延迟(抖动)。当第一阶段的输出从逻辑低转换为逻辑高,第二级不会立即更改状态。下一阶段输入的少量电容减慢电压变化。一旦达到阈值电压,第二级变化状态,并且该过程围绕着环继续,直到最后阶段触发第一阶段和整个循环重复。结果是以循环方式围绕环传播的方波。如果在振荡频率的一小部分处异步地对振荡器进行采样,则输出是不可预测和随机的。

在某些情况下,某些糟糕的演员发现一种方法来操纵振铃振荡器,或者它以某种方式开始故障,请持续监控输出,一系列满足的64位和4096位完整性测试nits-800-90.AIS 31

美白过滤器

任何研究过随机数的人都会告诉你,如果有一个真正的随机数生成器,0B0000000000000000的概率和0B1011010010110110的概率一样,0B0000000011111111和0b11111111111111的概率一样。但在这四种选择中,只有一种可以用来加密数据。因此,环形振荡器的输出被输入到一个数据美白滤波器。数据增白使用多档位线性反馈移位寄存器来防止长串的1和0。

数据美白移位寄存器

高级加密标准(AES)

高级加密标准是NIST建立的块密码。这种对称密钥密码用于使用称为Rijndael算法的某些内容对数据进行编码和解码数据(在其中包含的比利时加密人员的姓氏之后)。使用128,192或256位的键在128位块中加密/解密数据。

椭圆曲线加密

椭圆曲线密码学是由尼尔·科布利茨和维克多·米勒独立创建的。它允许从未谋面的双方在窃听者的眼皮底下生成共享的秘密。共享秘密与要加密/解密的数据相结合,以对秘密消息进行编码/解码。

此动画显示Alice和Bob如何生成共享秘密。

Mark Hughes对椭圆形曲线密码的可视化

Alice和Bob同意一点,并将点添加到自身上随机选择的次数(这里是Alice选择α= 7,并且鲍勃选择ß= 5)找到点A&B. Alice和Bob然后交换他们的秘密点值并再次乘以他们的数字来达到共享秘密S.(Alice确实2α= 14并且Bob2ß= 10总操作。)

阅读我的文章椭圆曲线加密要学习更多的知识。

安全哈希算法(SHA)

安全散列算法占据任何长度的输入,并产生固定长度的输出。这对于验证数据的完整性是有用的,因为输入的任何更改将影响输出。然后可以将固件更新与其散列值一起传递给目标微控制器。如果微控制器计算哈希的不同价值,则会知道固件文件存在问题,并且不会将它们写入内存。

32位循环冗余检查(CRC32)

循环冗余检查用于在传输,存储和检索期间确保数据完整性。使用原始数据计算CRC值并再次计算发送或检索的数据。如果两个CRC值不匹配,则数据已损坏。

24位CRC动画如上所述,因为32位太小而无法读取。

关于单个网格开发套件

该套件旨在允许开发人员在各种协议中实现两节点和多节点应用中的安全无线通信,包括蓝牙网,Zigbee和线程

无线壁虎EFR32源于插入开发主板的子板。在编程之后,无线壁虎无线电板可以与主板分开并通过外部电池组供电。

硅实验室无线壁虎开发板。使用的图像礼貌硅实验室

此Dev套件与硅实验室提供的其他人有点不同,因为它还提供了基于以太网的程序/调试通道,除USB调试器之外。这允许用户将远离编程计算机的设备连接,并使用建筑物的现有IT基础架构保持连接到它们。

该功能使得适合于使用无线接口的套件,因为多个设备可以在其无线电范围的限制下无线连接,并且仍然将所有必要的调试信息与编程计算机进行通信。Silicon Labs在波士顿办公室办公室拥有500个以太网链接的无线节点,以便他们在现实世界的条件下测试客户代码。他们可以在几分钟内远程闪烁设备,而不是当他们必须物理触摸每个设备时,它会采取的时间/天。

主板有多个电源输入选项,包括允许连接到计算机,便携式电池组或5V壁充电器的Mini-USB。主板还具有显示器,两个用户输入按钮,两个LED,两个瞬时按钮和温度/湿度传感器。

硅实验室无线壁虎开发套件块图。来自Silicon Labs的图像入门指南点击放大。

实质上,主板允许用户编程EFR32XG21无线SoC。


有无数的原因,您应该在无线项目上实施适当的安全性。制造商越来越多地使工程师更容易采取适当的预防措施,以将不良演员从微处理器中留出来。

这使得工程师可以保护他们的源代码和知识产权,在安装前验证OTA(无线)更新,确保数据传输未被篡改,并安全地与基于互联网的计算机通信。