<?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.6.22 (Ruby 3.1.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-lassey-tigress-threat-model-00" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.16.0 -->
  <front>
    <title>TIGRESS Threat Model</title>
    <seriesInfo name="Internet-Draft" value="draft-lassey-tigress-threat-model-00"/>
    <author fullname="Brad Lassey">
      <organization>Google</organization>
      <address>
        <email>lassey@google.com</email>
      </address>
    </author>
    <date year="2023" month="February" day="03"/>
    <area>Applications and Real-Time</area>
    <workgroup>Transfer dIGital cREdentialS Securely</workgroup>
    <keyword>tigress</keyword>
    <keyword>threat model</keyword>
    <abstract>
      <t>TODO Abstract</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://bslassey.github.io/tigress-threat-model/draft-lassey-tigress-threat-model.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-lassey-tigress-threat-model/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Transfer dIGital cREdentialS Securely Working Group mailing list (<eref target="mailto:tigress@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/tigress/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/tigress/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/bslassey/tigress-threat-model"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>The TIGRESS Working Group is chartered to deliver a protocol for transferring copies of digital credentials. The charter specifies certain goals:</t>
      <section anchor="privacy-goals">
        <name>Privacy goals:</name>
        <ul spacing="normal">
          <li>The relay server should not see sensitive details of the share</li>
          <li>The relay server should not be able to provision the credential itself,
acting as an intermediary for the recipient (person-in-the-middle,
impersonation attack)</li>
          <li>Aside from network-level metadata, the relay server should not learn
information about the sender or receiver</li>
        </ul>
      </section>
      <section anchor="security-goals">
        <name>Security goals:</name>
        <ul spacing="normal">
          <li>Ensure only the intended recipient is able to provision the credential</li>
          <li>Ensure the credential can only be provisioned once (anti-replay)</li>
          <li>Ensure the sender has the intent to transfer (proof of the fact that the
share initiation is attributed to a valid device and a user)</li>
        </ul>
      </section>
      <section anchor="functional-goals">
        <name>Functional goals:</name>
        <ul spacing="normal">
          <li>Allow a sender to initiate a share and select a relay server</li>
          <li>Allow a recipient to view the share request, and provision the credential
associated with the share upon receipt</li>
          <li>Allow a sender and a recipient to perform multiple round trip communications
within a limited time frame</li>
          <li>Not require that both the sender and recipient have connectivity to the relay
server at the same time</li>
          <li>Support opaque message content based on the credential type</li>
          <li>Support a variety of types of credentials, to include those adhering to
public standards (e.g., Car Connectivity Consortium) and proprietary (i.e.,
non-public or closed community) formats</li>
        </ul>
        <t>From these goals we can derive a threat model for the general problem space.</t>
      </section>
    </section>
    <section anchor="threat-model">
      <name>Threat Model</name>
      <t>## Assets and Data
### Credential
The credential or key that is being shared via this protocol.
### Intermediary data
Data that is shared over the course of the transaction.
### Share invitation
The initial data shared with the reciever which represents an invitation to share a credential.
# Users
## Sender
The user who initiates the share.
## Receiver
The user who is the intended recipient and accepts the invitation to share a credential.
# Attackers and Motivations
# Threats and mitigations</t>
      <table>
        <thead>
          <tr>
            <th align="left">Threat Description</th>
            <th align="left">Likelihood</th>
            <th align="left">Impact</th>
            <th align="left">Mitigations</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">An Attacker with physical access to the victim's phone initiates a share of a Credential to the the Attacker's device</td>
            <td align="left">MED</td>
            <td align="left">HIGH</td>
            <td align="left">Implementors <bcp14>SHOULD</bcp14> take sufficient precautions to ensure that the device owner is in possession of the device when initiating a share such as requiring authentication at share time</td>
          </tr>
          <tr>
            <td align="left">Attacker intercepts or eavesdrops on sharing message</td>
            <td align="left">HIGH</td>
            <td align="left">HIGH</td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="left">Sender mistakenly sends to the wrong Receiver</td>
            <td align="left">HIGH</td>
            <td align="left">HIGH</td>
            <td align="left">Implementors should ensure any initiated shares can be withdrawn or revoked at any time.</td>
          </tr>
          <tr>
            <td align="left">Sender device compromised</td>
            <td align="left">MED</td>
            <td align="left">HIGH</td>
            <td align="left"> </td>
          </tr>
        </tbody>
      </table>
      <section anchor="if-an-intermediary-server-is-used">
        <name>If an intermediary server is used</name>
        <t>Some designs may rely on an intermediary server to facilitate the transfer of material. Below are threats and mitigations assuming that there is an intermediary server hosting encrypted content at an "unguessible" location.</t>
        <table>
          <thead>
            <tr>
              <th align="left">Threat Description</th>
              <th align="left">Likelihood</th>
              <th align="left">Impact</th>
              <th align="left">Mitigations</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Attacker brute forces "unguessible" location</td>
              <td align="left">LOW</td>
              <td align="left">LOW</td>
              <td align="left">Limited TTL of storage, rate limiting of requests</td>
            </tr>
            <tr>
              <td align="left">Attacker intercepts encryption key</td>
              <td align="left">MED</td>
              <td align="left">MED</td>
              <td align="left">Seperate transimission of encryption key and unguessible location</td>
            </tr>
            <tr>
              <td align="left">Attacker intercepts encryption key and unguessible location</td>
              <td align="left">MED</td>
              <td align="left">HIGH</td>
              <td align="left">Implementor should warn users about sharing credentials to groups</td>
            </tr>
            <tr>
              <td align="left">Attacker compromises intermediary server</td>
              <td align="left">LOW</td>
              <td align="left">LOW</td>
              <td align="left">Content on the server is encrypted</td>
            </tr>
            <tr>
              <td align="left">Attacker uses intermediary server to store unrelated items (i.e. cat pictures)</td>
              <td align="left">HIGH</td>
              <td align="left">LOW</td>
              <td align="left">intermediary server should have tight size limits and TTLS to discourage misuse</td>
            </tr>
          </tbody>
        </table>
      </section>
    </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>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>Normative References</name>
      <reference anchor="RFC2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner">
            <organization/>
          </author>
          <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">
            <organization/>
          </author>
          <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>
    </references>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This document took as inspiration the <eref target="https://github.com/dimmyvi/tigress-sample-implementation/blob/main/draft-tigress-sample-implementation.md#threat-model">threat model</eref> that was part of Dmitry Vinokurov's sample implementation document.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
AAA=

-->

</rfc>
