分组密码的侧信道分析
- 侧信道分析简介
- 侧信道分析的半导体物理基础
- 侧信道分析分类
- 时序分析
- 功耗分析
- 电磁分析
- 激光错误注入
- 侧信道分析技术与其他密码分析技术结合
- 未来的一些研究热点
侧信道分析技术简介
- 是对安全芯片的侧信道分析(side channel analysis)的攻击方法,比如通过功耗、电磁辐射、时间、及其它一些可检测到的信息泄露出与密钥相关的信息。
- 如果集成电路未采取保护措施,则可能只需要很小的代价就可以实现破解并获得密钥。
- 根据目前报道的文献资料,如未对侧信道攻击进行防御设计,许多算法都可在短期内(几分钟到数天)被破解。
- 侧信道分析攻击方式成为破解密码芯片的可能的一条“捷径”,越来越受到学术界和工业界的关注。
侧信道攻击方法的局限性
-
(1)目前的攻击仍然主要集中在以智能卡为代表的资源受限的一类密码集成电路。
-
(2) 许多攻击方法依赖算法实现或防御方法的细节,在大部分资源受限、专业技术受限的攻击中是有难度的。
-
(3)集成电路工艺水平的提高使得攻击的难度不断增大。如反向工程(reverse engineering)在深亚微米工艺条件下越来越困难。
侧信道分析的半导体物理基础
- 常见的密码芯片的内部电路都是基于CMOS工艺的。
- 逻辑门电路是其基础元件密码芯片的所有运算都是通过门电路的状态变化来实现的。逻辑门电路状态的变化在物理上就体现为电流的变化,从而消耗功率。
- 电流变化(也即功耗变化)与门电路逻辑状态的相关性构成了侧信道分析技术中功耗分析、电磁分析的物理基础。
- 算法处理中时间与密钥信息(或其他敏感信息)的相关性构成了时间分析的物理基础。
- 密码芯片中各金属层和逻辑门电路在外界条件刺激下(比如瞬时高压、瞬时电磁脉冲、激光、重粒子等)的响应构成错误诱导分析的物理基础。
芯片中功耗P和数据逻辑值的数学模型可表述为
- 由于芯片由百万甚至千万个逻辑门、及各层材料不同的导线构成,同一时刻翻转的逻辑门常常无法统计,f()是非常复杂的函数。
- 功耗分析的重点是通过统计学的方法使得在某计算时刻、芯片某具体部位上与数据data相关的功耗值得以累计,而噪声则被统计平均,因此P与data的相关性增加,从而由P推导出数据data值。
正确密钥与错误密钥
侧信道分析与常规密码分析的结合与相互支持
侧信道分析与常规密码分析有很多共同的方法,例如以下几个方面:
- 1)选择明文输入
- 2)差分分析
- 3)抽样、统计等
寻找它们的共同规律是密码学研究趋势。
例如:
- “侧信道+选择明文”破解DES硬件卡
- “侧信道+选择明文”破解RSA
- 时钟干扰下的power trace
侧信道攻击典型案例
- 2013年12月,以色列特拉维夫大学的计算机安全专家Daniel Genkin 和Eran Tromer等公布了使用三星Note2手机从30厘米远的地方(手机麦克风对准风扇出风口)“听译”出计算机中的PGP程序密钥的方法。
- 2014年8月,以色列特拉维夫大学的计算机安全专家Eran Tromer等公布了一种通过用手触碰笔记本电脑的外壳就能得到这台计算机上存储数据的安全密钥的方法,该团队测试了广泛使用的高安全标准的解密算法,并成功恢复了4096位RSA密钥和3072位ElGamal密钥。
- 2015年8月,来自上海交通大学的YuYu教授展示了通过侧信道攻击方法(能量分析攻击)攻击并克隆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”对应侧信息的差别来降低通过侧信息区分对应数据的可能性,即降低数据的可区分度来抵抗侧信道攻击。
- 通过在密码实现中插入随机伪操作或者增加噪声,能够将有用信息“淹没”在噪声中,从而提高密码实现的实际安全性。
- 总体而言,两种防御对策试用与不同场景,如掩码对策易于在密码算法级进行构造,更易于实现;而隐藏对策通常只能在硬件层进行实现,需要改变硬件实现结构,因而较难实现。此外,两种防御对策可以组合实现,以便最大限度地提高密码实现的实际安全性。
密码芯片的防御
- 硬件或软件实现流程中不应存在与密钥相关的条件分支
- 密码集成电路的存储器应该采用安全存储器
- 消除处理时间与密钥的相关性
- 采取一定的抗功耗分析的措施
- 采用可以屏蔽或减弱电磁辐射的保护层
未来研究方向
- 设计阶段的安全性评估
- 量化分析
- 在其他领域的应用
设计阶段的安全性评估
- 测试手段费时、费力、不系统全面、容易出错
- 使用通用的IC设计EDA(Electronic Design Automation)工具,和算法语言C,数学应用软件matlab等,对芯片进行系统全面的分析安全评估,及时发现软硬件设计的缺陷和漏洞,实现可控性研究。
量化分析
基于侧信道的攻击与防御技术,尚未形成一套定量安全评估方案和标准。
将来根据信息熵量化计算芯片的安全程度。
在其他领域的应用
- 无线通信-采用channel state information 信道状态的随机性生成session key
- 基于bit error rate(BER)的信道估计
- 侧信道与互联网金融
总结
通过这次专题,我对密码系统的安全保障有了崭新的认识,绝不是自己观念中的纯数学机制就能保障的。实际上,密码系统的安全性不仅取决于密码算法本身的数学安全性,更严重依赖于密码实现的物理安全性。传统密码分析主要用于分析密码算法的数学安全性,本质上是一类针对密码算法本身及各密码组件各种数学属性的理论分析方法,包括穷举攻击、差分分析、线性分析、代数分析等方法。与之相反,侧信道攻击主要面向密码实现的物理安全性,采用能量分析攻击、电磁分析攻击、计时攻击等一系列方法对其实现安全性进行分析。
从实际攻击效果上看,侧信道攻击的攻击能力远远强于传统密码分析方法,因而也对密码实现的实际安全性构成了巨大的威胁。以穷举攻击为例,如果1013次/s的速度进行解密运算,破解AES-128需要5.3x1017年(见下表),而针对无保护AES-128的智能卡实现,典型的差分能量攻击方法能够在30秒之内完全恢复其主密钥。
以智能家居、智慧城市为代表的各类物联网、移动互联网应用的快速发展,使得包含密码实现的各种硬件设备逐步成为生活必须的元素,从无线WiFi、银行卡、门禁、手机卡、城际一卡通、共享单车到具备更复杂功能的可穿戴设备、智能手机等移动终端,密码技术已深入到人们日常生活的方方面面。从侧信道攻击的角度来说,这些新的设备及应用首先为其提供了极其丰富的目标设备;其次,随着这些设备的普及和攻击者对它们的控制能力的增强(Fully Control),针对它们的侧信道攻击很可能更加易于实施,因而对这些设备以及依赖于这些设备的应用的实际安全性构成了巨大的威胁和挑战;
最后,侧信道攻击中的核心问题是分类和区分,机器学习、深度学习等一系列新技术必然会为其注入新的活力。值得一提的是,攻击与防御从来都是相克相生、相辅相成,相信针对侧信道攻击更广泛、更深入的研究和探索一定能够为我们数字时代的信息安全提供更加有效的保障。