BEHAVE | T. Reddy |
Internet-Draft | Ram. Mohan. Ravindranath |
Intended status: Informational | Muthu. A. M. Perumal |
Expires: September 25, 2014 | Cisco |
A. Yegin | |
Samsung | |
March 24, 2014 |
Problems with STUN Authentication for TURN
draft-ietf-tram-auth-problems-00
This document discusses some of the issues with STUN authentication for TURN messages.
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 25, 2014.
Copyright (c) 2014 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.
The TURN server is a building block to support interactive, real-time communication using audio, video, collaboration, games, etc., between two peer web browsers using the Web Real-Time communication (WebRTC) [I-D.ietf-rtcweb-overview] framework. The use-case explained in "Simple Video Communication Service, enterprise aspects" (Section 3.2.5 of [I-D.ietf-rtcweb-use-cases-and-requirements]) refers to deploying a TURN[RFC5766] server in the DMZ to audit all media sessions from inside an Enterprise premises to any external peer. TURN server could also be deployed for RTP Mobility [I-D.wing-mmusic-ice-mobility] etc.
TURN server is also used in the following scenarios:
STUN [RFC5389] specifies an authentication mechanism called the long-term credential mechanism. TURN [RFC5766] in section 4 specifies that TURN servers and clients MUST implement this mechanism and the TURN server MUST demand that all requests from the client be authenticated using this mechanism, or that a equally strong or stronger mechanism for client authentication be used.
In the above scenarios RTCWEB based web applications would use Interactive Connectivity Establishment (ICE) protocol [RFC5245] for gathering candidates. ICE agent can use TURN to learn server-reflexive and relayed candidates. If the TURN server requires the TURN request to be authenticated then ICE agent will use the long-term credential mechanism explained in section 10 of [RFC5389] for authentication and message integrity. TURN specification [RFC5766] in section 10 explains the importance of long-term credential mechanism to mitigate various attacks. With proposals like[I-D.thomson-mmusic-rtcweb-bw-consent] that defines a STUN BANDWIDTH attribute for requesting bandwidth allocation at a TURN server, STUN authentication becomes further important to prevent un-authorized users from accessing the TURN server and misuse of credentials could impose significant cost on the victim TURN server.
This note focuses on listing the problems with current STUN authentication for TURN so that it can serve as the basis for stronger authentication mechanisms.
Compared to a Binding request the Allocate request is more likely to be identified by a server administrator as needing client authentication and integrity protection of messages exchanged. Hence, the issues discussed here in STUN authentication are applicable mainly in the context of TURN messages.
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].
This note uses terminology defined in [RFC5389], [RFC5766].
This document can be used as an input to design solution(s) to address the problems with the current STUN authentication for TURN messages.
This document lists problems with current STUN authentication for TURN so that it can serve as the basis for stronger authentication mechanisms.
This document does not require any action from IANA.
Authors would like to thank Dan Wing, Harald Alvestrand, Sandeep Rao, Prashanth Patil, Pal Martinsen and Simon Perreault for their comments and review.
[RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. |
[RFC5766] | Mahy, R., Matthews, P. and J. Rosenberg, "Traversal Using Relays around NAT (TURN): Relay Extensions to Session Traversal Utilities for NAT (STUN)", RFC 5766, April 2010. |
[RFC5389] | Rosenberg, J., Mahy, R., Matthews, P. and D. Wing, "Session Traversal Utilities for NAT (STUN)", RFC 5389, October 2008. |
[RFC6156] | Camarillo, G., Novo, O. and S. Perreault, "Traversal Using Relays around NAT (TURN) Extension for IPv6", RFC 6156, April 2011. |