Draft:  draft-ietf-sip-saml-02
Reviewer: Richard Barnes
Review Date: 18 Jun 07


Security / Privacy Concerns:
------------------------------------------------------------------------
1. It's never made clear what entity is the Subject of the conveyed assertions. This could be a critical distinction, e.g., if one party assumes that it's the UAC being discussed, and the other the user of the UAC.

2. Section 9 needs a discussion the nature of the assurances provided by SAML assertions. In general, in order for it to be verifiable that the SAML assertion was issued by the Authentication Service, there must be proof that the holder of the private key used to create the Identity-Info header. There are several ways to do this:
2.a. The SAML assertion is signed with the appropriate private key
2.b. An unsigned SAML assertion is provided over HTTPS by a server that authenticates with the same certificate 2.c. The Identity-Info is integrity-protected from the point where it is added by the Authentication Service until it reaches the UAS.

3. The list of threats and countermeasures in Section 9 is incomplete. For instance: 3.a. There's no discussion of threats of attacks by elements of the SIP signaling path (e.g., manipulating the URI in the Identity-Info header) 3.b. The anti-replay mechanism should reference the expiry elements built into the assertion (e.g., the NotOnOrAfter attribute)

4. The document isn't clear on whether or not the assertions MUST be signed by the issuer. Section 6.1.5, step 3 seems to imply that the assertion will be signed, but Section 9.3 seems to assume that this isn't necessarily the case. IMHO, it should be that the assertion MUST be signed by the same key used to generate the identity digest. But even if this isn't the case, this point should be clarified.

5. No mention is made of the possible sensitivity of the contents of SAML assertions. It's possible that these assertions could contain sensitive information about the Subject, such as statements about what identities the subject holds. There should be some discussion about what measures should be taken in this case, e.g., the use of HTTPS and authentication of dereferencing clients.

General Comments:
------------------------------------------------------------------------
1. Conveying SAML assertions via a URI in the Identity-Info header contradicts Section 9 of RFC 4474, which says that the resource indicated MUST be of type "application/pkix-cert". ISTM there are at least a couple of ways to fix this:
1.a. Normatively update RFC 4474 to allow the resource to be of either type
1.b. Normatively update RFC 4474 to allow for a "multipart/mixed" with one part of each type
1.c. Add a separate header to carry the SAML assertion
In the interest of backward-compatibility, I don't think you can get rid of application/pkix-cert altogether.

2. The subdivisions under sections 6 and 7 seem unnecessary. Section 6.1.X should be Section 6.X (or maybe 6.(X+1)), and likewise for section 7.


Localized Comments and Nits:
------------------------------------------------------------------------
Section 2:
I would switch the order of the definitiosn of "profile attribute(s)" and "user profile, subject profile".

Section 3, paragraph starting "Thus one can employ...":
Change "to make and encode statements" to "to encode statements".

Section 6.1.2, paragraph starting "Although this...":
Change "this profile is overview is" to "this profile overview is"

Figure 2:
In the INVITE messages, the AoR in the From: header should be "sip:[EMAIL PROTECTED]"

Section 6.1.2, Step 3:
The AS is supposed to insert "attributes required by Bob's domain". How is it supposed to know which attributes these are? This is answered by the following paragraph, which should be moved up to here.

Section 6.1.2, Step 3:
The AS constructs a "HTTP-based SAML URI reference" -- shouldn't this be a reference according to the binding defined in this document, instead of the original (SAMLv2) reference standard?

Section 6.1.2, Step 5, second paragraph:
"the AS continues" should be "the UAS continues"

Section 6.1.3.3, third paragraph:
This paragraph gives the option of HTTPS or HTTP, but doesn't specify that one of the two MUST be used. Suggested text: "The AS MUST construct either an HTTP or HTTPS URI per Section "3.7.5.1 URI Syntax" of [OASIS.saml-bindings-2.0-os]. It is RECOMMENDED that the AS construct an HTTPS URI."

Section 6.1.3.3, fourth paragraph:
This is not technically correct; the URI should be the absoluteURI portion of the Identity-Info header value.

Section 6.1.4:
Through out this section, situations with exceptions are presented as "SHOULD ... MAY ...". As I read it, this creates a situation without a mandatory default behavior; I would prefer if these were worded as MUSTs, with MAYs allowed under specified circumstances.

Section 6.1.4.1.3:
The SHOULDs in this section should be should be MUSTs.

Section 6.1.4.1.4, second paragraph:
This needs to say that the attribute-value pairs MUST pertain to the subject of the assertion (a concept which needs to be tied to a SIP entity elsewhere in the document). This may be the entity identified in the From header, or another identified entity.

Section 6.1.5, Step 3:
Section 5.4 of the indicated reference doesn't say anything about how signatures are verified. Instead, this should reference Section 3.2 of the XMLdsig document referenced. Also is this TODO resolved?

Section 6.1.5, Step 5:
Specify how this verification is done, e.g., by verifying that the signed-identity-digest and the signature on the SAML assertion are both verifiable with the key in the cert in the assertion.

Section 6.1.5, Step 7:
The relevant field in the X.509 certificate are Subject and Subject Alternative Name (not Issuer and Issuer Alternative Name). The Issuer of the assertion is the Subject of the certificate.

Section 7:
This binding doesn't really have anything to do with SIP. Could we just exclude SIP from the name? Maybe this could be the IETF standard URI binding of SAML.



_______________________________________________
Sip mailing list  https://www1.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use [EMAIL PROTECTED] for questions on current sip
Use [EMAIL PROTECTED] for new developments on the application of sip

Reply via email to