RE: [security-services] SAML enhancement proposal from NSN

From
Nguyenphu, Thinh (NSN - US/Irving) <>
Date
2009-09-29T16:06:35+00:00
ID
Thread
RE: [security-services] SAML enhancement proposal from NSN
Title: SAML enhancement proposal from NSN

Hello 
Hal and et al,

 

Thanks 
you for the comments. I hope that the 
following the responses resolve your concern and clarify some of the 
points.  Please see the response under heading [NSN] 
below.

 

Regards,

Thinh

From: ext Harold Lockhart 
[mailto:] 
Sent: Tuesday, September 22, 2009 
10:06 AM
To: Nguyenphu, Thinh (NSN - US/Irving); OASIS 
SSTC
Cc: Guenther, Christian 1. (NSN - DE/Munich); Abendroth, Joerg 
(NSN - DE/Munich)
Subject: RE: [security-services] SAML enhancement 
proposal from NSN

I have 
significant concerns about the Attribute Management Protocol 
proposal.

 

SAML 
has avoided any kind of update protocol for good reasons. I am not ready to say 
I oppose ANY such scheme, but there are a number of matters that need to be 
considered.

 

1. The 
proposal appears to duplicate functionality defined in other standards or open 
proposals, including 

 

SPML 
http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=provision

 

and 
CARML. http://www.openliberty.org/wiki/index.php/ProjectAris

 

It may well be that this proposal provides necessary functionality 
missing from any other specification or that there are reasons why doing it in 
SAML is superior to any other approach, but this needs to be documented 
explicitly. 

 

[NSN] Aftter further analysis of these two other solutions and our 
proposal, we can summarize the following: 

SPML defines two bindings: SOAP or file. It is not able - like SAML - to 
be transported via HTTP Post or Redirect, nor does it support the concepts of 
including an issuer (the entity that created the request), privacy (encrypting 
parts of the request), security (digitally sign parts of the request), or 
similarities. It is thought for enabling two entities that are closely related 
to each other (e.g. enable an IdP to communicate with a database, enable two SPs 
to exchange information about their data within the *same domain*). 

It further does not contain concepts like validity intervals (valid 
between two dates), expiration, etc. It is to be seen as database 
synchronization protocol. (Compare it to SQL, but with LDAP/X509 structure and a 
little bit more… formal :-) ) 

CARML is a protocol to enable applications to communicate with each 
other. It is an administration protocol with a huge variety of possible methods, 
that all have to be understood by both parties. Further, they have to have a 
"common understanding" on policies, each others concepts, etc. That's not the 
case in NSN use cases where we have an external service provider, 
operates by maybe a small company, and the IdP, 
operated by a telco that wants to "hide" ist internals 
and of course also ist database, structure and concepts. 

Of course, storing attributes at IdP could be handled by another 
protocol. The drawback is that both parties (IdP and SP) have to be extended by 
another protocol and maybe also their specific contexts (authentication, 
protocol specific needs, etc.) - if SAML would support it, everything is already 
there.

NSN intention is to create a very simple and well understandable message 
to alter SP specific or allowed common attributes of a user. This proposal is 
not trying to duplicate other cappabilities from CARML or SPML, such as read, 
find, search compare, add, delete. Because some of the these capablities already 
existed in the SAML like, read and find. The marketplace is requiring an ease of 
implementation and reduction the network complexity by not requiring to 
understanding the database structure and concept of the IdP, reducing number of 
supporting protocols, etc.. 

 

2. The 
semantics of updates in a distributed environment are always complex and 
requirements and level of required support must be made 
explicit.

 

Off 
the top of my head:

 

What 
are the semantics of the update? Exactly what fields in the assertion are deemed 
to be being updated?  Can a new Subject be added or only attributes be 
updated? Can the issuer be changed? Validity Interval? other Conditions? Can 
Attribute be added or only existing ones changed?

 

What 
are the error semantics? How are partial errors handled and 
signaled?

 

What 
are the transaction semantics? Is the update atomic?

 

When 
is the update expected to be visible? How does it interact with replication? 
What about conflicting updates?

 

Is modify the only required action? What about Create? Delete?  

 

[NSN] Only the fields that need to be updated will be in the request. 
Subjects can neither be changed nor updated, because there already exists a 
message protocol in SAML for doing this. The issuer is the one that creates the 
message - why should this be changed ? Finally - because the message is signed 
by the issuer, no fields can be changed on the transport between SP and IdP. 

Attributes shall not be added "on the fly" because this would create a 
privacy and security risk. The attributes that may be stored have to be 
previously agreed on by both parties (the same way as they were agreed for the 
attribute query). Conditions and Validity intervals are a good idea and worth an 
extension of the idea. 

Partial errors are signaled by containing the "old" values in the 
response. If there is a field within the 
request that this is a transaction and therefore atomic, the response would not 
be a "Success" with old values (for the failing attributes) but a "Failure" with 
a SAML error code. (As already defined by the standard). Because our idea is about "service provider specific" updates, it is very 
unlikely to find "concurrent" updates. If there is one, the later one will 
override the previous one. (Like it is the same for attribute requests etc.) 

 

3. 
Authorization is likely to be complex, involving not only fine grained access 
control and forms of delegation. (Nothing XACML can't handle of 
course.)

 

Authentication of the SP and likely the User is going to be a lot more 
critical.

Is 
control to the attribute/action level required?

At a 
minimun, this scheme will make the IPD threat model a lot more 
complex.

 

I am sure there are other issues as well, but I wanted to mention my 
concerns prior to the call today. 

[NSN] We do not see these issues a problem, because it would not affect 
the Attribute Management Protocol. And, it is already part of the standard. 

 

 

Hal

  
-----Original Message-----
From: Nguyenphu, Thinh (NSN - 
  US/Irving) [mailto:]
Sent: Tuesday, September 
  15, 2009 1:42 PM
To: OASIS SSTC
Cc: Guenther, Christian 1. 
  (NSN - DE/Munich); Abendroth, Joerg (NSN - DE/Munich)
Subject: 
  [security-services] SAML enhancement proposal from NSN

  
Hello, 

  
My name is Thinh Nguyenphu from Nokia Siemens 
  Networks.  My colleague and I are summiting two new contributions, which 
  its propose new enhancement to SAML.

  
Enclosed contributions are SAML Attribute 
  Management Protocol, and SAML Name Identifier Protocol. 

  
<<SAML Name Identifier 
  Protocol.ppt>> <<SAML 
  Attribute Mgt Protocol.ppt>> 
I kindly 
  request to be included in next TC SS agenda, September 22. 

  
Best Regards, 
Thinh 

  
Thinh Nguyenphu 
Mobile: +1 817-313-5189