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

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