TOC 
SIPPING WGJ. Elwell
Internet-DraftSiemens Enterprise Communications
Updates: RFC 3325GmbH & Co KG
(if approved)November 2007
Intended status: Informational 
Expires: May 4, 2008 


Updates to Asserted Identity in the Session Initiation Protocol (SIP)
draft-elwell-sipping-update-pai-02.txt

Status of this Memo

By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of 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 May 4, 2008.

Abstract

SIP has a mechanism for conveying the asserted identity of the originator of a request by means of the P-Asserted-Identity header field. This header field is specified for use in requests using a number of SIP methods, in particular the INVITE method. However, RFC 3325 does not specify the insertion of this header field by a trusted UAC, does not specify the use of this header field with the SIP UPDATE, MESSAGE or PUBLISH methods, and is unclear on the use of this header field in responses. This document extends RFC 3325 to cover these situations.

This work is being discussed on the sipping@ietf.org mailing list.



Table of Contents

1.  Terminology
2.  Introduction
3.  Discussion
    3.1.  Inclusion of P-Asserted-Identity by a UAC
    3.2.  Inclusion of P-Asserted-Identity in an UPDATE request
    3.3.  Inclusion of P-Asserted-Identity in a MESSAGE request
    3.4.  Inclusion of P-Asserted-Identity in a PUBLISH request
    3.5.  Inclusion of P-Asserted-Identity in a response
4.  Behaviour
    4.1.  UAC Behaviour
        4.1.1.  Request handling
        4.1.2.  Response handling
    4.2.  Proxy Behaviour
        4.2.1.  Request handling
        4.2.2.  Response handling
    4.3.  UAS Behaviour
        4.3.1.  Request handling
        4.3.2.  Response handling
5.  IANA considerations
6.  Security considerations
7.  Normative References
§  Author's Address
§  Intellectual Property and Copyright Statements




 TOC 

1.  Terminology

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 RFC-2119 (Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” March 1997.) [RFC2119].



 TOC 

2.  Introduction

SIP (RFC 3261 [RFC3261] (Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., and E. Schooler, “SIP: Session Initiation Protocol,” June 2002.)) has a mechanism for conveying the asserted identity of the originator of a request by means of the P-Asserted-Identity header field (RFC 3325 [RFC3325] (Jennings, C., Peterson, J., and M. Watson, “Private Extensions to the Session Initiation Protocol (SIP) for Asserted Identity within Trusted Networks,” November 2002.)). This header field is specified for use in requests using a number of SIP methods, in particular the INVITE method. However, RFC 3325 does not specify the insertion of this header field by a trusted UAC, does not specify the use of this header field with the SIP UPDATE method (RFC 3311 [RFC3311] (Rosenberg, J., “The Session Initiation Protocol (SIP) UPDATE Method,” September 2002.)), the SIP MESSAGE method (RFC 3428 [RFC3428] (Campbell, B., Rosenberg, J., Schulzrinne, H., Huitema, C., and D. Gurle, “Session Initiation Protocol (SIP) Extension for Instant Messaging,” November 2002.)) or the SIP PUBLISH method (RFC 3903 [RFC3903] (Niemi, A., “Session Initiation Protocol (SIP) Extension for Event State Publication,” November 2002.)), and is unclear on the use of this header field in responses. This document extends RFC 3325 by allowing inclusion of the P-Asserted-Identity header field by trusted UACs, allowing use of this header field in UPDATE, MESSAGE and PUBLISH requests and, under certain conditions, allowing use of this header field in SIP responses.



 TOC 

3.  Discussion



 TOC 

3.1.  Inclusion of P-Asserted-Identity by a UAC

RFC 3325 does not include procedures for a UAC to include the P-Asserted-Identity header field in a request. This can be meaningful if the UAC can be trusted by the first proxy, as is often the case for PSTN gateways, for example. Indeed it is common practice to do so. Normal proxy procedures would ensure that the header field is removed or replaced if the UAC cannot be trusted and the asserted identity cannot be authenticated.



 TOC 

3.2.  Inclusion of P-Asserted-Identity in an UPDATE request

There are several use cases that would benefit from the use of the P-Asserted-Identity header field in an UPDATE request. These use cases apply within a trusted environment where the use of asserted identity is appropriate (see RFC 3325).

In one example, an established call passes through a gateway to the PSTN. The gateway becomes aware that the remote party in the PSTN has changed, e.g., due to call transfer. By including the P-Asserted-Identity header field in an UPDATE request, the gateway can convey the identity of the new remote party to the peer SIP UA.

Note that the (re-)INVITE method could be used in this situation. However, this forces an offer-answer exchange, which typically is not required in this situation. Also it involves 3 messages rather than 2.

In another example, a B2BUA that provides third party call control (3PCC) wishes to join two calls together, one of which is still waiting to be answered and potentially is forked to different UAs. At this point in time it is not possible to trigger the normal offer-answer exchange between the two joined parties, because of the mismatch between a single dialog on the one side and potentially multiple early dialogs on the other side, so this action must wait until one of the called UAs answers. However, it would be useful to give an early indication to each user concerned of the identity of the user to which they will become connected when the call is answered. This can be achieved by the B2BUA sending an UPDATE request with a P-Asserted-Identity header field on the dialogs concerned.



 TOC 

3.3.  Inclusion of P-Asserted-Identity in a MESSAGE request

Within a trusted environment, a P-Asserted-Identity header field could advantageously be used in a MESSAGE request to assert the source of a page mode instant message. This would complement its use in an INVITE request to assert the source of an instant message session or any other form of session.



 TOC 

3.4.  Inclusion of P-Asserted-Identity in a PUBLISH request

Within a trusted environment, a P-Asserted-Identity header field could advantageously be used in a PUBLISH request to assert the source of published state information. This would complement its use in SUBSCRIBE and NOTIFY requests.



 TOC 

3.5.  Inclusion of P-Asserted-Identity in a response

There are cases where the inclusion of the P-Asserted-Identity header field in responses would be useful. RFC 3325 is ambiguous on this. For example, section 4 of RFC 3325 talks about inclusion of the header field in messages, as opposed to requests. Moreover section 5 explicitly mentions "message (request or response)". However, there are other places (e.g., sections 6, 7 and 8) that talk only about requests.

Section 5 of RFC 3325 requires a proxy to authenticate the originator of a message before adding a P-Asserted-Identity header field to the forwarded message. In practice there is no SIP means to authenticate the sender of a SIP response message. However, authentication may be possible by other means. For example, if the proxy has TLS connectivity with the originator of the response and has previously authenticated the connected entity (e.g., using SIP digest authentication at registration time), then the originator of the response can be considered to be authenticated. In such circumstances it is permissible for a proxy to insert a P-Asserted-Identity header field in a SIP response.



 TOC 

4.  Behaviour

This updates RFC 3325 by allowing a P-Asserted-Identity header field to be included by a trusted UAC, by allowing a P-Asserted-Identity header field to appear in an UPDATE, MESSAGE or PUBLISH request, and by allowing a P-Asserted-Identity header field to appear in a response in certain circumstances.



 TOC 

4.1.  UAC Behaviour



 TOC 

4.1.1.  Request handling

A UAC MAY include a P-Asserted-Identity header field in a request to report the identity of the user on behalf of which the UAC is acting and whose identity the UAC is in a position to assert. A UAC SHOULD do so only in cases where it can expect to be trusted by the first proxy. A UAC SHOULD NOT do so in other circumstances and might instead use the P-Preferred-Identity header field.

Note that a proxy might trust a UAC such as a known PSTN gateway. The proxy might trust the PSTN gateway to assert an identity received from the PSTN, the proxy itself having no means to authenticate such an identity.

A UAC MAY include a P-Asserted-Identity header field in an UPDATE request to report a changed identity mid-dialog. This can be an UPDATE request sent specially for this purpose or an UPDATE request sent for some other purpose.

A UAC MAY include a P-Asserted-Identity header field in a MESSAGE or PUBLISH request.



 TOC 

4.1.2.  Response handling

Typically a UA renders the value of a P-Asserted-Identity header field that it receives in a response to its user. It may consider the identity provided by a Trust Domain to be privileged, or intrinsically more trustworthy than other information in the response. However, any particular behaviour is specific to implementations or services. This document also does not mandate any UA handling for multiple P-Asserted-Identity header field values that happen to appear in a response (such as a SIP URI alongside a tel URL).

However, if a UAC receives a response from a previous element that it does not trust, it MUST NOT use the P-Asserted-Identity header field in any way.

If a UA is part of the Trust Domain from which it received a response containing a P-Asserted-Identity header field, then it can use the value freely but it MUST ensure that it does not forward the information to any element that is not part of the Trust Domain if the user has requested that asserted identity information be kept private.

If a UA is not part of the Trust Domain from which it received a response containing a P-Asserted-Identity header field, then it can assume this information does not need to be kept private.



 TOC 

4.2.  Proxy Behaviour



 TOC 

4.2.1.  Request handling

If a proxy receives an UPDATE, MESSAGE or PUBLISH request containing a P-Asserted-Identity header field, it MUST behave as for any other request in accordance with the rules of RFC 3325 for a proxy.



 TOC 

4.2.2.  Response handling

The proxy behaviour specified in RFC 3325 is applicable to responses with the following qualification. A proxy that receives a response from a node that it does not trust cannot directly authenticate the UAS by SIP means. Therefore it MUST NOT include a P-Asserted-Identity header field when forwarding the response unless it has authenticated the UAS by other means.

One possible circumstance in which a proxy can include a P-Asserted-Identity header field when forwarding a response from a node that it does not trust is when the proxy has direct TLS connectivity with the UAS and has authenticated the UA by some other means (e.g., SIP digest authentication) during that same TLS session.



 TOC 

4.3.  UAS Behaviour



 TOC 

4.3.1.  Request handling

If a UAS receives an UPDATE, MESSAGE or PUBLISH request containing a P-Asserted-Identity header field, it MUST behave as for any other request in accordance with the rules of RFC 3325 for a UAS.



 TOC 

4.3.2.  Response handling

A UAS MAY include a P-Asserted-Identity header field in a response to report the identity of the user on behalf of which the UAS is acting and whose identity the UAS is in a position to assert. A UAS SHOULD do so only in cases where it can expect to be trusted by the first proxy that handles the response.

Note that a proxy might trust a UAS such as a known PSTN gateway. The proxy might trust the PSTN gateway to assert an identity received from the PSTN, the proxy itself having no means to authenticate such an identity.



 TOC 

5.  IANA considerations

None



 TOC 

6.  Security considerations

The use of asserted identity raises a number of security considerations, which are discussed fully in RFC 3325 [RFC3325] (Jennings, C., Peterson, J., and M. Watson, “Private Extensions to the Session Initiation Protocol (SIP) for Asserted Identity within Trusted Networks,” November 2002.). This document raises the following additional security considerations.

When receiving a request or response containing a P-Asserted-Identity header field directly from a UA (rather than from another proxy), a proxy may trust the UA in certain circumstances. This might occur if the UA is a known PSTN gateway and the request or response has been secured by TLS. The proxy might trust the PSTN gateway to assert an identity received from the PSTN, the proxy itself having no means to authenticate such an identity. In other circumstances a proxy should not trust an identity asserted by a UA.

When receiving a response from an untrusted node, a proxy has no direct SIP means to authenticate the node. However, if authentication has taken place by other means (e.g., an earlier use of SIP digest authentication) and the entity sending the response is known to be the same entity (e.g., connected via the same TLS session) this can be sufficient grounds for asserting an identity. In other circumstances a proxy must not assert identity for a responding user.



 TOC 

7. Normative 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.
[RFC2119] Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” BCP 14, RFC 2119, March 1997 (HTML, XML).
[RFC3311] Rosenberg, J., “The Session Initiation Protocol (SIP) UPDATE Method,” RFC 3311, September 2002.
[RFC3325] Jennings, C., Peterson, J., and M. Watson, “Private Extensions to the Session Initiation Protocol (SIP) for Asserted Identity within Trusted Networks,” RFC 3325, November 2002.
[RFC3428] Campbell, B., Rosenberg, J., Schulzrinne, H., Huitema, C., and D. Gurle, “Session Initiation Protocol (SIP) Extension for Instant Messaging,” RFC 3428, November 2002.
[RFC3903] Niemi, A., “Session Initiation Protocol (SIP) Extension for Event State Publication,” RFC 3903, November 2002.


 TOC 

Author's Address

  John Elwell
  Siemens Enterprise Communications GmbH & Co KG
  Hofmannstrasse 51
  D-81379 Munich
  Germany
Phone:  +44 115 943 4989
Email:  john.elwell@siemens.com


 TOC 

Full Copyright Statement

Intellectual Property