Wes/Warren - you still owe a response on the following.
On 7/19/2017 4:42 AM, Michael StJohns wrote:
On date time vs intervals - I finally realized why Wes and I are
somewhat disconnected on this.
5011 was written as the protocol for the resolver and is totally
interval driven. (E.g. query and retry timers are set and fire based
on when the resolver performs an action).
This document is being written for the zone publishers, and the
process of publication is task driven and has humans as protocol
element timers. The actual publication of a DNSSEC RRSIG is divorced
from both the date/time of creation and the RRSig's actual inception
and expiration dates. While there is a defined interval between
inception and expiration, expiration occurs at a fixed point in time
and that point in time is independent from the interval between
publication and receipt by the client.
In other words - the correct (or at least better and less subject to
being misunderstood) way of describing the various points in time the
publisher should do something is by referencing the fixed point in
time (expiration) where both publisher and client agree that something
happens and then figuring other fixed points in time from that
point. Or to restate it again - "A publisher must wait until June
5th 2010" will always evaluate to the same date and time regardless of
who calculates it and when they calculate it; "A publisher must wait
30 days" will not.
So :
"
publicationAddWaitInterval :: = MAX (30 Days, originalTTL of NEW
DNSKEY RRSet) + MAX ( all calculated queryIntervals for OLD and new
RRSets) + addSlopInterval
queryInterval ::= MAX (1 hour, MIN (
15 days,
.5 * expirationInterval
DNSKey RRSet,
.5 * originalTTL DNSKey
RRSet)
)
expirationInterval :: = expirationDate - inceptionDate
addSlopInterval ::= 2 * MAX(originalTTL of any DNSKEY RRSet valid
during the transition process)
The publicationAddWaitDateTime is the date and time on which the
publisher can assume that most of the 5011 capable resolvers have
accomplished the addition of the new trust anchor to their trust
anchor sets. That date is the addHoldDownTimeInterval AFTER the
latest in time signature expiration date of any RRSet without the new
key. This includes both published and unpublished RRSets. Publishers
should refrain from creating or publishing DNSKEY RRSets signed
exclusively by a new key until after this date. Specifically, the
inception date of such an RRSig should be later than the
publicationAddWaitDateTime"
The addHoldDownTimeInterval above differs from what is in 5.1 section
2.4.1 in that this is the publishers view of when the new trust anchor
is accepted by the resolver which may differ from a specific resolvers
view (due to when things are actually sent and received). Section
2.4.1 has to be combined with the text in section 2.2 which states
that the key isn't added until after the next time it is seen after
the expiration of the add hold down. Also, the queryInterval term of
this calculation should be the maximum of any DNSKEY RRSet seen during
the transition - it's possible that the publisher may reduce the
intervals or increase the intervals between RRSets and this provides
the publisher with the worst case value that any given resolver should
be using.
Let's not confuse resolver numbers with publisher numbers and spend a
bit of time to get the language clear correct and implementable.
Mike
_______________________________________________
DNSOP mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/dnsop