attacks and countermeasures for white box designs
play

Attacks and Countermeasures for White-box Designs Alex Biryukov, - PowerPoint PPT Presentation

Attacks and Countermeasures for White-box Designs Alex Biryukov, Aleksei Udovenko CSC and SnT, University of Luxembourg December 5, 2018 Plan 1 Introduction 2 Attacks on Masked White-box Implementations 3 Countermeasures 4 Algebraic Security 0


  1. Attacks and Countermeasures for White-box Designs Alex Biryukov, Aleksei Udovenko CSC and SnT, University of Luxembourg December 5, 2018

  2. Plan 1 Introduction 2 Attacks on Masked White-box Implementations 3 Countermeasures 4 Algebraic Security 0 / 19

  3. White-box Implementation fully available, secret key unextractable Extra : one-wayness, incompressibility, traitor traceability, ... 1 / 19

  4. White-box Implementation fully available, secret key unextractable Extra : one-wayness, incompressibility, traitor traceability, ... The most challenging direction (this talk): white-box implementations of existing symmetric primitives, e.g. the AES “Cryptographic obfuscation” 1 / 19

  5. White-box: Industry vs Academia 2 / 19

  6. White-box: Industry vs Academia many applications strong need for practical white-box industry does WB: hidden designs 2 / 19

  7. White-box: Industry vs Academia theory : approaches using iO/FE, currently many applications impractical strong need for practical practical WB-AES : few attempts white-box (2002-2017), industry does WB: all broken hidden designs powerful DCA attack (CHES 2016) 2 / 19

  8. White-Box: Differential Computation Analysis (DCA) DCA = Differential Power Analysis (DPA) applied to white-box implementations Most of the implementations broken automatically 3 / 19

  9. White-Box: Differential Computation Analysis (DCA) DCA = Differential Power Analysis (DPA) applied to white-box implementations Most of the implementations broken automatically Side-Channel protection: masking schemes 3 / 19

  10. White-Box: Differential Computation Analysis (DCA) DCA = Differential Power Analysis (DPA) applied to white-box implementations Most of the implementations broken automatically Side-Channel protection: masking schemes this talk : Can we apply the masking protection for white-box impl.? 3 / 19

  11. General Setting Boolean circuits Obfuscated reference implementation 4 / 19

  12. General Setting Boolean circuits Obfuscated reference implementation Predictable values : computations from ref. impl., e.g. s = Bit 1 ( SBox ( pt 1 ⊕ k 1 )) 4 / 19

  13. General Setting Boolean circuits Obfuscated reference implementation Predictable values : computations from ref. impl., e.g. s = Bit 1 ( SBox ( pt 1 ⊕ k 1 )) Masking : ∃ v 1 , . . . , v t nodes ( shares ), f : F t 2 → F 2 s.t. for any encryption f ( v 1 , . . . , v t ) = s 4 / 19

  14. Masking Schemes Example: Boolean masking: linear decoder f = ⨁︁ i v i Example: FHE: non-linear decoder f 5 / 19

  15. Masking Schemes Example: Boolean masking: linear decoder f = ⨁︁ i v i Example: FHE: non-linear decoder f Aim for efficient schemes: relatively small t (number of shares) 5 / 19

  16. Masking Schemes Example: Boolean masking: linear decoder f = ⨁︁ i v i Example: FHE: non-linear decoder f Aim for efficient schemes: relatively small t (number of shares) ⇒ can be secure only if the locations of the shares in the circuit are unknown! this talk : exploring this possibility 5 / 19

  17. Plan 1 Introduction 2 Attacks on Masked White-box Implementations 3 Countermeasures 4 Algebraic Security 5 / 19

  18. Attacks I Combinatorial attacks: (partially) guess locations of the shares probabilistic : correlation with predictable values exact : time-memory trade-off 6 / 19

  19. Attacks I Combinatorial attacks: (partially) guess locations of the shares probabilistic : correlation with predictable values exact : time-memory trade-off Fault attacks: new application: recover locations of the shares 1- and 2- share fault injections applicability depends on protections 6 / 19

  20. Attacks II (Generalized) Differential Computation Analysis (DCA): 7 / 19

  21. Attacks II (Generalized) Differential Computation Analysis (DCA): 7 / 19

  22. Attacks II (Generalized) Differential Computation Analysis (DCA): 7 / 19

  23. The Linear Algebra Attack (1) consider the Boolean masking (the linear decoder) matching with a predictable value s : a basic linear algebra problem: M × z = s , M = [ v 1 | . . . | v n ] 8 / 19

  24. The Linear Algebra Attack (1) consider the Boolean masking (the linear decoder) matching with a predictable value s : a basic linear algebra problem: M × z = s , M = [ v 1 | . . . | v n ] v i is the vector of values computed in the node i of the circuit z is a vector indicating locations of shares among nodes of the circuit higher-order masking does not help... 8 / 19

  25. The Linear Algebra Attack (2) Generalizations: nonlinear decoders , through linearization technique approximately linear decoders , through LPN algorithms 9 / 19

  26. The Linear Algebra Attack (2) Generalizations: nonlinear decoders , through linearization technique approximately linear decoders , through LPN algorithms semi-linear decoders: 1 assume s · r is computed/shared in the circuit, where 2 s is a predictable value 3 r is unpredictable (pseudorandom, ≈ uniform) 9 / 19

  27. The Linear Algebra Attack (2) Generalizations: nonlinear decoders , through linearization technique approximately linear decoders , through LPN algorithms semi-linear decoders: 1 assume s · r is computed/shared in the circuit, where 2 s is a predictable value 3 r is unpredictable (pseudorandom, ≈ uniform) 4 choose plaintexts p 1 , . . . , p D such that: s ( p i ) = 0 for 1 ≤ i ≤ D − 1 , s ( p i ) = 1 for i = D . 5 s · r will be equal to ( 0 , 0 , . . . , 0 , 1 ) with Pr = 1 / 2 6 if s is guessed wrong, such vector is unlikely to be a solution 9 / 19

  28. Plan 1 Introduction 2 Attacks on Masked White-box Implementations 3 Countermeasures 4 Algebraic Security 9 / 19

  29. Our Framework: Two Components Value Hiding Structure Hiding 10 / 19

  30. Our Framework: Two Components Value Hiding Structure Hiding 1 DCA side-channel attack 2 (new) linear algebra attack 10 / 19

  31. Our Framework: Two Components Value Hiding Structure Hiding 1 circuit analysis / simplification 1 DCA side-channel attack 2 fault injections 2 (new) linear algebra attack 3 pseudorandomness removal 4 etc. 10 / 19

  32. Our Framework: Two Components Value Hiding Structure Hiding 1 circuit analysis / simplification 1 DCA side-channel attack 2 fault injections 2 (new) linear algebra attack 3 pseudorandomness removal 4 etc. (hopefully) easier to solve independently 10 / 19

  33. Value Hiding Our solution for value hiding: 1 non-linear masking (vs linear algebra attack) 2 classic linear masking (vs DCA correlation attack) 3 provable security against the linear algebra attack 11 / 19

  34. Plan 1 Introduction 2 Attacks on Masked White-box Implementations 3 Countermeasures 4 Algebraic Security 11 / 19

  35. Algebraic Security (1/2) Security Model: 1 random bits allowed as in classic masking model unpredictability in WB impl. as pseudorandom 12 / 19

  36. Algebraic Security (1/2) Security Model: 1 random bits allowed as in classic masking model unpredictability in WB impl. as pseudorandom 2 Goal: any f ∈ span { v i } is unpredictable 12 / 19

  37. Algebraic Security (1/2) Security Model: 1 random bits allowed as in classic masking model unpredictability in WB impl. as pseudorandom 2 Goal: any f ∈ span { v i } is unpredictable 3 isolated from obfuscation problems 12 / 19

  38. Algebraic Security (2/2) Adversary: 1 chooses plaintext/key pairs 13 / 19

  39. Algebraic Security (2/2) Adversary: 1 chooses plaintext/key pairs 2 chooses f ∈ span { v i } 13 / 19

  40. Algebraic Security (2/2) Adversary: 1 chooses plaintext/key pairs 2 chooses f ∈ span { v i } 3 tries to predict values of this function (i.e. before random bits are sampled) 13 / 19

  41. Algebraic Security (2/2) Adversary: 1 chooses plaintext/key pairs 2 chooses f ∈ span { v i } 3 tries to predict values of this function (i.e. before random bits are sampled) 4 succeeds, if only f matches 13 / 19

  42. Algebraic Security (3/3) Proposition Let F = { f ( x , · , · ) | f ( x , r e , r c ) ∈ span { v i } , x ∈ F N 2 } . Let ε = max f ∈ F bias ( f ) , e = − log 2 ( 1 / 2 + ε ) . Then for any adversary 𝒝 choosing Q inputs Adv [ 𝒝 ] ≤ min ( 2 Q −| r c | , 2 − eQ ) . 14 / 19

  43. Algebraic Security (3/3) Proposition Let F = { f ( x , · , · ) | f ( x , r e , r c ) ∈ span { v i } , x ∈ F N 2 } . Let ε = max f ∈ F bias ( f ) , e = − log 2 ( 1 / 2 + ε ) . Then for any adversary 𝒝 choosing Q inputs Adv [ 𝒝 ] ≤ min ( 2 Q −| r c | , 2 − eQ ) . Corollary Let k be a positive integer. Then for any adversary 𝒝 Adv [ 𝒝 ] ≤ 2 − k if e > 0 and | r c | ≥ k · ( 1 + 1 e ) . 14 / 19

  44. Algebraic Security (3/3) Proposition Let F = { f ( x , · , · ) | f ( x , r e , r c ) ∈ span { v i } , x ∈ F N 2 } . Let ε = max f ∈ F bias ( f ) , e = − log 2 ( 1 / 2 + ε ) . Then for any adversary 𝒝 choosing Q inputs Adv [ 𝒝 ] ≤ min ( 2 Q −| r c | , 2 − eQ ) . Corollary Let k be a positive integer. Then for any adversary 𝒝 Adv [ 𝒝 ] ≤ 2 − k if e > 0 and | r c | ≥ k · ( 1 + 1 e ) . Information-theoretic security 14 / 19

Recommend


More recommend