对密码硬件安全的简要介绍,主要包含密码硬件安全等级与侧信道攻击种类的介绍和说明。

密码硬件安全等级 FIPS140-2

Level 1

安全级别1提供了最低的安全级别,为密码模块规定了基本安全要求(例如,至少应使用一种批准的算法或批准的安全功能)。 除了生产级组件的基本要求之外,安全级别1加密模块中不需要任何特定的物理安全机制。 安全级别1加密模块的一个示例是个人计算机(PC)加密板。

Level 2

安全级别2通过要求显示篡改证据的功能(包括为了确保对明文加密密钥和关键安全参数的物理访问而必须破解的篡改涂层或密封),改进了安全级别1密码模块的物理安全机制。 模块内的CSP)或盖或门上的防撬锁,以防止未经授权的物理访问。

Level3

安全级别3试图阻止入侵者访问加密模块中包含的CSP。 物理安全机制可包括使用坚固的外壳和篡改检测/响应电路,当打开密码模块的可移动盖板/门时,会将所有纯文本CSP归零。

Level4

在此安全级别上,物理安全机制在加密模块周围提供了完整的保护包,旨在检测并响应所有未经授权的物理访问尝试。安全级别4加密模块对于在不受保护的物理环境中运行非常有用。

侧信道攻击种类

缓存攻击

通过获取对缓存的访问权而获取缓存内的一些敏感信息,例如攻击者获取云端主机物理主机的访问权而获取存储器的访问权;

计时攻击

通过设备运算的用时来推断出所使用的运算操作,或者通过对比运算的时间推定数据位于哪个存储设备,或者利用通信的时间差进行数据窃取

基于功耗监控的旁路攻击

同一设备不同的硬件电路单元的运作功耗也是不一样的,因此一个程序运行时的功耗会随着程序使用哪一种硬件电路单元而变动,据此推断出数据输出位于哪一个硬件单元,进而窃取数据;

电磁攻击

设备运算时会泄漏电磁辐射,经过得当分析的话可解析出这些泄漏的电磁辐射中包含的信息(比如文本、声音、图像等),这种攻击方式除了用于密码学攻击以外也被用于非密码学攻击等窃听行为,如TEMPEST攻击(例如范·埃克窃听、辐射监测);

声学密码分析

通过捕捉设备在运算时泄漏的声学信号捉取信息(与功率分析类似);

差别错误分析

隐密数据在程序运行发生错误并输出错误信息时被发现;

数据残留

可使理应被删除的敏感数据被读取出来(例如冷启动攻击);

软件初始化错误攻击

现在较为少见,Row hammer是该类攻击方式的一个实例,在这种攻击实现中,被禁止访问的存储器位置旁边的存储器空间如果被频繁访问将会有状态保留丢失的风险;

光学方式

即隐密数据被一些视觉光学仪器(如高清晰度相机、高清晰度摄影机等设备)捕捉。
所有的攻击类型都利用了加密/解密系统在进行加密/解密操作时算法逻辑没有被发现缺陷,但是通过物理效应提供了有用的额外信息(这也是称为“旁路”的缘由),而这些物理信息往往包含了密钥、密码、密文等隐密数据。

几种已实现的侧信道攻击

  1. 通过CPU缓存来监视用户在浏览器中进行的快捷键及鼠标操作

对最新型号的英特尔CPU有效,如Core i7;还需运行在支持HTML5的浏览器上。带有恶意JS的网页在受害者电脑上执行后,会收集与之并行的其它进程的信息,有了这个信息,攻击者可以绘制内存对按下按键和鼠标移动的反应情况,进而重塑用户使用情景。

  1. “听译”电子邮件密钥

通过智能手机从运行PGP程序的计算机中“听译”密钥。这项最新的密钥提取攻击技术,能够准确地捕捉计算机CPU解码加密信息时的高频声音,并提取密钥。

  1. 非智能手机+恶意软件+目标PC

从采购供应链下手,将特制小体量难以检测的恶意软件植入电脑,该软件会强制计算机的内存总线成为天线,通过蜂窝频率将数据无线传输到手机上。攻击者将接受和处理信号的软件嵌入在手机的固件基带中,这种软件可以通过社会工程攻击、恶意App或者直接物理接触目标电话来安装。

  1. 用手触碰电脑即可破解密码

电脑CPU运算时造成“地”电势的波动,用手触碰笔记本电脑的外壳,接着再测量释放到皮肤上的电势,然后用复杂的软件进行分析,最终得到计算机正在处理的数据。例如:当加密软件使用密钥解密时,监测这种波动就可得到密钥。

  1. 智能手机上的FM无线电功能来拾取电脑显卡发出的无线电波

  2. 利用KVM入侵物理隔离设备

使用连接到互联网的设备下载恶意软件,然后将其传递给设备的内存。之后透过KVM漏洞传播给使用KVM操控的其它多台设备,实现入侵物理隔离的系统,并感染更敏感的设备。最后恶意程序再经KVM反向将窃取到的数据传递到互联网。

  1. 利用一个面包(皮塔饼)偷取计算机密钥

无屏蔽铜线圈、电容

  1. 通过热量窃取电脑信息

  2. 其它方法

分析设备在解密过程中的内存利用率或放射的无线电信号,窃取密钥。

参考

  1. wiki-密码学侧信道攻击
  2. Kocher, Paul. Timing attacks on implementations of Diffie-Hellman, RSA, DSS, and other systems. Advances in Cryptology—CRYPTO’96. Lecture Notes in Computer Science. 1996, 1109: 104–113 [14 April 2014]. doi:10.1007/3-540-68697-5_9.