RE: ? on AuthnRequest

From
Philpott, Robert <>
Date
2005-01-31T19:39:34+00:00
ID
Thread
RE: ? on AuthnRequest
From: Thomas
Wisniewski [mailto:] 

Sent: Monday, January 31, 2005
1:32 PM

To: Philpott, Robert; samldemotech

Subject: RE: ? on AuthnRequest

 

Rob, some comments (all other items I
agree on).

 

In terms of NameIDPolicy, we had decided
on the last call that the SP would decide what format to use (vs.
the ID value implying this). We would have two lists of IDPs on
the SP site (one for the basic case idps and one for
the optional use cases). How difficult would it be to implement this.
The alternative of having the IDP know (on a per user basis which format to
use), doesn't seem to be the right approach.

[RSP] sleep deprivation… I don’t recall that
discussion… but I now concur.  I’ve talked it over here and we’ll
handle that.  Sorry for the confusion.  

 

So just to confirm – for the basic scenario, will
there still be a NameIDPolicy with Format=X509SubjectName? Or will there be NO
NameIDPolicy? Is AllowCreate included? If so, what should it be set to?

 

For the federation use case, Then I assume we will use
Format=urn:…:persistent and AllowCreate=true.

 

I also think the following should also be
allowed.

AssertionConsumerServiceIndex with
a value of 0 (in addition to not being present). 

[RSP] that’s okay with me – I just preferred to
keep the AuthnRequest messages short because we’re using redirect HTTP. So
allowing it in addition to allowing it to not be present is fine.

 

 But can we all agree to use the same index value (0 is
fine with me also) so we don’t have configuration issues (i.e. one vendor
might use 0, another use 1, another use 99)?

 

 

 

Tom.

-----Original Message-----

From: Philpott, Robert
[mailto:]

Sent: Monday, January 31, 2005
1:09 PM

To: samldemotech

Subject: ? on AuthnRequest

The interop spec doesn’t say anything about what
we’ll be sending in the AuthnRequest messages of the demo
scenarios.  Let me throw out what I think we should do and see if it
sticks.

 

AuthnRequest: 

-         
Attributes from RequestAbstractType:

o       
ID: NCName string; required by SAML – MUST be sent

o       
Version: string; required by SAML; value = “2.0”
 – MUST be sent

o       
IssueInstant: xs:dateTime; required by SAML – MUST be sent

o       
Destination: URI; required by SAML when using HTTP Redirect or POST
bindings – MUST be sent

o       
Consent: values from spec – MUST NOT be sent

-         
Elements from RequestAbstractType:

o       
<saml:Issuer>: IssuerType – required for all profiles
we’re using – MUST be sent

§        
Format must be omitted or must be set to
“urn:…:nameid-format: entity”. 

§        
NameQualifier, SPNameQualifier, and SPProvidedID – MUST NOT be
sent

o       
<ds:Signature> - MUST NOT be sent 

§        
Note that the redirect binding will sign the URL parameters as defined
in the spec, so the message itself should not include a signature

-         
AuthnRequest-specific Attributes :

o       
ForceAuthn – MUST NOT be sent

o       
IsPassive – MUST NOT be sent

o       
AssertionconsumerServiceIndex – MUST NOT be sent

o       
AssertionConsumerServiceURL – MUST NOT be sent

o       
ProtocolBinding – MUST NOT be sent

o       
AttributeConsumingServiceIndex – MUST NOT be sent

-         
AuthnRequest-specific Elements :

o       
<saml:Subject> – MUST NOT be sent

o       
<saml:NameIDPolicy> – MUST be sent

§        
Format: MUST NOT be included

§        
AllowCreate flag is “true”

§        
SPNameQualifier – MUST NOT be sent

o       
<saml:Conditions> – MUST NOT be sent

o       
<RequestedAuthnContext> – MUST NOT be sent

o       
<Scoping> – MUST NOT be sent

 

The only item I debated about was the NameIDPolicy. 
AllowCreate must be true for the optional use cases, but when the SP sends the
user to the IDP it normally doesn’t know which use case is being
run.  I believe that is controlled by what user account the use logs in
with at the IDP. Alice, Bob, and Charlie are for the base use case and
<vendor>user<n> (e.g. rsauser1) users are for the optional use
cases.

 

So we could have defined the <NameIDPolicy> as
follows: 

o       
For the base use case:

§        
Format: urn:…:nameid-format:X509SubjectName

§        
AllowCreate flag is omitted or must be set to “false”

§        
SPNameQualifier – MUST NOT be sent

o       
For the optional use case:

§        
Format: urn:…:nameid-format:persistent

§        
AllowCreate flag is “true”

§        
SPNameQualifier – MUST NOT be sent

But this means the SP has to know which demo the user is
running before they are sent to the SP.  Our SP can’t easily do
this. 

 

Comments/Questions/Complaints?

 

Rob Philpott

Senior Consulting Engineer 

RSA Security Inc. 

Tel: 781-515-7115 

Mobile: 617-510-0893 

Fax: 781-515-7020 

mailto: