Using Raw Public Keys in Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)
RFC 7250

 
Document Type RFC - Proposed Standard (June 2014; No errata)
Last updated 2014-06-26
Replaces draft-wouters-tls-oob-pubkey
Stream IETF
Formats plain text pdf html
Stream WG state WG Document
Consensus Yes
Document shepherd J. Salowey
Shepherd write-up Show (last changed 2013-11-05)
IESG IESG state RFC 7250 (Proposed Standard)
Telechat date
Responsible AD Sean Turner
IESG note Joe Salowey (jsalowey@cisco.com) is the Document Shepherd
Send notices to tls-chairs@ietf.org, draft-ietf-tls-oob-pubkey@ietf.org
IANA IANA review state Version Changed - Review Needed
IANA action state RFC-Ed-Ack

Email authors IPR References Referenced by Nits Search lists

Internet Engineering Task Force (IETF)                   P. Wouters, Ed.
Request for Comments: 7250                                       Red Hat
Category: Standards Track                             H. Tschofenig, Ed.
ISSN: 2070-1721                                                 ARM Ltd.
                                                              J. Gilmore
                                          Electronic Frontier Foundation
                                                               S. Weiler
                                                                 Parsons
                                                              T. Kivinen
                                                           INSIDE Secure
                                                               June 2014

        Using Raw Public Keys in Transport Layer Security (TLS)
              and Datagram Transport Layer Security (DTLS)

Abstract

   This document specifies a new certificate type and two TLS extensions
   for exchanging raw public keys in Transport Layer Security (TLS) and
   Datagram Transport Layer Security (DTLS).  The new certificate type
   allows raw public keys to be used for authentication.

Status of This Memo

   This is an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in Section 2 of RFC 5741.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   http://www.rfc-editor.org/info/rfc7250.

Wouters, et al.              Standards Track                    [Page 1]
RFC 7250            Using Raw Public Keys in TLS/DTLS          June 2014

Copyright Notice

   Copyright (c) 2014 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
   (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.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   4
   3.  Structure of the Raw Public Key Extension . . . . . . . . . .   4
   4.  TLS Client and Server Handshake Behavior  . . . . . . . . . .   7
     4.1.  Client Hello  . . . . . . . . . . . . . . . . . . . . . .   7
     4.2.  Server Hello  . . . . . . . . . . . . . . . . . . . . . .   8
     4.3.  Client Authentication . . . . . . . . . . . . . . . . . .   9
     4.4.  Server Authentication . . . . . . . . . . . . . . . . . .   9
   5.  Examples  . . . . . . . . . . . . . . . . . . . . . . . . . .  10
     5.1.  TLS Server Uses a Raw Public Key  . . . . . . . . . . . .  10
     5.2.  TLS Client and Server Use Raw Public Keys . . . . . . . .  11
     5.3.  Combined Usage of Raw Public Keys and X.509 Certificates   12
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .  13
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  14
   8.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  14
   9.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  15
     9.1.  Normative References  . . . . . . . . . . . . . . . . . .  15
     9.2.  Informative References  . . . . . . . . . . . . . . . . .  15
   Appendix A.  Example Encoding . . . . . . . . . . . . . . . . . .  17

Wouters, et al.              Standards Track                    [Page 2]
RFC 7250            Using Raw Public Keys in TLS/DTLS          June 2014

1.  Introduction

   Traditionally, TLS client and server public keys are obtained in PKIX
   containers in-band as part of the TLS handshake procedure and are
   validated using trust anchors based on a [PKIX] certification
   authority (CA).  This method can add a complicated trust relationship
   that is difficult to validate.  Examples of such complexity can be
   seen in [Defeating-SSL].  TLS is, however, also commonly used with
   self-signed certificates in smaller deployments where the self-signed
   certificates are distributed to all involved protocol endpoints out-
Show full document text