CoRE Working Group                                            C. Bormann
Internet-Draft                                   Universitaet Bremen TZI
Intended status: Informational                         December 06, 2012
Expires: June 9, 2013


                         Using CoAP with IPsec
                  draft-bormann-core-ipsec-for-coap-00

Abstract

   CoAP is a RESTful transfer protocol for constrained nodes and
   networks.  Security for the protocol can be supplied in a number of
   ways.  The mandatory-to-implement security mode for CoAP makes use of
   DTLS.  Other applications may want to use IPsec.

   This document will discuss considerations for the use of IPsec with
   CoAP.  It will be advanced on a timescale separate from the main CoAP
   specification, as most experience in securing CoAP so far has been
   made with DTLS.

   The current version of this specification is a placeholder, built out
   of text extracted from draft-ietf-core-coap-12.  It is meant to pick
   up http://trac.tools.ietf.org/wg/core/trac/ticket/262 and provide a
   home for its considerations.  It might be merged with other documents
   later.

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 http://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 June 9, 2013.

Copyright Notice

   Copyright (c) 2012 IETF Trust and the persons identified as the
   document authors.  All rights reserved.



Bormann                   Expires June 9, 2013                  [Page 1]


Internet-Draft            Using CoAP with IPsec            December 2012


   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://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  . . . . . . . . . . . . . . . . . . . . . . . . . 3
   2.  Using CoAP with IPsec . . . . . . . . . . . . . . . . . . . . . 4
   3.  IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5
   4.  Security Considerations . . . . . . . . . . . . . . . . . . . . 6
   5.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . 7
   6.  References  . . . . . . . . . . . . . . . . . . . . . . . . . . 8
     6.1.  Normative References  . . . . . . . . . . . . . . . . . . . 8
     6.2.  Informative References  . . . . . . . . . . . . . . . . . . 8
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . . . 9





























Bormann                   Expires June 9, 2013                  [Page 2]


Internet-Draft            Using CoAP with IPsec            December 2012


1.  Introduction

   (see abstract for now)

   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 RFC 2119, BCP 14
   [RFC2119] and indicate requirement levels for compliant CoAP
   implementations.

   In this document, the term "byte" is used in its now customary sense
   as a synonym for "octet".

   Where bit arithmetic is explained, this document uses the notation
   familiar from the programming language C, except that the operator
   "**" stands for exponentiation.



































Bormann                   Expires June 9, 2013                  [Page 3]


Internet-Draft            Using CoAP with IPsec            December 2012


2.  Using CoAP with IPsec

   One mechanism to secure CoAP [I-D.ietf-core-coap] in constrained
   environments is the IPsec Encapsulating Security Payload (ESP)
   [RFC4303] when CoAP is used without DTLS in NoSec Mode.  Using IPsec
   ESP with the appropriate configuration, it is possible for many
   constrained devices to support encryption with built-in link-layer
   encryption hardware.  For example, some IEEE 802.15.4 radio chips are
   compatible with AES-CBC (with 128-bit keys) [RFC3602] as defined for
   use with IPsec in [RFC4835].  Alternatively, particularly on more
   common IEEE 802.15.4 hardware that supports AES encryption but not
   decryption, and to avoid the need for padding, nodes could directly
   use the more widely supported AES-CCM as defined for use with IPsec
   in [RFC4309], if the security considerations in Section 9 of that
   specification can be fulfilled.

   Necessarily for AES-CCM, but much preferably also for AES-CBC, static
   keying should be avoided and the initial keying material be derived
   into transient session keys, e.g. using a low-overhead mode of IKEv2
   [RFC5996] as described in [I-D.kivinen-ipsecme-ikev2-minimal]; such a
   protocol for managing keys and sequence numbers is also the only way
   to achieve anti-replay capabilities.  However, no recommendation can
   be made at this point on how to manage group keys (i.e., for
   multicast) in a constrained environment.  Once any initial setup is
   completed, IPsec ESP adds a limited overhead of approximately 10
   bytes per packet, not including initialization vectors, integrity
   check values and padding required by the cipher suite.

   When using IPsec to secure CoAP, both authentication and
   confidentiality SHOULD be applied as recommended in [RFC4303].  The
   use of IPsec between CoAP endpoints is transparent to the application
   layer and does not require special consideration for a CoAP
   implementation.

   IPsec may not be appropriate for all environments.  For example,
   IPsec support is not available for many embedded IP stacks and even
   in full PC operating systems or on back-end web servers, application
   developers may not have sufficient access to configure or enable
   IPsec or to add a security gateway to the infrastructure.  Problems
   with firewalls and NATs may furthermore limit the use of IPsec.











Bormann                   Expires June 9, 2013                  [Page 4]


Internet-Draft            Using CoAP with IPsec            December 2012


3.  IANA Considerations

   (none foreseen.)
















































Bormann                   Expires June 9, 2013                  [Page 5]


Internet-Draft            Using CoAP with IPsec            December 2012


4.  Security Considerations

   TBD.
















































Bormann                   Expires June 9, 2013                  [Page 6]


Internet-Draft            Using CoAP with IPsec            December 2012


5.  Acknowledgements

   This text was extracted from draft-ietf-core-coap-12.txt and probably
   mostly was written by Zach Shelby.















































Bormann                   Expires June 9, 2013                  [Page 7]


Internet-Draft            Using CoAP with IPsec            December 2012


6.  References

6.1.  Normative References

   [I-D.ietf-core-coap]
              Shelby, Z., Hartke, K., Bormann, C., and B. Frank,
              "Constrained Application Protocol (CoAP)",
              draft-ietf-core-coap-12 (work in progress), October 2012.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC3602]  Frankel, S., Glenn, R., and S. Kelly, "The AES-CBC Cipher
              Algorithm and Its Use with IPsec", RFC 3602,
              September 2003.

   [RFC4303]  Kent, S., "IP Encapsulating Security Payload (ESP)",
              RFC 4303, December 2005.

   [RFC4309]  Housley, R., "Using Advanced Encryption Standard (AES) CCM
              Mode with IPsec Encapsulating Security Payload (ESP)",
              RFC 4309, December 2005.

   [RFC4835]  Manral, V., "Cryptographic Algorithm Implementation
              Requirements for Encapsulating Security Payload (ESP) and
              Authentication Header (AH)", RFC 4835, April 2007.

   [RFC5996]  Kaufman, C., Hoffman, P., Nir, Y., and P. Eronen,
              "Internet Key Exchange Protocol Version 2 (IKEv2)",
              RFC 5996, September 2010.

6.2.  Informative References

   [I-D.kivinen-ipsecme-ikev2-minimal]
              Kivinen, T., "Minimal IKEv2",
              draft-kivinen-ipsecme-ikev2-minimal-01 (work in progress),
              October 2012.














Bormann                   Expires June 9, 2013                  [Page 8]


Internet-Draft            Using CoAP with IPsec            December 2012


Author's Address

   Carsten Bormann
   Universitaet Bremen TZI
   Postfach 330440
   Bremen  D-28359
   Germany

   Phone: +49-421-218-63921
   Email: cabo@tzi.org









































Bormann                   Expires June 9, 2013                  [Page 9]