实际采用PUF时应思考的四大议题
熵码科技 研发处长 吴孟益
近来,智能联网装置(AIOT device) 之安全性日趋讲究。为了让系统安全功能有效运作,保护每一个终端和节点、使其不会暴露在资安风险之中,如何于安全系统中产生独特且根植于芯片上的信任根(root of trust),便成为了重要的课题。除了传统的预先注入密钥法之外,使用天生根密钥PUF(physical unclonable function)是当前最新的进阶方案,可以赋予生产流程与芯片安全更高层级的保护。而关于PUF的各种设计,除了安全性以及可靠性,整体安全模块的设计规划以及量产性也是需要充分考虑的项目。本篇我们将以NeoPUF为例,更详细地来探讨实际采用PUF会遇到的议题。
一、 随机性:
NeoPUF是利用氧化层穿隧效应,在两颗并联晶体管中来实现熵源(entropy),其概念就跟投掷硬币来决定正反面相似,NeoPUF则是以电流加压,看哪一个晶体管先被打穿通电,来定义0和1的输出值。由于每一个bit即是一个有效的静态熵(static entropy),所以NeoPUF能轻易实现任何容量的entropy pool。我们可以利用NIST800-90B对于最小熵的随机性分析 (randomness analysis using min-entropy analysis of 90B)来检视NeoPUF的随机性表现,其值已经来到0.988且完美合乎IID特性[2]。反观其他PUF常有制程相依性的问题,例如会有奇偶位线、奇偶字符线或特别的相依性 (WL/BL Even-Odd or Pattern effect),皆是半导体制程上难以避免的,相对的这些PUF也需要额外的前处理程序(pre-screening)和后处理程序(post-processing)进行辅助修正。
这边即带出一个问题,如何判断此PUF是否是真随机?是否受样本数大小的影响?图一是个HW与密钥长度的相关性,蓝色与红色曲线中间的网状区域表现合理的HW (3sigma的信心度) 分布。以128bit 的key长度为例,有99.7%的随机取样会得到HW37%至63% 的结果。
在这个前提下,从另外一个角度思考会出现一个有趣的问题:请问当您任意取得一个128bits 的PUF 值,我们可以藉由HW的值判断出这个PUF是真随机或者是非随机的PUF吗?答案是很困难判断的,显然的PUF 长度以及整个熵池太小,导致无法获得有效的有效熵的分析,所以很难有效地评估其数列是否真随机或者是假随机。反之若每个芯片的PUF熵池高达2048 bits 以上 (如NeoPUF),则可以轻易透过统计取样手法评估其随机性。(图1)
Figure 1: The Relationship between Hamming Weight (HW) and the Key Length
二、真硬件:
真正的硬件信任根(hardware root of trust),最好是纯硬件生成。如果是需要软件协助的PUF(如SRAM PUF),则会有几个隐忧:
- 测试成本:需要软韧体辅助的PUF通常会花费更多的测试时间。一般质量测试是由JTAG信道进来测试,但此时没办法呼叫软韧体,需要等到有CPU的协助才能进行完整测试,这将会大大地影响生产进度。
- 安全漏洞:安全边界包含了处理器(CPU)、韧体(firmware)和软件(software),而这三者都是安全芯片最难处理的地方,拥有很多侧通道攻击的可能性。
- 设计弹性:纯硬件设计的错误更正电路跟多数投票的组合电路很常见,但是如果在生产过程或者市场应用端的误码率超出预期导致无法修复怎么办?这时候会拉低产品良率以及引发后续退货的问题。
- 硬件生成的NeoPUF,其熵源跟原生密钥都可以在微秒(micro-sec)内准备完成,不需要额外的软件支持,减免测试时间、降低系统的安全性风险,也相对容易设计进芯片之中。
三、安全性
完整的安全性必须要全面考虑在系统上下电期间,对于侵入式、半侵入式与非侵入式攻击的抵御能力。
关机状态(Off-power):NeoPUF 的生成原理是透过电流在氧化栅极穿隧效应来实现熵源,换句话说并没有任何实际的密钥信息储存。而利用精准的能量控制,最终并不会有任何物理痕迹可被观察。当然包含组件数组安排以及相关电路的布局设计都需要有完整的配套才能确保整体机制运作的安全。
上电状态(On-power):整个安全模块在密钥生成的过程中,除了无通电时的保护,更需要加强通电运作/读取PUF值时的电性保护。黑客有可能从data IO、control signal、电源以及功耗分析下手,是故一个完整的高标准安全设计应包含以下项目。
Table 1. The Anti-Tampering Features of NeoPUF under the Conditions of Power-off and Power-on
四、 量产性
「安全功能」不应仅被视作是一种「附加价值」,即使其在芯片部署中所占面积不大(<0.1mm2),其良率表现和生命周期同样值得重视。因此,PUF要能保证在量产过程,必须在预处理过程中大幅度降低误码率,并且其测试流程必须保证各个温度、环境、制程变异的误码率变化都在错误更正电路的能力范围,更需要预测整个组件在产品生命周期中的误码率变化。以PUF为基本的安全设计不应该只是个功能,也必须需要保证良率以及可靠度,如此才算具备进入量产的能力。
总结,力旺电子的NeoFuse与NeoPUF完整的安全性设计已通过第三方安全认证,也能保证客户在量产过程中,能同时享有高良率及安全性设计。我们相信,唯有客户真正量产并使用已经全方面考虑完善的设计,才是对于IP供货商以及SoC制造商的双赢。
五、参考资料及文献来源
[1] PUF Series 1: SRAM PUF is Increasingly Vulnerable
[2] PUF Series 2: NeoPUF, A Reliable and Non-traceable Quantum Tunneling PUF
[3] PUF Series 3: The Quantum Tunneling Mechanism of NeoPUF
[4] PUF Series 4: Why a True Hardware PUF is more Reliable as RooT of Trust
[5] PUF Series 5: PUF based Root of Trust PUFrt for High-Security AI Application
[6] Wu, M. Y., Yang, T. H., Chen, L. C., Lin, C. C., Hu, H. C., Su, F. Y., ... & Yang, E. C. S. (2018, February). “A PUF scheme using competing oxide rupture with bit-error rate approaching zero.” In 2018 IEEE International Solid-State Circuits Conference-(ISSCC) (pp. 130-132).
更多文章,请参考 https://blog.pufsecurity.com/
想了解更多熵码科技的信息,详见官方网站www.pufsecurity.com
|