安全研究人员已经成功破译了一组最安全的加密算法 4096—bit RSA ,他们用一个麦克风侦听并破解了一些被加密的数据。这次进攻利用了基本的硬件工具,过程相当简单。
Rammstein 是一种声学密码分析方式,由 Daniel Genkin、Adi Shamir(参与发明了 RSA 加密算法)以及 Eran Tromer 共同发明,他们使用了所谓的边信道攻击。边信道是一种非直接和非常规的攻击载体,因而没有受到应有的保护。例如,用户的手机密码阻止了黑客的直接攻击,但是如果黑客可以通过查看屏幕上的油腻污迹而测算出用户密码,这就是一个边信道攻击。同理,安全研究人员就可以通过侦听用户电脑产生的高音调(10 ?150 千赫兹)声音来解密数据。
这可能听起来很疯狂,但利用正确的硬件工具来破解实际上并不难。首先,如果你确切地知道所要侦听的频段,那就可以使用低通和高通滤波器来截获电脑中 CPU 正在解密数据时所发出的声音(实际上,声信号由 CPU 电压调节器产生,它需要在多样和丛发性负载中保持恒定电压)。一旦收到信号后,剩下的时间就是要读懂它。
得益于一个高品质的抛物面麦克风,研究人员在距离 4 米的地方成功提取了解密密钥。更有趣的是,他们还设法将这种攻击实验用在了远离目标的笔记本电脑,而工具则是利用了一部 30 厘米外的智能手机。研究人员对不同的笔记本和台式机的进行了攻击测试,结构都获得了不同程度的成功。
值得的是,相同类型的电子数据也可以从其他地方被获取侦听到,比如墙壁上的电源插座、以太网接线的远远程终端,甚至是仅仅通过触摸计算机的方式(声学密码分析实际上是一门出奇危险的学科)。试想一下,如果你在实验室、咖啡厅或其他公共场所解密一些文件,有人可以只需要将自己手机靠近你的电脑就能够获取你的解密密钥,随后就很有可能进行成功攻击。
利用 HTML5 和 Flash 能够访问麦克风,或许只通过建立一个网站也能够监听到解密密钥。研究人员提出了一个特别邪恶的场景:将麦克风放入一个共存的服务器中,架在数据中心的槽箱位,然后侦听附近数百台客户终端的加密密钥。
若要保持数据的安全性,只有真正两种可行的方案:高度加密和物理安全性,最好可以同时进行。如果攻击者不能靠近用户的数据,那么这些数据会很难被窃取。而对付侦听密码式的攻击,用户要么实现物理安全性,让自己的笔记本电脑放置在隔音盒子里。要么永远不让旁人靠近你的计算机,除非你在解密数据时,随时开启足够强大的噪声,从声源上混淆或者增加被侦听的难度,那么大乐队的经典协奏曲或许就不错。