密码算法侧信道攻击技术发展研究
2023-11-06高博郑喜艳徐锦涛
高博 郑喜艳 徐锦涛
(1.中国人民解放军92957部队 浙江舟山 316000;2.河南省计量科学研究院 河南郑州 450001)
21世纪是信息科技的时代,物联网、云计算、大数据、人工智能、5G通信等信息技术产业蓬勃发展,给人类社会带来了翻天覆地的变化。与此同时,信息产业的安全已经成为了关乎国家军事安全、经济安全、文化安全的重要保障。但恶意软件入侵、黑客攻击、个人隐私泄露等危害信息安全事件的频频发生,对信息产业的安全性构成了极大的威胁,也对信息安全提出了更高的要求。
密码技术作为支撑国家安全的三大核心技术之一,是信息安全的基础和有效保障。以密码算法为核心的密码设备,如微控制器、智能卡、现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)、专用集成电路(Application Specific Integrated Circuit,ASIC)等成为了各种信息和数据安全系统的重要组成部分。密码设备的安全性不仅取决于加密算法理论上的安全性,更加依赖于加密算法在软件、硬件实现上的安全性。在密码算法的物理实现中,无法避免地会向周边环境中泄露与敏感中间值相关的物理信息,如运行时间、能量消耗、电磁辐射、热量、可见光强度等;侧信道攻击[1]便是利用这些泄露信息并结合统计工具来恢复密码设备密钥的方法[1]。侧信道攻击的出现,实现了对密码算法实现方式上的攻击,其攻击成本更低、破坏性更强,对各类密码设备的安全构成了严重的威胁。
1 密码算法侧信道攻击技术概述
1.1 侧信道攻击技术原理
在实际应用场景中,执行密码算法的密码设备并不是一个无懈可击的理想黑盒,而是持续向外部环境泄露多种类型物理信息。电容的充放电,累积呈现为半导体器件的能量消耗,半导体器件消耗能量累积,对外变现为密码设备整体的能量消耗变化。具体来说,对于CMOS器件,电平的变化会引起电容的充放电,产生明显的能量消耗。对于逻辑元件(如触发器、寄存器),电平的翻转(从0到1或从1到0)会产生明显的能量消耗。对于总线,高电平或低电平的变化会引起驱动总线的电容进行充放电,产生明显的能量消耗。因此,密码设备的能量消耗变化对外整体呈现出很强的数据相关性和操作相关性[2]。
攻击者利用统计学工具分析由泄露模型刻画出的假设泄露与测量到的真实泄露间的关系,分而治之地恢复出子密钥;当所有子密钥的破解后便可得到主密钥。具体来说,在密码设备运行时真实泄露信息L与密钥之间的理论关系模型如公式(1)所示。
L=f(H(p,k))+n(1)
式(1)中:p为输入明文;k为子密钥(如密钥的某一字节或比特);H(p,k)为密码算法中依赖于p和k的某个中间运算变换值的假设泄露;f为H(p,k)到真实泄露信息L的映射;n为随机噪声。
侧信道攻击就是依据已知的输入p和测量可知的真实泄露信息L来求解未知子密钥k。侧信道攻击过程示意如图1所示。
图1 侧信道攻击过程示意图
攻击过程可以粗略地分为泄露信息采集和统计分析两个阶段。泄露信息采集阶段主要根据密码芯片泄露信息的类型选择合适的测量工具,捕获攻击所需的泄露信息;统计分析阶段主要利用捕获的泄露信息,结合密码算法的设计细节,使用统计工具恢复子密钥。
1.2 侧信道攻击技术的发展状况
侧信道攻击技术的萌芽最早出现在1965年[3]。英国利用麦克风监测埃及驻伦敦大使馆敲击旋翼密码机时的滴答声,减少了破解密码的工作量,轻松获取了大使馆使用的密码。成体系的、理论性强的侧信道攻击技术出现在1996年[4]。KOCHER P通过测量RSA算法在模幂运算中私钥操作所需的时间量,提出了计时攻击[1]。计时攻击经过多年推广应用[5-7],日渐发展成一种较为成熟的攻击方法。值得注意的是,计时攻击需要利用算法每次操作的定时变化,但在实践中只能测量算法所有操作的总执行时间,这使得计时攻击仅适用于无防护措施的简单场景。
1997年,BONEH D等人[8-9]针对RSA的签名方案,首次实施了故障分析攻击。随后,故障分析攻击的有效性分别在DSA签名方案[10]、椭圆曲线公钥加密方案[11]、DES对称密钥加密方案[12]得到了验证。SKOROBOGATOV S等人[13]改进了故障分析攻击,提出了功能更加强大且实用的差分故障攻击。差分故障攻击一经提出,便得到了广泛应用。1999年,KOCHER P等人[1]结合差分攻击的思想,利用密码设备运行时泄露的能量信息,提出了差分能量攻击。攻击者在不需要知道密码算法具体实现细节的前提下,便能进行攻击,显著降低了侧信道攻击的难度。2004 年,BRIER E 等人[14]将统计学中的皮尔森相关系数引入差分能量攻击中,并提出了相关能量攻击,进一步提高了能量攻击的威力。经过实践验证,相关能量攻击始终是能量分析攻击领域最为有效的方法。2002年,CHARI S等人[15]提出了模板攻击,通过建模、匹配进行侧信道攻击。随后,机器学习、深度学习技术被应用在模板类攻击领域。2011 年,LERMAN L等人[16]使用随机树森林、支持向量机、自组织映射等监督式机器学习算法进行了基于机器学习的模板类攻击。这之后,聚类[17]、回归[18]等无监督式机器学习算法也被应用于模板类攻击。在基于深度学习的模板类攻击领域,多层感知机[19]、卷积神经网络[20]、长短时记忆网络[21]以及改进的网络模型[22-23]都在特定的攻击场景下获得了较好的攻击成果。
1.3 侧信道攻击技术分类
侧信道攻击的方法有许多种。若按照泄露信息的类型,可以分为计时攻击、能量攻击、电磁攻击等;若按照对目标芯片的破坏程度,可以分为非入侵式攻击、半入侵式攻击和入侵式攻击;若按照攻击过程中是否需要建立模板,可以分为模板类攻击和非模板类攻击;其中,模板类攻击又可以分为模板攻击、随机攻击、基于机器学习的攻击等,非模板类攻击又可以分为简单攻击、差分攻击、互信息攻击、碰撞攻击等。
1.4 典型的侧信道攻击方法
在侧信道攻击领,最具有代表性的方法是模板攻击和相关能量攻击。
1.4.1 模板攻击
模板攻击是一种攻击效率高、破坏能力强的攻击方法。在攻击中,假设攻击者拥有与被攻击的目标设备完全相同的密码设备,并且可以控制密钥的设置,即为建模设备。模板攻击的攻击过程大致可分为建模阶段和匹配阶段。在建模阶段,攻击者借助示波器捕获建模设备加密过程中的大量功耗轨迹,以此来精确刻画不同时刻目标设备加密过程中的能量泄露信息,建立起明文密钥对、或运算中间值与多元功耗特征之间的映射模板;在匹配阶段,攻击者利用已经建立起来的映射模板对未知密钥的功耗轨迹进行匹配攻击。
取三组小鼠的肾组织,使用匀浆器进行匀浆,采用相应试剂盒检测肾组织中超氧化物歧化酶(SOD)、丙二醛(MDA)、谷胱甘肽(GSH)的水平。
模板攻击使用了多元正态分布模型,不仅可以刻画功耗轨迹中信号信息,同时还可以对噪声信息进行精确刻画,是当前最强有力的攻击方法。
1.4.2 相关能量攻击
相关能量攻击是非模板攻击中一种常用的攻击方法,其理论基础是密码算法运算中间值的汉明重量与真实功耗轨迹包含的特征点间存在相关性,如图2 所示。当敏感中间值的汉明重量不同时,密码设备泄露功耗轨迹上功耗点的电压值也会存在一定的区别。
图2 不同汉明重量的功耗轨迹
相关能量攻击利用皮尔逊相关系数来衡量假设功耗泄露和真实功耗泄露间的相关性,当猜测密钥正确时,假设功耗泄露与真实功耗泄露相应位置电压幅值的变化相似,相关性最强,相关系数取得最大值。
相关能量攻击利用功耗轨迹的数据依赖性和操作依赖性来攻击密钥,攻击者不需要掌握密码设备的详细知识,实施简单、高效,应用广泛。
2 侧信道攻击技术存在的问题与发展趋势
2.1 现有攻击技术存在的问题
现有的侧信道攻击技术主要存在以下3个方面的不足。
(1)由于受外部环境等干扰因素的影响,示波器采集得到的原始信号信噪比较低,用于攻击的重要信息在时间上分布稀疏。因此,在实施攻击前,必须进行关键特征提取和原始信号的预处理操作。但这些操作需要结合具体场景和具体设备,由攻击者凭借个人经验主观选择。
(3)在实际的攻击场景中,需要从目标设备上采集充足的数据样本用于建模,但目标设备往往不受控,只能借助相似设备进行建模。目标设备与相似设备的差异性,使在相似设备上建立的模型与目标设备无法精准匹配。
2.2 侧信道攻击技术的发展趋势
密码算法侧信道攻击技术自诞生以来,经过了多个阶段的发展,当前主要呈现出3个方向的发展趋势,具体如下。
2.2.1 攻击过程更加自动化
传统的侧信道攻击技术严重依赖于攻击者的个人经验。攻击兴趣点的选择、原始信号中噪声处理、对齐操作都离不开攻击者的主观判断,增加了攻击结果的不确定性。随着攻击技术的不断发展,行业内出现了多种自动化的分析平台,实现了攻击流程中选点、信号预处理多个环节的自动化。
2.2.2 攻击效率更加高效
侧信道攻击实验所需目标设备、示波器、电磁探头等基础设备的性能不断提升,使采集的原始信号信噪比更高;与此同时,攻击所需要的假设泄露模型刻画精度不断提高,攻击方法持续改进,直接提升了攻击效率。
2.2.3 与新技术的融合更加深化
机器学习、深度学习在侧信道攻击中的成功应用,催化了更多新技术与侧信道攻击的融合发展。例如:重采样技术可以用于缓解侧信道攻击中数据不平衡的问题;迁移学习可以解决建模设备与目标设备之间的差异性,实现攻击模型可迁移性。
3 结语
在高度信息化的时代,密码芯片成为了各类电子设备信息安全的重要保障。密码算法侧信道攻击技术的不断发展,不仅能够提升侧信道安全性的检测水平,而且能够增强密码芯片抗侧信道攻击能力,进而推动我国芯片技术与产业的蓬勃发展。