embedding crypto in socs threats and protections
play

Embedding Crypto in SoCs: Threats and Protections Arnaud Tisserand - PowerPoint PPT Presentation

Embedding Crypto in SoCs: Threats and Protections Arnaud Tisserand CNRS, Lab-STICC laboratory GDR SoC17, Bordeaux Summary Introduction & Cryptographic Background Side Channel Attacks Fault Injection Attacks Protections


  1. RSA Asymmetric Cryptosystem (2/2) Private key (Alice): d Public key (all): ( n , e ) Encryption (Bob side): • convert the message M to an integer m (1 < m < n and gcd( m , n ) = 1) • compute the cipher text c = m e mod n Decryption (Alice side): • compute m = c d mod n • convert the integer m to the message M Theoretical security : integer factorization, i.e. computing ( p , q ) knowing n , is not possible when n is large enough Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 10/62

  2. Modular Exponentiation Computation of operations such as : a b mod n a b = a × a × a × a × . . . × a × a × a � �� � a appears b times Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 11/62

  3. Modular Exponentiation Computation of operations such as : a b mod n a b = a × a × a × a × . . . × a × a × a � �� � a appears b times Order of magnitude of exponents: 2 size of exponent � 2 1024 . . . 2 2048 . . . 2 4096 Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 11/62

  4. Modular Exponentiation Computation of operations such as : a b mod n a b = a × a × a × a × . . . × a × a × a � �� � a appears b times Order of magnitude of exponents: 2 size of exponent � 2 1024 . . . 2 2048 . . . 2 4096 Fast exponentiation principle: a b = b ( a 2 ) when b is even 2 b − 1 a × ( a 2 ) = when b is odd 2 Least significant bit of the exponent: bit = 0 � even and bit = 1 � odd Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 11/62

  5. Square and Multiply Algorithm input : a , b , n where b = ( b t − 1 b t − 2 . . . b 1 b 0 ) 2 output : a b mod n r = 1 for i from 0 to t − 1 do b i = 1 then i f r = r · a mod n endif a = a 2 mod n endfor return r This is the right to left version (there exists a left to right one) Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 12/62

  6. Hardware Accelerators for Elliptic Curve Crypto. protocol level encryption signature etc [ k ] P curve level P + P ADD ( P , Q ) DBL ( P ) field level x ± y x × y . . . Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 13/62

  7. Hardware Accelerators for Elliptic Curve Crypto. E : y 2 = x 3 + 4 x + 20 over GF(1009) protocol level points: P , Q = ( x , y ) or ( x , y , z ) or . . . encryption signature etc [ k ] P curve level P + P ADD ( P , Q ) DBL ( P ) field level x ± y x × y . . . Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 13/62

  8. Hardware Accelerators for Elliptic Curve Crypto. E : y 2 = x 3 + 4 x + 20 over GF(1009) protocol level points: P , Q = ( x , y ) or ( x , y , z ) or . . . encryption signature coordinates: x , y , z ∈ GF ( · ) etc GF ( p ), GF (2 m ), t : 200–600 bits k = ( k t − 1 k t − 2 . . . k 1 k 0 ) 2 ∈ N [ k ] P curve level P + P ADD ( P , Q ) DBL ( P ) field level x ± y x × y . . . Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 13/62

  9. Hardware Accelerators for Elliptic Curve Crypto. E : y 2 = x 3 + 4 x + 20 over GF(1009) protocol level points: P , Q = ( x , y ) or ( x , y , z ) or . . . encryption signature coordinates: x , y , z ∈ GF ( · ) etc GF ( p ), GF (2 m ), t : 200–600 bits k = ( k t − 1 k t − 2 . . . k 1 k 0 ) 2 ∈ N Scalar multiplication operation [ k ] P for i from 0 to t − 1 do curve level if k i = 1 then Q = ADD ( P , Q ) P = DBL ( P ) P + P ADD ( P , Q ) DBL ( P ) field level x ± y x × y . . . Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 13/62

  10. Hardware Accelerators for Elliptic Curve Crypto. E : y 2 = x 3 + 4 x + 20 over GF(1009) protocol level points: P , Q = ( x , y ) or ( x , y , z ) or . . . encryption signature coordinates: x , y , z ∈ GF ( · ) etc GF ( p ), GF (2 m ), t : 200–600 bits k = ( k t − 1 k t − 2 . . . k 1 k 0 ) 2 ∈ N Scalar multiplication operation [ k ] P for i from 0 to t − 1 do curve level if k i = 1 then Q = ADD ( P , Q ) P = DBL ( P ) P + P Point addition/doubling operations ADD ( P , Q ) DBL ( P ) sequence of finite field operations DBL : v 1 = z 2 1 , v 2 = x 1 − v 1 , . . . ADD : w 1 = z 2 1 , w 2 = z 1 × w 1 , . . . field level x ± y x × y . . . Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 13/62

  11. Hardware Accelerators for Elliptic Curve Crypto. E : y 2 = x 3 + 4 x + 20 over GF(1009) protocol level points: P , Q = ( x , y ) or ( x , y , z ) or . . . encryption signature coordinates: x , y , z ∈ GF ( · ) etc GF ( p ), GF (2 m ), t : 200–600 bits k = ( k t − 1 k t − 2 . . . k 1 k 0 ) 2 ∈ N Scalar multiplication operation [ k ] P for i from 0 to t − 1 do curve level if k i = 1 then Q = ADD ( P , Q ) P = DBL ( P ) P + P Point addition/doubling operations ADD ( P , Q ) DBL ( P ) sequence of finite field operations DBL : v 1 = z 2 1 , v 2 = x 1 − v 1 , . . . ADD : w 1 = z 2 1 , w 2 = z 1 × w 1 , . . . field level GF ( p ) or GF (2 m ) operations x ± y x × y . . . operation modulo large prime ( GF ( p )) or irreducible polynomial ( GF (2 m )) Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 13/62

  12. Attacks attack Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 14/62

  13. Attacks observation attack perturbation invasive Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 14/62

  14. Attacks timing analysis power analysis EMR analysis observation attack perturbation fault injection invasive reverse engineering probing EMR = Electromagnetic radiation Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 14/62

  15. Attacks timing analysis power analysis EMR analysis observation attack perturbation theoretical fault injection invasive reverse engineering probing EMR = Electromagnetic radiation Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 14/62

  16. Attacks timing analysis power analysis EMR analysis observation attack perturbation theoretical fault injection invasive reverse engineering advanced algorithms probing optimized programming EMR = Electromagnetic radiation Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 14/62

  17. Side Channel Attacks (SCAs) (1/2) Attack : attempt to find, without any knowledge about the secret: • the message (or parts of the message) • informations on the message • the secret (or parts of the secret) Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 15/62

  18. Side Channel Attacks (SCAs) (1/2) Attack : attempt to find, without any knowledge about the secret: • the message (or parts of the message) • informations on the message • the secret (or parts of the secret) “Old style” side channel attacks : + good value clic clac bad value Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 15/62

  19. Side Channel Attacks (SCAs) (2/2) E D E k ( M ) D k ( E k ( M )) = M M A B k k General principle: measure external parameter(s) on running device in order to deduce internal informations Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 16/62

  20. Side Channel Attacks (SCAs) (2/2) E D E k ( M ) D k ( E k ( M )) = M M A B k k measure attack k , M ??? E General principle: measure external parameter(s) on running device in order to deduce internal informations Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 16/62

  21. What Should be Measured? Answer : everything that can “enter” and/or “get out” in/from the device • power consumption • electromagnetic radiation • temperature • sound • computation time • number of cache misses • number and type of error messages • ... The measured parameters may provide informations on: • global behavior (temperature, power, sound...) • local behavior (EMR, # cache misses...) Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 17/62

  22. Power Consumption Analysis General principle: 1. measure the current i ( t ) in the cryptosystem 2. use those measurements to “deduce” secret informations crypto. secret key = 962571. . . i ( t ) R V DD traces Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 18/62

  23. Simple Power Analysis (SPA) Source: [11] Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 19/62

  24. Simple Power Analysis (SPA) Source: [11] Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 19/62

  25. Limits of the SPA Example of behavior difference: (activity into a register) t 0000000000000000 0000000000000000 t + 1 Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 20/62

  26. Limits of the SPA Example of behavior difference: (activity into a register) t 0000000000000000 0000000000000000 t + 1 1111111111111111 0000000000000001 Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 20/62

  27. Limits of the SPA Example of behavior difference: (activity into a register) t 0000000000000000 0000000000000000 t + 1 1111111111111111 0000000000000001 Important : a small difference may be evaluated has a noise during the measurement traces cannot be distinguished Question : what can be done when differences are too small? Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 20/62

  28. Limits of the SPA Example of behavior difference: (activity into a register) t 0000000000000000 0000000000000000 t + 1 1111111111111111 0000000000000001 Important : a small difference may be evaluated has a noise during the measurement traces cannot be distinguished Question : what can be done when differences are too small? Answer : use statistics over several traces Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 20/62

  29. Differential Power Analysis (DPA) cryptosystem Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 21/62

  30. Differential Power Analysis (DPA) cryptosystem internal state Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 21/62

  31. Differential Power Analysis (DPA) cryptosystem internal state select bit b to attack b = 1 b = 0 Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 21/62

  32. Differential Power Analysis (DPA) cryptosystem implementation internal state select bit b to attack b = 1 b = 0 Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 21/62

  33. Differential Power Analysis (DPA) cryptosystem implementation internal state power model select bit b to attack b = 1 b = 0 Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 21/62

  34. Differential Power Analysis (DPA) cryptosystem implementation internal state power model select bit b to attack power( H b =1 ) b = 1 power( H b =0 ) b = 0 Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 21/62

  35. Differential Power Analysis (DPA) cryptosystem implementation internal state measures power model select bit b to attack power( H b =1 ) b = 1 power( H b =0 ) b = 0 Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 21/62

  36. Differential Power Analysis (DPA) cryptosystem implementation internal state measures power model select bit b to attack power( H b =1 ) b = 1 comparison power( H b =0 ) b = 0 correct hypothesis Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 21/62

  37. Template Attack cryptosystem Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 22/62

  38. Template Attack cryptosystem internal state Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 22/62

  39. Template Attack cryptosystem internal state select variable v to attack v = 0 v = 1 v = 2 Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 22/62

  40. Template Attack cryptosystem implementation internal state select variable v to attack v = 0 v = 1 v = 2 Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 22/62

  41. Template Attack cryptosystem implementation internal state measures select variable v to attack v = 0 power( v = 0) power( v = 1) v = 1 power( v = 2) v = 2 training step Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 22/62

  42. Template Attack cryptosystem implementation internal state measures measures select variable v to attack v = 0 power( v = 0) power( v = 1) v = 1 power( v = 2) v = 2 training step Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 22/62

  43. Template Attack cryptosystem implementation internal state measures measures select variable v to attack v = 0 power( v = 0) power( v = 1) comparison v = 1 power( v = 2) v = 2 training step correct hypothesis Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 22/62

  44. Electromagnetic Radiation Analysis General principle : use a probe to measure the EMR V DD circuit GND EMR measurement : Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 23/62

  45. Electromagnetic Radiation Analysis General principle : use a probe to measure the EMR V DD circuit GND EMR measurement : • global EMR with a large probe Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 23/62

  46. Electromagnetic Radiation Analysis General principle : use a probe to measure the EMR V DD circuit GND EMR measurement : • global EMR with a large probe • local EMR with a micro-probe Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 23/62

  47. Side Channel Attack on ECC protocol level encryption signature etc [ k ] P curve level Scalar multiplication operation ADD ( P , Q ) DBL ( P ) for i from 0 to t − 1 do if k i = 1 then Q = ADD ( P , Q ) P = DBL ( P ) field level . . . x ± y x × y Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 24/62

  48. Side Channel Attack on ECC protocol level encryption signature etc [ k ] P curve level Scalar multiplication operation ADD ( P , Q ) DBL ( P ) for i from 0 to t − 1 do if k i = 1 then Q = ADD ( P , Q ) P = DBL ( P ) field level . . . x ± y x × y Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 24/62

  49. Side Channel Attack on ECC protocol level DBL DBL DBL DBL DBL DBL encryption signature etc [ k ] P curve level Scalar multiplication operation ADD ( P , Q ) DBL ( P ) for i from 0 to t − 1 do if k i = 1 then Q = ADD ( P , Q ) P = DBL ( P ) field level . . . x ± y x × y Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 24/62

  50. Side Channel Attack on ECC protocol level DBL DBL DBL ADD DBL ADD DBL DBL encryption signature etc [ k ] P curve level Scalar multiplication operation ADD ( P , Q ) DBL ( P ) for i from 0 to t − 1 do if k i = 1 then Q = ADD ( P , Q ) P = DBL ( P ) field level . . . x ± y x × y Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 24/62

  51. Side Channel Attack on ECC protocol level DBL DBL DBL ADD DBL ADD DBL DBL encryption signature etc 0 0 0 1 1 0 [ k ] P curve level Scalar multiplication operation ADD ( P , Q ) DBL ( P ) for i from 0 to t − 1 do if k i = 1 then Q = ADD ( P , Q ) P = DBL ( P ) • simple power analysis (& variants) field level . . . x ± y x × y Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 24/62

  52. Side Channel Attack on ECC protocol level DBL DBL DBL ADD DBL ADD DBL DBL encryption signature etc 0 0 0 1 1 0 [ k ] P curve level Scalar multiplication operation ADD ( P , Q ) DBL ( P ) for i from 0 to t − 1 do if k i = 1 then Q = ADD ( P , Q ) P = DBL ( P ) • simple power analysis (& variants) field level . . . x ± y x × y • differential power analysis (& variants) • horizontal/vertical/templates/. . . attacks Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 24/62

  53. Fault Injection Attacks Objective : alter the correct functioning of a system “from outside” Fault effects examples : • modify a value in a register • modify a value in the memory hierarchy • modify an address (data location or code location) • modify a control signal (e.g. status flag, branch direction) • skip/modify the instruction decoding • delay/advance propagation of internal control signals • etc. Also called perturbation attacks Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 25/62

  54. Fault Injection Techniques Typical techniques : • perturbation in the power supply voltage • perturbation of the clock signal • temperature (over/under-heating the chip) • radiation or electromagnetic (EM) disturbances • exposing the chip to intense lights or beams • etc Accuracy : • time: part of clock cycle, clock cycle, code block (instruction sequence) • space: gate, block, unit, core, chip, package • value: set to a specific value, bit flip, stuck-at 0 or 1, random modification Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 26/62

  55. Perturbation on the Power Supply Principle : controlled power supply voltage time • Nominal power supply (e.g. ≈ [0 . 7 , 1 . 2] V for current technologies) Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 27/62

  56. Perturbation on the Power Supply Principle : V DD controlled device power under supply attack GND voltage time • Nominal power supply (e.g. ≈ [0 . 7 , 1 . 2] V for current technologies) • Non-nominal constant power supply (e.g. 0 . 7 V instead of 1 . 2 V) Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 27/62

  57. Perturbation on the Power Supply Principle : V DD power controlled device device glitch power under under generator supply attack attack GND voltage time • Nominal power supply (e.g. ≈ [0 . 7 , 1 . 2] V for current technologies) • Non-nominal constant power supply (e.g. 0 . 7 V instead of 1 . 2 V) • Glitches (dips, spikes) in the power supply at some selected moments Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 27/62

  58. Under Powering Example Source : paper [19] presented at EDCC 2008 conference Setup : 130 nm smart card (1.2 V nominal V DD ) with AES crypto-processor Measurement campaign : triples (msg, key, cypher) recorded for 100 V DD in [775, 825] mV over 20,000 encryptions with comparison to a (RTL) simulation for one byte corruption in the state matrix at various rounds Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 28/62

  59. Under Powering Example Source : paper [19] presented at EDCC 2008 conference Setup : 130 nm smart card (1.2 V nominal V DD ) with AES crypto-processor Measurement campaign : triples (msg, key, cypher) recorded for 100 V DD in [775, 825] mV over 20,000 encryptions with comparison to a (RTL) simulation for one byte corruption in the state matrix at various rounds Observed behavior is compatible with setup violation model on a critical path (bell shape due to only one or multiple paths) Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 28/62

  60. Under Powering Example Source : paper [19] presented at EDCC 2008 conference Setup : 130 nm smart card (1.2 V nominal V DD ) with AES crypto-processor Measurement campaign : triples (msg, key, cypher) recorded for 100 V DD in [775, 825] mV over 20,000 encryptions with comparison to a (RTL) simulation for one byte corruption in the state matrix at various rounds Observed behavior is compatible with setup violation model on a critical path (bell shape due to only one or multiple paths) Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 28/62

  61. Power Glitching Example Source : FDTC 2008 conference paper [18] Setup : AVR microcontroller with RSA implementation Attack result : a power glitch causes to skip some instruction Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 29/62

  62. Perturbation on the External Clock Principle : voltage CLK time • Normal clock (at a given frequency, duty cycle ≈ 50%) Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 30/62

  63. Perturbation on the External Clock Principle : voltage MCLK CLK time • Normal clock (at a given frequency, duty cycle ≈ 50%) • Clock with a modified duty cycle Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 30/62

  64. Perturbation on the External Clock Principle : voltage glitches GCLK MCLK CLK time • Normal clock (at a given frequency, duty cycle ≈ 50%) • Clock with a modified duty cycle • Glitched clock • Etc. Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 30/62

  65. Glitchy Clock Generation Example Source : paper [10] published in J. Crypto. Eng. 2011 Setup : Virtex-II Pro FPGA (on SASEBO card) used to generate a “glitchy” clock for several programmable time parameters Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 31/62

  66. Clock Glitch Attack Example Source : paper [1] presented at FDTC 2011 conference Setup : AVR ATMega 163 microcontroller @ 1MHz mode glitch period cycle instruction opcode (bin) normal - 0000 0000 0000 0000 i NOP normal - i + 1 EOR R15,R5 0010 0100 1111 0101 Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 32/62

  67. Clock Glitch Attack Example Source : paper [1] presented at FDTC 2011 conference Setup : AVR ATMega 163 microcontroller @ 1MHz mode glitch period cycle instruction opcode (bin) normal - 0000 0000 0000 0000 i NOP normal - i + 1 EOR R15,R5 0010 0100 1111 0101 glitch 59 ns i + 1 NOP 0000 0000 0000 0000 Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 32/62

  68. Clock Glitch Attack Example Source : paper [1] presented at FDTC 2011 conference Setup : AVR ATMega 163 microcontroller @ 1MHz mode glitch period cycle instruction opcode (bin) normal - 0000 0000 0000 0000 i NOP normal - i + 1 EOR R15,R5 0010 0100 1111 0101 glitch 59 ns i + 1 NOP 0000 0000 0000 0000 mode glitch period cycle instruction opcode (bin) normal - 0000 0000 0000 0000 i NOP normal - i + 1 SER R18 1110 1111 0010 1111 Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 32/62

  69. Clock Glitch Attack Example Source : paper [1] presented at FDTC 2011 conference Setup : AVR ATMega 163 microcontroller @ 1MHz mode glitch period cycle instruction opcode (bin) normal - 0000 0000 0000 0000 i NOP normal - i + 1 EOR R15,R5 0010 0100 1111 0101 glitch 59 ns i + 1 NOP 0000 0000 0000 0000 mode glitch period cycle instruction opcode (bin) normal - 0000 0000 0000 0000 i NOP normal - i + 1 SER R18 1110 1111 0010 1111 glitch 61 ns i + 1 LDI R18,0xEF 1110 1110 0010 1111 glitch 60 ns i + 1 0000 1000 0010 1111 SBC R12,R15 glitch 59 ns i + 1 NOP 0000 0000 0000 0000 Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 32/62

  70. mode glitch period cycle instruction opcode (bin) normal - 0010 0000 1100 1100 i TST R12 normal - i + 1 BREQ PC+0x02 1111 0000 0000 1001 normal - i + 2 1110 1111 1010 1111 SER R26 Arnaud Tisserand. CNRS – Lab-STICC. Embedding Crypto in SoCs: Threats and Protections 33/62

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend