Re: [HOKEY] [IPsec] New I-D: draft-nir-ipsecme-erx-00

"Dan Harkins" <dharkins@lounge.org> Wed, 04 May 2011 20:45 UTC

Return-Path: <dharkins@lounge.org>
X-Original-To: hokey@ietfa.amsl.com
Delivered-To: hokey@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E38E4E07A7; Wed, 4 May 2011 13:45:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.265
X-Spam-Level:
X-Spam-Status: No, score=-6.265 tagged_above=-999 required=5 tests=[AWL=-0.000, BAYES_00=-2.599, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lfErrot9iK04; Wed, 4 May 2011 13:45:02 -0700 (PDT)
Received: from colo.trepanning.net (colo.trepanning.net [69.55.226.174]) by ietfa.amsl.com (Postfix) with ESMTP id 13877E07C9; Wed, 4 May 2011 13:45:02 -0700 (PDT)
Received: from www.trepanning.net (localhost [127.0.0.1]) by colo.trepanning.net (Postfix) with ESMTP id 5B8471022400A; Wed, 4 May 2011 13:45:01 -0700 (PDT)
Received: from 216.31.249.246 (SquirrelMail authenticated user dharkins@lounge.org) by www.trepanning.net with HTTP; Wed, 4 May 2011 13:45:01 -0700 (PDT)
Message-ID: <86c7cd758de89a6f640f8e55faff11ee.squirrel@www.trepanning.net>
In-Reply-To: <BAE19B87-DE7A-4306-B3F0-D171580BCE57@checkpoint.com>
References: <006FEB08D9C6444AB014105C9AEB133F013ABE025E24@il-ex01.ad.checkpoint.com> <4DBF19F4.6050804@gmail.com> <95F1A883-8213-4A57-911B-E660E02A3117@checkpoint.com> <00a401cc09fd$b152ef00$46298a0a@china.huawei.com> <8CAC67D8-623B-4738-89B0-4A72C3C7AF95@checkpoint.com> <b94047babd6474117f7734354425dc0b.squirrel@www.trepanning.net> <BAE19B87-DE7A-4306-B3F0-D171580BCE57@checkpoint.com>
Date: Wed, 4 May 2011 13:45:01 -0700 (PDT)
From: "Dan Harkins" <dharkins@lounge.org>
To: "Yoav Nir" <ynir@checkpoint.com>
User-Agent: SquirrelMail/1.4.14 [SVN]
MIME-Version: 1.0
Content-Type: text/plain;charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-Priority: 3 (Normal)
Importance: Normal
Cc: "ipsec@ietf.org" <ipsec@ietf.org>, "hokey@ietf.org" <hokey@ietf.org>
Subject: Re: [HOKEY] [IPsec] New I-D: draft-nir-ipsecme-erx-00
X-BeenThere: hokey@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: HOKEY WG Mailing List <hokey.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/hokey>, <mailto:hokey-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/hokey>
List-Post: <mailto:hokey@ietf.org>
List-Help: <mailto:hokey-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/hokey>, <mailto:hokey-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 04 May 2011 20:45:03 -0000

On Wed, May 4, 2011 12:11 pm, Yoav Nir wrote:
> Hi Dan,
>
> On May 4, 2011, at 9:47 PM, Dan Harkins wrote:
>
>>
>> On Tue, May 3, 2011 10:30 pm, Yoav Nir wrote:
>> [snip]
>>> The Authenticator needs the true identity to make policy decisions.
>>
>>  Well then DO NOT use EAP for authentication.
>>
>>  Dan.
>
> I'm sure I don't understand your point. The IKE responder does not need to
> know whether the user's true identity in the sense of whether she is a cat
> person or a dog person. "alice@example.com" is good enough for policy
> lookups and policy decisions, as well as for generating meaningful logs.
> "1542a0f74aef5011@example.com".com", where the part before the at-sign is a hex
> representation of an ephemeral key is not.

  Well my comment certainly wasn't a flippant one (cat person versus dog
person?). So let me expand on it a bit.

 RFC 5996 says in section 2.16:

  "When the initiator authentication uses EAP, it is possible that the
   contents of the IDi payload is used only for Authentication,
   Authorization, and Accounting (AAA) routing purposes and selecting
   which EAP method to use.  This value may be different from the
   identity authenticated by the EAP method.  It is important that
   policy lookups and access control decisions use the actual
   authenticated identity.  Often the EAP server is implemented in a
   separate AAA server that communicates with the IKEv2 responder.  In
   this case, the authenticated identity, if different from that in the
   IDi payload, has to be sent from the AAA server to the IKEv2
   responder."

  When sending EAP traffic over a AAA connection, the IKEv2 responder has
no guarantee that the EAP conversation will be terminating on the AAA
server he is passing the EAP traffic to. IDi might be an obfuscated
identity used solely for AAA routing purposes and that routing might send
it via a few proxies somewhere to a AAA server who has no idea what IKEv2
is, and even if it knew what IKEv2 is it might not know if IKEv2 was
being used in this particular case. While proxies shouldn't be mucking
with the EAP identity in the forwarded packet (the obfuscated and
non-"true identity" one that isn't useful to the IKEv2 responder) they
certainly can modify the Username attribute in the RADIUS packet that
encapsulates it. That means that the identity a particular AAA
server/proxy might get to see might not be what was originally put into
the initial Access-Request by the IKEv2 responder and it might be
different than the one, ultimately, obtained by the AAA server that
actually speaks EAP. Furthermore, one or more of those proxies along the
way might not even know what EAP is!

  Even if one assumes that the AAA server that terminated EAP will
include the identity it authenticated as the Username attribute in the
Access-Accept it sends back (and that it's included in all proxied
Access-Accepts and ultimately reaches the IKEv2 responder) there is
nothing that says that identity has any relevance or significance to
the IKEv2 responder. It could be a SIM identity from EAP-SIM. It could
be "emp12876" used in EAP-MD5 (yea, I know it's not supposed to be
used, so tunnel it in PEAP and then you have a nice, compliant, key
generating EAP method for IKEv2). Which means the IKEv2 responder has
an obfuscated identity that is not useful for authentication purposes
and, maybe, just maybe, it also has some identifier that was useful for
a method it does not know in a realm/domain/whatever it also does not
know.

  To sum, while the identity "has to be sent" (note the non-normative
nature of that statement) there is no guarantee that it will. And even
if it is sent, there is no guarantee that it will be useful in the way
you need to use it.

  Therefore, if the authenticator needs to know the true identity (as you
suggest it must) then don't use try to authenticate the IKEv2 peer in a
way that might not get you what you need.

  regards,

  Dan.