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

From
Hal Lockhart <>
Date
2002-04-23T15:21:07+00:00
ID
Thread
RE: [saml-dev] Proposed SAML defaults for interoperability event
Title: Proposed SAML defaults for interoperability event

Not 
signing Assertions is fine with us and removes major complications. We proposed 
it only because we thought people would expect assertions to be signed and that 
use of XML dsig would be expected.

 

What 
do others think?

 

As far 
as the SOAP binding goes, we would prefer mutual authentication (client 
certificates) It is more secure and actually easier to implement. (no need to 
manage passwords, do basic auth header, etc.) Since we propose to exchange trust 
roots anyway, you can use the same key/certificate for both client and server 
ends.

 

Hal

  
-----Original Message-----
From: Mishra, Prateek 
  [mailto:]
Sent: Tuesday, April 23, 2002 10:52 
  AM
To: 'Ryan Eberhard'; 
  
Subject: RE: [saml-dev] 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