SIP WG                                                         J. Elwell
Internet-Draft                         Siemens Enterprise Communications
Intended status:  BCP                                    October 1, 2008
Expires:  April 4, 2009


  Identity Handling at a Session Initiation Protocol (SIP) User Agent
              draft-elwell-sip-identity-handling-ua-00.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 April 4, 2009.

Abstract

   Session Initiation Protocol (SIP) User Agents (UA) receive
   identifiers for the caller and callee during call establishment.
   These identifiers can come in a variety of forms, can be delivered by
   a variety of means, and may or may not be accompanied by evidence of
   authenticity.  Furthermore, if media are secured (e.g., using the
   Secure Real-Time Protocol, SRTP), the security properties of the
   media will depend on binding the media to a received authenticated
   identifier.  This document examines the various identification
   information a UA can receive during call establishment and how a user
   agent can use this information to present a caller or callee
   identifier to the user and indicate to the user the security
   properties of the call, as well as how the user agent might use this



Elwell                    Expires April 4, 2009                 [Page 1]

Internet-Draft        Identity Handling at a SIP UA         October 2008


   information for other purposes, such as authorizing acceptance of a
   call.

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


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Considerations for caller identifiers received in INVITE
       requests . . . . . . . . . . . . . . . . . . . . . . . . . . .  4
     2.1.  Uses of caller identifiers . . . . . . . . . . . . . . . .  4
     2.2.  Types of URI for caller identifiers  . . . . . . . . . . .  5
     2.3.  Means of delivering caller identifiers . . . . . . . . . .  6
     2.4.  Reliability of caller identifiers  . . . . . . . . . . . .  7
     2.5.  Message integrity  . . . . . . . . . . . . . . . . . . . .  9
     2.6.  Media security . . . . . . . . . . . . . . . . . . . . . . 10
     2.7.  Considerations when presenting a received caller
           identifier to the user . . . . . . . . . . . . . . . . . . 11
     2.8.  Considerations for providing a secure call indicator
           to the user  . . . . . . . . . . . . . . . . . . . . . . . 13
     2.9.  Considerations for using a received caller identifier
           for other purposes . . . . . . . . . . . . . . . . . . . . 14
     2.10. Summary of considerations  . . . . . . . . . . . . . . . . 15
   3.  UA best practice for handling received caller identifiers  . . 16
   4.  IANA considerations  . . . . . . . . . . . . . . . . . . . . . 16
   5.  Security considerations  . . . . . . . . . . . . . . . . . . . 16
   6.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 16
   7.  Informative References . . . . . . . . . . . . . . . . . . . . 16
   Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 17
   Intellectual Property and Copyright Statements . . . . . . . . . . 18




















Elwell                    Expires April 4, 2009                 [Page 2]

Internet-Draft        Identity Handling at a SIP UA         October 2008


1.  Introduction

   An important aspect of the Session Initiation Protocol (SIP)
   [RFC3261] is the delivery of an identifier (in the form of a URI)
   representing the source of a request to a User Agent (UA) that
   receives the request.  In the case of an INVITE request, used to
   establish a call, the delivered identifier is taken to represent the
   caller's identity.  Typically this information is rendered to the
   called user in some way.  A successful INVITE request results in the
   establishment of one or more media sessions.  Usually the identified
   caller is also taken to be the source of any received media and the
   sink of any transmitted media.

   Unfortunately, unless proper security measures are taken, there is
   scope for delivering an incorrect caller identifier and misleading
   the called user.  This can have serious consequences in some
   circumstances, where the called user relies on receiving a correct
   caller identifier in order to decide whether to accept the call and
   how to behave during the call (e.g., in terms of information
   disclosed to the caller).  Also an incorrect caller identifier can
   impact any automated call handling at the UA, e.g., authorising
   acceptance of the call.  This document specifies best practices for
   UAs handling received caller identifiers, taking into account any
   evidence as to their authenticity.

   Similarly a caller's UA can receive an identifier representing the
   user who answers a call, i.e., the callee.  The callee identifier,
   sometimes known as the connected identifier, may differ from the
   target identifier used when establishing the call, e.g., because of
   call forwarding.  The callee identifier can be received in a request
   in the reverse direction on the INVITE-initiated dialog.  Although
   this document primarily talks about caller identifiers, most of the
   considerations apply equally to callee identifiers.

   Note that although a response to an INVITE request may be considered
   an appropriate vehicle for delivering a callee identifier, security
   considerations have so far prevented this being standardised.

   SIP also delivers to the UA the source identifier of non-INVITE
   requests outside the context of an INVITE-initiated dialog.  Some of
   these, such as MESSAGE requests, result in information being rendered
   to the user, and here too a reliable source identifier can be
   important to the user.  Some requests (such as SUBSCRIBE requests) do
   not necessarily result in rendering anything to the user, but still
   the source identifier may be important to the UA, e.g., for
   authorizing acceptance of the request.  Considerations for other
   requests are similar to those for INVITE requests, with the exception
   that there are no media streams established.



Elwell                    Expires April 4, 2009                 [Page 3]

Internet-Draft        Identity Handling at a SIP UA         October 2008


   OPEN ISSUE.  Do we need anything else on non-INVITE requests, later
   in the document?


2.  Considerations for caller identifiers received in INVITE requests

2.1.  Uses of caller identifiers

   A UA can make use of caller identifier in a number of ways, for
   example:

   o  for rendering to the user during alerting and during the answered
      call (e.g., by means of a display);

   o  for inclusion in an entry in a call log of missed or answered
      calls;

   o  for making a return call to the caller;

   o  for authorizing receipt of an incoming call (e.g., by checking
      against a white list or black list);

   o  for look-up in a phone book in order to obtain and render to the
      user more information about the caller (e.g., name, customer
      number, picture);

   o  for deciding whether the call requires special treatment, e.g.,
      redirecting.

   For all of these the authenticity of the caller identifier is
   important, and for some uses it is particularly important.  For
   example, it is particularly important for checking against a white
   list.  Although an unauthenticated identifier could still be rendered
   to the user, in doing so it would need to be made clear to the user
   that the identity is not to be relied on.

   Similarly a caller can make use of a callee identifier in a number of
   ways, e.g.:

   o  for rendering to the user during the call;

   o  for inclusion in an entry in a call log of outgoing calls;

   o  for making a repeat call to the callee.

   This information is particularly useful when the callee (the
   answering user) is not the anticipated user, as a result of the call
   undergoing forwarding, for example.  The authenticity of the callee



Elwell                    Expires April 4, 2009                 [Page 4]

Internet-Draft        Identity Handling at a SIP UA         October 2008


   identifier might also be important for some purposes.

2.2.  Types of URI for caller identifiers

   SIP normally delivers the following types of URI:

   o  type 1 - a telephone number in a TEL URI (e.g., tel:+123456789);

   o  type 2 - a telephone number and a domain name in a SIP or SIPS URI
      (e.g., sip:+123456789@example.com;user=phone); or

   o  type 3 - a SIP or SIPS URI not containing a telephone number
      (e.g., sip:alice@example.com).

   Type 1 can be subdivided according to whether the telephone number is
   global E.164 number (type 1a), as denoted by a '+' before the number,
   or significant only within a certain context (type 1b).  For a type
   1b identifier, the TEL URI will contain a phone-context parameter.

   Type 2 identifiers are marked as such by user=phone parameter in the
   SIP or SIPS URI, in which case the user part of the URI is a
   telephone subscriber string, as for a TEL URI.  In this case type 2
   identifiers can be subdivided according to whether the telephone
   number is global (type 2a) or significant only within a certain
   context (type 2b).  For a type 2b identifier, the telephone
   subscriber string will contain a phone-context parameter.

   Type 3 identifiers lack a user=phone parameter.  The user part is
   often not numeric, and this type of identifier is sometimes referred
   to as email-style.

   Sometimes the user part of a type 3 identifier can be numeric, in
   which case often it can represent a phone number and often it is
   interpreted by a recipient as representing a phone number.  In the
   absence of a phone-context parameter associated with the number, the
   context is given by the domain part, although the use of "+" in front
   of a number by convention tends to mean it is a global E.164 number.
   This is a grey area.  Strictly speaking such URIs should be treated
   as type 3, but in practice they are often treated as type 2.  For the
   purposes of this document they are treated as type 3.

   For type 1 identifiers, the only information is the telephone number,
   plus the context in the case of type 1b.  The number (plus the
   context in the case of type 1b) should be rendered to the user and/or
   used for other purposes by the UA.

   For type 2 identifiers, the domain part might also be significant.
   In theory, given the presence of a user=phone parameter, the user



Elwell                    Expires April 4, 2009                 [Page 5]

Internet-Draft        Identity Handling at a SIP UA         October 2008


   part alone (including phone context in the case of type 2b) is
   globally unique.  However, the domain part might still be useful
   information.  For example, a user who does not recognise the number
   might recognise the domain name.  Note that the domain part does not
   necessarily imply that the number is owned by that domain, but it
   does mean that the number is meaningful within that domain and that
   the user of that number is reachable via that domain.  Where a phone-
   context parameter is present, this may or may not be redundant
   information (i.e., it could indicate the same domain that is in the
   domain part).

   Herein lies a potential problem, however.  It is sometimes the
   practice of intermediaries to change the domain part of a type 2
   identifier to their own domain name.  Since the user part is globally
   unique, this apparently does no harm.  Effectively it says that, by
   routing through my domain, you can reach the identified user.
   However, this reduces the value of a type 2 URI received by a UA.
   For example, if all requests arrive via the user's service provider
   and that service provider always substitutes its own domain name, the
   UA and its user will always receive the same domain name and will not
   receive the original domain name.  This renders the domain part of a
   type 2 identifier useless.

   For type 3 identifiers, the user part alone is not significant, even
   if it might look like a telephone number.  A UA must always take the
   domain part into account when rendering to a user and for other
   purposes.

   Although URI schemes other than TEL, SIP and SIPS can be encountered,
   this is unusual and is not considered further in this document.

2.3.  Means of delivering caller identifiers

   SIP provides 3 ways of delivering the source of a request and hence
   the caller identifier.

   o  the From header field;

   o  the P-Asserted-Identity header field [RFC3325];

   o  an S/MIME [RFC3851] body part known as Authenticated Identity Body
      (AIB) [RFC3893].

   As S/MIME has not seen any deployment in SIP, the last of these
   methods in practice is not available, even though it would provide an
   authenticated identifier.  A major obstacle is the need for UAs to
   have PKI-based certificates.  Therefore in practice the options are
   the From header field and the P-Asserted-Identity header field.  In



Elwell                    Expires April 4, 2009                 [Page 6]

Internet-Draft        Identity Handling at a SIP UA         October 2008


   many cases a UA may receive both.

   There may also be an Identity header field [RFC4474] providing a
   signature over the From header field URI and other parts of the
   message (this technique being known as SIP Identity).

   A UA can receive more than one caller identifier:  up to two
   identifiers can be received in P-Asserted-Identity (one TEL URI
   and/or one SIP or SIPS URI) and one identifier can be received in
   From (a TEL, SIP or SIPS URI).  The choice of which to use is not a
   straightforward decision.  It will be influenced by the extent to
   which each received identifier is trusted.  There can be grounds for
   making use of more than one received identifier.

   Similar mechanisms can be used to deliver the callee identifier in a
   request in the reverse direction.  Doing this using the From and
   Identity header fields is specified in [RFC4916].  Note that, other
   than S/MIME, there is currently no available mechanism for delivering
   an authenticated identity in a response.

   An identifier delivered in a From or P-Asserted-Identifier header
   field can be accompanied by a "display-name" field giving further
   information about the caller, typically the name.

2.4.  Reliability of caller identifiers

   The From header field is always present in a request (even though it
   might be anonymised), and hence a URI is always available (except
   that it could be a special URI denoting anonymity).  Without a valid
   signature in an Identity header field, the From URI is easily forged,
   either by the UAC or by an intermediary.  Thus an unsigned From URI
   is the least trustworthy of the caller identifiers that can be
   received.

   If accompanied by an Identity header field containing a valid
   signature signed using a certificate whose certification authority
   (or chain of certification authorities) is trusted, a far higher
   degree of trust can be placed in the From URI.  The request is known
   to have come from the signing domain (the domain in the From URI),
   and, if that domain can be trusted, the request is known to have come
   from the entity identified in the user part of the From URI.  The
   From URI can only be a SIP or SIPS URI in this case, not a TEL URI.
   The signature does not cover the display-name part of the From header
   field, and therefore the display-name cannot be relied upon.

   A P-Asserted-Identity URI is asserted by the last proxy.  This
   assertion may be on the basis of an assertion by the previous proxy,
   and so on.  Therefore it relies on transitive trust.  Moreover, an



Elwell                    Expires April 4, 2009                 [Page 7]

Internet-Draft        Identity Handling at a SIP UA         October 2008


   entity should trust its next upstream entity only if the SIP message
   is delivered over a secure transport (e.g., TLS).  Even though a UA
   may trust its inbound proxy, it generally has no idea what further
   proxies and domains upstream have been involved in delivering the
   request and whether secure transport has been used on all signalling
   hops.  Even if a received request has been delivered over TLS and has
   a SIPS Request-URI, the UA can never be sure that a secure transport
   has been used on all signalling hops, as explained in
   [I-D.ietf-sip-sips].  This transitive trust model is designed for use
   only in closed environments where all involved entities can be
   trusted, but as those environments open up to accepting traffic from
   other domains, the model breaks down.  Consequently, a P-Asserted-
   Identity URI is generally less trustworthy than a signed From URI,
   but more trustworthy than an unsigned From URI.

   Furthermore, although a P-Asserted-Identity header field can contain
   a display-name, the assertion strictly speaking covers only the URI,
   and therefore the display-name is even less trustworthy than the URI.

   Verifying a SIP Identity header field is not a simple matter,
   involving steps such as fetching the certificate (if not already
   cached), verifying the certification chain and performing the
   cryptographic operations.  Often this job is done by the inbound
   proxy, which can then insert a P-Asserted-Identity header field to
   assert the identifier that it has just verified in the From header
   field.  If this procedure has taken place, there may be grounds for
   placing a higher level of trust in the P-Asserted-Identity URI, but
   how does the UA know that this has taken place?  One possibility
   would be for the inbound proxy always to remove invalid Identity
   header fields, so that on receipt of request containing an Identity
   header field the UA can assume that it has been verified by the
   inbound proxy (assuming the request can be shown to have arrived via
   the inbound proxy).

   Similar considerations apply to callee identifiers.

   Additional considerations arise for calls from PSTN via a gateway.
   The gateway cannot authenticate the caller or callee identifier
   received from the PSTN, and strictly speaking should not assert such
   an identifier using P-Asserted-Identity or SIP Identity.  It can, of
   course, assert its own identity, e.g.:

      sip:gateway1@example.com

   By asserting:

      sip:+123456789@example.com;user=phone




Elwell                    Expires April 4, 2009                 [Page 8]

Internet-Draft        Identity Handling at a SIP UA         October 2008


   it at least makes it clear that the call has been delivered via
   example.com, but example.com cannot have claimed to have
   authenticated the telephone number.  Unfortunately there is no
   mechanism available at present whereby the UA can know that such an
   assertion is being made by a PSTN gateway.  An assertion of:

      tel:+123456789

   is even more misleading, since it does not even convey a domain name.

   Unfortunately assertions of telephone numbers by PSTN gateways is
   common practice.  This undermines the reliability of caller
   identifiers based on telephone numbers (identifier types 1 and 2).

2.5.  Message integrity

   There is limited benefit in trusting the source identifier of a SIP
   request if other parts of the message could have been tampered with
   en route.  In particular, for an INVITE request conveying a Session
   Description Protocol (SDP) offer, modifying the SDP can benefit an
   attacker, e.g., by forcing all media to terminate at a device chosen
   by the attacker rather than the device that has originated the
   request, by downgrading security capabilities(e.g., removing any
   option of using SRTP) or by downgrading a codec (e.g., to one that
   makes breaking SRTP encryption easier).

   The Identity header field signature provides integrity protection
   over a considerable part of a request, including the entire body (and
   therefore any SDP body part) and certain the header fields, but
   omitting header fields that normally would be changed by proxies
   (e.g., Via, Record-Route) and header fields of lesser importance
   (e.g., Call-Info, User-Agent).  Also the display-name part of the
   From header field is omitted from the signature.  By including the
   Date, Call-Id and CSeq header fields in the signature, a measure of
   protection against replay attack is also provided.

   It has been argued that the Identity header field signs too much, and
   does not cater for the legitimate needs of B2BUAs (such as session
   border controllers, SBCs) that need to perform media steering (e.g.,
   to force media onto a high quality route) and therefore need to alter
   IP addresses and ports in SDP.  Also B2BUAs often change the Call-Id,
   CSeq and Contact header fields.  This may prevent the deployment of
   SIP Identity in certain environments.  In the absence of any solution
   to this at present, this document assumes SIP Identity, as specified
   in [RFC4474], as the means for delivering an authenticated caller
   identifier along with message integrity protection.





Elwell                    Expires April 4, 2009                 [Page 9]

Internet-Draft        Identity Handling at a SIP UA         October 2008


      Note that one work-around could be for B2BUAs that break the
      Identity header field signature in this way to re-sign the
      request, but this would no longer provide end-to-end integrity
      protection and authentication.  Also it would involve using the
      B2BUA's own domain certificate, and since the domain name in the
      certificate must match that in the domain part of the SIP/SIPS URI
      (according to [RFC4474]), this might involve changing the domain
      part of the SIP/SIPS URI, which is possible only if the user part
      is globally unique (as, for example, in the case of a fully
      qualified E.164 number).

   In the absence of the Identity header field, message integrity
   protection is achievable only on a hop-by-hop basis, by using a
   secure transport (e.g., TLS) on each hop.  Even if a received request
   has been delivered over TLS and has a SIPS Request-URI, the UA can
   never be sure that a secure transport has been used on all signalling
   hops.  Also it cannot be sure that a malicious intermediary has not
   altered parts of the message that should not have been altered.

   P-Asserted-Identity provides no form of message integrity protection,
   but instead relies on hop-by-hop assertions that integrity has not
   been compromised.

2.6.  Media security

   Knowing that a SIP INVITE request comes from a given user is not
   particularly useful unless the recipient can be sure that media it
   transmits and receives is transported to and from that same user.  To
   some extent the use of SIP Identity helps, because it provides
   integrity protection over ports and IP addresses in SDP.  However,
   that does not help against attacks that spoof IP addresses or
   intercept media.  Often the user's needs are met only by
   authentication, integrity protection and encryption of media.  For
   the purposes of this document, only real-time media (e.g., audio,
   video) transported over the Real-time Transport Protocol (RTP)
   [RFC3550] are considered, but similar considerations apply to other
   types of media.  With RTP, these security properties can be obtained
   using the Secure Real-time Transport Protocol (SRTP) [RFC3711].

   In order to use SRTP, a security context, including master keys and
   salts, has to be negotiated between UAs.  There are several
   standardised ways of doing this, each with various advantages and
   disadvantages.  The most recent mechanism standardised by the IETF
   (and having superior security properties compared with earlier
   mechanisms) is based on Datagram TLS (DTLS) [RFC4347] and is known as
   DTLS-SRTP [I-D.ietf-sip-dtls-srtp-framework].  With DTLS-SRTP,
   authentication of the SRTP streams depends on mutual authentication
   of the UAs during the DTLS handshake, which agrees the security



Elwell                    Expires April 4, 2009                [Page 10]

Internet-Draft        Identity Handling at a SIP UA         October 2008


   context.  This in turn depends on certificates held by the UAs.
   Although these can be issued by a PKI, deployment of PKI-based
   certificates to UAs can be problematic, as already noted (this being
   the reason why S/MIME has not been deployed).  Self-signed
   certificates alone provide no means of authentication, but if used in
   conjunction with SIP Identity, they can suffice.  This is achieved by
   including a fingerprint (hash) of the certificate in SDP, which
   therefore gets signed as part of the Identity header field signature
   and is therefore integrity protected.  This effectively binds the
   certificate to the signed From URI, and hence binds the media streams
   to that same identifier.

   Consequently, a UA using DTLS-SRTP needs to submit a fingerprint of
   its own certificate in the SDP it sends, and needs to check the
   fingerprint in the SDP it receives to ensure that it matches the
   fingerprint of the certificate received during DTLS handshake.  If
   this check fails (or if any other aspect of DTLS-SRTP negotiation
   fails, the media concerned cannot be considered secure.

   The calling UA can submit its fingerprint in the SDP offer sent in
   the INVITE request.  The callee UA can submit its fingerprint in the
   SDP answer in a response to the INVITE request, but there is no way
   of using the Identity header field in a response.  Therefore to
   provide authentication and integrity protection, the callee's UA must
   send a further SDP offer, including its fingerprint, in a new request
   in accordance with [RFC4916].  Until this has been received and
   validated, the caller's UA cannot consider the media fully secure.

   All this depends on the integrity of the Identity header field
   signature being preserved.  As observed in Section 2.5, some B2BUAs
   (such as SBCs) on the signalling path can alter parts of the request
   and hence break the signature in certain circumstances.  In such
   situations the security properties of the media are diminished.

   Additional considerations arise for calls from and to PSTN.  Media
   security is known about only as far as the gateway.  Even if the PSTN
   is considered secure, there may be insecure hops beyond the PSTN.

2.7.  Considerations when presenting a received caller identifier to the
      user

   When a UA receives a caller identifier, careful consideration needs
   to be given to what information is displayed to the user.

   For type 1 identifiers, clearly the telephone number should be
   presented, but also the phone-context parameter (if present) could
   contain important information.




Elwell                    Expires April 4, 2009                [Page 11]

Internet-Draft        Identity Handling at a SIP UA         October 2008


   For type 2 identifiers, both the telephone number and the domain
   should be presented, because either could be useful to the user.
   Also the phone-context parameter (if present) could contain important
   information, although it might just duplicate what is in the domain
   part.

   For type 3 identifiers, both the user part and the domain part should
   be presented, because neither is necessarily sufficient on its own.

      Note that for type 2 and type 3 identifiers where the domain part
      is an IP address, presentation of the IP address is less likely to
      be useful.

   The user should also be provided with an indication of
   trustworthiness, taking into account the considerations in
   Section 2.4.  For example, an unauthenticated From URI should be
   distinguishable from an authenticated From URI.  The degree of trust
   in a P-Asserted-Identity URI will be a matter of policy.  Because it
   is impossible to distinguish a call originating from the PSTN, any
   identifier based on a telephone number probably has to be treated as
   untrusted.  However, most users are not aware of the implications of
   security indicators and should not be overloaded by them.

   If a display-name is received, the general advice is not to present
   it to the user.  Presenting an authenticated identifier along with an
   unauthenticated display-name would be misleading.  A preferred
   solution is to obtain a name by phone-book look-up, based on the
   received authenticated identifier, and present that.  If an
   unauthenticated identifier is presented (and indicated as not to be
   trusted), little additional harm would arise from also presenting the
   display-name.

   When a UA receives more than one caller identifier, the choice of
   which one to present to the user will be influenced by
   trustworthiness.  Generally the most trustworthy should be chosen.
   When two of equal trust are received (e.g., a TEL URI and a SIP URI
   in the P-Asserted-Identity header field), there may be grounds for
   presenting each (or elements of each), if this is possible, because
   either or both could be of use to the user.

   Similar considerations apply to callee identifiers.

   For a call from or to PSTN via a gateway, it is possible that two
   identifiers are delivered:  a type 3 URI identifying the gateway (as
   a From URI with SIP Identity) and a type 1 or type 2 identifier (as a
   P-Asserted-Identifier URI) giving the telephone number received from
   the PSTN, e.g.:




Elwell                    Expires April 4, 2009                [Page 12]

Internet-Draft        Identity Handling at a SIP UA         October 2008


      From:  sip:gateway@example.com

      P-Asserted-Identity:  tel:+123456789

   If both are presented to the user, the former could be indicated as a
   trusted identifier and the latter as an untrusted identifier.
   However, for many users this would be information overload and might
   lead to confusion, so careful consideration has to be given to how
   such information is presented.

2.8.  Considerations for providing a secure call indicator to the user

   Users generally regarded calls over the PSTN to be secure, rightly or
   wrongly.  Only for particularly sensitive applications were
   additional end-to-end security measures used.  With calls over an IP
   network, many more service providers, at both the transport level and
   the session level, are potentially involved, and the basic network
   infrastructure is inherently insecure.  By default, calls must be
   regarded as insecure, unless appropriate measures have been taken to
   secure both signalling and media.  Because many calls will not have
   the required security properties, either because measures are not
   available or not requested, users need to be made aware of the
   security status of a call.  This is analogous to accessing web pages
   via HTTP or HTTPS, whereby a browser will display a security icon
   when HTTPS is used and the server has been satisfactorily
   authenticated.

   A user interested in the security of a call will not, in general,
   understand the difference between signalling and media.  The general
   expectation is that anything spoken (or transmitted in some other
   medium) is delivered to the remote party without eavesdropping or
   alteration, that anything heard (or received in some other medium)
   has come from the remote party without eavesdropping or alteration,
   and that the remote party is as expected.  Although in some cases the
   user might rely on voice recognition (or face recognition in the case
   of video) to ensure that the remote party is as expected, the remote
   party might not be known sufficiently for this to happen.  For
   example, the remote party might be known by name, but not by voice or
   sight.  As another example, the remote party might not be known by
   name, but only by function or affiliation (e.g., an employee of a
   particular bank).  In these cases, caller identification (or callee
   identification) plays an important role (or indeed the only role) in
   ensuring that the remote party is as expected.

   Therefore, to meet a user's security expectations, real-time media
   need to be secured using SRTP (and other media need to be similarly
   secured).  Also media need to be bound to an authenticated caller (or
   callee) identifier.  Assuming DTLS-SRTP is used with self-signed



Elwell                    Expires April 4, 2009                [Page 13]

Internet-Draft        Identity Handling at a SIP UA         October 2008


   certificates for negotiating the security context for SRTP, this
   requires the Identity header field to be used to sign the From URI
   and the DTLS-SRTP certificate fingerprint.  Unless a UA has verified
   that DTLS-SRTP is used, that a verified authenticated identifier for
   the remote party has been received, and that media are bound to the
   signalling and hence to the authenticated identifier, the call should
   not be indicated as secure.

   A call from PSTN should be indicated as insecure, unless the
   presented identifier is clearly that of the gateway rather than that
   of the PSTN caller.  Where the identifier is based on a telephone
   number, the call probably has to be indicated as insecure.

2.9.  Considerations for using a received caller identifier for other
      purposes

   When a UA receives a caller identifier, in addition to presentation
   to the user, it can be used for many other purposes, including those
   listed in Section 2.1.  Whether an identifier is usable for any given
   purpose might depend on its trustworthiness.  For example, for
   authorising acceptance of a call, authenticated identity will be
   necessary, whereas for making a return call attempt it might not be
   considered necessary.

   Some actions might depend on the type of identifier received.  For
   example, call forwarding might apply to calls from a particular
   telephone number or range of telephone numbers (e.g., area code,
   country code) or to calls from a particular domain.  In the case of a
   telephone number, behaviour should probably be independent of whether
   the number is received in a type 1 or type 2 identifier.  Likewise,
   in the case of a domain, behaviour should be independent of whether
   the domain is received in a type 2 or type 3 identifier.  In
   configuring a UA to take special action depending on the received
   identifier, account needs to be taken of the different forms in which
   the identifier can be received.

   Note that certain SIP service provider practices can make things
   difficult for a user programming a UA to take account of caller
   identifiers.  For example, if a UA expects a URI of the form:

      sip:+123456789@mybank.example.com;user=phone

   and that gets changed by a service provider to:

      sip:+123456789@serviceprovider.example.net;user=phone

   the UA would not find a match and the desired behaviour would fail to
   take place.  If the user is able to predict this and program the UA



Elwell                    Expires April 4, 2009                [Page 14]

Internet-Draft        Identity Handling at a SIP UA         October 2008


   to take account of such aliases, it could be made to work, but this
   makes things difficult for the user and won't work when a call
   arrives via an unanticipated service provider.

   Similarly, if the UA is programmed to take a particular action on
   calls from example1.com, this will not work if the domain is changed
   to example2.net.

   Another issue concerns non-global telephone numbers.  Even though a
   type 1 or type 2 identifier containing a locally-significant number
   should contain a phone-context to make it globally unique, tolerance
   of local numbers can be difficult to program at a UA.  Generally,
   global numbers should be given, although the use of local numbers
   within the domain for which they are significant is generally easier
   to accommodate.  For example, within an enterprise it might be
   feasible to use numbers of the form:

      sip:6789;phone-context=zone1.example1.com@example1.com;user=phone

   within zone 1 of example1.com, but outside that zone it is preferable
   to use global numbers.

   Some of these considerations apply also to callee identifiers.

2.10.  Summary of considerations

   A UA can use received caller or callee identifiers for many purposes,
   including presentation to the user.  A received identifier can take
   various forms (type 1, type 2 and type 3), and sometimes more than
   one identifier can be received.  Furthermore an identifier can be
   delivered by various means, including the From and P-Asserted-
   Identity header fields.  The trustworthiness of an identifier depends
   on its type, how it is delivered and, in the case of the From header
   field, whether it is accompanied by a valid signature using the
   Identity header field.  Finally, the media may or may not be secured
   using SRTP, and if so the source/destination of media may or may not
   be authenticated, based on the binding of media to signalling and
   receipt of an authenticated identifier for the signalling.

   It is the UA's task to make use of all this information in a
   meaningful way (e.g., for purposes such as white list checking,
   automatic call handling, phone book look-up, etc.) and somehow
   present salient facts to the user.  A typical user probably just
   wants to know the identity of the caller or callee and whether the
   call is secure, although this might be over-simplification of the
   true situation and knowledgeable users might want more information
   (e.g., similar to what might be obtained by clicking on the padlock
   icon on a web browser).



Elwell                    Expires April 4, 2009                [Page 15]

Internet-Draft        Identity Handling at a SIP UA         October 2008


3.  UA best practice for handling received caller identifiers

   OPEN ISSUE.  Placeholder for normative statements.


4.  IANA considerations

   This document requires no IANA actions.


5.  Security considerations

   Security of caller identifiers, signalling and media are discussed
   throughout this document.  There are no additional security
   considerations.


6.  Acknowledgements

   Thanks to Kai Fischer and Dan Wing for reviewing the initial draft.


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

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

   [RFC3550]  Schulzrinne, H., Casner, S., Frederick, R., and V.
              Jacobson, "RTP: A Transport Protocol for Real-Time
              Applications", STD 64, RFC 3550, July 2003.

   [RFC3711]  Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K.
              Norrman, "The Secure Real-time Transport Protocol (SRTP)",
              RFC 3711, March 2004.

   [RFC3851]  Ramsdell, B., "Secure/Multipurpose Internet Mail
              Extensions (S/MIME) Version 3.1 Message Specification",
              RFC 3851, July 2004.

   [RFC3893]  Peterson, J., "Session Initiation Protocol (SIP)
              Authenticated Identity Body (AIB) Format", RFC 3893,



Elwell                    Expires April 4, 2009                [Page 16]

Internet-Draft        Identity Handling at a SIP UA         October 2008


              September 2004.

   [RFC4347]  Rescorla, E. and N. Modadugu, "Datagram Transport Layer
              Security", RFC 4347, April 2006.

   [RFC4474]  Peterson, J. and C. Jennings, "Enhancements for
              Authenticated Identity Management in the Session
              Initiation Protocol (SIP)", RFC 4474, August 2006.

   [RFC4916]  Elwell, J., "Connected Identity in the Session Initiation
              Protocol (SIP)", RFC 4916, June 2007.

   [I-D.ietf-sip-dtls-srtp-framework]
              Fischl, J., Tschofenig, H., and E. Rescorla, "Framework
              for Establishing an SRTP Security Context using DTLS",
              draft-ietf-sip-dtls-srtp-framework-03 (work in progress),
              August 2008.

   [I-D.ietf-sip-sips]
              Audet, F., "The use of the SIPS URI Scheme in the Session
              Initiation Protocol (SIP)", draft-ietf-sip-sips-08 (work
              in progress), February 2008.


Author's Address

   John Elwell
   Siemens Enterprise Communications

   Phone:  +44 115 943 4989
   Email:  john.elwell@siemens.com




















Elwell                    Expires April 4, 2009                [Page 17]

Internet-Draft        Identity Handling at a SIP UA         October 2008


Full Copyright Statement

   Copyright (C) The IETF Trust (2008).

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
   THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
   OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
   THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.











Elwell                    Expires April 4, 2009                [Page 18]