chipwhisperer是用于功耗采集的装备平台,由于其官网介绍都是英文,为便于国内读者使用,作者把平台使用的部分功能做了一个主要介绍
1、软件下载
下载地点:Releases · newaetech/chipwhisperer (github.com)
图中的第一个链接
2、本文使用的是chipwhisperer pro 和cw308目的板,芯片是STM32芯片,装备连接图:
左边另有一根usb线连接到电脑,黑线用于功耗采集,白色的用于数据传输 (不同装备的连接线不同,后面会有各种装备的详细介绍)
3、装备连接测试,首先打开安装好的软件,本文安装在C盘子目录下, 是一个python的jupyter,已经集成好了各种python脚本
点开第一个 ,界面:
打开这个界面下的jupyter/1 - Connecting to Hardware ,会打开连接到硬件的脚本
我们按Run逐行执行
有时候会出现装备无法连接的题目
这意思是无法识别chipwhisperer,那就看看装备管理器 ,如果装备管理器中能显示CW1200这个装备,那错误可能变为
- USBErrorPipe: LIBUSB_ERROR_PIPE [-9]
复制代码 这个错误是驱动没设置好,需要下载一个软件来设置,zadig-2.8.exe,我把这个软件放在云盘上,地点为分享文件:zadig-2.8.exe
链接:https://pan.xunlei.com/s/VO-FqmYtEwLwa5c7OHsv-O2cA1#
提取码:q6zs
点开options-----list all devices则可以看到识别的CW1200,如果是别的装备,好比CWlite,就选cwlite
绿色箭头右边选择winUSB选项,然后点击install wcid driver,等待一会可以看到安装驱动乐成
这样应该可以了,再回到python脚本中执行,应该不会报错
代表乐成连接,此时装备上的CLK模块的灯应该是全亮的,代表连接乐成
这时候可以接着执行脚本,到这一步
这里需要设置好装备的参数,我是安装在C盘,以是全路径为 C:\ChipWhisperer5_64\cw\home\portable\chipwhisperer\hardware\victims\firmware\simpleserial-base记得这个文件夹位置
执行这个下令后可以看到报错和提示
这是说PLATFORM未设置,本文使用的是
- CW308目标板和STM32F3芯片的组合,所以参数设置为
复制代码- CW308_STM32F3,读者所用的芯片和目标板不同,就选择相应的参数
复制代码
通过这个hex文件可以把简朴的串口通信程序烧录到芯片中,就可以开始数据传输测试了
执行到这一行,把STM32这一行取消注释,把地点换为之宿世成的hex文件的地点,如果是别的芯片种类就换别的,执行 (注意:直接复制的地点是'\',python识别的是反斜杠'/'需要替换),执行完可以看到
代表烧录乐成,接下来可以开始测试串口通信程序是否可用
这两句代码代表通过串口向芯片发送16个'0'数据,而串口读到的也是16个'0',代表串口通信没题目 ,这段代码中的'p'代表发送数据标记,这是串口程序的默认设置,如果发送'k'标记,则不会显示数据,只会返回0
固然,你还可以发送别的数据看看串口可否接收和转发
可以看到了发送了16个'ff' ,串口接收到了'r'代表读取下令,然后是16个ff字符,然后是'z'和'00',这部分代表字符串是以回车键竣事。
至此,已经完成chipwhisperer软件的前期工作,连接和串口部分都没有题目,下篇文章就开始介绍如何把AES加密的hex烧录到芯片中,并采集加密功耗数据和生存。这部分我会细致的把每一步都介绍清楚,以便读者可以通过更改代码采集到任意加密算法的功耗数据
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |