我正在尝试研究以明文形式存储秘密数据时,HSM和TPM的工作方式。他们如何在检索秘密数据时实现物理上的不可能?

我明白了软件的意义,如果您只有输入而没有输出,那么应该不可能通过软件来检索某些东西。

但是,我也想知道硬件(物理)部分。 IC如何实现物理上不可能获取数据的功能?假设数据永久存储在硬盘中。

评论

我曾经使纽扣电池所在的主板上的端子短路,并擦拭了USB键盘驱动程序,因此我可能会研究一些HP白皮书。也设置了硬件密码,因此那天几乎是一场噩梦。

如果数据实际上是无法检索的,那么它就没有任何有意义的意义“存储” :)

我总是将备份存储在/ dev / null中,从那里检索它们是完全不可能的。

@hobbs我以为这是嘲讽,但是...隐含的主张“不可能从外面找回”。芯片本身可以读取数据,使用数据执行某些操作,然后再次丢弃数据,而不会将机密泄漏到外部。

请使用鲜为人知但记录良好的Signetics只写存储芯片。 sigwom.com/?page_id=17

#1 楼

通常的方法是将机密数据保存在易失性静态RAM中(即每位6个晶体管,例如当前的CPU高速缓存,而不是像DRAM中的电容器)。切断电源后,数据将在几微秒内消失。 HSM包含一小块电池,可保持RAM正常运行长达数周。电池还为一系列传感器供电,例如关于温度,光线,覆盖物的物理完整性等。如果出了什么问题,系统会自动关闭电源,并且钥匙也消失了。

因此,诀窍在于,不要将数据“永久地存储在硬盘中”。

一个有趣的结果是,如果HSM长时间不通电,则密钥可能会丢失。提示:将HSM运送到中国的工厂时,将其标记为“网卡”。否则,海关会将其保留一个月,并且密钥将丢失。


以上内容适用于HSM和支付终端。另一方面,智能卡还采用了其他秘诀,这些秘诀没有记载(大多数都是商业机密)。

评论


$ \ begingroup $
如果有任何问题,系统会自动关闭电源,并且钥匙也消失了。 -我不会说“任何东西”,因为那太笼统了,可能会为误解提供依据。毕竟,由HSM API引起的HSM错误配置或故障可能会产生安全问题(HSM不会擦除其密钥)。但是,也许我只是在这里采摘。
$ \ endgroup $
– e-sushi
18-2-7在0:32



$ \ begingroup $
已显示出恢复了长时间存储在SRAM中的数据。另外,您的建议也不建议。未能申报密码设备,特别是在中国这样的地方,可能会导致重大的法律问题。
$ \ endgroup $
–user71659
18-2-7在20:56

$ \ begingroup $
那么冷启动攻击呢?甚至电子行业的人们都知道冻结RAM。
$ \ endgroup $
–法老王
18-2-7在21:44



$ \ begingroup $
“无证件(而且大多数都是商业秘密)”因此,他们的默默无闻不是安全决定,而是业务决定-他们不希望自己的竞争对手知道如何保护自己的数据。
$ \ endgroup $
– corsiKa
18年2月8日在16:02

#2 楼

检索数据并不是物理上不可能的,只是非常困难。可以绕过诸如光传感器之类的物理传感器和芯片上的网格层。

克里斯托弗·塔尔诺夫斯基(Christopher Tarnovsky)使用聚焦离子束(FIB)电子显微镜的工作值得一看。 10年前,他使用IIRC FIB花费了大约50万美元。一个人的租用时间约为\ $ 400 /小时。花费数月的工作才能弄清楚如何破解给定的TPM / HSM,并销毁大量示例设备。这忽略了熟练的半导体工程师进行攻击所花费的时间。这非常非常困难,但并非不可能。

评论


$ \ begingroup $
为了进一步阅读(并非每个人都希望依靠一个youtube视频),以下是有关RealLife™中严重的HSM违规的许多文章之一,这些违规行为无需使用电子显微镜等昂贵的东西即可工作— cryptosense.com/real -hsm违反
$ \ endgroup $
– e-sushi
18-2-7在0:11



$ \ begingroup $
是的,我只想举一个反例,因为这是证明“实际上是不可能的”声明错误所真正需要的全部。
$ \ endgroup $
– SAI Peregrinus
18年2月7日在5:31

#3 楼

解决这个问题的一种方法不是“存储”秘密,而是可以创建一个电路,该电路仅计算物理上随机选择的质询$ c $的伪随机函数$ f_k(c)$密钥$ k $,嵌入在一种介质中,该介质在仅读取密钥的尝试下就崩溃了。这称为PUF,物理不可克隆功能。

典型的应用程序可能连接到AES电路以计算$ \ operatorname {AES} _ {f_k(c)}(m)$。密钥$ k $或派生的AES密钥$ f_k(c)$本身以一种可以可靠读取的方式存储。

当然,细节在于防止有人监视IC中的电信号以恢复使用中的AES密钥!关于如何物理设计PUF,如何物理攻击设计等,有完整的文献,无疑还有一系列商业秘密。

评论


$ \ begingroup $
是否有示例说明如何将AES实施为PUF?我认为物理不可克隆的功能会比它更“随机”(因此,对称加密不太容易使用)。
$ \ endgroup $
–PaŭloEbermann
18年2月6日在22:37

$ \ begingroup $
@PaŭloEbermann您没有将AES实现为PUF,而是将密钥存储实现为PUF。
$ \ endgroup $
–德米特里·格里戈里耶夫(Dmitry Grigoryev)
18年2月7日在12:53

$ \ begingroup $
您是否可以参考任何信息,以解释秘密密钥读取尝试中的故障?我认为PUF本身就是关键。
$ \ endgroup $
–爱因斯坦
18-2-25在20:02

$ \ begingroup $
键$ k $是数学抽象。在PUF模型中,与它进行物理交互的唯一方法是为某些指定的输入$ c $评估$ f_k(c)$。没有办法询问$ k $本身的位。
$ \ endgroup $
–吱吱作响的s骨
18-2-25在20:11

#4 楼

如果保存数据的集成电路不提供读取数据的接口,则获取数据的唯一方法是称为芯片脱盖的逆向工程过程。粗略地说,必须先卸下IC盒,然后在感兴趣的钻头所在的位置进行激光钻孔,然后用探头或电子显微镜将其读出。

适用于现代芯片:


它具有破坏性
,它需要昂贵的设备和专业知识
单个芯片成功的机会很低。如果您有一堆相同的芯片,则可以确信会获得数据。

有多种无损技术,通常称为毛刺,当存在读取敏感数据的接口时,这些技术会绕过简单的数据保护机制。 ,但被“保护”位锁定。毋庸置疑,HSM根本就没有访问敏感数据的接口,因此从设计上就不受这种方法的影响。

评论


$ \ begingroup $
一种与此相关的方法是“电源轨分析”(有各种名称),并且是非破坏性的。已知某些芯片架构会在电源引脚上表现出微小的波动,这些波动与芯片内传递的数据一致,基本上是“串扰”。在某些情况下,您可以通过足够敏感的过滤来从电源轨上被动地读取数据。加密硬件设计师现在对此很明智,并且正在积极构建没有此漏洞的设备。
$ \ endgroup $
–姓氏
18-2-8在17:07



#5 楼

为了给出更高层次的答案,HSM似乎可以通过组合尽可能多的物理安全层来起作用。没有什么是不可能收回的;大多数情况下这样做太困难和昂贵了。

如果您的传感器几乎可以考虑到所有可考虑的物理攻击,并且在触发时几乎立即擦除所有敏感数据,那么您将拥有一个相当安全的系统。