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


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>

<?rfc rfcedstyle="yes"?>
<?rfc tocindent="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-ietf-suit-mti-03" category="std" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="MTI SUIT Algorithms">Mandatory-to-Implement Algorithms for Authors and Recipients 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>
    <author initials="Ø." surname="Rønningstad" fullname="Øyvind Rønningstad">
      <organization>Nordic Semiconductor</organization>
      <address>
        <email>oyvind.ronningstad@gmail.com</email>
      </address>
    </author>
    <author initials="A." surname="Tsukamoto" fullname="Akira Tsukamoto">
      <organization>ALAXALA Networks Corp.</organization>
      <address>
        <email>akira.tsukamoto@alaxala.com</email>
      </address>
    </author>

    <date year="2023" month="October" day="23"/>

    <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"><name>Introduction</name>

<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 five 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" Constrained Asymmetric MTI profiles</t>
  <t>Two "Current" AEAD Asymmetric MTI profiles</t>
  <t>One "Future" Constrained 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 constrained 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 that 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>AEAD is preferred over un-authenticated encryption. Where possible an AEAD profile SHOULD be selected. Certain constrained IoT applications require streaming decryption, which necessitates a non-AEAD ecryption algorithm. If the application is not a constrained device, the two AEAD profiles are RECOMMENDED.</t>

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

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

<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>
<section anchor="profiles"><name>Profiles</name>

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

<section anchor="suit-sha256-hmac-a128kw-a128ctr"><name> Symmetric MTI profile: suit-sha256-hmac-a128kw-a128ctr</name>

<texttable>
      <ttcol align='left'>Algorithm Type</ttcol>
      <ttcol align='left'>Algorithm</ttcol>
      <ttcol align='left'>COSE Key</ttcol>
      <c>Digest</c>
      <c>SHA-256</c>
      <c>-16</c>
      <c>Authentication</c>
      <c>HMAC-256</c>
      <c>5</c>
      <c>Key Exchange</c>
      <c>A128KW Key Wrap</c>
      <c>-3</c>
      <c>Encryption</c>
      <c>A128CTR</c>
      <c>-65534</c>
</texttable>

</section>
<section anchor="suit-sha256-es256-ecdh-a128ctr"><name>Current Constrained Asymmetric MTI Profile 1: suit-sha256-es256-ecdh-a128ctr</name>

<texttable>
      <ttcol align='left'>Algorithm Type</ttcol>
      <ttcol align='left'>Algorithm</ttcol>
      <ttcol align='left'>COSE Key</ttcol>
      <c>Digest</c>
      <c>SHA-256</c>
      <c>-16</c>
      <c>Authentication</c>
      <c>ES256</c>
      <c>-7</c>
      <c>Key Exchange</c>
      <c>ECDH-ES + HKDF-256</c>
      <c>-25</c>
      <c>Encryption</c>
      <c>A128CTR</c>
      <c>-65534</c>
</texttable>

</section>
<section anchor="suit-sha256-eddsa-ecdh-a128ctr"><name>Current Constrained Asymmetric MTI Profile 2: suit-sha256-eddsa-ecdh-a128ctr</name>

<texttable>
      <ttcol align='left'>Algorithm Type</ttcol>
      <ttcol align='left'>Algorithm</ttcol>
      <ttcol align='left'>COSE Key</ttcol>
      <c>Digest</c>
      <c>SHA-256</c>
      <c>-16</c>
      <c>Authentication</c>
      <c>EDDSA</c>
      <c>-8</c>
      <c>Key Exchange</c>
      <c>ECDH-ES + HKDF-256</c>
      <c>-25</c>
      <c>Encryption</c>
      <c>A128CTR</c>
      <c>-65534</c>
</texttable>

</section>
<section anchor="suit-sha256-es256-ecdh-a128gcm"><name>Current AEAD Asymmetric MTI Profile 1: suit-sha256-es256-ecdh-a128gcm</name>

<texttable>
      <ttcol align='left'>Algorithm Type</ttcol>
      <ttcol align='left'>Algorithm</ttcol>
      <ttcol align='left'>COSE Key</ttcol>
      <c>Digest</c>
      <c>SHA-256</c>
      <c>-16</c>
      <c>Authentication</c>
      <c>ES256</c>
      <c>-7</c>
      <c>Key Exchange</c>
      <c>ECDH-ES + HKDF-256</c>
      <c>-25</c>
      <c>Encryption</c>
      <c>A128GCM</c>
      <c>1</c>
</texttable>

</section>
<section anchor="suit-sha256-eddsa-ecdh-chacha-poly"><name>Current AEAD Asymmetric MTI Profile 2: suit-sha256-eddsa-ecdh-chacha-poly</name>

<texttable>
      <ttcol align='left'>Algorithm Type</ttcol>
      <ttcol align='left'>Algorithm</ttcol>
      <ttcol align='left'>COSE Key</ttcol>
      <c>Digest</c>
      <c>SHA-256</c>
      <c>-16</c>
      <c>Authentication</c>
      <c>EDDSA</c>
      <c>-8</c>
      <c>Key Exchange</c>
      <c>ECDH-ES + HKDF-256</c>
      <c>-25</c>
      <c>Encryption</c>
      <c>ChaCha20/Poly1305</c>
      <c>24</c>
</texttable>

</section>
<section anchor="suit-sha256-hsslms-a256kw-a256ctr"><name>Future Constrained Asymmetric MTI Profile 1: suit-sha256-hsslms-a256kw-a256ctr</name>

<texttable>
      <ttcol align='left'>Algorithm Type</ttcol>
      <ttcol align='left'>Algorithm</ttcol>
      <ttcol align='left'>COSE Key</ttcol>
      <c>Digest</c>
      <c>SHA-256</c>
      <c>-16</c>
      <c>Authentication</c>
      <c>HSS-LMS</c>
      <c>-46</c>
      <c>Key Exchange</c>
      <c>A256KW</c>
      <c>-5</c>
      <c>Encryption</c>
      <c>A256CTR</c>
      <c>-65532</c>
</texttable>

</section>
</section>
<section anchor="reporting-profiles"><name>Reporting Profiles</name>

<t>When using reverse-direction communication, particularly data structures that are designed for reporting of update capabilities, status, progress, or success, the same profile as the is used on the SUIT manifest SHOULD be used. There are cases where this is not possible, such as suit-sha256-hsslms-a256kw-a256ctr. In this case, the closest equivalent profile SHOULD be used, for example suit-sha256-es256-ecdh-a128ctr.</t>

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

<t>For the avoidance of doubt, there are scenarios where payload or manifest encryption are not required. In these scenarios, the encryption element of the selected profile is simply not used.</t>

<t>AES-CTR mode is specified, see <xref target="I-D.ietf-cose-aes-ctr-and-cbc"/>. All of the AES-CTR security considerations in <xref target="I-D.ietf-cose-aes-ctr-and-cbc"/> apply. A non-AEAD encryption mode is specified in this draft due to the following mitigating circumstances:</t>

<t><list style="symbols">
  <t>Streaming decryption must be supported. Therefore, there is no difference between AEAD and plaintext hash verification.</t>
  <t>Out-of-order decryption must be supported. Therefore, we must use a stream cipher that supports random access.</t>
  <t>There are no chosen plaintext attacks: the plaintext is authenticated prior to encryption.</t>
  <t>Content Encryption Keys MUST be used to encrypt only once. See <xref target="I-D.ietf-suit-firmware-encryption"/>.</t>
</list></t>

<t>As a result of these mitigating circumstances, AES-CTR is the most appropriate cipher for typical software/firmware delivery scenarios.</t>

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

<t>IANA is requested to create a page for COSE Algorithm Profiles within
the category for Software Update for the Internet of Things (SUIT)</t>

<t>IANA is also requested to create a registry for COSE Alforithm Profiles
within this page. The initial content of the registry is:</t>

<texttable>
      <ttcol align='left'>Profile</ttcol>
      <ttcol align='left'>Status</ttcol>
      <ttcol align='left'>Digest</ttcol>
      <ttcol align='left'>Auth</ttcol>
      <ttcol align='left'>Key Exchange</ttcol>
      <ttcol align='left'>Encryption</ttcol>
      <ttcol align='left'>Descriptor Array</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <c>suit-sha256-hmac-a128kw-a128ctr</c>
      <c>MANDATORY</c>
      <c>-16</c>
      <c>5</c>
      <c>-3</c>
      <c>-65534</c>
      <c>[-16,   5,  -3, -65534]</c>
      <c><xref target="suit-sha256-hmac-a128kw-a128ctr"/></c>
      <c>suit-sha256-es256-ecdh-a128ctr</c>
      <c>MANDATORY</c>
      <c>-16</c>
      <c>-7</c>
      <c>-25</c>
      <c>-65534</c>
      <c>[-16,  -7, -25, -65534]</c>
      <c><xref target="suit-sha256-es256-ecdh-a128ctr"/></c>
      <c>suit-sha256-eddsa-ecdh-a128ctr</c>
      <c>MANDATORY</c>
      <c>-16</c>
      <c>-8</c>
      <c>-25</c>
      <c>-65534</c>
      <c>[-16,  -8, -25, -65534]</c>
      <c><xref target="suit-sha256-eddsa-ecdh-a128ctr"/></c>
      <c>suit-sha256-es256-ecdh-a128gcm</c>
      <c>MANDATORY</c>
      <c>-16</c>
      <c>-7</c>
      <c>-25</c>
      <c>1</c>
      <c>[-16,  -7, -25,      1]</c>
      <c><xref target="suit-sha256-es256-ecdh-a128gcm"/></c>
      <c>suit-sha256-eddsa-ecdh-chacha-poly</c>
      <c>MANDATORY</c>
      <c>-16</c>
      <c>-8</c>
      <c>-25</c>
      <c>24</c>
      <c>[-16,  -8, -25,     24]</c>
      <c><xref target="suit-sha256-eddsa-ecdh-chacha-poly"/></c>
      <c>suit-sha256-hsslms-a256kw-a256ctr</c>
      <c>MANDATORY</c>
      <c>-16</c>
      <c>-46</c>
      <c>-5</c>
      <c>-65532</c>
      <c>[-16, -46,  -5, -65532]</c>
      <c><xref target="suit-sha256-hsslms-a256kw-a256ctr"/></c>
</texttable>

<t>New entries to this registry require standards action.</t>

<t>-- back</t>

</section>
<section anchor="full-cddl"><name>A. Full CDDL</name>

<t>The following CDDL creates a subset of COSE for use with SUIT. Both tagged and untagged messages are defined. SUIT only uses tagged COSE messages, but untagged messages are also defined for use in protocols that share a ciphersuite with SUIT.</t>

<t>To be valid, the following CDDL MUST have the COSE CDDL appended to it. The COSE CDDL can be obtained by following the directions in <xref section="1.4" sectionFormat="comma" target="RFC9052"/>.</t>

<figure><sourcecode type="CDDL"><![CDATA[
SUIT_COSE_tool_tweak /= suit-sha256-hmac-a128kw-a128ctr
SUIT_COSE_tool_tweak /= suit-sha256-es256-ecdh-a128ctr
SUIT_COSE_tool_tweak /= suit-sha256-eddsa-ecdh-a128ctr
SUIT_COSE_tool_tweak /= suit-sha256-eddsa-ecdh-chacha-poly
SUIT_COSE_tool_tweak /= suit-sha256-hsslms-a256kw-a256ctr
SUIT_COSE_tool_tweak /= SUIT_COSE_Profiles

SUIT_COSE_Profiles /= SUIT_COSE_Profile_HMAC_A128KW_A128CTR
SUIT_COSE_Profiles /= SUIT_COSE_Profile_ES256_ECDH_A128CTR
SUIT_COSE_Profiles /= SUIT_COSE_Profile_EDDSA_ECDH_A128CTR
SUIT_COSE_Profiles /= SUIT_COSE_Profile_ES256_ECDH_A128GCM
SUIT_COSE_Profiles /= SUIT_COSE_Profile_EDDSA_ECDH_CHACHA20_POLY1304
SUIT_COSE_Profiles /= SUIT_COSE_Profile_HSSLMS_A256KW_A256CTR

suit-sha256-hmac-a128kw-a128ctr = [-16, 5, -3, -65534]
suit-sha256-es256-ecdh-a128ctr = [-16, -7, -25, -65534]
suit-sha256-eddsa-ecdh-a128ctr = [-16, -8, -25, -65534]
suit-sha256-es256-ecdh-a128gcm = [-16, -7, -25, 1]
suit-sha256-eddsa-ecdh-chacha-poly = [-16, -8, -25, 24]
suit-sha256-hsslms-a256kw-a256ctr = [-16, -46, -5, -65532]

SUIT_COSE_Profile_HMAC_A128KW_A128CTR = SUIT_COSE_Profile<5, -65534> .and COSE_Messages
SUIT_COSE_Profile_ES256_ECDH_A128CTR = SUIT_COSE_Profile<-7,-65534> .and COSE_Messages
SUIT_COSE_Profile_EDDSA_ECDH_A128CTR = SUIT_COSE_Profile<-8,-65534> .and COSE_Messages
SUIT_COSE_Profile_ES256_ECDH_A128GCM = SUIT_COSE_Profile<-7,1> .and COSE_Messages
SUIT_COSE_Profile_EDDSA_ECDH_CHACHA20_POLY1304 = SUIT_COSE_Profile<-8,24> .and COSE_Messages
SUIT_COSE_Profile_HSSLMS_A256KW_A256CTR = SUIT_COSE_Profile<-46,-65532> .and COSE_Messages

SUIT_COSE_Profile<authid, encid> = SUIT_COSE_Messages<authid,encid>

SUIT_COSE_Messages<authid, encid> = SUIT_COSE_Untagged_Message<authid, encid> /
    SUIT_COSE_Tagged_Message<authid, encid> 
      
SUIT_COSE_Untagged_Message<authid, encid> = SUIT_COSE_Sign<authid> /
    SUIT_COSE_Sign1<authid> / SUIT_COSE_Encrypt<encid> / 
    SUIT_COSE_Encrypt0<encid> / SUIT_COSE_Mac<authid> /
    SUIT_COSE_Mac0<authid> 

SUIT_COSE_Tagged_Message<authid, encid> = SUIT_COSE_Sign_Tagged<authid> /
    SUIT_COSE_Sign1_Tagged<authid> / SUIT_COSE_Encrypt_Tagged<encid> /
    SUIT_COSE_Encrypt0_Tagged<encid> / SUIT_COSE_Mac_Tagged<authid> /
    SUIT_COSE_Mac0_Tagged<authid>

; Note: This is not the same definition as is used in COSE.
; It restricts a COSE header definition further without
; repeating the COSE definition. It should be merged
; with COSE by using the CDDL .and operator.
SUIT_COSE_Profile_Headers<algid> = (
    protected : bstr .cbor SUIT_COSE_alg_map<algid>,
    unprotected : SUIT_COSE_header_map
)
SUIT_COSE_alg_map<algid> = {
    1 => algid,
    * int => any
}

SUIT_COSE_header_map = {
    * int => any
}

SUIT_COSE_Sign_Tagged<authid> = #6.98(SUIT_COSE_Sign<authid>)


SUIT_COSE_Sign<authid> = [
    SUIT_COSE_Profile_Headers<authid>,
    payload : bstr / nil,
    signatures : [+ SUIT_COSE_Signature<authid>]
]


SUIT_COSE_Signature<authid> =  [
    SUIT_COSE_Profile_Headers<authid>,      
    signature : bstr
]


SUIT_COSE_Sign1_Tagged<authid> = #6.18(SUIT_COSE_Sign1<authid>)


SUIT_COSE_Sign1<authid> = [
    SUIT_COSE_Profile_Headers<authid>,
    payload : bstr / nil,
    signature : bstr
]


SUIT_COSE_Encrypt_Tagged<encid> = #6.96(SUIT_COSE_Encrypt<encid>)


SUIT_COSE_Encrypt<encid> = [
    SUIT_COSE_Profile_Headers<encid>,
    ciphertext : bstr / nil,
    recipients : [+SUIT_COSE_recipient<encid>]
]


SUIT_COSE_recipient<encid> = [    
    SUIT_COSE_Profile_Headers<encid>,
    ciphertext : bstr / nil,
    ? recipients : [+SUIT_COSE_recipient<encid>]
]


SUIT_COSE_Encrypt0_Tagged<encid> = #6.16(SUIT_COSE_Encrypt0<encid>)


SUIT_COSE_Encrypt0<encid> = [
    SUIT_COSE_Profile_Headers<encid>,
    ciphertext : bstr / nil,
]


SUIT_COSE_Mac_Tagged<authid> = #6.97(SUIT_COSE_Mac<authid>)


SUIT_COSE_Mac<authid> = [
   SUIT_COSE_Profile_Headers<authid>,      
   payload : bstr / nil,
   tag : bstr,
   recipients :[+SUIT_COSE_recipient<authid>]
]


SUIT_COSE_Mac0_Tagged<authid> = #6.17(SUIT_COSE_Mac0<authid>)


SUIT_COSE_Mac0<authid> = [
   SUIT_COSE_Profile_Headers<authid>,      
   payload : bstr / nil,
   tag : bstr,
]
]]></sourcecode></figure>

</section>


  </middle>

  <back>


    <references title='Normative References'>



<reference anchor='RFC8152'>
  <front>
    <title>CBOR Object Signing and Encryption (COSE)</title>
    <author fullname='J. Schaad' initials='J.' surname='Schaad'/>
    <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'>
  <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'/>
    <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>

<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='I-D.ietf-cose-aes-ctr-and-cbc'>
   <front>
      <title>CBOR Object Signing and Encryption (COSE): AES-CTR and AES-CBC</title>
      <author fullname='Russ Housley' initials='R.' surname='Housley'>
         <organization>Vigil Security, LLC</organization>
      </author>
      <author fullname='Hannes Tschofenig' initials='H.' surname='Tschofenig'>
         <organization>Arm Limited</organization>
      </author>
      <date day='25' month='May' year='2023'/>
      <abstract>
	 <t>The Concise Binary Object Representation (CBOR) data format is designed for small code size and small message size.  CBOR Object Signing and Encryption (COSE) is specified in RFC 9052 to provide basic security services using the CBOR data format.  This document specifies the conventions for using AES-CTR and AES-CBC as content encryption algorithms with COSE.
	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-ietf-cose-aes-ctr-and-cbc-06'/>
   
</reference>


<reference anchor='I-D.ietf-suit-firmware-encryption'>
   <front>
      <title>Encrypted Payloads in SUIT Manifests</title>
      <author fullname='Hannes Tschofenig' initials='H.' surname='Tschofenig'>
         </author>
      <author fullname='Russ Housley' initials='R.' surname='Housley'>
         <organization>Vigil Security, LLC</organization>
      </author>
      <author fullname='Brendan Moran' initials='B.' surname='Moran'>
         <organization>Arm Limited</organization>
      </author>
      <author fullname='David Brown' initials='D.' surname='Brown'>
         <organization>Linaro</organization>
      </author>
      <author fullname='Ken Takayama' initials='K.' surname='Takayama'>
         <organization>SECOM CO., LTD.</organization>
      </author>
      <date day='23' month='October' year='2023'/>
      <abstract>
	 <t>   This document specifies techniques for encrypting software, firmware,
   machine learning models, and personalization data by utilizing the
   IETF SUIT manifest.  Key agreement is provided by ephemeral-static
   (ES) Diffie-Hellman (DH) and AES Key Wrap (AES-KW).  ES-DH uses
   public key cryptography while AES-KW uses a pre-shared key.
   Encryption of the plaintext is accomplished with conventional
   symmetric key cryptography.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-ietf-suit-firmware-encryption-18'/>
   
</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'>
         </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='10' month='September' year='2023'/>
      <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 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-23'/>
   
</reference>


<reference anchor="IANA-COSE" target="https://www.iana.org/assignments/cose/cose.xhtml">
  <front>
    <title>CBOR Object Signing and Encryption (COSE)</title>
    <author >
      <organization></organization>
    </author>
    <date year="2022"/>
  </front>
</reference>


    </references>



  </back>

<!-- ##markdown-source:
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
z4tpbnOayUmUnKjcmRE0Zbcee6LwUvP5HAmNSm2RuDcxah1y1NqYyn3CYCpO
QfjT0Rrm5YY9Ni30Fj4mg5Yzr1IaaYbjWgUqcuAbGiViV1RIyU2ZcWdFhRC4
VIZ7GxDFKMCUygW/NLNGK515joIlktCmbqlt+q1XA54QWzXVtgObrhp8iVHV
TjgAZoDXHiFak2QHvfumsv7222+GoUfSXhD/C61UdAFQw9+y/ce7suyN9rWz
1M22tfLJx25rBNvNLtgVFlt31s/rxq79rJPygqaOF3a0eOHmOTfeawYjF9TO
f/xWmhB84tb1U787PP2UUw+fjfFv2L94efb8x8G9/v2ba2wyQWd+YRvwC9dq
e94uFPCY2aRI2bCq62+8HeW63LVRgTf2tStrte/gun3tItg6b7D1qGapah03
3Diqu6JU26hQ1HXiTYf7djkq6zDP19Vdv2E9ys1m8dTl0w6+bSfuZAuFfBzb
loN3sz34SLYt598m7eDjBW3FxDaRhzcVtzNWurnCBaz1O1m3eX9NfSGVMoBx
GX6zxrTcVtJYkiaTTYouLq9dNS6JN2n3zXdEavrza6ndF2+8m/NvykLfY3Hr
7YNpcVCvNlZcN/N1KTHb2OnW+zVBQ0U82Hoi1vrVYlOv1+tg80aO/PqLtYja
8pckWwxT3nKTbP1Cu4ShO2/QeN4/2AtFXxk6b0wTq6GlwWzSjtTyamYJFET8
eth7QjM2+307Ap4GVS0EtxOZau+syMznwwTmVKGxLxOpsAOHCqrV9OZLBjko
I/qEFFAyg8TYZLCgoZ2u3MjX7CYUZyLOfH0IvW6vK5CNVAiXaG4NecdohyCo
HfONGH3bifWCqfsCk90P+ouYp27fntlUJM1tNa29OZF7d71tLHD0e8NlwB5/
w8wzy/UL+pDaPEtW3oemT9Z8q83bibvc8jG7/bD31cGd7nC8623ub2z8acOJ
Wvq0lPYK5VjW6XKfJTKyKzRS53bQPmI/fbkRImalZPXGe9MSaI0AUt1YLJez
1kRw4nUc0wpVo7jBpuIG2zU3+Iyq65a7O4NYiz+8sy2T3u3iUW/eJboltPLZ
ds0MO9vC119bMnavOVYLjtem1TfXSajKlH+CYP/8dNG2ZGPrKx0q71+n8/6f
rPR1UTuqgvWMR3fWiLodullAnXgfE3FbXRqowT00b5uG6LbDlszQUdCcFTau
1996v/5nv+Abmgx4/wdB3BpCHDAAAA==

-->

</rfc>

