Hi Jim, 

you have shipped an update of the ABFAB architecture draft for the Vancouver 
IETF meeting and I have only now had a chance to review the changes. Overall, I 
have to say "Great work." 

I only have a few minor text suggestions: 


   Federated access management has evolved over the last decade through
   such standards as SAML [OASIS.saml-core-2.0-os], OpenID [1], OAuth
   [RFC5849], [I-D.ietf-oauth-v2] and WS-Trust [WS-TRUST]. 
   
   s/such standards as/specifications like 
   
   
   
   Privacy:

      Often a Relying Party does not need to know the identity of a
      Subject to reach an access management decision.  It is frequently
      only necessary for the Relying Party know specific attributes
      about the subject, for example, that the Subject is affiliated
      with a particular organisation or has a certain role or
      entitlement.  Sometimes the RP does not need to know the identity
      of the Subject, but does require a unique identifier for the
      Subject (for example, so that it can recognise the Subject
      subsequently); in this case, it is a common practise for the IdP
      to only release a pseudonym that is specific to that particular
      Relying Party.  Federated access management therefore provides
      various strategies for protecting the Subject's privacy.  Other
      privacy aspects typically of concern are the policy for releasing
      personal data about the Subject from the IdP to the RP, the
      purpose of the usage, the retention period of the data, and many
      more.
      
This paragraph needs to be re-written to something like:

   Data Minimization and User Participation: 
   
      Often a Relying Party does not need to know the identity of a
      Subject to reach an access management decision.  It is frequently
      only necessary for the Relying Party know specific attributes
      about the subject, for example, that the Subject is affiliated
      with a particular organisation or has a certain role or
      entitlement. Sometimes the RP only needs to know a pseudonym 
      of the Subject. 
      
      Prior to the transfer of attributes from the IdP to the RP the 
      consent of the Subject is often explicitly obtained. Along with the 
      transfer of attributes usage constraints and retention policies 
      are enforced by the IdP. 
      
   
1.1.  Terminology

   This document uses identity management and privacy terminology from
   [I-D.iab-privacy-terminology].  In particular, this document uses the
   terms identity provider, relying party, (data) subject, identifier,
   pseudonymity, unlinkability, and anonymity.   
   
   
Please replace the reference to [I-D.iab-privacy-terminology] with a reference 
to http://tools.ietf.org/html/draft-iab-privacy-considerations since we merged 
the terminology with the main privacy consideration document. 

We also do not use the term (data) subject anymore but rather individual. I am 
not sure whether it is worthwhile to change it from subject to individual. 


Section 1.1 lists a table but the table has no title. Why is the 'SASL' row 
completely empty?
Does SASL, EAP and the GSS-API actually fit in a meaningful way in that table 
since those are 
all two-party protocols?  

I believe the RADIUS row is wrong. It currently says:

"
   +----------+------------+-------------------+-----------------------+
   | Protocol | Subject    | Relying Party     | Identity Provider     |
   +----------+------------+-------------------+-----------------------+
   | RADIUS   | client     | NAS               | RADIUS server         |
"

but it should say:

"

   +----------+------------+-------------------+-----------------------+
   | Protocol | Subject    | Relying Party     | Identity Provider     |
   +----------+------------+-------------------+-----------------------+
   | RADIUS   | user       | NAS or            | (RADIUS) server       |
   |          |            | (RADIUS) client   |                       |
"

For EAP I would delete the term 'EAP client' since it isn't really defined in 
the EAP spec (although it is used twice).
EAP client isn't used in this draft. 

Section 1.2:

   Some deployments demand the deployment of sophisticated technical
   infrastructure, including message routing intermediaries, to offer
   the required technical functionality.  In other deployments fewer
   technical components are needed.
   
   
The first sentence sounds a bit strange. Maybe it is better to use

   Some deployments demand the usage of sophisticated technical
   infrastructure, including message routing intermediaries, to offer
   the required technical functionality.  In other deployments fewer
   technical components are needed.
   
   
A note about this sentence: 

   Figure 1 also shows the relationship between the IdP and the Subject.
   Often a real world entity is associated with the Subject; for
   example, a person or some software.
   
At least in the way we have current defined the individual (instead of subject) 
says:

   $ Individual:   A natural person.
   
The previous definition for subject wasn't different. As such, we don't need to 
explain that it may be a person and it cannot be software. 

   This relationship would typically involve the IdP
   positively identifying and credentialing the Subject (for example, at
   time of enrollment in the context of employment within an
   organisation).
   
NIST SP 800-63 calls this initial phase identity proofing. Should we re-use 
that terminology?


   This is sometimes described as the Level of Assurance.
   
Should we reference here NIST SP 800-63 as well since they came up with this 
concept. 




   Federation does not imposes requirement of an a priori relationship
   or a long-term relationship between the RP and the Subject.
   
   
s/imposes requirement/impose requirements

   Finally, it is important to reiterate that in some scenarios there
   might indeed be a human behind the device denoted as Client and in
   other cases there is no human involved in the actual protocol
   execution.


Hmmm. Wasn't the term for the human subject (or now individual)?


1.3.  Challenges to Contemporary Federation

Shouldn't we write: "Challenges for ..."
Not sure. 

Section 1.4:


   1.   Principal provides an NAI to Application: The client application
        is configured with an NAI.  The provided name contains, at a
        minimum, the realm of an NAI.  The realm represents the IdP to
        be discovered.
        
Here I believe we are talking about EAP, right? The NAI is an EAP/AAA concept. 
So, for example when you give your credentials to the network access 
application you are in fact provisioning a specific EAP method. 

Section 1.5:

   o  Each party of a transaction will be authenticated, and the client
      will be authorized for access to a specific resource.
      
I believe we have mutual authentication between the EAP peer and the EAP 
server; we may have mutual authentication between the AAA server and the AAA 
client. We don't really have the authentication of the Subject to the RP (since 
the Subject may be anonymous towards the RP). We also do not have a classical 
authentication of the RP to the Subject/App since the only guarantee we get is 
the channel binding mechanism (which may not be present, right?)


   o  Hence, the architecture requires no sharing of long term private
      keys.


I believe we should be more specific here: No sharing of the Subject's <-> IdP 
long term key with the RP. 

Section 2: 


   Other alternatives exist as well and may
   be considered later, such as "TLS using EAP Authentication"
   [I-D.nir-tls-eap].[anchor9]
   
Maybe we remove the [anchor9] thing. 

Section 2.1:

   Communications between the Relying Part and the Identity Provider is
   done by the federation substrate. 

s/Relying Part/Relying Party

   o  Determining the Rules governing the relationship.
   
s/Rules/rules 

   o  Conveying packets between the RP and IdP.
   
s/packets/signaling messages


   o  Providing the means of establishing a trust relationship between
      the RP and the client.    
      
In the text below it adds:

   The ABFAB protocol
   itself details the method of establishing the trust relationship
   between the RP and the client.
   
I am not sure what this is talking about. Is this trying to hint to the channel 
binding?

Section 2.1.1:

   The existence
   of these protocols allows us to re-use a pair of existing protocols
   that have been widely deployed and are reasonable well understood.
   
s/reasonable/resonably

   A key
   difference is that today RADIUS is largely transported upon UDP, and
   its use is largely, though not exclusively, intra-domain.  Diameter
   itself was designed to scale to broader uses. 
   
I would rephrase this as:

"
   RADIUS and Diameter are deployed in different environments. RADIUS can often 
be found in 
   enterprise and university networks, and is also in use by fixed network 
operators. Diameter, on the other 
   hand, is deployed by mobile operators. 
"

   The
   protocol defines all the necessary new AAA attributes as RADIUS
   attributes, this allows for the same structures and attributes to be
   used in both RADIUS and Diameter.    

Actually, it is not so easy and for that reason there is a separate RADIUS 
document and 
one for Diameter. So, I would delete this sentence and maybe put references to 
the drafts. 

Section 2.1.2:

   ABFAB has not formally defined any part of discovery at this point.
   The process of specifying and evaluating the business rules and
   technical policies is too complex to provide a simple framework.
   There is not currently a way to know if a AAA proxy is able to
   communicate with a specific IdP, although this may change with some
   of the routing protocols that are being considered.  At the present
   time, the discovery process is going to be a manual configuration
   process.
   
   
Would it make sense to write this paragrah as follows since the work will 
progress but this document, once published as an RFC will remain unchanged:

   At the time of writing the discovery process is going to be a manual 
configuration
   process. Proposals for supporting such a dynamic discovery procedure exist, 
see [I-D.mrw-abfab-trust-router], 
   and allow an RP to know if a AAA proxy is able to communicate with a 
specific IdP.     
   
2.1.4.  SAML Assertions

 The new
   profile can be found in RFCXXXX [I-D.ietf-abfab-aaa-saml].
   
--> and in the corresponding Diameter document. 


Throughout this section use s/Assertions/assertions

Section 2.2: 
      
   ABFAB has defined
   and specified a new channel binding mechanism that operates as an EAP
   method for the purpose of agreeing on the identity of the RP.
 
I would write: 

   A new channel binding mechanism that operates as an EAP
   method for the purpose of agreeing on the identity of the RP has been 
   specified in [TBD: whatever that document is].
   
   
Section 2.2.2: 

   A general overview of the problem can be found in
   [I-D.hartman-emu-mutual-crypto-bind].
   The recommended way to deal with channel binding can be found in RFC
   XXXX [I-D.ietf-emu-chbind].
   
I would write: 

   A general overview of the channel binding problem can be found in
   RFC 6677. 
   
   
[I have to continue with the GSS related content later.] 

Ciao
Hannes

_______________________________________________
abfab mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/abfab

Reply via email to