lsd0001

LSD0001: GNU Name System
Log | Files | Refs | README

commit 98b6997bda240d4deb9e8f65244e2352c6200019
parent 118c58412c3c34832eb304618c922ade8241b090
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date:   Mon, 21 Feb 2022 15:48:54 +0100

more revocationing

Diffstat:
Mdraft-schanzen-gns.xml | 60++++++++++++++++++++++++++++++++++++++----------------------
1 file changed, 38 insertions(+), 22 deletions(-)

diff --git a/draft-schanzen-gns.xml b/draft-schanzen-gns.xml @@ -676,13 +676,6 @@ zTLD[126..129].zTLD[63..125].zTLD[0..62] <bcp14>MAY</bcp14> be increased up to (D'-D) * EPOCH * 1.1. The EPOCH is extended by 10% in order to deal with unsynchronized clocks. - This field is informational for a verifier. - A verifier <bcp14>MAY</bcp14> discard a revocation without - checking the POW values or the signature if the TTL (in combination with TIMESTAMP) - indicates that the revocation has already expired. - The actual validity period of the - revocation <bcp14>MUST</bcp14> be determined by examining the leading zeroes in the - POW values. </dd> <dt>POW_i</dt> <dd> @@ -770,22 +763,45 @@ zTLD[126..129].zTLD[63..125].zTLD[0..62] <li>The average number of leading zeroes D' resulting from the provided POW values <bcp14>MUST</bcp14> be greater than and not equal to D. Implementers <bcp14>MUST NOT</bcp14> use an integer data type to calculate or represent D'.</li> - <li> - The validity period of the revocation is calculated as - (D'-D) * EPOCH * 1.1. The EPOCH is extended by - 10% in order to deal with unsynchronized clocks. - The validity period added on top of the TIMESTAMP yields the - expiration date. - Should the verifier calculate the validity and find that it differs from - the TTL field value, the verifier <bcp14>MUST</bcp14> continue and - use the calculated value when forwarding the revocation. - </li> - <li> - The current time <bcp14>SHOULD</bcp14> be between TIMESTAMP and - TIMESTAMP + validity period. - Implementations <bcp14>MAY</bcp14> process the revocation without validating this. - </li> </ol> + <t> + The TTL field is informational. + A revocation <bcp14>MAY</bcp14> be discarded without checking the POW + values or the signature if the TTL (in combination with TIMESTAMP) + indicates that the revocation has already expired. + The actual validity period of the + revocation <bcp14>MUST</bcp14> be determined by examining the leading + zeroes in the POW values. + </t> + <t> + The validity period of the revocation is calculated as + (D'-D) * EPOCH * 1.1. The EPOCH is extended by + 10% in order to deal with unsynchronized clocks. + The validity period added on top of the TIMESTAMP yields the + expiration date. + If the current time is after the expiration date, the + revocation is considered stale but may still be otherwise + considered valid. + Stale revocations <bcp14>MAY</bcp14> be discarded. + </t> + <t> + Verified revocations <bcp14>SHOULD</bcp14> be cached locally. + An implementation without a local revocations cache will be unable + to effectively process zone revocations. + The implementation <bcp14>MAY</bcp14> evict revocations from the local + cache at any time using an eviction strategy. + </t> + <t> + Implementations <bcp14>MUST</bcp14> forward received revocations to + other peers if they are valid and not stale. + Should the calculated validity period differs from the TTL field value, + the calculated value <bcp14>MUST</bcp14> be used as TTL field value + when forwarding the revocation message. + Any valid revocation MAY be used during delegation record + processing (<xref target="delegation_processing"/>). + Implementations <bcp14>MAY</bcp14> use stale but otherwise valid + revocations and <bcp14>MAY</bcp14> forward them to other peers. + </t> </section>