从物理隔离设备上窃取密钥的方法(附:边信道攻击大全)

一般认为,物理隔离是迄今为止最安全的计算机保密技术。它也是近年来的研究热点。

物理隔离的含义是让设备与互联网,以及其它连接到外网的计算机分开,使黑客无法远程访问设备上的数据。

但在判定物理隔离设备“安全”之前,我们应当三思。

来自以色列特拉维夫大学(Tel Aviv University)和以色列理工学院(Technion) 的一组研究人员发现了从一墙之隔的物理隔离设备上窃取数据的新方法。

去年,他们展示了仅使用一台无线电接收器和皮塔饼(Pita Bread,一种阿拉伯面包)从物理隔离设备上窃取解密密钥的方法。

2014年,该小组设计了一种特制的电子腕带,攻击者能够仅通过摸摸目标电脑的机箱,窃取设备上存储的密钥。

几秒之内窃取解密密钥

如今,研究人员将实验又推进了一步。该小组成员有丹尼尔·詹金(Daniel Genkin)、列夫·帕奇莫夫(Lev Pachmanov)、伊塔玛·皮曼(Itamar Pipman)、艾兰·特罗姆(Eran Tromer),他们最近发现了一种与之前研究类似的方法,能够在几秒之内窃取解密密钥,但这次的攻击目标是物理隔离设备。

过去也曾有过攻击物理隔离设备并窃取密钥的先例,但这是研究人员第一次攻破使用椭圆曲线加密(ECC)的目标设备。

椭圆曲线加密是一种稳定的密钥交换算法,被配备传输层安全协议(TLS)的网站和即时通讯应用广泛使用。

攻击原理

研究人员使用了边信道攻击:这是一种通过分析设备在解密过程中的内存利用率或放射的无线电信号,窃取密钥的攻击方式。

通过测量放出的无线电辐射,这种攻击能够在几秒内窃取一墙之隔的物理隔离设备上的密钥。

GnuPG 是 OpenPGP 的一种常见实现,研究团队就是从运行着该系统的笔记本电脑上窃得密钥的。然而,GnuPG 的开发人员很快推出了针对这种攻击方式的反制措施,这使得 GnuPG 更难被边信道方式攻击。

所需设备

研究人员用到的设备有:
天线放大器软件定义的无线电笔记本

在攻击过程中,研究人员首先向目标笔记本发送了一串特定的密文。

然后,在目标对密文进行解密的过程中,研究人员“针对一个很窄的频段”,记录了笔记本的无线电辐射情况。

然后,他们对信号进行处理,发现了明显的踪迹,这将椭圆加密过程中的运算次数暴露了出来,进而泄露了密钥。

研究人员称,实验中,信号通过了一堵15厘米厚的墙,它经过金属墙筋加固。

“这项实验中使用了联想3000 N200 笔记本,它穿输出的信号相当清晰。这次攻击完全是非入侵性的:我们没有改造目标设备,也没有打开过它的机箱。在观察了大约66次解密过程之后,研究人员成功恢复出密钥。每次解密过程仅持续0.05秒,因此恢复密钥的总耗时大约为3.3秒。”

需要注意的是,研究人员给出的3.3秒仅为恢复密钥所需的时间,我们并不清楚整个攻击的总耗时。

未来挑战

对研究人员而言,未来的挑战有如下几点:使用非选择密文攻击(Non-chosen Ciphertext Attack)、攻击对称加密等其它加密算法、减少恢复密钥所需观察的解密过程数量。

团队将在3月3日召开的 RSA 大会上发布这项研究。

本文转自d1net(转载)

时间: 2024-09-20 08:40:46

从物理隔离设备上窃取密钥的方法(附:边信道攻击大全)的相关文章

jQuery动态添加及删除表单上传元素的方法(附demo源码下载)_jquery

本文实例讲述了jQuery动态添加及删除表单上传元素的方法.分享给大家供大家参考,具体如下: 运行效果截图如下: 点击此处查看在线演示效果. 具体代码如下: <html> <head> <script type="text/javascript" src="jquery-1.7.2.min.js"></script> <script type="text/javascript"> $(d

研究人员利用旁路攻击窃取Android和iOS上的密钥

以色列特拉维夫大学的研究人员利用旁路攻击(PDF),成功从Android和iOS设备上窃取到用于加密比特币钱包.Apple Pay账号和其他高价值资产的密钥. 研究人员攻击的是常用的椭圆曲线数字签名加密算法,利用目标设备旁边的磁探针去测量设备在执行加密操作时泄露的电磁辐射,从中提取出加密重要数据的密钥. 研究人员称他们能完整提取出运行在iOS设备上的OpenSSL和 CoreBitcoin签名密钥,部分提取出Android设备上的 OpenSSL密钥.受影响的iOS系统主要是旧版本-- 7.1.

php限制上传文件类型并保存上传文件的方法

 这篇文章主要介绍了php限制上传文件类型并保存上传文件的方法,涉及php针对上传文件的常用操作技巧,非常具有实用价值,需要的朋友可以参考下     本文实例讲述了php限制上传文件类型并保存上传文件的方法.分享给大家供大家参考.具体如下: 下面的代码演示了php中如何获取用户上传的文件,并限制文件类型的一般图片文件,最后保存到服务器 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 3

在U盘上安装系统的方法

  在U盘上安装系统的方法        Linux也有不同的版本,虽然各自都有各自的优点,但其内核都差不多.给大家推荐这个操作系统是:Ubuntu.首先要下载这个系统安装软件,ISO文件Ubuntu11.10版本 将下载的ISO安装文件进行安装,方法有两个:一是用优盘对优盘安装;另一种方法是将ISO文件刻成光盘,用光盘对U盘进行安装.重点说一下用U盘对U盘进行安装. 要用U盘进行安装,先得把ISO文件安装到U盘中,不能直接把ISO文件拷贝到U盘上,要用UltraISO文件进行安装.网上可以下载

python通过pil为png图片填充上背景颜色的方法

 这篇文章主要介绍了python通过pil为png图片填充上背景颜色的方法,实例分析了Python使用pil模块操作png图片的技巧,非常具有实用价值,需要的朋友可以参考下     本文实例讲述了python通过pil为png图片填充上背景颜色的方法.分享给大家供大家参考.具体分析如下: png图片有些是没有背景颜色,如果希望以单色(比如白色)填充背景,可以使用下面的代码,这段代码将当前目录下的 jb51.net.png图片填充了白色背景. 使用指定的颜色的背景色即可,然后把该图片用alpha通

在Win8系统电脑上添加字体的方法

  在Win8系统电脑上添加字体的方法          首先可以在百度.360搜索等平台搜索"字体下载",然后就可以找到很多字体下载网站.字体安装到电脑其实非常简单,只要将下载的格式为.ttf格式或.fon格式文件拷贝到C盘的的字体文件夹中就行了. 具体位置在:本地磁盘C:windowsfonts (注:系统如果安装在D盘,那就是进入D盘哦) 安装后,我们可以打开WORD或者PS等查看字体是否安装有了新字体,之后选择即可打出个性文字了,让你的文件因字体而变得更出众,请从安装字体开始吧

在Node.js中使用HTTP上传文件的方法

  这篇文章主要介绍了在Node.js中使用HTTP上传文件的方法,作者以windows下的visual studio作为操作node的环境,推荐阅读!需要的朋友可以参考下 开发环境 我们将使用 Visual Studio Express 2013 for Web 作为开发环境, 不过它还不能被用来做 Node.js 开发.为此我们需要安装 Node.js Tools for Visual Studio. 装好后 Visual Studio Express 2013 for Web 就会转变成一

php获取网页上所有链接的方法

本文实例讲述了php取得网页上所有链接的方法.分享给大家供大家参考.具体实现方法如下: 代码如下: <?php function get_all_url($code){ preg_match_all('/<as+href=["|']?([^>"' ]+)["|']?s*[^>]*>([^>]+)</a>/i',$code,$arr); return array('name'=>$arr[2],'url'=>$arr[

JQuery+CSS实现图片上放置按钮的方法

  本文实例讲述了JQuery+CSS实现图片上放置按钮的方法.分享给大家供大家参考.具体分析如下: position:relative日常应用的时候一般是设置给position:absolute;的父层的, 父层position:relative; 子层position:absolute;的话, 就是依照父层的边界进行定位的, 不然position:absolute 会逐层向上寻找设置了position:relative的元素边界, 直到body元素.. 第一种写法(连同CSS一起追加进去)