<?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-linker-diem-adem-core-03" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title>An Authentic Digital, Distinctive EMblem (ADEM) - Message Format and Authorization Model</title>
    <seriesInfo name="Internet-Draft" value="draft-linker-diem-adem-core-03"/>
    <author fullname="Felix Linker">
      <organization/>
      <address>
        <email>linkerfelix@gmail.com</email>
      </address>
    </author>
    <date year="2026" month="October" day="31"/>
    <area>Applications and Real-Time</area>
    <workgroup>Digital Emblems</workgroup>
    <abstract>
      <?line 42?>

<t>In times of armed conflict, the emblems recognized under International Humanitarian Law (IHL), such as the red cross, red crescent, and red crystal, are used to mark physical assets.
This enables, e.g., the military to identify assets that enjoy specific protections under IHL during their operations.
This draft specifies the message format and authorization model for a digital emblem, which signals that network-connected services enjoy specific protections under IHL.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://adem-wg.github.io/adem-core-spec/draft-linker-diem-adem-core.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-linker-diem-adem-core/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Digital Emblems Working Group mailing list (<eref target="mailto:diem@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/diem"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/diem/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/adem-wg/adem-core-spec"/>.</t>
    </note>
  </front>
  <middle>
    <?line 48?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>International Humanitarian Law (IHL) awards specific protections to certain assets, in particular, medical facilities.
These protections require that assets must be respected and protected, and that assets must not be disrupted.
The distinctive emblems recognized under IHL, for example, the Red Cross, can signal an asset's status under IHL.
But naturally, these emblems are visual and are thus limited to assets with which one interacts primarily physically, e.g., buildings.
There is currently no way to signal over the network layer that a network-connected asset enjoys specific protections, which can be a channel of disruption, however.</t>
      <t>This draft addresses the above problem and specifies a message format and authorization model for the distinctive emblems so that they can be conveyed over the network layer.
Other drafts will specify how these messages will be sent and how assets will be identified as enjoying specific protections under IHL.</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?>

<dl>
        <dt><strong>Asset</strong></dt>
        <dd>
          <t>An asset is a network-connected service that enjoys the specific protections under IHL.</t>
        </dd>
        <dt><strong>Emblem</strong></dt>
        <dd>
          <t>An emblem is a message which signals that an asset enjoys specific protections under IHL.</t>
        </dd>
        <dt><strong>Emblem issuer</strong></dt>
        <dd>
          <t>An emblem issuer is an organization that issues emblems.</t>
        </dd>
        <dt><strong>Authority</strong></dt>
        <dd>
          <t>An authority is an organization that authorizes other organizations as being eligible to issue emblems.</t>
        </dd>
        <dt><strong>Endorsement</strong></dt>
        <dd>
          <t>An endorsement associates a public key with an identity, and hence, resembles the idea of a certificate.
When signed by an authority, it asserts that the authorized issuer can generally issue claims of protection.</t>
        </dd>
        <dt><strong>Token</strong></dt>
        <dd>
          <t>An emblem or an endorsement.</t>
        </dd>
        <dt><strong>Organization</strong></dt>
        <dd>
          <t>An emblem issuer or authority.</t>
        </dd>
        <dt><strong>Validator</strong></dt>
        <dd>
          <t>A validator is someone who discovers and validates digital emblems.</t>
        </dd>
      </dl>
      <t>Beyond these terms, we use the terms "claim", "claim key", "claim value", and "CWT Claims Set" as defined in <xref target="RFC8392"/>, and "header parameter" as defined in <xref target="RFC9052"/>.</t>
    </section>
    <section anchor="overview">
      <name>Overview</name>
      <t>This document specifies the digital message format and authorization model for an authentic digital, distinctive emblem recognized under IHL.
Emblems signal that one or more assets enjoy specific protections under IHL, and endorsements encode that one organization authorizes another to issue emblems.
Both emblems and endorsements are called <em>tokens</em> and encoded as signed CBOR Web Tokens (CWTs) <xref target="RFC8392"/>.
Emblems are signed by emblem issuers and endorsements are signed by emblem issuers and authorities.
Emblem issuers and authorities are identified by a domain name.</t>
      <t>Endorsements allow for authenticating public key material for verifying token signatures.
Endorsements can be validated in two ways.
First, a validator may already know an authentic public key for the issuer, e.g., from another endorsement.
In this case, they can validate the endorsement's signature straightforwardly.
Second, endorsements can be configured as trust anchors (see <xref target="trust-anchors"/>).
Trust anchor endorsements allow a validator to authenticate an endorsement's verification key out-of-band, using Certificate Transparency (CT) logs <xref target="RFC6962"/> <xref target="STATIC-CT"/>.
Furthermore, trust anchor endorsements allow a validator to verify that an endorsement's issuer controls the domain name identifying them.</t>
      <t>In the following, we describe (i) how to encode public key material for the use in ADEM as COSE_Keys (<xref target="key-formats"/>), (ii) the format of tokens (<xref target="tokens"/>), and (iii) how emblems and associated endorsements are validated (<xref target="validation"/>).</t>
      <t>This draft does not specify how tokens are presented, and how they identify which asset enjoys specific protections under IHL.
Different types of assets, e.g., a patient database and a network-connected medical device, use different network channels and digital emblems should both be conveyed over the respective channels and use identifiers for the marked assets that match these channels.</t>
      <section anchor="requirements">
        <name>Requirements</name>
        <t>ADEM was designed to provide the following requirements.
We highlight three requirements in particular that informed the writing of this draft.</t>
        <ol spacing="normal" type="1"><li>
            <t>Digital emblems should be usable for a wide range of network-connected services.
We thus encode emblems in binary, as CWTs, so that they can - in principle - be integrated into many existing, different protocols.</t>
          </li>
          <li>
            <t>The use of the distinctive emblems requires authorization by a competent authority, typically a state.
States are the ultimate authority under IHL and must be able to operate independently of one another.
Authorities thus require no further authentication, integration into root trust stores, or anything similar.
Instead, we require that authorities commit to their public key material so that they can be held accountable when issuing fraudulent endorsements (see <xref target="pk-commitment"/> and <xref target="accountability"/>).</t>
          </li>
          <li>
            <t>As explained in <xref target="I-D.ietf-diem-requirements-03"/>, the validation of digital, distinctive emblems should be undetectable.
While this draft alone cannot provide undetectable validation, we ensure that undetectable validation is not precluded.
In particular, we designed the emblem message format and authorization so that an emblem and associated endorsements can be validated mostly without follow-up queries (see also <xref target="undet-validation"/>).</t>
          </li>
        </ol>
      </section>
    </section>
    <section anchor="ois">
      <name>Organization Identifiers</name>
      <t>Emblems are issued for assets by emblem issuers, which in turn are authorized by authorities.
Emblem issuers and authorities are identified by Uniform Resource Identifiers (URIs) <xref target="RFC3986"/> of the following form, which we call <em>organization identifiers</em> (OIs).
The scheme <bcp14>MUST</bcp14> be <tt>https</tt>.
The authority component <bcp14>MUST</bcp14> contain a fully qualified domain name (FQDN), which <bcp14>MUST</bcp14> be represented in all lower-case.
The path, query, and fragment components <bcp14>MUST</bcp14> be empty, and the URI <bcp14>MUST NOT</bcp14> end with a trailing slash.
Concretely, an OI has the syntax:</t>
      <artwork><![CDATA[
organization-identifier = "https://" FQDN
]]></artwork>
    </section>
    <section anchor="key-formats">
      <name>Public Key Material</name>
      <t>Public keys are encoded as COSE_Key structures <xref target="RFC9052"/>.
We identify keys using key identifiers, which are 32-byte SHA-256 COSE Key Thumbprints, computed as specified in <xref target="RFC9679"/>.
To force computation and thus verification of key identifiers, COSE_Key structures <bcp14>SHOULD NOT</bcp14> contain the <tt>kid</tt> parameter (label 2).
Implementations that encode key material <bcp14>MUST NOT</bcp14> include the <tt>kid</tt> parameter, but implementations consuming key material <bcp14>SHOULD</bcp14> accept and ignore the <tt>kid</tt> parameter.</t>
      <t>Key identifiers are encoded as CBOR byte strings when used within CBOR objects.
When a textual representation is required, key identifiers are encoded using base32 as specified in <xref target="RFC4648"/>, in lowercase and without trailing <tt>=</tt> characters.</t>
      <section anchor="pk-commitment">
        <name>Public Key Commitment</name>
        <t>Organizations can bind some of their public keys to their OI, and we specify a public key commitment mechanism in this section to achieve that.
For a public key to be bound to an OI, there <bcp14>MUST</bcp14> be an X.509 certificate that:</t>
        <ul spacing="normal">
          <li>
            <t><bcp14>MUST NOT</bcp14> be revoked</t>
          </li>
          <li>
            <t><bcp14>MUST</bcp14> be logged in the Certificate Transparency logs <xref target="RFC6962"/> <xref target="STATIC-CT"/>
            </t>
            <ul spacing="normal">
              <li>
                <t>Note that log inclusion requires a valid certificate chain that leads to
one of the log's accepted root certificates. Clients are <bcp14>RECOMMENDED</bcp14> to verify
that this chain is valid and that none of the certificates along it have been
revoked.</t>
              </li>
            </ul>
          </li>
          <li>
            <t><bcp14>MUST</bcp14> be valid for at least all the following domains while not considering wildcards in the certificate subject (<tt>&lt;OI&gt;</tt> is understood to be a placeholder for the domain name in the organization's OI):
            </t>
            <ul spacing="normal">
              <li>
                <t><tt>&lt;OI&gt;</tt></t>
              </li>
              <li>
                <t>For the textual representation <tt>&lt;KID&gt;</tt> of the bound public key's key identifier, as specified in <xref target="key-formats"/>: <tt>&lt;KID&gt;.adem-configuration.&lt;OI&gt;</tt></t>
              </li>
            </ul>
          </li>
        </ul>
        <!-- TODO: Transform into informative references -->
<t>We intentionally do not specify how clients should check a certificate's revocation status.
It is <bcp14>RECOMMENDED</bcp14> that clients use offline revocation checks that are provided by major browser vendors, for example, <eref target="https://wiki.mozilla.org/CA/Revocation_Checking_in_Firefox">OneCRL or CRLite by Mozilla</eref>, or <eref target="https://chromium.googlesource.com/playground/chromium-org-site/+/refs/heads/main/Home/chromium-security/crlsets.md">CRLSet by Chrome</eref>.</t>
      </section>
    </section>
    <section anchor="tokens">
      <name>Tokens</name>
      <section anchor="token-encoding">
        <name>Token Encoding</name>
        <t>Tokens <bcp14>MUST</bcp14> be encoded as CWTs <xref target="RFC8392"/> secured by a COSE_Sign1 structure <xref target="RFC9052"/>, and tokens <bcp14>MUST</bcp14> include the COSE_Sign1 CBOR tag 18.
The COSE payload <bcp14>MUST</bcp14> be present and <bcp14>MUST</bcp14> contain the CBOR-encoded CWT Claims Set.
External additional authenticated data <bcp14>MUST</bcp14> be the zero-length byte string.</t>
        <t>The CWT Claims Set <bcp14>MUST</bcp14> be a CBOR map.
Registered CWT claims use their integer claim keys from <xref target="RFC8392"/>; claims defined by this document use the text-string claim keys shown below.</t>
        <section anchor="token-types">
          <name>Token Types</name>
          <t>There are two types of tokens: emblems and endorsements.
Furthermore, endorsements can be configured as trust anchors for an issuer, which allows their validation without obtaining further authentic public key material.
To facilitate validation, tokens <bcp14>MUST</bcp14> include the <tt>typ</tt> (label 16, see <xref target="RFC9596"/>) header parameter, which <bcp14>MUST</bcp14> be a string media type value following the syntax of <tt>adem-type</tt> below.</t>
          <artwork><![CDATA[
adem-type = "application/adem+cwt; emblem=" ("0" / "1") [ "; trust-anchor=1" ]
]]></artwork>
          <t>The structured suffix <tt>+cwt</tt> indicates that tokens are encoded as CWTs <xref target="STRUCT-SYNTAX"/>.
The parameter <tt>emblem=</tt> indicates whether the token is an emblem (<tt>"1"</tt>) or an endorsement (<tt>"0"</tt>), and the presence of the parameter <tt>trust-anchor</tt> indicates whether an endorsement is configured as a trust anchor (see <xref target="trust-anchors"/>).
The parameter <tt>trust-anchor</tt> is intended to aid parsing and validation of tokens and thus need not be validated itself.
It <bcp14>SHOULD</bcp14> only be present if <tt>emblem=0</tt>.</t>
        </section>
        <section anchor="common-token-fields">
          <name>Common Token Fields</name>
          <t>Both emblems and endorsements use the following protected header parameters and CWT claims.
Implementations generating tokens <bcp14>MUST NOT</bcp14> include header parameters or CWT claims beyond those referenced in this document.</t>
          <t>The COSE protected header <bcp14>MUST</bcp14> include the <tt>alg</tt> (label 1), <tt>kid</tt> (label 4), and <tt>typ</tt> (label 16, see above) header parameters.
The <tt>alg</tt> value identifies the signature algorithm.
The <tt>kid</tt> value <bcp14>MUST</bcp14> equal the key identifier of the verification key as specified in <xref target="key-formats"/>.</t>
          <t>The COSE unprotected header <bcp14>MUST</bcp14> be empty.</t>
          <table>
            <thead>
              <tr>
                <th align="left">Claim</th>
                <th align="left">Claim key</th>
                <th align="left">Status</th>
                <th align="left">Semantics</th>
                <th align="left">CBOR type</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">
                  <tt>ver</tt></td>
                <td align="left">
                  <tt>"ver"</tt></td>
                <td align="left">
                  <bcp14>REQUIRED</bcp14></td>
                <td align="left">Version counter</td>
                <td align="left">uint, value 1</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>iat</tt></td>
                <td align="left">6</td>
                <td align="left">
                  <bcp14>OPTIONAL</bcp14></td>
                <td align="left">Issued-at time, as per <xref target="RFC8392"/></td>
                <td align="left">NumericDate</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>nbf</tt></td>
                <td align="left">5</td>
                <td align="left">
                  <bcp14>REQUIRED</bcp14></td>
                <td align="left">Not-before time, as per <xref target="RFC8392"/></td>
                <td align="left">NumericDate</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>exp</tt></td>
                <td align="left">4</td>
                <td align="left">
                  <bcp14>REQUIRED</bcp14></td>
                <td align="left">Expiration time, as per <xref target="RFC8392"/></td>
                <td align="left">NumericDate</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>iss</tt></td>
                <td align="left">1</td>
                <td align="left">
                  <bcp14>RECOMMENDED</bcp14></td>
                <td align="left">Organization issuing the token</td>
                <td align="left">tstr containing an OI</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>prp</tt></td>
                <td align="left">
                  <tt>"prp"</tt></td>
                <td align="left">
                  <bcp14>REQUIRED</bcp14></td>
                <td align="left">Emblem purposes</td>
                <td align="left">uint</td>
              </tr>
            </tbody>
          </table>
          <t>The token version counter <tt>ver</tt> <bcp14>MUST</bcp14> be an unsigned integer in the range 0 to 255, encoded as a CBOR unsigned integer.
This document specifies version 1.</t>
          <t>For an emblem, <tt>iss</tt> identifies the organization signaling protection; for an endorsement, it identifies the endorsing organization.</t>
          <t>The <tt>prp</tt> claim identifies the kind of emblem recognized under IHL as a bitmap and <bcp14>MUST</bcp14> be non-zero.
Each bit, as indicated below, corresponds to a particular use of emblems recognized under IHL.
Values <bcp14>MAY</bcp14> be combined, using bit-wise OR, to indicate the use of multiple emblems at the same time.
Consequently, the value of the <tt>prp</tt> field <bcp14>MUST</bcp14> be between 1 and 31.
The semantics of the <tt>prp</tt> claim differ between emblems and endorsements and will be specified later.</t>
          <table>
            <thead>
              <tr>
                <th align="left">Value</th>
                <th align="left">Explanation</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">
                  <tt>0b_0000_0001</tt></td>
                <td align="left">Protective use of the red cross, red crescent, or red crystal emblem to signal protection under IHL.</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>0b_0000_0010</tt></td>
                <td align="left">Indicative use of the red cross, red crescent, or red crystal emblem to signal an affiliation with the International Red Cross and Red Crescent Movement.</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>0b_0000_0100</tt></td>
                <td align="left">Identification of works and installations containing dangerous forces, such as dams, dykes, and nuclear electrical generating stations.</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>0b_0000_1000</tt></td>
                <td align="left">Identification of civil defence organizations and their protected personnel and assets.</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>0b_0001_0000</tt></td>
                <td align="left">Identification of cultural property protected under IHL.</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="emblems">
          <name>Emblems</name>
          <t>An emblem's CWT Claims Set includes the common claims defined in <xref target="common-token-fields"/> and the additional claim defined in the table below.</t>
          <table>
            <thead>
              <tr>
                <th align="left">Claim</th>
                <th align="left">Claim key</th>
                <th align="left">Status</th>
                <th align="left">Semantics</th>
                <th align="left">CBOR type</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">
                  <tt>assets</tt></td>
                <td align="left">
                  <tt>"assets"</tt></td>
                <td align="left">
                  <bcp14>REQUIRED</bcp14></td>
                <td align="left">Assets marked as protected</td>
                <td align="left">array</td>
              </tr>
            </tbody>
          </table>
          <t>The <tt>assets</tt> claim contains asset identifiers.
Their syntax, encoding, and matching semantics will be defined in separate drafts that specify discovery and distribution of tokens.
The asset identifier in the example below is illustrative.</t>
          <t>An emblem's <tt>prp</tt> claim specifies how the asset is marked.
For example, when the claim has value 1, it indicates that the asset is marked with the digital equivalent to the emblems of the Red Cross, Red Crescent, and Red Crystal.</t>
          <section anchor="example">
            <name>Example</name>
            <t>For example, an emblem might comprise the following protected header and CWT Claims Set, shown in CBOR diagnostic notation.</t>
            <t>Protected header:</t>
            <sourcecode type="cbor-diag"><![CDATA[
{
  / alg / 1: -36, / ES512 /
  / kid / 4: h'0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef',
  / typ / 16: "application/adem+cwt; emblem=1"
}
]]></sourcecode>
            <t>Claims Set:</t>
            <sourcecode type="cbor-diag"><![CDATA[
{
  "ver": 1,
  / nbf / 5: 1672916137,
  / exp / 4: 1675590932,
  / iss / 1: "https://example.com",
  "assets": ["example.com"],
  "prp": 1
}
]]></sourcecode>
          </section>
        </section>
        <section anchor="endorsements">
          <name>Endorsements</name>
          <t>Endorsements are encoded as signed CWTs.
Endorsements assert two statements: that a public key is affiliated with an organization, identified by an OI, and that this organization is authorized to issue emblems for their assets.
An endorsement's CWT Claims Set includes the common claims defined in <xref target="common-token-fields"/> and the additional claims defined in the table below.</t>
          <t>Sometimes, endorsements are configured as trust anchors, which means that they can be validated without obtaining authentic public key material of the issuer.
Endorsements are trust anchors whenever they include the <tt>log</tt> claim, and we further specify trust anchor configurations below.</t>
          <table>
            <thead>
              <tr>
                <th align="left">Claim</th>
                <th align="left">Claim key</th>
                <th align="left">Status</th>
                <th align="left">Semantics</th>
                <th align="left">CBOR type</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">
                  <tt>sub</tt></td>
                <td align="left">2</td>
                <td align="left">
                  <bcp14>RECOMMENDED</bcp14></td>
                <td align="left">Endorsed organization, identified by their OI</td>
                <td align="left">tstr</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>cnf</tt></td>
                <td align="left">8</td>
                <td align="left">
                  <bcp14>REQUIRED</bcp14></td>
                <td align="left">Confirmation method for the subject's public key <xref target="RFC8747"/>; further specified below</td>
                <td align="left">map</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>end</tt></td>
                <td align="left">
                  <tt>"end"</tt></td>
                <td align="left">
                  <bcp14>REQUIRED</bcp14></td>
                <td align="left">Endorsed key can endorse further</td>
                <td align="left">bool</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>log</tt></td>
                <td align="left">
                  <tt>"log"</tt></td>
                <td align="left">see below</td>
                <td align="left">Trust anchor configuration</td>
                <td align="left">array of maps as below</td>
              </tr>
            </tbody>
          </table>
          <t>An endorsement's <tt>cnf</tt> claim <bcp14>MUST</bcp14> be a CBOR map that contains exactly the confirmation method <tt>kid</tt> (key 3) corresponding to the presenter's proof-of-possession key <xref target="RFC8747"/>.
The <tt>kid</tt> value <bcp14>MUST</bcp14> be a public key thumbprint as per <xref target="key-formats"/>.
The endorsement's <tt>sub</tt> claim identifies the presenter.</t>
          <t>We say that an endorsement <em>endorses</em> a token if the endorsement's <tt>cnf</tt> claim contains the key identifier of the token's verification key, and its <tt>sub</tt> claim equals the token's <tt>iss</tt> claim.
Note that the latter includes the possibility of both <tt>sub</tt> and <tt>iss</tt> being undefined.</t>
          <t>An endorsement's <tt>prp</tt> claim constrains what kind of emblems the endorsed organization may issue.
Each bit set in the <tt>prp</tt> claim gives the endorsed organization permission to issue the respective emblem.
An emblem is thus <em>valid</em> with respect to an endorsement if the bit-wise AND of the endorsement's <tt>prp</tt> claim and the emblem's <tt>prp</tt> claim is equal to the emblem's <tt>prp</tt> claim.</t>
          <section anchor="trust-anchors">
            <name>Trust Anchor Configuration</name>
            <t>Endorsements <bcp14>MAY</bcp14> contain the <tt>log</tt> claim.
If they do, they are trust anchors.
Trust anchor endorsements allow a validator to authenticate the endorsement's verification key out-of-band and check that the issuer controls their own OI (see <xref target="ois"/>).
This is achieved by binding the endorsement's verification key to the issuer OI with a certificate stored in CT logs.</t>
            <t>The <tt>log</tt> claim identifies the CT logs that contain this binding certificate.
The value of <tt>log</tt> is an array of CBOR maps, each of which identifies a CT log entry that stores a certificate committing to the endorsement's verification key as per <xref target="pk-commitment"/>.
This standard supports log entries of both standard CT logs as specified in <xref target="RFC6962"/> and tiled CT logs as specified in <xref target="STATIC-CT"/>.</t>
            <table>
              <thead>
                <tr>
                  <th align="left">Entry</th>
                  <th align="left">Map key</th>
                  <th align="left">Status</th>
                  <th align="left">Semantics</th>
                  <th align="left">CBOR type</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td align="left">
                    <tt>id</tt></td>
                  <td align="left">
                    <tt>"id"</tt></td>
                  <td align="left">
                    <bcp14>REQUIRED</bcp14></td>
                  <td align="left">The CT log's ID</td>
                  <td align="left">bstr</td>
                </tr>
                <tr>
                  <td align="left">
                    <tt>hash</tt></td>
                  <td align="left">
                    <tt>"hash"</tt></td>
                  <td align="left">see below</td>
                  <td align="left">The binding certificate's leaf hash in the log</td>
                  <td align="left">bstr</td>
                </tr>
                <tr>
                  <td align="left">
                    <tt>index</tt></td>
                  <td align="left">
                    <tt>"index"</tt></td>
                  <td align="left">see below</td>
                  <td align="left">The binding certificate's log entry index in the log</td>
                  <td align="left">uint</td>
                </tr>
              </tbody>
            </table>
            <t>For logs implementing <xref target="RFC6962"/>, a map in <tt>log</tt> <bcp14>MUST</bcp14> include the <tt>hash</tt> entry and <bcp14>MUST NOT</bcp14> include the <tt>index</tt> entry.
For logs implementing <xref target="STATIC-CT"/>, a map in <tt>log</tt> <bcp14>MUST</bcp14> include the <tt>index</tt> entry and <bcp14>MUST NOT</bcp14> include the <tt>hash</tt> entry.</t>
          </section>
        </section>
      </section>
    </section>
    <section anchor="validation">
      <name>Validation</name>
      <t>Whenever a validator receives a set of tokens, they <bcp14>SHOULD</bcp14> validate it.
Validation returns one or more of the following values and a set of OIs.
The set of OIs returned by the validation procedure encodes the OIs of endorsing organizations for which validation passed.</t>
      <ol spacing="normal" type="1"><li>
          <t><tt>INVALID</tt></t>
        </li>
        <li>
          <t><tt>SIGNED</tt></t>
        </li>
        <li>
          <t><tt>ORGANIZATIONAL</tt></t>
        </li>
        <li>
          <t><tt>ENDORSED</tt></t>
        </li>
      </ol>
      <t>Given a set of tokens and a set of public keys, validation takes the following steps.</t>
      <ol spacing="normal" type="1"><li>
          <t>For every public key, compute its key identifier as described in <xref target="key-formats"/>.</t>
        </li>
        <li>
          <t>For every token, perform the following steps:
          </t>
          <ol spacing="normal" type="1"><li>
              <t>Verify the token's <tt>typ</tt> protected header parameter following <xref target="token-types"/>.</t>
            </li>
            <li>
              <t>Verify the token's signature using the public key whose key identifier computed in the previous step matches the <tt>kid</tt> header parameter.</t>
            </li>
            <li>
              <t>Verify the token's <tt>nbf</tt> and <tt>exp</tt> claims.</t>
            </li>
            <li>
              <t>Should any of the aforementioned validation steps fail, discard this token.</t>
            </li>
          </ol>
        </li>
        <li>
          <t>Identify the emblem among the remaining tokens by its <tt>typ</tt> protected header parameter.
Verify that there is only one emblem and that it contains the <tt>assets</tt> claim.
If this check fails, return <tt>INVALID</tt>.
All other tokens are endorsements.</t>
        </li>
        <li>
          <t>Run the <em>signed emblem validation procedure</em> (<xref target="signed-emblems"/>; results in one of <tt>SIGNED</tt> or <tt>INVALID</tt>).</t>
        </li>
        <li>
          <t>If the previous procedure resulted in <tt>INVALID</tt> or the emblem does not include the <tt>iss</tt> claim, return the last validation procedure's result and the empty set of OIs.</t>
        </li>
        <li>
          <t>Run the <em>organizational emblem validation procedure</em> (<xref target="org-emblems"/>; results in one of <tt>ORGANIZATIONAL</tt>, <tt>INVALID</tt>).</t>
        </li>
        <li>
          <t>If the previous procedure resulted in <tt>INVALID</tt>, return <tt>INVALID</tt> and the empty set of OIs.</t>
        </li>
        <li>
          <t>Run the <em>endorsed emblem validation procedure</em> (<xref target="endorsed-emblems"/>; results in a set of OIs and one of <tt>ENDORSED</tt>, <tt>INVALID</tt>).</t>
        </li>
        <li>
          <t>If the endorsed emblem validation procedure resulted in <tt>INVALID</tt>, return <tt>SIGNED</tt>, <tt>ORGANIZATIONAL</tt> and the empty set of OIs.
Otherwise, return <tt>SIGNED</tt>, <tt>ORGANIZATIONAL</tt>, <tt>ENDORSED</tt>, and the OIs returned by the endorsed emblem validation procedure.</t>
        </li>
      </ol>
    </section>
    <section anchor="algorithms">
      <name>Algorithms</name>
      <section anchor="signed-emblems">
        <name>Signed Emblem Validation Procedure</name>
        <t>Context:</t>
        <ul spacing="normal">
          <li>
            <t>Assumptions: All input tokens' signatures, and <tt>nbf</tt> and <tt>exp</tt> claims were validated.</t>
          </li>
          <li>
            <t>Input: An emblem and a set of endorsements.</t>
          </li>
          <li>
            <t>Output: <tt>SIGNED</tt> or <tt>INVALID</tt>.</t>
          </li>
        </ul>
        <t>Algorithm:</t>
        <ol spacing="normal" type="1"><li>
            <t>Consider all endorsements including an <tt>iss</tt> claim equal to the emblem's <tt>iss</tt> claim.
An omitted <tt>iss</tt> claim is not equal to an included <tt>iss</tt> claim but equal to an omitted <tt>iss</tt> claim.</t>
          </li>
          <li>
            <t>If there are no such endorsements, return <tt>SIGNED</tt>.
Otherwise, verify that all such endorsements form a consecutive chain where there is a unique root endorsement and the public key which was used to verify the emblem's signature is transitively endorsed by that root endorsement.</t>
          </li>
          <li>
            <t>Verify that all such endorsements bear the claim <tt>end=true</tt> except for the endorsement endorsing the emblem's verification key, the <tt>end</tt> claim of which <bcp14>MAY</bcp14> be <tt>false</tt>.</t>
          </li>
          <li>
            <t>Verify that the emblem is valid with regard to every such endorsement.</t>
          </li>
          <li>
            <t>If any of the aforementioned validation steps fail, return <tt>INVALID</tt>.
Otherwise, return <tt>SIGNED</tt>.</t>
          </li>
        </ol>
      </section>
      <section anchor="org-emblems">
        <name>Organizational Emblem Validation Procedure</name>
        <t>Context:</t>
        <ul spacing="normal">
          <li>
            <t>Assumptions: All input tokens' signatures, and <tt>nbf</tt> and <tt>exp</tt> claims were validated.
Signed emblem validation has been performed and did not return <tt>INVALID</tt>.
The emblem includes the <tt>iss</tt> claim.</t>
          </li>
          <li>
            <t>Input: An emblem and a set of endorsements.</t>
          </li>
          <li>
            <t>Output: <tt>ORGANIZATIONAL</tt> or <tt>INVALID</tt>.</t>
          </li>
        </ul>
        <t>Algorithm:</t>
        <ol spacing="normal" type="1"><li>
            <t>Consider all endorsements including an <tt>iss</tt> claim equal to the emblem's <tt>iss</tt> claim.</t>
          </li>
          <li>
            <t>If either (a) there are no such endorsements, or (b) these endorsements do not form a linear chain, or (c) the top-most endorsement of that chain has no <tt>log</tt> claim, return <tt>INVALID</tt>.</t>
          </li>
          <li>
            <t>Verify the top-most endorsement's verification public key by using its <tt>iss</tt> claim and <tt>log</tt> claim as specified in <xref target="pk-commitment"/>.
If verification fails, return <tt>INVALID</tt>.
Otherwise, return <tt>ORGANIZATIONAL</tt>.</t>
          </li>
        </ol>
      </section>
      <section anchor="endorsed-emblems">
        <name>Endorsed Emblem Validation Procedure</name>
        <t>Context:</t>
        <ul spacing="normal">
          <li>
            <t>Assumptions: All input tokens' signatures, and <tt>nbf</tt> and <tt>exp</tt> claims were validated.
Organizational emblem validation has been performed and did not return <tt>INVALID</tt>.</t>
          </li>
          <li>
            <t>Input: An emblem and a set of endorsements.</t>
          </li>
          <li>
            <t>Output: <tt>ENDORSED</tt> or <tt>INVALID</tt>, and a set of OIs.</t>
          </li>
        </ul>
        <t>Algorithm:</t>
        <ol spacing="normal" type="1"><li>
            <t>For all endorsements that contain an <tt>iss</tt> claim which is different to the emblem's <tt>iss</tt> claim:
            </t>
            <ol spacing="normal" type="1"><li>
                <t>Verify that it endorses the top-most endorsement with the same <tt>iss</tt> claim as the emblem.</t>
              </li>
              <li>
                <t>Verify that it bears the claim <tt>end=true</tt>.</t>
              </li>
              <li>
                <t>Verify that the emblem is valid with regard to this endorsement.</t>
              </li>
              <li>
                <t>Verify the endorsement's verification public key by using its <tt>iss</tt> claim and <tt>log</tt> claim as specified in <xref target="pk-commitment"/>.</t>
              </li>
              <li>
                <t>Should any of the aforementioned validation steps fail, discard this endorsement.</t>
              </li>
            </ol>
          </li>
          <li>
            <t>If no endorsement passed the checks above, return <tt>INVALID</tt> and the empty set of OIs.
Otherwise, return <tt>ENDORSED</tt> and the set of all <tt>iss</tt> claims of endorsements that passed the above checks.</t>
          </li>
        </ol>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="interpreting-validation-results">
        <name>Interpreting Validation Results</name>
        <t>Validators <bcp14>SHOULD NOT</bcp14> accept emblems resulting only in <tt>SIGNED</tt> without authenticating their verification keys out of band.
In such cases, validators should aim to authenticate the respective public keys via other, out-of-band methods.
Signed emblems are supported for cases of emergency where an emblem issuer is able to distribute one or more public keys, but might not be able to set up a signing infrastructure linking their assets to their OI via a trust anchor endorsement.</t>
      </section>
      <section anchor="accountability">
        <name>Accountability</name>
        <t>TODO</t>
        <section anchor="no-endorsements-without-iss">
          <name>No Endorsements without <tt>iss</tt></name>
          <t>The procedures to verify organizational or endorsed emblems as specified in <xref target="org-emblems"/> and <xref target="endorsed-emblems"/> assume that the emblem's <tt>iss</tt> claim is defined.
Practically speaking, this implies that one can only go beyond pure public key authentication (where public keys need to be authenticated out-of-band) by stating an OI.</t>
          <t>The constraints on well-configured OIs offer two beneficial security properties:</t>
          <ul spacing="normal">
            <li>
              <t>Organizations cannot equivocate their keys, i.e., they need to commit to a consistent set of keys.</t>
            </li>
            <li>
              <t>Organizations cannot deny having used keys for signing trust anchor endorsements.</t>
            </li>
          </ul>
          <t>These properties stem from organizations needing to include a hash of their key in a TLS certificate, and consequently, in certificate transparency logs.</t>
        </section>
      </section>
      <section anchor="undet-validation">
        <name>Undetectable Validation</name>
        <t>TODO</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>TODO</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="STATIC-CT" target="https://github.com/C2SP/C2SP/blob/0f3fddde7d1d8bd55e42723572c4c144457c50d0/static-ct-api.md">
        <front>
          <title>The Static Certificate Transparency API</title>
          <author>
            <organization/>
          </author>
          <date year="2026" month="March" day="20"/>
        </front>
      </reference>
      <reference anchor="STRUCT-SYNTAX" target="https://www.iana.org/assignments/media-type-structured-suffix">
        <front>
          <title>Structured Syntax Suffixes</title>
          <author>
            <organization>IANA</organization>
          </author>
          <date>n.d.</date>
        </front>
      </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="RFC8392">
        <front>
          <title>CBOR Web Token (CWT)</title>
          <author fullname="M. Jones" initials="M." surname="Jones"/>
          <author fullname="E. Wahlstroem" initials="E." surname="Wahlstroem"/>
          <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
          <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
          <date month="May" year="2018"/>
          <abstract>
            <t>CBOR Web Token (CWT) is a compact means of representing claims to be transferred between two parties. The claims in a CWT are encoded in the Concise Binary Object Representation (CBOR), and CBOR Object Signing and Encryption (COSE) is used for added application-layer security protection. A claim is a piece of information asserted about a subject and is represented as a name/value pair consisting of a claim name and a claim value. CWT is derived from JSON Web Token (JWT) but uses CBOR rather than JSON.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8392"/>
        <seriesInfo name="DOI" value="10.17487/RFC8392"/>
      </reference>
      <reference anchor="RFC9052">
        <front>
          <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
          <author fullname="J. Schaad" initials="J." surname="Schaad"/>
          <date month="August" year="2022"/>
          <abstract>
            <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol. This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization. This specification additionally describes how to represent cryptographic keys using CBOR.</t>
            <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="96"/>
        <seriesInfo name="RFC" value="9052"/>
        <seriesInfo name="DOI" value="10.17487/RFC9052"/>
      </reference>
      <reference anchor="RFC6962">
        <front>
          <title>Certificate Transparency</title>
          <author fullname="B. Laurie" initials="B." surname="Laurie"/>
          <author fullname="A. Langley" initials="A." surname="Langley"/>
          <author fullname="E. Kasper" initials="E." surname="Kasper"/>
          <date month="June" year="2013"/>
          <abstract>
            <t>This document describes an experimental protocol for publicly logging the existence of Transport Layer Security (TLS) certificates as they are issued or observed, in a manner that allows anyone to audit certificate authority (CA) activity and notice the issuance of suspect certificates as well as to audit the certificate logs themselves. The intent is that eventually clients would refuse to honor certificates that do not appear in a log, effectively forcing CAs to add all issued certificates to the logs.</t>
            <t>Logs are network services that implement the protocol operations for submissions and queries that are defined in this document.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6962"/>
        <seriesInfo name="DOI" value="10.17487/RFC6962"/>
      </reference>
      <reference anchor="I-D.ietf-diem-requirements-03">
        <front>
          <title>Digital Emblems - Use Cases and Requirements</title>
          <author fullname="Rahel Fainchtein" initials="R. A." surname="Fainchtein">
            <organization>JHU/APL</organization>
          </author>
          <author fullname="Felix Linker" initials="F." surname="Linker">
         </author>
          <author fullname="Alex Rosenberg" initials="A." surname="Rosenberg">
            <organization>Veridigo</organization>
          </author>
          <author fullname="Casey Deccio" initials="C." surname="Deccio">
            <organization>Brigham Young University</organization>
          </author>
          <author fullname="Allison Mankin" initials="A." surname="Mankin">
            <organization>Packet Clearing House</organization>
          </author>
          <date day="6" month="July" year="2026"/>
          <abstract>
            <t>   Digital emblems are a means for an asset to signal to validating
   entities that it should be protected or treated in a specific way,
   using some normative framework.  This document lists the requirements
   and use cases that an architecture for digital emblems must
   accommodate.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-diem-requirements-03"/>
      </reference>
      <reference anchor="RFC3986">
        <front>
          <title>Uniform Resource Identifier (URI): Generic Syntax</title>
          <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
          <author fullname="R. Fielding" initials="R." surname="Fielding"/>
          <author fullname="L. Masinter" initials="L." surname="Masinter"/>
          <date month="January" year="2005"/>
          <abstract>
            <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="66"/>
        <seriesInfo name="RFC" value="3986"/>
        <seriesInfo name="DOI" value="10.17487/RFC3986"/>
      </reference>
      <reference anchor="RFC9679">
        <front>
          <title>CBOR Object Signing and Encryption (COSE) Key Thumbprint</title>
          <author fullname="K. Isobe" initials="K." surname="Isobe"/>
          <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
          <author fullname="O. Steele" initials="O." surname="Steele"/>
          <date month="December" year="2024"/>
          <abstract>
            <t>This specification defines a method for computing a hash value over a CBOR Object Signing and Encryption (COSE) Key. It specifies which fields within the COSE Key structure are included in the cryptographic hash computation, the process for creating a canonical representation of these fields, and how to hash the resulting byte sequence. The resulting hash value, referred to as a "thumbprint", can be used to identify or select the corresponding key.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9679"/>
        <seriesInfo name="DOI" value="10.17487/RFC9679"/>
      </reference>
      <reference anchor="RFC4648">
        <front>
          <title>The Base16, Base32, and Base64 Data Encodings</title>
          <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
          <date month="October" year="2006"/>
          <abstract>
            <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="4648"/>
        <seriesInfo name="DOI" value="10.17487/RFC4648"/>
      </reference>
      <reference anchor="RFC9596">
        <front>
          <title>CBOR Object Signing and Encryption (COSE) "typ" (type) Header Parameter</title>
          <author fullname="M.B. Jones" initials="M.B." surname="Jones"/>
          <author fullname="O. Steele" initials="O." surname="Steele"/>
          <date month="June" year="2024"/>
          <abstract>
            <t>This specification adds the equivalent of the JSON Object Signing and Encryption (JOSE) "typ" (type) header parameter to CBOR Object Signing and Encryption (COSE). This enables the benefits of explicit typing (as defined in RFC 8725, "JSON Web Token Best Current Practices") to be brought to COSE objects. The syntax of the COSE type header parameter value is the same as the existing COSE content type header parameter.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9596"/>
        <seriesInfo name="DOI" value="10.17487/RFC9596"/>
      </reference>
      <reference anchor="RFC8747">
        <front>
          <title>Proof-of-Possession Key Semantics for CBOR Web Tokens (CWTs)</title>
          <author fullname="M. Jones" initials="M." surname="Jones"/>
          <author fullname="L. Seitz" initials="L." surname="Seitz"/>
          <author fullname="G. Selander" initials="G." surname="Selander"/>
          <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
          <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
          <date month="March" year="2020"/>
          <abstract>
            <t>This specification describes how to declare in a CBOR Web Token (CWT) (which is defined by RFC 8392) that the presenter of the CWT possesses a particular proof-of-possession key. Being able to prove possession of a key is also sometimes described as being the holder-of-key. This specification provides equivalent functionality to "Proof-of-Possession Key Semantics for JSON Web Tokens (JWTs)" (RFC 7800) but using Concise Binary Object Representation (CBOR) and CWTs rather than JavaScript Object Notation (JSON) and JSON Web Tokens (JWTs).</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8747"/>
        <seriesInfo name="DOI" value="10.17487/RFC8747"/>
      </reference>
    </references>
  </back>
  <!-- ##markdown-source:
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
RP8PCClq4hRlAAA=

-->

</rfc>
