[Docs] [txt|pdf|xml|html] [Tracker] [Email] [Diff1] [Diff2] [Nits]
Versions: (draft-selander-ace-eals) 00 01 02
03 04
ACE Working Group G. Selander
Internet-Draft Ericsson AB
Intended status: Standards Track S. Raza
Expires: September 9, 2019 RISE SICS
M. Furuhed
Nexus
M. Vucinic
University of Montenegro
March 08, 2019
Protecting EST payloads with OSCORE
draft-selander-ace-coap-est-oscore-02
Abstract
This document specifies public key certificate enrollment procedures
protected with application-layer security protocols suitable for
Internet of Things (IoT) deployments. The protocols leverage payload
formats defined in Enrolment over Secure Transport (EST) and existing
IoT standards including the Constrained Application Protocol (CoAP),
Concise Binary Object Representation (CBOR) and the CBOR Object
Signing and Encryption (COSE) format.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on September 9, 2019.
Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
Selander, et al. Expires September 9, 2019 [Page 1]
Internet-Draft Protecting EST payloads with OSCORE March 2019
(https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. EST-CoAPs operational differences . . . . . . . . . . . . 3
1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4
2. Protocol Design and Layering . . . . . . . . . . . . . . . . 4
3. Discovery and URI . . . . . . . . . . . . . . . . . . . . . . 5
4. OSCORE-Based Security . . . . . . . . . . . . . . . . . . . . 5
5. Proxying . . . . . . . . . . . . . . . . . . . . . . . . . . 5
6. Security Considerations . . . . . . . . . . . . . . . . . . . 6
7. Privacy Considerations . . . . . . . . . . . . . . . . . . . 6
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6
9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 6
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 6
10.1. Normative References . . . . . . . . . . . . . . . . . . 6
10.2. Informative References . . . . . . . . . . . . . . . . . 7
Appendix A. Examples . . . . . . . . . . . . . . . . . . . . . . 8
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8
1. Introduction
One of the challenges with deploying a Public Key Infrastructure
(PKI) for the Internet of Things (IoT) is certificate enrolment,
because existing enrolment protocols are not optimized for
constrained environments [RFC7228].
One optimization of certificate enrollment targeting IoT deployments
is specified in EST-CoAPs ([I-D.ietf-ace-coap-est]), which defines a
version of Enrolment over Secure Transport [RFC7030] for transporting
EST payloads over CoAP [RFC7252] and DTLS [RFC6347], instead of
secured HTTP.
This document describes a method for protecting EST payloads over
CoAP or HTTP with OSCORE [I-D.ietf-core-object-security]. OSCORE
specifies an extension to CoAP which protects the application layer
message and can be applied independently of how CoAP messages are
transported. OSCORE can also be applied to CoAP-mappable HTTP which
enables end-to-end security for mixed CoAP and HTTP transfer of
application layer data. Hence EST payloads can be protected end-to-
Selander, et al. Expires September 9, 2019 [Page 2]
Internet-Draft Protecting EST payloads with OSCORE March 2019
end independent of underlying transport and through proxies
translating between between CoAP and HTTP.
OSCORE is designed for constrained environments, building on IoT
standards such as CoAP, CBOR [RFC7049] and COSE [RFC8152], and has in
particular gained traction in settings where message sizes and the
number of exchanged messages needs to be kept at a minimum, see e.g.
[I-D.ietf-6tisch-minimal-security], or for securing multicast CoAP
messages [I-D.ietf-core-oscore-groupcomm]. Where OSCORE is
implemented and used for communication security, the reuse of OSCORE
for other purposes, such as enrolment, reduces the implementation
footprint.
In order to protect certificate enrolment with OSCORE, the necessary
keying material (notably, the OSCORE Master Secret, see
[I-D.ietf-core-object-security]) needs to be established between CoAP
client and server, e.g. using a key exchange protocol; a trusted
third party; or pre-established keys. Different options are allowed
and with different properties as is indicated in the next section.
Yet other optimizations to certificate based enrolment are possible
further improve the performance of certificate enrolment and
certificate based authentication, in particular the use of more
compact representations of X.509 certificates such as
[I-D.raza-ace-cbor-certificates].
1.1. EST-CoAPs operational differences
This specification builds on EST-CoAPs [I-D.ietf-ace-coap-est] but
transport layer security provided by DTLS is replaced, or
complemented, by protection of the application layer data. This
specification deviates from EST-CoAPs in the following respects:
o The DTLS record layer is replaced, or complemented, with OSCORE.
o The DTLS handshake is replaced, or complemented, with an
alternative key establishment, for example:
* A key exchange protocol, such as EDHOC
[I-D.selander-ace-cose-ecdhe]. The use of a key exchange
protocol completes the analogy with EST-CoAPs, and provides
perfect forward secrecy (PFS) of the keys used to protect the
EST messages. However, PFS is not necessary for the enrolment
procedure and adds significant overhead in terms of message
size and round trips.
* Trusted third party (TTP) based provisioning, such as the
OSCORE profile of ACE [I-D.ietf-ace-oscore-profile]. This
Selander, et al. Expires September 9, 2019 [Page 3]
Internet-Draft Protecting EST payloads with OSCORE March 2019
assumes existing security associations between the client and
the TTP, and between the server and the TTP, and reduces the
message size and round trips compared to a key exchange
protocol.
* Pre-shared keys (PSK). Although one reason for using a PKI is
to avoid managing PSK, applying OSCORE directly with PSK
specifically during deployment gives a one round-trip enrolment
protocol with low message overhead, thereby further reducing
the network load and time for commissioning.
o EST payloads protected by OSCORE can be proxied between
constrained networks supporting CoAP/CoAPs and non-constrained
networks supporting HTTP/HTTPs with a CoAP-HTTP proxy protection
without any security processing in the proxy.
1.2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119]. These
words may also appear in this document in lowercase, absent their
normative meanings.
This document uses terminology from [I-D.ietf-ace-coap-est] which in
turn is based on [RFC7030] and, in turn, on [RFC5272].
2. Protocol Design and Layering
EST-oscore uses CoAP [RFC7252] and Block-Wise [RFC7959] to transfer
EST messages in the same way as [I-D.ietf-ace-coap-est]. Figure 1
below shows the layered EST-oscore architecture.
+------------------------------------------------+
| EST request/response messages |
+------------------------------------------------+
| CoAP with OSCORE | HTTP with OSCORE |
+------------------------------------------------+
| UDP | DTLS/UDP | TLS/TCP |
+------------------------------------------------+
Figure 1: EST protected with OSCORE.
EST-oscore follows closely the EST-coaps and EST design. The message
types for simple enroll, reenroll, CA certificate retrieval, CSR
Attributes request messages and server-side key generation messages
apply. Section references in this paragraph refer to EST-coaps
Selander, et al. Expires September 9, 2019 [Page 4]
Internet-Draft Protecting EST payloads with OSCORE March 2019
([I-D.ietf-ace-coap-est]): The payload format, message bindings, CoAP
response codes, message fragmentation based on Blockwise, and the
delayed responses specified in Section 5 apply.
3. Discovery and URI
The discovery of EST resources defined in Section 5.1 of
[I-D.ietf-ace-coap-est], as well as the new Resource Type defined in
Section 9.1 of [I-D.ietf-ace-coap-est] apply to EST-oscore. Support
for OSCORE is indicated by the "osc" attribute defined in Section 9
of [I-D.ietf-core-object-security], for example:
REQ: GET /.well-known/core?rt=ace.est.sen
RES: 2.05 Content
</est>; rt="ace.est";osc
The short EST-coaps URI paths defined in Section 5.1 of
[I-D.ietf-ace-coap-est] also apply.
4. OSCORE-Based Security
EST-oscore depends on the application layer security provided by
OSCORE for protecting CoAP and CoAP-mappable HTTP independent of
transport. The establishment of keys for OSCORE defines many of the
properties of the protocol.
If a key exchange protocols is used, fragmentation of the protocol
messages needs to be handled. EDHOC [I-D.selander-ace-cose-ecdhe]
may be carried in CoAP in which case Block fragmentation can be used.
5. Proxying
As is noted Section 6 of [I-D.ietf-ace-coap-est], in real-world
deployments, the EST server will not always reside within the CoAP
boundary. The EST-server can exist outside the constrained network
in a non-constrained network that does not support CoAP but HTTP,
thus requiring an intermediary CoAP-to-HTTP proxy.
Since OSCORE is applicable to CoAP-mappable HTTP the EST payloads can
be protected end-to-end between EST client and EST server independent
of transport protocol or potential transport layer security which may
need to be terminated in the proxy, see Figure Figure 2. The signed
certification request SHOULD be bound to the OSCORE security context
using a derived secret analogously to the use of tls-unique as
described in Section 3.5 of [RFC7030]. The mappings between CoAP and
HTTP referred to in Section 6 of [I-D.ietf-ace-coap-est] applies and
Selander, et al. Expires September 9, 2019 [Page 5]
Internet-Draft Protecting EST payloads with OSCORE March 2019
the additional mappings resulting from the use of OSCORE are
specified in Section 11 of [I-D.ietf-core-object-security].
OSCORE provides security end-to-end between EST Server and EST
Client. The use of TLS and DTLS is optional.
Constrained-Node Network
.---------. .----------------------------.
| CA | |.--------------------------.|
'---------' || ||
| || ||
.------. HTTP .-----------------. CoAP .-----------. ||
| EST |<------->| CoAP-to-HTTP |<-------->| EST Client| ||
|Server| (TLS) | Proxy | (DTLS) '-----------' ||
'------' '-----------------' ||
|| ||
<------------------------------------------------> ||
OSCORE || ||
|'--------------------------'|
'----------------------------'
Figure 2: CoAP-to-HTTP proxy at the CoAP boundary.
6. Security Considerations
TBD
7. Privacy Considerations
TBD
8. IANA Considerations
9. Acknowledgments
10. References
10.1. Normative References
[I-D.ietf-ace-coap-est]
Stok, P., Kampanakis, P., Richardson, M., and S. Raza,
"EST over secure CoAP (EST-coaps)", draft-ietf-ace-coap-
est-09 (work in progress), February 2019.
Selander, et al. Expires September 9, 2019 [Page 6]
Internet-Draft Protecting EST payloads with OSCORE March 2019
[I-D.ietf-core-object-security]
Selander, G., Mattsson, J., Palombini, F., and L. Seitz,
"Object Security for Constrained RESTful Environments
(OSCORE)", draft-ietf-core-object-security-15 (work in
progress), August 2018.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC7049] Bormann, C. and P. Hoffman, "Concise Binary Object
Representation (CBOR)", RFC 7049, DOI 10.17487/RFC7049,
October 2013, <https://www.rfc-editor.org/info/rfc7049>.
[RFC7252] Shelby, Z., Hartke, K., and C. Bormann, "The Constrained
Application Protocol (CoAP)", RFC 7252,
DOI 10.17487/RFC7252, June 2014,
<https://www.rfc-editor.org/info/rfc7252>.
[RFC7959] Bormann, C. and Z. Shelby, Ed., "Block-Wise Transfers in
the Constrained Application Protocol (CoAP)", RFC 7959,
DOI 10.17487/RFC7959, August 2016,
<https://www.rfc-editor.org/info/rfc7959>.
[RFC8152] Schaad, J., "CBOR Object Signing and Encryption (COSE)",
RFC 8152, DOI 10.17487/RFC8152, July 2017,
<https://www.rfc-editor.org/info/rfc8152>.
10.2. Informative References
[I-D.ietf-6tisch-minimal-security]
Vucinic, M., Simon, J., Pister, K., and M. Richardson,
"Minimal Security Framework for 6TiSCH", draft-ietf-
6tisch-minimal-security-09 (work in progress), November
2018.
[I-D.ietf-ace-oscore-profile]
Palombini, F., Seitz, L., Selander, G., and M. Gunnarsson,
"OSCORE profile of the Authentication and Authorization
for Constrained Environments Framework", draft-ietf-ace-
oscore-profile-07 (work in progress), February 2019.
[I-D.ietf-core-oscore-groupcomm]
Tiloca, M., Selander, G., Palombini, F., and J. Park,
"Group OSCORE - Secure Group Communication for CoAP",
draft-ietf-core-oscore-groupcomm-03 (work in progress),
October 2018.
Selander, et al. Expires September 9, 2019 [Page 7]
Internet-Draft Protecting EST payloads with OSCORE March 2019
[I-D.raza-ace-cbor-certificates]
Raza, S., Hoglund, J., Selander, G., and J. Mattsson,
"CBOR Profile of X.509 Certificates", draft-raza-ace-cbor-
certificates-00 (work in progress), October 2018.
[I-D.selander-ace-cose-ecdhe]
Selander, G., Mattsson, J., and F. Palombini, "Ephemeral
Diffie-Hellman Over COSE (EDHOC)", draft-selander-ace-
cose-ecdhe-12 (work in progress), February 2019.
[RFC5272] Schaad, J. and M. Myers, "Certificate Management over CMS
(CMC)", RFC 5272, DOI 10.17487/RFC5272, June 2008,
<https://www.rfc-editor.org/info/rfc5272>.
[RFC6347] Rescorla, E. and N. Modadugu, "Datagram Transport Layer
Security Version 1.2", RFC 6347, DOI 10.17487/RFC6347,
January 2012, <https://www.rfc-editor.org/info/rfc6347>.
[RFC7030] Pritikin, M., Ed., Yee, P., Ed., and D. Harkins, Ed.,
"Enrollment over Secure Transport", RFC 7030,
DOI 10.17487/RFC7030, October 2013,
<https://www.rfc-editor.org/info/rfc7030>.
[RFC7228] Bormann, C., Ersue, M., and A. Keranen, "Terminology for
Constrained-Node Networks", RFC 7228,
DOI 10.17487/RFC7228, May 2014,
<https://www.rfc-editor.org/info/rfc7228>.
Appendix A. Examples
TBD
Authors' Addresses
Goeran Selander
Ericsson AB
Email: goran.selander@ericsson.com
Shahid Raza
RISE SICS
Email: shahid.raza@ri.se
Selander, et al. Expires September 9, 2019 [Page 8]
Internet-Draft Protecting EST payloads with OSCORE March 2019
Martin Furuhed
Nexus
Email: martin.furuhed@nexusgroup.com
Malisa Vucinic
University of Montenegro
Email: malisav@ac.me
Selander, et al. Expires September 9, 2019 [Page 9]
Html markup produced by rfcmarkup 1.129d, available from
https://tools.ietf.org/tools/rfcmarkup/