RE: [saml-dev] Logout from a single SP.

From
Giuseppe Sarno <>
Date
2005-11-07T13:55:46+00:00
ID
Thread
RE: [saml-dev] Logout from a single SP.
Title: Message

Hi 
just to reply to your last point:

 

As I said above, I think that the SP should 
be required to send the Session Index if it was in the assertion used to 
establish SessionB (athouhg I can't find anything that says that 
explicitly).   However, even lacking that, I don't think that an SP 
should be authorized to end sessions that were not associated with the SP 
(although the IdP may allow "trusted" SPs to do so when the reason is an 
"...:admin" because of the thought that if it wasn't user initiated there may be 
something strange going on and the IdP may want to play it safe -- obviously 
this is not a part of the SAML spec, but I think that a cautious IdP may do 
this, especially with partners that they 
"trust").

Isn't 
this though the principal behind the single Logout ? (SP 
initiated)

Are 
you advocating that only the IDP can actually initiate the Single Logout 
sequence ? and the SP can only initiate Logout for own sessions 
?  

 

If so 
and it probably make sense the Spec should be a little more 
specific.

 

What 
do you think ?

 

Giuseppe.

  

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

  
 
From: Conor P. Cahill 
  [mailto:] 
Sent: 04 November 2005 
  13:28
To: Sarno, Giuseppe [MOP:GM15:EXCH]
Cc: Philpott, 
  Robert; 
Subject: RE: [saml-dev] Logout 
  from a single SP.

Giuseppe Sarno wrote on 11/2/2005, 12:15 PM: 
  

  
    
in the 
    section 3.7.3.2 (in case request received at the Session authority) it 
    says:

    
starting at 
    2628:

    

    
Terminate the principal's current 
    session as specified by the <saml:BaseID>, <saml:NameID>,

    
or <saml:EncryptedID> element, 
    and any <SessionIndex> 
    elements present in the logout

    
request 
    message.

    
It doesn't 
    say : If no 
    
    
<SessionIndex> elements are supplied, then 
    all sessions associated with the principal MUST be

    
invalidated.

    
I'm assuming 
    it would be the same case as 
  3.7.3.1.
I think it would be different.  At most 
  it would say "terminate any sessions that have been associated with that SP", 
  but I think that the SP should be required to specify the session index if it 
  was provided on the authentication assertion (I looked at the spec, but I 
  couldn't find a positive statement as to this being the case -- although I 
  think it should be a MUST).  I've submitted an errata request for this to 
  be clarified.

The "no ID" on the IdP driven logout is an optimization 
  allowing the IdP to shutdown all sessions at the SP with one call.  There 
  probably shouldn't be any reverse optimiaztion as an SP should not be able to 
  have an impact on sessions that are not associated with it.

  
    
Now Let's say 
    I'm Principal: PRINC and logged as USERA on SPA using my Laptop and 
    (SessionIndexA),

    
USERB_C (but 
    still same principal) logged on SPB(sessionindexB)/SPC(sessionindexC) using 
    my PDA

    
 

    
Now if 
    USERB_C logs out from SPB (then a Logout request is sent to the IDP) there 
    are 2 options:

    
 

    
1) 
    it could send a logout request with SessionIndexB. 
    

    
2) it could 
    send a logout request without 
    SessionIndexes.

    
 

    
In case 1 
    SessionInextB session for the principal PRINC is 
    killed.

    
In case 2 
    from what the spec says (core all 
    sessions associated with the principal MUST be 
    invalidated.)
As I said above, I think that the SP should be 
  required to send the Session Index if it was in the assertion used to 
  establish SessionB (athouhg I can't find anything that says that 
  explicitly).   However, even lacking that, I don't think that an SP 
  should be authorized to end sessions that were not associated with the SP 
  (although the IdP may allow "trusted" SPs to do so when the reason is an 
  "...:admin" because of the thought that if it wasn't user initiated there may 
  be something strange going on and the IdP may want to play it safe -- 
  obviously this is not a part of the SAML spec, but I think that a cautious IdP 
  may do this, especially with partners that they 
  "trust").

Conor