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
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
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
➜ Black-box cryptanalysis ➜ Side-channel analysis 4 / 20 09-15-2015
➜ Black-box cryptanalysis: A ← ( m i , c i ) ➜ Side-Channel Analysis k m i c i 4 / 20 09-15-2015
➜ 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
➜ 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
➜ 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
➜ 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
➜ 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Recommend
More recommend