RE: SAML 2.0 Optional Use Cases

From
Thomas Wisniewski <>
Date
2005-01-12T20:24:12+00:00
ID
Thread
RE: SAML 2.0 Optional Use Cases
Title: RE: SAML 2.0 Optional Use Cases

Bob, 
if the ID federations are already set up ahead of time, then this is pretty 
much exactly like the basic user case we agree to last week where we are 
using X509 Subject names.

 

I 
think what we should show, and I think it was implied by all the email thread 
replies, that the actual ID federation and then the defederation is the 
more advanced use case (hence optional). There isn't that much add'l typing 
to do except:

- 
Logging into the SP as well as the IDP initially.

- 
Selecting a link on a page that say defederate me.

 

The 
main point of the use case being: SAML 2.0 now lets you federate your identity 
between providers (no out of band or apriori information about the user is 
requried between the two sites). The user is in control of 
this.

 

Tom.

 

 

  
-----Original Message-----
From: Ciochon, Robert 
  [mailto:]
Sent: Wednesday, January 12, 2005 
  2:42 PM
To: Thomas Wisniewski; Dave Silver; Greg Whitehead; 
  Philpott, Robert
Cc: Yuzo Koga; Mark Joynes; 
  samldemotech
Subject: RE: SAML 2.0 Optional Use 
  Cases

  
I don't believe showing the federation process (step 
  1) or defederation process (step 6) adds to the customer 
  experience.   As someone noted earlier, typing in data 
  detracts from the demo.   

  
 

  
Perhaps we could have a user from each vendor who wants 
  to do the advanced cases already federated on a single idP.   Each 
  participating vendor would supply an SP.  When the person goes to the 
  first SP, they go through the normal login step, and the SP page shows 
  something like "Welcome Vendor1User1".  They click on a link to a second 
  SP, and without logging in get the second SP page with something like "Welcome 
  Vendor2User1".  We could have additional users set aside in case some 
  customer really wants to see the whole thing working from start to finish, but 
  I think just describing it to most would suffice.

  
 

  
Opinions?

  
Bob

  

  
  From: Thomas Wisniewski 
  [mailto:] 
Sent: Wednesday, January 12, 
  2005 8:40 AM
To: Dave Silver; Greg Whitehead; Philpott, 
  Robert
Cc: Thomas Wisniewski; Yuzo Koga; Mark Joynes; 
  samldemotech
Subject: RE: SAML 2.0 Optional Use 
  Cases

  

  
Based on the thread and the use of "<vendor>User1" thru 
  "<vendor>User5" ids/pwds, I've rewritten my original email to include 
  the following use case flows (mean to be considered in order).

  
Use Cases: 

  
1. SSO (with User Federation). The user accesses the SP login 
  site by virtue of trying to access a protected page at the SP. On the login 
  site, the user selects an IDP to use. At the IDP site, the user will log into 
  the IDP (IDP will perform federation steps as necessary) and will be 
  redirected back to the SP. The SP will then ask the user to log in to complete 
  the federation (SP will perform federation steps as necessary). User will 
  access the original protected page. 

  
2. Single Logout. The user logs out of the SP using SAML 
  logout. The flow follows that of the basic case. 

  
3. SSO (post User Federation). The user, after logging out of 
  the SP (or restarting the browser), access the SP again and selects the IDP as 
  in (1). SAML SSO is used to log back into the SP. The user does not have to 
  log into the SP this time. The flow follows that of the basic case. 

  
4. Attribute Query. From the SP site, the user can access a 
  protected application that uses/displays the IDP attributes (via a SAML 
  Attribute Query). This is application D below.

  
5. (Optional to vendors who choose to do this) Change IDP 
  Attributes. The User may be allowed to go to the IDP site (e.g., through 
  another browser application) and change their attributes. After updating these 
  attributes, the user can re-submit the request from the SP (as defined in 4 
  above) and see the updated IDP attributes.

  
6. User Defederation. The user selects SAML Persistent ID 
  Management which allows them to defederate with an IDP. Either HTTP-Redirects 
  or SOAP can be used to accomplish this (we should decide). 

  
-- I would also like to discuss the option of doing federation 
  from this step as well. I.e., the user can defederate with an IDP or they can 
  add additional federations to other IDPs.

  
I believe the attributes should include at least one dynamic 
  value, whether this is a counter like "NumberOfTimesAccessed" or perhaps 
  something more like "CurrentTime". Basically, showing that if you perform the 
  Attribute Query multiple times, you can see different data. In some sense this 
  is a potiential, albeit weaker, alternative to (5) above to show values are in 
  fact dynamically coming from the IDP.

  
Tom. 

  
-----Original Message----- 
From: Dave 
  Silver [mailto:] 
  
Sent: Wednesday, January 12, 2005 7:25 AM 
To: Greg Whitehead; Philpott, Robert 
Cc: Thomas 
  Wisniewski; Yuzo Koga; Mark Joynes; samldemotech 
Subject: Re: SAML 2.0 Optional Use Cases 

  
I fully agree.  Last year's Interop demo was so 
  successful because it was 
simple, low risk, and very 
  straightforward.  It easily and quickly 
facilitated discussion of SAML and how it could be used to solve real 
  
business/authentication problems.  And that 
  didn't preclude more in-depth 
technical discussion, if 
  that is what the visitor desired. 

  
The clock is ticking down - 3 weeks to the dry run and then 1 
  1/2 weeks to 
the conference.  Perhaps I'm being 
  too conservative, but I suggest we first 
focus on 
  nailing down and successfully implementing the required demo. 

  
Dave 

  
At 11:01 PM 1/11/2005, Greg Whitehead wrote: 
>My 2c on this thread: 
> 
>We want to spend our time with people talking about SAML and our 
  products, 
>not trying to run / explain complicated 
  demos. In my experience manning 
>booths at trade 
  shows, most people don't want to spend a lot of time 
>messing around with demos anyway. They assume the technology works 
  and are 
>more interested in understanding how it 
  can be used to solve their 
>particular problem. A 
  demo can be a useful tool for explaining how 
>technology works, but only if it doesn't distract the viewer with 
  
>irrelevant details. The scenario should be 
  instantly understandable 
>without a lot of 
  explanation, and should achieve a balance between 
>engaging and boring that allows people to focus on how it works not 
  what 
>it does. 
> 
  
>I guess what I'm trying to say is that it's very easy to 
  make a demo too 
>complicated to be useful for it's 
  intended purpose. I think we'd be much 
>better 
  served with a simple demo using fixed accounts and fixed 
>attributes, as we've done in the past, where we can focus on the 
  
>underlying technology and not running of the demo. 
  If we have a standard 
>flow that we can operate 
  with minimal keyboarding or attention, we'll be 
>able to spend a lot more time explaining the underlying 
  technology! 
> 
>-Greg 
> 
> 
>On Jan 11, 2005, at 9:14 PM, Philpott, 
  Robert wrote: 
> 
>>Except that some products may not permit a wildcard query (i.e. 
  no 
>>attribute(s) listed in the query).  
  It's legal by SAML rules to reject 
>>such 
  requests if local policy precludes wildcard attributes.  If products 
  
>>only support this policy, then they are 
  stuck. 
>> 
>>Rob 
  Philpott 
>>Senior Consulting Engineer 
  
>>RSA Security Inc. 
>>Tel: 781-515-7115 
>>Mobile: 
  617-510-0893 
>>Fax: 781-515-7020 
  
>>mailto: 
  
>> 
>>>-----Original 
  Message----- 
>>>From: Yuzo Koga [mailto:] 
  
>>>Sent: Tuesday, January 11, 2005 9:51 PM 
  
>>>To: Thomas Wisniewski 
>>>Cc: Mark Joynes; samldemotech 
>>>Subject: Re: SAML 2.0 Optional Use Cases 
>>> 
>>>>For simplicity, we 
  could assume that any AttributeQuery should not 
>>>>contain an <Attribute> element, implying that all 
  attributes are 
>>>>returned by the IDP 
  each time. Sound reasonable? 
>>> 
  
>>>In order to cope with various scenarios for 
  AttributeQuery, 
>>>I think it's 
  reasonable.  All the IDP have to do is 
>>>to respond all the attributes associating with the 
  specified 
>>>Subject :)  And, how to 
  show/use the attributes that SP gets 
>>>from 
  IDP depends on SP side.  It's reasonable for demo. 
>>> 
>>>Yuzo 
>>> 
>>>On 2005/01/11, at 
  23:25, Thomas Wisniewski wrote: 
>>> 
  
>>>>Yuzo. Exactly. I think we can definitely 
  resolve which attributes 
>>>>prior to the 
  dry-run. For starters we have the following (note that 
>>>>the first 2 are NOT meant to be exchanged but are there 
  for login 
>>>>purposes to the respective 
  provider): 
>>>> 
>>>>>   - username 
>>>>>   - password 
>>>> 
>>>>>   - common name (e.g., john smith, type 
  string) 
>>>>>   - email 
  address (e.g., , type string) 
>>>>>   - membership level (e.g., gold, type 
  string) 
>>>>>   - spending 
  limit (e.g., 2500, type int) 
>>>>>   - age (e.g., 31, type int) 
  
>>>>>   - shoe size (e.g., 10.5, 
  type string) 
>>>> 
>>>>The attribute profile would be basic and the data types 
  would be only 
>>>>string or int. 
  
>>>> 
>>>>For 
  simplicity, we could assume that any AttributeQuery should not 
  
>>>>contain an <Attribute> element, 
  implying that all attributes are 
>>>>returned by the IDP each time. Sound reasonable? 
  
>>>> 
>>>>Here's the example <AttributeStatement> that 
  should be returned based 
>>>>on the 
  attributes above. 
>>>> 
>>>><saml:AttributeStatement> 
>>>><saml:Attribute 
>>>>    
  NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" 
  
>>>>   Name="CommonName"> 
  
>>>>   <saml:AttributeValue 
  xsi:type="xs:string">john 
>>>>smith</saml:AttributeValue> 
>>>></saml:Attribute> 
>>>><saml:Attribute 
>>>>    
  NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" 
  
>>>>   Name="EmailAddress"> 
  
>>>>   <saml:AttributeValue 
  
>>>>xsi:type="xs:string"></saml:AttributeValue> 
  
>>>></saml:Attribute><saml:Attribute 
  
>>>>    
  NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" 
  
>>>>   
  Name="MembershipLevel"> 
>>>>   <saml:AttributeValue 
  xsi:type="xs:string">gold</saml:AttributeValue> 
>>>></saml:Attribute> 
>>>><saml:Attribute 
>>>>    
  NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" 
  
>>>>   Name="SpendingLimit"> 
  
>>>>   <saml:AttributeValue 
  xsi:type="xs:int">2500</saml:AttributeValue> 
>>>></saml:Attribute> 
>>>><saml:Attribute 
>>>>    
  NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" 
  
>>>>   Name="Age"> 
>>>>   <saml:AttributeValue 
  xsi:type="xs:int">31</saml:AttributeValue> 
>>>></saml:Attribute> 
>>>><saml:Attribute 
>>>>    
  NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" 
  
>>>>   Name="ShoeSize"> 
  
>>>>   <saml:AttributeValue 
  xsi:type="xs:string">10.5</saml:AttributeValue> 
>>>></saml:Attribute> 
>>>></saml:AttributeStatement> 
>>>> 
>>>>Tom. 
  
>>>> 
>>>>-----Original Message----- 
>>>>From: Yuzo Koga [mailto:] 
  
>>>>Sent: Tuesday, January 11, 2005 8:04 
  AM 
>>>>To: Thomas Wisniewski 
  
>>>>Cc: Mark Joynes; samldemotech 
  
>>>>Subject: Re: SAML 2.0 Optional Use 
  Cases 
>>>> 
>>>> 
>>>> 
  
>>>>I agree with you.  If we can prepare 
  such things, 
>>>>the demo will be very 
  flexible and attractive. 
>>>> 
  
>>>>However, with regard to exchanging attributes 
  between 
>>>>providers, I think we need to 
  previously know what kind of 
>>>>attributes, and with what name, are exhanged. 
  
>>>> 
>>>>I 
  think we need a concrete scenario for it. 
>>>>Or, we should decide at the F2F dry-run event at 
  GSA? 
>>>> 
>>>>Yuzo 
>>>> 
  
>>>>On 2005/01/11, at 21:20, Thomas Wisniewski 
  wrote: 
>>>> 
>>>>>Hey Yuzo. 
>>>>> 
>>>>>I was 
  initially proposing a more advanced scenario where the user can 
  
>>>>>create their own id (username) and 
  respective values and also update 
>>>>>these values. The updating of these values is 
  something that isn't 
>>>>>absolutely 
  necessary, however, without the user being able to create 
>>>>>their own id we could run into race conditions if 
  multiple folks at 
>>>>>the conference 
  are manipulating the same "sample" identifier. I.e., 
>>>>>someone is doing SSO as alice while someone else is 
  in the process of 
>>>>>terminating the 
  ID federation of alice. 
>>>>> 
  
>>>>>Thoughts? 
>>>>> 
>>>>>Tom. 
>>>>> 
>>>>>-----Original Message----- 
>>>>>From: Yuzo Koga [mailto:] 
  
>>>>>Sent: Tuesday, January 11, 2005 6:13 
  AM 
>>>>>To: Thomas Wisniewski 
  
>>>>>Cc: Mark Joynes; samldemotech 
  
>>>>>Subject: Re: SAML 2.0 Optional Use 
  Cases 
>>>>> 
>>>>> 
>>>>> 
>>>>>Hello 
  Tom, all, 
>>>>> 
>>>>>Let me clarify. 
>>>>> 
>>>>>According to the A, an account at IDP has following 
  attributes, 
>>>>>correct? 
  
>>>>> 
>>>>>   - username 
>>>>>   - password 
>>>>>   - common name 
>>>>>   - email address 
>>>>>   - membership level 
>>>>>   - spending limit 
>>>>>   - age 
>>>>>   - shoe size 
>>>>> 
>>>>>And, 
  IDP can set any values (i.e. a user don't set values) 
>>>>>to the common name, email address, and membership 
  level, 
>>>>>correct? 
>>>>> 
>>>>>Yuzo 
>>>>> 
>>>>>On 
  2005/01/10, at 23:18, Thomas Wisniewski wrote: 
>>>>> 
>>>>>>Hi, for those vendors considering the optional 
  use cases (around 
>>>>>>persistent 
>>>>>>identifiers and attribute queries), I would 
  like to propose the 
>>>>>>following 
>>>>>>use cases. It would require each vendor to 
  support 4 simple 
>>>>>>resources/applications. 
>>>>>> 
>>>>>>A. User registration. Allow the user to perform 
  a simple online 
>>>>>>registration 
>>>>>>to an SP or IDP (no SAML processing exists in 
  this case). User is 
>>>>>>allowed 
>>>>>>specifies the following fields: 
  
>>>>>>- username 
>>>>>>- password 
>>>>>>- password (again) 
>>>>>>// the remaining attributes are only for 
  IDPs: 
>>>>>>- spending limit 
  
>>>>>>- age 
>>>>>>- shoe size (or any other attribute(s) that we 
  should decide on) 
>>>>>> 
  
>>>>>>B Local user attribute management. 
  This is a protected application 
>>>>>>that is 
>>>>>>avaliable to the user once they have logged 
  into an IDP. This 
>>>>allows 
  
>>>>>>the 
>>>>>>user to see their local attributes described in 
  (A). I.e., at the 
>>>>>   
  > provider 
>>>>>>they logged into 
  (no SAML processing exists in this case). 
>>>>>> 
>>>>>>C. User persistent Identifier management. This 
  is a protected 
>>>>>>application 
>>>>>>that is avaliable to the user once they have 
  logged into a 
>>>>provider. 
  
>>>>>It 
>>>>>>allows them to view their current ID 
  federations and either 
>>>>TERMINATE 
>>>>>>and 
>>>>>>existing one or FEDERATE to a new IDP. The 
  respective SAML MNI 
>>>>>>terminate 
  or 
>>>>>>SAML SSO with ID Federation 
  AllowCreate=true would occur. 
>>>>>> 
>>>>>>NOTE: we should discuss is a 3rd option NEW_ID 
  (or REFRESH) should 
>>>>be 
  
>>>>>>included. This is allows and IDP or 
  SP to change the opaque id 
>>>>(e.g., 
>>>>>>the 
>>>>>>user wants their opaque id changed for security 
  purposes). 
>>>>>> 
>>>>>>D. User SAML attribute inquiry. This is a 
  protected application 
>>>>that 
  
>>>>>is 
>>>>>>avaliable to the user once they have logged 
  into a provider AND 
>>>>they 
  
>>>>>>used 
>>>>>>SAML authentication to some IDP. If so, it 
  should display the 
>>>>>>attributes 
>>>>>>described in (A) by doing a SAML Attribute 
  Query to the IDP (the 
>>>>>>assumption 
>>>>>>is that the IDP is also acting as the Attribute 
  Authority). 
>>>>>> 
>>>>>>Use Cases: 
>>>>>> 
>>>>>>1. User Registration. The user registers at 
  both the IDP and SP 
>>>>>(i.e., 
  
>>>>>>application A above). The main point 
  is that they can use different 
>>>>>>ids at 
>>>>>>the SP and IDP site. 
>>>>>> 
>>>>>>2. User Federation. The user logs into an SP 
  and selects ID 
>>>>>Federation 
  
>>>>>>with 
>>>>>>an IDP (i.e., application C above). The flows 
  are similar to the 
>>>>>basic 
  
>>>>>>SSL 
>>>>>>case but with ID federation and using 
  persistent identifiers. 
>>>>>> 
>>>>>>3. Single Logout. The user logs out of the SP. 
  The flow follows 
>>>>that 
>>>>>>of the 
>>>>>>basic case. 
>>>>>> 
>>>>>>4. Single Signon. The user, after logging out 
  of the SP, uses SAML 
>>>>>SSO 
  
>>>>>>to 
>>>>>>log back into the SP. The flow follows that of 
  the basic case. 
>>>>>> 
  
>>>>>>5. Attribute Query. From the SP site 
  the user logged into, they 
>>>>view 
  
>>>>>>their 
>>>>>>IDP attributes that they set at the IDP. A SAML 
  Attribute Query is 
>>>>>>performed 
>>>>>>by the SP to the IDP (application D 
  above). 
>>>>>> 
>>>>>>6. Change IDP Attributes. The User may be 
  allowed to go to the IDP 
>>>>>>site 
  and 
>>>>>>change their attributes 
  (i.e., application B above executed at the 
>>>>>>IDP). 
>>>>>>After updating these attributes, the user 
  (without any need to 
>>>>>>re-login) 
  can 
>>>>>>go back to the link in 
  step 5 and see their attributes have been 
>>>>>>updated 
>>>>>>from the SPs perspective as well. 
  
>>>>>> 
>>>>>>7. User Defederation. The user selects ID 
  Defederation with an IDP 
>>>>>>(i.e., 
>>>>>>application C above). Either HTTP-Redirects or 
  SOAP can be used to 
>>>>>>accomplish 
  this. 
>>>>>> 
>>>>>> 
>>>>>>Do this sound reasonable? It would seem to 
  capture the essense of 
>>>>>SAML 
  
>>>>>>id 
>>>>>>federation/defederation and the dynamics or 
  SAML attributes. 
>>>>>> 
  
>>>>>>Tom. 
>>>>>> 
>>>>>>Thomas Wisniewski 
>>>>>>Software Architect 
>>>>>>Phone: (201) 891-0524 
>>>>>>Cell: (201) 248-3668 
>>>>>> 
>>>>>>Entrust 
>>>>>>Securing Digital Identities 
>>>>>>& Information 
>>>>>><http://www.entrust.com> 
>>>>>> 
>>>>>---- 
>>>>>Yuzo KOGA <> 
  
>>>>>NTT Information Sharing Platform 
  Labs. 
>>>>>tel: +81 422 59 3202, fax: 
  +81 422 59 5652, aol: yzkoga 
>>>>---- 
>>>>Yuzo KOGA 
  <> 
>>>>NTT 
  Information Sharing Platform Labs. 
>>>>tel: +81 422 59 3202, fax: +81 422 59 5652, aol: 
  yzkoga 
>>>---- 
>>>Yuzo KOGA <> 
>>>NTT Information Sharing Platform Labs. 
>>>tel: +81 422 59 3202, fax: +81 422 59 5652, aol: 
  yzkoga 
> 
> 
  
>