<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.5.12 -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>

<?rfc rfcedstyle="yes"?>
<?rfc toc="yes"?>
<?rfc tocindent="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>
<?rfc strict="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc text-list-symbols="-o*+"?>
<?rfc docmapping="yes"?>
<?rfc toc_levels="4"?>

<rfc ipr="trust200902" docName="draft-moran-suit-mti-02" category="std">

  <front>
    <title abbrev="MTI SUIT Algorithms">Mandatory-to-Implement Algorithms for Creators and Consumers of Software Update for the Internet of Things manifests</title>

    <author initials="B." surname="Moran" fullname="Brendan Moran">
      <organization>Arm Limited</organization>
      <address>
        <email>brendan.moran.ietf@gmail.com</email>
      </address>
    </author>

    <date year="2022" month="October" day="24"/>

    <area>Security</area>
    <workgroup>SUIT</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>This document specifies algorithm profiles for SUIT manifest parsers and authors to ensure better interoperability. These profiles apply specifically to a constrained node software update use case.</t>



    </abstract>


  </front>

  <middle>


<section anchor="introduction" title="Introduction">

<t>Mandatory algorithms may change over time due to an evolving threat landscape. Algorithms are grouped into algorithm profiles to account for this. Profiles may be deprecated over time. SUIT will define four choices of MTI profile specifically for constrained node software update. These profiles are:</t>

<t><list style="symbols">
  <t>One Symmetric MTI profile</t>
  <t>Two “Current” Asymmetric MTI profiles</t>
  <t>One “Future” Asymmetric MTI profile</t>
</list></t>

<t>At least one MTI algorithm in each category MUST be FIPS qualified.</t>

<t>Because SUIT presents an asymmetric communication profile, with powerful/complex manifest authors and constrined manifest recipients, the requirements for Recipients and Authors are different.</t>

<t>Recipients MAY choose which MTI profile they wish to implement. It is RECOMMENDED thaty they implement the “Future” Asymmetric MTI profile. Recipients MAY implement any number of other profiles.</t>

<t>Authors MUST implement all MTI profiles. Authors MAY implement any number of other profiles.</t>

<t>Other use-cases of SUIT MAY define their own MTI algorithms.</t>

</section>
<section anchor="algorithms" title="Algorithms">

<t>The algorithms that form a part of the profiles defined in this document are grouped into:</t>

<t><list style="symbols">
  <t>Digest Algorithms</t>
  <t>Authentication Algorithms</t>
  <t>Key Exchange Algorithms</t>
  <t>Encryption Algorithms</t>
</list></t>

<section anchor="digest-algorithms" title="Digest Algorithms">

<t><list style="symbols">
  <t>SHA-256 (-16)</t>
</list></t>

</section>
<section anchor="authentication-algorithms" title="Authentication Algorithms">

<t>Authentication Algorithms are divided into three categories:</t>

<section anchor="symmetric-authentication-algorithm" title="Symmetric Authentication Algorithm">

<t><list style="symbols">
  <t>HMAC-256 (5)</t>
</list></t>

</section>
<section anchor="asymmetric-classical-authentication-algorithms" title="Asymmetric Classical Authentication Algorithms">

<t><list style="symbols">
  <t>ES256 (-7)</t>
  <t>EdDSA (-8)</t>
</list></t>

</section>
<section anchor="asymmetric-post-quantum-authentication-algorithms" title="Asymmetric Post-Quantum Authentication Algorithms">

<t><list style="symbols">
  <t>HSS-LMS (-46) <xref target="RFC8778"/></t>
</list></t>

</section>
</section>
<section anchor="key-exchange-algorithms" title="Key Exchange Algorithms">

<t>Key Exchange Algorithms are divided into two three groups: Symmetric, Classical Asymmetric, and Post-Quantum Asymmetric</t>

<section anchor="symmetric" title="Symmetric">

<t><list style="symbols">
  <t>A128 (-3)</t>
</list></t>

</section>
<section anchor="classical-asymmetric" title="Classical Asymmetric">

<t><list style="symbols">
  <t>COSE HPKE (TBD)</t>
  <t>ECDH-ES + HKDF-256 (-25)</t>
</list></t>

</section>
</section>
<section anchor="encryption-algorithms" title="Encryption Algorithms">

<t><list style="symbols">
  <t>A128GCM (1)</t>
</list></t>

</section>
</section>
<section anchor="profiles" title="Profiles">

<t>Recognized profiles are defined below.</t>

<section anchor="symmetric-mti-profile-suit-sha256-hmac-a128-ccm" title=" Symmetric MTI profile: suit-sha256-hmac-a128-ccm">

<t>This profile requires the following algorithms:</t>

<t><list style="symbols">
  <t>SHA-256</t>
  <t>HMAC-256</t>
  <t>A128W Key Wrap</t>
  <t>AES-CCM-16-128-128</t>
</list></t>

</section>
<section anchor="current-asymmetric-mti-profile-1-suit-sha256-es256-hpke-a128gcm" title="Current Asymmetric MTI Profile 1: suit-sha256-es256-hpke-a128gcm">

<t>This profile requires the following algorithms:</t>

<t><list style="symbols">
  <t>SHA-256</t>
  <t>ES256</t>
  <t>HPKE</t>
  <t>AES-128-GCM</t>
</list></t>

</section>
<section anchor="current-asymmetric-mti-profile-2-suit-sha256-ed256-hpke-a128gcm" title="Current Asymmetric MTI Profile 2: suit-sha256-ed256-hpke-a128gcm">

<t>This profile requires the following algorithms:</t>

<t><list style="symbols">
  <t>SHA-256</t>
  <t>EDDSA</t>
  <t>HPKE</t>
  <t>AES-128-GCM</t>
</list></t>

</section>
<section anchor="future-asymmetric-mti-profile-suit-sha256-hsslms-hpke-a128gcm" title="Future Asymmetric MTI Profile: suit-sha256-hsslms-hpke-a128gcm">

<t>This profile requires the following algorithms:</t>

<t><list style="symbols">
  <t>SHA-256</t>
  <t>HSS-LMS</t>
  <t>HPKE</t>
  <t>AES-128-GCM</t>
</list></t>

</section>
<section anchor="other-profiles" title="Other Profiles:">

<t>Optional classical and PQC profiles are defined below.</t>

<t><list style="symbols">
  <t>suit-sha256-eddsa-ecdh-es-chacha-poly
  <list style="symbols">
      <t>SHA-256</t>
      <t>EdDSA</t>
      <t>ECDH-ES + HKDF-256</t>
      <t>ChaCha20 + Poly1305</t>
    </list></t>
  <t>suit-sha256-falcon512-hpke-a128gcm
  <list style="symbols">
      <t>SHA-256</t>
      <t>HSS-LMS</t>
      <t>HPKE</t>
      <t>AES-128-GCM</t>
    </list></t>
  <t>suit-shake256-dilithium-kyber-a128gcm
  <list style="symbols">
      <t>SHAKE256</t>
      <t>Crystals-Dilithium</t>
      <t>Crystal-Kyber</t>
      <t>AES-128GCM</t>
    </list></t>
</list></t>

</section>
</section>
<section anchor="security-considerations" title="Security Considerations">

<t>TODO</t>

</section>
<section anchor="iana-considerations" title="IANA Considerations">

<t>TODO</t>

</section>


  </middle>

  <back>

    <references title='Normative References'>





<reference anchor='RFC8152' target='https://www.rfc-editor.org/info/rfc8152'>
<front>
<title>CBOR Object Signing and Encryption (COSE)</title>
<author fullname='J. Schaad' initials='J.' surname='Schaad'><organization/></author>
<date month='July' year='2017'/>
<abstract><t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size.  There is a need for the ability to have basic security services defined 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></abstract>
</front>
<seriesInfo name='RFC' value='8152'/>
<seriesInfo name='DOI' value='10.17487/RFC8152'/>
</reference>



<reference anchor='RFC8778' target='https://www.rfc-editor.org/info/rfc8778'>
<front>
<title>Use of the HSS/LMS Hash-Based Signature Algorithm with CBOR Object Signing and Encryption (COSE)</title>
<author fullname='R. Housley' initials='R.' surname='Housley'><organization/></author>
<date month='April' year='2020'/>
<abstract><t>This document specifies the conventions for using the Hierarchical Signature System (HSS) / Leighton-Micali Signature (LMS) hash-based signature algorithm with the CBOR Object Signing and Encryption (COSE) syntax. The HSS/LMS algorithm is one form of hash-based digital signature; it is described in RFC 8554.</t></abstract>
</front>
<seriesInfo name='RFC' value='8778'/>
<seriesInfo name='DOI' value='10.17487/RFC8778'/>
</reference>




    </references>

    <references title='Informative References'>




<reference anchor='I-D.ietf-suit-manifest'>
   <front>
      <title>A Concise Binary Object Representation (CBOR)-based Serialization Format for the Software Updates for Internet of Things (SUIT) Manifest</title>
      <author fullname='Brendan Moran' initials='B.' surname='Moran'>
         <organization>Arm Limited</organization>
      </author>
      <author fullname='Hannes Tschofenig' initials='H.' surname='Tschofenig'>
         <organization>Arm Limited</organization>
      </author>
      <author fullname='Henk Birkholz' initials='H.' surname='Birkholz'>
         <organization>Fraunhofer SIT</organization>
      </author>
      <author fullname='Koen Zandberg' initials='K.' surname='Zandberg'>
         <organization>Inria</organization>
      </author>
      <author fullname='Øyvind Rønningstad' initials='O.' surname='Rønningstad'>
         <organization>Nordic Semiconductor</organization>
      </author>
      <date day='7' month='October' year='2022'/>
      <abstract>
	 <t>   This specification describes the format of a manifest.  A manifest is
   a bundle of metadata about code/data obtained by a recipient (chiefly
   the firmware for an IoT device), where to find the that code/data,
   the devices to which it applies, and cryptographic information
   protecting the manifest.  Software updates and Trusted Invocation
   both tend to use sequences of common operations, so the manifest
   encodes those sequences of operations, rather than declaring the
   metadata.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-ietf-suit-manifest-20'/>
   <format target='https://www.ietf.org/archive/id/draft-ietf-suit-manifest-20.txt' type='TXT'/>
</reference>




    </references>



  </back>

<!-- ##markdown-source:
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

-->

</rfc>

