<font face="arial" size="2"><p style="margin:0;padding:0;font-family: arial; font-size: 10pt; word-wrap: break-word;"> </p>
<p style="margin:0;padding:0;font-family: arial; font-size: 10pt; word-wrap: break-word;">On Monday, 8 January, 2018 02:15, "Viktor Dukhovni" <ietf-dane@dukhovni.org> said:<br /><br /></p>
<div id="SafeStyles1515476997">
<p style="margin:0;padding:0;font-family: arial; font-size: 10pt; word-wrap: break-word;">> <br />> <br />> > On Jan 8, 2018, at 1:05 AM, Lanlan Pan <abbypan@gmail.com> wrote:<br />> ><br />> >> The salt value and iteration counts above 0 (i.e. 1 as you note below)<br />> >> turned out to be largely counter-productive. It seems that Verisign,<br />> >> for example, understand this quite clearly. The ".com" zone has an<br />> >> empty salt, 0 iterations, but uses opt-out:<br />> >><br />> >> CK0POJMG874LJREF7EFN8430QVIT8BSM.com. NSEC3 1 1 0 -<br />> CK0Q1GIN43N1ARRC9OSM6QPQR81H5M9A NS SOA RRSIG DNSKEY NSEC3PARAM<br />> ><br />> > "empty salt, 0 iteration" will be close to NSEC , just a simple hash map.<br />> <br />> Actually, no, because the input to the hash is the FQDN, so the same<br />> label hashes differently in each domain. The salt adds little value<br />> unless rotated frequently, and rotation is both difficult and rare<br />> in practice. See<br />> <br />> https://tools.ietf.org/html/rfc5155#section-5<br />> <br />> Then the calculated hash of an owner name is<br />> <br />> IH(salt, owner name, iterations),<br />> <br />> where the owner name is in the canonical form, defined as:<br />> <br />> The wire format of the owner name where:<br />> <br />> 1. The owner name is fully expanded (no DNS name compression) and<br />> fully qualified;<br />> <br />> With or without the salt, any rainbow tables are per-domain. If the<br />> attacker skips pre-computation, and just computes fresh target-specific<br />> hashes from a suitable dictionary, the salt offers no protection.<br />> <br />> And yes, I am basically suggesting simplifying NSEC3 to "slightly obfuscated<br />> NSEC with opt-out" (perhaps just one hash operation). This is sufficient to<br />> deter "casual" zone-walking. A determined adversary will learn most names in<br />> most domains. They'll be found in certificates, in PTR records, dictionary<br />> attacks, ...<br />> </p>
<p style="margin:0;padding:0;font-family: arial; font-size: 10pt; word-wrap: break-word;"> </p>
<p style="margin:0;padding:0;font-family: arial; font-size: 10pt; word-wrap: break-word;">+100 </p>
<p style="margin:0;padding:0;font-family: arial; font-size: 10pt; word-wrap: break-word;">The value of opt-out is only for Delegation-mainly/only zones </p>
<p style="margin:0;padding:0;font-family: arial; font-size: 10pt; word-wrap: break-word;">NSEC3 leaks the size of the zone for medium to large zones in no time. </p>
<p style="margin:0;padding:0;font-family: arial; font-size: 10pt; word-wrap: break-word;">NSEC3 is of no value for "small" zones as most names are obvious </p>
<p style="margin:0;padding:0;font-family: arial; font-size: 10pt; word-wrap: break-word;"> </p>
<p style="margin:0;padding:0;font-family: arial; font-size: 10pt; word-wrap: break-word;">Olafur</p>
<p style="margin:0;padding:0;font-family: arial; font-size: 10pt; word-wrap: break-word;"> </p>
</div></font>