Setup. The target is a development board mounting an ATmega328P 8-bit microcon- troller working at 16 MHz clock frequency. We are storing random data (8-bit values) in flash memory using a memcpy() operation (in a random address each time). During that operation, we measure the power consumption of the device with a Tektronix CT1 current probe attached to a 20 GS/s digital oscilloscope Table 1. Portable template attack experiments using Device 1 (D1) for profiling. POI Rank (D1 vs D1) Rank (D1 vs D2) Rank (D1 vs D3) Rank (D1 vs D4) (▇▇▇▇▇▇ Waverunner 9104) triggered by the microcontroller, which rises a GPIO signal when the internal computation starts. Each power trace is formed by 400 samples taken at 1 GHz with 8-bit resolution. As an attacker, our goal is to obtain the exact 8-bit value loaded in flash memory using template attacks. A set of np profiling traces are taken from the profiling device(s) (storing random 8-bit values) and labeled with the stored value. The traces are preprocessed by aligning them and applying the aforementioned standardization technique. Then, a SOST function is ran in order to find possible POIs. 256 templates are built by computing the mean and co-variance matrix for each labeled group (in the selected POIs), using the pooled matrix optimization method. In the attack- ing phase a set of na power traces of the attacking device storing a fixed 8-bit value are taken. Then the multivariate model is applied and the 8-bit value is guessed using the maximum likelihood principle. Each label will obtain a confi- dence value and the 256 labels will be ranked. We consider the attack successful when the correct candidate obtains a rank of 25 or less (the correct candidate is in the top 10% of candidates). We assume that then, the correct value could be guessed using (optimized) brute force.
Appears in 3 contracts
Sources: End User Agreement, End User Agreement, End User Agreement