Paper 2014/582
NSEC5: Provably Preventing DNSSEC Zone Enumeration
Sharon Goldberg, Moni Naor, Dimitrios Papadopoulos, Leonid Reyzin, Sachin Vasant, and Asaf Ziv
Abstract
We use cryptographic techniques to study zone enumeration in DNSSEC. DNSSEC is designed to prevent attackers from tampering with domain name system (DNS) messages. The cryptographic machinery used in DNSSEC, however, also creates a new vulnerability, zone enumeration, enabling an adversary to use a small number of online DNSSEC queries combined with offline dictionary attacks to learn which domain names are present or absent in a DNS zone. We prove that the current DNSSEC standard, with NSEC and NSEC3 records, inherently suffers from zone enumeration: specifically, we show that security against (1) attackers that tamper with DNS messages and (2) privacy against zone enumeration cannot be satisfied simultaneously, unless the DNSSEC nameserver performs online public-key cryptographic operations. We then propose a new construction that uses online public-key cryptography to solve the problem of DNSSEC zone enumeration. NSEC5 can be thought of as a variant of NSEC3, in which the unkeyed hash function is replaced with a deterministic RSA-based keyed hashing scheme. With NSEC5, a zone remains protected against network attackers and compromised nameservers even if the secret NSEC5-hashing key is compromised; leaking the NSEC5-hashing key only harms privacy against zone enumeration, effectively downgrading the security of NSEC5 back to that of the current DNSSEC standard (with NSEC3).
Metadata
- Available format(s)
- Category
- Cryptographic protocols
- Publication info
- Preprint. MINOR revision.
- Contact author(s)
- dipapado @ bu edu
- History
- 2014-12-06: last of 8 revisions
- 2014-07-30: received
- See all versions
- Short URL
- https://ia.cr/2014/582
- License
-
CC BY
BibTeX
@misc{cryptoeprint:2014/582, author = {Sharon Goldberg and Moni Naor and Dimitrios Papadopoulos and Leonid Reyzin and Sachin Vasant and Asaf Ziv}, title = {{NSEC5}: Provably Preventing {DNSSEC} Zone Enumeration}, howpublished = {Cryptology {ePrint} Archive, Paper 2014/582}, year = {2014}, url = {https://eprint.iacr.org/2014/582} }