<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.14 (Ruby 3.1.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-amsuess-t2trg-raytime-03" category="exp" submissionType="IRTF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.23.2 -->
  <front>
    <title abbrev="Raytime">Raytime: Validating token expiry on an unbounded local time interval</title>
    <seriesInfo name="Internet-Draft" value="draft-amsuess-t2trg-raytime-03"/>
    <author initials="C." surname="Amsüss" fullname="Christian Amsüss">
      <organization/>
      <address>
        <postal>
          <country>Austria</country>
        </postal>
        <email>christian@amsuess.com</email>
      </address>
    </author>
    <date year="2024" month="October" day="19"/>
    <workgroup>t2trg</workgroup>
    <keyword>time</keyword>
    <keyword>synchronization</keyword>
    <keyword>interval arithmetic</keyword>
    <keyword>unbounded</keyword>
    <keyword>infinity</keyword>
    <keyword>optimistic</keyword>
    <keyword>robustness</keyword>
    <abstract>
      <?line 59?>

<t>When devices are deployed in locations with no real-time access to the Internet,
obtaining a trusted time for validation of time limited tokens and certificates is sometimes not possible.
This document explores the options for deployments
in which the trade-off between availability and security needs to be made in favor of availability.
While considerations are general,
terminology and examples primarily focus on the ACE framework.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-amsuess-t2trg-raytime/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Thing-to-Thing Research Group mailing list (<eref target="mailto:t2trg@irtf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/t2trg/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/t2trg/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://gitlab.com/chrysn/raytime"/>.</t>
    </note>
  </front>
  <middle>
    <?line 68?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>[ See also abstract. ]</t>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>This document uses terminology from the ACE framework (<xref target="ACE"/>) to describe the typical participants,
even in general parts that may apply beyond ACE.
In particular:</t>
        <ul spacing="normal">
          <li>
            <t>The Resource Server (RS) is a constrained device,
also sometimes called “the device”.  </t>
            <t>
In the context of this document, it has no regular access to the Internet,
and its ability to maintain a concept of local time is limited by intermittent power supplies.</t>
          </li>
          <li>
            <t>The Authorization Server (AS) is a party trusted by the RS.  </t>
            <t>
In the context of this document, it is connected to the Internet.
(When more private networks are used, the term Internet can be replaced
with the partition of the private networks that contains the AS).
It is considered the source of trusted time in this document,
as distributed time sources are not relevant to its mechanisms.</t>
          </li>
          <li>
            <t>The Client is a device that has obtained time- and scope limited credentials for the RS from the AS.  </t>
            <t>
In the context of this document,
it acquires these credentials ahead of time
before it moves out of communication range of the Internet
and into communication range of the RS.  </t>
            <t>
Beyond these credentials,
the client is untrusted
in the sense that no action of the RS should allow it to exceed the permissions encoded in the credentials it holds.</t>
          </li>
        </ul>
      </section>
      <section anchor="motivating-example">
        <name>Motivating example</name>
        <t>Devices that use Internet style connectivity and security
have been deployed far beyond the range of easily accessible connectivity,
for example in remote forests <xref target="forest40"/>
and in space <xref target="space"/>.</t>
        <t>For a concrete example,
consider a scientific instrument set up by students.
The instrument is under the administrative control of the university,
which is issuing time limited access tokens
that allow configuring experiments and reading data,
but not altering inventory designations or handing off ownership.</t>
        <t>The instrument is set up in a far-off valley without cellular reception,
and visited by students once per week
to collect data,
verify that it is still operational,
and perform adjustments or repairs on site as needed.
Any repairs require powering down the device completely.</t>
        <t>When following the mechanisms and guidance of this document,
the instrument will be usable by the students
even after they had to power it down completely,
and (once used by the new students) justifiedly reject the tokens of students that used the device earlier.
It will stay usable to malicious students if they disassemble it
and use it after their allowed time on the instrument has expired,
but can only be operated for a total time of about the validity time span of those users’ tokens.</t>
      </section>
      <section anchor="sec-avail">
        <name>Security and availability</name>
        <t>When a device has no current time,
no means of acquiring time,
and receives a time limited token to authorize an action,
two outcomes are possible:
the action is rejected or allowed.
Rejection is the safe alternative in terms of security,
but reduces the availability of the device, possibly to the point of not providing its function at all.
Conversely, allowing the action maintains availability
at the risk of violating security objectives.</t>
        <t>The fundamental trade-off between security and availability is common around time limited access,
and usually manifested in a choice of expiry times:
A token with a validity of one week
(or, equivalently, a revocation list with a maximum age of one week)
will be usable across a day-long outage of the authorization infrastructure.
On the downside, it provides technical authorization to an administratively deauthorized user for several days after revocation of permissions.</t>
        <t>This document concerns itself with getting the most security
out of the case that favors availability after a period of no operational clock.</t>
      </section>
      <section anchor="threat">
        <name>Threat model</name>
        <t>Three main threats are considered here:</t>
        <ul spacing="normal">
          <li>
            <t>Using old tokens.  </t>
            <t>
A user who has obtained a token may attempt to use it after the token’s lifetime (and the user’s permission) has expired.</t>
          </li>
          <li>
            <t>Manipulation of time sources.  </t>
            <t>
An attacker controlling a time source which the device trusts
may make false statements on the current time.
Indicating an earlier time can be used to extend the usability of old tokens.
Indicating a later time can be used to deny service to users of valid tokens.</t>
          </li>
          <li>
            <t>Manipulation of the clock.  </t>
            <t>
An attacker with physical access (possibly only to the device’s environment)
may cut power to the device’s clock.</t>
          </li>
        </ul>
        <t>Other attacks,
such as physical attacks on the device,
or exploiting weaknesses of the cryptographic systems used,
are relevant to the system,
but have no different impact on a system following this document
than on a system that requires an operational clock before it allows access.</t>
      </section>
      <section anchor="applicability">
        <name>Applicability constraints</name>
        <t>The mechanisms of this document are intended only for scenarios matching the listed prerequisites.
If either of them are not met,
there are better solutions available, with suggestions listed along the condition.</t>
        <ul spacing="normal">
          <li>
            <t>There is no network connectivity,
not even for the client.  </t>
            <t>
If there is,
the RS may use communication with the AS to obtain a current time value
(as described in <xref target="ace-time"/>), <!-- sentence? -->
perform token validation (<xref target="ACE"/>).
Alternatively,
it may use other Internet services
such as <xref target="roughtime"/>.  </t>
            <t>
Note that due to CoAP’s good proxy support,
the connectivity between the RS and the AS does not need to be in a continuous IP network.</t>
          </li>
          <li>
            <t>The lifetime of tokens is limited.  </t>
            <t>
When tokens of unlimited lifetime are used,
there is no need to employ the methods described in this document.</t>
          </li>
          <li>
            <t>Devices have no means of reliably maintaining time throughout their whole lifetime.  </t>
            <t>
If the power supply of the device’s clock is reliable enough to be sure to outlive the device,
regular evaluation of time bounds can be done,
possibly accounting for an upper bound of clock skew.</t>
          </li>
          <li>
            <t>Devices need to stay accessible after local power interruptions,
that is,
favor availability over security after a loss of local time.  </t>
            <t>
Otherwise,
the device can issue an AS Request Creation Hint containing a cnonce
(described in <xref target="ACE"/>).
The client then needs to travel back to into communication distance to the AS,
and obtain a token confirming that cnonce.
Alternatively, one of the time synchronization mechanisms mentioned above can be used.</t>
          </li>
        </ul>
        <t>The applicability is also limited when it comes to requirements of a certain date being in the past,
such as “nbf” (“not before”) claims described in <xref target="JWT"/>.
These claims are notoriously hard to verify after a loss of time (as discussed in <xref target="imperfect"/>),
but fortunately also rarely needed.
The use of such claims is not fundamentally prohibitive of this document’s raytime mechanism,
but its approach favoring availability over security is inapplicable to them
(as a device would accept any nbf value after power-up).</t>
        <t>While data sources such as radio time signal stations (e.g., DCF77, MSF, WWVB) or GNSSs such as GPS are frequently offered as a solution,
neither is reliable enough for use with security systems:
Radio time signals are effectively unauthenticated,
and GPS signals can be forged with hardware that is now cheap <xref target="gps"/>.</t>
      </section>
    </section>
    <section anchor="whatis">
      <name>Raytime</name>
      <t>It is relatively common in clock synchronization to treat known time in interval arithmetic
as the earliest and latest possible current point in time
(for an example, see <xref target="optimal"/>).</t>
      <t>When a device has been dormant for an indeterminate amount of time,
that interval’s upper bound needs to be set to infinity,
creating a half unbounded interval, or a ray.
For lack of a term established in literature
[ i.e., if you happen to find one, please tell and this will change ],
we call devices operating under such conditions to work “in raytime”.
A device in raytime can be sure that some points in time have passed,
but never that they have not.</t>
      <t>Devices that require a two-sided bound on some credentials they accept
may use any trusted time synchronization mechanism to establish an upper bound on current time
and switch to interval time
(and fall back to raytime after the next loss of continuous time).
Devices that never evaluate the upper bound on time anyway
may only implement the lower bound,
and always operate in raytime.</t>
      <t>Maintaining raytime is fundamentally a best-effort undertaking.
Implementations have two mechanisms to advance time:</t>
      <ul spacing="normal">
        <li>
          <t>Any time the device receives a trusted statement on a time stamp being in the past
that is ahead of its earliest possible current time,
it updates that bound.  </t>
          <t>
Care has to be taken to limit this mechanism to trusted time sources.
It is recommended to exclusively use statements from the AS,
as they are provided in tokens’ “iat” claim.
The build time of the latest firmware update may also provide such a time source,
provided it is known to be on the same timescale as the AS’s timescale.
<!-- That is not a given, RFC9200 says "the RS's internal clock must reflect the current date and time or at least be synchronized with the AS's clock"; where do we best put that note? -->
          </t>
        </li>
        <li>
          <t>As time passes, the device advances the lower bound on the current time.
To avoid refusing tokens used quickly after issuance,
lower bound time should be advanced slower than time actually passes,
accounting for the maximum specified clock skew.</t>
        </li>
      </ul>
      <t>Both kinds of advancements need to be recorded persistently,
lest power cycling the device makes all tokens valid under raytime assumptions.
To avoid wearing out limited persistence options,
writing may be delayed as suitable in the application.
The trade-off to consider here are
flash write cycles and power consumption of flash writes
versus the additional time malicious users gain for using the device by removing the power supply at the right time.
Being best-effort,
there is no need to transactionally commit the time seen in tokens –
this is not replay protection.</t>
    </section>
    <section anchor="using-raytime-with-ace">
      <name>Using raytime with ACE</name>
      <t>When using raytime with ACE,
resource servers accepts tokens with some [ possibly special, see below ] expiry date
unless that expiry is smaller than its current lower bound on time.</t>
      <t>In a sense, it accounts for its own uncertainty in time in favor of its peer.</t>
      <t>[ This section will contain concrete guidance when the open questions are resolved. ]</t>
      <section anchor="open-questions">
        <name>Open questions</name>
        <ul spacing="normal">
          <li>
            <t>Should the decision on whether raytime is OK to use be encoded in the token or in the application?  </t>
            <t>
Options are to use “exp” and say that the action will tell whether or not raytime is good enough to evaluate the credentials’ validity (some actions may require more assurances),
or to use an “exp-besteffort” or similar indicator to describe the whole token.
The latter approach may be limiting in that then not all permissions can be expressed in a single token,
but then again, that’s also true with different validity times.  </t>
            <t>
More generally (also for interval time), can a token indicate whether the clock skew upper bound is used in favor or against the user?
  <xref target="JWT"/> talks of “some small leeway”, but is not overly precise.</t>
          </li>
          <li>
            <t>If the device <em>is</em> used online,
can it set a cnonce in its creation hints and the application will still try to use a cnonce-less token?
Or should optional cnonces use a different key?
(Setting a cnonce in online situations does have the advantage that the device can convert from raytime to interval time.
But is that even useful, unless the tokens used have nbf claims?)</t>
          </li>
        </ul>
      </section>
      <section anchor="limits">
        <name>Limits to the use of old tokens</name>
        <t>When raytime is applied to the evaluation of tokens as described,
devices take the risk of accepting expired tokens.</t>
        <t>By properly maintaining their raytime as per <xref target="whatis"/>,
a user of an expired token (who may be an attacker)
is limited by two hard bounds,
and by their interpolation:</t>
        <ul spacing="normal">
          <li>
            <t>A token limited to some amount of time before it expires
can only be used with the device for that amount of time,
plus quantization effects.  </t>
            <t>
For example,
a token issued as part of a five-day rental agreement
can be used arbitrarily late when the rented device is powered off,
but will become unusable after a total of 120 hours of operation.</t>
          </li>
          <li>
            <t>When any new token is used with the device
that was issued after the expiry time of another token,
the expired token becomes unusable.  </t>
            <t>
For example,
once the device rented in the last example
is found by someone whose tokens were issued after the five days were over
and interacted with,
the expired tokens become unusable.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The use of Raytime diminishes security properties.
It is only to be used when applicable (see <xref target="applicability"/>)
and when the loss of the properties is tolerated as part of the trade-off described in <xref target="sec-avail"/>.</t>
      <t>The property that is lost is that expired tokens are not rejected unconditionally any more.
Expired tokens (and thus also attacks enabled by them) are still subject to the practical constraints
described in <xref target="limits"/>.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-informative-references">
      <name>Informative References</name>
      <reference anchor="JWT">
        <front>
          <title>JSON Web Token (JWT)</title>
          <author fullname="M. Jones" initials="M." surname="Jones"/>
          <author fullname="J. Bradley" initials="J." surname="Bradley"/>
          <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
          <date month="May" year="2015"/>
          <abstract>
            <t>JSON Web Token (JWT) is a compact, URL-safe means of representing claims to be transferred between two parties. The claims in a JWT are encoded as a JSON object that is used as the payload of a JSON Web Signature (JWS) structure or as the plaintext of a JSON Web Encryption (JWE) structure, enabling the claims to be digitally signed or integrity protected with a Message Authentication Code (MAC) and/or encrypted.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7519"/>
        <seriesInfo name="DOI" value="10.17487/RFC7519"/>
      </reference>
      <reference anchor="ACE">
        <front>
          <title>Authentication and Authorization for Constrained Environments Using the OAuth 2.0 Framework (ACE-OAuth)</title>
          <author fullname="L. Seitz" initials="L." surname="Seitz"/>
          <author fullname="G. Selander" initials="G." surname="Selander"/>
          <author fullname="E. Wahlstroem" initials="E." surname="Wahlstroem"/>
          <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
          <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
          <date month="August" year="2022"/>
          <abstract>
            <t>This specification defines a framework for authentication and authorization in Internet of Things (IoT) environments called ACE-OAuth. The framework is based on a set of building blocks including OAuth 2.0 and the Constrained Application Protocol (CoAP), thus transforming a well-known and widely used authorization solution into a form suitable for IoT devices. Existing specifications are used where possible, but extensions are added and profiles are defined to better serve the IoT use cases.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9200"/>
        <seriesInfo name="DOI" value="10.17487/RFC9200"/>
      </reference>
      <reference anchor="ace-time">
        <front>
          <title>Lightweight Authenticated Time (LATe) Synchronization Protocol</title>
          <author fullname="Renzo Navas" initials="R." surname="Navas">
            <organization>Telecom Bretagne</organization>
          </author>
          <author fullname="Göran Selander" initials="G." surname="Selander">
            <organization>Ericsson AB</organization>
          </author>
          <author fullname="Ludwig Seitz" initials="L." surname="Seitz">
            <organization>SICS Swedish ICT</organization>
          </author>
          <date day="31" month="October" year="2016"/>
          <abstract>
            <t>   This documents defines the Lightweight Authenticated Time (LATe)
   Synchronization Protocol, a secure time synchronization protocol for
   constrained environments.  The messages are encoded using Concise
   Binary Object Representation (CBOR) and basic security services are
   provided by CBOR Object Signing and Encryption (COSE).  A secure
   source of time is a base assumption for many other services,
   including security services.  LATe Synchronization protocol enables
   these time-dependent services to run in the context of a constrained
   environment.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-navas-ace-secure-time-synchronization-00"/>
      </reference>
      <reference anchor="roughtime">
        <front>
          <title>Roughtime</title>
          <author fullname="Watson Ladd" initials="W." surname="Ladd">
            <organization>Akamai Technologies</organization>
          </author>
          <author fullname="Marcus Dansarie" initials="M." surname="Dansarie">
            <organization>Netnod</organization>
          </author>
          <date day="2" month="August" year="2024"/>
          <abstract>
            <t>   This document specifies Roughtime - a protocol that aims to achieve
   rough time synchronization even for clients without any idea of what
   time it is.

About This Document

   This note is to be removed before publishing as an RFC.

   Status information for this document may be found at
   https://datatracker.ietf.org/doc/draft-ietf-ntp-roughtime/.

   Source for this draft and an issue tracker can be found at
   https://github.com/wbl/roughtime-draft.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-ntp-roughtime-11"/>
      </reference>
      <reference anchor="imperfect">
        <front>
          <title>Future Imperfect</title>
          <author initials="J. L." surname="Carrol" fullname="J. Larry Carrol">
            <organization/>
          </author>
          <author initials="D. B." surname="Carren" fullname="David Bennett Carren">
            <organization/>
          </author>
          <date year="1990"/>
        </front>
        <seriesInfo name="Star Trek: The Next Generation" value=""/>
      </reference>
      <reference anchor="gps">
        <front>
          <title>Authentication for drone delivery through a novel way of using face biometrics</title>
          <author fullname="Jonathan Sharp" initials="J." surname="Sharp">
            <organization>University of South Carolina</organization>
          </author>
          <author fullname="Chuxiong Wu" initials="C." surname="Wu">
            <organization>George Mason University</organization>
          </author>
          <author fullname="Qiang Zeng" initials="Q." surname="Zeng">
            <organization>George Mason University</organization>
          </author>
          <date month="October" year="2022"/>
        </front>
        <seriesInfo name="Proceedings of the 28th Annual International Conference on Mobile Computing And" value="Networking"/>
        <seriesInfo name="DOI" value="10.1145/3495243.3560550"/>
        <refcontent>ACM</refcontent>
      </reference>
      <reference anchor="optimal">
        <front>
          <title>Interval-based clock synchronization with optimal precision</title>
          <author fullname="Ulrich Schmid" initials="U." surname="Schmid">
            <organization/>
          </author>
          <author fullname="Klaus Schossmaier" initials="K." surname="Schossmaier">
            <organization/>
          </author>
          <date month="October" year="2003"/>
        </front>
        <seriesInfo name="Information and Computation" value="vol. 186, no. 1, pp. 36-77"/>
        <seriesInfo name="DOI" value="10.1016/s0890-5401(03)00103-2"/>
        <refcontent>Elsevier BV</refcontent>
      </reference>
      <reference anchor="forest40">
        <front>
          <title>Forest 4.0: Digitalization of forest using the Internet of Things (IoT)</title>
          <author fullname="Rajesh Singh" initials="R." surname="Singh">
            <organization/>
          </author>
          <author fullname="Anita Gehlot" initials="A." surname="Gehlot">
            <organization/>
          </author>
          <author fullname="Shaik Vaseem Akram" initials="S." surname="Vaseem Akram">
            <organization/>
          </author>
          <author fullname="Amit Kumar Thakur" initials="A." surname="Kumar Thakur">
            <organization/>
          </author>
          <author fullname="Dharam Buddhi" initials="D." surname="Buddhi">
            <organization/>
          </author>
          <author fullname="Prabin Kumar Das" initials="P." surname="Kumar Das">
            <organization/>
          </author>
          <date month="September" year="2022"/>
        </front>
        <seriesInfo name="Journal of King Saud University - Computer and Information Sciences" value="vol. 34, no. 8, pp. 5587-5601"/>
        <seriesInfo name="DOI" value="10.1016/j.jksuci.2021.02.009"/>
        <refcontent>Elsevier BV</refcontent>
      </reference>
      <reference anchor="space">
        <front>
          <title>Internet of Things in Space: A Review of Opportunities and Challenges from Satellite-Aided Computing to Digitally-Enhanced Space Living</title>
          <author fullname="Jonathan Kua" initials="J." surname="Kua">
            <organization/>
          </author>
          <author fullname="Chetan Arora" initials="C." surname="Arora">
            <organization/>
          </author>
          <author fullname="Seng W. Loke" initials="S." surname="Loke">
            <organization/>
          </author>
          <author fullname="Niroshinie Fernando" initials="N." surname="Fernando">
            <organization/>
          </author>
          <author fullname="Chathurika Ranaweera" initials="C." surname="Ranaweera">
            <organization/>
          </author>
          <date year="2021"/>
        </front>
        <seriesInfo name="DOI" value="10.48550/ARXIV.2109.05971"/>
        <refcontent>arXiv</refcontent>
      </reference>
      <reference anchor="keyinfra18">
        <front>
          <title>Bootstrapping Remote Secure Key Infrastructures (BRSKI)</title>
          <author fullname="Max Pritikin" initials="M." surname="Pritikin">
            <organization>Cisco</organization>
          </author>
          <author fullname="Michael Richardson" initials="M." surname="Richardson">
            <organization>Sandelman Software Works</organization>
          </author>
          <author fullname="Michael H. Behringer" initials="M. H." surname="Behringer">
         </author>
          <author fullname="Steinthor Bjarnason" initials="S." surname="Bjarnason">
            <organization>Arbor Networks</organization>
          </author>
          <author fullname="Kent Watsen" initials="K." surname="Watsen">
            <organization>Juniper Networks</organization>
          </author>
          <date day="17" month="January" year="2019"/>
          <abstract>
            <t>   This document specifies automated bootstrapping of an Autonomic
   Control Plane.  To do this a remote secure key infrastructure (BRSKI)
   is created using manufacturer installed X.509 certificate, in
   combination with a manufacturer's authorizing service, both online
   and offline.  Bootstrapping a new device can occur using a routable
   address and a cloud service, or using only link-local connectivity,
   or on limited/disconnected networks.  Support for lower security
   models, including devices with minimal identity, is described for
   legacy reasons but not encouraged.  Bootstrapping is complete when
   the cryptographic identity of the new key infrastructure is
   successfully deployed to the device but the established secure
   connection can be used to deploy a locally issued certificate to the
   device as well.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-anima-bootstrapping-keyinfra-18"/>
      </reference>
    </references>
    <?line 357?>

<section anchor="comparison-of-raytime-with-prior-work">
      <name>Comparison of raytime with prior work</name>
      <t>Draft versions of RFC8995 up to 18 <xref section="2.6.1" sectionFormat="of" target="keyinfra18"/>
had explicit guidance for updating a current reasonable date (CRD) from seen certificates.
That CRD is similar to the lower time bound of raytime.</t>
      <t>[
TBD: Go through that again
to verify we’re not losing properties.
In particular, look not only at ACE but also MASA interactions.
]</t>
    </section>
    <section anchor="change-log">
      <name>Change log</name>
      <t>Since -02:</t>
      <ul spacing="normal">
        <li>
          <t>Unmodified draft renewal.</t>
        </li>
      </ul>
      <t>Since -01:</t>
      <ul spacing="normal">
        <li>
          <t>Add security considerations</t>
        </li>
        <li>
          <t>Add section on the limits to the use of old tokens</t>
        </li>
        <li>
          <t>Add short appendix that will later compare this to prior art
in draft-ietf-anima-bootstrapping-keyinfra</t>
        </li>
      </ul>
      <t>Since -00:</t>
      <ul spacing="normal">
        <li>
          <t>Write ‘raytime’ as a single word rather than ‘ray time’.</t>
        </li>
        <li>
          <t>Editorial fixes provided by Carsten Bormann.</t>
        </li>
      </ul>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TBD:
CB</t>
      <!--  LocalWords:  cnonce
 -->

</section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA41b23IbSXJ9768oUw8iJwCI1GVmRF9mKWo0q/HcQqRXjvBs
OArdBaCGja7erm5AMIMR/gf/jt/8J/4Sn7xUXyDOevdhRwSqq7PycvJkVmI+
n2e7S/Miy1rflu7SnHywh9Zv8a8/2dIXtvXV2rThzlXGfap9czChMrYyXbUM
XVW4wpQht6WhZ4yvWtfsbHmS2eWycbthu5OsCHllad+isat2brexczHO2+dt
s543smp+/iLLbevWoTlc0vuy2DbObi/N+w+377JsH5q7dRO6+tLwc9nOVZ27
zIzRT283EHfehjn/A59vrS918R98064WoaGPG1eHS7Np2zpePnu2xtHtcpGH
7bN80xxi9UzlwconZhP2pggumnbjoyERzMY17hv6soSwscUx01b5MjTz/XqB
LTfdcuHDM1dU89JDL7Z8dpJl2Z07YI+ChJ4bfcncxEOFV4fK/wc0Hir+LGnT
2Aa7bV3rc/68V72uWvnKtwf+I9TY0ce0sgnLLrYV9JxlcWub9t//0gVIfGkO
Dh/Zrt2EBpLMsdoYMc/1pqENYOKrbfyf/8aj9F2ON7ZklCts2HjLHzrRbp6e
+IMalTSZZVVotjjMDvbJIOTwlzHff7y9NB/eXX/16uI1/ry6/pb/fP38/Bx/
2tzNxQXfz98uKruzcU6fRZd3jXw1/1xfcID1ZnjMu3Y1r9p63n+ONX5bu2bl
8vaS5e/Pz/+b63+TIr5fmB9sA4e/xv+H8ndWvbU7X5g3rqpc2/JSV/EShA6+
vnj9+pz/1PB617U4g3mfBOHvomu8i6QjeNJNaxtz27g78mZnfnKfWvOdq+A/
dNAT8nV4mnn78/vFxfni4uLlq2cvXr5+9fzli8WLV1+ev3pF72M/sOWw7Pzi
y2c351+/Pp+/enl+cXr+4uz8/OL8xfw5FsM0cOKX59PVvy1+u4td7hfPz59f
LM6fL87PyVaxhin6lS+/xvue2eZf/W7x/OL89eL81euvLrAMXo7zNPbi65E5
bAWh5ssQWviQrWuK1bRwfvE1gmM+nxu7pG+hmuzjBqhTuJ3PEX0WaitcXYYD
MMdXDDukEYQkosNUAUFtS/YOeBCeQMAGxCyUTXEE88yysGwtggWIZk3bwJOx
FT8AFZid4h3wLazk4xLBxGsI/yBCVZjcNa1feUKpaIAHMVBgbvFHFVpThxj9
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

-->

</rfc>
