block ciphers implementations provably secure against
play

Block Ciphers Implementations Provably Secure Against Second Order - PowerPoint PPT Presentation

8 + Block Ciphers Implementations Provably Secure Against Second Order Side Channel Analysis Matthieu Rivain 1 , 2 , Emmanuelle Dottax 1 & Emmanuel Prouff 1 Oberthur Card Systems University of Luxembourg February 11, 2008 M. Rivain, E.


  1. 8 + Block Ciphers Implementations Provably Secure Against Second Order Side Channel Analysis Matthieu Rivain 1 , 2 , Emmanuelle Dottax 1 & Emmanuel Prouff 1 Oberthur Card Systems University of Luxembourg February 11, 2008 M. Rivain, E. Dottax & E. Prouff Block Ciphers Implementations Provably Secure ag. 2O-SCA

  2. Outline 8 + Introduction to (Second Order) Side Channel Analysis 1 Block Ciphers Implementations Secure Against 2O-SCA 2 S-box Implementations Secure Against 2O-SCA 3 Improvement 4 Comparison & Implementation Results 5 M. Rivain, E. Dottax & E. Prouff Block Ciphers Implementations Provably Secure ag. 2O-SCA

  3. Side Channel Analysis 8 + Side Channel Analysis (SCA) is a strong cryptanalytic technique targeting physical implementations The physical leakage of the execution of any algorithm depends on the intermediate variables SCA exploits leakage on sensitive variables that depend on the secret key M. Rivain, E. Dottax & E. Prouff Block Ciphers Implementations Provably Secure ag. 2O-SCA

  4. Side Channel Analysis 8 + V depends on a few key bits ⇒ possible key recovery attack exploiting L ( V ) M. Rivain, E. Dottax & E. Prouff Block Ciphers Implementations Provably Secure ag. 2O-SCA

  5. Side Channel Analysis 8 + V depends on a few key bits ⇒ possible key recovery attack exploiting L ( V ) Classical statistical distinguishers: ◮ correlation techniques – generic ◮ maximum likelihood – strong adversary model M. Rivain, E. Dottax & E. Prouff Block Ciphers Implementations Provably Secure ag. 2O-SCA

  6. Masking & Higher Order SCA 8 + One or several random values – the masks – are added to every sensitive variable M. Rivain, E. Dottax & E. Prouff Block Ciphers Implementations Provably Secure ag. 2O-SCA

  7. Masking & Higher Order SCA 8 + One or several random values – the masks – are added to every sensitive variable First order masking: one single mask M. Rivain, E. Dottax & E. Prouff Block Ciphers Implementations Provably Secure ag. 2O-SCA

  8. Masking & Higher Order SCA 8 + One or several random values – the masks – are added to every sensitive variable First order masking: one single mask Second Order Side Channel Analysis ◮ M : random mask ◮ V ⊕ M : masked variable M. Rivain, E. Dottax & E. Prouff Block Ciphers Implementations Provably Secure ag. 2O-SCA

  9. Masking & Higher Order SCA 8 + One or several random values – the masks – are added to every sensitive variable First order masking: one single mask Second Order Side Channel Analysis ◮ M : random mask ◮ V ⊕ M : masked variable To thwart 2O-SCA: use second order masking M. Rivain, E. Dottax & E. Prouff Block Ciphers Implementations Provably Secure ag. 2O-SCA

  10. Masking & Higher Order SCA 8 + One or several random values – the masks – are added to every sensitive variable First order masking: one single mask Second Order Side Channel Analysis ◮ M : random mask ◮ V ⊕ M : masked variable To thwart 2O-SCA: use second order masking d th order masking is broken by ( d + 1) th order SCA M. Rivain, E. Dottax & E. Prouff Block Ciphers Implementations Provably Secure ag. 2O-SCA

  11. Why Using Masking ? 8 + [Chari+ CRYPTO’99] SCA complexity increases ◮ exponentially with the masking order ◮ polynomially with hiding-like countermeasures (noise addition, operation order randomization, ...) Incrementing the masking order is of great interest for SCA resistance M. Rivain, E. Dottax & E. Prouff Block Ciphers Implementations Provably Secure ag. 2O-SCA

  12. Why Using Masking ? 8 + [Chari+ CRYPTO’99] SCA complexity increases ◮ exponentially with the masking order ◮ polynomially with hiding-like countermeasures (noise addition, operation order randomization, ...) Incrementing the masking order is of great interest for SCA resistance Many papers focus on improving 2O-SCA A few papers deal with resistant implementations M. Rivain, E. Dottax & E. Prouff Block Ciphers Implementations Provably Secure ag. 2O-SCA

  13. Why Using Masking ? 8 + [Chari+ CRYPTO’99] SCA complexity increases ◮ exponentially with the masking order ◮ polynomially with hiding-like countermeasures (noise addition, operation order randomization, ...) Incrementing the masking order is of great interest for SCA resistance Many papers focus on improving 2O-SCA A few papers deal with resistant implementations First step: provable security against 2O-SCA M. Rivain, E. Dottax & E. Prouff Block Ciphers Implementations Provably Secure ag. 2O-SCA

  14. Security Against 2O-SCA 8 + Definition (2O-SCA Security) A cryptographic algorithm is said to be secure against 2O-SCA if every pair of its intermediate variables is independent of any sensitive variable. An algorithm security can be formally proved ◮ listing all intermediate variables ◮ checking every pair independency M. Rivain, E. Dottax & E. Prouff Block Ciphers Implementations Provably Secure ag. 2O-SCA

  15. Block Cipher Description 8 + Iterated block cipher M. Rivain, E. Dottax & E. Prouff Block Ciphers Implementations Provably Secure ag. 2O-SCA

  16. Block Cipher Description 8 + Iterated block cipher Round transformation: ρ [ k ]( · ) = λ ◦ γ ◦ σ [ k ]( · ) M. Rivain, E. Dottax & E. Prouff Block Ciphers Implementations Provably Secure ag. 2O-SCA

  17. Securing Block Ciphers Implementations 8 + Second order masking: ◮ p = p 0 ⊕ p 1 ⊕ p 2 ◮ k = k 0 ⊕ k 1 ⊕ k 2 ( p 1 , p 2 ) and ( k 1 , k 2 ) randomly generated M. Rivain, E. Dottax & E. Prouff Block Ciphers Implementations Provably Secure ag. 2O-SCA

  18. Securing Block Ciphers Implementations 8 + Second order masking: ◮ p = p 0 ⊕ p 1 ⊕ p 2 ◮ k = k 0 ⊕ k 1 ⊕ k 2 ( p 1 , p 2 ) and ( k 1 , k 2 ) randomly generated Goal: perform a round transformation from the 3 shares ◮ The shares must be process separately ◮ The completeness relation must be preserved M. Rivain, E. Dottax & E. Prouff Block Ciphers Implementations Provably Secure ag. 2O-SCA

  19. Securing the Round Transformation 8 + Linear layer: simple M. Rivain, E. Dottax & E. Prouff Block Ciphers Implementations Provably Secure ag. 2O-SCA

  20. Securing the Round Transformation 8 + Linear layer: λ ( p ) = λ ( p 0 ) ⊕ λ ( p 1 ) ⊕ λ ( p 2 ) M. Rivain, E. Dottax & E. Prouff Block Ciphers Implementations Provably Secure ag. 2O-SCA

  21. Securing the Round Transformation 8 + Linear layer: λ ( p ) = λ ( p 0 ) ⊕ λ ( p 1 ) ⊕ λ ( p 2 ) Key addition layer: simple M. Rivain, E. Dottax & E. Prouff Block Ciphers Implementations Provably Secure ag. 2O-SCA

  22. Securing the Round Transformation 8 + Linear layer: λ ( p ) = λ ( p 0 ) ⊕ λ ( p 1 ) ⊕ λ ( p 2 ) Key addition layer: σ [ k ]( p ) = σ [ k 0 ]( p 0 ) ⊕ σ [ k 1 ]( p 1 ) ⊕ σ [ k 2 ]( p 2 ) M. Rivain, E. Dottax & E. Prouff Block Ciphers Implementations Provably Secure ag. 2O-SCA

  23. Securing the Round Transformation 8 + Linear layer: λ ( p ) = λ ( p 0 ) ⊕ λ ( p 1 ) ⊕ λ ( p 2 ) Key addition layer: σ [ k ]( p ) = σ [ k 0 ]( p 0 ) ⊕ σ [ k 1 ]( p 1 ) ⊕ σ [ k 2 ]( p 2 ) Non-linear layer: issue M. Rivain, E. Dottax & E. Prouff Block Ciphers Implementations Provably Secure ag. 2O-SCA

  24. Securing the Round Transformation 8 + Linear layer: λ ( p ) = λ ( p 0 ) ⊕ λ ( p 1 ) ⊕ λ ( p 2 ) Key addition layer: σ [ k ]( p ) = σ [ k 0 ]( p 0 ) ⊕ σ [ k 1 ]( p 1 ) ⊕ σ [ k 2 ]( p 2 ) Non-linear layer: issue ◮ Problem: secure an S-box implementation M. Rivain, E. Dottax & E. Prouff Block Ciphers Implementations Provably Secure ag. 2O-SCA

  25. Secure S-box Implementation – Problem 8 + S : n × m S-box M. Rivain, E. Dottax & E. Prouff Block Ciphers Implementations Provably Secure ag. 2O-SCA

  26. Secure S-box Implementation – Problem 8 + S : n × m S-box x = x ⊕ r 1 ⊕ r 2 : n -bit masked input, ( r 1 , r 2 ) : n -bit input masks ˜ M. Rivain, E. Dottax & E. Prouff Block Ciphers Implementations Provably Secure ag. 2O-SCA

  27. Secure S-box Implementation – Problem 8 + S : n × m S-box x = x ⊕ r 1 ⊕ r 2 : n -bit masked input, ( r 1 , r 2 ) : n -bit input masks ˜ ( s 1 , s 2 ) : m -bit output masks M. Rivain, E. Dottax & E. Prouff Block Ciphers Implementations Provably Secure ag. 2O-SCA

  28. Secure S-box Implementation – Problem 8 + S : n × m S-box x = x ⊕ r 1 ⊕ r 2 : n -bit masked input, ( r 1 , r 2 ) : n -bit input masks ˜ ( s 1 , s 2 ) : m -bit output masks Goal : process S ( x ) ⊕ s 1 ⊕ s 2 Requirement : every pair of inter. var. must be indep. of x M. Rivain, E. Dottax & E. Prouff Block Ciphers Implementations Provably Secure ag. 2O-SCA

  29. Our Proposition 8 + Input: ˜ x = x ⊕ r 1 ⊕ r 2 , ( r 1 , r 2 ) , ( s 1 , s 2 ) Output: S ( x ) ⊕ s 1 ⊕ s 2 1. r 3 ← rand ( n ) 2. r ′ ← ( r 1 ⊕ r 3 ) ⊕ r 2 3. for a from 0 to 2 n − 1 do a ′ ← a ⊕ r ′ 4. � � 5. T [ a ′ ] ← S (˜ x ⊕ a ) ⊕ s 1 ⊕ s 2 6. return T [ r 3 ] M. Rivain, E. Dottax & E. Prouff Block Ciphers Implementations Provably Secure ag. 2O-SCA

Recommend


More recommend