improved constructions of prfs secure against related key
play

Improved Constructions of PRFs Secure Against Related-Key Attacks - PowerPoint PPT Presentation

Improved Constructions of PRFs Secure Against Related-Key Attacks Kevin Lewi Hart Montgomery Ananth Raghunathan Stanford University Pseudorandom Functions (PRFs) x { 0 , 1 } R k K x k PRF PRF( k , x ) x Rand Rand(


  1. Improved Constructions of PRFs Secure Against Related-Key Attacks Kevin Lewi Hart Montgomery Ananth Raghunathan Stanford University

  2. Pseudorandom Functions (PRFs) x ∈ { 0 , 1 } ℓ R k ← − K x k PRF PRF( k , x ) ≈ x Rand Rand( x )

  3. Related-Key Attacks ◮ With physical access, attacker can cause device to flip bits of the key ◮ Key update protocols that update the key using a known function k , k + 1 , k + 2 , . . . F x F ( k + i , x )

  4. Related-Key Attacks on Blockciphers RKAs on blockciphers have been effective in key recovery: ◮ 3-DES, DESX related-key slide and differential attacks ◮ AES-192 and AES-256 related-key differential attacks [Biryukov, Khovratovich 2009] Other types of RKAs: ◮ boomerang attack, rectangle attack, SQUARE attack, and many more. . .

  5. RKA-secure PRFs for a Class Φ [BK03] For a fixed class Φ of related-key functions φ : K → K , x ∈ { 0 , 1 } ℓ , φ ∈ Φ R k ← − K φ x , φ k PRF PRF( φ ( k ) , x ) (Φ is the class of “related-key attacks” available to the adversary)

  6. RKA-secure PRFs for a Class Φ [BK03] For a fixed class Φ of related-key functions φ : K → K , x ∈ { 0 , 1 } ℓ , φ ∈ Φ x , φ Rand Rand( φ, x ) (Φ is the class of “related-key attacks” available to the adversary)

  7. PRFs under Related-Key Attacks (Example) x ∈ { 0 , 1 } ℓ , φ ∈ Φ R k ← − K x , φ ( k ) = k ⊕ 011 φ k PRF PRF( k ⊕ 011 , x ) Example: Suppose the adversary can tamper with the key by flipping any of its last 3 bits. Then, Φ = { φ z | z ∈ { 0 , 1 } 3 , φ z ( k ) = k ⊕ z }

  8. Related-Key Attacks from a Theoretical Perspective ◮ 2003: Bellare and Kohno established a theoretical foundation for building blockciphers and PRFs resistant against RKAs ◮ 2010: Bellare and Cash built the first PRFs secure against non-trivial RKAs ◮ 2011: Bellare, Cash, and Miller showed how to transfer RKA security to higher-level primitives (IBE, sigs, etc.) ◮ 2012: Bellare, Paterson, and Thomson showed how to get RKA security for more expressive classes of attacks

  9. Types of Algebraic Φ (from [BPT12]) For a PRF whose key space is F (field): ◮ Linear: Φ = { φ ( k ) = k + z } z ∈ F ◮ Affine: Φ = { φ ( k ) = a · k + b } a , b ∈ F ( a � = 0) ◮ Polynomial (bounded degree): Φ = { φ ( k ) = c 1 · k d + c 2 · k d − 1 + · · · + c d · k + c d +1 } c 1 ,..., c d +1 ∈ F

  10. Related Work [BC10] build RKA-secure PRFs for a non-trivial class of functions weaker than the linear class Primitive Linear Affine Polynomial IBE [BCM11] [BPT12] [BPT12] Sig [BCM11] [BPT12] [BPT12] CCA-secure PKE [Wee12] [BPT12] [BPT12] CPA-secure SKE [AHI11] [GNR11] [GNR11] PRF — — —

  11. Our Results Primitive Linear Affine Polynomial IBE [BCM11] [BPT12] [BPT12] Sig [BCM11] [BPT12] [BPT12] CCA-secure PKE [Wee12] [BPT12] [BPT12] CPA-secure SKE [AHI11] [GNR11] [GNR11] [this work] ∗ PRF [this work] [this work] (under LWE) (from multilinear maps) (from mmaps, only under “unique-input” security)

  12. ◮ The Bellare-Cash Framework ◮ Unique-Input RKA Security

  13. Bellare-Cash Framework Theorem (Bellare, Cash 2010) PRF +“key transformer for Φ ”+“fingerprint” → RKA-secure PRF for Φ given φ ∈ Φ and F ( k , · ), can compute F ( φ ( k ) , · ) an input w s.t. for all k and distinct φ 1 , φ 2 ∈ Φ, F ( φ 1 ( k ) , w ) � = F ( φ 2 ( k ) , w ) [BC10] Construction: F rka ( k , x ) = F prf ( k , H ( x � F prf ( k , w ))) (“compatible” CR hash function)

  14. Bellare-Cash Framework Theorem (Bellare, Cash 2010) PRF +“key transformer for Φ ”+“fingerprint” → RKA-secure PRF for Φ given φ ∈ Φ and F ( k , · ), can compute F ( φ ( k ) , · ) an input w s.t. for all k and distinct φ 1 , φ 2 ∈ Φ, F ( φ 1 ( k ) , w ) � = F ( φ 2 ( k ) , w ) [BC10] Construction: F rka ( k , x ) = F prf ( k , H ( x � F prf ( k , w ))) (“compatible” CR hash function)

  15. Our Main Tool: Key Homomorphic PRFs [BLMR13] For a PRF F : K × X → X : Key Homomorphism We say F is key homomorphic if for all inputs x and keys k 1 , k 2 , F ( k 1 , x ) + F ( k 2 , x ) = F ( k 1 + k 2 , x )

  16. Our Main Tool: Key Homomorphic PRFs [BLMR13] For a PRF F : K × X → X : Key Homomorphism We say F is key homomorphic if for all inputs x and keys k 1 , k 2 , F ( k 1 , x ) + F ( k 2 , x ) = F ( k 1 + k 2 , x ) Key Homomorphism ⇒ Key Transformers for Linear Φ For x and φ ( k ) = k + c , key transformer queries for F ( k , x ) and computes F ( c , x ) to form F ( φ ( k ) , x ).

  17. Two Key Homomorphic PRFs [BLMR13] ◮ For integers m , n , q , p > 0, k ∈ Z n q , x ∈ { 0 , 1 } ℓ , R − { 0 , 1 } m × n , A 0 , A 1 ← � ℓ � � pp = A 0 , A 1 , F LWE ( k , x ) = A x i · k i =1 p ◮ For integers m , q > 0, groups G 1 , . . . , G ℓ with a multilinear R map, K ∈ Z m × m , x ∈ { 0 , 1 } ℓ , A 0 , A 1 − { 0 , 1 } m × m , ← q F DLIN ( K , x ) = ( g ℓ ) K · � ℓ i =1 A xi pp = ( g 1 ) A 0 , ( g 1 ) A 1 , (here, g i is a generator for group G i )

  18. Key Homomorphic PRFs + BC framework pp = ( g 1 ) A 0 , ( g 1 ) A 1 pp = A 0 , A 1 � ℓ � F DLIN ( K , x ) = ( g ℓ ) K · � ℓ i =1 A xi � F LWE ( k , x ) = A x i · k i =1 p Theorem Applying the BC framework to F LWE yields a PRF secure against linear* related-key attacks. Theorem Applying the BC framework to F DLIN yields a PRF secure against affine related-key attacks.

  19. Key Homomorphic PRFs + BC framework pp = ( g 1 ) A 0 , ( g 1 ) A 1 pp = A 0 , A 1 � ℓ � F DLIN ( K , x ) = ( g ℓ ) K · � ℓ i =1 A xi � F LWE ( k , x ) = A x i · k i =1 p Theorem Applying the BC framework to F LWE yields a PRF secure against linear* related-key attacks. Theorem Applying the BC framework to F DLIN yields a PRF secure against affine related-key attacks. ...what about a PRF secure against polynomial related-key attacks?

  20. Unique-Input Security [BC10] R x i ∈ { 0 , 1 } ℓ , φ i ∈ Φ − { 0 , 1 } λ k ← x i , φ i k F F ( φ i ( k ) , x i ) Unique-Input Security: The inputs x i are unique

  21. Unique-Input Security For Polynomials pp = ( g 1 ) A 0 , ( g 1 ) A 1 F DLIN ( K , x ) = ( g ℓ ) K · � ℓ i =1 A xi Theorem F DLIN is a PRF secure against polynomial related-key attacks (unique-input). Open Problem: Can we show that F DLIN is secure against polynomial RKAs without the unique-input restriction?

  22. Our Results Primitive Linear Affine Polynomial IBE [BCM11] [BPT12] [BPT12] Sig [BCM11] [BPT12] [BPT12] CCA-secure PKE [Wee12] [BPT12] [BPT12] CPA-secure SKE [AHI11] [GNR11] [GNR11] [this work] ∗ PRF [this work] [this work] (under LWE) (from multilinear maps) (from mmaps, only under “unique-input” security)

  23. Thanks!

Recommend


More recommend