3、实验环境搭建:硬件平台与软件工具连接配置

做电源分析攻击,说白了就是跟芯片的“心跳”打交道。你得先把它伺候好了,才能抓到想要的东西。这一章我带你把实验环境搭起来,别小看这一步——我在项目里见过太多人,设备连错了折腾一整天,结果发现是探头没校准。

3.1 硬件平台:示波器、电流探头、PC

先说说硬件。你想想看,电源分析攻击的核心是测量芯片工作时的电流波动。所以这三样东西缺一不可:

  • 示波器:我习惯用4通道以上、带宽至少200MHz的型号。为什么?因为电源噪声频率不低,带宽不够你看到的全是假信号。
  • 电流探头:这个很关键。普通探头测电压,电流探头测电流。我个人推荐Tektronix的TCP系列,或者Keysight的N2780系列。嗯,这里要注意——探头带宽要跟示波器匹配,不然高频分量全丢了。
  • PC:一台普通笔记本就行,但建议内存16GB以上。因为采集的数据量不小,我吃过亏,8GB内存跑采集直接卡死。
⚠️ 避坑指南
我曾经用了一根劣质USB线连接示波器和PC,结果数据丢包严重,波形全是毛刺。后来换了屏蔽线,问题立刻解决。别在这种小地方省钱。

3.2 软件工具:ChipWhisperer与Jupyter Notebook

硬件搭好了,软件就是灵魂。ChipWhisperer是目前做电源分析攻击最顺手的工具,没有之一。它集成了采集、分析、攻击全套流程。

安装其实很简单:

pip install chipwhisperer
jupyter notebook

就这么两行。但实际跑起来,我建议你用虚拟环境。为什么?因为ChipWhisperer依赖的库版本比较敏感,跟其他项目混在一起容易冲突。我习惯用conda建一个独立环境:

conda create -n cw_env python=3.8
conda activate cw_env
pip install chipwhisperer jupyter

Jupyter Notebook的好处是交互式调试。你可以一边采集数据,一边画波形图,一边分析。说白了,它就是你的实验笔记本,所有步骤都能记录下来。

💡 个人经验
我第一次用ChipWhisperer时,直接pip安装完就开干,结果报了一堆依赖错误。后来老老实实建虚拟环境,半小时搞定。别嫌麻烦,这一步省不了。

3.3 目标板:NXP LPC55S69连接与配置

LPC55S69是NXP基于Cortex-M33内核的芯片,带TrustZone-M安全扩展。说白了,它本身就有一定的安全防护,所以拿来做电源分析攻击的目标特别合适。

连接步骤我列一下:

  1. 供电:目标板通过USB供电,但注意——不要用电脑USB口直接供电。我建议用独立USB hub,或者外接5V电源。因为电脑USB口噪声太大,会污染电流波形。
  2. 电流探头接入:把电流探头夹在VDD供电线上。这里有个技巧——探头方向要跟电流流向一致,否则测出来是负值。
  3. 触发信号:从目标板引出GPIO作为触发信号。我习惯用PIO0_1这个引脚,因为它默认是空闲高电平,加密运算时拉低,正好做触发。
  4. 串口连接:用USB转串口模块连接目标板的UART,方便调试和下载固件。
🔑 关键配置
在ChipWhisperer中,你需要设置采样率、触发条件、采集点数。我常用的配置是:
采样率:20MS/s
触发条件:下降沿触发
采集点数:10000点(足够覆盖一次AES加密)
预触发:500点(用于观察加密前的基线)

3.4 整体连接框架图

下面这张图是我自己画的,把整个实验环境的关系理清楚了。你照着接就行,别接反了。

实验环境连接框架图 PC Jupyter Notebook ChipWhisperer 示波器 电流探头接入 触发信号采集 LPC55S69 NXP目标板 GPIO触发输出 USB数据线 电流探头+触发线 串口调试线(固件下载+日志) 独立电源(5V) 供电线(电流探头夹在此处) 图例: 物理连接线 数据通信线 电源模块

3.5 验证连接是否正常

接好线之后,别急着开始攻击。先做几个简单的验证:

  • 看波形:在示波器上观察电流波形,应该能看到一个稳定的基线。如果波形上下乱跳,说明接地有问题。
  • 跑一次加密:在目标板上运行AES加密程序,触发信号应该能抓到加密过程的电流波动。我习惯先跑10次,看看波形是否重复。
  • 检查数据:在Jupyter里用ChipWhisperer的API读取一次采集数据,打印出来看看数值范围是否合理。
💡 小技巧
如果波形噪声太大,试试在目标板的VDD和GND之间加一个10μF的电解电容。这是我调试时发现的——它能滤掉大部分电源纹波,让信号干净很多。

好了,环境搭好了。下一节我们就要开始真正的攻击了。记住一句话:环境搭得好,攻击事半功倍。别嫌这一步啰嗦,我当年就是在这上面栽过跟头,后来才明白——基础不牢,地动山摇。


公众号:蓝海资料掘金营,微信deep3321