Subject: Re: [dane] Certificate update timing

From: Scott Schmit <[email-masked]>
Date: Wed, 24 Aug 2011 07:38:56 -0400

On Wed, Aug 24, 2011 at 10:17:56AM +0800, 延志伟 wrote:
> I have a confused question and I am not sure whether it has been
> considered in this WG.
> 
> When the certificate will be updated, the TLS server may maintain both
> old and new certificates for some time in order to achieve the smooth
> transfer. However, if the new certificate material cannot be updated
> in the DNS before it is deleted from the TLS server, the old
> certificate will be stored and learned from DNS for some time while
> the new certificate is used in the TLS server.
> 
> I think because the certificate may be stored and used in different
> places (e.g., DNS and TLS server), this timing issue should be
> considered in the DANE protocol.

This is no different than any other DNS thing.

Initial state:

_123._tcp.blah.example. IN TLSA <old>

TLS server has certificate chain associated with <old>.

Announce new certificate information in DNS:

_123._tcp.blah.example. IN TLSA <old>
_123._tcp.blah.example. IN TLSA <new>

TLS server has certificate chain associated with <old>.

Update TLS server:

_123._tcp.blah.example. IN TLSA <old>
_123._tcp.blah.example. IN TLSA <new>

TLS server has certificate chain associated with <new>.

Clean up DNS:

_123._tcp.blah.example. IN TLSA <new>

TLS server has certificate chain associated with <new>.

Since the DANE spec says that only one record has to match what the
server says, at no point (provided you move no faster than 2x your TTL)
will any client see DNS w/ old only + TLS w/ new or DNS w/ new only +
TLS w/ old.

If the DNS admin gets the timing wrong, it's no different than changing
a NS or DNSKEY record too quickly--things will break until the TTLs expire.

-- 
Scott Schmit