RE: [saml-dev] Proposed SAML defaults for interoperability event

From
Mishra, Prateek <>
Date
2002-04-23T14:51:38+00:00
ID
Thread
RE: [saml-dev] Proposed SAML defaults for interoperability event
Title: Proposed SAML defaults for interoperability event

 

  
-----Original Message-----
From: Ryan Eberhard 
  [mailto:]
Sent: Monday, April 22, 2002 
  1:28 PM
To: 
Subject: 
  [saml-dev] Proposed SAML defaults for interoperability 
  event

  
    
Prateek, et. all, 

    
Here is an attempt to put some values to the TBD 
    items in your proposed interoperability scenario for Catalyst.  Please 
    comment and let me know if I've missed any open issues.

    
1. Out-of-band exchange of trusted roots for SSL 
    and signing certificates 
If we will 
    support SSL and document signing for this demonstration, we need to exchange 
    trusted roots for SSL client and server certificates and signing keys.  
    We suggest that we exchange a single trust root for both SSL certificates 
    and signing in the form of a PKCS#12 object.
[Prateek Mishra] I 
    don't see a need for explicit signing of SAML assertions in this 
    demonstration. Server-side SSL is required to support the 
    "portal"  SAML responder service. The remaining issue is how the 
    "content"-site authenticates to the portal. The choices here are (1) 
    password (2) client-side certificate. I would accept either but lean towards 
    (1).

    
For SSL, intermediate CA certificates and the EE 
    certificate are transmitted as part of the protocol; however, there appears 
    to be no matching procedure specified for XML dsig or SAML.  Therefore 
    the PKCS#12 object would need to contain any intermediate CA certificates 
    and the signing certificate.

    
2. SSL Cipher suite 
As per the requirement of draft-sstc-bindings-model-14 and the 
    recommendations of draft-sstc-sec-consider-04, each implementation that will 
    support SSL must implement (at least) the following cipher suite (assumes 
    minimum of SSL): 

    
SSL_RSA_WITH_3DES_EDE_CBC_SHA 

    
3. Well-known URL's for portal sites, 
    applications sites, source responders and destination artifact 
    receivers 
We've identified four URL's 
    that need to be provided by each implementer: 

    
- Portal URL: Main portal link -- The URL that 
    normally begins a user's session at the portal 
- Application URL: Main application link -- linked to by other 
    vendor's portal sites 
[Prateek Mishra] I assume this is a 
    URL at the "content" site? In other words, 
    this refers to actual content whereas Destination Artifact 
    Receiver URL is just that what its name says. In terms of the 
    Browser/artifact profile, this URL is what TARGET is set 
    to.

- Source Responder URL: For 
    call from artifact receiver 
- Destination 
    Artifact Receiver URL: For re-direct from source intersite transfer 
    service 

    
To make the demonstration as clear as possible to 
    our audience and to get up and running as quickly as possible, we suggest 
    that the four URL's from each implementer follow a common pattern.  For 
    example, each vendor's portal site would be at DNS 
    "portal.<dns_suffix>", so Entegrity's portal would be at "https://portal.entegrity.com/" and 
    RSA's portal would be at "https://portal.rsa.com/"

    
So, the full suggestion is as follows: 

    
Portal URL: https://portal.<dns_suffix>/ 
    
Application URL: https://application.<dns_suffix>/application/ 
    
Source Responder URL: https://responder.<dns_suffix>/responder/ 
    
Destination Artifact Receiver URL: https://receiver.<dns_suffix>/receiver/ 
    

    

[Prateek Mishra] Agreed, this is a good scheme. 
    Clarity in demonstration is a major goal here!
 This 
    scheme relies on the ability of each vender to set-up default documents in 
    each of the four context roots that traverse to your internal URL scheme, if 
    appropriate.  The context roots are provided so that venders are free 
    to have all of their services and software on anywhere from one to four 
    machines (by giving the various DNS names the same IP 
    address).

    
If this suggestion does not work for anyone's 
    implementation of their responder or artifact receiver, we can fall back to 
    exchanging these URL's through e-mail.

    
On our closed test networks, we'll most likely 
    achieve this by editing local "hosts" files, but the benefits of well-known 
    names to clarify what is going on for viewers seems required.

    
4. Registration of source and destination ID's 
    for browser/artifact profile 
Source ID's 
    will be generated by taking the SHA-1 hash of the responder URL, as per the 
    recommendation in the "Artifact Format" section of 
    draft-sstc-bindings-model-14.  Destination ID's will be generated by 
    taking the SHA-1 hash of the destination artifact receiver URL.

    
5. Signatures 
We recommend that SSO Assertions be signed and the signatures be 
    required and verified at destination sites.  Other documents, such as 
    Requests could be signed, but this should not be required for the 
    demonstration.  
[Prateek Mishra] OK, so I guess you are proposing this as 
    an additional requirement for the demonstration. Notice that this is not 
    actually part of the Browser/artifact profile but an extra. 

I can 
    see its advantages BUT at the same time I am concerned that people may 
    conclude that there is some deep linkage between the browser/artifact 
    profile and digital signing (NOT!). One design goal for the browser/artifact 
    profile was to avoid dependency on digital signatures. I would like to 
    discuss this further on the con-call with other 
    participants.

    
The cipher suite for signatures should be: 
    SHAwithRSA. 

    
6. Required Attributes 
We suggest having a known set of users and attributes from 
    each portal.  If we take your users: "joe", "ravi", and "alice", and a 
    set of attributes that define membership level at the portal: "gold", 
    "silver", "bronze", we can easily create the usage flows envisioned in your 
    document.

    
Here are our suggested specifics: 
    
AttributeName = "MemberLevel" 
AttributeValue = "gold" | "silver" | "bronze" 

    
Joe has membership level "gold". 
Ravi has membership level "silver". 
Alice has membership level "bronze". 

    
Each vendor would be required to show the 
    following: 
A. Something only Gold members 
    can do. 
B. Something only Gold or Silver 
    members can do. 
C. Something all members 
    can do. 
D. Unauthenticated users are 
    re-directed to the portal for login. 

    
We suggest that AttributeValues be defined 
    by a schema that has simpleContent and derives from string (or is string), 
    i.e. extra attributes only, and that the xsi:type mechanism be used.  
    Similarly, if the schema for AttributeName is extended, it should also be 
    limited to simpleContent.  This way, portal sites can be guaranteed of 
    getting a  string pair for AttributeName and 
    AttributeValue.
[Prateek Mishra] Works for me. We should choose a formal 
    namespace for the attribute names, how 
    about:

    
http://www.oasis-open.org/Catalyst2002/attributes 

  
Ryan Eberhard 
Product Architect 
Entegrity 
  Solutions, Inc. 
E-Mail: mailto: 
  
Phone: 508-624-9600, x138