Re: [Emu] [radext] New Version Notification for draft-winter-radext-populating-eapidentity-00.txt

2014-02-18 Thread Sam Hartman
Hi.
My life has been hectic, and I completely dropped the ball on this!
Thanks for doing this.

___
Emu mailing list
Emu@ietf.org
https://www.ietf.org/mailman/listinfo/emu


Re: [Emu] [radext] New Version Notification for draft-winter-radext-populating-eapidentity-00.txt

2014-02-17 Thread Stefan Winter
Hi,

 Section 3:
 
... EAP-
Response/Identity does not carry encoding information itself, so a
conversion between a non-UTF-8 encoding and UTF-8 is not possible for
the AAA entity doing the EAP-Response/Identity to User-Name copying.
 
   I'm unsure about this.  The EAP-Response/Identity field is *supposed*
 to be UTF-8.  So if it's not, the supplicant is non-compliant, and
 anything can happen.

Unfortunately, that is not how I read the EAP spec. RFC3748 section 5.1
on the Identity packet does not mention UTF-8 for the *Response* at all.

It mentions that the *request* MAY contain displayable text, which needs
to be UTF-8 if present.

For response, no encoding is mandated. The RFC even mentions weirdnesses
such as an intermediate NUL character followed by various options -
but only notes them, they are not forbidden. The use of such a construct
breaks the UTF-8 requirement.

I totally agree that anything besides UTF-8 in the Response is a bad
idea, and these days hopefully a seldom find - but it should be said
someplace that it's outright forbidden.

Which reminds me that my text speaks of SHOULD NOT in the
recommendations (given that I've preliminarily aimed for BCP status, I
found a MUST NOT not to be fitting; but maybe it is more spot on
nontheless).

   I think the recommendation here for EAP to RADIUS gateways (e.g.
 Access Points) is to do as little translation as possible.  They should
 just copy the Identity blob into the User-Name attribute.

And do what if they find that the blob is not UTF-8? Drop the packet?
Forward anyway?

   The next paragraph does explain why this is a problem, but the quoted
 text above seems misleading to me.  The AAA entity *can* copy the
 EAP-Response/Identity to User-Name.  It's just data, so that copying is
 always possible.

Sure; but you create a malformed packet with it - so everybody who
consumes that data is at a gamble.

Consequence: If an EAP method's username is not encoded in UTF-8, and
 
   I would suggest user identifier, to avoid confusion with User-Name.

Sure, no problem.

the EAP peer verbatimly uses that method's notion of a username for
its EAP-Response/Identity field, then the AAA entity is forced to
violate its own specification because it has to, but can not use
UTF-8 for its own User-Name attribute.  This jeopardizes the
subsequent EAP authentication as a whole; request routing may fail or
lead to a wrong destinationi, or the AAA payload may be discarded by
the recipient due to the malformedness of the User-Name attribute.
 
 
   That is all true.  I would note that the EAP-Response/Identity field
 does *not* have to be taken from the EAP methods user identifier field.
  They can be completely different.

Will do (the completely different content would be the outer identity).

   That should be noted here.  Where the EAP methods user identifier
 field is *not* UTF-8, the supplicant MUST provide a UTF-8 compatible
 string for the EAP-Response/Identity field.  How it gets that string is
 implementation dependent. :(

Yes, that's why I wrote the (somewhat hollow) statement that it needs
to maintain state of the encoding used. How it does that... no spec can
mandate.

 Section 4:
 
Where usernames between configured EAP types in an EAP peer differ,
the EAP peer can not rely on the EAP type negotiation mechanism alone
to provide useful results.  If an EAP authentication gets rejected,
the EAP peer SHOULD re-try the authentication using a different EAP-
Response/Identity than before.  The EAP peer SHOULD try all usernames
from the entire set of configured EAP types before declaring final
authentication failure.
 
   I see why this can be necessary, but it's ugly.

I totally agree that it's ugly. Adding Note: That is ugly. to the spec
doesn't provide much added value though :-)

I feel strong about stating the problem though. We had an actual
real-life support case from a device manufacturer whose handset
customers couldn't use eduroam and the manufacturer said our RADIUS
infrastructure is broken, because it always rejects before they can even
try the configured EAP-TTLS that the user sets.

It was totally unthinkable for them that someone would not have a
business relationship with 3GPP and that always trying the same 3GPP
user identifier when starting EAP would lead nowhere.

After a lot of explaining and escalation to some senior engineering, we
could make that clear, and the firmware got a fix. Having this described
in an RFC to point to will certainly help if such states of mind pop up
again someplace in the future.

EAP peers need to maintain state on the encoding of the usernames
which are used in their locally configured EAP types.  When
constructing an EAP-Response/Identity from that username information,
they SHOULD (re-)encode that username as UTF-8 and use the resulting
value for the EAP-Response/Identity.  If the EAP type is configured
for 

Re: [Emu] [radext] New Version Notification for draft-winter-radext-populating-eapidentity-00.txt

2014-02-17 Thread Josh Howlett

 Interesting thought, and a bit complex. I suggest we discuss this when
 the draft gets adopted in ... some working group. Suggestions welcome
:-)

  I'd support a roaming inter-operations WG.  Some of the documents
now in RADEXT could move there, and maybe DIME.  This document could
live there.

  The goal for the WG would be to define inter-domain standards for
authentication, accounting, EAP, etc.

+1, excellent idea. draft-wierenga-ietf-eduroam, if generalised, could
provide a good basis on which to define the issues that need addressing.
If it were broader than roaming then ABFAB could also fall into scope.

Josh.



Janet(UK) is a trading name of Jisc Collections and Janet Limited, a 
not-for-profit company which is registered in England under No. 2881024 
and whose Registered Office is at Lumen House, Library Avenue,
Harwell Oxford, Didcot, Oxfordshire. OX11 0SG. VAT No. 614944238

___
Emu mailing list
Emu@ietf.org
https://www.ietf.org/mailman/listinfo/emu