Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is there any recommendation for salt length in the NSEC3 records ? Does longer salt means better security, and do longer salt affect performance of (authoritative) servers ?

DNSSEC operational practices don't mention salt length.

While looking at TLDs with DNSSEC list, I see that .COM uses zero-length salt (no salt), while some TLDs use as long as 16-byte salts. Is there a reason ?

share|improve this question
up vote 2 down vote accepted

The salt is intended to deter pre-computed dictionary attacks. However, as mentioned in this security review, the salt does not really provide any additional security because the salt is publicly available through the NSEC3PARAMS record. Since the fully-qualified name is used in NSEC3 hashes, there is not even really a risk of a globally useful rainbow table-type attack, so you're free to choose your hash arbitrarily.

Should an attacker make an unlikely NSEC3 hash collision, the salt would have to be changed to eliminate the collision.

EDIT: For what it's worth, RFC 5155 does make a recommendation:

The salt SHOULD be at least 64 bits long and unpredictable, so that
an attacker cannot anticipate the value of the salt and compute the
next set of dictionaries before the zone is published.

share|improve this answer
Thanks. I wonder how various TLD operators decided to use low-length salts (sure they had good reasons), and how often should I change salt. – Sandman4 May 13 '12 at 9:11
Many of them have the OPTOUT bit set and so don't say anything about the non-existence of insecure delegations see this question for an explanation. – Richard Salts Aug 13 '13 at 5:31

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.