I did a quick review - it's improving, but still is getting the basics
wrong.
This document is written with language that works only with the start
with one key/one key in/one key out/end with one key model for trust
anchor keys. 5011 specifically recommends that there be at least two
trust anchor keys and this document doesn't quite get the problem
statement right given that both 5011 and DNSSEC support a steady state
of more than one trust anchor key.
The actual issues related to the problem stated (of publisher guidance)
are "How long must a publisher wait after publishing a new key before
revoking ALL previous trust anchors?" And "How long to wait before
signing ONLY with the newest key?" (These are actually the same
question looked at from slightly different angles). The issue is not the
more limited generic question of how long to wait before you start
signing with the new key. (Please avoid the phrasing "use the key"
throughout).
For example, consider a trust point with trust anchor keys A, B and
where A is generally signing the DNSKEY RR Set at the trust point. The
publisher desires to replace A with a new key C. The publisher
generates C, signs the RRSet with B and publishes the RRSet containing B
and C. At time T+holddown, C has probably joined the first of many
validator trust point sets. At some time T+holddown+N, most of the live
validators will have added C. At this point the publisher revokes A,
publishes a trust set with A, B, C and signed with A and B and continues
this for at least the hold down time. At which point the published
RRSet is now B, C signed by B (C is a standby key) and most validators
trust points have B,C installed in them. (Or B signed by B for that
matter - "Missing" is an abnormal state, not an illegal one and was
there mainly because RRSet size issues mostly weren't brought up while
5011 was being discussed).
Note that A could have been revoked starting with the first publication
of C at the cost of reducing the validator trust anchor set to a single
key. That would be the model for an emergency revocation of A.
So: Minimum time to start signing with the new key is the hold down
time (you can sign earlier, but no validator will trace trust through it
so why bother?).
Minimum time to wait before revoking all previous trust anchors OR
signing the RRSet ONLY with the new key is hold down time counted from
expiration date of the signature over previous DNSKey RRSET plus some
slop - in the example the slop is 7 days and that's a reasonable value
for the parameters. That's also the minimum time a new key should be
published and signed even if you're planning on using it as a backup key
and not including it in further RRSets for now.
Note that the example in the draft at section 6 is missing a
consideration. It's not the expiration time, but the expiration date
that needs to be considered - if you issue a new RRSet while the
signature on the old one has only 4 days to go, you have the 4 day
exposure, not 10.
Mike
On 5/24/2017 1:40 AM, [email protected] wrote:
A New Internet-Draft is available from the on-line Internet-Drafts directories.
This draft is a work item of the Domain Name System Operations of the IETF.
Title : Security Considerations for RFC5011 Publishers
Authors : Wes Hardaker
Warren Kumari
Filename :
draft-ietf-dnsop-rfc5011-security-considerations-01.txt
Pages : 12
Date : 2017-05-23
_______________________________________________
DNSOP mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/dnsop