Internet DRAFT - draft-hildebrand-xmpp-tls-multiplexing

draft-hildebrand-xmpp-tls-multiplexing






Network Working Group                                      J. Hildebrand
Internet-Draft                                            P. Saint-Andre
Intended status: Standards Track                                   Cisco
Expires: November 9, 2009                                    May 8, 2009


 Multiplexing of Connections between Extensible Messaging and Presence
      Protocol (XMPP) Servers Using Transport Layer Security (TLS)
               draft-hildebrand-xmpp-tls-multiplexing-00

Status of this Memo

   This Internet-Draft is submitted to IETF in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   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."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on November 9, 2009.

Copyright Notice

   Copyright (c) 2009 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 in effect on the date of
   publication of this document (http://trustee.ietf.org/license-info).
   Please review these documents carefully, as they describe your rights
   and restrictions with respect to this document.

Abstract

   This document specifies requirements for multiplexing of connections
   between Extensible Messaging and Presence Protocol (XMPP) servers



Hildebrand & Saint-Andre  Expires November 9, 2009              [Page 1]

Internet-Draft         XMPP Multiplexing Using TLS              May 2009


   using Transport Layer Security (TLS).


Table of Contents

   1.  Problem Statement . . . . . . . . . . . . . . . . . . . . . . . 3
   2.  Requirements  . . . . . . . . . . . . . . . . . . . . . . . . . 3
   3.  Security Considerations . . . . . . . . . . . . . . . . . . . . 4
   4.  References  . . . . . . . . . . . . . . . . . . . . . . . . . . 4
     4.1.  Normative References  . . . . . . . . . . . . . . . . . . . 4
     4.2.  Informative References  . . . . . . . . . . . . . . . . . . 4
   Appendix A.  Copying Conditions . . . . . . . . . . . . . . . . . . 4
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . . . 5






































Hildebrand & Saint-Andre  Expires November 9, 2009              [Page 2]

Internet-Draft         XMPP Multiplexing Using TLS              May 2009


1.  Problem Statement

   The Extensible Messaging and Presence Protocol (XMPP) has been widely
   deployed over the Internet since publication of [RFC3920] in 2004.
   One common deployment scenario is for a hosting provider or
   application service provider to service multiple domains on the same
   machine or machines.  With the increasing popularity of so-called
   "cloud computing", some of these providers service thousands of
   domains.  Because RFC 3920 specifies that each domain-to-domain
   "link" shall use two XML streams (one in each direction) and because
   currently XMPP has no method by which an existing stream can be re-
   used for additional domains, establishing connectivity between two
   XMPP "clouds" can quickly necessitate a large number of TCP
   connections.  This is true even if the clouds have authenticated to
   each other using Transport Layer Security [TLS] and the Simple
   Authentication and Security Layer [SASL] with digital certificates
   issued by trusted roots.  Therefore it would be desirable to define a
   method by which two XMPP clouds could optionally multiplex
   communications between themselves, so that an existing domain-to-
   domain stream could be re-used for additional domains.  This document
   defines requirements for such a method.  Possible solutions will be
   defined in separate specifications, potentially for inclusion into
   [rfc3920bis].


2.  Requirements

   We stipulate the following requirements for server-to-server
   multiplexing in XMPP:

   o  The multiplexing method must be backwards-compatible with existing
      server-to-server connection methods.
   o  A party that supports multiplexing must also support bidirectional
      XML streams.
   o  Each party to a server-to-server communication must be able to
      determine if the other party supports multiplexing.
   o  If the addition of a new domain to an existing domain-to-domain
      stream fails, the existing stream must not be terminated, and the
      adding party may attempt to add the new domain again.
   o  Multiplexing shall depend on presentation of a valid digital
      certificate for the multiplexed domain.
   o  The certificate for a multiplexed domain should not be same (i.e.,
      have the same subject) as a certificate that has previously been
      accepted for the stream; however, if it is the same then it shall
      replace the previous certificate with the same subject (e.g., to
      present a new certificate with a different expiry time).





Hildebrand & Saint-Andre  Expires November 9, 2009              [Page 3]

Internet-Draft         XMPP Multiplexing Using TLS              May 2009


   o  When a multiplexed domain is accepted for the stream, each name on
      the certificate (e.g., id-on-dnsSRV or id-on-xmppAddr) becomes
      valid for this stream.
   o  The protocol for accepting the initial certificate for a stream
      may be different from the protocol for accepting subsequent
      ("multiplexed") certificates for the stream.
   o  The process of adding a subsequent domain shall not affect
      transmission of application data over the stream.
   o  If the stream is resumed, all of the certificates that were
      accepted for the previous session apply to the resumed session.
   o  It is a security violation to proceed with transmission of
      application between two domains if multiplexing for those domains
      failed.  It is acceptable for the party that receives such
      applicatino data to terminate the stream.
   o  It must be possible to remove a domain from the stream.


3.  Security Considerations

   The requirements in this memo are intended to provide guidance
   regarding solutions to the problem of securely multiplexing domain-
   to-domain XMPP communications over a single XML stream.


4.  References

4.1.  Normative References

   [RFC3920]  Saint-Andre, P., Ed., "Extensible Messaging and Presence
              Protocol (XMPP): Core", RFC 3920, October 2004.

   [TLS]      Dierks, T. and E. Rescorla, "The Transport Layer Security
              (TLS) Protocol Version 1.2", RFC 5246, August 2008.

4.2.  Informative References

   [rfc3920bis]
              Saint-Andre, P., "Extensible Messaging and Presence
              Protocol (XMPP): Core", draft-saintandre-rfc3920bis-09
              (work in progress), March 2009.

   [SASL]     Melnikov, A. and K. Zeilenga, "Simple Authentication and
              Security Layer (SASL)", RFC 4422, June 2006.


Appendix A.  Copying Conditions

   Regarding this entire document or any portion of it, the authors make



Hildebrand & Saint-Andre  Expires November 9, 2009              [Page 4]

Internet-Draft         XMPP Multiplexing Using TLS              May 2009


   no guarantees and are not responsible for any damage resulting from
   its use.  The authors grant irrevocable permission to anyone to use,
   modify, and distribute it in any way that does not diminish the
   rights of anyone else to use, modify, and distribute it, provided
   that redistributed derivative works do not contain misleading author
   or version information.  Derivative works need not be licensed under
   similar terms.


Authors' Addresses

   Joe Hildebrand
   Cisco

   Email: jhildebr@cisco.com


   Peter Saint-Andre
   Cisco

   Email: psaintan@cisco.com






























Hildebrand & Saint-Andre  Expires November 9, 2009              [Page 5]