  We demonstrate the extraction of an AES secret key from flash memory on the
ATMega328 microcontroller (the microcontroller used on the popular Arduino
Genuino/Uno board). We loaded a standard AVR-architecture AES-128
implementation onto the chip and encrypted randomly chosen plaintexts with
several different keys. We measured the chip's power consumption during
encryption, correlated observed power consumption with the expected power
consumption of the plaintexts with every possible key, and ultimately extracted
the 128-bit key used during AES. We describe here our test infrastructure for
automated power trace collection, an overview of our correlation attack,
sanitization of the traces and stumbling blocks encountered during data
collection and analysis, and results of our attack.
