理解物理不可克隆函数(PUF)
为什么选择物理不可克隆函数(PUF)?
20年前,数字安全只在银行卡或支付终端等专用电子设备上实现。今天,每个人都在使用以 "https://"标志的安全互联网连接到银行,我们都希望我们用智能手机操作的信息能够得到保护。加密或数字签名等加密技术已经被部署以满足这些要求。因此,越来越多的ASIC、微控制器和SoC都嵌入了硬件加密加速器或软件加密库。
物联网(IoT)的兴起将加快对加密的需求。现在就让我们讨论密码学的普及情况。
因为在现代密码学中算法都是公开和标准化的,使得加密技术的普及成为可能。公开算法的直接后果是密钥成为最有价值的资产,因此它们必须得到强有力的保护。
历史上,第一个被设计用来保护密钥的集成电路(IC)是智能卡。随着人们对数字安全需求的日益增长,加密已经在越来越多的芯片(如通用微控制器)中得到应用,但密钥的保护一直是一个挑战。今天我们可以看到有以下几种方案:
l未未实施特定保护。这种情况不应该发生,但不幸的是,这种情况还是会发生!
l内部逻辑保护,如TrustZone™. 密钥可以防止逻辑攻击(如恶意软件),但不能防止物理攻击。
l电路内逻辑和物理保护。
l密钥存储在位于主处理器外部独立的被称为“安全元件”专用集成电路中。
在集成电路(IC)中,密钥保护方案的选择取决于许多因素:
lIC制造技术的可用性:非易失性存储器如EEPROM或Flash的存在直接影响到密钥的物理保护方式
l市场要求:在集成电路中实现的安全级别取决于其最终用途
lIC设计师专有技术:硬件保护单元的设计仍然是专家的事
l上市时间
l开发成本
l单位成本(额外的芯片面积)
人们可能认为,在大多数情况下,物理保护是没有必要的。但事实已不再是这样,因为与失效分析技术相关的自动反向工程已经使物理攻击变得可负担得起[1]。传统的安全密钥存储的设计方式包括将密钥存储在非易失性存储器(OTP、EEPROM或Flash)中,并实现布局反击措施或混淆,如芯片屏蔽、总线加扰或伪过孔等[2]。
一个更稳健的解决方案依赖于通过主密钥对存储器进行加密,但随后的挑战是对主密钥本身的保护,我们又回到了最初的挑战。以这种方法是有效的并且已通过通用标准之类的认证。典型的如EAL4 +认证(或更高版本AVA_VAN.5),用来对IC的物理攻击抵抗力进行评级。这个评级是基于成功进行攻击的难度来判定,主要基于以下要求:
l专业水平
l时间
l设备成本
一般来说,如果上述标准的综合水平与攻击者所能获得的利益相比足够高,那么该实现就被认为是有效的,尽管事实上,只要有足够的时间、专业知识和预算,仍然有可能检索到密钥。
上面列出的混淆方法的主要缺点是它们同样需要高度的专业知识,而只有少数IC设计人员才能掌握。这些解决方案无法轻易获得,因此在许多情况下并不适用。我们将看到,以IP形式交付的物理不可克隆功能(PUF)即使对非安全专家来说,也能实现最高级别的安全性。
PUF和传统技术之间的一个基本区别是PUF本质上不受逆向工程技术的影响。
PUF解决的另一个挑战是需要在密钥注入IC之前保护它们:传统方法需要在制造过程的某些步骤中注入密钥,这可能发生在晶圆测试(CP)、IC终测(FT)或PCB制造过程中。但无论选择什么步骤,秘钥必须通过测试或制造设备注入到IC中,因此安全的周边环境是必需的。安全地注入密钥是一个像给银行卡加密操作的过程,但对于医疗、工业或消费品来说,这可能是负担不起的。通常情况下,制造工作由位于偏远地区的分包商负责,而且要求分包商提供安全设施是具有挑战性的,因此必须投资访问控制设备、编写程序和定期进行审计。
PUF用例
私钥和秘钥存储
如上所述,密钥存储通常是主要问题。 PUF生成的密钥用于片上非易失性存储器(例如EEPROM,Flash 或OTP)中建立安全库。
图1使用PUF实施高度安全的密钥库
软件IP保护
一些用于医学诊断或生命体征测量的算法是多年积累和研发的结果。因此,它们是极有价值的资产,应该得到强有力的保护。而PUF生成的密钥可以通过加密保护这些软件IP。
图2基于PUF的软件IP保护
设备认证
身份验证是连接设备的首要安全要求之一,即确保设备是真实的。最安全的方法是执行挑战应答认证(challenge-response authenticatio)。该方案将随机数(挑战)发送到要进行身份验证的设备,然后该设备使用其私钥对挑战进行签名。同样,私钥必须受到严格保护。
PUF原理
与传统技术(涉及定制设计)相比,用于实现安全存储且保护等级更高的交钥匙解决方案听起来像是安全圣杯。我们将看到一个健壮且易于集成的PUF现在已成为现实。
PUF依赖于微小的制造差异。制造差异会导致设备不一致。 这个想法是,设计上完全相同的两个(或多个)设备实际上将具有不同的电性能参数。电性能参数的差异是无法预测的,无法通过光学或SEM观察来估计。
图3 PUF晶体管对的原理图和布局图
在上面的示意图中,尽管两个晶体管A和B在设计上是相同的,但在实践中它们始终具有略微不同的物理特征, 如作为阈值电压(VT),漏源电流(IDS)或漏源电阻(RDSON)
等参数是不同的。 设计人员可以选择不同的参数来构建其PUF。 为了为了在本文中保持通用,我们将使用 PA和 PB来表示不同的参数,需要注意的是它可以是任何晶体管参数或它们的组合。
由于晶体管A和B在设计上是相同的,因此无论是通过仿真还是逆向工程都不可能预测每个结构的PA>PB还是PA<PB。 如果我们武断的认为PA> PB生成“ 0”而PA <PB生成“ 1”,则无法猜测该对晶体管在被探测时生成的是“ 0”还是“ 1”。通过将该结构重复N次,我们可以生成N位不可预测的数据流。其实我们刚刚已经设计了一个物理不可克隆函数。
图4多个实例晶体管对创建的不可预测的比特流
PUF挑战
如图所示,实现一系列多个晶体管实例(instance)或任何其他器件并不是什么大事。因此基于此原理构建PUF似乎非常容易。但其实并不是!
如介绍中所述,PUF是基于硅制造中的微小变化。在我们的例子中,这些微小的变化转换成PA > PB或PA < PB。 但是由于制造偏差很小,因此△P=PA-PB之差也是如此。由于△P小,因此必须进行高精度测量。 如果测量不准的话,“ 0”很容易翻转为“ 1”(反之亦然),那么PUF不能用于生成密钥。因此,测量精度是一个重大挑战。
更糟糕的是,△P通常对老化、温度、工艺和电源变化很敏感。△P本质上很小而且是随机分布的,因此最低的△P的单元在不同温度下使用时会有发生翻转的趋势。我们可以将这些单元视为“弱”,而将具有较高△P的单元视为“强”,后者对变化的敏感性较小。像在存储器设计中那样,添加额外的或冗余单元是将弱单元替换为强单元的一种有效途径。
图5 弱单元强单元的特性
虽然实现PUF元素相对简单,但要获得上述参数的稳定性是一个真正的挑战。有几种技术可以建立稳定的PUF:
l 选择合适的参数(VT、IDS、RDSON)以便容易地进行高精度测量;
l 冗余:设计更多的PUF元件来消除“弱”实例。 同样这里需要仔细的估计弱单元的数量。 没有足够的冗余单元会导致良率问题,而增加太多的冗余单元会使PUF的硅面积过大。这两个问题都会增加实际的芯片成本。
l 纠错:假设不稳定单元的百分比足够低,实施适当的纠错机制(例如汉明编码)将会“修复”密钥。但局限性在于你需要对潜在的有缺陷的PUF单元进行相当有力的估算。
除了测量精度之外,使PUF方案具有价值的实际上是纠错或冗余方案的效率成本。
和其他密钥生成过程一样,可靠性是必不可少的,PUF的不可预测性和唯一性也是人们所期望的。不可预测性意味着在给定的芯片上,即使知道PUF对一系列挑战的响应,也无法猜测对下一个挑战的响应。唯一性是给定的PUF设计能够针对每个芯片和相同的挑战生成唯一的响应能力[3]。
INVIA PUF:灵活、可靠、安全的解决方案
架构
我们的PUF基于晶体管失配,并且包括关键的多样化特性。一个实例可提供128个安全位,并且可由经过验证的多样化工艺而生成多个密钥。
图6 INVIA PUF架构
老化韧性
让我们看看已知的老化现象如何影响INVIA PUF技术和其他PUF技术
老化现象 | 描述 | 对 INVIA PUF的影响 | 对其他技术的影响 |
热载流子注入(HCI) | NMOS晶体管的栅极电介质中捕获的载流子会产生Vt和gm漂移 | 在125°C下放置10年,PUF晶体管的Vt和gm变化小于1% | 中等影响-晶体管在低Vds下工作 显著影响-晶体管在高Vds下工作 |
介质层时变击穿 | 氧化层击穿是由电子隧穿电流引起的 | 影响非常有限,因为我们的PUF单元的最大工作电压为〜0.5 Vdd | 显著影响-MOSFET晶体管的工作电压接近最大规定的工作电压 有限影响-正常电压 |
负偏压温度不稳定性 | 由于正电荷在栅极下方的氧化物半导体边界处捕获,Vt和gm发生偏移。当Vg <Vs时会发生这种现象,这在导通的PMOS晶体管中很普遍 | 没有影响: -我们的技术仅基于NMOS晶体管 -PUF晶体管在Vg> Vs下工作 | 基于SRAM的PUF技术对NBTI敏感,因为它们使用Vg<Vs的PMOS晶体管 |
上表显示,我们的PUF具有与生俱来的抗老化特性。为了获得更高的可靠性而增加了冗余。如前所述,我们实现了比所需数量更多的单元来消除了弱单元。我们为PUF建立的模型使我们能够设置正确的区分阈值,以消除不可靠的PUF元素。实验已验证了模型的正确性并进行了高温工作寿命试验(HTOL)。模拟结构允许在老化后进行参数漂移测量,这比Go/No-go测试提供了更高的置信度。
此外,PUF晶体管只有在被有效感知且在极短的时间内才通电。与持续供电的存储阵列PUF结构相比这自然减少了应力等级。
熵
除了消除弱单元之外,还建立辅助数据来增强针对外部参数变化和老化的鲁棒性。这可能导致熵损失。INVIA PUF在17亿比特位上显示出一个极好的熵>0.998
建模
INVIA设计的PUF IP不仅要耐高温、电压和工艺变化而且还能够对其建模,避免了任何形式的黑魔法。因为PUF本质上依赖于非常随机的现象,所以人们可能会通过实验和特性描述来实现PUF单元并凭经验判断其是否工作,然后发布相关IP产品。这可能有用但不能提供最高层次的信任。
拥有PUF模型具有以下明显的优势:
l方案具有可信性。确保密钥的构建具有足够的熵和健壮性是非常基本的要求。
l结果可预测性。将方案移植到其他工艺节点变得更加容易。
lIP可以通过认证
结论
使用具有可靠性、不可预测性和唯一性保证的PUF IP,即使对于不是安全专家的设计人员,也可以为ASIC或SoC提供最高级别的安全性。
参考文献References
[1] e. a. S. Quadir, 《A survey on chip to system reverse engineering》 ACM Journal
on Emerging Technologies in Computing Systems, April 2016.
[2] D. F. M. M. T. Q. S. Huanyu Wang, 《Probing Attacks on Integrated Circuits:
Challenges and Research Opportunities》, IEEE Design & Test , October 2017.
[3] M. Bhargava, 《Reliable, Secure, Efficient Physical Unclonable Functions. Thesis》,01 May 2013. [En ligne]. Available: https://doi.org/10.1184/R1/6721310.v1.

