RE: [security-services] NameID and the use of SPProvidedID

From
Thomas Wisniewski <>
Date
2006-06-22T16:46:41+00:00
ID
Thread
RE: [security-services] NameID and the use of SPProvidedID
Title: Message

Greg, 
following your same reasoning of lines 2481-2487 (but applied to the IDP) ... in 
the case of IDP initiated name change only the SP is called out as having a 
requirement to send the element's contenct (back to the IDP). 

 

But 
this is clearly not desired -- as you always want the IDP to send 
its identifier value to bhe SP.

 

Tom.

  

  
-----Original Message-----
From: Greg Whitehead 
  [mailto:] 
Sent: Thursday, June 22, 2006 12:32 
  PM
To: Thomas Wisniewski; 'SSTC WG'
Subject: Re: 
  [security-services] NameID and the use of 
  SPProvidedID

Line 2481-2487 seem to clearly separate the cases of 
  SP and IDP initiated name change. Note that in the case of SP initiated name 
  change only the IDP is called out as having a requirement to send SPProvidedID 
  (back to the SP).

I read the text on lines 2490-2492 as saying that 
  when a NameID and it's associated SPProvidedID are included in a request 
  (subject to the text in lines 2481-2487), it MUST be the most current 
  value.

This reading would be consistent with the way things were done 
  in IDFF, which is probably why I'm biased in that direction. I also prefer 
  this interpretation because there's no utility in sending SPProvidedID back to 
  the IDP.

In any case, the most important thing is to reach consensus 
  and clarify things in errata.

-Greg

On 6/22/06 9:31 AM, 
  "Thomas Wisniewski" <> 
  wrote:

  Greg, Scott, Conor, I'm going through this one again, and I want 
    to bring up the issue again -- I don't agree with your interpretation of the 
    current specs.

 
When I read the Core specs (2433-2438 and 
    2490-2492 -- quoted below), it seems obvious that the spec forces the SP, 
    once it sets the SPProvidedID, to set this value in all subsequent messages 
    to the IDP. This is a MUST requirement for the SP.

The main stmt being line 2490-2492
"In any case, the <saml:NameID> 
    content in the request and its asociated SPProvidedID attribute MUST contain 
    the most recent name identifier information established between the 
    providers for the principal."

I do believe my interpretation of the specs is the correct one. 
    Otherwise what is the purpose of the above statement? If you don't agree, 
    please advise how you interpret the above statement.

 

Having said that, the actual intent 
    (potential for errata) can be argued as well.

If we say that the SP can arbitrarily include the new 
    SPProvidedID or omit it, what stops us from saying that once the IDP changes 
    its identifier using a <NewID> MNI call, it too does *not* have to 
    include that value. If this is the case, then all things can bread down if 
    the SP decided to "remove" (use a blank) its value as now the IDP would not 
    have to send anything to the SP ...

It just seems wrong that we have defined a pair-wise identifier, 
    and the SP can arbitrarily send its identifier (so it only needs to send one 
    value in the pair) to the IDP while the IDP must send the pairwise 
    identifier. If the SP wants to set the SPProvidedID, then it should be held 
    to that identifier in future calls to the IDP (just as when the IDP changes 
    its identifier, it is held to sending its identifier in calls to the SP). 
    

Tom.

 

    
 
-----Original Message-----
From: Thomas 
       Wisniewski [mailto:] 
      
Sent: Friday,  June 09, 2006 11:17 AM
To: 'SSTC 
      WG'
Subject:  [security-services] NameID and the use of 
      SPProvidedID

All, there is 
       some contention around the interpretation of SamlCore lines 2433 - 
      2438 and  2490 - 2492.

 

"The new identifier 
       value (in plaintext or encrypted form) to be used when communicating 
      with the  requesting provider concerning this principal, or an 
      indication that the use of the old identifier  has been terminated. 
      In the former  case, if the requester is the service provider, the 
      new identifier MUST appear  in subsequent <NameID> elements in 
      the SPProvidedID attribute. If the  requester is the  identity 
       provider, the new value will appear in subsequent <NameID> 
      elements as the element's 
       content."
 

...
 

"In any case, the 
       <saml:NameID> content in the request and its asociated 
      SPProvidedID  attribute MUST contain the most recent name identifier 
      information established  between the providers for the 
      principal."
 

This has to do with setting the 
       persistent NameID value using the NewID option of an MNI 
       request.
 

Assume original 
       NameID is as follows: 

<NameID  NameQualifier="idp" SPNameQualifier="sp" 
       Format="...persistent">abcd</NameID>

Assume that an SP sets 
       their SPProvidedID to "1234". It is clear that  the IDP, upon 
      accepting the new value MUST send any references to this NameID  such 
      that the SPProvidedID is specified to "1234"
 

So an IDP 
      would  send
 

<NameID 
       NameQualifier="idp" SPNameQualifier="sp" Format="...persistent" 
       SPProvidedID="1234">abcd</NameID>

Now 
       consider  if the SP needs to intiate an request (e.g., Single 
      Logout). I would content  that the SP MUST send the following as 
      well:

<NameID  NameQualifier="idp" SPNameQualifier="sp" 
      Format="...persistent" 
       SPProvidedID="1234">abcd</NameID>

Another 
      interpretation is that the SP is allowed to  continue to 
      send:
 

<NameID  NameQualifier="idp" 
      SPNameQualifier="sp" 
       Format="...persistent">abcd</NameID>
 

I.e., 
      it never needs to send the value it set in  its MNI request that 
       with NewID="1234".

Tom.
 

Thomas Wisniewski
Software Architect 
Phone: (201) 
       891-0524 
      
Cell: (201) 248-3668  

EntrustÒ 
Securing 
      Digital Identities
& Information