目次
- 購入したらすること
- ChipWhisperer Install
- チュートリアルを無事に動かすために
購入したらすること
Mouserで購入後1週間程度で届きました。
購入時は大きなダンボールに入ってくるので、それを開封し、
- TargetBoard(自分の場合赤い基盤のもの、取り外し可能なTargetBoardが付いています。以降は例としてSTM32F3を使用していきます。)
- Capture Board(黒い基盤のもの)
- マイクロUSBコード
- ボード間接続用のコード(灰色,金色の端子が付いたもの1本ずつ)
を用意し、以下のように接続します。
灰色のコードを差し込むときは少し捻る必要があるので注意してください。
ChipWhisperer Install
次に、解析に必要なツールをWindows上でインストールしていきます。
基本的にhttps://chipwhisperer.readthedocs.io/en/latest/windows-install.html を参照して進めます。
- https://github.com/newaetech/chipwhisperer/releases にアクセスし、最新のインストーラ―をダウンロードします。(2024年10月時点ではChipwhisperer.v5.7.0.Setup.64-bit.exe)
- ダウンロードしたインストーラーを実行して、任意の場所を指定し、上のウェブサイトの通りに進めていくとインストールが完了します。
- (デスクトップにショートカットを作った人はショートカットから)ChipWhispererを起動します。
チュートリアルを無事に動かすために
ChipWhispererを起動するとJupyter notebookが起動します。
最初はJupyterディレクトリ内にあるチュートリアルを進めることになると思います。
チュートリアルは
- 0 - Introduction to Jupyter Notebooks.ipynb
- 1 - Connecting to Hardware.ipynb
の二つです。0に関しては特にいうこともないので、そのまま動かしてみてください。
1はそのままだと動きません。自分の環境に合わせてコードを修正していく必要があります。
以下でSTM32F3のターゲットボードを使用した場合の修正箇所を解説します。
- Building and Uploading Firmware直下
ここではPLATFORM =, CRYPTO_TARGET=が空白になっていてうまく実行できません。そこで、PLATFORMには自分が使用しているものの名前(一度空白のまま実行すると名前一覧が出てきます)を、CRYPTO_TARGETにはTINYAES128Cなどを指定してあげると動きます。=の後は空白無しなので気を付けてください。
あと、自分の環境では%%bashでは動かなかったため、%%shに変更しています。(これについては公式からもアナウンスが出ています)
その続きのコードブロックではコメントアウトされたコマンドが3行あります。ここでも自身が使用する環境に合わせてコメントアウトを外し、パスを適切なものに変える必要があります。
#cw.program_target(scope, cw.programmers.XMEGAProgrammer, "path/to/firmware.hex")
cw.program_target(scope, cw.programmers.STM32FProgrammer, "../hardware/victims/firmware/simpleserial-base/simpleserial-base-CW308_STM32F3.hex")
#cw.program_target(scope, cw.programmers.AVRProgrammer, "path/to/firmware.hex")
パスは../hardware/victims/firmware/simpleserial-base/以下にある.hexファイルです。
以上です。間違い等あればコメントください。