Internet DRAFT - draft-beck-oauth-sip-eval
draft-beck-oauth-sip-eval
Network Working Group W. Wolfgang
Internet-Draft Deutsche Telekom AG
Intended status: Standards Track October 19, 2009
Expires: April 22, 2010
Evaluating OAUTH's suitability for SIP authentication
draft-beck-oauth-sip-eval-00.txt
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 April 22, 2010.
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.
Wolfgang Expires April 22, 2010 [Page 1]
Internet-Draft OAUTH suitability for SIP authentication October 2009
Abstract
The Open Authentication Protocol (OAUTH) provides a method for
clients to access server resources on behalf of another party. This
document evaluates OAUTH's suitability as an authentication mechanism
for the Session Initiation Protocol (SIP) for use cases where web
applications want to interact with SIP servers without sharing user
credentials.
Table of Contents
1. Requirements notation . . . . . . . . . . . . . . . . . . . . 3
2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1. Architectural Overview . . . . . . . . . . . . . . . . . . 5
2.2. Use Cases . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.1. Establishment of an MSRP session . . . . . . . . . . . 5
2.2.2. Gateway for browser-based VoIP applets . . . . . . . . 6
3. Resource Access Policies . . . . . . . . . . . . . . . . . . . 7
3.1. Use Cases . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1.1. SIP MESSAGE . . . . . . . . . . . . . . . . . . . . . 7
3.1.2. MSRP Call . . . . . . . . . . . . . . . . . . . . . . 7
3.2. Requirements . . . . . . . . . . . . . . . . . . . . . . . 8
4. Security Considerations . . . . . . . . . . . . . . . . . . . 9
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10
6. Informative References . . . . . . . . . . . . . . . . . . . . 11
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 12
Wolfgang Expires April 22, 2010 [Page 2]
Internet-Draft OAUTH suitability for SIP authentication October 2009
1. Requirements notation
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].
Wolfgang Expires April 22, 2010 [Page 3]
Internet-Draft OAUTH suitability for SIP authentication October 2009
2. Introduction
OAUTH is an authentication delegation protocol, that allows a client
to access resources on a server on behalf of a resource owner. An
example would be a printing service -- OAUTH client -- that wants to
access photos on a photo sharing site -- OAUTH server -- on behalf of
a user -- OAUTH resource owner. The resource owner does not need to
reveal her credentials to the OAUTH client.
In a first phase, the client obtains token credentials from the
server. Using these token credentials, the client can access
resources on the server. Currently, this is only defined for HTTP
requests.
SIP [RFC3261] offers some resources that could be accessed by OAUTH
clients as well:
o The resource owner's identity can be used to make calls, change
presence states, or send messages from a web application.
o The presence state of the resource owner's contacts can be
retrieved, displayed, or used in a web application.
The resource protected by OAUTH is the resource owner's SIP account
and its associated data. While it would be possible to use SIP as a
way to obtain temporary OAUTH credentials and to authenticate a
resource owner, this document focuses on the access of SIP resources.
Wolfgang Expires April 22, 2010 [Page 4]
Internet-Draft OAUTH suitability for SIP authentication October 2009
2.1. Architectural Overview
_OAUTH_
/ \
+---------+ +---------+
+------------+ | +--HTTP-->| |
| |<-----HTTP----->| client | | |
| resource | | +--SIP--->| server |
| owner | +---------+ | |
| |<-----HTTP------------------------->| |
+------------+ +----+----+
|
| SIP
|
v
other SIP systems
SIP and OAUTH
Figure 1
Figure 1 shows the intended architecture. Triggered by the resource
owner, the client acquires token credentials from the server. In the
course of this, the server authenticates the resource owner and asks
her for authorization of the client's request. Using the token
credentials, the client then sends a SIP request to the server. The
server checks the credentials and forwards the SIP request.
2.2. Use Cases
2.2.1. Establishment of an MSRP session
Some web sites implement text chat using asynchronous HTTP requests
(AJAX). To connect such web sites to SIP environments with SIP/MSRP
(see [RFC4975]) clients, a gateway can use OAUTH.
1. The user logs into a web site and the browser loads the embedded
javascript code.
2. The web site's OAUTH client initiates an OAUTH exchange with the
user's preferred SIP provider.
Wolfgang Expires April 22, 2010 [Page 5]
Internet-Draft OAUTH suitability for SIP authentication October 2009
3. The web site redirects the user's browser to the authentication
web page of the SIP provider's OAUTH server.
4. The user enters her credentials. The OAUTH server redirects her
to the web site.
5. The web site translates the text chat-related HTTP requests into
SIP and MSRP. It adds OAUTH token credentials to the SIP
requests it sends towards the user's preferred SIP provider.
After this, the OAUTH server checks the token credentials for
validity and checks if the SIP request complies to the policy the
user has granted for this kind of transaction. If the SIP request
passes all checks, the OAUTH server forwards it to the subsequent SIP
nodes.
2.2.2. Gateway for browser-based VoIP applets
A number of technologies exist to implement VoIP clients as browser
applets. To keep applet loading times low, vendors don't implement
standard SIP, but use stripped-down variants or proprietary
technology.
1. The user logs into a web site and the browser loads the embedded
VoIP applet.
2. The web site's OAUTH client initiates an OAUTH exchange with the
user's preferred SIP provider.
3. The web site redirects the user's browser to the authentication
web page of the SIP provider's OAUTH server.
4. The user enters her credentials. The OAUTH server redirects her
to the web site.
5. The web site translates the web applets messages into SIP and
RTP. It adds OAUTH token credentials to the SIP requests it
sends towards the user's preferred SIP provider.
After this, the OAUTH server checks the token credentials for
validity and checks if the SIP request complies to the policy the
user has granted for this kind of transaction. If the SIP request
passes all checks, the OAUTH server forwards it to the subsequent SIP
nodes.
Wolfgang Expires April 22, 2010 [Page 6]
Internet-Draft OAUTH suitability for SIP authentication October 2009
3. Resource Access Policies
In HTTP, the access to a resource is basically defined by the request
method and the request URI. In SIP, the information that determines
the action that needs to be policed is scattered all over the
request.
OAUTH -- like HTTP digest -- only signs the request method and
request URI. Any OAUTH extension for SIP would have to define how to
protect the relevant parts of a SIP request. The OAUTH server MUST
be able to check if a request matches the resource owner's
authorization.
3.1. Use Cases
3.1.1. SIP MESSAGE
In this use case, the resource owner wants to be sure that the OAUTH
client is only able to send a SIP MESSAGE request, but not able to
establish calls.
The OAUTH client redirects the resource owner's browser to the OAUTH
server's login page. After the resource owner successfully logged
in, the OAUTH server asks: 'OAUTH client xy wants to send a SIP
Instant Message Allow? Yes / No'
The OAUTH client receives token credentials that are only valid for
sending a SIP MESSAGE request
The OAUTH server checks the SIP request and the token credentials it
carries. If the request matches the policy associated with the token
credential, it forwards the request
3.1.2. MSRP Call
In this use case, the resource owner wants to be sure, that the OAUTH
client will only be able to make an MSRP call
When the OAUTH client redirects the resource owner's browser to the
OAUTH server's login page, the OAUTH server checks her credentials
and asks: 'OAUTH client xy wants to establish an MSRP session with
sip:xy@example.com. Allow? Yes/No'
The OAUTH client receives token credentials that are only valid for
an MSRP call to sip:xy@example.com
The OAUTH server checks the SIP request and the token credentials it
carries. If the request matches the policy associated with the token
Wolfgang Expires April 22, 2010 [Page 7]
Internet-Draft OAUTH suitability for SIP authentication October 2009
credential, it forwards the request. If the OAUTH client tries to
use the token credentials for a voice call, it rejects it.
3.2. Requirements
It is desirable to keep SIP extensions as close as possible to the
original specification.
o OAUTH needs to define how to use SIP URIs in OAUTH signatures
o The OAUTH server needs a signed piece of information in the SIP
request that tells what policy the resource owner wants it to
apply.
For the use cases in this document, it is sufficient to have pre-
defined policies between OAUTH client and OAUTH server. The policies
can be part of the OAUTH server's API description. Dynamic
negotiation of policies is not required.
Wolfgang Expires April 22, 2010 [Page 8]
Internet-Draft OAUTH suitability for SIP authentication October 2009
4. Security Considerations
With a SIP extension for OAUTH, the OAUTH server MUST be able to
display to the resource owner what kind of SIP action the OAUTH
client is intending to do. The OAUTH server MUST be able to check
whether the SIP request matches the policy associated with the token
credential it carries.
For general security considerations of OAUTH, see the OAUTH base
document [I-D.hammer-oauth].
Wolfgang Expires April 22, 2010 [Page 9]
Internet-Draft OAUTH suitability for SIP authentication October 2009
5. IANA Considerations
None.
Wolfgang Expires April 22, 2010 [Page 10]
Internet-Draft OAUTH suitability for SIP authentication October 2009
6. Informative References
[I-D.hammer-oauth]
Hammer-Lahav, E. and B. Cook, "The OAuth Core 1.0
Protocol", draft-hammer-oauth-03 (work in progress),
September 2009.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[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.
[RFC4975] Campbell, B., Mahy, R., and C. Jennings, "The Message
Session Relay Protocol (MSRP)", RFC 4975, September 2007.
Wolfgang Expires April 22, 2010 [Page 11]
Internet-Draft OAUTH suitability for SIP authentication October 2009
Author's Address
Wolfgang Beck
Deutsche Telekom AG
Heinrich-Hertz Str 4-7
Darmstadt 64295
Germany
Phone: +49 6151 628 0
Email: beckw@telekom.de
Wolfgang Expires April 22, 2010 [Page 12]