securing dnssec keys via threshold ecdsa from generic mpc
play

Securing DNSSEC Keys via Threshold ECDSA From Generic MPC Kris - PowerPoint PPT Presentation

Securing DNSSEC Keys via Threshold ECDSA From Generic MPC Kris Shrishak TU Darmstadt, Germany November 6, 2020 NIST Workshop on Multi-Party Threshold Schemes 2020 Based on work published at ESORICS20 with Anders Dalskov, Marcel Keller,


  1. Securing DNSSEC Keys via Threshold ECDSA From Generic MPC Kris Shrishak TU Darmstadt, Germany November 6, 2020 NIST Workshop on Multi-Party Threshold Schemes 2020 Based on work published at ESORICS’20 with Anders Dalskov, Marcel Keller, Claudio Orlandi and Haya Shulman

  2. This work Threshold ECDSA for DNS zone signing 1 / 20

  3. This work Threshold ECDSA for DNS zone signing - Key security for DNSSEC - Generic way of doing threshold ECDSA (signing and key gen) - Support for lots of different threat models - As fast, or faster, than previous work 1 / 20

  4. Outline DNS and DNSSEC Threshold signatures for DNSSEC

  5. Outline DNS and DNSSEC Threshold signatures for DNSSEC

  6. DNS DNS is a protocol for mapping names to addresses “It’s at 198.51.100.43 ” “Where is ducks.de. ?” Client DNS Server HTTP GET / Host: ducks.de https://ducks.de 198.51.100.43 2 / 20

  7. DNS DNS is a protocol for mapping names to addresses “It’s at 198.51.100.43 ” “Where is ducks.de. ?” Client DNS Server HTTP GET / Host: ducks.de https://ducks.de 198.51.100.43 2 / 20

  8. DNS DNS is a protocol for mapping names to addresses “It’s at 198.51.100.43 ” “Where is ducks.de. ?” Client DNS Server HTTP GET / Host: ducks.de https://ducks.de 198.51.100.43 2 / 20

  9. DNS DNS is a protocol for mapping names to addresses “It’s at 198.51.100.43 ” “Where is ducks.de. ?” Client DNS Server HTTP GET / Host: ducks.de https://ducks.de 198.51.100.43 2 / 20

  10. DNS Insecurity Poisoning/Spoofing is possible 3 / 20

  11. DNS Insecurity Poisoning/Spoofing is possible First answer is accepted 3 / 20

  12. DNS Insecurity Poisoning/Spoofing is possible First answer is accepted Adversary HTTP GET / 198.51.100.123 Host: ducks.de 198.51.100.123 ducks.de.? ducks.de.? Client ISP DNS Server https://ducks.de 198.51.100.43 3 / 20

  13. DNS Insecurity Poisoning/Spoofing is possible First answer is accepted Adversary HTTP GET / 198.51.100.123 Host: ducks.de 198.51.100.123 ducks.de.? ducks.de.? Client ISP DNS Server https://ducks.de 198.51.100.43 3 / 20

  14. DNS Insecurity Poisoning/Spoofing is possible First answer is accepted Adversary HTTP GET / 198.51.100.123 Host: ducks.de 198.51.100.123 ducks.de.? ducks.de.? Client ISP DNS Server https://ducks.de 198.51.100.43 3 / 20

  15. DNS Insecurity Poisoning/Spoofing is possible First answer is accepted Adversary HTTP GET / 198.51.100.123 Host: ducks.de 198.51.100.123 ducks.de.? ducks.de.? Client ISP DNS Server https://ducks.de 198.51.100.43 3 / 20

  16. DNS Insecurity Poisoning/Spoofing is possible First answer is accepted Adversary HTTP GET / 198.51.100.123 Host: ducks.de 198.51.100.123 ducks.de.? ducks.de.? Client ISP DNS Server https://ducks.de 198.51.100.43 3 / 20

  17. DNSSEC DNSSEC fixes this problem - Data integrity: data was not changed in transit - Origin authentication: data originated from the owner 4 / 20

  18. DNS in practice DNS Operators Domains Cloudflare ducks.de Azure DNS cuteswans.de UltraDNS 5 / 20

  19. DNSSEC deployment issues Studies 12 have found that - Some operators use the same key for all domains - E.g., one key shared by > 132 000 domains 1 A Longitudinal, End-to-End View of the DNSSEC Ecosystem (USENIX ’17) 2 One Key to Sign Them All Considered Vulnurable: Evaluation of DNSSEC in the Internet (NSDI ’17) 6 / 20

  20. DNSSEC deployment issues Studies 12 have found that - Some operators use the same key for all domains - E.g., one key shared by > 132 000 domains 1 A Longitudinal, End-to-End View of the DNSSEC Ecosystem (USENIX ’17) 2 One Key to Sign Them All Considered Vulnurable: Evaluation of DNSSEC in the Internet (NSDI ’17) 6 / 20

  21. DNSSEC deployment issues Studies 12 have found that - Some operators use the same key for all domains - E.g., one key shared by > 132 000 domains - Default is 1024-bit RSA - Most keys 1024-bit, with ∼ 10K domains use 512-bit RSA - The majority of keys were not rotated in a 21-month period - Some providers use different keys but share the modulus 1 A Longitudinal, End-to-End View of the DNSSEC Ecosystem (USENIX ’17) 2 One Key to Sign Them All Considered Vulnurable: Evaluation of DNSSEC in the Internet (NSDI ’17) 6 / 20

  22. DNSSEC in practice DNSSEC - Should use ECDSA instead of RSA - Shorter signatures reduce the chance of packet fragmentation 1 1 RFC 6781 recommends 1024-bit RSA for this reason 2 See 2016 Dyn attacks 3 RFC 8901: Multi-Signer DNSSEC Models 7 / 20

  23. DNSSEC in practice DNSSEC - Should use ECDSA instead of RSA - Shorter signatures reduce the chance of packet fragmentation 1 - Support multiple name servers - better availability and DDoS protection 2 - new standard 3 requires zone owner interaction while relinquishing key control 1 RFC 6781 recommends 1024-bit RSA for this reason 2 See 2016 Dyn attacks 3 RFC 8901: Multi-Signer DNSSEC Models 7 / 20

  24. Outline DNS and DNSSEC Threshold signatures for DNSSEC

  25. Threshold signatures for DNSSEC Zone signing with Threshold ECDSA [sk] ← Share (sk) 8 / 20

  26. Threshold signatures for DNSSEC Zone signing with Threshold ECDSA [sk] ← Share (sk) DNS Operators [sk] 1.2.3.4 Sig sk ( 1 . 2 . 3 . 4 || ducks . de ) ducks.de.? ISP [sk] [sk] MPC 8 / 20

  27. Threshold signatures for DNSSEC Zone signing with Threshold ECDSA [sk] ← Share (sk) DNS Operators [sk] 1.2.3.4 Sig sk ( 1 . 2 . 3 . 4 || ducks . de ) ducks.de.? ISP [sk] [sk] MPC 8 / 20

  28. Threshold signatures for DNSSEC Zone signing with Threshold ECDSA [sk] ← Share (sk) DNS Operators [sk] 1.2.3.4 Sig sk ( 1 . 2 . 3 . 4 || ducks . de ) ducks.de.? ISP [sk] [sk] MPC 8 / 20

  29. Threshold signatures for DNSSEC Zone signing with Threshold ECDSA [sk] ← Share (sk) DNS Operators [sk] 1.2.3.4 Sig sk ( 1 . 2 . 3 . 4 || ducks . de ) ducks.de.? ISP [sk] [sk] MPC 8 / 20

  30. Threshold signatures for DNSSEC Zone signing with Threshold ECDSA [sk] ← Share (sk) DNS Operators [sk] 1.2.3.4 Sig sk ( 1 . 2 . 3 . 4 || ducks . de ) ducks.de.? ISP [sk] [sk] MPC Threshold signing should not be much more expensive than regular DNSSEC 8 / 20

  31. ECDSA s = k − 1 ( H ( M ) + sk · r x ) 9 / 20

  32. ECDSA s = k − 1 ( H ( M ) + sk · r x ) 9 / 20

  33. Threshold ECDSA s = H ( M )[ k − 1 ] + [sk · k − 1 ] · r x 10 / 20

  34. Threshold ECDSA signing in 3 phases s = H ( M )[ k − 1 ] + [sk · k − 1 ] · r x DNS Operators Preprocessing: Preprocessing: Key independent Key independent [sk ′ ] = [sk · k − 1 ] [ k − 1 ] Message independent s , r x Online phase MPC 11 / 20

  35. Threshold ECDSA signing in 3 phases s = H ( M )[ k − 1 ] + [sk · k − 1 ] · r x DNS Operators Preprocessing: Preprocessing: Key independent Key independent [sk ′ ] = [sk · k − 1 ] [ k − 1 ] Message independent s , r x Online phase MPC 11 / 20

  36. Threshold ECDSA signing in 3 phases s = H ( M )[ k − 1 ] + [sk · k − 1 ] · r x DNS Operators Preprocessing: Preprocessing: Key independent Key independent [sk ′ ] = [sk · k − 1 ] [ k − 1 ] [ k − 1 ] Message independent s , r x Online phase [ k − 1 ] [ k − 1 ] MPC 11 / 20

  37. Threshold ECDSA signing in 3 phases s = H ( M )[ k − 1 ] + [sk · k − 1 ] · r x DNS Operators Preprocessing: Preprocessing: Key independent Key independent [sk ′ ] = [sk · k − 1 ] [ k − 1 ] [ k − 1 ], [sk − 1 ] Message independent s , r x Online phase [ k − 1 ], [sk − 1 ] [ k − 1 ], [sk − 1 ] MPC 11 / 20

  38. Threshold ECDSA signing in 3 phases s = H ( M )[ k − 1 ] + [sk · k − 1 ] · r x DNS Operators Preprocessing: Preprocessing: Key independent Key independent [sk ′ ] = [sk · k − 1 ] [ k − 1 ] [ k − 1 ], [sk − 1 ], M Message independent s , r x Online phase [ k − 1 ], [sk − 1 ], M [ k − 1 ], [sk − 1 ], M MPC 11 / 20

  39. Threshold ECDSA signing s = H ( M )[ k − 1 ] + [sk · k − 1 ] · r x Problems: How do we compute 1. [ k − 1 ] 2. r x 12 / 20

  40. Threshold ECDSA signing Need to compute s = [ k − 1 ]( H ( M ) + [sk] · r x ) 13 / 20

  41. Threshold ECDSA signing Need to compute s = [ k − 1 ]( H ( M ) + [sk] · r x ) Problem how do we compute [ k − 1 ]? Main difficulty with threshold ECDSA 13 / 20

  42. Threshold ECDSA signing From [ k ] to [ k − 1 ] using a trick due to Bar-Ilan and Beaver 4 4 Non-cryptographic fault-tolerant computing in constant number of rounds of interaction (PODC ’89) 14 / 20

  43. Threshold ECDSA signing From [ k ] to [ k − 1 ] using a trick due to Bar-Ilan and Beaver 4 1. Suppose we have ([ k ] , [ b ] , [ c ]) with c = k · b 4 Non-cryptographic fault-tolerant computing in constant number of rounds of interaction (PODC ’89) 14 / 20

  44. Threshold ECDSA signing From [ k ] to [ k − 1 ] using a trick due to Bar-Ilan and Beaver 4 1. Suppose we have ([ k ] , [ b ] , [ c ]) with c = k · b 2. Open [ c ] 4 Non-cryptographic fault-tolerant computing in constant number of rounds of interaction (PODC ’89) 14 / 20

  45. Threshold ECDSA signing From [ k ] to [ k − 1 ] using a trick due to Bar-Ilan and Beaver 4 1. Suppose we have ([ k ] , [ b ] , [ c ]) with c = k · b 2. Open [ c ] 3. Compute c − 1 [ b ] = [( k · b ) − 1 b ] = [ k − 1 ] 4 Non-cryptographic fault-tolerant computing in constant number of rounds of interaction (PODC ’89) 14 / 20

Recommend


More recommend