<?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" ?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude"
     version="3"
     docName="draft-condrey-rats-pop-protocol-01"
     ipr="trust200902"
     category="std"
     consensus="true"
     submissionType="IETF"
     sortRefs="true"
     symRefs="true"
     tocInclude="true"
     tocDepth="4">

  <front>
    <title abbrev="PoP Protocol">Proof of Process (PoP): Architecture, Evidence Format, and VDF</title>
    <seriesInfo name="Internet-Draft" value="draft-condrey-rats-pop-protocol-01"/>
    <author fullname="David Condrey" initials="D." surname="Condrey">
      <organization abbrev="WritersLogic">WritersLogic Inc</organization>
      <address>
        <postal>
          <city>San Diego, California</city>
          <country>United States</country>
        </postal>
        <email>david@writerslogic.com</email>
      </address>
    </author>
    <date year="2026" month="February" day="14"/>

    <area>Security</area>
    <workgroup>Remote ATtestation procedureS</workgroup>

    <keyword>attestation</keyword>
    <keyword>RATS</keyword>
    <keyword>provenance</keyword>
    <keyword>authorship</keyword>
    <keyword>VDF</keyword>

    <abstract>
      <t>
        This document specifies the Proof of Process (PoP) protocol, a specialized profile of Remote Attestation Procedures (RATS) designed to validate digital authorship through a "provenance of effort." It defines the core architecture, the RATS role mappings, the normative CBOR-encoded Evidence Format (including EAT integration), and the Verifiable Delay Function (VDF) mechanisms used to prove temporal and physical creation constraints.
      </t>
    </abstract>
  </front>

  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>
        The rapid proliferation of generative artificial intelligence has created an authenticity crisis in digital discourse. While traditional provenance tracks the "custody of pixels," it fails to attest to the human-driven process of creation. This document specifies the Proof of Process (PoP) protocol, which extends the RATS architecture [RFC9334] to validate the "provenance of effort."
      </t>
    </section>

    <section anchor="core-principles">
      <name>Core Principles</name>
      <t>The PoP framework is built upon five foundational pillars:</t>
      <ul>
        <li><strong>Physics-based Cost:</strong> Using memory-hard sequential functions (Argon2id) to establish an economic lower bound on forgery.</li>
        <li><strong>Physical Freshness:</strong> Anchoring sessions to non-deterministic physical markers (e.g., thermal noise) to prevent replay.</li>
        <li><strong>Biological Binding:</strong> Entangling human motor-signal jitter as a non-deterministic seed for cryptographic proofs generated within the Attesting Environment (AE).</li>
        <li><strong>Out-of-Band Presence:</strong> Utilizing secondary physical devices (e.g., smartphone QR scans) to bridge the digital-physical gap.</li>
        <li><strong>Asymmetric Verification:</strong> Ensuring that complex, long-duration proofs can be verified efficiently by third parties.</li>
      </ul>
    </section>

    <section anchor="rats-roles">
      <name>RATS Role Mapping</name>
      <dl>
        <dt>Attester:</dt>
        <dd>The writing environment (e.g., a text editor or OS service) that captures behavioral events and generates PoP Evidence packets (.pop).</dd>
        <dt>Verifier:</dt>
        <dd>A trusted entity that appraises PoP Evidence and issues a Writers Authenticity Report (WAR).</dd>
        <dt>Relying Party:</dt>
        <dd>An end-user or system that consumes the WAR to make a trust decision.</dd>
      </dl>
    </section>

    <section anchor="attester-state-machine">
      <name>Attester State Machine</name>
      <t>
        To ensure protocol robustness, the Attesting Environment (AE) MUST implement a formal state machine:
      </t>
      <ul>
        <li><strong>RECORDING:</strong> AE captures semantic events and physical telemetry into a hash-linked buffer.</li>
        <li><strong>PENDING_CHECK:</strong> The event block is frozen to initiate a VDF proof.</li>
        <li><strong>CHECKPOINT:</strong> AE computes the VDF and weaves the entangled seed into the chain.</li>
        <li><strong>SEALING:</strong> The final transcript root is signed by the hardware Secure Element.</li>
      </ul>
    </section>

    <section anchor="evidence-tiers">
      <name>Evidence Content Tiers and Assurance Levels</name>
      <t>
        PoP Evidence is classified by both content depth (CORE, ENHANCED, MAXIMUM) and attestation assurance strength (T1-T4):
      </t>
      <table>
        <thead>
          <tr><th>Tier</th><th>Binding Strength</th><th>NIST AAL</th><th>EAT Level</th></tr>
        </thead>
        <tbody>
          <tr><td>T1</td><td>Software-only</td><td>AAL1</td><td>0-1</td></tr>
          <tr><td>T2</td><td>Opportunistic hardware</td><td>AAL1-2</td><td>1-2</td></tr>
          <tr><td>T3</td><td>Required TPM/Enclave</td><td>AAL3</td><td>3</td></tr>
          <tr><td>T4</td><td>Discrete TPM + PUF</td><td>AAL3+</td><td>3+</td></tr>
        </tbody>
      </table>
    </section>

    <section anchor="wire-format">
      <name>Evidence Format and CDDL</name>
      <t>
        Evidence Packets are identified by the semantic CBOR tag <strong>1347571280</strong>.
      </t>
      <artwork type="cddl"><![CDATA[
evidence-packet = {
    1 => uint,                              ; version
    2 => tstr,                              ; profile-uri
    3 => uuid,                              ; packet-id
    4 => pop-timestamp,                     ; created
    5 => document-ref,                      ; document
    6 => [+ checkpoint],                    ; checkpoints
    ? 7 => attestation-tier,                ; T1-T4 assurance level
    ? 8 => [* tstr],                        ; attestation-limitations
    ? 10 => [+ presence-challenge],         ; QR/OOB presence proofs
    ? 18 => physical-liveness-section,      ; CDCE markers
}

checkpoint = {
    1 => uint,                              ; sequence (strictly monotonic)
    2 => uuid,                              ; checkpoint-id
    4 => hash-value,                        ; content-hash
    9 => process-proof,                     ; process-proof (VDF)
    10 => jitter-binding,                   ; behavioral-entropy
    11 => physical-state,                   ; Thermal/Entropy Weave
    12 => bstr .size 32,                    ; entangled-mac (HMAC-SHA256)
}

document-ref = {
    1 => hash-value,                        ; content-hash
    3 => uint,                              ; byte-length
    ? 5 => hash-salt-mode,                  ; 0=unsalted, 1=author-salted
    ? 6 => bstr,                            ; salt-commitment
}
      ]]></artwork>
    </section>

    <section anchor="vdf-mechanisms">
      <name>VDF and Temporal Proofs</name>
      <t>
        Implementations MUST support <strong>Argon2id</strong> [RFC9106] as the MTI memory-hard function.
      </t>
      <section anchor="hat">
        <name>Hardware-Anchored Time (HAT)</name>
        <t>
          In T3/T4 tiers, the AE MUST anchor the VDF seed to a <strong>TPM Monotonic Counter</strong>.
        </t>
        <artwork type="cddl"><![CDATA[
  hat-seed = H(tpm-counter || physical-freshness || document-hash)
        ]]></artwork>
      </section>
      <section anchor="physical-freshness">
        <name>Non-deterministic Physical Freshness</name>
        <t>
          To prevent replay, the VDF seed MUST incorporate physical markers (thermal noise/kernel entropy) sampled within the AE at the start of the session.
        </t>
      </section>
    </section>

    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>
        This document requests registration of CBOR tags 1347571280 ("PPP ") and 1463894560 ("WAR "), and the EAT profile <tt>urn:ietf:params:rats:eat:profile:pop:1.0</tt>.
      </t>
    </section>

    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>
        The primary security goal is to provide tamper-evident records of document evolution. Implementations MUST validate all CDDL constraints and ensure checkpoint sequence monotonicity.
      </t>
    </section>
  </middle>

  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9334.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8610.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8949.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9106.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9711.xml"/>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="PoP-Appraisal">
          <front>
            <title>Proof of Process (PoP): Forensic Appraisal and Security Model</title>
            <author fullname="David Condrey" initials="D." surname="Condrey"/>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-condrey-rats-pop-appraisal-00"/>
        </reference>
        <reference anchor="Pietrzak2019" target="https://eprint.iacr.org/2018/627">
          <front>
            <title>Simple Verifiable Delay Functions</title>
            <author fullname="K. Pietrzak" initials="K." surname="Pietrzak"/>
            <date year="2019"/>
          </front>
        </reference>
      </references>
    </references>
  </back>
</rfc>