On 30 jun 2009, at 16.43, Mark Andrews wrote:
This is simultaneous roll of KSK and ZSK keys. You introduce
the keys the *same* way as you would with a single operator.
The new operator generates new keys. The are added to the
existing DNSKEY RRset and the resulting RRset is signed by
all the KSKs (old and new). DS are added to the parent for
then new KSKs. Wait for the pre-change DS and DNSKEYs to
expire from caches. You use the new ZSK keys to sign the
zone content. If you are changing servers as well you make
the the old servers serve the new zone content. Once all
the old zone content has timed out of caches you remove the
old keys. If you changed servers this is the time to
decommision the zone on the old servers.
I do not think this will work, as I do not think the old zone
maintainer have interest in cooperating. He is hopefully continuing to
host the old version of the zone for a while, and the question is what
happens in the overlap, whether the content of the parent zone helps
etc.
I think we have the following states, but first background.
We have the registry, that is the zone maintainer of the parent zone.
We have a registrar that only do things "on behalf of the registrant".
The registrant changes zone maintainer, from A to B. There is no
cooperation between them, and the change from A to B implies both NS,
KSK and ZSK changes. We have NSA, NSB, KSKA, KSKB, ZSKA and ZSKB.
Once again, A is not cooperating.
Question is now, what should B do to make the change from A to B as
smooth as possible?
On NSA we have the "old zone" that contain part from the records also
ZSKA and KSKA, and the zone is signed with ZSKA.
On NSB we have the ability to place "the old zone", but we can only
sign with ZSKB.
In the parent zone, we can add DS for KSKB without removing DS for KSKA.
We of course have TTLs and a mix of cached and non-cached records all
over the place.
Now...
I was hoping that by adding the DS for KSKB to the parent, and having
B signing the old zone with ZSKB, that would minimize the blackout.
NSA is removed from the parent zone, and from that point in time, only
caches have the info that NSA exists, so only from caches you will
find NSA.
After a while, the old NS records (NSA) will have timed out, and only
actual content (including KSKA and ZSKA and SIG etc) will be cached
here and there.
Queries that hit the parent in the meantime will see DS for both KSKA
and KSKB, but only NS that refer to the nameservers that B run, and
there you find a zone only signed with ZSKB. No signatures made with
ZSKA.
Queries that hit NSA will find data only signed with ZSKA, while DS in
parent exists for both KSKA and KSKB (if re-fetched).
After all data has timed out from the old zone (including old sig's
made with ZSKA), one can remove KSKA and ZSKA from zone, and remove DS
referring to KSKA from parent.
I.e. I thought that as long as one of the DS in the parent zone refer
to a KSK that in turn sign a ZSK that sign the zone, things will be
fine. So by having DS referring to both old and new KSK, we will be
ok, although only one of the trust chains will exist at each point in
time (for each validating client).
Now, there might be cases when partial data is fetched from NSA and
NSB, but how bad can it get, as signatures comes with the record, and
the signatures are related to either ZSKA or ZSKB? If ZSK-material is
fetched from NSA, while KSK data is fetched form NSB? Then of course
there is no chain of trust.
But what is the risk for that? And to be honest, I do not see any way
out of this, without cooperation from both NSA and NSB.
Patrik
_______________________________________________
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop