One document matched: draft-jennings-sip-dtls-05.xml


<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc toc="no"?>
<?rfc symrefs="no"?>
<?rfc iprnotified="no" ?>
<?rfc strict="yes" ?>
<?rfc compact="yes" ?>
<?rfc sortrefs="no" ?>
<rfc category="std" docName="draft-jennings-sip-dtls-05" ipr="full3978">
  <front>
    <title abbrev="SIP over DTLS">Session Initiation Protocol (SIP) over
    Datagram Transport Layer Security (DTLS)</title>

    <author fullname="Cullen Jennings" initials="C." surname="Jennings">
      <organization>Cisco Systems</organization>

      <address>
        <postal>
          <street>170 West Tasman Drive</street>

          <street>MS: SJC-21/2</street>

          <city>San Jose</city>

          <region>CA</region>

          <code>95134</code>

          <country>USA</country>
        </postal>

        <phone>+1 408 902-3341</phone>

        <email>fluffy@cisco.com</email>
      </address>
    </author>

    <author fullname="Nagendra Modadugu" initials="N." surname="Modadugu">
      <organization>Google, Inc.</organization>

      <address>
        <postal>
          <street>1600 Ampitheatre Parkway</street>

          <city>Muntain View</city>

          <region>CA</region>

          <code>94043</code>

          <country>USA</country>
        </postal>

        <email>ngm@google.com</email>
      </address>
    </author>

    <date day="10" month="October" year="2007" />

    <abstract>
      <t>This specification defines how to use Datagram Transport Layer
      Security (DTLS) as a transport for Session Initiation Protocol (SIP).
      DTLS is a protocol for providing Transport Layer Security (TLS) security
      over a datagram protocol. This specification also specifies the IANA
      registrations for using SIP with Datagram Congestion Control Protocol
      (DCCP). DTLS can be used with either UDP or the Datagram Congestion
      Control Protocol (DCCP). To accommodate this, this specification also
      defines how to use SIP directly over DCCP. </t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <t>Datagram Transport Layer Security <xref
      target="RFC4347">(DTLS)</xref> provides communication privacy similar to
      <xref target="RFC4346">TLS</xref> for datagram packets. SIP can run over
      both stream and datagram transports, including UDP and TCP. SIP <xref
      target="RFC3261"></xref> already defines how to use TLS with stream
      oriented transports. This specification extends SIP to use DTLS with
      datagram oriented transports. Since DTLS can be used with either UDP or
      the Datagram Congestion Control Protocol (DCCP) as the underlying
      transport this specification also defines the usage of SIP directly over
      DCCP.</t>
    </section>

    <section title="Terminology">
      <t>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 <xref
      target="RFC2119">RFC 2119</xref>.</t>
    </section>

    <section title="VIA Codes">
      <t>Via header fields in SIP carry a transport protocol identifier. This
      specification extends RFC 3261 to define the value "DTLS-UDP" for DTLS
      over UDP<xref target="RFC4347"></xref> and "DTLS-DCCP" for DTLS over
      DCCP<xref target="I-D.ietf-dccp-dtls"></xref> and "DCCP" for directly
      over DCCP<xref target="RFC4340"></xref>. The update to the ABNF<xref
      target="RFC4234"></xref> in RFC 3261 for this parameter is the
      following:</t>

      <figure>
        <artwork><![CDATA[transport         =/ "DCCP" / "DTLS-DCCP" / "DTLS-UDP"
]]></artwork>
      </figure>

      <t>The following is an example Via header field:</t>

      <figure>
        <artwork><![CDATA[Via: SIP/2.0/DTLS-UDP atlanta.example.com:5060
]]></artwork>
      </figure>
    </section>

    <section title="DTLS and DCCP Usage">
      <t>The normal rules for sending a request over UDP in RFC 3261 apply to
      sending over DTLS and directly over DCCP. Note that the congestion
      safety rules for UDP do not apply to DTLS over DCCP and DCCP. In
      addition, the normal rules for validating a TLS connection in RFC 3261
      apply to DTLS connections. Requests with a SIPS URI can be sent over
      DTLS as well as TLS.</t>

      <t>Note that DCCP performs Path Maximum Transfer Unit (PMTU) discovery.
      Implementations of SIP over DTLS over DCCP and SIP over DCCP MUST use
      the PMTU discovered by DCCP when determining the maximum request size
      for the connection.</t>

      <section title="DCCP Option Usage">
        <t>The following considerations regarding the usage of DCCP options
        and features apply to the DCCP connections for DTLS and SIP directly
        over DCCP:</t>

        <t><list style="symbols">
            <t>Congestion Control ID (CCID) negotiation for both directions of
            the connection MUST include CCID 2 (TCP-like congestion control).
            CCID 2 optimizes for throughput over smooth rate changes and
            should be suitable for SIP applications. Applications MAY choose
            to include other CCIDs, in any preference order.</t>

            <t>Connections MUST NOT use the Minimum Checksum Coverage
            Feature.</t>
          </list></t>
      </section>
    </section>

    <section title="Locating DTLS SIP Servers">
      <t>The normal rules from <xref target="RFC3263">RFC 3263</xref> apply
      when locating a SIP server that supports DTLS. The following new
      NAPTR<xref target="RFC3403"></xref> service values are defined:
      "SIPS+D2U" for UDP, and "SIPS+D2D" for DCCP<xref
      target="RFC4340"></xref>. In addition, the service value "SIP+D2D"
      should be used for SIP without DTLS directly over DCCP.</t>

      <t>The default port for DTLS over UDP or DCCP is 5061. The default port
      for SIP directly over DCCP is 5060.</t>
    </section>

    <section title="Security Considerations">
      <t>The security issues with SIP using DTLS are equivalent to the issues
      of using SIP with TLS. All the security considerations in RFC 3261
      relevant to TLS apply to DTLS.</t>

      <t>SIP over DCCP presents the same security issues as SIP over UDP, with
      the exception that DCCP enforces congestion control at the transport
      layer.</t>
    </section>

    <section title="IANA Considerations">
      <t>This document defines new NAPTR service field values for DTLS over
      DCCP and UDP as well as over DCCP with no DTLS. IANA is requested to
      register these values under the "Registry for the SIP SRV Resource
      Record Services Field". The resulting entries should be:</t>

      <figure>
        <artwork><![CDATA[
 Services Field        Protocol  Reference
 --------------------  --------  ---------
 SIPS+D2U              UDP       [RFCXXXX]
 SIPS+D2D              DCCP      [RFCXXXX]
 SIP+D2D               DCCP      [RFCXXXX]]]></artwork>
      </figure>

      <t>[Note to RFC Editor: Please replace XXXX with the RFC number of this
      specification.]</t>

      <t>This document registers two new DCCP Service Codes registry as
      defined by RFC 4340.</t>

      <figure>
        <artwork><![CDATA[
Service Code  ASCII  Description                         Reference
------------  -----  ----------------------------------  ---------
1936289824    sip    SIP over DCCP                       [RFCXXXX]
1936289907    sips   SIP over DCCP over DTLS             [RFCXXXX]]]></artwork>
      </figure>

      <t>This document defines to new ports in the DCCP Port Numbers Registry
      as defined by RFC 4340.</t>

      <figure>
        <artwork><![CDATA[
Port Name       Port Number    Description                Reference 
--------------  -------------  -------------------------  --------- 
sip-dccp        5060/dccp      SIP over DCCP              [RFCXXXX] 
sip-dtls-dccp   5061/dccp      SIP over DTLS over DCCP    [RFCXXXX]]]></artwork>
      </figure>
    </section>

    <section title="Acknowledgments">
      <t>Much of text and outline for this specification came from RFC 4168
      authored by Jonathan Rosenberg, Henning Schulzrinne, and Gonzalo
      Camarillo. Jakob Schlyter caught several typos. Eric Rescorla provided
      helpful comments and text. Tom Phelan provided much of the DCCP text.
      Thanks also to Colin Perkins.</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      <reference anchor="I-D.ietf-dccp-dtls">
        <front>
          <title>Datagram Transport Layer Security (DTLS) over the Datagram
          Congestion Control Protocol (DCCP)</title>

          <author fullname="Thomas Phelan" initials="T" surname="Phelan">
            <organization></organization>
          </author>

          <date day="" month="" year="" />

          <abstract>
            <t>This document describes the use of Datagram Transport Layer
            Security (DTLS) over the Datagram Congestion Control Protocol
            (DCCP).</t>
          </abstract>
        </front>

        <seriesInfo name="Internet-Draft" value="draft-ietf-dccp-dtls" />

        <format target="http://www.ietf.org/internet-drafts/draft-ietf-dccp-dtls-00.txt"
                type="TXT" />
      </reference>

      <reference anchor="RFC4347">
        <front>
          <title>Datagram Transport Layer Security</title>

          <author fullname="E. Rescorla" initials="E." surname="Rescorla">
            <organization></organization>
          </author>

          <author fullname="N. Modadugu" initials="N." surname="Modadugu">
            <organization></organization>
          </author>

          <date month="April" year="2006" />

          <abstract>
            <t>This document specifies Version 1.0 of the Datagram Transport
            Layer Security (DTLS) protocol. The DTLS protocol provides
            communications privacy for datagram protocols. The protocol allows
            client/server applications to communicate in a way that is
            designed to prevent eavesdropping, tampering, or message forgery.
            The DTLS protocol is based on the Transport Layer Security (TLS)
            protocol and provides equivalent security guarantees. Datagram
            semantics of the underlying transport are preserved by the DTLS
            protocol. [STANDARDS TRACK]</t>
          </abstract>
        </front>

        <seriesInfo name="RFC" value="4347" />

        <format octets="56014" target="ftp://ftp.isi.edu/in-notes/rfc4347.txt"
                type="TXT" />
      </reference>

      <reference anchor="RFC4234">
        <front>
          <title>Augmented BNF for Syntax Specifications: ABNF</title>

          <author fullname="D. Crocker" initials="D." surname="Crocker">
            <organization></organization>
          </author>

          <author fullname="P. Overell" initials="P." surname="Overell">
            <organization></organization>
          </author>

          <date month="October" year="2005" />
        </front>

        <seriesInfo name="RFC" value="4234" />

        <format octets="26351" target="ftp://ftp.isi.edu/in-notes/rfc4234.txt"
                type="TXT" />
      </reference>

      <reference anchor="RFC3261">
        <front>
          <title>SIP: Session Initiation Protocol</title>

          <author fullname="J. Rosenberg" initials="J." surname="Rosenberg">
            <organization></organization>
          </author>

          <author fullname="H. Schulzrinne" initials="H."
                  surname="Schulzrinne">
            <organization></organization>
          </author>

          <author fullname="G. Camarillo" initials="G." surname="Camarillo">
            <organization></organization>
          </author>

          <author fullname="A. Johnston" initials="A." surname="Johnston">
            <organization></organization>
          </author>

          <author fullname="J. Peterson" initials="J." surname="Peterson">
            <organization></organization>
          </author>

          <author fullname="R. Sparks" initials="R." surname="Sparks">
            <organization></organization>
          </author>

          <author fullname="M. Handley" initials="M." surname="Handley">
            <organization></organization>
          </author>

          <author fullname="E. Schooler" initials="E." surname="Schooler">
            <organization></organization>
          </author>

          <date month="June" year="2002" />
        </front>

        <seriesInfo name="RFC" value="3261" />

        <format octets="647976"
                target="ftp://ftp.isi.edu/in-notes/rfc3261.txt" type="TXT" />
      </reference>

      <reference anchor="RFC2119">
        <front>
          <title abbrev="RFC Key Words">Key words for use in RFCs to Indicate
          Requirement Levels</title>

          <author fullname="Scott Bradner" initials="S." surname="Bradner">
            <organization>Harvard University</organization>

            <address>
              <postal>
                <street>1350 Mass. Ave.</street>

                <street>Cambridge</street>

                <street>MA 02138</street>
              </postal>

              <phone>- +1 617 495 3864</phone>

              <email>sob@harvard.edu</email>
            </address>
          </author>

          <date month="March" year="1997" />

          <area>General</area>

          <keyword>keyword</keyword>
        </front>

        <seriesInfo name="BCP" value="14" />

        <seriesInfo name="RFC" value="2119" />

        <format octets="14486"
                target="http://xml.resource.org/public/rfc/html/rfc2119.html"
                type="HTML" />

        <format octets="5661"
                target="http://xml.resource.org/public/rfc/xml/rfc2119.xml"
                type="XML" />
      </reference>

      <reference anchor="RFC3263">
        <front>
          <title>Session Initiation Protocol (SIP): Locating SIP
          Servers</title>

          <author fullname="J. Rosenberg" initials="J." surname="Rosenberg">
            <organization></organization>
          </author>

          <author fullname="H. Schulzrinne" initials="H."
                  surname="Schulzrinne">
            <organization></organization>
          </author>

          <date month="June" year="2002" />
        </front>

        <seriesInfo name="RFC" value="3263" />

        <format octets="42310" target="ftp://ftp.isi.edu/in-notes/rfc3263.txt"
                type="TXT" />
      </reference>

      <reference anchor="RFC3403">
        <front>
          <title>Dynamic Delegation Discovery System (DDDS) Part Three: The
          Domain Name System (DNS) Database</title>

          <author fullname="M. Mealling" initials="M." surname="Mealling">
            <organization></organization>
          </author>

          <date month="October" year="2002" />
        </front>

        <seriesInfo name="RFC" value="3403" />

        <format octets="31058" target="ftp://ftp.isi.edu/in-notes/rfc3403.txt"
                type="TXT" />
      </reference>

      <reference anchor="RFC4340">
        <front>
          <title>Datagram Congestion Control Protocol (DCCP)</title>

          <author fullname="E. Kohler" initials="E." surname="Kohler">
            <organization></organization>
          </author>

          <author fullname="M. Handley" initials="M." surname="Handley">
            <organization></organization>
          </author>

          <author fullname="S. Floyd" initials="S." surname="Floyd">
            <organization></organization>
          </author>

          <date month="March" year="2006" />

          <abstract>
            <t>The Datagram Congestion Control Protocol (DCCP) is a transport
            protocol that provides bidirectional unicast connections of
            congestion-controlled unreliable datagrams. DCCP is suitable for
            applications that transfer fairly large amounts of data and that
            can benefit from control over the tradeoff between timeliness and
            reliability. [STANDARDS TRACK]</t>
          </abstract>
        </front>

        <seriesInfo name="RFC" value="4340" />

        <format octets="318830"
                target="ftp://ftp.isi.edu/in-notes/rfc4340.txt" type="TXT" />
      </reference>
    </references>

    <references title="Informative References">
      <reference anchor="RFC4346">
        <front>
          <title>The Transport Layer Security (TLS) Protocol Version
          1.1</title>

          <author fullname="T. Dierks" initials="T." surname="Dierks">
            <organization></organization>
          </author>

          <author fullname="E. Rescorla" initials="E." surname="Rescorla">
            <organization></organization>
          </author>

          <date month="April" year="2006" />

          <abstract>
            <t>This document specifies Version 1.1 of the Transport Layer
            Security (TLS) protocol. The TLS protocol provides communications
            security over the Internet. The protocol allows client/server
            applications to communicate in a way that is designed to prevent
            eavesdropping, tampering, or message forgery. [STANDARDS
            TRACK]</t>
          </abstract>
        </front>

        <seriesInfo name="RFC" value="4346" />

        <format octets="187041"
                target="ftp://ftp.isi.edu/in-notes/rfc4346.txt" type="TXT" />
      </reference>
    </references>
  </back>
</rfc>

PAFTECH AB 2003-20262026-04-23 11:00:29