Re: [dane] I-D Action: draft-ietf-dane-smime-03.txt

Viktor Dukhovni <> Thu, 06 February 2014 20:39 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 4CE771A01E3 for <>; Thu, 6 Feb 2014 12:39:33 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 9caZ3gIpMv0R for <>; Thu, 6 Feb 2014 12:39:31 -0800 (PST)
Received: from ( []) by (Postfix) with ESMTP id 1541C1A03CA for <>; Thu, 6 Feb 2014 12:39:30 -0800 (PST)
Received: by (Postfix, from userid 1034) id C3A1D2AB23D; Thu, 6 Feb 2014 20:39:28 +0000 (UTC)
Date: Thu, 6 Feb 2014 20:39:28 +0000
From: Viktor Dukhovni <>
Message-ID: <>
References: <> <> <>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <>
User-Agent: Mutt/1.5.21 (2010-09-15)
Subject: Re: [dane] I-D Action: draft-ietf-dane-smime-03.txt
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DNS-based Authentication of Named Entities <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 06 Feb 2014 20:39:33 -0000

On Thu, Feb 06, 2014 at 08:17:10PM +0000, Osterweil, Eric wrote:

> > Switching gears, was any consensus reached on the endoing of the
> > query label?  A truncated HMAC seems to offer better usability than
> > base32.  I think that the specification is in good shape, modulo
> > the query label encoding.  
> I actually have a question on this: is there some reason we are
> talking about HMAC instead of just straight-up using a hashing
> function?  iirc, hashing accomplishes the same goal (for us) w/o
> needing any secret material (projecting a variable length name to
> a fixed length label).  I'm fully willing to believe that I might
> just be missing something.  I mean this just as a simple clarification
> question.

HMAC was proposed to *salt* the hash with a domain-specific key
(namely the domain itself).  The key is NOT secret, but it is
distinct for every domain (encoded in punycode for IDNA domains).

The reason for salting the lookup keys is to make dictionary attacks
on the set of email addresses more expensive.  One could even
NSEC3-style require some number of iterations, but this would
arguably be going too far and there is not a good way to signal to
the client what the iteration count should be.

Clearly any kind of one-way function is harder to brute-force invert
than the trivially reversible base32.  And salting makes rainbow-tables
less practical.  Still Bitcoin mining has led to rather fast hash
dictionary attack codes, and perhaps even salted HMAC is fast enough
to make DNS lookup a viable directory harvesting (via DNS lookup)
attack vehicle.