SIMPLE Working Group C. Holmberg Internet-Draft Ericsson Intended status: Standards Track S. Blau Expires: May 13, 2011 Ericsson AB November 9, 2010 Session Matching Update for the Message Session Relay Protocol (MSRP) draft-ietf-simple-msrp-sessmatch-08.txt Abstract This document defines an extension, sessmatch, for the Message Session Relay Protocol (MSRP) session matching procedure of MSRP entities. The extension extends the applicability of MSRP communication to network scenarios where Application Layer Gateway (ALG) functions modify the Session Description Protocol (SDP) MSRP address information. 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). 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 May 13, 2011. Copyright Notice Copyright (c) 2010 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 Holmberg & Blau Expires May 13, 2011 [Page 1] Internet-Draft MRSP November 2010 the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Applicability statement . . . . . . . . . . . . . . . . . . . . 4 4. Session matching mechanism . . . . . . . . . . . . . . . . . . 4 5. Security Considerations . . . . . . . . . . . . . . . . . . . . 5 5.1. MSRP URI as shared secret . . . . . . . . . . . . . . . . . 5 5.2. Uniqueness of the session-id . . . . . . . . . . . . . . . 5 5.3. Man in the middle . . . . . . . . . . . . . . . . . . . . . 6 5.4. TLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 7 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7 8.1. Normative References . . . . . . . . . . . . . . . . . . . 7 8.2. Informative References . . . . . . . . . . . . . . . . . . 7 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 8 Holmberg & Blau Expires May 13, 2011 [Page 2] Internet-Draft MRSP November 2010 1. Introduction The Message Session Relay Protocol (MSRP) [RFC4975] is designed to use MSRP relays [RFC4976] as a means for Network Address Translation (NAT) traversal and policy enforcement. However, many Session Initiation Protocol (SIP) [RFC3261] networks, in which MSRP usage is emerging, also contain generic SIP Application Layer Gateways (ALGs), which anchor and controls media, perform tasks such as NAT traversal, performance monitoring, lawful intercept, address domain bridging, interconnect Service Layer Agreement (SLA) policy enforcement, etc. An example is the 3rd Generation Partnership Project (3GPP) Interconnect Border Control Function (IBCF) [3GPP.23.228]. An MSRP entity, compliant with RFC 4975 [RFC4975] and RFC 4976 [RFC4976] cannot communicate with ALGs described above, unless the ALGs implement MSRP Back-To-Back User Agent (B2BUA) functionality. The reason is that such MSRP entities use the MSRP URI comparison mechanism defined in RFC 4975 in order to match an MSRP message to an MSRP session (session matching). That requires consistency between the address information in the MSRP messages and the address information carried in the SDP a=path attribute. The matching will fail if ALGs modify the address information of the SDP a=path attribute, but do not implement MSRP B2BUA functionality and perform the corresponding modification in the associated MSRP messages. However, few ALGs implement MSRP B2BUA functionality, due to complexity and poor scalability. This specification defines an MSRP extension, sessmatch, that allows MSRP entities to communicate with ALGs that do not implement MSRP B2BUA functionality. MSRP entities that support the sessmatch use a different mechanism for matching an MSRP message with an MSRP session. Instead of using the MSRP URI comparison procedure defined in RFC 4975, only the MSRP session-id part is used for the session matching by entities that support the sessmatch extension. If an MSRP entity that supports the sessmatch extension communicates with an ALG that does not implement MSRP B2BUA functionality, there are restrictions regarding the usage of TLS authentication. In case TLS with name based authentication is used, ALGs need to implement MSRP B2BUA functionality communicating with MSRP entities that support the sessmatch extension, in order to prevent the MSRP communication from failing due to a certificate missmatch. The sessmatch extension is backward compatible. In the absence of ALGs that do not implement MSRP B2BUA functionality, MSRP entities that do not implement the sessmatch extension can interoperate with Holmberg & Blau Expires May 13, 2011 [Page 3] Internet-Draft MRSP November 2010 entities that do implement the extension, as none of the session matching mechanisms will not fail. MSRP entities that do not support the sessmatch extension, and communicate with ALGs that do not implement MSRP B2BUA functionality, can normally not establish MSRP sessions, since the session matching will fail in case the address information of the SDP a=path attribute has been modified by the ALGs. 2. Conventions 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 BCP 14, RFC 2119 [RFC2119]. In this specification the terminology "fingerprint based TLS authentication" and "name based TLS authentication" are used to refer to the two cases where: 1. An endpoint use a self-signed TLS certificate and sends a certificate fingerprint in SDP (fingerprint based TLS authentication). 2. An endpoint use a certificate from a well known certificate authority and the other endpoint matches the hostname in the received TLS communication SubjectAltName parameter towards the hostname received in the MSRP URI in SDP (name based TLS authentication). 3. Applicability statement This document defines an MSRP extension, sessmatch. Support of the extension is optional. MSRP entities can implement the extension in order to allow MSRP communication in networks where ALGs that might modify the address information of the SDP a=path attribute, but do not implement MSRP B2BUA functionality, are present. 4. Session matching mechanism This section defines how MSRP entities that support the sessmatch extension perform session matching. Session matching, as defined in RFC 4975, is performed in order to associate a MSRP message with a session. The passive MSRP entity (the entity that does not initiate the TCP connection) of a session Holmberg & Blau Expires May 13, 2011 [Page 4] Internet-Draft MRSP November 2010 will also, when it receives the first MSRP message, use session matching in order to bind the session to the specific TCP connection, in order to know on which TCP connection to send outgoing MSRP messages associated with the session. When a MSRP entity that supports the sessmatch extension receives an MSRP message, it uses the To-Path header field MSRP URI session-id part value to associate the MSRP mesage with a session. In accordance wih RFC 4975, the session-id part value is compared as case sensitive. If the session-id value is matched with an existing session, the MSRP entity must check that the MSRP message was received on the TCP connection bound to the session. If not, the MSRP message is rejected with a 506 response. The difference between the session matching mechanism defined in RFC 4975, and the mechanism defined in this specification for the sessmatch extension, is that while the mechanism in RFC 4975 uses the MSRI URI comparison rules for session matching, the sessmatch extension only uses the MSRP URI session-id part. OPEN ISSUE: It needs to be studied whether an SIP option-tag is needed in order to indicate and/or negotiate support and usage of the sessmatch extension. 5. Security Considerations 5.1. MSRP URI as shared secret An MSRP entity that does not support the sessmatch extension uses the complete MSRP URI (scheme, authority, transport, session-id) as a shared secret in order to determine that an incoming transport connection originates from the intended peer device. The shared secret needs to be hard to guess, but in reality only the session-id part with it's minimum 80 bit of randomness that is hard to guess. Using only the MSRP URI session-id part as shared secret is therefore roughly as good as using the complete URI. 5.2. Uniqueness of the session-id For session matching, the session-id only needs to be unique within the scope of the MSRP entity that created it. In order for an MSRP entity to ensure this, there is no need to scope the session-id namespace by the MSRP URI authority part. As stated in the RFC4975, when using the complete URI as shared secret, the secrecy is entirely provided by the 80-bit randomness of Holmberg & Blau Expires May 13, 2011 [Page 5] Internet-Draft MRSP November 2010 the MSRP URI session-id par, so it makes no difference if only the session-id part is used as shared secret. 5.3. Man in the middle A man-in-the-middle (MiTM) that wants to insert itself in the MSRP communication path, in order to modify unprotected MSRP messages, needs to implement MSRP B2BUA functionality. If the MiTM communicates with MSRP entities that support the sessmatch extension, it does not need to modify the ToPath and FromPath header fields in the MSRP messages, which is the case if it communicates with an MSRP entities that do not support the extension. In both cases, however, the MiTM needs to terminate the TCP/TLS connection used for the MSRP communication. The sessmatch extension makes it easier for a MiTM to monitor and record unprotected MSRP communication, as it allows the MiTM to anchor the MSRP communication even if it does not implement MSRP B2BUA functionality. The sessmatch extension does not make it easier for a MiTM to insert itself in the SIP/SDP signaling path, neither does it make it easier for a MiTM to forward MSRP messages towards malicious MSRP entities (as it does not require the MiTM to anchor the MSRP communication). 5.4. TLS The sessmatch extension does not in any way modify Transport layer security (TLS) [RFC5246] security procedures as such, and in general MSRP entities that support the sessmatch extension can use the TLS security mechanisms defined in RFC 4975. However, as the sessmatch extension makes it possible for ALGs to anchor MSRP communication, without having to implement MSRP B2BUA functionality, TLS with name based authentication cannot be used if MSRP entities are communicating with such ALGs. In order to be able to use TLS with name based authentication from failing, ALGs need to implement MSRP B2BUA functionality. An ALG that anchors MSRP communication modifies the MSRP routing information in the associated SDP signalling. Such behavior will prevent end-to-end SDP integrity. In the presence of such ALGs it will therefore generally only be possible to provide hop-to-hop SDP integrity, which means that malicious ALGs will be able to modify the SDP information. When possible, it is RECOMMENDED that MSRP entities that support the sessmatch extension use TLS pre-shared key ciphersuites (TLS-PSK) [RFC4279] together with a key management scheme where the key Holmberg & Blau Expires May 13, 2011 [Page 6] Internet-Draft MRSP November 2010 security does not rely on SDP integrity protection, such as Multimedia Internet KEYing (MIKEY) [RFC3830] or Ticket Based Modes of Key Distribution Multimedia Internet KEYing (MIKEY-TICKET) [RFC6043]. RFC 4567 [RFC4567] defines Key Management Extensions for SDP. 6. IANA Considerations OPEN ISSUE: It needs to be studied whether an SIP option-tag is needed in order to indicate and/or negotiate support and usage of the sessmatch extension. 7. Acknowledgements Thanks to Ben Campbell, Remi Denis-Courmont, Nancy Greene, Hadriel Kaplan, Adam Roach, Robert Sparks, Salvatore Loreto, Shida Schubert, Ted Hardie and Richard L Barnes for their guidance and input in order to produce this document. 8. References 8.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC4975] Campbell, B., Mahy, R., and C. Jennings, "The Message Session Relay Protocol (MSRP)", RFC 4975, September 2007. [RFC4976] Jennings, C., Mahy, R., and A. Roach, "Relay Extensions for the Message Sessions Relay Protocol (MSRP)", RFC 4976, September 2007. 8.2. Informative References [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP: Session Initiation Protocol", RFC 3261, June 2002. [RFC3830] Arkko, J., Carrara, E., Lindholm, F., Naslund, M., and K. Norrman, "MIKEY: Multimedia Internet KEYing", RFC 3830, August 2004. [RFC4279] Eronen, P. and H. Tschofenig, "Pre-Shared Key Ciphersuites for Transport Layer Security (TLS)", RFC 4279, Holmberg & Blau Expires May 13, 2011 [Page 7] Internet-Draft MRSP November 2010 December 2005. [RFC4567] Arkko, J., Lindholm, F., Naslund, M., Norrman, K., and E. Carrara, "Key Management Extensions for Session Description Protocol (SDP) and Real Time Streaming Protocol (RTSP)", RFC 4567, July 2006. [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security (TLS) Protocol Version 1.2", RFC 5246, August 2008. [3GPP.23.228] 3GPP, "IP Multimedia Subsystem (IMS); Stage 2", 3GPP TS 23.228 10.2.0, September 2010. Authors' Addresses Christer Holmberg Ericsson Hirsalantie 11 Jorvas 02420 Finland Email: christer.holmberg@ericsson.com Staffan Blau Ericsson AB P.O Box 407 Sweden Email: staffan.blau@ericsson.com Holmberg & Blau Expires May 13, 2011 [Page 8]