Re: [radext] Review of draft-winter-radext-populating-eapidentity-01

Stefan Winter <stefan.winter@restena.lu> Tue, 21 July 2015 19:22 UTC

Return-Path: <stefan.winter@restena.lu>
X-Original-To: radext@ietfa.amsl.com
Delivered-To: radext@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CBD041B2A83 for <radext@ietfa.amsl.com>; Tue, 21 Jul 2015 12:22:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level:
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id LKJvhJDUuslJ for <radext@ietfa.amsl.com>; Tue, 21 Jul 2015 12:22:05 -0700 (PDT)
Received: from smtp.restena.lu (legolas.restena.lu [IPv6:2001:a18:1::34]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D9AB81B2A7F for <radext@ietf.org>; Tue, 21 Jul 2015 12:22:04 -0700 (PDT)
Received: from viper.local (unknown [158.64.15.195]) by smtp.restena.lu (Postfix) with ESMTPSA id E4D23BB726; Tue, 21 Jul 2015 21:22:02 +0200 (CEST)
To: Sam Hartman <hartmans@painless-security.com>, Bernard Aboba <bernard_aboba@hotmail.com>
References: <11856_1427820628_551AD054_11856_4576_1_6B7134B31289DC4FAF731D844122B36EEF6888@PEXCVZYM13.corporate.adroot.infra.ftgroup> <tsllhid84gm.fsf@mit.edu> <BLU181-W6B49664DD504DDAF5CC9F93F40@phx.gbl> <30317_1427824394_551ADF0A_30317_14370_1_6B7134B31289DC4FAF731D844122B36EEF74CD@PEXCVZYM13.corporate.adroot.infra.ftgroup> <BLU181-W86B005505E6468F75180593F40@phx.gbl> <tsl4mp182ku.fsf@mit.edu> <BA6CBD09-148F-4F8C-9B81-8A4A88B64287@deployingradius.com> <BLU406-EAS343D630A63D85F897C0EC8793F40@phx.gbl> <14078_1427880628_551BBAB4_14078_5155_1_6B7134B31289DC4FAF731D844122B36EF0B91F@PEXCVZYM13.corporate.adroot.infra.ftgroup> <190D3355-0BB7-48D5-BEA2-55773E9BD785@deployingradius.com> <24001_1437383629_55ACBBCD_24001_3716_1_6B7134B31289DC4FAF731D844122B36E01CC9ED3@OPEXCLILM43.corporate.adroot.infra.ftgroup> <BLU181-W94C6FC52C2E3CD666F631A93850@phx.gbl> <tslzj2r5aoj.fsf@mit.edu> <BLU406-EAS122D6B206E6EADC5A67F61193850@phx.gbl> <tslwpxv3sx1.fsf@mit.edu>
From: Stefan Winter <stefan.winter@restena.lu>
Openpgp: id=AD3091F3AB24E05F4F722C03C0DE6A358A39DC66
X-Enigmail-Draft-Status: N1111
Message-ID: <55AE9BD8.6040909@restena.lu>
Date: Tue, 21 Jul 2015 21:22:00 +0200
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:38.0) Gecko/20100101 Thunderbird/38.0.1
MIME-Version: 1.0
In-Reply-To: <tslwpxv3sx1.fsf@mit.edu>
Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="E1dkJKJUlWkvObTvVmSbjRBX8gJIS9xE9"
Archived-At: <http://mailarchive.ietf.org/arch/msg/radext/S9bWgNBI8yCy-0DPJyI4FcBoaP0>
Cc: radext@ietf.org
Subject: Re: [radext] Review of draft-winter-radext-populating-eapidentity-01
X-BeenThere: radext@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: RADIUS EXTensions working group discussion list <radext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/radext>, <mailto:radext-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/radext/>
List-Post: <mailto:radext@ietf.org>
List-Help: <mailto:radext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/radext>, <mailto:radext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 21 Jul 2015 19:22:08 -0000

Hi,

>>>>>> "Bernard" == Bernard Aboba <bernard_aboba@hotmail.com> writes:
>     Bernard> On Jul 20, 2015, at 13:29, Sam Hartman <hartmans@painless-security.com> wrote:
>     >> Other implementations request both identities from the user.
>     >> However, I don't know anything that tries to map back from a
>     >> method identity to an eap response.
>
>     Bernard> [BA] Neither do I - it's a bad idea.  That's why Section
>     Bernard> 4's advice seems so strange:
>
>     Bernard>     If an EAP authentication gets rejected, the EAP peer
>     Bernard> SHOULD re-try the authentication using a different
>     Bernard> EAP-Response/Identity than before.  The EAP peer SHOULD try
>     Bernard> all user identifiers from the entire set of configured EAP
>     Bernard> types before declaring final authentication failure.
>
>     Bernard> [BA] "all user identities" appears to imply using
>     Bernard> method-specific identities to construct the
>     Bernard> EAP-Response/Identity.
>
> Ah, that's not how I read it at all.
> I read that as saying that you try all the identities you have.
> If you're an implementation that stores outer identities separately from
> inner identities, then try all your outer identities.
> If you're an implementation that maps both from a common principal, do
> that for all your principals.

Thanks both for taking this thread so far - now I see the shortcomings
in my formulation.

FWIW, the intention of the wording was Sam's POV and I will re-phrase it
to be clearer.

>     Bernard>    EAP peers need to maintain state on the encoding of the
>     Bernard> user identifiers which are used in their locally configured
>     Bernard> EAP types.  When constructing an EAP-Response/Identity from
>     Bernard> that user identifier,
>
>     Bernard> [BA] Again, this seems to imply using method-specific
>     Bernard> identities to construct the EAP-Response/Identity.
>
> I see what you're saying now.
> I think what the text is trying to talk about there is constructing both
> from some common principal/idea about an account.  However it could be
> read as constructing one from another.
> And also, it doesn't deal as well with the case where they are separate.

I had a specific example in my head when thinking about this, it's a
Redmond one :-)

The Win 7 PEAP config allows to configure the method inner identity.
There's also a separate place for the outer identity.
However: you can't type a NAI realm in the outer ID box, only a non-NAI
string.

What happens when you type "anonymous" as outer ID, and
"john@example.com" as the inner ID, is that the supplicant will send an
EAP-Response/Identity of "anonymous@example.com".

Just like Bernard says, yes, this is using (parts of) a method-specific
(inner) identity to construct the EAP-Response/Identity.

That is, the config options for inner vs. outer are different, yet
related. The supplicant blends two different config items into one
resulting string. Hopefully, both are in the same encoding, and
hopefully, the encoding is UTF-8. If not, both parts of it need to be
converted to a common encoding before concat'ing them, and the result be
converted to UTF-8 before sending.

Source: MSDN EAP Team Blog
http://blogs.msdn.com/b/eapteam/archive/2009/01/16/peap-identity-privacy-support-in-windows7.aspx

The draft's intention is exactly to move implementations towards UTF-8
for the EAP-Response/Identity *no matter where they take the string
from, be it from an inner identity, explicit configuration of an outer
identity, or a blend of the two*. It is not the intention to spill inner
identities to EAP-Response/Identity if an outer identity is configured.

Greetings,

Stefan Winter

>
> _______________________________________________
> radext mailing list
> radext@ietf.org
> https://www.ietf.org/mailman/listinfo/radext