浅谈侧信道攻击 - 什么是数字时代的隔空取“数”?

安全 应用安全
什么才是真正的侧信道攻击?它对实际应用中的密码系统的安全性有什么威胁?如何通过有效的防御手段来抵抗这些侧信道攻击?本文将通过对侧信道攻击的原理及所采用的技术的介绍来解答上述问题。

 2016年以来,以解决“最后一公里”为出发点的共享单车在国内如雨后春笋般快速发展起来,而截止2016年底,全国共享单车用户量已达到1880万,预计2017年底将超过5000万。共享单车为人们的日常出行带来巨大便利的同时,也出现了一些不容忽视的问题。2017年5月13日,一段昆明小学生“听声音”徒手解开ofo共享单车密码锁的视频流传于网络,视频中该小学生通过不断扭动密码轮盘来尝试解锁,仅用17秒便成功解开了车锁。该情景不禁让人联想起谍战电影中“听音解锁”的密码破解高手,而通过“声音”破解密码最经典的案例莫过于二战中盟军破解Enigma密码机。实际上,虽然上述密码破解方法可以看作一类特殊的“侧信道攻击”,但真正的侧信道攻击远不止这些,其威力也更加强大。那么,什么才是真正的侧信道攻击?它对实际应用中的密码系统的安全性有什么威胁?如何通过有效的防御手段来抵抗这些侧信道攻击?本文将通过对侧信道攻击的原理及所采用的技术的介绍来解答上述问题。

针对手机的侧信道攻击(电磁分析攻击)

侧信道攻击的基本原理

通常,密码算法(或密码方案)在实际应用中都会实现在具体的硬件平台上,形成密码模块、密码芯片、密码系统等,从而完成所需的密码功能,用于满足特定的信息安全需求。这些具备密码功能的模块(芯片或系统)统称为密码实现,它们均实现在特定的数字电路中,而数字电路单个基本单元只有0和1两种状态。我们以装不同水量的玻璃杯发声不同为例说明如何利用数字电路的状态特征进行密码破解。如下左图中ABCD四个杯子中水量不同,仅通过区分敲击四个杯子所发出声音的不同即可轻易分辨出ABCD中的单个杯子。因此,可以用右图中“空杯”和“满杯”来分别模拟数字电路中的“0”和“1”,数字电路执行操作的过程可以看作杯子中水不断清空和装满的过程。因而显然,0à1和1à0两种状态变换需要花更多的“时间”和“能量”,也会产生其他潜在“影响”。换句话说,如果我们能够有效检测和测量这种“时间”和“能量”的变化,就能够推断出所执行的操作(或数据),即推断出密码实现运行过程中的操作(或数据),从而能够进行密码破解。这类通过密码实现运行过程中的“时间”、“能量”或其他类似信息进行密码分析的方法称为侧信道攻击。

数字电路状态特征与侧信息的对应关系

侧信道攻击(Side Channel Attack)又称侧信道密码分析,由美国密码学家P.C. Kocher于上世纪九十年代末期提出,是一种针对密码实现(包括密码芯片、密码模块、密码系统等)的物理攻击方法。这种攻击方法的本质上是利用密码实现在执行密码相关操作的过程中产生的侧信息来恢复出密码实现中所使用的密钥。其中,这里的侧信息(Side Channel Information)指除了攻击者通过除主通信信道以外的途径获取到的关于密码实现运行状态相关的信息,典型的侧信息包括密码实现运行过程中的能量消耗、电磁辐射、运行时间等信息。

侧信息泄漏模型

传统密码分析vs侧信道攻击

实际上,密码系统的安全性不仅取决于密码算法本身的数学安全性,更严重依赖于密码实现的物理安全性。传统密码分析主要用于分析密码算法的数学安全性,本质上是一类针对密码算法本身及各密码组件各种数学属性的理论分析方法,包括穷举攻击、差分分析、线性分析、代数分析等方法。与之相反,侧信道攻击主要面向密码实现的物理安全性,采用能量分析攻击、电磁分析攻击、计时攻击等一系列方法对其实现安全性进行分析。

从实际攻击效果上看,侧信道攻击的攻击能力远远强于传统密码分析方法,因而也对密码实现的实际安全性构成了巨大的威胁。以穷举攻击为例,如果10^13次/s的速度进行解密运算,破解AES-128需要5.3x10^17年(见下表),而针对无保护AES-128的智能卡实现,典型的差分能量攻击方法能够在30秒之内完全恢复其主密钥。

针对不同密码算法的穷举攻击复杂度

侧信道攻击典型案例

2013年12月,以色列特拉维夫大学的计算机安全专家Daniel Genkin 和Eran Tromer等公布了使用三星Note2手机从30厘米远的地方(手机麦克风对准风扇出风口)“听译”出计算机中的PGP程序密钥的方法。

2014年8月,以色列特拉维夫大学的计算机安全专家Eran Tromer等公布了一种通过用手触碰笔记本电脑的外壳就能得到这台计算机上存储数据的安全密钥的方法,该团队测试了广泛使用的高安全标准的解密算法,并成功恢复了4096位RSA密钥和3072位ElGamal密钥。

2015年8月,来自上海交通大学的Yu Yu教授展示了通过侧信道攻击方法(能量分析攻击)攻击并克隆3G/4G手机卡的攻击方法。该研究团队成功分析了八个从各种运营商和制造商获得的3G/4G(UMTS / LTE) SIM卡。

2016年2月,来自以色列特拉维夫大学(Tel Aviv University)和以色列理工学院(Technion)的一组研究人员发现了从一墙之隔的物理隔离设备上窃取数据的新方法。该方法仅用3.3秒即可恢复出15厘米厚墙体(金属墙筋加固)另一侧的笔记本上运行的GnuPG(OpenPGP的一种实现)的密钥。

2016年10月,来自以色列特拉维夫大学(Tel Aviv University)研究团队采用电磁攻击分析了苹果iOS系统中多种常用密码库的安全性,发现了多个可被侧信道攻击方法利用的实现弱点,并成功恢复了OpenSSL、CommonCrypto库中ECDSA实现的密钥。

2017年6月24日,Fox-IT安全专家证实,通过利用 ARM Cortex 处理器与 AHB 总线之间的漏洞,可将其能量消耗与加密过程相互关联,进而可以提取加密密钥,可利用廉价设备(224美元)借助侧信道攻击方法攻击一米(3.3 英尺)内的无线系统,数十秒内即可窃取AES-256加密密钥。

2017年7月28日在美国拉斯维加斯举行的Black Hat 2017安全会议上,阿里巴巴安全部门的研究人员演示了用声音和超声波攻击智能设备的“黑技术”(本质上属于一种结合了侧信道攻击的故障攻击方法),包括大疆无人机、iPhone 7、三星 Galaxy S7、VR显示器等产品纷纷中招。

针对侧信道攻击的防御对策

侧信道攻击本质是利用密码实现运行过程中产生的依赖于密钥的侧信息来实施密钥恢复攻击的,因此防御对策的核心就是减弱甚至消除这种侧信息与密钥之间的直接依赖性。实际上,常见防御对策可以分为掩码对策和隐藏对策两种。具体地,掩码对策借助秘密共享和多方安全计算,通过引入随机数将密钥分解为多个分组来消除侧信息与密钥的依赖性来增强抵抗侧信道攻击的能力;隐藏对策采用平均化“0”和“1”对应侧信息的差别来降低通过侧信息区分对应数据的可能性,即降低数据的可区分度来抵抗侧信道攻击。此外,通过在密码实现中插入随机伪操作或者增加噪声,能够将有用信息“淹没”在噪声中,从而提高密码实现的实际安全性。

总体而言,两种防御对策试用与不同场景,如掩码对策易于在密码算法级进行构造,更易于实现;而隐藏对策通常只能在硬件层进行实现,需要改变硬件实现结构,因而较难实现。此外,两种防御对策可以组合实现,以便最大限度地提高密码实现的实际安全性。

侧信道攻击展望

[[200963]]

以智能家居、智慧城市为代表的各类物联网、移动互联网应用的快速发展,使得包含密码实现的各种硬件设备逐步从“王谢堂前燕”进入“寻常百姓家”,从无线WiFi、银行卡、门禁、手机卡、城际一卡通、共享单车到具备更复杂功能的可穿戴设备、智能手机等移动终端,密码技术已深入到人们日常生活的方方面面。从侧信道攻击的角度来说,这些新的设备及应用首先为其提供了极其丰富的目标设备;其次,随着这些设备的普及和攻击者对它们的控制能力的增强(Fully Control),针对它们的侧信道攻击很可能更加易于实施,因而对这些设备以及依赖于这些设备的应用的实际安全性构成了巨大的威胁和挑战;最后,侧信道攻击中的核心问题是分类和区分,机器学习、深度学习等一系列新技术必然会为其注入新的活力。值得一提的是,攻击与防御从来都是相克相生、相辅相成,相信针对侧信道攻击更广泛、更深入的研究和探索一定能够为我们数字时代的信息安全提供更加有效的保障。

【本文为51CTO专栏作者“中国保密协会科学技术分会”原创稿件,转载请联系原作者】

戳这里,看该作者更多好文

责任编辑:武晓燕 来源: 51CTO专栏
相关推荐

2020-07-21 07:00:00

侧信道攻击黑客网络攻击

2017-09-05 15:57:47

2021-03-09 10:12:39

侧信道攻击漏洞网络攻击

2017-06-02 08:27:54

2022-03-10 12:16:14

侧信道内存攻击网络攻击

2021-01-11 10:28:10

漏洞侧信道攻击

2022-06-19 21:59:11

频率侧信道攻击加密密钥

2023-12-12 11:00:50

2022-05-19 11:29:14

计时攻击SpringSecurity

2020-10-14 07:59:05

什么是DDOS攻击

2020-03-10 14:21:34

漏洞侧信道攻击

2024-04-29 09:56:07

2023-10-28 15:30:57

2022-05-19 13:38:58

云网络云计算网络

2022-04-11 18:21:13

云网络网络

2021-05-05 20:15:25

侧信道攻击加密漏洞

2012-11-30 14:54:48

2017-01-16 09:20:32

2013-11-12 10:50:02

大数据时代大数据
点赞
收藏

51CTO技术栈公众号