rfc8769xml2.original.xml   rfc8769.xml 
<?xml version='1.0' encoding='utf-8'?> <?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?> <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<?rfc toc="yes"?>
<?rfc symrefs="yes"?> <rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902"
<?rfc sortrefs="yes"?> docName="draft-schaad-cbor-content-02" category="info" version="3"
<?rfc comments="yes"?> submissionType="IETF" number="8769" consensus="true" symRefs="true"
<rfc ipr="trust200902" docName="draft-schaad-cbor-content-02" category="info" ve sortRefs="true" tocInclude="true" xml:lang="en">
rsion="3" submissionType="IETF">
<front> <front>
<title>Cryptographic Message System (CMS) Content Types for Concise Binary O
bject Representation (CBOR)</title> <title abbrev="CMS Content Types for CBOR">Cryptographic Message Syntax (CMS
) Content Types for Concise Binary
Object Representation (CBOR)</title>
<seriesInfo name="RFC" value="8769" />
<author initials="J." surname="Schaad" fullname="Jim Schaad"> <author initials="J." surname="Schaad" fullname="Jim Schaad">
<organization>August Cellars</organization> <organization>August Cellars</organization>
<address> <address>
<email>ietf@augustcellars.com</email> <email>ietf@augustcellars.com</email>
</address> </address>
</author> </author>
<date/> <date month="March" year="2020"/>
<area>Security</area> <area>Security</area>
<abstract> <abstract>
<t> <t>
Concise Binary Object Representation (CBOR) is becoming a widely used me thod of doing content encoding. Concise Binary Object Representation (CBOR) is becoming a widely used me thod of doing content encoding.
Cryptographic Message System (CMS) is still a widely used method of doin g message-based security. The Cryptographic Message Syntax (CMS) is still a widely used method of doing message-based security.
This document defines a set of content types for CMS that hold CBOR cont ent. This document defines a set of content types for CMS that hold CBOR cont ent.
</t> </t>
</abstract> </abstract>
</front> </front>
<middle> <middle>
<section> <section>
<name>Introduction</name> <name>Introduction</name>
<t> <t>
Concise Binary Object Representation (CBOR) <xref target="RFC7049"/> is Concise Binary Object Representation (CBOR) <xref target="RFC7049"/>
a compact self-describing binary encoding formation that is starting to be used is a compact self-describing binary encoding formation that is
in many different applications. starting to be used in many different applications.
One of the primary uses of CBOR is in the Internet of Things where the c One of the primary uses of CBOR is in the Internet of Things, the
onstrained nature means that having minimal size of encodings becomes very impor constrained nature of which means that having minimal size of
tant. encodings becomes very important.
The use of the Cryptographic Message System (CMS) <xref target="RFC5652" The Cryptographic Message Syntax (CMS) <xref
/> is still one of the most common method for providing message-based security, target="RFC5652"/> is still one of the most common methods for
although in many cases the CBOR Object Signing and Encryption (COSE) <xref targe providing message-based security, although in many cases, the CBOR
t="RFC8152"/> message-based security system is starting to be used. Object Signing and Encryption (COSE) <xref target="RFC8152"/>
Given that CBOR is going to be transported using CMS, it makes sense to message-based security system is starting to be used.
define CMS content types for the purpose of denoting that the embedded content i Given that CBOR is going to be transported using CMS, it makes sense
s CBOR. to define CMS content types for the purpose of denoting that the
This document defines two new content types: CBOR Content Type and CBOR embedded content is CBOR.
Sequence Content Type <xref target="I-D.ietf-cbor-sequence"/>. This document defines two new content types: CBOR content type and
CBOR Sequence content type <xref target="RFC8742"/>.
</t> </t>
</section> </section>
<section> <section>
<name>CBOR Content Type</name> <name>CBOR Content Type</name>
<t> <t>
<xref target="RFC7049"/> defines an encoded CBOR item. <xref target="RFC7049"/> defines an encoded CBOR item.
This section defines a new content type for wrapping an encoded CBOR ite m in a CMS object. This section defines a new content type for wrapping an encoded CBOR ite m in a CMS object.
</t> </t>
<t> <t>
The following object identifier identifies the CBOR content type: The following object identifier identifies the CBOR content type:
</t> </t>
<sourcecode type="asn.1"><![CDATA[
<artwork>
id-ct-cbor OBJECT IDENTIFIER ::= { iso(1) member-body(2) usa(840) id-ct-cbor OBJECT IDENTIFIER ::= { iso(1) member-body(2) usa(840)
rsadsi(113549) pkcs(1) pkcs9(9) smime(16) ct(1) TBD1 } rsadsi(113549) pkcs(1) pkcs9(9) smime(16) ct(1) 44 }]]>
</artwork> </sourcecode>
<t> <t>
The CBOR content type is intended to refer to a single object encoded us ing the CBOR encoding format <xref target="RFC7049"/>. The CBOR content type is intended to refer to a single object encoded us ing the CBOR encoding format <xref target="RFC7049"/>.
Nothing is stated about the specific CBOR object that is included. Nothing is stated about the specific CBOR object that is included.
CBOR can always be decoded to a tree as the encoding is self descriptive . CBOR can always be decoded to a tree, as the encoding is self descriptiv e.
</t> </t>
<t> <t>
The CBOR content type is intended to be encapsulated in the signed data The CBOR content type is intended to be encapsulated in the signed
and auth-enveloped data, but can be included in any CMS wrapper. data and auth-enveloped data, but it can be included in any CMS wrapper.
It cannot be predicted if the compressed CMS encapsulation will provide It cannot be predicted whether the compressed CMS encapsulation will
compression as the content may be binary rather than text. provide compression, because the content may be binary rather than text.
</t> </t>
<t> <t>
<xref target="RFC7193"/> defined an optional parameter "innerContent" to <xref target="RFC7193"/> defined an optional parameter,
allow for identification of what the inner content is for an application/cms me "innerContent", to allow for identification of what the inner content
dia type. is for an application/cms media type.
This document defines the string "cbor" as a new value that can be place This document defines the string "cbor" as a new value that can be
d here when a CBOR content type is used. placed in this parameter when a CBOR content type is used.
</t> </t>
</section> </section>
<section> <section>
<name>CBOR Sequence Content Type</name> <name>CBOR Sequence Content Type</name>
<t> <t>
<xref target="I-D.ietf-cbor-sequence"/> defines a CBOR Sequence as a con catenation of zero or more CBOR objects. <xref target="RFC8742"/> defines a CBOR Sequence as a concatenation of z ero or more CBOR objects.
This section defines a new content type for wrapping a CBOR Sequence in a CMS object. This section defines a new content type for wrapping a CBOR Sequence in a CMS object.
</t> </t>
<t> <t>
The following object identifier identifies the CBOR Sequence content typ e: The following object identifier identifies the CBOR Sequence content typ e:
</t> </t>
<artwork>
<sourcecode type="asn.1"><![CDATA[
id-ct-cborSequence OBJECT IDENTIFIER ::= { iso(1) member-body(2) id-ct-cborSequence OBJECT IDENTIFIER ::= { iso(1) member-body(2)
usa(840) rsadsi(113549) pkcs(1) pkcs9(9) smime(16) ct(1) usa(840) rsadsi(113549) pkcs(1) pkcs9(9) smime(16) ct(1)
TBD2 } 45 }]]>
</artwork> </sourcecode>
<t> <t>
The CBOR Sequence content type is intended to refer to a sequence of obj ects encoded using the CBOR encoding format. The CBOR Sequence content type is intended to refer to a sequence of obj ects encoded using the CBOR encoding format.
The objects are concatenated without any markers delimiting the individu al CBOR objects. The objects are concatenated without any markers delimiting the individu al CBOR objects.
Nothing is stated about the specific CBOR objects that are included. Nothing is stated about the specific CBOR objects that are included.
CBOR can always be decoded to a tree as the encoding is self descriptive . CBOR can always be decoded to a tree, because the encoding is self descr iptive.
</t> </t>
<t> <t>
The CBOR Sequence content type is intended to be encapsulated in the sig The CBOR Sequence content type is intended to be encapsulated in the
ned data and auth-enveloped data, but can be included in any CMS wrapper. signed data and auth-enveloped data, but it can be included in any CMS
It cannot be predicted if the compressed CMS encapsulation will provide wrapper. It cannot be predicted whether the compressed CMS encapsulation
compression as the content may be binary rather than text. will
provide compression, because the content may be binary rather than text.
</t> </t>
<t> <t>
<xref target="RFC7193"/> defined an optional parameter "innerContent" to <xref target="RFC7193"/> defined an optional parameter, "innerContent",
allow for identification of what the inner content is for an application/cms me to allow for identification of what the inner content is for an application/cms
dia type. media type.
This document defines the string "cborSequence" as a new value that can This document defines the string "cborSequence" as a new value that
be placed here when a CBOR Sequence content type is used. can be placed in this parameter when a CBOR Sequence content type is used
.
</t> </t>
</section> </section>
<section> <section>
<name>ASN.1 Module</name> <name>ASN.1 Module</name>
<artwork>
<sourcecode type="asn.1"><![CDATA[
CborContentTypes { iso(1) member-body(2) usa(840) CborContentTypes { iso(1) member-body(2) usa(840)
rsadsi(113549) pkcs(1) pkcs9(9) smime(16) modules(0) rsadsi(113549) pkcs(1) pkcs9(9) smime(16) modules(0)
id-mod-cbor-2019(TBD3) } id-mod-cbor-2019(71) }
DEFINITIONS EXPLICIT TAGS ::= DEFINITIONS EXPLICIT TAGS ::= BEGIN
BEGIN
IMPORTS
IMPORTS
CONTENT-TYPE CONTENT-TYPE
FROM CryptographicMessageSyntax-2010 FROM CryptographicMessageSyntax-2010
{ iso(1) member-body(2) us(840) rsadsi(113549) { iso(1) member-body(2) us(840) rsadsi(113549)
pkcs(1) pkcs-9(9) smime(16) modules(0) id-mod-cms-2009(58) } pkcs(1) pkcs-9(9) smime(16) modules(0) id-mod-cms-2009(58) }
; ;
id-ct-cbor OBJECT IDENTIFIER ::= { iso(1) member-body(2) id-ct-cbor OBJECT IDENTIFIER ::= { iso(1) member-body(2)
us(840) rsadsi(113549) pkcs(1) pkcs9(9) smime(16) ct(1) us(840) rsadsi(113549) pkcs(1) pkcs9(9) smime(16) ct(1)
TBD1 } 44 }
id-ct-cborSequence OBJECT IDENTIFIER ::= { iso(1) member-body(2) id-ct-cborSequence OBJECT IDENTIFIER ::= { iso(1) member-body(2)
us(840) rsadsi(113549) pkcs(1) pkcs9(9) smime(16) ct(1) us(840) rsadsi(113549) pkcs(1) pkcs9(9) smime(16) ct(1)
TBD2 } 45 }
-- Content is encoded directly and does not have any ASN.1 -- Content is encoded directly and does not have any ASN.1
-- structure -- structure
ct-Cbor CONTENT-TYPE ::= { IDENTIFIED BY id-ct-cbor } ct-Cbor CONTENT-TYPE ::= { IDENTIFIED BY id-ct-cbor }
-- Content is encoded directly and does not have any ASN.1 -- Content is encoded directly and does not have any ASN.1
-- structure -- structure
ct-CborSequence CONTENT-TYPE ::= { ct-CborSequence CONTENT-TYPE ::= {
IDENTIFIED BY id-ct-cborSequence IDENTIFIED BY id-ct-cborSequence
} }
END END]]>
</artwork> </sourcecode>
</section> </section>
<section> <section>
<name>IANA Considerations</name> <name>IANA Considerations</name>
<t> <t>
In the "SMI Security for S/MIME Module Identifier" registry, create a ne IANA has registered the following in the "SMI Security for S/MIME
w entry to point to this document. Module Identifier (1.2.840.113549.1.9.16.0)" subregistry within the
SMI Numbers registry:
</t> </t>
<table> <table>
<thead> <thead>
<tr> <tr>
<td>Decimal</td><td>Description</td><td>References</td> <th>Decimal</th>
<th>Description</th>
<th>References</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr> <tr>
<td>TBD3</td><td>id-mod-cbor-2019</td><td>[[This Document]]</td> <td>71</td><td>id-mod-cbor-2019</td><td>RFC 8769</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<t> <t>
In the "SMI Security for S/MIME Content Types" registry, add two new ent IANA has registered the following in the
ries for id-ct-cbor and id-ct-cborSequence that point to this document. "SMI Security for S/MIME CMS Content Type (1.2.840.113549.1.9.16.1)"
subregistry within the SMI Numbers registry:
</t> </t>
<table> <table>
<thead> <thead>
<tr> <tr>
<td>Decimal</td><td>Description</td><td>References</td> <th>Decimal</th><th>Description</th><th>References</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr> <tr>
<td>TBD1</td><td>id-ct-cbor</td><td>[[This Document]]</td> <td>44</td><td>id-ct-cbor</td><td>RFC 8769</td>
</tr> </tr>
<tr> <tr>
<td>TBD2</td><td>id-ct-cborSequence</td><td>[[This Document]]</td> <td>45</td><td>id-ct-cborSequence</td><td>RFC 8769</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<t> <t>
In the table "CMS Inner Content Types" add two new entries: IANA has registered the following in the "CMS Inner Content Types"
subregistry within the "MIME Media Type Sub-Parameter Registries":
</t> </t>
<table> <table>
<thead> <thead>
<tr> <tr>
<td>Name</td><td>Object Identifier</td><td>Reference</td> <th>Name</th><th>Object Identifier</th><th>Reference</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr> <tr>
<td>cbor</td><td>1.2.840.113549.1.9.16.1.TBD1</td><td>[[This Document] ]</td> <td>cbor</td><td>1.2.840.113549.1.9.16.1.44</td><td>RFC 8769</td>
</tr> </tr>
<tr> <tr>
<td>cborSequence</td><td>1.2.840.113549.1.9.16.1.TBD2</td><td>[[This D ocument]]</td> <td>cborSequence</td><td>1.2.840.113549.1.9.16.1.45</td><td>RFC 8769</ td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
</section> </section>
<section> <section>
<name>Security Considerations</name> <name>Security Considerations</name>
<t> <t>
This document only provides identification for content types, it does no This document only provides identification for content types; it does
t introduce any new security issues by itself. not introduce any new security issues by itself.
The new content types mean that id-data does not need to be used to iden The new content types mean that id-data does not need to be used to
tify these content types and thus can reduce confusion. identify these content types; they can therefore reduce confusion.
</t> </t>
</section> </section>
</middle> </middle>
<back> <back>
<displayreference target="RFC5652" to="CMS"/> <displayreference target="RFC5652" to="CMS"/>
<displayreference target="RFC7049" to="CBOR"/> <displayreference target="RFC7049" to="CBOR"/>
<displayreference target="RFC8152" to="COSE"/> <displayreference target="RFC8152" to="COSE"/>
<displayreference target="I-D.ietf-cbor-sequence" to="CBOR-SEQ"/> <displayreference target="RFC8742" to="CBOR-SEQ"/>
<references> <references>
<name>Normative References</name> <name>Normative References</name>
<?rfc include="reference.RFC.5652.xml" ?> <xi:include
<?rfc include="reference.RFC.7049.xml" ?> href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.56
<?rfc include="reference.RFC.8152.xml" ?> 52.xml"/>
<?rfc include="reference.RFC.7193.xml" ?>
<?rfc include="reference.I-D.ietf-cbor-sequence.xml" ?> <xi:include
</references> href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7049.xm
l"/>
<xi:include
href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8152.xm
l"/>
<xi:include
href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7193.xm
l"/>
<xi:include
href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.87
42.xml"/>
</references>
</back> </back>
</rfc> </rfc>
 End of changes. 38 change blocks. 
86 lines changed or deleted 116 lines changed or added

This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/