SIP                                                        H. Tschofenig
Internet-Draft                                                   Siemens
Expires: January 19, September 6, 2006                                   J. Peterson
                                                           NeuStar, Inc.
                                                                 J. Polk
                                                                   Cisco
                                                               D. Sicker
                                                              CU Boulder
                                                            M. Tegnander
                                                                    LYIT
                                                           July 18, 2005

                           Using SAML for
                                                               J. Hodges
                                                           NeuStar, Inc.
                                                           March 5, 2006

                      SIP
                    draft-tschofenig-sip-saml-04.txt SAML Profile and Binding
                    draft-tschofenig-sip-saml-05.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 January 19, September 6, 2006.

Copyright Notice

   Copyright (C) The Internet Society (2005). (2006).

Abstract

   This document defines specifies a mechanism for using the Session Initiation Protocol (SIP) profile
   of Security Assertion Markup Language (SAML) in concert with the Session Initiation
   Protocol (SIP).  In particular, it provides as well as a way for SIP to refer to SAML objects, and for recipients of SIP messages to use
   binding.  The defined SIP SAML Profile composes with the mechanisms
   defined in order
   to make more informed authorization decisions. the SIP Identity specification and satisfy requirements
   presented in "Trait-based Authorization Requirements for the Session
   Initiation Protocol (SIP)".

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  4
   3.   Goals and Non-Goals  Specification Scope  . . . . . . . . . . . . . . . . . . . . .  5
   4.  SAML Introduction  . . . . . . . . . . . . . . . . . . . . .   6
     4.1 .  7
     4.1.  SAML Assertions  . . . . . . . . . . . . . . . . . . . . .  8
     4.2.  Abstract Request/Response Protocol . . .   6
     4.2  Artifact . . . . . . . . .  9
   5.  Employing SAML in SIP  . . . . . . . . . . . . . . . .   7
     4.3  Request/Response Protocol . . . . 10
   6.  Use-case Scenarios . . . . . . . . . . . .   7
     4.4  Bindings . . . . . . . . . . 12
     6.1.  PSTN-to-SIP Phone Call . . . . . . . . . . . . . . .   8
     4.5  Profiles . . . 12
     6.2.  SIP Conferencing . . . . . . . . . . . . . . . . . . . . . 13
     6.3.  Compensation using SIP and SAML  .   8
   5.   Assertion Handling Models . . . . . . . . . . . . 15
   7.  SIP SAML Profiles  . . . . .   9
   6.   Scenarios . . . . . . . . . . . . . . . . . 17
     7.1.  AS-driven SIP SAML URI-based Attribute  Assertion
           Fetch Profile  . . . . . . . .  14
     6.1  Network Asserted Identities . . . . . . . . . . . . . . 17
       7.1.1.  Required Information .  14
     6.2  SIP Conferencing . . . . . . . . . . . . . . . . 17
       7.1.2.  Profile Overview . . . . .  16
     6.3  PSTN-to-SIP Phone Call . . . . . . . . . . . . . . 17
       7.1.3.  Profile Description  . . . .  17
     6.4  Compensation using SIP and SAML . . . . . . . . . . . . .  18
   7.   SIP-SAML Extension 21
       7.1.4.  Assertion Profile Description  . . . . . . . . . . . . 24
       7.1.5.  Assertion Verification . . . . . . . . .  20
   8.   Example . . . . . . . 27
   8.  SAML SIP Binding . . . . . . . . . . . . . . . . . . .  21
   9.   Requirement Comparison . . . . 29
     8.1.  SAML HTTP-URI-based SIP Binding  . . . . . . . . . . . . . 29
   9.  Example Signed SAML Assertion  . .  23
   10.  Security Considerations . . . . . . . . . . . . . . 30
   10. Security Considerations  . . . .  24
     10.1   Stolen Assertion . . . . . . . . . . . . . . . 32
     10.1. Man-in-the-middle Attacks and Stolen Assertions  . . . . .  24
     10.2   MitM Attack 32
     10.2. Forged Assertion . . . . . . . . . . . . . . . . . . . . . 33
     10.3. Replay Attack  .  24
     10.3   Forged Assertion . . . . . . . . . . . . . . . . . . . .  24
     10.4   Replay Attack . 33
   11. Contributors . . . . . . . . . . . . . . . . . . . . . .  25
   11.  Contributors . . . 34
   12. Acknowledgments  . . . . . . . . . . . . . . . . . . . . .  26
   12. . . 35
   13. Acknowledgments  . . . . . . . . . . . . . . . . . . . . . .  27
   13. . 36
   14. IANA Considerations  . . . . . . . . . . . . . . . . . . . .  28
   14. . 37
   15. Open Issues  . . . . . . . . . . . . . . . . . . . . . . . .  29
   15. . 38
   16. References . . . . . . . . . . . . . . . . . . . . . . . . .  32
     15.1 . 39
     16.1. Normative References . . . . . . . . . . . . . . . . . .  32
     15.2 . 39
     16.2. Informative References . . . . . . . . . . . . . . . . .  32 . 40
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . .  34 . . . 42
   Intellectual Property and Copyright Statements . . . . . . .  35 . . . 43

1.  Introduction

   This document proposes a method for using specifies composition of the Security Assertion Markup
   Language (SAML) in collaboration V2.0 with SIP [RFC3261] in order to accommodate
   richer authorization mechanisms and enable trait- based "trait-based
   authorization."  Trait-based authorization is where you are authenticated using one is authorized
   to make use of some resource based on roles or traits instead of
   identity.  A motivation rather than
   ones identifier(s).  Motivations for trait based authorization and some
   scenarios trait-based authorization, along
   with use-case scenarios, are presented in [I-D.ietf-sipping-trait-authz]. [I-D.ietf-sipping-trait-
   authz].

   Security Assertion Markup Language (SAML) [I-D.saml-tech-overview-
   1.1-03] v2.0, "SAMLv2", is an XML extension for security information exchange that is
   being developed by OASIS.  SAML is a XML-based XML-
   based framework for creating and exchanging security information.

   To
   [OASIS.sstc-saml-exec-overview-2.0-cd-01] and [OASIS.sstc-saml-tech-
   overview-2.0-draft-08] provide non-normative overviews of SAMLv2.
   The SAMLv2 specification set is normatively defined by [OASIS.saml-
   conformance-2.0-os].

   Various means of providing trait-based authorization a few solutions are possible: exist:
   authorization certificates, SPKI or extensions to the authenticated
   identity body [I-D.ietf-sip-authid-body]. [RFC3893].  The authors selected SAML due to its
   increasing use in environments such as the Liberty
   Alliance Alliance, and the
   Internet2 project, areas where the applicability to SIP is widely
   desired.

2.  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 [RFC2119].

   The SIP entity 'Authentication Service' was network element "Authentication Service" is introduced with in
   [I-D.ietf-sip-identity].  We reuse this term to refer to an entity a network
   element that authenticates and authorizes a user and creates an assertion. a "SIP
   identity assertion".  This system entity is the moral equivalent of the asserting party a
   "SAML Authority" in the SAML terminology.

   For terminology related overall SIP terminology, see [RFC3261].

   In this specification, the term, or term component, "SAML" refers to
   SAML V2.0 in all cases.  For example, the reader is referred to [I-D.saml-
   tech-overview-1.1-03].

3.  Goals and Non-Goals

   This document tries term "SAML assertion"
   implicitly means "SAMLv2 assertion".  For overall SAML terminology,
   see [OASIS.saml-glossary-2.0-os].

   The below list maps other various SIP terms to accomplish the following goals:

   o  This document defines how their SAML assertions are carried
   (rough-)equivalents:

      Element, Network Element:               System Entity, Entity

      Authentication Service:                 SAML Authority

      Invitee, Invited User, Called Party, Callee - Relying Party

      Server, User Agent Server (UAS):        SAML Responder

      User Agent Client (UAC), client:        SAML Requester

   Additional terms concocted in the SIP.
      As such, context of this specification:

      profile attribute(s):

         one or more attributes of a "user profile".

      user profile, subject profile:

         the usage set of SAML assertions within various attributes accompanying (i.e., mapped to) a
         user account in many environments.

3.  Specification Scope

   The scope of this specification is:

   o  Specify a SIP can be seen as profile of SAML -- aka a "SIP SAML profile.

   o  The requirements profile" -- such
      that a subject's profile attributes, and scenarios defined in [I-D.ietf-sipping-trait-
      authz] are compared their domain's
      certificate, can be conveyed to a relying party using SAML.  In
      doing so, satisfy the solution described requirements outlined in this document by
      utilizing SAML assertions. [I-D.ietf-sipping-
      trait-authz], and compose with [I-D.ietf-sip-identity].

   The following issues are outside the scope of this document: specification:

   o  The configuration  Defining a means for configuring the runtime behavior, or
      deployment characteristics, of the Authentication Service.

      Discussion:

      For example, a SIP Authentication Service in order to attach
      certain assertions is outside the scope of this specification and
      might depend could be implemented
      such that its SAML-based features are employed, or not, on the environment where SIP is used.  To avoid
      restricting the functionality a
      subject-by-subject basis, and/or on a domain-by-domain basis.

   o  The definition of SIP either specific conveyed subject profile attributes
      (aka traits).

      Discussion:

      This specification defines a facility enabling "trait-based
      authorization" as an in-band or an
      out-of-band mechanism, it can be defined to trigger the inclusion
      of SAML assertions.  SAML itself provides mechanisms for this
      purpose.

   o discussed in [I-D.ietf-sipping-trait-authz].

      The attributes stored of interest in assertions are, trait-based authorization will be
      ones akin to, for example, example: roles,
      membership to a certain organization, specific organizational membership,
      access rights rights, or
      information about the authentication.  A definition of most authentication event context.  Definition of
      these
      such attributes is application application- and/or deployment-context-
      dependent and are not defined in this
      document. specification.  However, The SAML
      SAMLv2 specification itself provides a number of
      common attributes and provides extension points defines several "SAML Attribute Profiles" for future
      enhancements.  A brief overview of the available
      encoding attributes within
      an assertion is given from various application domains, e.g., LDAP,
      UUID/GUID, DCE PAC, and XACML, in Section 4.1. SAML assertions [OASIS.saml-
      profiles-2.0-os].

      In order for SAML any trait-based system to be used in a practical system, practical, participating
      entities must agree on attributes and traits that will be used. conveyed
      and subsequently relied upon.  Without this pre-existing agreement, SAML such agreements, a trait-
      based system cannot be usefully deployed.  This document specification does
      not discuss the manner in which participating entites might
      discover one another or agree on the syntax and semantics of
      attributes and traits.

   o  SIP is not used as

      Note that SAMLv2 specifies a request/response protocol "metadata" facility that may be
      useful in addressing this need.

4.  SAML Introduction

   SAML [OASIS.sstc-saml-exec-overview-2.0-cd-01] [OASIS.sstc-saml-tech-
   overview-2.0-draft-08] defines an XML-based framework for exchanging
   "security assertions" between entities.  In the Relying
      Party and course of making, or
   relying upon such assertions, SAML system entities may use SAML
   protocols, or other protocols, to communicate regarding an assertion
   itself, or the Asserting Party subject of an assertion.

   Thus one can employ SAML to fetch make and encode statements such as "Alice
   has these profile attributes and her domain's certificate is
   available over there, and I'm making this statement, and here's who I
   am."  Then one can cause such an assertion based to be conveyed to some
   party who can then rely on it in some fashion for some purpose, for
   example input it into some local policy evaluation for access to some
   resource.  This is done in a
      received artifact.

4. particular "context of use".  Such a
   context of use could be, for example, deciding whether to accept and
   act upon a SIP-based invitation to initiate a communication session.

   The specification of how SAML Introduction

   In is employed in a particular context of
   use is known as a "SAML profile".  The specification of how SAML there
   assertions and/or protocol messages are three main entities: conveyed in, or over, another
   protocol is known as a "SAML Binding".  Typically, a SAML profile
   specifies the user, SAML bindings that may be used in its context.  Both
   SAML profiles and SAML bindings reference other SAML specifications,
   especially the asserting party SAML Assertions and Protocols, aka "SAML Core",
   specification [OASIS.saml-core-2.0-os].

   There is an additional subtle aspect of SAML profiles that is worth
   highlighting -- the relying party. notion of a "SAML assertion profile".  A user requests assertions and receives them
   after SAML
   assertion profile is the specification of the assertion contents in
   the context of a successful authentication and authorization protocol
   execution.  The asserting party provides assurance that particular SAML profile.  It is possibly further
   qualified by a particular
   user has been given proper authorization. implementation and/or deployment context.
   Condensed examples of SAML assertion profiles are:

   o  The SAML assertion must contain at least one authentication
      statement and no other statements.  The relying party has to
   trust the asserting party with regard to must be
      represented in the provided information <AudienceRestriction> element.  The
      SubjectConfirmation Method must be Foo. etc.

   o  The SAML assertion must contain at least one attribute statement
      and
   then decides whether or not to accept may contain more than one.  The values for the assertions provided, giving
   different levels of privileges. subject's
      profile attributes named "Foo" and "Bar" must be present.  An
      authentication statement may be present. etc.

   The components primary facets of SAML itself are:

   o  Assertions/Artifact  Assertions

   o  Abstract Request/Response protocols

   o  Bindings

   o  Profiles protocol

   We describe each in turn below

4.1 below:

4.1.  SAML Assertions

   An

   A SAML assertion is a package of information including authentication
   statements, issuer and
   subject, conditions and advice, and/or attribute statements, and/or
   authentication statements and authorization decision and/or other statements.  All of statements do  Statements may or
   may not have to be present, but at
   least one does.  An present.  The SAML assertion "container" itself contains several elements:
   the following information:

   Issuing information:

      Who issued the assertion, when was it issued and the assertion
      identifier.

   Subject information:

      The name of the subject, the security domain and optional subject
      information, like public key.

   Conditions under which the  assertion is valid:

      Special kind of conditions like assertion validity period,
      audience restriction and target restriction.

   Additional advice:

      Explaining how the assertion was made, for example.

   In an terms of SAML assertions containing SAML attribute statements or
   SAML authentication statement, an issuing authority asserts that statements, here are explanatory examples:

      With a
   certain subject was authenticated by certain means at SAML assertion containing a certain time.

   In an SAML attribute statement, an
      issuing authority asserts is asserting that a
   certain the subject is associated with
      certain attributes which has with certain subject profile attribute values.
      For example, user jon@cs.example.com is associated with the
      attribute 'Department', "Department", which has the value 'Computer
   Science'.

   In an authorization decision statement, a certain subject with "Computer Science".

      With a
   certain access type to SAML assertion containing a certain resource has given certain evidence
   that the identity SAML authentication statement,
      an issuing authority is correct.  Based on this, the relying party then
   makes asserting that the decision on giving access or not.  The subject could be a
   human or a program, the resource could be a webpage or a web service,
   for example.

4.2  Artifact

   The artifact used in the Browser/Artifact profile, is was
      authenticated by certain means at a base-64
   encoded string that is 40 bytes long. 20 bytes consists of the
   typecode, which is the source id.  The remaining 20 bytes consists of certain time.

      With a random number that servers use to look up an assertion.  The source
   server stores the SAML assertion temporarily.  The destination server
   receives the artifact containing both a SAML attribute statement
      and pulls the assertion from the source site.
   The purpose of the artifact is to act as a token that references SAML authentication statement, an
   assertion for the subject who holds the artifact.

   Note that artifacts were designed to be used specifically in a web
   context where the asserting party issuing authority is clear due to the client/server
   nature of the protocol.  Artifacts are not globally-derefenceable;
   one cannot tell simply be inspecting an artifact out of context which
   server generated the artifact.  For
      asserting the more peer-to-peer
   architecture union of SIP, enhancements are required to make the context of
   artifact generation known to relying parties.

4.3 above.

4.2.  Abstract Request/Response Protocol

   SAML defines a an abstract request/response protocol for obtaining
   assertions.
   The  See Section 3 "SAML Protocols" of
   [OASIS.saml-core-2.0-os].  A request asks for an assertion or makes queries for
   authentication, attribute and authorization decisions.  The assertion.  A
   response
   carries back returns the requested assertion.

4.4  Bindings

   The bindings in SAML maps between the SAML assertion or an error.  This abstract
   protocol and a transport
   and messaging protocol.  With SAML Version 1.1 there is only one may then be cast into particular contexts of use by binding specified, which is SAML embedded in SOAP-over-HTTP.  In a
   binding, a transport
   it to specific underlying protocols, e.g., HTTP or SIP, and messaging protocol is used only
   "profiling" it for
   transporting the request/response mechanism.

4.5  Profiles

   When using a profile, specific use case at hand.  The SAML HTTP-
   based web single sign-on profile is used to provide assertions about a
   resource in the body one such example (see Section 4.1
   Web Browser SSO Profile of [OASIS.saml-profiles-2.0-os]).  Trait-
   based SIP communication session establishment, the message itself.  In Version 1.1 topic of SAML,
   there are two this
   specification, is another.

5.  Employing SAML in SIP

   Employing SAML in SIP necessitates devising a new SAML profile or
   profiles specified, because the Browser/Artifact profile and those already specified in the Browser/POST profile.  The Browser/Artifact profile represents a
   "pull" model, where a special reference SAMLv2
   specification set are specific to the assertion called an
   artifact, is sent other use contexts, e.g., HTTP-
   based web browsing.  Although SIP bears some similarity to the relying party from the asserting party.  The
   artifact HTTP, it
   is then used to "pull" the assertion from the asserting
   party.  The Browser/POST profile represents a "push" model, where an
   assertion seperately distinct protocol, thus SAML profile specificity is posted (using the HTTP POST command) directly
   warranted.  However, this should not present any untoward
   difficulties due to the
   relying party.  These two models are described in Figure 2 SAML's inherent and
   Figure 1.

5.  Assertion Handling Models

   As mentioned in Section 4.5, two main models can be used in SAML explicit extensibility, and
   therefore
   also with the SIP-SAML extension defined in this document: because SIP is similarly extensible.

   The Push and the Pull model.

   A 'Push' model (or mode) means to transmit information towards
   another entity.  Here we call that transmitting "Authenticated Identity Management in SIP" specification
   [I-D.ietf-sip-identity] (aka "SIP Identity") facilitates the information 'by-
   value'.  An example
   composition of this model (or mode) is an email attachment
   (file).  That attachment is included SAML and SIP in the original transmission, as
   is 'by-value'.

   Whereas, that it defines a 'Pull' model (or mode) means to transmit an identifier for "mediated
   authentication architecture" where a piece of  information is (located somewhere else).  This
   piece of information still requires retrieval by verifying endpoints verify SIP
   identity assertions -- i.e., the receiver of this
   transmission.  Here we call "Identity" header value -- signed by
   an Authentication Service (AS).  The semantic being that transmitting the information 'by-
   reference'.  An example of this model (or mode) AS is including a URI in
   vouching that email, to be accessed directly by it did indeed authenticate the receiver calling party.

   Such an Authentication Service, which likely has access to various
   pieces of information concerning the email in calling party, could also act as
   a
   subsequent operation.

   Either the end host or an intermediate proxy might request an
   assertion or an artifact.  The Push SAML Authority, and make such information available to the Pull model used for HTTP
   does not match with callee
   via SAML.

   Since [I-D.ietf-sip-identity] stipulates that the AS must make its usage in SIP.

   With
   certificate available for retrieval and convey the 'per-value' model either availability and
   access mechanism via a user requests an assertion from
   the Asserting Party or the user triggers URI, in the Asserting Party to
   attach Identity-Info header, we have an assertion to the outgoing request.  The assertion, which is
   added
   opportunity to the service request, compose SIP Identity and SAML.

   Such composition can be verified accomplished by having the Relying Party
   without additional protocol interactions with the Asserting Party.
   The assertion therefore contains enough information resource referred
   to authorize by the
   service request.

   Figure 1 shows URI in the protocol exchange where Identity-Info be a SAML assertion conveying both
   the AS's certificate and user fetches profile attributes.  This is the
   assertion.

     +----------+         +--------------+
   approach defined in this specification.  Figure 1 illustrates this
   approach in a high-level summary fashion.  Figure 5, further below,
   illustrates additional details.

     +--------+           +--------------+          +--------+
     |Alice@  |  User    |         | Asserting    |           |   Relying    |
     |          |         | Party        |           |   Party      |
     +----+-----+         +------+-------+           +------+-------+
          |                      |                          |
          |  Request Assertion   |           |Authentication|          |
          |--------------------->| Bob@   |
     |example |           |Service       |          |example2|
     |.com    |           |@example.com  | User Authentication          |com     |
     |        | and Authorization           |              |
          |<---------------------|          |
          |--------------------->|        |
     +---+----+           +------+-------+          +---+----+
         |                       |                      |
         |    Assertion      INVITE           |                      |
          |<---------------------|
         |---------------------->|                      |
         | From:alice@foo.com    |                      |
         |               Request + Assertion                       |
          |----------------------+------------------------->|                      |
         |  407 Proxy auth. req. |                      |
         |<----------------------|                      |
         |     Challenge         |              Accept/Reject                      |
          |<---------------------+--------------------------|
         |                       |                      |

              Figure 1: Example for a 'Per-value' Interaction

   With the 'per-reference' model either the user contacts the Asserting
   Party to obtain an artifact or the user triggers the Asserting Party
   to attach the artifact to the outgoing request.  The artifact is a
   reference to an assertion is stored at the Asserting Party and can
   later be dereferenced into the assertion on a request.  The Relying
   Party later fetches the SAML assertion after receiving the artifact
   by the user.  For communicating the SAML request and response
   messages, a separate message exchange is needed with a protocol, such
   as SOAP.  A description of this protocol interaction is outside the
   scope of this document.

   Figure 2 shows an example protocol interaction where the user fetches
   the artifact.

     +----------+         +--------------+           +--------------+
         |  User       ACK             |                      | Asserting
         |---------------------->|                      |
         |   Relying                       |                      |
         | INVITE w/authn creds  | Party                      |
         |---------------------->|                      |   Party
         |
     +----+-----+         +------+-------+           +------+-------+                       | INVITE               |
         |                       |  Request Assertion w/Identity header    |
         |                       |--------------------->|
         |                       |                      |                          |
          | User Authentication  |                          |
          | and Authorization    |                          |
          |<---------------------|                          |
          |--------------------->|                          |
          |                      |                          |
          |    Artifact          |                          |
          |<---------------------| Identity-Info    |
         |                       |                      |
         |               Request + Artifact                       |
          |----------------------+------------------------->| HTTP GET SAML assn   |
         |                       |<==================== |
         |                       |    SAML request and domain cert      |
         |                      |<-------------------------|                       |                      |
         |                       |                      |SAML response HTTP 200 OK + Assertion assn   |
         |                      |------------------------->|                       |=====================>|
         |                       | and domain cert      |
         |              Accept/Reject            200 OK     |
          |<---------------------+--------------------------|                      |
         |<----------------------+----------------------|
         |                       |                      |

   Figure 2: Example for a 'Per-reference' Interaction

   The usage of SAML in HTTP-based environments and in SIP is, however,
   affected by some architectural differences.

   The user has to request an assertion at the Asserting Party and both
   entities mutually authenticate each other.  The requested assertion
   is sent to 1: SIP-SAML-based Network Asserted Identity

   Since the user in a confidential manner AS already being trusted to prevent eavesdroppers
   from obtaining this assertion.  The Relying Party trusts the
   Asserting Party.  It is assumed that the accessed resource is located
   at the Relying Party create and that this entity does not become malicious
   or act on behalf of add the user to impersonate him or her to other
   parties with regard to access to his resources.  To prevent some
   degree of misuse, attributes in Identity
   header containing the assertion limit its applicability
   for certain applications, servers or time frame.

   Signaling in SIP can, however, involve a number of entities in more
   complex scenarios.  As an example, the scenario addressed in
   [I-D.ietf-sip-identity] aims Identity Assertion, and to replace end-to-end authentication via
   S/MIME by supply a "mediated authentication architecture".  The end hosts
   only need to be able pointer
   to verify assertions signed by an Authentication
   Service which guarantees that the sender was authenticated.

   Directly applying SAML its domain certificate, having it point instead to such a scenario, however, causes a problem:
   a SIP proxy, which securely receives a SAML
   assertion (such as
   confidentially protected to prevent eavesdroppers between conveying the SIP UA domain certificate and the SIP proxy to learn the assertion), can store this assertion
   to impersonate the user in future requests towards other SIP end
   users.  The fact that multiple parties see the assertion along the
   path (i.e., SIP proxies) make the situation worse.  The assertion
   might include possibly some attributes which restrict its usage (such as
   recipient(s), unique identifier for the message or a time-based
   constraint) but they cannot fully prevent impersonation.

   This problem appears if SAML assertions are not bound to a particular
   SIP transaction or dialog.  Binding the assertion to a particular
   protocol session is user
   profile attributes, does not useful if the property of single-sign on is
   required.

   To provide referential integrity significantly alter the solution described in [I-D.ietf-
   sip-authid-body] can be reused.  Such an approach allows a party first-order
   security considerations examined in a
   SIP transaction to cryptographically sign the headers that assert the
   identity of the originator of a message, and provide some other
   headers necessary for reference integrity.  An authenticated identity
   body (AIB) is a MIME body of type 'message/sipfrag'. [I-D.ietf-sip-identity].  This MIME body
   has a Content-Disposition type of 'aib'.  The MIME body is optional.
   The header fields From, Contact, Date and Call-ID must be used for
   providing identity.  Contact and Date header fields are required for
   providing reference integrity.  AIBs may contain other headers that
   help to uniquely identify the transaction or that
   specification provides related
   reference integrity.

   The requirements for a non-INVITE AIB is very much the same as for an
   INVITE: From, Call-ID, Date and Contact header fields are required.
   The same that goes for requests also goes for responses with some
   small differences.  The From header field of the AIB in the response
   to an INVITE must correspond to the address-of-record of the
   responder and not the From header field additional security considerations
   analysis below in the received request.  The
   To header field of the request must not be included.  A new Date
   header field has to be generated for the response while the Call-ID
   and CSeq are copied from the request.

   Following is an example of the format of an AIB for an INVITE:

                   Content-Type: message/sipfrag
                   Content-Disposition: aib; handling=optional

                   From: Alice <sip:alice@example.com>
                   To: Bob <sip:bob@example2.com>
                   Contact: <sip:alice@pc33.example.com>
                   Date: Thu, 26 Aug 2004 13:51:34 GMT
                   Call-ID: b76m5l94s90835
                   CSeq: 435431 INVITE

                    Figure 3: AIB Format for an INVITE

   The same concept is applicable to this document as well with regard
   to reference integrity.  For a further discussion on this topic see Section 14 and [I-D.peterson-message-identity]. 10.

6.  Use-case Scenarios

   This section shows message flows based on scenarios in [I-D.ietf-
   sipping-trait-authz] enriched with a SAML based solution.
   Section 6.1 provides an example of enhanced network asserted
   identities and Section 6.2 shows a SIP conferencing scenario with role-based access
   control using SAML.  A future version of this document will cover
   more scenarios from [I-D.ietf-sipping-trait-
   authz].

6.1  Network Asserted Identities

   Figure 4 shows an enhanced network asserted identity scenario based
   on [I-D.ietf-sip-identity] which again utilizes extensions proposed
   with [I-D.ietf-sip-authid-body].  The enhancement is based on the
   attributes asserted by [I-D.ietf-sipping-trait-authz].

6.1.  PSTN-to-SIP Phone Call

   Alice, using a phone connected to the Authentication Service.

   Figure 4 shows three entities, Alice@example.com, AS@example.com and
   Bob@example2.com.  If Alice PSTN, wants to communicate with Bob, she sends make a SIP INVITE call to her preferred AS.  Depending on the chosen
   Bob, which resides in a SIP
   security mechanism either digest authentication, S/MIME or Transport
   Layer Security network.  Her call is used to provide switched through
   the AS with a strong assurance
   about PSTN by means of PSTN signaling (outside the identity scope of Alice.  During this step authorization
   attributes for inclusion into the SAML assertion can be selected.

   After Alice is authenticated and authorized, a SAML assertion is
   attached
   document) to the SIP message.  The Authentication Service can be
   configured to attach a number of assertions, not limited to PSTN/SIP gateway.  At the
   authenticated identity.

   To bind gateway, the SAML assertion to a specific SIP session, it call is necessary
   for the AS
   converted from SS7 signaling to compute a hash of some fields of the message.  A list
   of SIP signaling.  Since Alice's PSTN
   phone was previously "authenticated" via PSTN signaling mechanisms,
   the fields to hash is described in [I-D.ietf-sip-identity] and
   particularly in [I-D.ietf-sip-authid-body].  The hash gateway is digitally
   signed and inserted into the SAML assertion and placed into the SAML
   header.  The SAML header also contains information about the entity
   which created the digital signature.  Upon reception of the message,
   Bob verifies the signature of the SAML assertion and verifies the
   binding able to the assert her phone's identity (e.g., her
   telephone number) via SIP message Identity and SAML-based mechanisms (e.g.,
   in order to prevent cut-and-paste attacks.
   The provided SAML assertion can then be used convey profile attributes) to assist during the
   authorization procedure.  If Bob does not understand Bob's SIP proxy, which also
   dereferences the extension
   defined URI in this document, he silently ignores it.  When the 200 OK
   message arrives at Bob's AS, the same procedure as when Alice sent
   her INVITE to her AS can be performed, if desired.  This exchange is
   not shown Identity-Info header in Figure 4.

   Note that this scenario does not imply that order to obtain
   the SAML assertions are
   solely used by SIP UAs.  Assertions can also be helpful for SIP
   proxies or B2B UAs.

     +--------+           +--------------+          +--------+
     |Alice@  |           |Authentication|          | Bob@   |
     |example |           |Service       |          |example2|
     |.com    |           |@example.com  |          |com     |
     |        |           |              |          |        |
     +---+----+           +------+-------+          +---+----+
         |                       |                      |
         |      INVITE           |                      |
         |---------------------->|                      |
         | From:alice@foo.com    |                      |
         |                       |                      |
         |  407 Proxy auth. req. |                      |
         |<----------------------|                      |
         |     Challenge         |                      |
         |                       |                      |
         |  Challenge response   |                      |
         |---------------------->|                      |
         |                       |                      |
         |       INVITE          |                      |
         |---------------------->|                      |
         |                       | INVITE               |
         |                       | + SAML assertion     |
         |                       |--------------------->|
         |                       |                      |
         |            200 OK     |                      |
         |<----------------------+----------------------|
         |                       |                      |

                   Figure 4: Network Asserted Identities

   A variation of and the scenario presented in Figure 4 is given in
   Figure 5 where an end host (Alice@example.com) obtains an assertion
   from its SIP proxy server which acts as an Authentication Service.
   This assertion PSTN/SIP Gateway's domain certificate.
   Alice's INVITE is then attached by the end host to the outgoing
   INVITE message.  Unlike in case of an artifact, Bob@example.com does
   not need to contact forwarded from the Proxy Server.

   An example of this scenario could be SIP/PSTN gateway to preempt a lower priority call
   if enough assurance for doing so Bob's
   phone, and is presented in the attached SAML
   assertion.  This would also mean that there secured via whatever means is a priority value
   included locally established in the INVITE (for example in the Resource-Priority Header).

    +--------+           +--------------+          +--------+
    | Alice@
   Bob's administrative domain.

                                                 +-----------+
   +----------------------+                      |           |Proxy Server           |
   | Bob@                      |
    |example       SS7            |           |(AS  PSTN/SIP |          |example
   |
    |.com  Public Switched     |--------------------->|  Gateway  |           |@example.com
   |          |.com                      |                      |           |
   |                      |                      |           |
    +---+----+           +------+-------+          +---+----+
   | Telephone Network    |                   +--+-----------+------+
   |         ^            |      INVITE                   |     |
        |---------------------->| ^ V           |
   +---------+------------+                   | From:alice@example.com|     | ^ V SIP-Ident |
             | SS7                            |     v ^ V +SAML     |  407 Proxy auth. req.
             |                                |
        |<----------------------|    +--------+       |
                                      O       |   SAML Auth Header    | Bob's  |       |       to use
             O                       /|\ <----+----| SIP    |       |
            /|\                      / \  SIP |    | Proxy  |       |       INVITE + SAML assertion
            / \                      Bob      |
        |-----------------------+--------------------->|    |        |       |
           Alice                              |            200 OK    +--------+       |
                                              |
        |<----------------------+----------------------|     SIP based       |
                                              |     Network         |
                                              +---------------------+

   Figure 5: End host attaching SAML Assertion 2: PSTN to SIP call

   Note that Bob and Alice do not need to the INVITE emitted by the PSTN/SIP gateway could
   alternatively be simply forwarded by Bob's SIP Proxy to Bob's phone,
   and Bob's phone could take on the SIP Identity "verifier" role, which
   is being played by Bob's SIP proxy in the same administrative
   domain.  It figure.

   Whichever approach is feasible that Bob employed is in a domain that is federated
   with Alice's domain.

   The assertion obtained by Alice@example.com needs decision local to Bob's
   administrative domain and can be associated
   with a particular SIP messaging session.  How to achieve this binding
   is for further consideration.

6.2 made independently.

6.2.  SIP Conferencing

   This section is meant to raise some discussions foster discussion about the usage of SAML in
   the domain of conferencing.  A user who routes its SIP message
   through the Authentication Service (Asserting Party) towards a
   conferencing server may want SAML assertions or need various of her profile
   attributes included and may also need to be included. authenticated by the
   conference server.  The following properties could be provided by
   this procedure:

   o  The user identity can be replaced to allow the user to be
      anonymous with regard to the Focus Focus.  This can be accomplished via
      [RFC3323] in combination with [I-D.ietf-sip-identity], per the
      latter, or,

   o  The user identity could be asserted to the Focus Focus, via [I-D.ietf-
      sip-identity] mechanisms, and/or,

   o  The  the SAML assertion could provide additional user profile
      information such as group membership (belongs to the students,
      staff, faculty group of university X).  This could, for non-identity-based non-
      identity-based authorization systems, imply certain rights.

   The corresponding SIP message flow (in high level detail) could have
   the following shape:

       +-----+          +-----------+       +-----------+
       |     |          | SIP Proxy |       | Focus     |
       |User |          |(Asserting |       | (Relying  |
       |     |          | party)    |       | party)    |
       +--+--+          +-----+-----+       +-----+-----+
          |     INVITE        |                   |
          |sip:conf-factory   |    INVITE         |
          |------------------>|    INVITE+SAML    w/Identity hdr |
          |                   |------------------>|
          |                   |                   |
          |                   | HTTP GET SAML assn|
          |                   |<==================|
          |                   | and domain cert   |
          |                   |                   |
          |                   | HTTP 200 OK + assn|
          |                   |==================>|
          |                   | and domain cert   |
          |                   |                   |
          |                   |                   |
          |                   | Ringing           |
          | Ringing           |<------------------|
          |<------------------|                   |
          |                   |                   |
          |                   | OK                |
          | OK                |<------------------|
          |<------------------|                   |
          |                   |                   |
          |    ACK            |                   |
          |------------------>|    ACK            |
          |                   |------------------>|
          |                   |                   |
          |                   |                   |
                     ... many more msgs...

   Figure 6: 3: SIP Conferencing and SAML

6.3  PSTN-to-SIP Phone Call

   Alice, using a phone connected to

   However, there are obvious scaling issues with the PSTN, wants to make a call conference server
   having to
   Bob, which resides do the outbound requests in a order to obtain SAML assertions
   and certificates for conference participants.

   This could be addressed by creating another SIP network.  Her call is switched through SAML Profile where
   the PSTN by means of PSTN signaling (outside caller obtains the scope of this
   document) necessary information, e.g., SAML assertions,
   and places them into its SIP request message prior to sending it.
   This would obviate the PSTN/SIP gateway.  At the gateway, need for the call is
   converted from SS7 signaling callee relying party to make
   requests in order to obtain said information.  This is a topic for
   future work, and possibly future revisions of this specification.

6.3.  Compensation using SIP signaling.  Since Alice was
   previously 'authenticated' through PSTN signaling mechanisms, the
   gateway can create an assertion based on signaling information from
   Alice and digitally sign it with his private key.  Alice's call SAML

   This section describes a scenario where SAML is
   forwarded from the SIP/PSTN gateway used in SIP to Bob's phone.  Bob can certify
   realize compensation functionality as described in [I-D.jennings-
   sipping-pay].

   Note that the identity of Alice this scenario is correct not directly addressed by examining the SIP SAML
   assertion.

                                                  +-----------+
    +----------------------+                      |
   Profile and SAML SIP Binding presently defined in this specification.
   Rather, this use case calls for additional such profiles and bindings
   to be developed.

   +--------+              +--------+                +--------+
   |Payment |              | User   |       SS7                |Merchant|
   |Provider|              |  SIP/PSTN Alice  |                |Bob     |  Public Switched     |--------------------->|  Gateway
   |        |              |        |                |        |
   |        |              |        | Telephone Network                |                   +--+-----------+----+        |         ^
   +---+----+              +---+----+                +---+----+
       |                       |                         |
       |
    +---------+------------+                       |  1) Call                | SIP+SAML
       |                       |------------------------>|
       | SS7                       |        v                         |
       |                       |    +--------+  2) 402 + Payment Offer |
                                       O
       |  3) Request for       |<------------------------|
       |     a Payment         |                         |
              O                       /|\ <----+----| SIP
       |<----------------------|                         |
       |
             /|\                      / \   SIP+                       | Proxy                         |
       |
             / \                      Bob  4) SAML Assertion    |                         |
       |
            Alice     (=Receipt)        |    +--------+                         |
       |---------------------->|                         |
       |                       |  5) Call + Receipt      |
       |                       |------------------------>|
       |                       |     SIP based                         |
       |     Network                       |
                                               +-------------------+  6) 200 OK              |
       |                       |<------------------------|
       |                       |                         |

   Figure 7: PSTN to 4: Message flow for SIP call

6.4  Compensation payment

   User Alice and the Merchant Bob interacts with each other using SIP
   and SAML

   This section briefly elaborates a scenario where SAML is used in SIP the Alice uses HTTP to realize compensation functionality as described in [I-D.jennings-
   sipping-pay]

   Section 1 of [I-D.jennings-sipping-pay] shows a message exchange
   which is used by messages with a number of payment protocols and hence can also be
   used by Payment Provider.
   Initially, Alice makes a SAML specified protocol.  To avoid repetition in this
   document call to Bob (1).  Bob determines that a second alternative
   payment is provided required and includes information about the payment in Figure 8.  Alice
   initiates a communication with an Authentication Service which acts
   as
   Offer body of a financial institution.  Note that 402 (Payment Required) response to Alice does not necessarily
   need (2).  Alice
   looks at this Offer and decides to use SIP for communication with make a payment.  Alice therefore
   instructs her Payment Provider to make a transfer from the Authentication Service.
   Instead, it might be possible Alice's
   account to use HTTP or other protocols which
   offer the necessary user credential or offer additional information
   (such as Merchants's account (3) using a web page).  After request for a successful authentication and
   authorization Alice obtains an SAML
   assertion with the extensions defined in this document.  The Payment
   Provider returns a receipt for this transfer (4).  This receipt is a
   SAML Assertion (or an artifact) which might
   contain payment relevant information.  For a later service access,
   Alice contacts SAML Artifact, if the merchant Bob with exchange is triggered by a
   proxy or if desired by the assertion.  Bob verifies Customer).  Alice resubmits the
   assertion and, it might want call to contact
   Bob but this time provides the Authentication Service Receipt for a credit check.  A financial settlement between the merchant transaction (5).  Bob
   and
   determines whether the Trusted Third Party Receipt is assumed.  Depending on valid (by checking the type digital
   signature and the content of
   service, a one-time payment the assertion) and continues with immediate the
   call processing, if the authorization was succesful.

   The Offer contains information about the three parties, the Payment
   Provider, that are acceptable to the Merchant Bob, the amount deduction may take
   place (e.g., in case of a prepaid account) or
   transaction, the amount is captured
   as account identifier for Bob at the Payment Provider,
   and a batch transaction.

   The aspect of lightweight protocol execution is provided by

   o  The alternative usage of an artifact which leads replay protection indicator to a lower
      bandwidth consumption.

   o  The ability make it easier for the Merchant
   Bob to use avoid replay attacks.  User Alice includes this information
   when making the Request for Payment to the Payment Provider; adds its
   own account information and authorization password; and sends this to
   the Payment Provider, which produces a single assertion Receipt for multiple service access
      protocol executions, the transaction if desired.

   o  SAML, furthermore allows a cryptographic key to be bound
   it is successful.  This transfer from Alice to an
      assertion.  A high degree of flexibility the Payment Provider
   is provided made across an encrypted, integrity protected channel.  The
   Receipt includes a timestamp when the Payment Provider made the
   transaction and protects the Receipt with regard
      to a digital signature.  Alice
   resubmits the possible credentials.  For example, it might not be
      necessary call to use public key cryptography the Merchant Bob with every service
      access.  This might be useful if the cost of public key
      cryptographic is too expensive Receipt from the
   Payment Provier.  Merchant Bob can check for replay attacks using the
   timestamp and a cheap service or replay protection indiciator initially provided with
   the Offer.  Bob can then check the signature is valid using the
   Payment Provider's public key.

7.  SIP SAML Profiles

   This section defines one SIP SAML profile:

      The "AS-driven SIP SAML URI-based Attribute Assertion Fetch
      Profile"

7.1.  AS-driven SIP SAML URI-based Attribute  Assertion Fetch Profile

7.1.1.  Required Information

   The information given in this section is similar to the info provided
   when devices
      have performance limitations. registering something, a MIME Media Type, say, with IANA.  In
   this case, it might is for registering this profile with the OASIS SSTC.
   See Section 2 "Specification of Additional Profiles" in [OASIS.saml-
   profiles-2.0-os].

   Identification:

      urn:ietf:params:sip:sip-saml-profile:as:uri:attr:1.0

      @@ NOTE: This URN must be useful agreed upon, and then registered with
         IANA per [RFC3553].

   Contact Information:

      @@ someone's or something's contact info goes here

   SAML Confirmation Method Identifiers:

      The SAML V2.0 "{bearer,hok,?}" confirmation method identifier is
      used in this profile.

   Description:

      Given below.

   Updates:

      None.

7.1.2.  Profile Overview

   Figure 5 illustrates this profile's overall protocol flow.  The
   following steps correspond to
      rely the labeled interactions in the figure.
   Within an individual step, there may be one or more actual message
   exchanges depending upon the protocol binding employed for that
   particular step and other implementation-dependent behavior.

   Although this profile is overview is cast in terms of a SIP INVITE
   transaction, the reader should note that the mechanism specified
   herein, and in [I-D.ietf-sip-identity], may be applied to any SIP
   request message.

   Figure 5 begins on symmetric cryptographic, such as hash chains.

    +--------+           +--------------+          +--------+
    |User the next page.

     +------------------+    +------------------+   +-----------------+
     |           |Authentication|          |Merchant|
    |Alice     Caller       |           |Server    |Authn Service (AS)|   |          |Bob     Callee      |
     |Alice@example.com |    |           |(Trusted Third|  @example.com    |   | Bob@example2.com|
     +--------+---------+    +--------+---------+   +--------+--------+
   -    -     |                       |                      | Party) (steps)
   ^    ^     |      INVITE           |                      |
   |
    +---+----+           +------+-------+          +---+----+    |     |---------------------->|                      |   (1a)
   |          |  SIP, HTTP, etc. From:alice@foo.com    |                      |
        |---------------------->|
   |    C     | To:sip:bob@example.com|                      |
   |    S     |                       |                      |
   |    e     |  407 Proxy auth. req. |  Assertion                      |
   |    q     |<----------------------|                      |   (1b)
   |    =     |  Challenge            |                      |
   |    N     |                       |                      |
   |          |      ACK              |                      |
   |    |     |---------------------->|                      |   (1c)
   |    V     |                       |                      |
   |    -     |                       |                      |
        ^     | INVITE + SAML assertion authorization|                      |
   D    |     | header w/ creds       |                      |
        |     |---------------------->|                      |   (2)
   I    |     | From:alice@foo.com    |                      |
        |     | To:sip:bob@example.com|                      |
   A          | Proxy-Authorization:..|                      |
        C     |                       | INVITE               |
   L    S     |                       |--------------------->|   (3)
        e     |                       | From:alice@foo.com   |
   O    q     |                       | To:sip:bob@example2.com
              |                       | Identity: .....      |
   G    =     |                       | Identity-Info:       |
              |                       |   https://example.com|
   |    N     |                       |     /assns/?ID=abcde |
   |          |                       |                      |
   |    +     |                       |URI resolution (eg. HTTP)
   |          |                       |<=====================|   (4)
   |    1     |                       | GET /assns/?ID=abcde |
   |          |                       |                      |
   |    |     |                       | HTTP/1.1 200 OK      |
   |    |     |                       |=====================>|   (5)
   |    |     |                       |  <saml:Assertion>    |
   |    |     |                       |   <saml:Subject>     |
   |    |     |                       |    <saml:NameID>     |
   |    |     |                       |      Alice@example.com
   |    |     |                       |     <saml:SubjConf>
   |    |     |
        |-----------------------+--------------------->|                       |      <saml:SubjConfData>
   |    |     |                       |       <ds:KeyInfo>...
   |    |     |                       |   <saml:AttrStatement>
   |    |     |                       |     foo=bar          |
   |    |     |            200 OK     |                      |
   |    V     |<----------------------+----------------------|   (6)
   .    -     |                       |                      |
   V

   Figure 8: Message flow for 5: AS-driven SIP payment

   The main difference SAML Attribute Fetch Profile: Example INVITE
   Transaction

   Step 1. Initial SIP Transaction between the above-described mechanism Caller and the one
   described in Section 1 of [I-D.jennings-sipping-pay] AS

           This optional initial step is the degree comprised of
   user involvement substeps 1a, 1b,
           and the type of protocol interaction. 1c in Figure 5.  In both cases
   it this step, the caller, Alice, sends a
           SIP request message, illustrated as an INVITE, indicating Bob
           as the callee (1a), is possible to provide subsequently challenged by the AS
           (1b), and sends an indication ACK in response to the user about challenge (1c).
           The latter message signals the costs completion of a service access.  In fact, the assertion might specify these type this SIP
           transaction (which is an optional substep of constraints directly or indirectly this profile).

   Step 2. Caller sends SIP Request Message with Authorization
           Credentials to the help of recurring
   service requests/responses.

7.  SIP-SAML Extension

   To carry SAML assertions AS

           Alice then sends an INVITE message in response to the
           challenge, or uses cached credentials for the domain if step
           1 was skipped, as specified in [I-D.ietf-sip-identity] and artifacts two mechanisms are defined:

   o  The
           [RFC3261].  Depending on the chosen SIP header may security mechanism
           either carry an Artifcat digest authentication, S/MIME or a CID URI [RFC2392]
      pointing Transport Layer
           Security is used to an assertion in provide the SIP body.  The name AS with a strong assurance
           about the identity of this new Alice.

   Step 3. AS Authorizes the SIP header is SAML-Assertion.  A SAML artifact consists of a
      TypeCode, SourceID Request and an AssertionHandle.  It Forwards it to Callee

           First, the AS authorizes the received INVITE message as
           specified in [I-D.ietf-sip-identity] and [RFC3261].  If the
           authorization is thereby assumed
      that successful, the Relying Party AS will maintain a table of sourceID values as
      well as URLs form the "identity
           signature" for Asserting Parties the message and add Identity and Identity-Info
           headers to contact.  This information
      is communicated out-of-band.  This document the message.  The AS also allows at this time constructs
           and caches a SAML assertion asserting Alice's profile
           attributes required by Bob's domain (example2.com), and also
           containing a the
      Asserting Party to add domain's (example.com) public key
           certificate, or a URL reference to point it.  This certificate MUST
           contain the public key corresponding to the assertion private key used
           to prevent
      this level of indirection.

   o construct the signature whose value was placed in the
           Identity header.  The SIP body may carry one or more AS constructs a HTTP-based SAML assertions.  The MIME type URI
           Reference incorporating the assertion's Assertion ID (see
           section 2.3.3 of [OASIS.saml-core-2.0-os]).  The AS uses this SAML assertion is defined
           URI as the value for the Identity-Info header it adds to the
           INVITE message.

           The AS determines which profile attributes (if any) to assert
           in [I-D.hodges-saml-mediatype].

   A the <AttributeStatement> via local configuration and/or
           obtaining example2.com's metadata
           [OASIS.saml-metadata-2.0-os].  The AS then sends the updated
           INVITE message to Bob.

   Step 4. Callee Dereferences HTTP-based SAML URI Reference

           Bob's UAC or SIP user agent may add an assertion Proxy receives the message and begins
           verifying it per the "Verifier Behavior" specified in
           [I-D.ietf-sip-identity].  In order to accomplish this task,
           it needs to obtain Alice's domain certificate.  It obtains
           the body of HTTP-based SAML URI Reference from the message's
           Identity-Info header and dereferences it per Section 8.1.
           Note that this is not a SIP message, but an HTTP message or
   may add a
           [RFC2616].

   Step 5. AS Returns SAML Assertion

           Upon receipt of the above HTTP request, which contains an
           embedded reference to the Alice's SAML Assertion, Alice's AS
           returns her assertion into in an HTTP response message.

           Upon receipt of Alice's SAML Assertion, the SIP header.  SIP
   proxies MUST NOT add AS continues its
           verification of the assertion INVITE message.  If successful, it
           returns a 200 OK message directly to the body.  The SIP header MUST
   be used instead when Alice.  Otherwise it
           returns an assertion has appropriate SIP error response.

   Step 6. Callee Returns SIP 200 OK to be added.

   A SAML assertion SHOULD be protected Caller

           If Bob determines, based upon Alice's identity as asserted by
           the AS, and when added as further substantiated by a SIP entity
   then S/MIME MUST be used rather than XML digital signatures.

   To bind a the information in
           the SAML assertion assertion, to accept the INVITE, he returns a SIP
           200 OK message a few selected SIP message
   fields are input directly to a hash function. Alice.

7.1.3.  Profile Description

   The digest-string, defined in
   Section 10 of [I-D.ietf-sip-identity], is included into the
   conditions extension point following sections provide detailed definitions of the SAML assertion.  Details are for
   further study.

8.  Example

   This individual
   profile steps.  The relevant illustration is an example of a SAML assertion and how it Figure 6, below.  Note
   that this profile is structured in
   XML.

   <saml:Assertion
    xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion"
    MajorVersion="1"
    MinorVersion="1"
    AssertionID="P1YaAz/tP6U/fsw/xA+jax5TPxQ="
    Issuer="www.example.com"
    IssueInstant="2004-06-28T17:15:32.753Z">
           <saml:Conditions NotBefore="2004-06-28T17:10:32.753Z"
             NotOnOrAfter="2004-06-28T17:20:32.753Z" />
           <saml:AuthenticationStatement
         AuthenticationMethod="urn:ietf:rfc:3075"
         AuthenticationInstant="2004-06-28T17:15:12.706Z">
              <saml:Subject>
                      <saml:NameIdentifier>
                        NameQualifier=alice@example.com
                        Format="urn:oasis:names:tc:SAML:1.1:nameid-
                         format:emailAddress">uid=alice
                      </saml:NameIdentifier>
                      <saml:SubjectConfirmation>
                                   <saml:ConfirmationMethod>
                                     urn:oasis:names:tc:SAML:1.0:
                                      cm:SIP-artifact-01
                                   </saml:ConfirmationMethod>
                      </saml:SubjectConfirmation>
              </saml:Subject>
       </saml:AuthenticationStatement>
   </saml:Assertion>

   The elements in agnostic to the assertion have specific SIP request, and also
   that the following meaning:

   +---------------------+-----+-------------------------------+ Sender and Authentication Service (AS) may be seperate or
   co-located in actuality.

     +------------------+    +------------------+   +------------------+
     |    Tag name         |Req-     Sender       |        Description    |Authn Service (AS)|   |    Verifier      |                     |uired|
     |
   +---------------------+-----+-------------------------------+
   |MajorVersion      (UAC)       |  X  |Major version of the assertion    |
   +---------------------+-----+-------------------------------+
   |MinorVersion    (Sender's)    |  X  |Minor version of the assertion   |(UAS or Proxy Svr)|
     +--------+---------+    +--------+---------+   +--------+---------+
              |
   +---------------------+-----+-------------------------------+
   |AssertionID                       |  X  |ID of the assertion                      |
   +---------------------+-----+-------------------------------+
   |Issuer (steps)
              |  X  |The name of the SAML authority    SIP Request        |                      |
              |---------------------->|                      |     |that created the assertion   (1a)
              |
   +---------------------+-----+-------------------------------+
   |IssuerInstant                       |  X  |Issuing time of the assertion                      |
   +---------------------+-----+-------------------------------+
              |  407 Proxy auth. req. |     |Conditions that MUST be taken                      |
   |Conditions
              |<----------------------|                      |     |into account when assessing   (1b)
              |  Challenge            |                      |     |the validity of the assertion
              |
   +---------------------+-----+-------------------------------+                       |                      |     |Specifies
              |
   |AuthenticationMethod      ACK              |  X  |what kind of authentication                      |
              |---------------------->|                      |   (1c)
              |     |took place                       |
   +---------------------+-----+-------------------------------+
   |AuthenticationInstant|  X  |Specifies the time when the                      |
              |                       |     |authentication took place                      |
   +---------------------+-----+-------------------------------+
   |Qualifier
              |SIP Req + authorization|                      |
              | header w/ creds       |                      |
              |---------------------->|                      |   (2)
              |                       |                      |
              |                       |                      |
              |                       | SIP Req + Ident &    |     |The name by which the subject
              |                       | authz headers        |
              |                       |--------------------->|   (3)
              |                       |     |is recognized                      |
   +---------------------+-----+-------------------------------+
              |                       |     |A URI reference representing resolution       |
   |Format
              |     |the format of NameIdentifier                       |<=====================|   (4)
              |                       | (via HTTP)           |
              |                       |
   +---------------------+-----+-------------------------------+                      |
              |     |Specifies a subject by supply-                       |
   |SubjectConfirmation HTTP/1.1 200 OK      |     |ing data that allows the sub-
              |                       |=====================>|   (5)
              |                       |     |ject to be authenticated                      |
   +---------------------+-----+-------------------------------+
              |                       |     |Identifies                      |
   |ConfirmationMethod
              |     |which method to be used for                       |                  ?   |   (6)
              |                       |     |authenticating the subject                      |
   +---------------------+-----+-------------------------------+

   Figure 10: Tag descriptions

9.  Requirement Comparison

   A future version 6: AS-driven SIP SAML Attribute Fetch Profile: Message Flow

7.1.3.1.  Initial SIP Transaction between  Sender and AS

   This OPTIONAL step maps to Steps 1 and 2 of this document will compare Section 5 "Authentication
   Service Behavior" of [I-D.ietf-sip-identity].  If the requirements
   listed in [I-D.ietf-sipping-trait-authz] with SIP request
   sent by the solution provided caller in this document.

10.  Security Considerations

   This section discusses security considerations when using SAML with
   SIP.

10.1  Stolen Assertion

   Threat:

      If an eavesdropper can copy substep 1a is deemed insufficiently
   authenticated by the real user's SAML response and
      included assertions AS per the rules stipulated by [I-D.ietf-sip-
   identity] Steps 1 and construct a SIP message of his own, 2, then the eavesdropper could be able to impersonate AS MUST authenticate the user at other
      SIP entities.

   Countermeasures:

      By providing adequate confidentiality, eavesdropping sender of a SAML
      assertion can be stopped.

10.2  MitM Attack

   Threat:

      Since
   the SAML assertion message.  The particulars of how this is carried within a SIP message, a
      malicious site could impersonate the user at some other SIP
      entities.  These accomplished depend upon
   implementation and/or deployment instantiation as discussed in

   [I-D.ietf-sip-identity].  Substeps 1b and 1c as shown in Figure 6 are
   non-normative and illustrative only.

7.1.3.2.  Sender sends SIP entities would believe the adversary Request Message with  Authorization
          Credentials to be the subject AS

   This step maps to Steps 1 and 2 of the assertion.

   Countermeasures:

      If the adversary Section 5 "Authentication Service
   Behavior" of [I-D.ietf-sip-identity].  This request is a not-participating presumed to be
   made in a context such that the SIP signaling
      itself (i.e., it is AS will not a SIP proxy or a SIP UA), this threat can challenge it -- i.e., the
   AS will consider the sender of the message to be eliminated by employing inherent SIP security mechanisms, such
      as TLS.  However, if authenticated.  If
   this entity is part of the communication
      itself not true, then reference integrity needs this procedure reverts back to be provided.  Assertions
      with tight restrictions (e.g., validity of Step 1, above.

   Otherwise, the assertion) can also
      limit AS carries out all other processing of the possible damage.

10.3  Forged Assertion

   Threat:

      A malicious user could forge or alter a SAML assertion message as
   stipulated in order [I-D.ietf-sip-identity] Steps 1 and 2, and if
   successful, this procedure procedes to
      communicate with the next step below.

7.1.3.3.  AS Authorizes the SIP entities.

   Countermeasures:

      To avoid Request and Forwards it to Verifier

   This first portion of this kind step maps to Steps 3 and 4 of attack, Section 5
   "Authentication Service Behavior" of [I-D.ietf-sip-identity], which
   the entities must assure that proper
      mechanisms for protecting AS MUST perform, although with the following additional substeps:

      The AS MUST construct a SAML assertion needs according to be the "Assertion
      Profile Description" specified in place.
      It is recommended to protect Section 7.1.4 of this
      specification.

      The AS SHOULD construct an HTTPS, and MAY construct an HTTP, URI
      per Section "3.7.5.1 URI Syntax" of [OASIS.saml-bindings-2.0-os].

      The AS MUST use the assertion using a digital
      signature.

10.4  Replay Attack

   Threat:

      In URI constructed in the case of using SIP with a 'by-reference' model, immediately preceding
      substep as the threat value of replay lies in the fact Identity-Info header that the artifact is a one-time-use
      subject.  The same artifact can be used again to gain access added to
      resources.

   Countermeasures:

      Cases where multiple requests are made which references
      the same SIP request must be tracked in order to avoid the threat.

11.  Contributors

   The authors would like to thank Henning Schulzrinne for his
   contributions to this document.

12.  Acknowledgments

   We would like to thank RL 'Bob' Morgan and Stefan Goeman for their
   comments to this draft.

13.  IANA Considerations

   This document contains a number message per Step 4 of IANA considerations.  A future
   version Section 5 of [I-D.ietf-sip-
      identity].

   Upon successful completion of all of the above, the AS forwards the
   request message.

   At this document will list them point in this section.

14.  Open Issues

   This document raises a step, after perhaps traversing some number of issues with regard to
   intermediaries, the SIP
   protocol interaction.  Some of them request message arrives at a SIP network
   entity performing the "verifier" role.  This role and its behavior
   are raised specified in this document (such
   as reference integrity, who is allowed to add which information,
   etc.) but a more detailed treatment Section 6 "Verifier Behavior" of this topic [I-D.ietf-sip-
   identity].  The verifier MUST perform the steps enumerated in the
   aforementioned section, with a focus the following modifications:

      Step 1 of
   identity management [I-D.ietf-sip-identity] Section 6 maps to and is described in [I-D.peterson-message-identity].
   In particular, updated
      by, the following sections are highly relevant for two steps in this
   document:

   Assertion Constraints procedure.

      Steps 2, 3, and Scope:

      This aspect deals with the problem 4 of binding [I-D.ietf-sip-identity] Section 6 may be
      mapped across this latter portion of this step, and/or the
      following two steps, as appropriate.

7.1.3.4.  Verifier Dereferences HTTP-based SAML  URI Reference

   The verifier SHOULD ascertain whether it has a current cached copy of
   the SIP message sender's SAML assertion and domain certificate.  If
   not, or if the verifier chooses to a
      specific SIP message.  The goal is to provide a security property
      called reference integrity (e.g., due to prevent replay and impersonation
      attacks.  As described local policy), it
   MUST dereference the the HTTP-based SAML URI Reference found in the
   SIP message's Identity-Info header.  To do so, the verifier MUST
   employ the "SAML HTTP-URI-based SIP Binding" specified in
   Section 5 that a number of fields can be
      used for this purpose. 8.1.

7.1.3.5.  AS Returns SAML Assertion

   This document step also considers scenarios
      where employs Section 8.1 "SAML HTTP-URI-based SIP Binding".

   If the SAML assertion was obtained outside prior step returns an HTTP error (e.g., 4xx series), then this
   procedure terminates and the verifier returns (upstream) a SIP protocol run.
      In these cases SIP fields are not available to provide reference
      integrity.  The concept of 436
   'Bad Identity-Info' Response code.

   Otherwise, the holder-of-the-key HTTP response message will contain a SAML assertion is
      described below
   and relevant for this discussion.

   Canonicalization versus Replication:

      To provide reference integrity a few selected fields need to be
      hashed, signed and placed into denoted as such via the assertion.  Two approaches are
      available for MIME media type of "application/
   samlassertion+xml" [IANA.application.samlassertion-xml].  The
   verifier MUST perform the verification steps specified in
   Section 7.1.5 "Assertion Verification", below.  If successful, then
   this purpose.  Hence procedure continues with the next step.

7.1.3.6.  Verifier performs Next Step

   The SIP request was successfully processed.  The verifier now
   performs its next step, which depends at least in part on the type of
   SIP request it needs to be studied received.

7.1.4.  Assertion Profile Description

   This section defines the particulars of how the
      interworking between reference integrity and sender, i.e., the usage
   SAML Authority, MUST construct certain portions of obtained the SAML
   assertions it issues.  The schema for SAML assertions themselves is
   defined in Section 2.3 of [OASIS.saml-core-2.0-os].

   An example SAML assertion, formulated according to this profile is
   given in Section 9.

   Overall SAML assertion can be properly accomplished.  For example, who
      indicates which fields are included?

   Alignment with SIP Identity:

      It might profile requirements:

      The SAML assertion MUST be good signed by the same key as used to avoid sign
      the definition contents of a second set the Identity header field.  Signing of
      response codes for SAML conditions which will overlap with the
      response codes
      assertions is defined for SIP Identity draft.

   Placement in Section 5.4 of Assertions and Keys [OASIS.saml-core-2.0-os].

   In the following subsections, the SAML assertion profile is specified
   element-by-element, in Messages:

      This document assumes that a top-down, depth-first manner, beginning with
   the assertions outermost element, "<Assertion>".  Where applicable, the
   requirements for an element's XML attributes are added to also stated, as a
   part of the SIP
      body and artifacts element's description.  Requirements for any given
   element or references to assertions located XML attribute are only stated when, in the SIP
      body context of use
   of this profile, they are added to not already sufficiently defined by
   [OASIS.saml-core-2.0-os].

7.1.4.1.  Element: <Assertion>

   Attribute: ID

      The value for the SIP header.  A central question is therefore
      where these assertions should ID XML attribute SHOULD be attached?  Should allocated randomly
      such that the SIP user
      agent or intermediate SIP proxies add assertions/artifacts?  In value meets the scenarios depicted randomness requirments specified in
      Section 6, we have both approaches
      depending on what kind 1.3.4 of scenario it is.  In Figure 4, they are
      added [OASIS.saml-core-2.0-os].

   Attribute: IssueInstant

      The value for the IssueInstant XML attribute SHOULD be set at the UA and in contrast we have Figure 7, where
      time the
      assertions are added at SAML assertion is created (and cached for subsequent
      retrieval).  This time instant value MAY be temporally the PSTN/SIP gateway.

      MIME bodies can only same as
      that encoded in the SIP message's Date header, and MUST be attached at the UA.  Proxies by definition
      do not attach MIME bodies; if an intermediary were to do so,
      least temporally later, although it is RECOMMENDED that it
      would not be playing
      10 minutes or more later.

7.1.4.1.1.  Element: <Issuer>

   The value for the proxy server role Issuer XML element MUST be a value that matches
   either the Issuer or the Issuer Alternative Name fields [RFC3280] in
   the SIP
      architecture.  The SIP content indirection mechanism [I-D.ietf-
      sip-content-indirect-mech] is also relevant certificate conveyed by the SAML assertion in the ds:
   X509Certificate element located on this discussion.

   To provide reference integrity (by binding path within the SAML
   assertion:

                <Assertion
                  <ds:Signature
                    <ds:KeyInfo
                      <ds:X509Data
                        <ds:X509Certificate

7.1.4.1.2.  Element: <Subject>

   The <Subject> element SHOULD contain both a SIP session <NameID> element and a SAML
   assertion together) two alternative approaches exist:

   Hashing
   <SubjectConfirmation> element.

   The value of SIP message fields:

      If a hash is computed over a number the <NameID> element MUST be the same as the Address of selected SIP fields and
      subsequently digitally signed then there is a some degree
   Record (AoR) value used in computing the "signed-identity-digest"
   which forms the value of
      protection that the assertion cannot Identity header.  See Section 9 of
   [I-D.ietf-sip-identity].

   The <SubjectConfirmation> element attribute Method SHOULD be set to
   the value:

      urn:oasis:names:tc:SAML:2.0:cm:sender-vouches

   Although it MAY be copied set to some other implementation- and/or
   deployment-specific value.  The <SubjectConfirmation> element itself
   SHOULD be empty.

7.1.4.1.3.  Element: <Conditions>

   The <Conditions> element SHOULD contain an <AudienceRestriction>
   element, which itself SHOULD contain an <Audience> element.  The
   value of the <Audience> element SHOULD be the same as the addr-spec
   of the SIP
      messages and reused. request's To header field.

   The drawback thereby is that following XML attributes of the assertion
      has <Conditions> element MUST be set
   as follows:

   Attribute: NotBefore

      The value of the NotBefore XML attribute MUST be set to a very limited time period.
      instant the same as the value for the IssueInstant XML attribute
      discussed above, or to a later time.

   Attribute: NotOnOrAfter

      The hashed fields may vary from
      context value of the NotOnOrAfter XML attribute MUST be set to context.

   Holder-of-the-Key Assertion: a time
      instant later than the value for NotBefore.

7.1.4.1.4.  Element: <AttributeStatement>

   The SAML introduces assertion MAY contain an <AttributeStatement> element.  If
   so, the concept <AttributeStatement> element will contain attribute-value
   pairs, e.g., of a holder-of-the-key assertion user profile nature, encoded according to
      bind either
   one of the assertions (authorization information) "SAML Attribute Profiles" as specified in [OASIS.saml-
   profiles-2.0-os], or encoded in some implementation- and/or
   deployment-specific attribute profile.

   The attribute-value pairs SHOULD in fact pertain to the entity
   identified in the SIP From header field, since a cryptographic
      key.  As SAML assertion
   formulated per this overall section is stating that they do.

7.1.5.  Assertion Verification

   This section specifies the steps that a result, verifier participating in
   this profile MUST perform in addition to the end host which was quite passive when
      dealing with assertions can be turned into an active protocol
      participant. "Verifier Behavior"
   specified in Section 6 of [I-D.ietf-sip-identity].

   The end host obtained steps are:

   1.   Before Step 1 in Section 6 of [I-D.ietf-sip-identity], the assertion and attached
      them to selected messages but did not provide any cryptographic
      computations with regard to
        verifier MUST extract the assertion itself.  With AS's domain certificate from the <ds:
        X509Certificate> XML element at the end
      host being active of the element path
        given in Section 7.1.4.1.1.

   2.   Perform Step 1 in Section 6 of [I-D.ietf-sip-identity].

   3.   After Step 1 in Section 6 of [I-D.ietf-sip-identity], but before
        Step 2 of that section, the protocol exchange security is improved verifier MUST verify the SAML
        assertion's signature via the procedures specified in Section
        5.4 of [OASIS.saml-core-2.0-os] as well as [W3C.xmldsig-core].

        @@ TODO: do we need to define a
      lot.  Furthermore, it new SIP error response code for
        when a SAML assn signature is possible to combine bad? e.g., '4xx Invalid SAML
        asssertion'.

   4.   Perform Step 2 in Section 6 of [I-D.ietf-sip-identity].

   5.   Verify that the benefits signer of the
      work done with SIPPING-CERT [I-D.ietf-sipping-certs] and this
      document by binding a self-signed certificate created by SIP message's Identity header
        field is the user
      and stored at same as the credential server to an signer of the SAML assertion.  As noted

   6.   Perform Steps 3 and 4 in Section 9 6 of [I-D.ietf-sipping-certs] [I-D.ietf-sip-identity].

   7.   Verify that the SAML assertion's <Issuer> element value matches
        the Issuer or the Issuer Alternative Name fields [RFC3280] in
        the context AS's domain certificate.

   8.   Verify that the SAML assertion's <NameID> element value is the
        same as the Address of signing
      SIP messages Record (AoR) value in the usage "signed-
        identity-digest".  See Section 9 of a self-signed certificate [I-D.ietf-sip-identity].

   9.   Verify that the SAML assertion's <SubjectConfirmation> element
        value is not very
      helpful except used with an Authentication Service.  Combined with
      a set to whichever value was configured at
        implementation- or deployment-time.  The default value is:

           urn:oasis:names:tc:SAML:2.0:cm:sender-vouches

   10.  Verify that the SAML assertion contains an <Audience> element,
        and that its value matches the signature would protect value of the addr-spec of the SIP message
        To header field.

   11.  Verify that the validity period denoted by the NotBefore and
        NotOnOrAfter attributes of the <Conditions> element meets the
        requirements given in Section 7.1.4.1.3.

8.  SAML assertion would provide authorization information.

   A number SIP Binding

   This section specifies one SAML SIP Binding at this time.  Additional
   bindings may be specified in future revisions of credentials this specification.

8.1.  SAML HTTP-URI-based SIP Binding

   This section specifies the "SAML HTTP-URI-based SIP Binding",
   (SHUSB).

   The SHUSB is a profile of the "SAML URI Binding" specified in Section
   3.7 of [OASIS.saml-bindings-2.0-os].  The SAML URI Binding specifies
   a means by which SAML assertions can be used referenced by URIs and thus
   be obtained through resolution of such URIs.

   This profile of the SAML URI Binding is congruent with the KeyInfo element of SAML URI
   Binding -- including support for HTTP-based URIs being mandatory to
   implement -- except for the
   Holder-of-the-Key assertion as described following further restrictions which are
   specified in Section 4.4 the interest of [xmldsig-
   core].

   Further open issues are:

   o  Some work on option-tags interoperability (section numbers refer
   to [OASIS.saml-bindings-2.0-os]):

   Section 3.7.5.3 Security Considerations:

      Support for TLS 1.0 or SSL 3.0 is required.  Are there cases mandatory to implement.

   Section 3.7.5.4 Error Reporting:

      All SHOULDs in this section are to be interpreted as MUSTs.

9.  Example Signed SAML Assertion

   Below is an example of a signed SAML assertion:

   <Assertion ID="_a75adf55-01d7-40cc-929f-dbd8372ebdfc"
      IssueInstant="2003-04-17T00:46:02Z" Version="2.0"
      xmlns="urn:oasis:names:tc:SAML:2.0:assertion">
      <Issuer>
         example.com
      </Issuer>
      <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
         <ds:SignedInfo>
            <ds:CanonicalizationMethod
               Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
            <ds:SignatureMethod
               Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
            <ds:Reference URI="#_a75adf55-01d7-40cc-929f-dbd8372ebdfc">
               <ds:Transforms>
                  <ds:Transform
                      Algorithm=
              "http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
                  <ds:Transform
                     Algorithm=
                        "http://www.w3.org/2001/10/xml-exc-c14n#">
                     <InclusiveNamespaces
                        PrefixList="#default saml ds xs xsi"
                        xmlns=
                           "http://www.w3.org/2001/10/xml-exc-c14n#"/>
                  </ds:Transform>
               </ds:Transforms>
               <ds:DigestMethod
                   Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
               <ds:DigestValue>
                  Kclet6XcaOgOWXM4gty6/UNdviI=
               </ds:DigestValue>
            </ds:Reference>
         </ds:SignedInfo>
         <ds:SignatureValue>
           hq4zk+ZknjggCQgZm7ea8fI7...Hr7wHxvCCRwubnmIfZ6RqVL+wNmeWI4=
         </ds:SignatureValue>
         <ds:KeyInfo>
            <ds:X509Data>
                <ds:X509Certificate>
       MIICyjCCAjOgAwIBAgICAnUwDQYJKoZIhvcNAQEEBQAwgakxCzAJBgNVBAYTAlVT
       MRIwEAYDVQQIEwlXaXNjb .....  dnP6Hr7wHxvCCRwubnmIfZ6QZAv2FU78pLX
       8I3bsbmRAUg4UP9hH6ABVq4KQKMknxu1xQxLhpR1ylGPdiowMNTrEG8cCx3w/w==
                </ds:X509Certificate>

            </ds:X509Data>
         </ds:KeyInfo>
      </ds:Signature>
      <Subject>
         <NameID
           Format=
              "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress">
           Alice@example.com
         </NameID>
         <SubjectConfirmation
             Method="urn:oasis:names:tc:SAML:2.0:cm:sender-vouches"/>
      </Subject>
      <Conditions NotBefore="2003-04-17T00:46:02Z"
                  NotOnOrAfter="2003-04-17T00:51:02Z">
         <AudienceRestriction>
         </AudienceRestriction>
      </Conditions>
      <AttributeStatement>
          ...
      </AttributeStatement>
   </Assertion>

10.  Security Considerations

   This section discusses security considerations when
      processing using SAML with
   SIP.

10.1.  Man-in-the-middle Attacks and Stolen Assertions

   Threat:

      By making SAML assertions available via HTTP-based requests by a
      potentially unbounded set of the assertion requesters, it is conceivably
      possible that anyone would be required by able to simply request one and
      obtain it.  SIP intermediaries on the sender?  Or
      when signaling path for example.
      Or, an HTTP intermediary/proxy could intercept the assertion as it
      is being returned to a proxy server wants requester.

      The attacker could then conceivably attempt to be able impersonate the
      subject (the putative caller) to say some SIP-based target entity.

   Countermeasures:

      Such an attack is implausible for several reasons.  The primary
      reason is that a UA must supply
      this message constructed by an imposter using a stolen
      assertion that conveys the public key certificate of some domain
      will not verify per [I-D.ietf-sip-identity] because the imposter
      will not have the corresponding private key with which to generate
      the signed Identity header in order value.

      Also, the SIP SAML assertion profile specified herein that the
      subject's SAML assertion must adhere to access a particular resource?  If so, an
      option-tag causes it to be not useful
      to arbitrary parties.  The subject's assertion:

      *  should be defined for signed, thus causing any alterations to break its
         integrity and make such alterations detectable.

      *  does not contain an authentication statement.  Thus no parties
         implementing this extension that can specification should be used
      in Require, Supported, 420, etc.

   o  Specific relying on SAML confirmation method identifiers
         assertions specified herein as sufficient in and identifiers for of themselves
         to allow access to resources.

      *  relying party is represented in the bindings or profiles must be defined and registered with
      OASIS.  A confirmation method identifier SAML assertion's Audience
         Restriction.

      *  Issuer is a URI that specifies
      which method should be used by represented in the target domain SAML assertion.

      *  validity period for assertion is restricted.

      *  etc.

10.2.  Forged Assertion

   Threat:

      A malicious user could forge or alter a SAML assertion in order to
      communicate with the SIP entities.

   Countermeasures:

      To avoid this kind of attack, the entities must assure that proper
      mechanisms for protecting the identity SAML assertion are employed, e.g.,
      signing the SAML assertion itself.  Section 5.1 of [OASIS.saml-
      core-2.0-os] specifies the subject is true.

      This mechanism seems signing of SAML assertions.

      Additionally, the assertion content dictated by the SAML assertion
      profile herein ensures ample evidence for a relying party to be provide
      verify the same reference integrity
      properties as assertion and its relationship with the hash over received SIP
      request.

10.3.  Replay Attack

   Threat:

      Theft of SIP message protected by the mechanisms described herein
      and replay of it at a later time.

   Countermeasures:

      There are various headers/bodies proposed in
      the identity draft.

   o  Further use cases would be interesting.  For example, provisions within [I-D.ietf-sip-identity] that
      prevent a mechanism replay attack.

11.  Contributors

   The authors would like to provide additional security thank Marcus Tegnander and Henning
   Schulzrinne for the SIP REFER method [RFC3515].

   o  A few new URIs need his contributions to be registered.  The proposed URIs earlier versions of this
   document.

12.  Acknowledgments

   We would like to thank RL 'Bob' Morgan and Stefan Goeman for
      identification are:

      SIP Binding: urn:oasis:names:tc:SAML:1.0:bindings:SIP-binding

      Artifact
         profile: urn:oasis:names:tc:SAML:1.0:profiles:SIP-artifact-01

      Assertion
         profile: urn:oasis:names:tc:SAML:1.0:profiles:SIP-assertion-01

   o  The proposed URIs their
   comments to this draft.

13.  Acknowledgments

   We thank RL 'Bob' Morgan for Confirmation Method Identifiers are:

      Artifact profile: urn:oasis:names:tc:SAML:1.0:cm:SIP-artifact-01 his inputs to this work.  The "AS-driven
   SIP SAML URI-based Attribute Assertion profile: urn:oasis:names:tc:SAML:1.0:cm:SIP-bearer

   o  These are Fetch Profile" is based on an
   idea by Jon Peterson.

   Addtionally, the URIs already used in the existing SOAP-SAML
      binding, specified in Section 3 following persons provided input to this work:
   Stefan Goeman, Shida Schubert, Jason Fischl

14.  IANA Considerations

   This document contains a number of [I-D.saml-bindings-1.1].

   o  An alignment with the work done by Liberty Alliance on Federated
      Identities as described IANA considerations.  A future
   version of this document will list them in [I-D.liberty-idff-arch-overview] would
      be useful.

   o  The security consideration needs more details. this section.

15.  Open Issues

   A list of open issues can be found at:
   http://www.tschofenig.com:8080/saml-sip/

16.  References

15.1

16.1.  Normative References

   [I-D.hodges-saml-mediatype]
              Hodges, J., "application/saml+xml Media Type
              Registration", draft-hodges-saml-mediatype-01

   [I-D.ietf-sip-identity]
              Peterson, J. and C. Jennings, "Enhancements for
              Authenticated Identity Management in the Session
              Initiation  Protocol (SIP)", draft-ietf-sip-identity-06
              (work in progress), June 2004. October 2005.

   [I-D.ietf-sipping-trait-authz]
              Peterson, J., "Trait-based Authorization Requirements for
              the Session Initiation Protocol  (SIP)",
              draft-ietf-sipping-trait-authz-01
              draft-ietf-sipping-trait-authz-02 (work in progress),
              February
              January 2006.

   [OASIS.saml-bindings-2.0-os]
              Cantor, S., Hirsch, F., Kemp, J., Philpott, R., and E.
              Maler, "Bindings for the OASIS Security Assertion Markup
              Language (SAML) V2.0", OASIS
              Standard saml-bindings-2.0-os, March 2005.

   [OASIS.saml-core-2.0-os]
              Cantor, S., Kemp, J., Philpott, R., and E. Maler,
              "Assertions and Protocol for the OASIS Security Assertion
              Markup Language (SAML) V2.0", OASIS Standard saml-core-
              2.0-os, March 2005.

   [OASIS.saml-metadata-2.0-os]
              Cantor, S., Moreh, J., Philpott, R., and E. Maler,
              "Metadata for the Security Assertion Markup Language
              (SAML) V2.0", OASIS Standard saml-metadata-2.0-os,
              March 2005.

   [OASIS.saml-profiles-2.0-os]
              Hughes, J., Cantor, S., Hodges, J., Hirsch, F., Mishra,
              P., Philpott, R., and E. Maler, "Profiles for the OASIS
              Security Assertion Markup Language (SAML) V2.0", OASIS
              Standard OASIS.saml-profiles-2.0-os, March 2005.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC2392]  Levinson, E., "Content-ID and Message-ID Uniform Resource
              Locators", RFC 2392, August 1998.

15.2  Informative References

   [I-D.ietf-sip-authid-body]

   [RFC2616]  Fielding, R., Gettys, J., Mogul, J., Frystyk, H.,
              Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext
              Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.

   [RFC3261]  Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
              A., Peterson, J., "SIP Sparks, R., Handley, M., and E.
              Schooler, "SIP: Session Initiation Protocol", RFC 3261,
              June 2002.

   [RFC3280]  Housley, R., Polk, W., Ford, W., and D. Solo, "Internet
              X.509 Public Key Infrastructure Certificate and
              Certificate Revocation List (CRL) Profile", RFC 3280,
              April 2002.

   [RFC3515]  Sparks, R., "The Session Initiation Protocol (SIP) Refer
              Method", RFC 3515, April 2003.

   [RFC3553]  Mealling, M., Masinter, L., Hardie, T., and G. Klyne, "An
              IETF URN Sub-namespace for Registered Protocol
              Parameters", BCP 73, RFC 3553, June 2003.

   [RFC3893]  Peterson, J., "Session Initiation Protocol (SIP)
              Authenticated Identity Body (AIB) Format", draft-ietf-sip-authid-body-03 (work in progress),
              May RFC 3893,
              September 2004.

   [W3C.xmldsig-core]
              Eastlake, D., Reagle , J., and D. Solo, "XML-Signature
              Syntax and Processing", W3C Recommendation xmldsig-core,
              October 2000, <http://www.w3.org/TR/xmldsig-core/>.

16.2.  Informative References

   [I-D.ietf-sip-content-indirect-mech]
              Burger, E., "A Mechanism for Content Indirection in
              Session Initiation Protocol (SIP)  Messages",
              draft-ietf-sip-content-indirect-mech-05 (work in
              progress), October 2004.

   [I-D.ietf-sip-identity]
              Peterson, J. and C. Jennings, "Enhancements for
              Authenticated Identity Management in the Session
              Initiation  Protocol (SIP)", draft-ietf-sip-identity-05
              (work in progress), May 2005.

   [I-D.ietf-sipping-certs]
              Jennings, C. and J. Peterson, "Certificate Management
              Service for The Session Initiation Protocol (SIP)",
              draft-ietf-sipping-certs-01
              draft-ietf-sipping-certs-02 (work in progress),
              February July 2005.

   [I-D.jennings-sipping-pay]
              Jennings, C., "Payment for Services in Session Initiation
              Protocol (SIP)", draft-jennings-sipping-pay-01 draft-jennings-sipping-pay-03 (work in
              progress), February October 2005.

   [I-D.liberty-idff-arch-overview]
              Wason, T., "Liberty ID-FF Architecture Overview", 2004.

   [I-D.peterson-message-identity]
              Peterson, J., "Security Considerations for Impersonation
              and Identity in Messaging  Systems",
              draft-peterson-message-identity-00 (work in progress),
              October 2004.

   [I-D.saml-bindings-1.1]
              Maler, E.,

   [IANA.application.samlassertion-xml]
              OASIS Security Services Technical Committee (SSTC),
              "application/samlassertion+xml MIME Media Type
              Registration", IANA MIME Media Types Registry application/
              samlassertion+xml, December 2004.

   [OASIS.draft-saml-protocol-ext-02]
              Cantor, S., "SAML Protocol Extensions", OASIS SSTC Working
              Draft draft-saml-protocol-ext-02, Februrary 2006.

   [OASIS.saml-conformance-2.0-os]
              Mishra, P., Philpott, R., and P. Mishra, "Bindings and
              Profiles E. Maler, "Conformance
              Requirements for the OASIS Security Assertion Markup Language
              (SAML) V1.1", September 2003.

   [I-D.saml-core-1.1]
              Maler, E., V2.0", OASIS Standard saml-conformance-2.0-os,
              March 2005.

   [OASIS.saml-glossary-2.0-os]
              Hodges, J., Philpott, R., and P. Mishra, "Assertions and
              Protocol E. Maler, "Glossary for the OASIS
              Security Assertion Markup Language (SAML) V1.1", September 2003.

   [I-D.saml-sec-consider-1.1]
              Maler, E. and R. V2.0", OASIS
              Standard saml-glossary-2.0-os, March 2005.

   [OASIS.saml-sec-consider-2.0-os]
              Hirsch, F., Philpott, R., and E. Maler, "Security and
              Privacy Considerations for the OASIS Security Markup
              Language (SAML) V1.1", September 2003.

   [I-D.saml-tech-overview-1.1-03]
              Maler, E. V2.0", OASIS Standard saml-sec-consider-
              2.0-os, March 2005.

   [OASIS.sstc-saml-exec-overview-2.0-cd-01]
              Madsen, P. and J. Hughes, "Technical Overview of the E. Maler, "SAML V2.0 Executive Overview",
              OASIS
              Security SSTC Committee
              Draft sstc-saml-exec-overview-2.0-cd-01, April 2005.

   [OASIS.sstc-saml-tech-overview-2.0-draft-08]
              Hughes, J. and E. Maler, "Security Assertion Markup
              Language (SAML) V1.1",
              March 2004. V2.0 Technical Overview", OASIS SSTC
              Working Draft sstc-saml-tech-overview-2.0-draft-08,
              September 2005.

   [RFC2543]  Handley, M., Schulzrinne, H., Schooler, E., and J.
              Rosenberg, "SIP: Session Initiation Protocol", RFC 2543,
              March 1999.

   [RFC3515]  Sparks, R., "The

   [RFC3323]  Peterson, J., "A Privacy Mechanism for the Session
              Initiation Protocol (SIP) Refer
              Method", (SIP)", RFC 3515, April 2003.

   [xmldsig-core]
              Eastlake, D., Reagle, J., and D. Solo, "XML-Signature
              Syntax and Processing, W3C Recommendation (available at
              http://www.w3.org/TR/xmldsig-core/)", February 3323, November 2002.

Authors' Addresses

   Hannes Tschofenig
   Siemens
   Otto-Hahn-Ring 6
   Munich, Bavaria  81739
   Germany

   Email: Hannes.Tschofenig@siemens.com

   Jon Peterson
   NeuStar, Inc.
   1800 Sutter St Suite 570
   Concord, CA  94520
   US

   Email: jon.peterson@neustar.biz

   James Polk
   Cisco
   2200 East President George Bush Turnpike
   Richardson, Texas  75082
   US

   Email: jmpolk@cisco.com

   Douglas C. Sicker
   University of Colorado at Boulder
   ECOT 430
   Boulder, CO  80309
   US

   Email: douglas.sicker@colorado.edu

   Marcus Tegnander
   Letterkenny Institute of Technology
   Port Road
   Letterkenny, Donegal
   Ireland

   Jeff Hodges
   NeuStar, Inc.
   2000 Broadway Street
   Redwood City, CA  94063
   US

   Email: schwed@gmail.com Jeff.Hodges@neustar.biz

Intellectual Property Statement

   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.

Disclaimer of Validity

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

Copyright Statement

   Copyright (C) The Internet Society (2005). (2006).  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.

Acknowledgment

   Funding for the RFC Editor function is currently provided by the
   Internet Society.