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 (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

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-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:

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 ([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 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)", Internet-Draft draft-ietf-ace-coap-est-10, March 2019.
[I-D.ietf-core-object-security] Selander, G., Mattsson, J., Palombini, F. and L. Seitz, "Object Security for Constrained RESTful Environments (OSCORE)", Internet-Draft draft-ietf-core-object-security-16, March 2019.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997.
[RFC7049] Bormann, C. and P. Hoffman, "Concise Binary Object Representation (CBOR)", RFC 7049, DOI 10.17487/RFC7049, October 2013.
[RFC7252] Shelby, Z., Hartke, K. and C. Bormann, "The Constrained Application Protocol (CoAP)", RFC 7252, DOI 10.17487/RFC7252, June 2014.
[RFC7959] Bormann, C. and Z. Shelby, "Block-Wise Transfers in the Constrained Application Protocol (CoAP)", RFC 7959, DOI 10.17487/RFC7959, August 2016.
[RFC8152] Schaad, J., "CBOR Object Signing and Encryption (COSE)", RFC 8152, DOI 10.17487/RFC8152, July 2017.

10.2. Informative References

[I-D.ietf-6tisch-minimal-security] Vucinic, M., Simon, J., Pister, K. and M. Richardson, "Minimal Security Framework for 6TiSCH", Internet-Draft draft-ietf-6tisch-minimal-security-09, 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", Internet-Draft draft-ietf-ace-oscore-profile-07, February 2019.
[I-D.ietf-core-oscore-groupcomm] Tiloca, M., Selander, G., Palombini, F. and J. Park, "Group OSCORE - Secure Group Communication for CoAP", Internet-Draft draft-ietf-core-oscore-groupcomm-03, October 2018.
[I-D.raza-ace-cbor-certificates] Raza, S., Hoglund, J., Selander, G. and J. Mattsson, "CBOR Profile of X.509 Certificates", Internet-Draft draft-raza-ace-cbor-certificates-00, October 2018.
[I-D.selander-ace-cose-ecdhe] Selander, G., Mattsson, J. and F. Palombini, "Ephemeral Diffie-Hellman Over COSE (EDHOC)", Internet-Draft draft-selander-ace-cose-ecdhe-12, February 2019.
[RFC5272] Schaad, J. and M. Myers, "Certificate Management over CMS (CMC)", RFC 5272, DOI 10.17487/RFC5272, June 2008.
[RFC6347] Rescorla, E. and N. Modadugu, "Datagram Transport Layer Security Version 1.2", RFC 6347, DOI 10.17487/RFC6347, January 2012.
[RFC7030] Pritikin, M., Yee, P. and D. Harkins, "Enrollment over Secure Transport", RFC 7030, DOI 10.17487/RFC7030, October 2013.
[RFC7228] Bormann, C., Ersue, M. and A. Keranen, "Terminology for Constrained-Node Networks", RFC 7228, DOI 10.17487/RFC7228, May 2014.

Appendix A. Examples

TBD

Authors' Addresses

Goeran Selander Ericsson AB EMail: goran.selander@ericsson.com
Shahid Raza RISE SICS EMail: shahid.raza@ri.se
Martin Furuhed Nexus EMail: martin.furuhed@nexusgroup.com
Malisa Vucinic University of Montenegro EMail: malisav@ac.me