Network Working Group                                           P. Jones
Internet-Draft                                             Cisco Systems
Intended status: Standards Track                             N. Ohlmeier
Expires: September 14, 2017                                      Mozilla
                                                          March 13, 2017


        Transporting the SDP attribute 'dtls-id' in TLS and DTLS
                      draft-jones-perc-dtls-id-00

Abstract

   This draft defines a new extension to carry the "dtls-id" value
   defined for use in the Session Description Protocol within TLS and
   DTLS.

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 September 14, 2017.

Copyright Notice

   Copyright (c) 2017 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.




Jones & Ohlmeier       Expires September 14, 2017               [Page 1]


Internet-Draft           dtls-id in TLS and DTLS              March 2017


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Conventions Used In This Document . . . . . . . . . . . . . .   2
   3.  Endpoint procedures . . . . . . . . . . . . . . . . . . . . .   3
   4.  Media distributor procedures  . . . . . . . . . . . . . . . .   3
   5.  Key distributor procedures  . . . . . . . . . . . . . . . . .   3
   6.  The dtls_id TLS extension . . . . . . . . . . . . . . . . . .   4
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   4
   8.  Security Considerations . . . . . . . . . . . . . . . . . . .   4
   9.  Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .   5
   10. Normative References  . . . . . . . . . . . . . . . . . . . .   5
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   6

1.  Introduction

   The Privacy-Enhanced RTP Conferencing (PERC) working group specified
   a DTLS [RFC6347] tunneling mechanism [I-D.ietf-perc-dtls-tunnel] that
   enables a media distributor to forward DTLS messages between an
   endpoint and a key distributor.  In the process, the media
   distributor is able to securely receive only the hop-by-hop keying
   material, while the endpoints are able to securely receive both end-
   to-end and hob-by-hop keying material.

   An open issue with the current design is how the key distributor can
   determine which one of several conferences an endpoint is attempting
   to join.  The only information that the key distributor receives via
   the DTLS tunnel is the endpoint's certificate.  However, the same
   certificate might be used to join several conferences in parallel,
   thus creating a need for additional information.

   [I-D.ietf-mmusic-dtls-sdp] defines an attribute in SDP [RFC4566]
   called the "dlts-id".  The "dtls-id" presented by the endpoint's in
   SDP will be unique for each DTLS association established using the
   same certificate.  By signaling the certificate fingerprint and
   "dtls-id" in SDP, along with including the same in the DTLS signaling
   sent to the key distributor, it would be possible for the key
   distributor to unambiguously determine which conference key the
   endpoint should receive.

2.  Conventions Used In This Document

   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] when they
   appear in ALL CAPS.  These words may also appear in this document in
   lower case as plain English words, absent their normative meanings.




Jones & Ohlmeier       Expires September 14, 2017               [Page 2]


Internet-Draft           dtls-id in TLS and DTLS              March 2017


   The terms key distributor, media distributor, endpoint, conference,
   hop-by-hop keying material, and end-to-end keying material used in
   this document are introduced in
   [I-D.ietf-perc-private-media-framework].

3.  Endpoint procedures

   The endpoint MUST include the "dtls_id" DTLS extension in the
   "ClientHello" message when establishing a DTLS tunnel in a PERC
   conference.  Likewise, the "dtls-id" SDP attribute MUST be included
   in SDP sent by the endpoint in both the offer and answer [RFC3264]
   messages as per [I-D.ietf-mmusic-dtls-sdp].

   When receiving a "dtls_id" value from the key distributor, the client
   MUST check to ensure that value matches the "dtls-id" value received
   in SDP.  If the values do not match, the endpoint MUST consider any
   received keying material to be invalid and terminate the DTLS
   association.

4.  Media distributor procedures

   The media distributor is not required to inspect the "dtls_id"
   extension, as it merely forwards DTLS messages between the endpoint
   and the key distributor.

5.  Key distributor procedures

   This draft assumes that when the endpoint inserts the "dtls-id" into
   SDP, the information will be conveyed in some way to the key
   distributor.  The process through which the "dtls-id" in SDP is
   conveyed to the key distributor is outside the scope of this
   document.

   The key distributor MUST extract the "dtls_id" value transmitted in
   the "ClientHello" message and match that against "dtls-id" value the
   endpoint transmitted via SDP.  If the values in SDP and the
   "ClientHello" do not match, the DTLS association MUST be rejected.

   The key distributor MUST correlate the certificate fingerprint and
   "dtls_id" received from endpoint's "ClientHello" message with the
   corresponding values received from the SDP transmitted by the
   endpoint.  It is through this correlation that the key distributor
   can be sure to deliver the correct conference key to the endpoint.

   When sending the "ServerHello" message, the key distributor MUST
   insert its own "dtls-id" value.  This value MUST also be conveyed
   back to the client via SDP.




Jones & Ohlmeier       Expires September 14, 2017               [Page 3]


Internet-Draft           dtls-id in TLS and DTLS              March 2017


6.  The dtls_id TLS extension

   The "dtls_id" TLS extension may be used either with TLS [RFC5246] or
   DTLS.  It carries only "dtls-id" value defined in
   [I-D.ietf-mmusic-dtls-sdp] in the field called "dtls_id".  The syntax
   for the "dtls_id" extension is shown below.

                         struct {
                             opaque dtls_id<20..255>;
                         } SdpDtlsIdData;

7.  IANA Considerations

   This document registers an extension in the TLS "ExtensionType
   Values" registry established in [RFC5246].  The extension is called
   "dtls_id" and is assigned the code point TBD.  The following addition
   is made to the registry.

       +-----------+-------------+-----------+---------------------+
       | Extension | Recommended |  TLS 1.3  | HelloRetryRequested |
       +-----------+-------------+-----------+---------------------+
       |  dlts_id  |     Yes     | Encrypted |         Yes         |
       +-----------+-------------+-----------+---------------------+

8.  Security Considerations

   The "dtls-id" value is a random value that has no personal
   identifiable information associated with it.  Thus, the value does
   not expose such information.  It also has no particular security
   properties in and of itself, so being in plaintext in the
   "ClientHello" or "ServerHello" is not viewed as a security concern.

   However, the value does have significance to the receiver, thus
   changes to the "dtls-id" may result in unexpected behavior.  For
   example, if Alice attempts to join a PERC-enabled conference and the
   "dtls_id" field is modified in route to the key distributor, Alice
   may either fail to receive the conference key or receive the wrong
   conference key.  However, since Alice will only be provided keys for
   conferences for which she is authorized to join based on her client
   certificate, receiving the wrong key will not compromise the security
   of the conference.  However, receipt of the wrong key will deny Alice
   access to the plaintext of media transmitted by other participants.
   Additionally, if Alice transmits media using the wrong conference
   key, the media will be undecipherable by other conference
   participants.

   As prescribed in these procedures, if the "dtls_id" field transmitted
   from the key distributor to Alice is modified, Alice will tear down



Jones & Ohlmeier       Expires September 14, 2017               [Page 4]


Internet-Draft           dtls-id in TLS and DTLS              March 2017


   the DTLS association and fail to join the conference.  The result is
   a denial of service for Alice, but not worse than when any other part
   of the DTLS message is modified.

9.  Acknowledgments

   The authors would like to thank Martin Thomson for discussing the
   idea and providing some initial feedback before the draft was
   written.  We also want to express our appreciation to Cullen Jennings
   for reviewing the text and providing constructive input.

10.  Normative References

   [I-D.ietf-mmusic-dtls-sdp]
              Holmberg, C. and R. Shpount, "Using the SDP Offer/Answer
              Mechanism for DTLS", draft-ietf-mmusic-dtls-sdp-20 (work
              in progress), February 2017.

   [I-D.ietf-perc-dtls-tunnel]
              Jones, P., Ellenbogen, P., and N. Ohlmeier, "DTLS Tunnel
              between a Media Distributor and Key Distributor to
              Facilitate Key Exchange", draft-ietf-perc-dtls-tunnel-00
              (work in progress), March 2017.

   [I-D.ietf-perc-private-media-framework]
              Jones, P., Benham, D., and C. Groves, "A Solution
              Framework for Private Media in Privacy Enhanced RTP
              Conferencing", draft-ietf-perc-private-media-framework-02
              (work in progress), October 2016.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/
              RFC2119, March 1997,
              <http://www.rfc-editor.org/info/rfc2119>.

   [RFC3264]  Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model
              with Session Description Protocol (SDP)", RFC 3264, DOI
              10.17487/RFC3264, June 2002,
              <http://www.rfc-editor.org/info/rfc3264>.

   [RFC4566]  Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
              Description Protocol", RFC 4566, DOI 10.17487/RFC4566,
              July 2006, <http://www.rfc-editor.org/info/rfc4566>.

   [RFC5246]  Dierks, T. and E. Rescorla, "The Transport Layer Security
              (TLS) Protocol Version 1.2", RFC 5246, DOI 10.17487/
              RFC5246, August 2008,
              <http://www.rfc-editor.org/info/rfc5246>.



Jones & Ohlmeier       Expires September 14, 2017               [Page 5]


Internet-Draft           dtls-id in TLS and DTLS              March 2017


   [RFC6347]  Rescorla, E. and N. Modadugu, "Datagram Transport Layer
              Security Version 1.2", RFC 6347, DOI 10.17487/RFC6347,
              January 2012, <http://www.rfc-editor.org/info/rfc6347>.

Authors' Addresses

   Paul E. Jones
   Cisco Systems, Inc.
   7025 Kit Creek Rd.
   Research Triangle Park, North Carolina  27709
   USA

   Phone: +1 919 476 2048
   Email: paulej@packetizer.com


   Nils H. Ohlmeier
   Mozilla

   Phone: +1 408 659 6457
   Email: nils@ohlmeier.org






























Jones & Ohlmeier       Expires September 14, 2017               [Page 6]