网络安全问题何时会变成物理安全问题?或者换一种说法,半导体什么时候必须内置篡改检测器?
对于为美国武装部队或任何武装部队建造下一代武器系统的公司来说,答案是明确的。他们必须假设设备将被留下并随后被篡改。内置篡改检测器的半导体为工程师提供了满足国防部要求所需的工具,并广泛用于实现外国军事销售。
但是更广泛的非国防市场呢?有些人认为网络安全就是他们所需要的。毕竟,他们通过围栏、大门、警卫、摄像头、防火墙获得“物理”安全,并利用自己的员工来构建和/或制造他们的系统。这可能就足够了。但人们必须问自己,在什么条件下,任何人(可能是雇员)都可以访问一台设备,他们可以对它做什么来利用设备的功能或提取秘密?
这不可避免地导致公司回答“我的供应链是否得到安全管理?设备或货物是否会“丢失”?设备如何退役?谁为设备提供服务以及如何升级?“在设备的使用寿命内,谁可以访问该设备,他们可以用它做什么?”这个问题的答案将有助于推动组织的决策过程。
以下是需要考虑的关键安全主题:
制造 - 构建 PCB 板, 组装, 和测试.
在任何非易失性设备的编程过程中,公司是否使用散列和签名图像?是否有可审核的日志,其中包含已预配的内容、已预配的板数以及未通过传出测试的板数?这些日志是否经过哈希处理和签名?
调试端口是否被禁用?
运送给客户
组织是否可以核算已发货商品与客户接收的商品?大多数客户会立即说“嘿,短一个!但是,如果客户出于任何原因错过了一个怎么办?该公司将不得不假设它在野外拥有一台设备。
公司及其客户能否验证所运设备的完整性?他们能否验证它在运输过程中没有被篡改?
已部署的设备
设备上是否有防篡改密封?
是否只允许授权技术人员维修设备?
是否允许远程更新?
如果是这样,图像是否经过验证是完整和真实的?
是否有防止回滚的机制?
当设备退役时,它是否归零?无法操作?摧毁?
如果对上述任何一项的答案是否定的,那么组织应该强烈考虑内置防篡改对策的半导体,以便他们可以根据设备在其生命周期中可能出现的风险场景定制其篡改响应。例如,FPGA产品应具有多个防篡改功能,可用于自定义威胁响应(图1)。示例包括:
足够数量的数字篡改标志。
多个模拟窗口电压检测器为每个关键电源(Vdd、Vdd18、Vdda25)提供高跳变点和低跳变点。
数字窗口温度为您提供高低管芯温度。
来自内置温度检测器的原始电压和温度值。
指示系统控制器掉电情况的系统控制器慢时钟。
指示设备复位源的数字总线(至少 5 位)(DEVRST 引脚、篡改宏输入、系统控制器看门狗、安全锁篡改检测器已触发、任何其他复位)。
无花果。1:Microchip PolarFire FPGA和PolarFire SoC FPGA器件的设计与数据安全属性。
篡改检测和响应
在实例化 FPGA 设计的篡改宏时,应该可以使用多种类型的篡改标志。每个都有自己的目的:
旗帜[31:0] | 标志名称 | 描述 |
1 | MESH_ERROR | 活动网格篡改标志。每当活动安全网格观察到实际金属网格输出与预期输出不匹配时,就会断言此标志。这样可以防止侵入性攻击,例如使用聚焦离子束(FIB)技术在较高的金属层之一上使用活性金属网切割和探测迹线。 |
2 | CLOCK_MONITOR_GLITCH | 每当时钟毛刺监视器检测到脉冲宽度违规时断言 |
3 | CLOCK_MONITOR_FREQUENCY | 每当时钟频率监视器观察到 160 MHz 和 2 MHz RC 振荡器之间的频率不匹配时,就会置位。 |
4 | LOW_1P05 | 当 1.05 V 电源 (VDD) 低于系统控制器 1.05 V 检测器的低阈值时置位 |
5 | HIGH_1P8 | 当 1.8 V 电源 (VDD18) 高于系统控制器 1.8 V 检测器的高阈值时置位 |
6 | HIGH_2P5 | 当2.5 V电源(VDD25)高于系统控制器2.5 V检测器的高阈值时置位。 |
7 | 保留 | 保留 |
8 | 分离 | 当系统控制器的内部存储器中发生 2 位错误时断言。这是一种致命的情况,会导致 POR。 |
9 | SCB_BUS_ERROR | 在系统控制器总线上检测到错误时断言。 |
10 | 看门 狗 | 在系统控制器的监视器重置即将触发时断言。 |
11 | LOCK_ERROR | 在持续监控的安全锁段中检测到单位或双位错误时断言。 |
12 | 保留 | 保留 |
13 | 消化 | 在请求的摘要检查失败时断言。 |
14 | INST_BUFFER_ACCESS | 当使用JTAG/SPI接口对系统控制器的共享缓冲区执行读/写访问时,将断言该标志。 |
15 | INST_DEBUG | 执行调试指令时断言。 |
16 | INST_CHECK_DIGESTS | 在请求外部摘要检查时断言。 |
17 | INST_EC_SETUP | 在使用椭圆曲线从属指令时断言。 |
18 | INST_FACTORY_PRIVATE | 在执行工厂JTAG/SPI指令时断言。 |
19 | INST_KEY_VALIDATION | 请求密钥验证协议时断言。 |
20 | INST_MISC | 在执行未分类的 SPI 从属指令时断言。 |
21 | INST_PASSCODE_MATCH | 在尝试匹配密码时断言。 |
22 | INST_PASSCODE_SETUP | 在启动一次性密码协议时断言。 |
23 | INST_PROGRAMMING | 在使用外部编程指令时断言。 |
24 | INST_PUBLIC_INFO | 在发出设备公共信息请求时断言。 |
25 | 保留 | 保留 |
26 | INST_PASSCODE_FAIL | 密码匹配失败时断言。 |
27 | INST_KEY_VALIDATION_FAIL | 在密钥验证失败时断言。 |
28 | INST_UNUSED | 在执行未使用的指令操作码时断言。 |
29 | BITSTREAM_AUTHENTICATION_FAIL | 在比特流身份验证失败时断言。 |
30 | IAP_AUTO_UPDATE | 如果发生 IAP 更新(通过 IAP 系统服务或在设备启动时自动更新),则断言。 |
31 | IAP_AUTO_RECOVERY | 如果发生 IAP 恢复过程,则断言。 |
响应与检测同样重要。一旦公司因在单个事件、一系列事件或其中的任何组合期间未经授权的篡改而决定采取行动,则应根据一段时间内发生的事件量身定制响应。或者组织可以放下锤子并用砖块砌零件。示例包括:
IO 禁用
禁用所有用户 IO。IO 将重置为其 SEU 免疫配置位定义的状态。专用(JTAG、SPI、XCVR等)或未由配置位配置的IO被排除在外。只要断言IO_DISABLE IO 就会被禁用
安全锁定
所有用户锁都设置为其锁定状态。
重置
向系统控制器发送复位信号以启动关断和上电周期
归零
清除并验证任何或所有配置存储元素。内部易失性存储器(如 LSRAM、uSRAM 和系统控制器 RAM)经过清除和验证。归零完成后,可以使用JTAG/SPI从站指令检索归零证书,以确认归零过程是否成功。启用系统控制器挂起模式时,此篡改响应不可用。用户可以选择归零为2种不同的状态:
像新的一样 - 设备恢复到发货前的状态。
不可恢复。即使是公司也无法访问设备的内部。
归零完成后,可以通过专用JTAG/SPI端口导出归零证书,向外部实体保证器件确实已归零。
在当今竞争激烈的环境中,网络安全是不够的。公司制造的设备将落入其竞争对手和不良行为者的手中。半导体产品必须具有各种内置的防篡改功能,组织可以使用这些功能来定制对这些威胁的响应。
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !