<?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.29 (Ruby 3.3.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-richardson-rats-geographic-results-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="geoAR">Geographic Attestation Results</title>
    <seriesInfo name="Internet-Draft" value="draft-richardson-rats-geographic-results-01"/>
    <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="March" day="01"/>
    <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" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9334.xml">
          <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="27" month="January" 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-02"/>
        </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="25" month="February" year="2026"/>
            <abstract>
              <t>   In the IETF Remote Attestation Procedures (RATS) architecture, a
   Verifier accepts Evidence and, using Appraisal Policy typically with
   additional input from Endorsements and Reference Values, generates
   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-08"/>
        </reference>
        <reference anchor="RFC2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <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" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <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:
H4sIAAAAAAAAA5V963IbyZHufzxFGdqIIXcBEOCdtMezEEnN0JZEHlLaOQ6H
w9FAF4AeNboxfSEFK3Se5TzLebKTX2ZWdTUAajwTuxbZ3VWVlZX3S7Hf73de
vXrVqZIqtZem+6PN50W0WiRTM64qW1ZRleSZebBlnVZltxNNJoV9og/nNh8/
dDvTqLLzvFhfmrKKO504n2bRkiaKi2hW9YtkuoiKuMyzfhFVZX/uZ+8XMmN/
OOqU9WSZlCWtU61XNPb25sObzjTPSpuVdXlpqqK2HVrzqBMVNro0j3ZaF0m1
7jznxad5kderS/Mw/vBo9pKZieJ8Vdl4v/PJrul9fNkxfUPrzmw2tfgZg9I8
ivFzmT/ZIplnZpovV3WVZPPOk81qS4NMMDH9JpD9TGPpI/Mj3tHTZZSklwZb
++/EVrNBXswxMqkW9eTSLKfFQbNj2XCnE9XVIi8uO32TZLS5dwPz4LFEgwV9
7/DIpu1XNDttPspimy6jzDzms+qZMMJQlfTeCji07H8Bmv8u3aeDadTpZHmx
pMN84s09vLm6ODo6vjTjYrpIKjut6sLq87PRCJ/c9q8HmEZOzkbFjodZnBel
XdqsKi87nSSbba1xOuRh1/bp9ho/ESajYm6rS7OoqlV5eXAwogmtPR8eAnsH
pZ7tAT3oj6LiIJVBQp63Nzc3Bp+Oxg9CBtbQ1MnUmtuYoEhmiS14gMMyfu4L
5njwY0VIIYzyi5iI99IcDkfn9Ovbt9f3uyF8fn5uwTg6WEVzWx4IIK+JlJ8G
i2rZgtS9e7j5H1r/UdmI1jbvbJxEZjyd2rI0V0TzRZ7i34wOIXmirZvrpJyC
MNe/fyfDi/7wtD+6oIc0bYpZdu/JZoPn5FOyAjC8Kfx28KBj/jmNJqkN90MA
lnlqjfvCXPkvdgD4s5u6BdzhSX943D88BUGM348H0+fq0v38i/xcrqyN2xB3
w2OYE3cmmV3mcZ3ackBse7DIn/uzqKz6cW7L/iyZ2KJPIiCZlv2qiJ5s+s/o
9OTkqBvupvtT/mwwyGCQ4UFGBhkZ9EN3E/TRsD8829qwciXJTQbMvBPIMDqf
rL6xk6TMGe/01UGdHLwqicOmizaUt4935i5LMe/rIn8uIXru06gCm23Ad9of
HkGWbsOnAN5mlS0yJsMo9cRTmrtiHmXJv/gF5lxVq99DMfeFnSYQ3f/8kCzt
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
AA==

-->

</rfc>
