一、背景
由于涉及多个系统层的攻击难以预测和建模,因此安全漏洞通常是由组件和层之间的意外交互造成的。如果算法设计者、软件开发人员和硬件工程师不合作,不了解彼此的工作,在系统的一个层中进行的安全性假设可能与其他层的实际属性不匹配。许多技术已被设计用于单独测试密码算法。例如,差分密码分析和线性密码分析可以利用密码输入和输出中极小的统计特征。现代密码被设计来抵抗这种攻击。然而,这种分析只适用于系统架构的一部分,即算法的数学结构。
对密码分析的抵制不足以在实践中创建安全的密码系统。即使是使用强大算法和协议的正确实现也不一定是安全的,因为漏洞可能来自实现的其他层。
差分功率分析(DPA)、简单功率分析(SPA)以及一些相关技术。这些攻击通过测量目标设备(或其他侧信道)的功率消耗来提取密钥。这些方法对于所有主要算法的实现都是有效的。
这些攻击已经针对数百种设备实施,包括ASIC、FPGA和软件。目标范围从小型的单一用途芯片到复杂的设备,这些设备的功率测量会产生噪音