security of hedged fiat shamir signatures under fault
play

Security of Hedged FiatShamir Signatures under Fault Attacks - PowerPoint PPT Presentation

Security of Hedged FiatShamir Signatures under Fault Attacks Eurocrypt 2020 ePrint 2019/956 Diego F. Aranha 1 Claudio Orlandi 1 Akira Takahashi 1 Greg Zaverucha 2 May 14, 2020 1 Aarhus University, Denmark 2 Microsoft Research, United States 1


  1. Security of Hedged Fiat–Shamir Signatures under Fault Attacks Eurocrypt 2020 ePrint 2019/956 Diego F. Aranha 1 Claudio Orlandi 1 Akira Takahashi 1 Greg Zaverucha 2 May 14, 2020 1 Aarhus University, Denmark 2 Microsoft Research, United States 1

  2. This Talk in a Nutshell… • Goal • Formally analyze the fault-resilience of existing Fiat–Shamir signatures, motivated by actual attacks. • Outline 1. Brief history of the fault attacks on FS signatures and randomness hedging. 2. Fault attacker model. 3. Overview of our provable security analysis. 2

  3. Fiat–Shamir-type Signatures and Attacks

  4. a e z Signature from Canonical ID Protocol Prover ( sk ; r ) Verifier ( pk ) ( a , St ) ← Com ( sk ; r ) e ← $ C H z ← Resp ( sk , e , St ) 0 / 1 ← V ( a , e , z , pk ) • If ID is special HVZK and special sound (= Σ -protocol), then SIG := FS [ ID ] is UF-CMA secure. 3 • e.g., Schnorr, Guillou–Quisquater, etc.

  5. Signature from Canonical ID Protocol Sign ( sk , m ; r ) Verifier ( pk , m ) ( a , St ) ← Com ( sk ; r ) e ← H ( a , m ) a , e , z z ← Resp ( sk , e , St ) 0 / 1 ← V ( a , e , z , pk ) ? H ( a , m ) = e • If ID is special HVZK and special sound (= Σ -protocol), then SIG := FS [ ID ] is UF-CMA secure. • e.g., Schnorr, Guillou–Quisquater, etc. 3

  6. Signature from Canonical ID Protocol Sign ( sk , m ; r ) Verifier ( pk , m ) ( a , St ) ← Com ( sk ; r ) e ← H ( a , m ) a , e , z z ← Resp ( sk , e , St ) 0 / 1 ← V ( a , e , z , pk ) ? H ( a , m ) = e • If ID is special HVZK and special sound (= Σ -protocol), then SIG := FS [ ID ] is UF-CMA secure. • e.g., Schnorr, Guillou–Quisquater, etc. 3

  7. m Sensitivity of Per-signature Randomness RSign ( sk , m ) A r ← RNG ( · ) ( a , St ) ← Com ( sk ; r ) e ← H ( a , m ) a , e , z z ← Resp ( sk , e , St ) • r must follow the uniform distribution. • Otherwise there is an attack! 4

  8. Randomness Failure in Practice • Poorly designed RNGs. • VM resets � same snapshot will end up with the same seed. • Side-channel leakage. • and more . . . BBC news. 2011. https://www.bbc.com/news/ technology-12116051 5

  9. Popular Solution: Deterministic Randomness Generation r ← RNG ( · ) ✘ ✘✘✘✘✘✘✘✘ r ← H ′ ( sk , m ) • Hash each message keyed with sk . • Widely implemented, e.g., in EdDSA, ECDSA, Dilithium, etc. • However, another practical issue arises… 6

  10. Deterministic FS is Vulnerable to Faults! • Fault attack • Modifies the internal state of the device. • Can be performed remotely (e.g., Rowhammer) • Many recent fault attacks on FS! [BP16, ABF + 18, RP17, PSS + 18, SB18, BP18, RJH + 19] • Idea: exploit determinism to rewind the prover (= signer). 7

  11. Deterministic FS is Vulnerable to Faults! • Fault attack • Modifies the internal state of the device. • Can be performed remotely (e.g., Rowhammer) • Many recent fault attacks on FS! [BP16, ABF + 18, RP17, PSS + 18, SB18, BP18, RJH + 19] • Idea: exploit determinism to rewind the prover (= signer). 7

  12. Deterministic FS is Vulnerable to Faults! • Fault attack • Modifies the internal state of the device. • Can be performed remotely (e.g., Rowhammer) • Many recent fault attacks on FS! [BP16, ABF + 18, RP17, PSS + 18, SB18, BP18, RJH + 19] • Idea: exploit determinism to rewind the prover (= signer). 7

  13. m Fault Adversary Type I: Special Soundness Attack DSign ( sk , m ) A r ← H ′ ( sk , m ) ( a , St ) ← Com ( sk ; r ) e ← H ( a , m ) a , e , z z ← Resp ( sk , e , St ) • Query 1: get the legitimate signature ( a , e , z ) on m . • Query 2: get a faulty signature ( a , ˜ z ) on the same m , by injecting fault on e , ˜ hash I/O or commitment output. • Special soundness allows A to recover sk ! 8

  14. z Fault Adversary Type I: Special Soundness Attack m , � DSign ( sk , m ) A r ← H ′ ( sk , m ) ( a , St ) ← Com ( sk ; r ) e ← H ( a , m ) � ˜ a , ˜ e , ˜ z ← Resp ( sk , ˜ ˜ e , St ) • Query 1: get the legitimate signature ( a , e , z ) on m . • Query 2: get a faulty signature ( a , ˜ z ) on the same m , by injecting fault on e , ˜ hash I/O or commitment output. • Special soundness allows A to recover sk ! 8

  15. z Fault Adversary Type I: Special Soundness Attack m , � DSign ( sk , m ) A r ← H ′ ( sk , m ) ( a , St ) ← Com ( sk ; r ) e ← H ( a , m ) � ˜ a , ˜ e , ˜ z ← Resp ( sk , ˜ ˜ e , St ) • Query 1: get the legitimate signature ( a , e , z ) on m . • Query 2: get a faulty signature ( a , ˜ z ) on the same m , by injecting fault on e , ˜ hash I/O or commitment output. • Special soundness allows A to recover sk ! 8

  16. m Fault Adversary Type II: Large Randomness Bias Attack DSign ( sk , m ) A r ← H ′ ( sk , m ) ( a , St ) ← Com ( sk ; r ) e ← H ( a , m ) a , e , z z ← Resp ( sk , e , St ) • Query 1: get the legitimate signature ( a , e , z ) on m . • Query 2: get a faulty signature (˜ z ) on the same m , by injecting fault on r a , ˜ e , ˜ or Resp input. • Second signature relies on correlated randomness ˜ r = r + ∆ ! 9

  17. z Fault Adversary Type II: Large Randomness Bias Attack m , � DSign ( sk , m ) A r ← H ′ ( sk , m ) � ˜ a , ˜ St ) ← Com ( sk ;˜ (˜ r ) e ← H (˜ ˜ a , m ) ˜ a , ˜ e , ˜ e , ˜ z ← Resp ( sk , ˜ ˜ St ) • Query 1: get the legitimate signature ( a , e , z ) on m . • Query 2: get a faulty signature (˜ z ) on the same m , by injecting fault on r a , ˜ e , ˜ or Resp input. • Second signature relies on correlated randomness ˜ r = r + ∆ ! 9

  18. z Fault Adversary Type II: Large Randomness Bias Attack m , � DSign ( sk , m ) A r ← H ′ ( sk , m ) � ˜ a , ˜ St ) ← Com ( sk ;˜ (˜ r ) e ← H (˜ ˜ a , m ) ˜ a , ˜ e , ˜ e , ˜ z ← Resp ( sk , ˜ ˜ St ) • Query 1: get the legitimate signature ( a , e , z ) on m . • Query 2: get a faulty signature (˜ z ) on the same m , by injecting fault on r a , ˜ e , ˜ or Resp input. • Second signature relies on correlated randomness ˜ r = r + ∆ ! 9

  19. Better Countermeasure? – Randomness Hedging r ← RNG ( · ) ✘ ✘✘✘✘✘✘✘✘ r ← H ′ ( sk , m ) ✭✭✭✭✭✭✭✭✭✭ r ← H ′ ( sk , m , nonce ) • Nonces could be from low-quality PRNG, or just a counter. • Randomness r doesn’t repeat on the same message. • Seems secure, but no formal analysis so far. To what extent are hedged FS signatures secure against fault attacks? 10

  20. Better Countermeasure? – Randomness Hedging r ← RNG ( · ) ✘ ✘✘✘✘✘✘✘✘ r ← H ′ ( sk , m ) ✭✭✭✭✭✭✭✭✭✭ r ← H ′ ( sk , m , nonce ) • Nonces could be from low-quality PRNG, or just a counter. • Randomness r doesn’t repeat on the same message. • Seems secure, but no formal analysis so far. To what extent are hedged FS signatures secure against fault attacks? 10

  21. Better Countermeasure? – Randomness Hedging r ← RNG ( · ) ✘ ✘✘✘✘✘✘✘✘ r ← H ′ ( sk , m ) ✭✭✭✭✭✭✭✭✭✭ r ← H ′ ( sk , m , nonce ) • Nonces could be from low-quality PRNG, or just a counter. • Randomness r doesn’t repeat on the same message. • Seems secure, but no formal analysis so far. To what extent are hedged FS signatures secure against fault attacks? 10

  22. Better Countermeasure? – Randomness Hedging r ← RNG ( · ) ✘ ✘✘✘✘✘✘✘✘ r ← H ′ ( sk , m ) ✭✭✭✭✭✭✭✭✭✭ r ← H ′ ( sk , m , nonce ) • Nonces could be from low-quality PRNG, or just a counter. • Randomness r doesn’t repeat on the same message. • Seems secure, but no formal analysis so far. To what extent are hedged FS signatures secure against fault attacks? 10

  23. Contributions • Formal attacker model and security notions to capture the corrupted nonces and previous fault attacks. • Proved that hedged FS schemes in general are (in)secure against certain class of fault attacks. • Application to concrete instantiations. • XEdDSA: Variant of EdDSA used in Signal • Picnic2: NIST PQC competition round 2 candidate 11

  24. Attacker Model and Security Notions

  25. Approach • UF-fCMNA Security • UnForgeability against Faults, Chosen Message and Nonce Attacks • Models hedged construction and corrupted nonces (inspired by [BPS16, BT16]). • Equips the adversary with bit-tampering fault attacks. • Tailored to Fiat–Shamir. 12

  26. Approach • UF-fCMNA Security • UnForgeability against Faults, Chosen Message and Nonce Attacks • Models hedged construction and corrupted nonces (inspired by [BPS16, BT16]). • Equips the adversary with bit-tampering fault attacks. • Tailored to Fiat–Shamir. 12

  27. Approach • UF-fCMNA Security • UnForgeability against Faults, Chosen Message and Nonce Attacks • Models hedged construction and corrupted nonces (inspired by [BPS16, BT16]). • Equips the adversary with bit-tampering fault attacks. • Tailored to Fiat–Shamir. 12

  28. Approach • UF-fCMNA Security • UnForgeability against Faults, Chosen Message and Nonce Attacks • Models hedged construction and corrupted nonces (inspired by [BPS16, BT16]). • Equips the adversary with bit-tampering fault attacks. • Tailored to Fiat–Shamir. 12

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