improved side channel analysis of finite field
play

Improved Side-Channel Analysis of Finite-Field Multiplication Sonia - PowerPoint PPT Presentation

Improved Side-Channel Analysis of Finite-Field Multiplication Sonia Belad 1 Jean-Sbastien Coron 2 Pierre-Alain Fouque 3 Benot Grard 4 Jean-Gabriel Kammerer 5 Emmanuel Prouff 6 1cole normale suprieure and Thales Communications &


  1. Improved Side-Channel Analysis of Finite-Field Multiplication Sonia Belaïd 1 Jean-Sébastien Coron 2 Pierre-Alain Fouque 3 Benoît Gérard 4 Jean-Gabriel Kammerer 5 Emmanuel Prouff 6 1École normale supérieure and Thales Communications & Security, 2University of Luxembourg 3Université de Rennes 1 and Institut Universitaire de France 4DGA.MI and IRISA 5DGA.MI and IRMAR 6ANSSI 1 / 20 09-15-2015

  2. Outline Introduction Side-Channel Attacks Classical Power-Analysis Attacks Hidden Multiplier Problem State of The Art New Attack Main Idea Filtering Solving the System with Errors Extension to Chosen Inputs Conclusion 2 / 20 09-15-2015

  3. Outline Introduction Side-Channel Attacks Classical Power-Analysis Attacks Hidden Multiplier Problem State of The Art New Attack Main Idea Filtering Solving the System with Errors Extension to Chosen Inputs Conclusion 3 / 20 09-15-2015

  4. ➜ Black-box cryptanalysis ➜ Side-channel analysis 4 / 20 09-15-2015

  5. ➜ Black-box cryptanalysis: A ← ( m i , c i ) ➜ Side-Channel Analysis k m i c i 4 / 20 09-15-2015

  6. ➜ Black-box cryptanalysis ➜ Side-Channel Analysis: A ← ( m i , c i , L i ) k c i m i L i 4 / 20 09-15-2015

  7. ➜ Black-box cryptanalysis ➜ Side-Channel Analysis: A ← ( m i , c i , L i ) k c i m i L i 4 / 20 09-15-2015

  8. ➜ Black-box cryptanalysis ➜ Side-Channel Analysis: A ← ( m i , c i , L i ) k c i m i L i 4 / 20 09-15-2015

  9. ➜ Black-box cryptanalysis ➜ Side-Channel Analysis: A ← ( m i , c i , L i ) k c i m i L i 4 / 20 09-15-2015

  10. ➜ Black-box cryptanalysis ➜ Side-Channel Analysis: A ← ( m i , c i , L i ) k c i m i L i 4 / 20 09-15-2015

  11. Classical Power-Analysis Attack against AES Attack on 8 bits ◮ prediction of the outputs for the 128-bit input m 256 possible 8-bit secret – 8 bits ◮ correlation between predictions � k 0 and leakage ◮ selection of the best correlation to S-box find the correct 8-bit secret 8-bit v Attack on 128 bits ◮ repetition of the attack on 8 bits on each S-box 5 / 20 09-15-2015

  12. Power-Analysis Attack against AES-GCM authentication, multiplication-based fresh re-keying, ... ➜ k is only manipulated in multiplications 128-bit input m 128-bit key k × 8 × 8 ... × 8 128-bit output v 6 / 20 09-15-2015

  13. Power-Analysis Attack against AES-GCM authentication, multiplication-based fresh re-keying, ... ➜ k is only manipulated in multiplications 128-bit input m 128-bit key k 128-bit input m 128-bit key k × 8 × 8 × 128 ... 128-bit output v × 8 128-bit output v 6 / 20 09-15-2015

  14. Hidden Multiplier Problem n-bit input m n-bit key k Definition Let k ← GF ( 2 n ) . Let ℓ ∈ N . Given a sequence { m i , L i } 1 ≤ i ≤ ℓ × n where ◮ m i ← GF ( 2 n ) ◮ L i = HW ( v i )+ ε i , ε i ∼ N ( 0 , σ 2 ) n-bit output v recover k . 7 / 20 09-15-2015

  15. State of The Art Sonia Belaïd, Pierre-Alain Fouque, and Benoît Gérard. Side-channel analysis of multiplications in GF ( 2 128 ) - application to AES-GCM. In Asiacrypt 2014, Proceedings, Part II , pages 306–325. ➜ use Hamming Weights’ LSB ➜ solve a system with errors Signal-to-Noise Ratio = signal variance noise variance = 32 /σ 2 Method 3.200 800 200 128 ( 2 8 , 2 21 ) ( 2 8 , 2 21 ) ( 2 8 , 2 65 ) ( 2 8 , 2 107 ) Naive method ( C s , C t ) ( 2 11 , 2 14 ) ( 2 20 , 2 22 ) ( 2 32 , 2 34 ) ( 2 48 , 2 50 ) LPN (LF Algo) ( C s , C t ) Linear decoding ( C s , C t ) ( 2 6 , 2 6 ) ( 2 6 , 2 7 ) ( 2 8 , 2 25 ) ( 2 9 , 2 62 ) 8 / 20 09-15-2015

  16. State of The Art Sonia Belaïd, Pierre-Alain Fouque, and Benoît Gérard. Side-channel analysis of multiplications in GF ( 2 128 ) - application to AES-GCM. In Asiacrypt 2014, Proceedings, Part II , pages 306–325. ➜ use Hamming Weights’ LSB ➜ solve a system with errors Signal-to-Noise Ratio = signal variance noise variance = 32 /σ 2 Method 3.200 800 200 128 ( 2 8 , 2 21 ) ( 2 8 , 2 21 ) ( 2 8 , 2 65 ) ( 2 8 , 2 107 ) Naive method ( C s , C t ) ( 2 11 , 2 14 ) ( 2 20 , 2 22 ) ( 2 32 , 2 34 ) ( 2 48 , 2 50 ) LPN (LF Algo) ( C s , C t ) Linear decoding ( C s , C t ) ( 2 6 , 2 6 ) ( 2 6 , 2 7 ) ( 2 8 , 2 25 ) ( 2 9 , 2 62 ) ✘ specific to multiplication in GF ( 2 128 ) ✘ highly impacted by noise 8 / 20 09-15-2015

  17. Outline Introduction Side-Channel Attacks Classical Power-Analysis Attacks Hidden Multiplier Problem State of The Art New Attack Main Idea Filtering Solving the System with Errors Extension to Chosen Inputs Conclusion 9 / 20 09-15-2015

  18. Contributions New Attack: ➜ filter the multiplication’s outputs leakage to extract high and low Hamming weights ➜ solve a system with errors 10 / 20 09-15-2015

  19. Contributions New Attack: ➜ filter the multiplication’s outputs leakage to extract high and low Hamming weights ➜ solve a system with errors ✔ less impacted by noise ✔ more generic 10 / 20 09-15-2015

  20. Main Idea of The Attack Reminder: L ( v ) = HW ( v ) + ε = HW ( m · k ) + ε Extreme cases: HW ( v ) = n ➜ v = 2 n − 1 HW ( v ) = 0 ➜ v = 0  � �  � �   � � � � k j = 0 k j = 1   v 0 = i ∈ I ( 0 , j ) m i v 0 = i ∈ I ( 0 , j ) m i       0 � j < n 0 � j < n      � �  � �       � � � � k j = 0 k j = 1   v 1 = i ∈ I ( 1 , j ) m i v 1 = i ∈ I ( 1 , j ) m i   0 � j < n 0 � j < n . . . . . .   . . . . . .   . . . . . .         � � � �       � � � �  k j = 0  k j = 1 v n − 1 = i ∈ I ( n − 1 , j ) m i v n − 1 = i ∈ I ( n − 1 , j ) m i       0 � j < n 0 � j < n 11 / 20 09-15-2015

  21. Main Idea of The Attack Reminder: L ( v ) = HW ( v ) + ε = HW ( m · k ) + ε Usual cases: L ( v ) high ➜ v ≈ 2 n − 1 L ( v ) low ➜ v ≈ 0  � �  � �   � � � � k j = 0 k j = 1   v 0 = i ∈ I ( 0 , j ) m i v 0 = i ∈ I ( 0 , j ) m i       0 � j < n 0 � j < n      � �  � �       � � � � k j = 0 k j = 1   v 1 = i ∈ I ( 1 , j ) m i v 1 = i ∈ I ( 1 , j ) m i   0 � j < n 0 � j < n . . . . . .   . . . . . .   . . . . . .         � � � �       � � � �  k j = 0  k j = 1 v n − 1 = i ∈ I ( n − 1 , j ) m i v n − 1 = i ∈ I ( n − 1 , j ) m i       0 � j < n 0 � j < n with an error probability p 11 / 20 09-15-2015

  22. Two Steps 1. filter the lowest and highest Hamming weights with a limited number of consumption traces to limit the error probability p ➜ obtain a linear system with errors 2. solve the system with the error probability p ➜ recover the secret key k 12 / 20 09-15-2015

  23. Step 1: Filtering 50 78 · 10 − 2 B ( 128 , 0 . 5 ) 6 . 0 √ n √ n 4 . 0 HW < n HW > n 2 − λ 2 + λ 2 2 2 . 0 0 . 0 20 40 60 80 100  SNR = 128  1 trace over 2 5 filtering:  n = 128 error probability: p ≈ 0 . 38  λ ≈ 2 . 5  13 / 20 09-15-2015

  24. Step 1: Filtering Proportion of filtered acquisitions: � n / 2 + λ s n � n � √ � F ( λ, σ ) = 1 − 2 − n with s = n / 2 φ y ,σ ( t ) dt , y y = 0 n / 2 − λ s Error probability:    n / 2 − λ s  � n � + ∞ n   1 � � y � 1 − y � �   y p ( λ, σ ) = φ y ,σ ( t ) dt + φ y ,σ ( t ) dt   2 n F ( λ, σ ) n n   y = 0   n / 2 + λ s −∞   � �� � � �� � low Hamming weights high Hamming weights 14 / 20 09-15-2015

  25. Step 1: Filtering log 2 ( 1 / F ( λ )) 30 25 20 15 10 5 SNR = 128, σ = 0 . 5 6 . 00 5 . 46 4 . 85 4 . 15 3 . 29 2 . 16 λ 0 . 23 0 . 25 0 . 28 0 . 31 0 . 34 0 . 39 p p [BFG14] 0 . 31 SNR = 8, σ = 2 6 . 37 5 . 79 5 . 14 4 . 39 3 . 48 2 . 28 λ 0 . 25 0 . 27 0 . 29 0 . 32 0 . 35 0 . 40 p p [BFG14] > 0 . 49 SNR = 2, σ = 4 7 . 42 6 . 73 5 . 97 5 . 09 4 . 03 2 . 64 λ 0 . 28 0 . 30 0 . 32 0 . 34 0 . 37 0 . 41 p p [BFG14] > 0 . 49 SNR = 0 . 5, σ = 8 10 . 57 9 . 58 8 . 48 7 . 21 5 . 71 3 . 73 λ 0 . 34 0 . 36 0 . 37 0 . 39 0 . 41 0 . 44 p p [BFG14] > 0 . 49 15 / 20 09-15-2015

  26. Step 2: Solving the System with Errors Classical LPN problem: recover the secret key from a noisy system - limited memory - limited computational power Specific constraints: - limited number of equations/consumption traces - key size n ( e.g. , 128) - probability of errors dependent on the filtering and on the noise 16 / 20 09-15-2015

  27. Experiments ◮ Filtering on a Virtex 5 (128 bits) : SNR = 8 . 21, σ = 7 . 11 0 . 44 p theoretical error probabilities p experimental 0 . 42 0 . 4 0 . 38 0 . 36 1 1 . 5 2 2 . 5 3 3 . 5 4 filtering ( λ ) ◮ Expected complexities to recover k with 2 20 traces ( p ≈ 0 . 29) 2 59 . 31 , 2 27 . 00 � � 2 51 . 68 , 2 36 . 00 � (time , memory ) � 2 50 . 00 , 2 44 . 00 � � 17 / 20 09-15-2015

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