网络攻击有新招:通过数据交互的声音提取秘钥

特拉维夫大学的五名研究人员发现,计算机不同组件交换数据产生的声音会泄露密钥。

研究人员利用了线圈噪音(也称电啸声),这是一个术语用来描述电流经过线圈和其它组件时,线圈及其它组件发出的声音。

五名研究人员称,他们测量该声音,并从声波中提取二进制操作。通过了解精确的位模式,他们可以逆向工程计算机操作。

新旁路攻击可能危及RSA-4096加密通讯

如果计算机执行加密数据交换,研究人员声称,他们发现多个旁路攻击提取启动解密交换内容所需的密钥。

“当目标使用RSA算法解密密文(攻击者发送给它)时记录此类噪声,可以在一个小时之内将RSA密钥提取为高级4,096位RSA密钥。研究结果令人惊讶的是, 尽管设备复杂且运行高速,PC级设备上的物理密钥提取旁路攻击是多么的实用和简单。”

研究人员称,此类攻击依赖于廉价的设备,通常是便宜的麦克风以及录音和分析软件。

攻击可通过廉价麦克风甚至口袋面包实现

这类攻击对距离10米远使用抛物线麦克风的任何计算机有效。如果随身携带像下图中巨大的玻璃包装麦克风可能让人放下邪念。研究人员表示,不起眼的方式就可用来实施此类攻击。

有恶意的一方还可以使用智能手机的麦克风和消费级无线电接收器。这种攻击可以距离30厘米远对目标操作实施,因此将手机放在办公电脑或咖啡馆电脑旁边就够了。缺点是,这种便携式攻击需要更长的时间,一般大约为一个小时或超过一个小时。

此外,如果你真的想从你的间谍朋友站出来,研究人员还创造了嵌入在口袋面包也可以提取加密密钥的电子设备,但是通过电磁波的方式。

实际上,此前这五位科学家中有四位今年2月发布过另一份研究报告,之后他们所做的就是从放在另一个房间的电脑或通过墙发出的电磁波提取密钥。

减轻攻击的应对方案

研究人员还提供了一系列应对策略。基于硬件的解决方案将让用户在笔记本电脑上部署法拉第笼或吸音设备。研究人员甚至承认这些在现实世界中非常不切实际。

基于软件的解决方案更容易实施。研究人员称,通过在加密通信中插入随机数据不失为更为合适的方案,以此减轻此类攻击。根据他们的建议,GnuPG项目已经在软件中增加了密文随机化功能。

该研究论文的标题为"PC物理密钥提取攻击",可在美国计算机协会网站查看。

本文转自d1net(转载)

时间: 2024-10-21 12:42:10

网络攻击有新招:通过数据交互的声音提取秘钥的相关文章

JSP数据和JavaScirpt数据交互

JSP数据和JavaScirpt数据交互使用问题的一种解决方法 对于WEB程序来说,前端(JavaScript)和后端(JSP/Servlet)是没法共用数据的,只能是后端程序(JSP)把数据输出,生成页面到前端,这时候生成的页面中的JavaScript代码才有可能得到所谓jsp的数据.同样的,只有把JavaScript里的数据提交给后端JSP代码,JSP程序中才能得到JavaScript的数据. 那如何实现在页面的JavaScript中使用jsp中的数据或是在jsp中使用页面的JavaScri

PHP JSON格式数据交互实例详解

此前我写了不少在PHP网站开发中应用XML进行数据交互的实例,这两天通过PHP解析JSON并进行交互的实例学习和了解了JSON在PHP中的应用,感觉非常方便,在PHP中解析JSON主要用到json_encode和json_decode两个PHP JSON函数,比PHP解析XML方便很多,下面详细介绍下PHP JSON的使用. JSON基础介绍 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. JSON主要有两种结构: "名称/值"对的集合,

在.net中轻松掌握Windows窗体间的数据交互

window|交互|数据 Windows 窗体是用于 Microsoft Windows 应用程序开发的.基于 .NET Framework 的新平台.此框架提供一个有条理的.面向对象的.可扩展的类集,它使您得以开发丰富的 Windows 应用程序.一个Windows窗体就代表了.NET架构里的System.Windows.Forms.Form类的一个实例. 作者在CSDN技术论坛.NET板块下的C#分类经常看到有人问起如何在两个Form间传递数据,访问修改对方窗体里面的值.对于有经验的程序员来

在.net中轻松掌握Windows窗体间的数据交互(一)

window|交互|数据 在.net中轻松掌握Windows窗体间的数据交互(一) zhzuo(秋枫) Windows 窗体是用于 Microsoft Windows 应用程序开发的.基于 .NET Framework 的新平台.此框架提供一个有条理的.面向对象的.可扩展的类集,它使您得以开发丰富的 Windows 应用程序.一个Windows窗体就代表了.NET架构里的System.Windows.Forms.Form类的一个实例. 作者在CSDN技术论坛.NET板块下的C#分类经常看到有人问

在.net中轻松掌握Windows窗体间的数据交互(二)

window|交互|数据 在.net中轻松掌握Windows窗体间的数据交互(二) zhzuo(秋枫) <在.net中轻松掌握Windows窗体间的数据交互(一)>一文中我们讲了使用带参数的构造函数来实现窗体间的数据传递,我认为是用的比较多的一种,接下来让我们看看另外两种实现方法. 二.给窗体添加属性或方法 1.使用Form类的Owner属性 获取或设置拥有此窗体的窗体.若要使某窗体归另一个窗体所有,请为其 Owner 属性分配一个对将成为所有者的窗体的引用.当一个窗体归另一窗体所有时,它便随

在.net中轻松掌握Windows窗体间的数据交互(三)

window|交互|数据 在.net中轻松掌握Windows窗体间的数据交互(三) zhzuo(秋枫) 在第一篇和第二篇文章中我们使用带参数的构造函数.属性以及方法实现了数据的交互,接下来要讲的是使用静态类来完成窗体间的数据交互.这个也是我们经常要用到的一种数据交互方法. 三.使用静态类 下面是定义的一个类: using System; using System.Collections; namespace ZZ { public class AppDatas { private static

C#实现Winform间的数据交互的三种方法

使用.NET编写winform程序,比较常见的一种情况就是如何实现Form间的数据交互,下面就简单总结一下常见的几种数据交互方式: 1.修改子窗体的构造函数: 简单地说就是通过修改子窗体Form的构造函数,如下所示: public Frm_Child(string Para1, ArrayList List1, TextBox textBox1, Form. Frm_Main) { InitializeComponent(); } 上面的例子中,为子窗体Frm_Child添加了4个参数,分别是:

Android使用WebView加载HTML数据交互问题

问题描述 Android使用WebView加载HTML数据交互问题 Android开发在使用WebView加载HTML界面时,如何在Android的JAVA类中获取HTML界面的数据?求大神指教,有代码最好 解决方案 andorid和js交互最流行的方式就是用JSBridge,可以上github看看,这个不是简单的一两句代码就能搞定的,需要一个很好的框架支撑. 解决方案二: android中动态加载webview,webview加载html数据,并且隐藏滚动条android 使用webview加

实现前后端数据交互方法汇总_基础知识

此文章适合前后端协同开发经验不足的新手阅读. HTML赋值 输出到 Element 的 value 或 data-name <input type="hidden" value="<?php echo $user_avatar;?>" /> <div data-value="<?php echo $user_avatar;?>"></div> 渲染结果 <input type=&q