Application-Layer Protocol Negotiation (ALPN) Labels for Session Traversal Utilities for NAT (STUN) Usages
RFC 7443

Document Type RFC - Informational (January 2015; No errata)
Last updated 2015-10-14
Stream IETF
Formats plain text pdf html bibtex
Reviews
Stream WG state Submitted to IESG for Publication
Document shepherd Simon Perreault
Shepherd write-up Show (last changed 2014-10-07)
IESG IESG state RFC 7443 (Informational)
Consensus Boilerplate Yes
Telechat date
Responsible AD Spencer Dawkins
Send notices to (None)
IANA IANA review state Version Changed - Review Needed
IANA action state RFC-Ed-Ack
Internet Engineering Task Force (IETF)                          P. Patil
Request for Comments: 7443                                      T. Reddy
Category: Informational                                     G. Salgueiro
ISSN: 2070-1721                                                    Cisco
                                                       M. Petit-Huguenin
                                                      Impedance Mismatch
                                                            January 2015

          Application-Layer Protocol Negotiation (ALPN) Labels
         for Session Traversal Utilities for NAT (STUN) Usages

Abstract

   Application-Layer Protocol Negotiation (ALPN) labels for Session
   Traversal Utilities for NAT (STUN) usages, such as Traversal Using
   Relays around NAT (TURN) and NAT discovery, are defined in this
   document to allow an application layer to negotiate STUN usages
   within the Transport Layer Security (TLS) connection.  ALPN protocol
   identifiers defined in this document apply to both TLS and Datagram
   Transport Layer Security (DTLS).

Status of This Memo

   This document is not an Internet Standards Track specification; it is
   published for informational purposes.

   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).  Not all documents
   approved by the IESG are a candidate for any level of Internet
   Standard; see 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/rfc7443.

Patil, et al.                 Informational                     [Page 1]
RFC 7443                   ALPN for STUN/TURN               January 2015

Copyright Notice

   Copyright (c) 2015 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  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   3
   3.  Security Considerations . . . . . . . . . . . . . . . . . . .   3
   4.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   4
     4.1.  Normative References  . . . . . . . . . . . . . . . . . .   4
     4.2.  Informative References  . . . . . . . . . . . . . . . . .   4
   Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . .   4
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   5

1.  Introduction

   STUN can be securely transported using TLS-over-TCP (referred to as
   TLS [RFC5246]), as specified in [RFC5389], or TLS-over-UDP (referred
   to as DTLS [RFC6347]), as specified in [RFC7350].

   ALPN [RFC7301] enables an endpoint to positively identify an
   application protocol in TLS/DTLS and distinguish it from other TLS/
   DTLS protocols.  With ALPN, the client sends the list of supported
   application protocols as part of the TLS/DTLS ClientHello message.
   The server chooses a protocol and sends the selected protocol as part
   of the TLS/DTLS ServerHello message.  Application protocol
   negotiation can thus be accomplished within the TLS/DTLS handshake,
   without adding network round-trips.

   STUN protocol usages, such as TURN [RFC5766], can be used to identify
   the purpose of a flow without initiating a session.

   This document proposes the following ALPN labels to identify STUN
   protocol [RFC5389] usages.

Patil, et al.                 Informational                     [Page 2]
RFC 7443                   ALPN for STUN/TURN               January 2015

   'stun.turn':  Label to identify the specific use of STUN over (D)TLS
      for TURN (Section 4.6 of [RFC7350]).

   'stun.nat-discovery':  Label to identify the specific use of STUN
      over (D)TLS for NAT discovery (Section 4.1 of [RFC7350]).

2.  IANA Considerations

   The following entries have been added to the "Application-Layer
   Protocol Negotiation (ALPN) Protocol IDs" registry established by
   [RFC7301].

   The "stun.turn" label identifies the use of TURN usage (D)TLS:

      Protocol: Traversal Using Relays around NAT (TURN)

      Identification Sequence: 0x73 0x74 0x75 0x6E 0x2E 0x74 0x75 0x72
      0x6E ("stun.turn")
Show full document text