project:chipwhisperer:start
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
project:chipwhisperer:start [2019/01/14 20:32] – [Links] eagle schematics + board layout abyssal | project:chipwhisperer:start [2025/03/13 14:20] (current) – fix templatere plugin invocation root | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Chipwhisperer ====== | ====== Chipwhisperer ====== | ||
- | {{template> | + | {{template> |
name=Chipwhisperer| | name=Chipwhisperer| | ||
image=chipwhisperer-project-logo.png? | image=chipwhisperer-project-logo.png? | ||
Line 33: | Line 33: | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | ==== Related stuff ==== | ||
+ | |||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | ===== Schematics and board layouts ===== | ||
+ | |||
+ | Schematics and board layouts can be viewed under the chipwhisperer checked out directory, in various directories (victims, tools, etc). There are .sch, .brd and generated .pdf files for schematics. | ||
+ | |||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
===== Chipwhisperer password cracking based on timing/ | ===== Chipwhisperer password cracking based on timing/ | ||
Line 74: | Line 91: | ||
+ | |||
+ | ===== Glitching STM32 external board through UFO-board interface ===== | ||
+ | |||
+ | Glitching an STM32F429 discovery evaluation board. The board required resoldering of some solder bridges (SB18, SB19, removing X3 crystal oscillator) so that we can input glitch signal without interference from the STLink integrated SWD or any other clock signal, using PH0 as input from Chipwhisperer. | ||
+ | |||
+ | The chip has VBAT input, unfortunately it's not connected to any of the output pins, so powering the board from outside without using the STM32F0 SWD STLink is a bit challenge. | ||
+ | |||
+ | Unfortunately the [[https:// | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | It'd might work better if SDRAM and display was desoldered as well. By comparing various STM32F4 (415, 427, 429) in STM32CubeMx it reveals that the clock circuits are very different. | ||
+ | |||
+ | FYI: just keep all the relevants part of pinout connected (GPIO4-trigger, | ||
+ | |||
+ | ====== STM32CubeMX ====== | ||
+ | |||
+ | When you look at the clock networks of various STM32, you will find that each chip has different clock network, STM32F427 cannot be easily replaced with STM32F429. | ||
+ | |||
+ | ====== UART bootROM protocol of STM32s via Chipwhisperer ====== | ||
+ | |||
+ | Chipwhisperer has [[https:// | ||
+ | |||
+ | To get into the bootROM you need to trigger the right pattern (depends on specific STM32, but generally needs BOOT0 pin high with some extra conditions). | ||
+ | |||
+ | Once bootROM is running, you can issue commands like erase, write, protect/ | ||
+ | |||
+ | Some commands can be stacked, e.g. (extended) erase with write, some like (un)protect commands cause system reset of STM32 and you need to reopen the programmer. | ||
+ | |||
+ | An unfortunate side effect of pulling nRST (either from outside or from firmware) is that gdb connected to SWD as external target aborts. | ||
+ | |||
+ | I would highly recommend using logic analyzer to check result since the STM32 programmer is PITA. Order of connection of SWD/JTAG and logic analyzer seems to matter. Once nRST is pulled, SWD/JTAG seems to lose ability to do proper system reset. | ||
+ | |||
+ | {{: | ||
project/chipwhisperer/start.1547497938.txt.gz · Last modified: 2019/01/14 20:32 by abyssal