热度 14| |
本文主要介绍侧信道攻击(SCA)的基本知识,它们对硬件级安全构成的威胁,以及为什么它们可以如此强大。
在电子系统中,人们往往只想到软件层面的安全。
人们通常认为像特洛伊木马、恶意软件和其他形式的黑客攻击是最大的威胁;然而,从EE的角度来看,安全具有全新的意义。
许多最大的安全威胁是基于硬件的,攻击者可以直接从我们安全和加密的软件运行的硬件上窃取信息。
最有力的硬件安全威胁之一是侧信道攻击(SCA)。
在这篇文章中,我们将介绍SCA的概念,它们是如何工作的,以及为什么它们如此强大。
什么是侧信道攻击?
许多形式的安全漏洞,包括硬件和软件,往往集中在直接窃取秘密信息。
另一方面,侧信道攻击是硬件安全攻击的一种分类,主要是通过利用非预期的信息泄漏来间接窃取信息。
顾名思义,SCA不通过直接窃取信息来获得信息。相反,他们通过 "旁门左道 "窃取信息。图1中可以看到SCA的例子。
SCA 之所以如此普遍,是因为电子系统固有地存在大量泄漏(即,侧通道)。
这些侧信道包括:
电源: 所有电子设备都通过电源轨供电。在基于功率的侧信道攻击中,攻击者将在运行期间监控设备的电源轨,以获取电流消耗或电压波动以窃取信息。
电磁 (EM) 辐射:正如法拉第定律所定义的,电流会产生相应的磁场。图 2 所示的基于 EM 的侧信道攻击通过监控设备在运行期间发出的 EM 辐射来窃取信息,从而利用这一事实。
时序攻击:在加密实现中,不同的数学运算可能需要不同的时间来计算,具体取决于输入、键值和运算本身。时序攻击试图利用这些时序变化来窃取信息。
图 2.攻击者将天线直接放置在设备处理器上方的 EM 攻击设置。
为了更好地理解侧信道攻击的工作原理,我们将看一个过于简单但很有帮助的例子。
考虑一个 CMOS 反相器,如图 3 所示。在此示例中,考虑到反相器的输入是表示敏感数据的二进制字符串,例如加密密钥,攻击者的目标是找出这个密钥是什么。
图 3. CMOS 反相器由方波驱动
此外,假设攻击者没有对输入和输出的直接探测权限(在这个例子中,输入和输出将是直接通道)。
这个假设可能是现实的,因为集成电路内的逻辑门和铜导体被器件封装所隐藏,如果不解封就不能直接探测。然而,在这种情况下,攻击者可以接触到器件的电源轨,这是一个现实的假设,因为电源轨通常是全局的,并在PCB层面提供给集成电路(即攻击者可以直接探测PCB上的电源轨)。
通过执行基于功率的侧信道攻击,我们的对手可以通过探测 3.3V 电源轨的电流消耗(或等效地通过探测接地电流)来计算输入串。
查看图 4 中的输入和功率波形,我们可以看到器件电流消耗的确定性模式。当输入中出现从高到低的转换(1 到 0)时,器件的电流消耗会出现尖峰。
通过只查看当前波形,攻击者可以快速确定输入信号一定是10101010。这样,攻击者利用了一个侧信道,成功地窃取了密钥,而无需知道任何其他关于输入、输出或设备正在执行什么操作。
出于各种原因, 侧信道攻击是一种独特的强大攻击形式。
首先,SCA 之所以如此强大,是因为它们难以预防。SCA 利用电子设备的无意且在很大程度上不可避免的行为——诸如设备的功耗和 EM 辐射之类的事情是固有且不可避免的。
充其量,设计师可以掩盖这些侧通道,但他们永远无法完全消除它们,这使得 SCA很难预防。另一个原因是许多 SCA 很难检测到。
由于许多 SCA(如 EM 攻击)是被动且非侵入性的,因此攻击者使用时根本不需要对设备进行物理干预。出于这个原因,从电气角度来看,几乎不可能检测到您的设备受到攻击或之前已被入侵。
最后,由于机器学习(ML)的发展,如今SCA正变得越来越强大。历史上的SCA需要对泄漏信息进行严格的统计分析,而今天的许多侧面通道攻击则利用了ML。
通过使用足够大的泄漏信息数据集训练 ML 模型,攻击者可以开发出强大且易于使用的攻击。
原文:
https://www.allaboutcircuits.com/technical-articles/understanding-side-channel-attack-basics/