side channel countermeasures dissection
play

Side-Channel Countermeasures Dissection and the Limits of Closed - PowerPoint PPT Presentation

Introduction Countermeasures Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Side-Channel Countermeasures Dissection and the Limits of Closed Source Security Evaluations Olivier Bronchain Fran


  1. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion What About Real-World Targets ? A few published attacks on real products exist: Olivier Bronchain Side-Channel Countermeasures’ Dissection 5 / 27

  2. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion What About Real-World Targets ? A few published attacks on real products exist: ◮ Key recovery for bitstream encryption keys (Moradi et al ., 2011) Olivier Bronchain Side-Channel Countermeasures’ Dissection 5 / 27

  3. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion What About Real-World Targets ? A few published attacks on real products exist: ◮ Key recovery for bitstream encryption keys (Moradi et al ., 2011) ◮ Update forgery on HP Light Bumps (Ronen et al ., 2016) Olivier Bronchain Side-Channel Countermeasures’ Dissection 5 / 27

  4. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion What About Real-World Targets ? A few published attacks on real products exist: ◮ Key recovery for bitstream encryption keys (Moradi et al ., 2011) ◮ Update forgery on HP Light Bumps (Ronen et al ., 2016) ◮ Car opening against Tesla Key Fob (Wouters et al ., 2019) Olivier Bronchain Side-Channel Countermeasures’ Dissection 5 / 27

  5. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion What About Real-World Targets ? A few published attacks on real products exist: ◮ Key recovery for bitstream encryption keys (Moradi et al ., 2011) ◮ Update forgery on HP Light Bumps (Ronen et al ., 2016) ◮ Car opening against Tesla Key Fob (Wouters et al ., 2019) Once (huge) reverse engineering done, attacks are straightforward. Olivier Bronchain Side-Channel Countermeasures’ Dissection 5 / 27

  6. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion What About Real-World Targets ? A few published attacks on real products exist: ◮ Key recovery for bitstream encryption keys (Moradi et al ., 2011) ◮ Update forgery on HP Light Bumps (Ronen et al ., 2016) ◮ Car opening against Tesla Key Fob (Wouters et al ., 2019) Once (huge) reverse engineering done, attacks are straightforward. ◮ These examples are however not reflective of certified products Olivier Bronchain Side-Channel Countermeasures’ Dissection 5 / 27

  7. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion What About Real-World Targets ? A few published attacks on real products exist: ◮ Key recovery for bitstream encryption keys (Moradi et al ., 2011) ◮ Update forgery on HP Light Bumps (Ronen et al ., 2016) ◮ Car opening against Tesla Key Fob (Wouters et al ., 2019) Once (huge) reverse engineering done, attacks are straightforward. ◮ These examples are however not reflective of certified products ◮ We lack practically relevant examples of ”sound combinations of countermeasures” Olivier Bronchain Side-Channel Countermeasures’ Dissection 5 / 27

  8. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Useful step in this direction: ANSSI’s Implem. Open-source protected AES: Olivier Bronchain Side-Channel Countermeasures’ Dissection 6 / 27

  9. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Useful step in this direction: ANSSI’s Implem. Open-source protected AES: ◮ From a team of experts Olivier Bronchain Side-Channel Countermeasures’ Dissection 6 / 27

  10. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Useful step in this direction: ANSSI’s Implem. Open-source protected AES: ◮ From a team of experts ◮ Mixed countermeasures Olivier Bronchain Side-Channel Countermeasures’ Dissection 6 / 27

  11. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Useful step in this direction: ANSSI’s Implem. Open-source protected AES: ◮ From a team of experts ◮ Mixed countermeasures ◮ Preliminary leakage assessment Olivier Bronchain Side-Channel Countermeasures’ Dissection 6 / 27

  12. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Useful step in this direction: ANSSI’s Implem. Open-source protected AES: ◮ From a team of experts ◮ Mixed countermeasures ◮ Preliminary leakage assessment !! Educational purpose only !! Olivier Bronchain Side-Channel Countermeasures’ Dissection 6 / 27

  13. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Useful step in this direction: ANSSI’s Implem. Open-source protected AES: ◮ From a team of experts ◮ Mixed countermeasures ◮ Preliminary leakage assessment !! Educational purpose only !! It could be used to study: Olivier Bronchain Side-Channel Countermeasures’ Dissection 6 / 27

  14. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Useful step in this direction: ANSSI’s Implem. Open-source protected AES: ◮ From a team of experts ◮ Mixed countermeasures ◮ Preliminary leakage assessment !! Educational purpose only !! It could be used to study: 1. Effectiveness of mixed countermeasures Olivier Bronchain Side-Channel Countermeasures’ Dissection 6 / 27

  15. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Useful step in this direction: ANSSI’s Implem. Open-source protected AES: ◮ From a team of experts ◮ Mixed countermeasures ◮ Preliminary leakage assessment !! Educational purpose only !! It could be used to study: 1. Effectiveness of mixed countermeasures 2. Security on popular 32-bit MCU’s Olivier Bronchain Side-Channel Countermeasures’ Dissection 6 / 27

  16. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Useful step in this direction: ANSSI’s Implem. Open-source protected AES: ◮ From a team of experts ◮ Mixed countermeasures ◮ Preliminary leakage assessment !! Educational purpose only !! It could be used to study: 1. Effectiveness of mixed countermeasures 2. Security on popular 32-bit MCU’s 3. Impact of open designs for worst-case security evaluations Olivier Bronchain Side-Channel Countermeasures’ Dissection 6 / 27

  17. 5000 4000 3000 2000 Current 1000 0 1000 2000 15 20 25 30 35 40 45 time Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Profiled Side-Channel Attacks in Worst-case analysis in two phases: Olivier Bronchain Side-Channel Countermeasures’ Dissection 7 / 27

  18. 5000 4000 3000 2000 Current 1000 0 1000 2000 15 20 25 30 35 40 45 time Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Profiled Side-Channel Attacks in Worst-case analysis in two phases: 1. Profiling / Learning target behavior Olivier Bronchain Side-Channel Countermeasures’ Dissection 7 / 27

  19. 5000 4000 3000 2000 Current 1000 0 1000 2000 15 20 25 30 35 40 45 time Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Profiled Side-Channel Attacks in . . . k 0 k 1 k 15 p 0 p 1 p 15 Sbox Sbox Sbox x 0 x 1 x 15 Linear Layer Worst-case analysis in two phases: 1. Profiling / Learning target behavior ◮ Algorithm/Implementation knowledge Olivier Bronchain Side-Channel Countermeasures’ Dissection 7 / 27

  20. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Profiled Side-Channel Attacks in 5000 . . . k 0 k 1 k 15 4000 3000 p 0 p 1 p 15 2000 Current Sbox Sbox Sbox 1000 0 x 0 x 1 x 15 1000 2000 15 20 25 30 35 40 45 Linear Layer time Worst-case analysis in two phases: 1. Profiling / Learning target behavior ◮ Algorithm/Implementation knowledge ◮ Leakage examples in controlled settings (i.e. known randomness) Olivier Bronchain Side-Channel Countermeasures’ Dissection 7 / 27

  21. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Profiled Side-Channel Attacks in 5000 . . . k 0 k 1 k 15 4000 3000 x=0xff p 0 p 1 p 15 2000 Current Sbox Sbox Sbox 1000 0 x=0x0f x 0 x 1 x 15 1000 2000 15 20 25 30 35 40 45 Linear Layer time x=0x00 Worst-case analysis in two phases: 1. Profiling / Learning target behavior ◮ Algorithm/Implementation knowledge ◮ Leakage examples in controlled settings (i.e. known randomness) Olivier Bronchain Side-Channel Countermeasures’ Dissection 7 / 27

  22. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Profiled Side-Channel Attacks in 5000 . . . k 0 k 1 k 15 4000 3000 x=0xff p 0 p 1 p 15 2000 Current Sbox Sbox Sbox 1000 0 x=0x0f x 0 x 1 x 15 1000 2000 15 20 25 30 35 40 45 Linear Layer time x=0x00 Worst-case analysis in two phases: 1. Profiling / Learning target behavior ◮ Algorithm/Implementation knowledge ◮ Leakage examples in controlled settings (i.e. known randomness) 2. Attack Olivier Bronchain Side-Channel Countermeasures’ Dissection 7 / 27

  23. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Profiled Side-Channel Attacks in 5000 . . . k 0 k 1 k 15 4000 3000 x=0xff p 0 p 1 p 15 2000 Current Sbox Sbox Sbox 1000 0 x=0x0f x 0 x 1 x 15 1000 2000 15 20 25 30 35 40 45 Linear Layer time x=0x00 Worst-case analysis in two phases: 1. Profiling / Learning target behavior ◮ Algorithm/Implementation knowledge ◮ Leakage examples in controlled settings (i.e. known randomness) 2. Attack ◮ Extract information from leakage Olivier Bronchain Side-Channel Countermeasures’ Dissection 7 / 27

  24. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Profiled Side-Channel Attacks in 5000 . . . k 0 k 1 k 15 4000 3000 x=0xff p 0 p 1 p 15 2000 Current Sbox Sbox Sbox 1000 0 x=0x0f x 0 x 1 x 15 1000 2000 15 20 25 30 35 40 45 Linear Layer time x=0x00 Worst-case analysis in two phases: 1. Profiling / Learning target behavior ◮ Algorithm/Implementation knowledge ◮ Leakage examples in controlled settings (i.e. known randomness) 2. Attack ◮ Extract information from leakage ◮ Processing for secret recovery Olivier Bronchain Side-Channel Countermeasures’ Dissection 7 / 27

  25. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Content Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Olivier Bronchain Side-Channel Countermeasures’ Dissection 8 / 27

  26. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Countermeasures At a high level: Olivier Bronchain Side-Channel Countermeasures’ Dissection 9 / 27

  27. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Countermeasures At a high level: ◮ Affine masking on bytes Olivier Bronchain Side-Channel Countermeasures’ Dissection 9 / 27

  28. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Countermeasures At a high level: ◮ Affine masking on bytes ◮ Multiplicative mask r m (same for all the 16-bytes) Olivier Bronchain Side-Channel Countermeasures’ Dissection 9 / 27

  29. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Countermeasures At a high level: ◮ Affine masking on bytes ◮ Multiplicative mask r m (same for all the 16-bytes) ◮ Additive mask r a Olivier Bronchain Side-Channel Countermeasures’ Dissection 9 / 27

  30. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Countermeasures At a high level: ◮ Affine masking on bytes ◮ Multiplicative mask r m (same for all the 16-bytes) ◮ Additive mask r a ◮ Requires alternative Sbox table pre-computation Olivier Bronchain Side-Channel Countermeasures’ Dissection 9 / 27

  31. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Countermeasures At a high level: ◮ Affine masking on bytes ◮ Multiplicative mask r m (same for all the 16-bytes) ◮ Additive mask r a ◮ Requires alternative Sbox table pre-computation ◮ Shuffled execution Olivier Bronchain Side-Channel Countermeasures’ Dissection 9 / 27

  32. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Countermeasures At a high level: ◮ Affine masking on bytes ◮ Multiplicative mask r m (same for all the 16-bytes) ◮ Additive mask r a ◮ Requires alternative Sbox table pre-computation ◮ Shuffled execution ◮ One permutation for the 16 Sboxes Olivier Bronchain Side-Channel Countermeasures’ Dissection 9 / 27

  33. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Countermeasures At a high level: ◮ Affine masking on bytes ◮ Multiplicative mask r m (same for all the 16-bytes) ◮ Additive mask r a ◮ Requires alternative Sbox table pre-computation ◮ Shuffled execution ◮ One permutation for the 16 Sboxes ◮ Another permutation for the 4 MixColumns Olivier Bronchain Side-Channel Countermeasures’ Dissection 9 / 27

  34. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Countermeasures At a high level: ◮ Affine masking on bytes ◮ Multiplicative mask r m (same for all the 16-bytes) ◮ Additive mask r a ◮ Requires alternative Sbox table pre-computation ◮ Shuffled execution ◮ One permutation for the 16 Sboxes ◮ Another permutation for the 4 MixColumns ◮ Both are pre-computed Olivier Bronchain Side-Channel Countermeasures’ Dissection 9 / 27

  35. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Countermeasures Inputs Pre-computation Encryption Olivier Bronchain Side-Channel Countermeasures’ Dissection 10 / 27

  36. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Countermeasures Inputs Pre-computation Encryption � R a � P r m , r in , r out Olivier Bronchain Side-Channel Countermeasures’ Dissection 10 / 27

  37. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Countermeasures Inputs Pre-computation Encryption � R a � Multiplicative P r m , r in , r out Pre-Computation Sbox ′ Olivier Bronchain Side-Channel Countermeasures’ Dissection 10 / 27

  38. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Countermeasures Inputs Pre-computation Encryption � R a C = ( r m ⊗ � � P ) ⊕ � R a � Multiplicative P r m , r in , r out Pre-Computation Sbox ′ Olivier Bronchain Side-Channel Countermeasures’ Dissection 10 / 27

  39. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Countermeasures Inputs Pre-computation Encryption � R a C = ( r m ⊗ � � P ) ⊕ � R a � Multiplicative P AddRoundKey r m , r in , r out Pre-Computation Sbox ′ Olivier Bronchain Side-Channel Countermeasures’ Dissection 10 / 27

  40. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Countermeasures Inputs Pre-computation Encryption � R a C = ( r m ⊗ � � P ) ⊕ � R a � Multiplicative P AddRoundKey r m , r in , r out Pre-Computation r in Sbox ′ Olivier Bronchain Side-Channel Countermeasures’ Dissection 10 / 27

  41. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Countermeasures Inputs Pre-computation Encryption � R a C = ( r m ⊗ � � P ) ⊕ � R a � Multiplicative P AddRoundKey r m , r in , r out Pre-Computation r in Sbox ′ Sbox ′ Olivier Bronchain Side-Channel Countermeasures’ Dissection 10 / 27

  42. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Countermeasures Inputs Pre-computation Encryption � R a C = ( r m ⊗ � � P ) ⊕ � R a � Multiplicative P AddRoundKey r m , r in , r out Pre-Computation r in Sbox ′ Sbox ′ r out Olivier Bronchain Side-Channel Countermeasures’ Dissection 10 / 27

  43. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Countermeasures Inputs Pre-computation Encryption � R a C = ( r m ⊗ � � P ) ⊕ � R a � Multiplicative P AddRoundKey r m , r in , r out Pre-Computation r in Sbox ′ Sbox ′ r out ShiftRows ShiftRows MixColumns MixColumns Olivier Bronchain Side-Channel Countermeasures’ Dissection 10 / 27

  44. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Countermeasures Inputs Pre-computation Encryption � R a C = ( r m ⊗ � � P ) ⊕ � R a � Multiplicative P AddRoundKey r m , r in , r out Pre-Computation r in Sbox ′ seed 1 Sbox ′ seed 2 r out seed ′ 1 ShiftRows ShiftRows seed ′ 2 MixColumns MixColumns Olivier Bronchain Side-Channel Countermeasures’ Dissection 10 / 27

  45. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Countermeasures Inputs Pre-computation Encryption � R a C = ( r m ⊗ � � P ) ⊕ � R a � Multiplicative P AddRoundKey r m , r in , r out Pre-Computation r in Sbox ′ Perm. over seed 1 { 0 , . . . , 15 } 16 Sbox ′ seed 2 Computation 16 p � C , p � R a r out Perm. over seed ′ 1 { 0 , 1 , 2 , 3 } 2 ShiftRows ShiftRows seed ′ 2 Computation 2 MixColumns MixColumns p ′ C , p ′ � � R a Olivier Bronchain Side-Channel Countermeasures’ Dissection 10 / 27

  46. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Countermeasures Inputs Pre-computation Encryption � R a C = ( r m ⊗ � � P ) ⊕ � R a � Multiplicative P p � AddRoundKey C r m , r in , r out Pre-Computation r in Sbox ′ Perm. over seed 1 { 0 , . . . , 15 } 16 Sbox ′ seed 2 p � Computation C 16 p � C , p � R a r out Perm. over seed ′ 1 { 0 , 1 , 2 , 3 } p � 2 p � ShiftRows ShiftRows seed ′ R a C 2 Computation 2 p ′ p ′ MixColumns MixColumns � � C R a p ′ C , p ′ � � R a Olivier Bronchain Side-Channel Countermeasures’ Dissection 10 / 27

  47. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Optimal Distinguisher Profiled attacks are based on secret con- ditional distribution which depends on the countermeasures. Full expression is written as f[ � o 2 f[ � l | x ] ∝ � � � � l | r m , r a , c , o 1 , o 2 ] r m r a o 1 Olivier Bronchain Side-Channel Countermeasures’ Dissection 11 / 27

  48. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Optimal Distinguisher Profiled attacks are based on secret con- ditional distribution which depends on the countermeasures. Full expression is written as f[ � o 2 f[ � l | x ] ∝ � � � � l | r m , r a , c , o 1 , o 2 ] r m r a o 1 Mult. mask Olivier Bronchain Side-Channel Countermeasures’ Dissection 11 / 27

  49. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Optimal Distinguisher Profiled attacks are based on secret con- ditional distribution which depends on the countermeasures. Full expression is written as Add. mask f[ � o 2 f[ � l | x ] ∝ � � � � l | r m , r a , c , o 1 , o 2 ] r m r a o 1 Mult. mask Olivier Bronchain Side-Channel Countermeasures’ Dissection 11 / 27

  50. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Optimal Distinguisher Profiled attacks are based on secret con- ditional distribution which depends on the countermeasures. Full expression is written as Add. mask f[ � o 2 f[ � l | x ] ∝ � � � � l | r m , r a , c , o 1 , o 2 ] r m r a o 1 Mult. mask Perm. on shares Olivier Bronchain Side-Channel Countermeasures’ Dissection 11 / 27

  51. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Optimal Distinguisher Profiled attacks are based on secret con- ditional distribution which depends on the countermeasures. Full expression is written as Add. mask Template f[ � o 2 f[ � l | x ] ∝ � � � � l | r m , r a , c , o 1 , o 2 ] r m r a o 1 Mult. mask Perm. on shares Olivier Bronchain Side-Channel Countermeasures’ Dissection 11 / 27

  52. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Optimal Distinguisher Profiled attacks are based on secret con- ditional distribution which depends on the countermeasures. Optimal but rapidly out of reach: Full expression is written as Add. mask Template f[ � o 2 f[ � l | x ] ∝ � � � � l | r m , r a , c , o 1 , o 2 ] r m r a o 1 Mult. mask Perm. on shares Olivier Bronchain Side-Channel Countermeasures’ Dissection 11 / 27

  53. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Optimal Distinguisher Profiled attacks are based on secret con- ditional distribution which depends on the countermeasures. Optimal but rapidly out of reach: Full expression is written as ◮ One template per Add. mask Template randomness combination f[ � o 2 f[ � l | x ] ∝ � � � � l | r m , r a , c , o 1 , o 2 ] r m r a o 1 Mult. mask Perm. on shares Olivier Bronchain Side-Channel Countermeasures’ Dissection 11 / 27

  54. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Optimal Distinguisher Profiled attacks are based on secret con- ditional distribution which depends on the countermeasures. Optimal but rapidly out of reach: Full expression is written as ◮ One template per Add. mask Template randomness combination ◮ Sum over all the possible f[ � o 2 f[ � l | x ] ∝ � � � � l | r m , r a , c , o 1 , o 2 ] r m r a o 1 randomness Mult. mask Perm. on shares Olivier Bronchain Side-Channel Countermeasures’ Dissection 11 / 27

  55. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Optimal Distinguisher Profiled attacks are based on secret con- ditional distribution which depends on the countermeasures. Optimal but rapidly out of reach: Full expression is written as ◮ One template per Add. mask Template randomness combination ◮ Sum over all the possible f[ � o 2 f[ � l | x ] ∝ � � � � l | r m , r a , c , o 1 , o 2 ] r m r a o 1 randomness Mult. mask Perm. on shares = ⇒ Hypotheses needed Olivier Bronchain Side-Channel Countermeasures’ Dissection 11 / 27

  56. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Countermeasures Dissection f[ � r m Pr[ r m | � l | x ] ∝ � l r m ] · � r a Assuming ⊥ leakages on secret: �� � o 1 f [ � l r a | r a , o 1 ] · Pr[ o 1 | � · l o 1 ] �� � o 2 f [ � l c | c , o 2 ] · Pr[ o 2 | � · l o 2 ] Olivier Bronchain Side-Channel Countermeasures’ Dissection 12 / 27

  57. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Countermeasures Dissection Mult. mask f[ � r m Pr[ r m | � l | x ] ∝ � l r m ] · � r a Assuming ⊥ leakages on secret: �� � o 1 f [ � l r a | r a , o 1 ] · Pr[ o 1 | � · l o 1 ] �� � o 2 f [ � l c | c , o 2 ] · Pr[ o 2 | � · l o 2 ] Olivier Bronchain Side-Channel Countermeasures’ Dissection 12 / 27

  58. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Countermeasures Dissection Mult. mask Add. mask + Perm f[ � r m Pr[ r m | � l | x ] ∝ � l r m ] · � r a Assuming ⊥ leakages on secret: �� � o 1 f [ � l r a | r a , o 1 ] · Pr[ o 1 | � · l o 1 ] �� � o 2 f [ � l c | c , o 2 ] · Pr[ o 2 | � · l o 2 ] Olivier Bronchain Side-Channel Countermeasures’ Dissection 12 / 27

  59. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Countermeasures Dissection Mult. mask Add. mask + Perm f[ � r m Pr[ r m | � l | x ] ∝ � l r m ] · � r a Assuming ⊥ leakages on secret: �� � o 1 f [ � l r a | r a , o 1 ] · Pr[ o 1 | � · l o 1 ] �� � o 2 f [ � l c | c , o 2 ] · Pr[ o 2 | � · l o 2 ] Enc. + Perm Olivier Bronchain Side-Channel Countermeasures’ Dissection 12 / 27

  60. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Countermeasures Dissection Mult. mask Add. mask + Perm f[ � r m Pr[ r m | � l | x ] ∝ � l r m ] · � r a Assuming ⊥ leakages on secret: �� � o 1 f [ � l r a | r a , o 1 ] · Pr[ o 1 | � · l o 1 ] �� � o 2 f [ � l c | c , o 2 ] · Pr[ o 2 | � · l o 2 ] Enc. + Perm Countermeasures’ Dissection: Olivier Bronchain Side-Channel Countermeasures’ Dissection 12 / 27

  61. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Countermeasures Dissection Mult. mask Add. mask + Perm f[ � r m Pr[ r m | � l | x ] ∝ � l r m ] · � r a Assuming ⊥ leakages on secret: �� � o 1 f [ � l r a | r a , o 1 ] · Pr[ o 1 | � · l o 1 ] �� � o 2 f [ � l c | c , o 2 ] · Pr[ o 2 | � · l o 2 ] Enc. + Perm Countermeasures’ Dissection: ◮ What: From combined countermeasures, expected multiplicative effect Olivier Bronchain Side-Channel Countermeasures’ Dissection 12 / 27

  62. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Countermeasures Dissection Mult. mask Add. mask + Perm f[ � r m Pr[ r m | � l | x ] ∝ � l r m ] · � r a Assuming ⊥ leakages on secret: �� � o 1 f [ � l r a | r a , o 1 ] · Pr[ o 1 | � · l o 1 ] �� � o 2 f [ � l c | c , o 2 ] · Pr[ o 2 | � · l o 2 ] Enc. + Perm Countermeasures’ Dissection: ◮ What: From combined countermeasures, expected multiplicative effect ◮ Reduce it to a small factor, ideally of 1. Olivier Bronchain Side-Channel Countermeasures’ Dissection 12 / 27

  63. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Countermeasures Dissection Mult. mask Add. mask + Perm f[ � r m Pr[ r m | � l | x ] ∝ � l r m ] · � r a Assuming ⊥ leakages on secret: �� � o 1 f [ � l r a | r a , o 1 ] · Pr[ o 1 | � · l o 1 ] �� � o 2 f [ � l c | c , o 2 ] · Pr[ o 2 | � · l o 2 ] Enc. + Perm Countermeasures’ Dissection: ◮ What: From combined countermeasures, expected multiplicative effect ◮ Reduce it to a small factor, ideally of 1. ◮ How: Bias the sums by independent partial attacks on secrets (i.e. shares) Olivier Bronchain Side-Channel Countermeasures’ Dissection 12 / 27

  64. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Countermeasures Dissection Mult. mask Add. mask + Perm f[ � r m Pr[ r m | � l | x ] ∝ � l r m ] · � r a Assuming ⊥ leakages on secret: �� � o 1 f [ � l r a | r a , o 1 ] · Pr[ o 1 | � · l o 1 ] �� � o 2 f [ � l c | c , o 2 ] · Pr[ o 2 | � · l o 2 ] Enc. + Perm Countermeasures’ Dissection: ◮ What: From combined countermeasures, expected multiplicative effect ◮ Reduce it to a small factor, ideally of 1. ◮ How: Bias the sums by independent partial attacks on secrets (i.e. shares) ◮ ց attack time complexity because terms are removed Olivier Bronchain Side-Channel Countermeasures’ Dissection 12 / 27

  65. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Countermeasures Dissection Mult. mask Add. mask + Perm f[ � r m Pr[ r m | � l | x ] ∝ � l r m ] · � r a Assuming ⊥ leakages on secret: �� � o 1 f [ � l r a | r a , o 1 ] · Pr[ o 1 | � · l o 1 ] �� � o 2 f [ � l c | c , o 2 ] · Pr[ o 2 | � · l o 2 ] Enc. + Perm Countermeasures’ Dissection: ◮ What: From combined countermeasures, expected multiplicative effect ◮ Reduce it to a small factor, ideally of 1. ◮ How: Bias the sums by independent partial attacks on secrets (i.e. shares) ◮ ց attack time complexity because terms are removed ◮ ց number of templates because not joint on all randomness Olivier Bronchain Side-Channel Countermeasures’ Dissection 12 / 27

  66. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Content Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Olivier Bronchain Side-Channel Countermeasures’ Dissection 13 / 27

  67. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Measurement Setup Composed of ◮ Cortex-M4 Atmel ◮ High end EM Probe ◮ PicoScope 5000 series sampling at 1GHz Olivier Bronchain Side-Channel Countermeasures’ Dissection 14 / 27

  68. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Measurement Setup Composed of ◮ Cortex-M4 Atmel ◮ High end EM Probe ◮ PicoScope 5000 series sampling at 1GHz Olivier Bronchain Side-Channel Countermeasures’ Dissection 14 / 27

  69. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Measurement Setup Composed of ◮ Cortex-M4 Atmel ◮ High end EM Probe ◮ PicoScope 5000 series sampling at 1GHz Olivier Bronchain Side-Channel Countermeasures’ Dissection 14 / 27

  70. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Measurement Setup Composed of ◮ Cortex-M4 Atmel ◮ High end EM Probe ◮ PicoScope 5000 series sampling at 1GHz How to extract information in ? Olivier Bronchain Side-Channel Countermeasures’ Dissection 14 / 27

  71. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Profiling (e.g., permutation) 1. Compute SNR seed ′ 1 seed ′ 2 0 . 10 SNR 0 . 05 0 . 00 0 . 0 0 . 2 0 . 4 0 . 6 0 . 8 1 . 0 × 10 − 3 time [ s ] Olivier Bronchain Side-Channel Countermeasures’ Dissection 15 / 27

  72. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Profiling (e.g., permutation) 1. Compute SNR seed ′ 1 seed ′ 2 0 . 10 2. Select points of interest SNR 0 . 05 0 . 00 0 . 0 0 . 2 0 . 4 0 . 6 0 . 8 1 . 0 × 10 − 3 time [ s ] Olivier Bronchain Side-Channel Countermeasures’ Dissection 15 / 27

  73. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Profiling (e.g., permutation) 1. Compute SNR seed ′ 1 seed ′ 2 0 . 10 2. Select points of interest SNR 0 . 05 0 . 00 0 . 0 0 . 2 0 . 4 0 . 6 0 . 8 1 . 0 × 10 − 3 time [ s ] 3000 Olivier Bronchain Side-Channel Countermeasures’ Dissection 15 / 27

  74. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Profiling (e.g., permutation) 1. Compute SNR seed ′ 1 seed ′ 2 0 . 10 2. Select points of interest SNR 0 . 05 3. Train projection 0 . 00 0 . 0 0 . 2 0 . 4 0 . 6 0 . 8 1 . 0 × 10 − 3 time [ s ] 3000 PCA Training Olivier Bronchain Side-Channel Countermeasures’ Dissection 15 / 27

  75. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Profiling (e.g., permutation) 1. Compute SNR seed ′ 1 seed ′ 2 0 . 10 2. Select points of interest SNR 0 . 05 3. Train projection 0 . 00 0 . 0 0 . 2 0 . 4 0 . 6 0 . 8 1 . 0 × 10 − 3 time [ s ] 3000 3000 PCA Training PCA Olivier Bronchain Side-Channel Countermeasures’ Dissection 15 / 27

  76. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Profiling (e.g., permutation) 1. Compute SNR seed ′ 1 seed ′ 2 0 . 10 2. Select points of interest SNR 0 . 05 3. Train projection 0 . 00 0 . 0 0 . 2 0 . 4 0 . 6 0 . 8 1 . 0 × 10 − 3 time [ s ] 4. Project to subspace 3000 3000 PCA Training PCA 3 20 0 . 200 0 . 175 15 0 . 150 10 1 ] f [ l 2 | seed ′ 0 . 125 l 1 0 . 100 5 0 . 075 0 . 050 0 0 . 025 − 5 0 . 000 − 15 − 10 − 5 0 5 − 10 − 5 0 5 10 15 l 2 l 0 Olivier Bronchain Side-Channel Countermeasures’ Dissection 15 / 27

  77. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Profiling (e.g., permutation) 1. Compute SNR seed ′ 1 seed ′ 2 0 . 10 2. Select points of interest SNR 0 . 05 3. Train projection 0 . 00 0 . 0 0 . 2 0 . 4 0 . 6 0 . 8 1 . 0 × 10 − 3 time [ s ] 4. Project to subspace 5. Fit pdf estimation (i.e. gauss.) 3000 3000 f [ � l o 1 | o 1 = 0] PCA Training PCA 3 20 0 . 200 0 . 175 15 0 . 150 10 1 ] f [ l 2 | seed ′ 0 . 125 l 1 0 . 100 5 0 . 075 0 . 050 0 0 . 025 − 5 0 . 000 − 15 − 10 − 5 0 5 − 10 − 5 0 5 10 15 l 2 l 0 Olivier Bronchain Side-Channel Countermeasures’ Dissection 15 / 27

  78. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Profiling (e.g., permutation) 1. Compute SNR seed ′ 1 seed ′ 2 0 . 10 2. Select points of interest SNR 0 . 05 3. Train projection 0 . 00 0 . 0 0 . 2 0 . 4 0 . 6 0 . 8 1 . 0 × 10 − 3 time [ s ] 4. Project to subspace 5. Fit pdf estimation (i.e. gauss.) 3000 3000 f [ � l o 1 | o 1 = 0] PCA Training PCA 3 20 0 . 200 0 . 175 15 0 . 150 10 1 ] f [ l 2 | seed ′ 0 . 125 l 1 0 . 100 5 0 . 075 0 . 050 0 f [ � 0 . 025 l o 1 | o 1 = 1] − 5 0 . 000 − 15 − 10 − 5 0 5 − 10 − 5 0 5 10 15 l 2 l 0 Olivier Bronchain Side-Channel Countermeasures’ Dissection 15 / 27

  79. Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Partial Attacks 0 . 03 1. Measure a trace Signal [ mV ] 0 . 02 0 . 01 0 . 00 − 0 . 01 0 . 0 0 . 2 0 . 4 0 . 6 0 . 8 1 . 0 time [ s ] × 10 − 3 PCA Training Olivier Bronchain Side-Channel Countermeasures’ Dissection 16 / 27

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