<?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.43 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-richardson-rats-geographic-results-02" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="geoAR">Geographic Attestation Results</title>
    <seriesInfo name="Internet-Draft" value="draft-richardson-rats-geographic-results-02"/>
    <author initials="M." surname="Richardson" fullname="Michael Richardson">
      <organization>Sandelman Software Works</organization>
      <address>
        <email>mcr+ietf@sandelman.ca</email>
      </address>
    </author>
    <date year="2026" month="August" day="30"/>
    <area>Security</area>
    <workgroup>RATS (if adopted)</workgroup>
    <keyword>geofence</keyword>
    <keyword>workload</keyword>
    <keyword>soverign computing</keyword>
    <abstract>
      <?line 76?>

<t>Many workloads have limitations on what geography they are allowed to operate in.
This is often due to a regulation that requires that the computation occur in a particular jurisdiction.</t>
      <t>There are many mechanisms by which Evidence of location may be created and then evaluated by a Verifier.
No matter which mechanism is appropriate for a given situation, the result of the Verification can be expressed in a similiarly defined EAT Attestation Result.</t>
      <t>This document is therefore about encoding a variety of geographical conclusions in an Attestation Result.
In addition, one mechanism of directly creating a geographic result in the form of an Endorsement is described in an appendix.</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-richardson-rats-geographic-results/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        RATS Working Group mailing list (<eref target="mailto:rats@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/rats/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/rats/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/mcr/geographicresult"/>.</t>
    </note>
  </front>
  <middle>
    <?line 87?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Resolving the question of where certain computations are done can be critical to assessing how much trust to put into the result.</t>
      <t>MORE USE CASES HERE.</t>
      <t><xref target="I-D.ietf-rats-ear"/> provides a framework that allows an <xref target="RFC9334"/> Verifier to return a conclusion as to geographic region for an Target Environment.</t>
      <t>While <xref section="4.2.10" sectionFormat="comma" target="RFC9711"/> provides a very good WGS84 based location claim, often very suitable as Evidence, it is not ideal for the use by Relying Parties.</t>
      <t>There are a few reasons:</t>
      <ul spacing="normal">
        <li>
          <t>the latitude and longitude describe a location on the Earth. The Relying Party is seldom interested in that level of detail.  It needs to know if it's in the correct place.</t>
        </li>
        <li>
          <t>the geographic position leaks significant amount of private information that is not necessary for the Relying Party to know.</t>
        </li>
        <li>
          <t>for many activities, it is the Legal Jurisdiction that matters, not the actual location.  Jurisdictions often do not have well defined concentric boundaries.  For instance, the South Korean Consultate in Los Angelos is often for Legal purposes, in Korea.  Yet, only a few meters away, possibly below the level of WGS84 accuracy, the jurisdiction would be different.</t>
        </li>
        <li>
          <t>there are many other situations involving exclaves, and even exclaves inside other exclaves where the boundaries are quite complex.</t>
        </li>
      </ul>
      <t>This document offers a new set of structured abstract claims that provides an evaluated view of where a Target Environment is.</t>
      <t>The mechanism to do this appraisal may depend upon a number of factors which may be related to physical geographic position, but also include other considerations.</t>
      <t>The most obvious way is through various Global Navitation Satellite Systems (GNSS): the United States Global Positioning System (GPS), Russia's Global Navigation Satellite System (GLONASS), China's BeiDou Navigation Satellite System (BDS) and the European Union's Galileo.
These signals can be spoofed, manipulated and suppressed.
There are many environments, such as inside a (Faraday) cage in a Data Center, where GNSS signals do not reach.
Whether or not they are a good measure of location is not the subject of this document.
Rather, if a Verifier believes that information trustworthy for the purpose intended, then it may use the format described here to document it's conclusion.</t>
      <t>There are also other radio methods, such as time of travel calculations from a mobile (LTE) tower.</t>
      <t>An example of mechanically determination of location without radio could be a claim that a Target Environment is less than 1ns (as light travels in a fiber optic cable) away from another Target Enviroment whose location is known.
A typical fiber optic cable has a speed of 200,000 kilometers per second (slower than light in a vacuum to the index of refraction of the glass involved).
So if the round trip time between environments is 1ns, then the distance between Target Environments can be appraised to be within 1m of each other.
Other work contemplates claims like this one</t>
      <t>Finally, one method to find out where a device is for a trusted human to go and look at it.  Perform an audit.
The result is not an Attestation Result according to <xref target="RFC9334"/>, but instead it is an Endorsement.
<xref target="presence"/> describes a protocol that could be used for a human auditor to make such an evaluation.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="claim-definition">
      <name>Claim definition</name>
      <t>This claim definition goes into the EAR submods map.</t>
      <t>Geographic Results can contain one or more of the following claims.</t>
      <ol spacing="normal" type="1"><li>
          <t>jurisdiction-country = ISO3361 country code.</t>
        </li>
        <li>
          <t>jurisdiction-country-exclave = booleann</t>
        </li>
        <li>
          <t>jurisdiction-subdivision   = country-specific list</t>
        </li>
        <li>
          <t>jurisdiction-subdivision-exclave = country-specific-list</t>
        </li>
        <li>
          <t>jurisdiction-city    = subdivision-specific list</t>
        </li>
        <li>
          <t>jurisdiction-city-exclave = subdivision-specific-list</t>
        </li>
        <li>
          <t>enclosing-exclave-country = ISO3361 country code</t>
        </li>
        <li>
          <t>near-to = another entity+distance</t>
        </li>
        <li>
          <t>rack-U-number = ordinal, numbered from bottom RU as 1.</t>
        </li>
        <li>
          <t>cabinet-number = ordinal, DC specific ordering, might ignore hallway, room and floor</t>
        </li>
        <li>
          <t>hallway-number = ordinal</t>
        </li>
        <li>
          <t>room-numbr = string</t>
        </li>
        <li>
          <t>floor-number = string, usually representing an integer.</t>
        </li>
        <li>
          <t>Data Center</t>
        </li>
      </ol>
      <t>There are some additional things which may be received as Evidence, but which is sometimes important to convert to  Results,  having verified some aspects. (TBD)
1. range-to-tower = designation of tower, distance-readings
2.</t>
      <t>(NOTE: There are apparently exclaves that ar inside other countries exclaves, like Nahwa. Unclear if exclave information is even relevant, or if second order matters at all)</t>
    </section>
    <section anchor="cddl-definition">
      <name>CDDL Definition</name>
      <artwork><![CDATA[
; # import rfc9711 as eat
; # import rfcXXXX as corim

$$ear-appraisal-extension //= (
    ear.geographic-result-label => geographic-result-claims
)

geographic-result-claims = non-empty<{
  ? grc.jurisdiction-country-label => iso-3361-alpha-2-country-code
  ? grc.jurisdiction-country-exclave-label => bool
  ? grc.jurisdiction-subdivision-label => tstr .size (2..16)
  ? grc.jurisdiction-subdivision-exclave-label => bool
  ? grc.jurisdiction-city-label => tstr .size(2..16)
  ? grc.jurisdiction-city-exclave-label => bool
  ? grc.enclosing-exclave-country-label => iso-3361-alpha-2-country-code
  ? grc.near-to-label => corim.uuid-type
  ? grc.rack-U-number-label => uint .gt 0
  ? grc.cabinet-number => uint .gt 0
  ? grc.hallway-number => uint
  ? grc.room-number => tstr .size (2..64)
  ? grc.floor-number => int
  ? grc.data-center-name => tstr .size (2..64)
}>

ear.geographic-result-label = eat.JC<"TBD02", TBD01>

grc.jurisdiction-country-label = eat.JC<"grc.jurisdiction-country", 0>
grc.jurisdiction-country-exclave-label = eat.JC<"grc.jurisdiction-country-exclave", 1>
grc.jurisdiction-subdivision-label = eat.JC<"grc.jurisdiction-subdivision", 2>
grc.jurisdiction-subdivision-exclave-label = eat.JC<"grc.jurisdiction-subdivision-exclave", 3>
grc.jurisdiction-city-label = eat.JC<"grc.jurisdiction-city", 4>
grc.jurisdiction-city-exclave-label = eat.JC<"grc.jurisdiction-city-exclave", 5>
grc.enclosing-exclave-country-label = eat.JC<"grc.enclosing-exclave-country", 6>
grc.near-to-label  = eat.JC<"grc.near-to", 7>
grc.rack-U-number-label = eat.JC<"grc.rack-U-number", 8>
grc.cabinet-number = eat.JC<"grc.cabinet-number", 9>
grc.hallway-number = eat.JC<"grc.hallway-number", 10>
grc.room-number = eat.JC<"grc.room-number", 10>
grc.floor-number = eat.JC<"grc.floor-number", 11>
grc.data-center-name = eat.JC<"grc.data-center-name", 12>

iso-3361-alpha-2-country-code = tstr .size 2
]]></artwork>
      <t>There are a number of different fields in this claim, and all of them are marked optional.
But, at least some result <bcp14>MUST</bcp14> be provided.
Which one will be needed is subject to the target usage and the needs of the Relying Party.</t>
      <t>The explicitely geographic based jurisdiction fields are arranged in a hierarchy of values.
The outer most values are <bcp14>REQUIRED</bcp14> when any inner value is also present.
This includes the claims: country, subdivision, and city, or the equivalent exclave claims (country-exclave, subdivision-exclave, and city-exclave).</t>
      <t>Note that the ISO 3166 term for a part of a country is called a "subdivision".
This should be understood to mean "state" (e.g., in the USA, Australia), "province" and "territory" (e.g., Canada, France).
There are no IANA maintained values for "subdivision", but the ISO 3166-2 has codes for many subdivisions, which can be seen in the ISO's Online Browsing Platform <xref target="obp"/>.</t>
      <t>In general, subdivision lists are maintained by countries.
It is usually the case that city lists are maintained by subdivisions, and there are no lists of these in any hierarchial databases, such as the ISO might maintain for countries.
It is therefore not unsual for there to be a Paris, Texas, USA, and a Paris, France, and a London, Ontario, Canada, as well as a London, England, UK.
Equally, there are many cities called Springfield in different states of the USA.</t>
      <t>Exclaves can exist at all levels: one part of a city might be within another city, but both are in the same country and subdivision.</t>
      <t>Even when in an exclave, it is acceptable for a Verifier to only return the non-exclave version, hiding that an exclave is involved.
In that case, the Relying Party will receive the country, subdivision and city of where the computation is.</t>
      <t>In general, only one of country or country-exclave, subdivision or subdivision-exclave, and city or city-exclave will be present.
When the exclave versions are present, if the Relying Party needs to indicate where the exclave is located, it may use the enclosing-exclave-country label.</t>
      <t>The near-to-label is an arbitrary relative reference, and it refers to some other claim that the Relying Party is assumed to already know about.
The definition of "near" is up to the Verifier, but in general, it is expected that it is close enough that it is in the same jurisdiction as the other entity.</t>
      <t>The series of claims, Data-Center, Floor-Number, Room-Number, Hallway-Number, Cabinet-Number and Rack-U-Number form a partial hierarchy designed to identify where a piece of equipment is.
This set of claims is more useful when a location Endorsement is created by an auditor, such as through the process described in <xref target="presence"/>.</t>
      <t>Not all data centers are numbered in the same way.
For some, the Room-Number implies the Floor-Number.
For others, the Hallway-Number implies both room and floor, and for still others, the Cabinet-Number is unique per building.</t>
      <t>Rack-U numbers refer to the system within a cabinet, with the bottom most position labelled as 1.  This accomodates cabinets of varying heights and capacities.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>These considerations do not cover the protocol described in <xref target="presence"/>.</t>
      <t>This document describes attributes that would go into an EAT format Attestation Result (EAR).
This is an artifact that is communicated from a Verifier to a Relying Party.
The threat model for this artifact is governed by a typical "CIA" list: Confidentiality, Integrity and Availability.</t>
      <section anchor="confidentiality-threats">
        <name>Confidentiality Threats</name>
        <t>This artifact contains abtracted information about a location.
The location could include where a person operating the computation is, such as if this describes the location of a person's smartphone, in which case the location, even abstracted would be PII.
It is almost always preferable for this artifact to remain private, however the integrity of the artifact is not compromised if that is not the case.</t>
      </section>
      <section anchor="integrity-threats">
        <name>Integrity Threats</name>
        <t>The most important threat is that claims could be corrupted or intentionally changed as they are transfered from Verifier to Relying Party.
EAR are signed objects, and the signature from the Verifier maintains the integrity of that object.
The claims present in this document will most often be combined with other claims in the same artifact.</t>
        <t>When an EAT format Endorsement is created by an auditor, the auditor signs the artifact.
The Endorsement may be provided to a Verifier through out of band means, or it can be stored by the Attesting Environment, and carried through another protocol from Attester to Verifier.</t>
      </section>
      <section anchor="availability-threats">
        <name>Availability Threats</name>
        <t>This artifact is the result of a calculation or audit that establishes a result.
Once created, it can be valid for a period of time from seconds (GNSS result on a smartphone) to months (human audit of a data center).</t>
        <t>Distruptions to the mechanism of location calculation do not make the result of the previous calculation invalid.
However, it is possible that such an attack could make subsequent calculations infeasible.  For instance, the GNSS signals can easily be jammed.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is asked to allocate TBD01 from the "CBOR Web Token Claims" registry
<xref target="IANA.cwt"/> (from a Specification Required Integer range), and TBD02 (suggestion: "ear.geographic-result-claims") from the "JSON Web Token Claims" registry <xref target="IANA.jwt"/>.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC9334">
          <front>
            <title>Remote ATtestation procedureS (RATS) Architecture</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="D. Thaler" initials="D." surname="Thaler"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="N. Smith" initials="N." surname="Smith"/>
            <author fullname="W. Pan" initials="W." surname="Pan"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>In network protocol exchanges, it is often useful for one end of a communication to know whether the other end is in an intended operating state. This document provides an architectural overview of the entities involved that make such tests possible through the process of generating, conveying, and evaluating evidentiary Claims. It provides a model that is neutral toward processor architectures, the content of Claims, and protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9334"/>
          <seriesInfo name="DOI" value="10.17487/RFC9334"/>
        </reference>
        <reference anchor="RFC9711">
          <front>
            <title>The Entity Attestation Token (EAT)</title>
            <author fullname="L. Lundblade" initials="L." surname="Lundblade"/>
            <author fullname="G. Mandyam" initials="G." surname="Mandyam"/>
            <author fullname="J. O'Donoghue" initials="J." surname="O'Donoghue"/>
            <author fullname="C. Wallace" initials="C." surname="Wallace"/>
            <date month="April" year="2025"/>
            <abstract>
              <t>An Entity Attestation Token (EAT) provides an attested claims set that describes the state and characteristics of an entity, a device such as a smartphone, an Internet of Things (IoT) device, network equipment, or such. This claims set is used by a relying party, server, or service to determine the type and degree of trust placed in the entity.</t>
              <t>An EAT is either a CBOR Web Token (CWT) or a JSON Web Token (JWT) with attestation-oriented claims.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9711"/>
          <seriesInfo name="DOI" value="10.17487/RFC9711"/>
        </reference>
        <reference anchor="I-D.ietf-rats-ear">
          <front>
            <title>EAT Attestation Results</title>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <author fullname="Eric Voit" initials="E." surname="Voit">
              <organization>Cisco</organization>
            </author>
            <author fullname="Sergei Trofimov" initials="S." surname="Trofimov">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <date day="26" month="May" year="2026"/>
            <abstract>
              <t>   This document defines the EAT Attestation Result (EAR) message
   format.

   EAR is used by a verifier to encode the result of the appraisal over
   an attester's evidence.  It embeds an AR4SI's "trustworthiness
   vector" to present a normalized view of the evaluation results, thus
   easing the task of defining and computing authorization policies by
   relying parties.  Alongside the trustworthiness vector, EAR provides
   contextual information bound to the appraisal process.  This allows a
   relying party (or an auditor) to reconstruct the frame of reference
   in which the trustworthiness vector was originally computed.  EAR
   supports simple devices with one attester as well as composite
   devices that are made of multiple attesters, allowing the state of
   each attester to be separately examined.  EAR can also accommodate
   registered and unregistered extensions.  It can be serialized and
   protected using either CWT or JWT.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-ear-04"/>
        </reference>
        <reference anchor="I-D.ietf-rats-endorsements">
          <front>
            <title>RATS Endorsements</title>
            <author fullname="Dave Thaler" initials="D." surname="Thaler">
              <organization>Armidale Consulting</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <date day="2" month="March" year="2026"/>
            <abstract>
              <t>   In the IETF Remote Attestation Procedures (RATS) architecture, a
   Verifier accepts Evidence and uses Appraisal Policy for Evidence,
   typically with additional input from Endorsements and Reference
   Values, to generate Attestation Results in formats that are useful
   for Relying Parties.  This document illustrates the purpose and role
   of Endorsements and discusses some considerations in the choice of
   message format for Endorsements in the scope of the RATS
   architecture.

   This document does not aim to define a conceptual message format for
   Endorsements and Reference Values.  Instead, it extends RFC9334 to
   provide further details on Reference Values and Endorsements, as
   these topics were outside the scope of the RATS charter when RFC9334
   was developed.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-endorsements-09"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC7468">
          <front>
            <title>Textual Encodings of PKIX, PKCS, and CMS Structures</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <author fullname="S. Leonard" initials="S." surname="Leonard"/>
            <date month="April" year="2015"/>
            <abstract>
              <t>This document describes and discusses the textual encodings of the Public-Key Infrastructure X.509 (PKIX), Public-Key Cryptography Standards (PKCS), and Cryptographic Message Syntax (CMS). The textual encodings are well-known, are implemented by several applications and libraries, and are widely deployed. This document articulates the de facto rules by which existing implementations operate and defines them so that future implementations can interoperate.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7468"/>
          <seriesInfo name="DOI" value="10.17487/RFC7468"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC9360">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Header Parameters for Carrying and Referencing X.509 Certificates</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="February" year="2023"/>
            <abstract>
              <t>The CBOR Object Signing and Encryption (COSE) message structure uses references to keys in general. For some algorithms, additional properties are defined that carry parameters relating to keys as needed. The COSE Key structure is used for transporting keys outside of COSE messages. This document extends the way that keys can be identified and transported by providing attributes that refer to or contain X.509 certificates.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9360"/>
          <seriesInfo name="DOI" value="10.17487/RFC9360"/>
        </reference>
        <reference anchor="IDevID" target="https://1.ieee802.org/security/802-1ar/l">
          <front>
            <title>IEEE 802.1AR Secure Device Identifier</title>
            <author>
              <organization>IEEE Standard</organization>
            </author>
            <date year="2018"/>
          </front>
        </reference>
        <reference anchor="LLDP" target="https://www.ieee802.org/1/pages/802.1AB-rev.html">
          <front>
            <title>802.1AB-REV - Station and Media Access Control Connectivity Discovery</title>
            <author>
              <organization>IEEE Standard</organization>
            </author>
            <date year="2009" month="June" day="19"/>
          </front>
        </reference>
        <reference anchor="rollover" target="https://en.wikipedia.org/wiki/Rollover_cable">
          <front>
            <title>Console Rollover Cable</title>
            <author>
              <organization>Wikipedia</organization>
            </author>
            <date year="2025" month="April" day="26"/>
          </front>
        </reference>
        <reference anchor="IANA.cwt" target="https://www.iana.org/assignments/cwt">
          <front>
            <title>CBOR Web Token (CWT) Claims</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.jwt" target="https://www.iana.org/assignments/jwt">
          <front>
            <title>JSON Web Token (JWT)</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="speed" target="https://www.genuinemodules.com/how-fast-does-fiber-optics-travel_a6553">
          <front>
            <title>How fast does fiber optics travel?</title>
            <author>
              <organization>Genuine Modules</organization>
            </author>
            <date year="2025" month="October" day="07"/>
          </front>
        </reference>
        <reference anchor="obp" target="https://www.iso.org/obp/ui/#search">
          <front>
            <title>ISO Online Browsing Platform</title>
            <author>
              <organization>International Standards Organization</organization>
            </author>
            <date year="2026" month="March" day="01"/>
          </front>
        </reference>
        <reference anchor="ptp" target="https://en.wikipedia.org/wiki/Precision_Time_Protocol">
          <front>
            <title>Precision Time Protocol</title>
            <author>
              <organization>Wikipedia</organization>
            </author>
            <date year="2025" month="October" day="07"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 302?>

<section anchor="presence">
      <name>Proof of Presense</name>
      <t>Some aspects of a device can not be intuited by the device itself.
For instance, a router platform may have no way to know what color the case is, where in a cabinet it is located, or which electrical circuit it is connected to.
This kind of information must be provided through an Endorsement: a statement from a third party.</t>
      <t>These statements may require human audiitors to inspect the device physically.
But, which device is really in front of an auditor?  This document describes a mechanism by which an auditor can make physical contact with a device and collect information to identify the
device in a cryptographically strong manner.</t>
      <t>The Proof of Presence protocol is intended to provide a mechanism by which device identity can be established via non-networked, physical cabling such as a USB cable, or a serial (craft) console.</t>
      <section anchor="introduction-1">
        <name>Introduction</name>
        <t>In the RATS Architecture <xref target="RFC9334"/>, an important input to the Verifier function is the Endorsement.
Endorsements <xref target="I-D.ietf-rats-endorsements"/> provide information that the Attester can not inherently know.
This includes a statement that a particular (Attester) keypair belongs  to a device of a particular type.
Some of this information might be placed into device identity certificate (such as an IDevID <xref target="IDevID"/>), but many other kinds of claims would not belong.</t>
        <t>For instance, the physical location or connectivity of a device would be subject to change.
In some cases a GPS coordinate might make sense, but in other cases GPS might not be trustworthy, or might be inadequate.
The physical location of a router, as being in "Building 4, Aisle 37, Cabinet 9, Rack Unit 2-3"
would be a level of precision that GPS would be unable to provide.
Other claims might involve knowledge of the color of a device ("the red car"), or the connectivity of the device ("the device plugged into the blue cable").
A relative claim might also be relevant: The house on top of the person with Ruby Slippers.</t>
        <t>In these cases an endorsement will need to be created, often by a human inspector/auditor that will have to physically visit the device and ascertain the state of the device.
There are some challenges for such an auditor: they could be led astray by malicious intent to inspect the wrong device, or they could simply not locate the device they intended to audit.
This results in an endorsement linked to the wrong device.</t>
        <section anchor="overview-of-mechanism">
          <name>Overview of mechanism</name>
          <t>The auditor is equiped with a portable device (e.g., a tablet computer) containing an endorsement  signing key.
This is the audit device.
(This could be an actual key, or it could just be a secure/tamperproof container in which endorsements will be stored until a long-term/more-secure endorsement key can be employed)</t>
          <t>The auditor finds the device in question and then collects whatever information is relevant.
For instance, the location in whatever form makes sense for the endorsement.
That might include taking pictures of the device in-situ, scans of serial numbers on the outside of the case, and which cables are connected to which physical ports.</t>
          <t>The auditor then plugs a physical cable between their audit device and the device under audit.
This cable is envisioned to be either a USB console "rollover" cable <xref target="rollover"/>.
The audit device then initiates some commands over this cable that will result in a proof of the idnetity of connected device.</t>
        </section>
      </section>
      <section anchor="terminology">
        <name>Terminology</name>
        <dl>
          <dt>Audit Device:</dt>
          <dd>
            <t>The device that is used to collect information that will go into endorsements.</t>
          </dd>
          <dt>Device Under Audit:</dt>
          <dd>
            <t>Abbreviated to DUA. The device for which endorsements are being made.</t>
          </dd>
          <dt>Auditor:</dt>
          <dd>
            <t>The human who inspects the Device Under Audit.</t>
          </dd>
        </dl>
      </section>
      <section anchor="presence-protocol">
        <name>Presence Protocol</name>
        <t>It is assumed that the console port has been designed for use by humans.
This protocol is designed to interact as if it's a human.
Note that more sophisticated mechanisms such as SLIP or PPP would be more vulnerable to spoofing.</t>
        <section anchor="loginhandshake">
          <name>Initial Handshake</name>
          <t>The audit device sends carriage returns (octet 13) until it sees a response with a colon (":") in it.
This is usually a "login:" or "username:" prompt of some kind.
The audit device then sends the word "endorsementaudit" with a carriage return.
This represents a user login, and for some systems this can be set as a real login with limited permissions.
It could run a special audit shell that only can perform system audits.
On other systems, this might just an unpriviledged account with the normal prompts and commands.</t>
          <t>The handshake is over when the word "endorsement" is seen.</t>
        </section>
        <section anchor="proof-of-presence">
          <name>Proof of Presence</name>
          <t>(Proof of Presence, or POP, is not a great TLA, as it often refers to proof that a private key is used.  A better name is saught)</t>
          <t>All commands are prefixed with "rfcXXXX" (with a trailing space, where XXXX is the number of this document).
A second word indicates the command.
The allows the device under audit to collect all operations under a single command or command sub-system.</t>
          <t>The audit device then sends the word/command "position-proof", followed by a 33 byte nonce, base64URL encoded into a 45 byte string.
(33 bytes are recommended because being divisible by three, they encode evenly in base64, leaving  no trailing =)</t>
          <t>The device under audit then responds with a CBOR format EAT object, encoded in base64URL, and wrapped in the strings "--- BEGIN COSE OBJECT ---" and "--- END COSE OBJECT ---"
{XXX: or should we use CBOR Diagnostic Format?}</t>
          <t>The EAT payload should be constructed as follows.
Shown are a few attributes that would make sense to include.
The above provide nonce becomes the eat_nonce.</t>
          <artwork><![CDATA[
{
    / eat_nonce /       10: h'948f8860d13a463e8e',
    / ueid /           256: h'0198f50a4ff6c05861c8860d13a638ea',
    / oemid /          258: h'894823', / IEEE OUI format OEM ID /
    / hwmodel /        259: h'549dcecc8b987c737b44e40f7c635ce8'
                              / Hash of chip model name /,
    / hwversion /      260: ["1.3.4", 1], / Multipartnumeric version /
    / swname /         271: "Acme OS",
    / swversion /      272: ["3.5.5", 1],
    }
]]></artwork>
          <t>The EAT payload is signed using the device under audit's Attestation Key.
(A TPM's Endorsement Key can not sign things)
The hash of the Attestation Key is provided in the unprotected headers.</t>
          <artwork><![CDATA[
   61( 18( [
       h'A10126',                           / protected headers  /
       {
       / x5t / 34: [16, h'1234456781234567812344567812345678'],
       },                                   / unprotected headers /
       h'A20B46024A6B0978DE0A49000102030405060708',    / payload /
       h'9B9B2F5E470000F6A20C8A4157B5763FC45BE759
         9A5334028517768C21AFFB845A56AB557E0C8973
         A07417391243A79C478562D285612E292C622162
         AB233787'                                   / signature /
   ] ) )
]]></artwork>
          <t>x5t is from <xref target="RFC9360"/>.
The hash algoritm <bcp14>SHOULD</bcp14> be SHA256, or newer.
(Example to be updated.</t>
        </section>
        <section anchor="collection-of-endorsement-claims">
          <name>Collection of Endorsement Claims</name>
          <t>The audit device then validates the received EAT object from the device.
The audit device locates the public part of the device's Attestation Key.
This will in most cases be part of the "work order" that the auditor has been provided, but in some cases, the auditor will have to collect it from the device.</t>
          <t>For instance, a device might have been replaced since the audit was requested, or there might be additional devices that the auditor thinks might be relevant.
An example might be when a switching device has many cables connected into an adjacent optical media converter that puts multiple signals through a single multi-frequency optical cable.
Such a layer of indirection might affect the audit's ability to indicate which port is physically connected to which cable.</t>
          <t>Some key physical information that an auditor might need to collect is which fibre patches are connected to which ports of the switch.
This information would be ideally collected by scanning (and checking) labels on the fibre patches.</t>
        </section>
        <section anchor="additional-commands">
          <name>Additional Commands</name>
          <t>Some additional commands can be provided by the device under audit:</t>
          <dl>
            <dt>"attestation-key":</dt>
            <dd>
              <t>This command returns the public certificate for the device's Attestation Key in <xref target="RFC7468"/> Certificate format.</t>
            </dd>
            <dt>"port-flash":</dt>
            <dd>
              <t>This command takes an interface number/name (e.g., "GigabitEthernet 3/014"), and causes the LEDs adjacent to a particular port to flash in a distinct pattern.  This is to help identity which physical port is which.</t>
            </dd>
            <dt>"port-down":</dt>
            <dd>
              <t>This command takes an interface number/name (as above), and causes the switch to mark the physical port as down, but not turn off the laser.  Traffic <bcp14>SHOULD</bcp14> be re-routed as if the fibre has failed.  This is a disruptive test!  The auditor may then physically unplug the fibre as part of an audit of the fibre paths.  This command might not perform the action immediately, but could signal to the network operations center that such a test is desired, and allow them to approve it.</t>
            </dd>
            <dt>"port-up":</dt>
            <dd>
              <t>Indicates the end of an path-audit started by "port-down".</t>
            </dd>
            <dt>"endorsements":</dt>
            <dd>
              <t>This command is followed by a base64URL encoded CBOR Sequence of Endorsements, wrapped in the same BEGIN COSE header and footer as before.  To guard against failure during, the device under audit <bcp14>SHOULD</bcp14> time out this command after 120s if no END COSE OBJECT framing is seen.
This command allows the auditor to load any resulting endorsements directly into the device to be passed up along with Evidence to a Verifier.</t>
            </dd>
            <dt>"exit":</dt>
            <dd>
              <t>This command indicates that the audit is over, and the device under audit can return the console interface to the normal state.</t>
            </dd>
          </dl>
        </section>
        <section anchor="generation-of-endorsement">
          <name>Generation of Endorsement</name>
          <t>The auditor, having collected one or more proofs, then transmits them to the endorsement agency.
This may be via physical transfer, secured email, or some secured online API.</t>
          <t>The endorsement agency then needs to do the following:</t>
          <ol spacing="normal" type="1"><li>
              <t>locate the Endorsement Certificate, if it was not collected from the device.</t>
            </li>
            <li>
              <t>validate that the provided EAT is signed by the associated Endorsement Key.</t>
            </li>
            <li>
              <t>validate that the claims in the EAT are consistent with that which is expected from the device.</t>
            </li>
            <li>
              <t>validate the format of the additional information collected by the auditor.  Location, type and number of connections, (colour of device even).</t>
            </li>
          </ol>
          <t>From this, one or more Endorsements are then created and signed by the endorsing agency.</t>
          <t>In some cases the auditor might be entirely self-contained, producing the endorsements directly on their audit device.
In that case, they would use the "endorsements" to load the resulting Endorsements directly into the device.</t>
        </section>
      </section>
      <section anchor="alternatives-to-usbserial-cables">
        <name>Alternatives to USB/serial cables</name>
        <t>There are a number of cases where a USB or serial console cable might be unavailable, or it's might be undesireable.
Many smaller IoT devices, home routers and consumer items do not have any kind of console available.
The console access might require removal of the case, which might be impossible to do while the device is operational, or while the device is physically installed.
Console access might provide access to a priviledged prompt; that access might either be unsafe to give to the auditor, or might require a password to access that should not be shared.</t>
        <t>One alternative is to use Ethernet.
Most routing platforms have many ethernet ports, and usually have at least one empty ethernet port.
It is also common for there to be a dedicated copper ethernet port for management even on routing platforms that otherwise only have fiber-optic ports running at multiple hundred gigabits.
The use of ethernet has problems because ethernet can easily be switched; transmitting the signal to another device elsewhere.
This is often the whole point of the routing platform: to switch traffic elsewhere.
This would result in a false audit if the auditor is diverted.</t>
        <t>The LLDP protocol <xref target="LLDP"/> is a one-hop protocol which is usually not forwarded.
It can do things like tell a connected device which port of client device is connected to.
While trustworthy devices will not forward LLDP frames, an untrustworthy device that has been programmed to participate in a subterfuge might well forward frames.
It might be possible to construct a challenge/response system that has the auditor plug cables in some non-deterministic order in order to defeat the subterfuge.</t>
        <t>This process would probably need to augmented with some other forms of feedback; perhaps flashing of status LEDs on the device in a pattern.</t>
        <t>Note: the console/USB cable could also be redirected to another host!</t>
      </section>
      <section anchor="privacy-considerations">
        <name>Privacy Considerations</name>
        <t>The ability to walk up to a device and interogate it as to it's identity is potentially privacy violating if the device is associated with a person.
This would include all kinds of small devices: phones, laptops, electric bicycles, automobiles,</t>
        <t>One countermeasure is that the device needs to be put into an audit mode before it can be interrogated.
This is reasonable for some devices and some audit processes, but for other processees, the need to do random audits may countermand this need.
For devices such as large routing platforms, they are often located in data centers with multiple layers of physical access control: locked buildings, locked machine rooms, and locked cabinets.
For such devices, there are perhaps few privacy concerns, and the auditor needs credentials in order to access the device at all.</t>
      </section>
      <section anchor="security-considerations-1">
        <name>Security Considerations</name>
        <t>There are three concerns with this protocol.</t>
        <t>The first is the potential for unauthorized people to collect information about devices to which they have no authority to interogate.
In industrial settings, this is mitigated by physical access controls.
In those settings the ability to identify devices which may be physically misbehaving or are damaged and connect them to their digital identity significantly outweighs any concerns about device identity.</t>
        <t>In consumer and retail settings, the device <bcp14>SHOULD</bcp14> not respond to this protocol unless an operator/owner has put the device into device identication mode.</t>
        <t>The second concern with this protocol is that it might be spoofed or confuzzled.
The auditor could be mislead as whether the device in front of them is really the device that is responding to their queries.
The auditor <bcp14>SHOULD</bcp14> have the device identity with them already as part of the work order.
They should therefore not be mislead as to which device they intend to audit,  the issue is that it might not be the device that is physically in front of them.
The device might be a mock-up designed to look right, but really it is wired secretly to the real device which is elsewhere, and is differently configured.
This attack is called the "Sock-Puppet" attack.</t>
        <t>Such attacks require physical examination to detect.
Some attacks may be mitigated through careful use of the "port-flash" commands to cause signals visible to the auditor that would ideally be difficult to fake.
Efforts this way are the subject of further work.</t>
        <t>The third concern with this protocol is that it might open up the device to attacks via this console port.
The Initial Handshake <xref target="loginhandshake"/> mechanism is designed so that it can be easily implemented by typical router and operating system login mechanisms.
A very limited account would be created, or even a mode within the login mechanism itself, and so no additional inquiries would be possible.
Some operators prefer to never have a login process on the console/craft ports of their devices.
This is usually done so that maintenance people do not need to have passwords that can then be  re-used over a network, weaking the security of the device.
They depend upon physical security for the console ports to provide security.
Such operators might wish to rethink this policy for devices which will be subject to audit.</t>
      </section>
      <section anchor="iana-considerations-1">
        <name>IANA Considerations</name>
        <t>IANA is asked to allocate a CBOR Tag for this object.
Details TBD.</t>
      </section>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>Your name here.</t>
    </section>
    <section anchor="changelog">
      <name>Changelog</name>
      <?line 557?>

</section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
AAA=

-->

</rfc>
