(resent due to list hiccups - if anyone gets multiple messages, I  
apologize)

I would also mention in the text that this problem applies to a zone  
migrating from NSEC to NSEC3 (when using RSA/SHA-1)  The algorithm  
code is used to signal it so it would appear to resolvers as two  
different algorithms.

Scott

On Sep 4, 2008, at 5:50 AM, Jelte Jansen wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
>
> Hi,
>
> during some work on DNSKEY maintenance, I think i found a potential
> operational issue. If we are going to do new work on DNSSEC  
> Operational
> Practices, I would like to suggest to add a text similar to that
> attached to this message.
>
> The issue lies in the combination of algorithm downgrade protection  
> and
> caching, and can result in a small window of time (depending on TTLs),
> where all data in a zone could be considered bogus by validators.
>
> RFC4035 states the following (section 2.2):
>
>    There MUST be an RRSIG for each RRset using at least one DNSKEY of
>    each algorithm in the zone apex DNSKEY RRset.
>
> While this poses no problem when an admistrator rolls a key with an
> algorithm that is already present in the keyset, it can do so when
> introducing new or removing old algorithms.
>
> Caches may have both the old keyset and the old rrsets with signatures
> stored. When a new keyset is introduced, and the keyset happens to
> expire in the cache before the signatures do, the cache will retrieve
> the new keyset. Since it still has the rrsets with old signatures, it
> will see
> no reason to update those.
>
> Now the validator will encounter a key with an algorithm for which
> there are no signatures. This is prohibited by the earlier statement
> in RFC4035, resulting in rejection of the data.
>
> When removing an old algorithm, the same problem can occur when the
> signatures expire in the cache before the keyset.
>
> This can be prevented by not adding or removing both the keys and the
> signatures at the same time.
>
> Proposed addition to rfc4641diff attached in the hopes that the text  
> is
> not mangled by my mail client. It might need a bit more of the problem
> description though.
>
> Any thoughts?
>
> Jelte
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.9 (FreeBSD)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
>
> iEYEARECAAYFAki/r2YACgkQ4nZCKsdOncU9FACgoDkXP0PUjrdZTiJmiXNpxJ8X
> oMEAoJBougDT51O6MacOpzoV8/5ZsUyg
> =ab7S
> -----END PGP SIGNATURE-----
>
> When rolling key algorithms (either adding a new algorithm, removing
> an old algorithm, or both), additional steps are needed to retain
> integrity during the rollover.
>
> Because of the algorithm downgrade protection in RFC4035 section 2.2,
> you may not have a key of an algorithm for which you do not have
> signatures.
>
> When adding a new algorithm, the signatures should be added
> first. After the TTL has expired, and caches have dropped the old data
> covered by those signatures, the DNSKEY with the new algorithm can be
> added. When removing an old algorithm, the DNSKEY should be removed  
> first.
>
> To do both, the following steps can be used. For simplicity, we use a
> zone that is only signed by one zone signing key.
>
> ----------------------------------------------------------------
> 1 Initial           2 New RRSIGS       3 New DNSKEY
> ----------------------------------------------------------------
> SOA0                SOA1               SOA2
> RRSIG1(SOA0)        RRSIG1(SOA1)       RRSIG1(SOA2)
>                    RRSIG2(SOA1)       RRSIG2(SOA2)
>
> DNSKEY1             DNSKEY1            DNSKEY1
> RRSIG1(DNSKEY)      RRSIG1(DNSKEY)     DNSKEY2
>                    RRSIG2(DNSKEY)     RRSIG1(DNSKEY)
>                                       RRSIG2(DNSKEY)
> ----------------------------------------------------------------
> 4 Remove DNSKEY     5 Remove RRSIGS
> ----------------------------------------------------------------
> SOA3                SOA4
> RRSIG1(SOA3)        RRSIG2(SOA4)
> RRSIG2(SOA3)
>
> DNSKEY2             DNSKEY2
> RRSIG1(DNSKEY)      RRSIG2(DNSKEY)
> RRSIG2(DNSKEY)
> ----------------------------------------------------------------
>
> In step 2, the signatures for the new key are added, but the key  
> itself
> is not. While in theory, the signatures of the keyset should always be
> synchronized with the keyset itself, it can be possible that RRSIGS  
> are
> requested separately, so it might be prudent to also sign the DNSKEY
> set with the new signature.
>
> After the cache data has expired, the new key can be added to the  
> zone,
> as done in step 3.
>
> The next step is to remove the old algorithm. This time the key needs
> to be removed first, before removing the signatures. The key is  
> removed
> in step 4, and after the cache data has expired, the signatures can be
> removed in step 5.
>
> The above steps ensure that during the rollover to a new algorithm,
> the integrity of the zone is never broken.
>
> _______________________________________________
> DNSOP mailing list
> DNSOP@ietf.org
> https://www.ietf.org/mailman/listinfo/dnsop

===================================
Scott Rose
NIST
[EMAIL PROTECTED]
ph: +1 301-975-8439
http://www-x.antd.nist.gov/dnssec
http://www.dnsops.gov/
===================================

_______________________________________________
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop

Reply via email to