模板攻击是一种强大的侧信道攻击。它是“建模类”攻击(profiling attack)的一种,所谓建模类攻击,是指攻击者会在目标设备的同类型设备或者其复制品上创建一个"profile",随后利用这一"profile"快速恢复目标设备的密钥。
相较于CPA,模板攻击对攻击者的要求更高。攻击者需要对目标设备的复制品具有完全的控制权,并且进行大量的前期工作以建立模板,不过,一旦模板建立,攻击者能够以很小的代价完成攻击。在模板足够好的情况下(如建模所用的能量迹数量足够大),攻击者仅需一条能量迹即可恢复密钥。(下文中以“曲线”一词替代“能量迹”)
模板攻击分为以下四步:
利用一个可以完全控制的目标设备的复制品,使用不同的输入(明文和密钥)进行计算并采集曲线,确保采集的曲线足够提供给攻击者每一种密钥猜测对应的信息
创建模板,模板是一种POIs(points of interest)的多元分布
在目标设备上,使用少量的不同明文加密获取相应的曲线(目标设备的密钥不受攻击者控制)
利用模板进行攻击,找到最可能正确的密钥猜测值
本文译自
信号、噪声和统计学开始讨论模板攻击的细节前,理解其涉及的统计学概念是非常重要的。所谓模板就是一种描述曲线上关键点的多元分布。这一部分就是介绍何为多元分布以及它是如何在侧信道这一背景下使用的。
噪声分布电信号是内在的噪声。无论何时我们进行电压测量,我们都不会看到一个完美、恒定的结果。例如,如果我们把万用表接到一个5V的电源上并进行4次测量,得到的结果更可能是类似于(4.95、5.01、5.06、4.98)这样,可以考虑用如下方式对这一电压建模:
\[\boldsymbol{X} = X_{actual}+\boldsymbol{N} \]