一、侧信道攻击概述

大家好,我是你们的侧信道讲师。今天咱们聊聊侧信道攻击到底是个什么东西。

你想想看,传统的密码分析学都在研究什么?研究算法本身,研究数学上的漏洞。但现实世界不是纯数学的——芯片在运行的时候,会发热、会耗电、会发出电磁波,甚至运算时间都不一样。这些「物理副作用」,恰恰成了攻击者的突破口。

我入行那会儿,第一次在实验室看到用功耗曲线还原出AES密钥,说实话挺震撼的。明明算法是安全的,但芯片「说漏了嘴」。

1.1 什么是侧信道攻击

侧信道攻击(Side-Channel Attack, SCA),说白了就是:不直接攻击算法本身,而是利用密码设备在执行过程中泄露的物理信息来破解密钥

举个例子:你输入密码时,如果每次按键的时间长短不一样,别人光听敲键盘的声音就能猜出你的密码——这就是声学侧信道。

在嵌入式世界里,芯片执行加密运算时,功耗会随着处理的数据和指令变化。我测量这些功耗波形,就能反推出密钥。嗯,这里要注意:算法再强,物理实现不严谨,一切白搭

核心思想: 攻击的不是「密码学」,而是「密码学的物理实现」。

1.2 侧信道攻击分类

侧信道攻击按泄露渠道分,主要有四大类。我在项目中基本都碰过,各有各的脾气。

时序攻击(Timing Attack)

利用不同输入导致运算时间不同。比如某些密码库的字符串比较函数,一旦发现字符不匹配就立即返回——攻击者可以通过测量响应时间,逐位猜出密钥。

我曾经审计过一个嵌入式固件,里面的AES实现没有做常数时间处理,结果用示波器测一下执行时间,密钥就暴露了。修复方法很简单:让所有分支的执行时间恒定

功耗攻击(Power Analysis Attack)

这是最经典、最实用的侧信道攻击。芯片每执行一条指令,消耗的电流都不一样。采集这些电流波形,就能分析出内部状态。

  • 简单功耗分析(SPA):直接看功耗波形,识别出不同的操作(比如乘法 vs 加法)。
  • 差分功耗分析(DPA):用统计学方法,从大量波形中提取出与密钥相关的微小差异。这是ChipWhisperer最擅长的攻击方式。
我的经验: 刚开始做DPA时,我总以为波形越多越好。其实波形质量比数量重要得多。采样率、触发精度、电源去耦——这些细节才是成败关键。

电磁攻击(EM Attack)

芯片在工作时,周围会产生电磁场。用电磁探头靠近芯片表面,就能「偷听」到内部信号。电磁攻击的好处是:不需要物理接触电源引脚,隔着封装就能采集。

我记得有一次帮客户评估一款物联网模组,外壳是全密封的,没法直接接电流探头。后来用电磁探头贴在芯片封装上方,照样拿到了清晰的功耗轨迹。嗯,电磁攻击在实战中往往比功耗攻击更隐蔽。

声学攻击(Acoustic Attack)

利用芯片或电路板发出的微弱声音信号。比如CPU不同指令会产生不同频率的噪声,或者电容充放电时的「吱吱」声。说实话,声学攻击在现实中比较难落地,因为环境噪声太大。但在实验室条件下,确实有人用麦克风成功破解了RSA密钥。

攻击类型 泄露渠道 采集设备 难度 实战价值
时序攻击 执行时间 示波器/计时器
功耗攻击 电流/电压 示波器+采样电阻
电磁攻击 电磁辐射 电磁探头+示波器 中高
声学攻击 声音/振动 高灵敏度麦克风

1.3 攻击场景与威胁模型

搞清楚了攻击类型,咱们得聊聊「在什么场景下,这些攻击能派上用场」。

常见攻击场景

  1. 智能卡/银行卡:攻击者拿到卡片后,通过功耗分析提取密钥,克隆卡片。
  2. 物联网设备:比如智能门锁、传感器节点,攻击者物理接触设备后,提取固件密钥。
  3. 手机安全芯片:通过电磁探头靠近手机,尝试提取存储在SE(安全元件)中的密钥。
  4. 汽车电子:ECU(发动机控制单元)中的加密通信密钥,可以通过OBD接口或直接探针采集。
注意: 侧信道攻击要求攻击者能够物理接触或近距离接近目标设备。远程侧信道攻击虽然理论上存在,但实际门槛极高。所以,如果你的设备部署在无人值守的野外环境,侧信道风险会显著增加。

威胁模型分析

做安全评估时,我通常会问三个问题:

  • 攻击者能接触到设备多久? 几秒钟还是几天?
  • 攻击者有什么设备? 普通示波器还是专业侧信道工作站?
  • 攻击者的目标是什么? 提取密钥、克隆设备,还是破坏系统?

这三个问题决定了你的防护策略。比如,如果攻击者只有几分钟接触时间,那简单的功耗噪声注入可能就够用了。但如果攻击者能把设备带回实验室慢慢研究,那你需要更高级的防护——比如掩码(Masking)或隐藏(Hiding)技术。

1.4 本章知识体系

下面这张图,是我梳理的侧信道攻击知识框架。你可以把它当作整个课程的地图。

侧信道攻击 时序攻击 功耗攻击 电磁攻击 声学攻击 常数时间 分支均衡 SPA DPA 攻击场景:智能卡 / IoT / 手机 / 汽车

这张图把侧信道攻击的四大分类和典型攻击场景串在了一起。后面的课程,我们会逐一深入每个分支,尤其是功耗攻击——因为它是ChipWhisperer的主战场。

学习建议: 刚开始接触侧信道,别急着上手ChipWhisperer。先把这四大分类的原理搞清楚,尤其是功耗攻击中的SPA和DPA区别。我见过太多人一上来就采集波形,结果连「什么是泄露点」都没搞明白,白白浪费了时间。

好了,这一章就到这里。记住一句话:侧信道攻击不是魔法,而是物理。理解了芯片的物理行为,你就能找到密钥的藏身之处。

专注资料整理