Re: [Emu] salted EAP-pwd

"Dan Harkins" <dharkins@lounge.org> Thu, 08 January 2015 20:03 UTC

Return-Path: <dharkins@lounge.org>
X-Original-To: emu@ietfa.amsl.com
Delivered-To: emu@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D1E4A1A0BE8 for <emu@ietfa.amsl.com>; Thu, 8 Jan 2015 12:03:26 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.867
X-Spam-Level:
X-Spam-Status: No, score=-3.867 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, IP_NOT_FRIENDLY=0.334, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_PASS=-0.001] 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 0HBvTYOzf0zk for <emu@ietfa.amsl.com>; Thu, 8 Jan 2015 12:03:25 -0800 (PST)
Received: from colo.trepanning.net (colo.trepanning.net [69.55.226.174]) by ietfa.amsl.com (Postfix) with ESMTP id F19991A066C for <emu@ietf.org>; Thu, 8 Jan 2015 12:03:24 -0800 (PST)
Received: from www.trepanning.net (localhost [127.0.0.1]) by colo.trepanning.net (Postfix) with ESMTP id A2A861022400A; Thu, 8 Jan 2015 12:03:24 -0800 (PST)
Received: from 69.12.173.8 (SquirrelMail authenticated user dharkins@lounge.org) by www.trepanning.net with HTTP; Thu, 8 Jan 2015 12:03:24 -0800 (PST)
Message-ID: <f2d2ecf9da7a772434b05f3372de0e66.squirrel@www.trepanning.net>
In-Reply-To: <0e7a01cfdd0c$980c9060$c825b120$@augustcellars.com>
References: <e000123dbf6d5c42568d26464ed55a08.squirrel@www.trepanning.net> <0e3a01cfdcf3$cdca13d0$695e3b70$@augustcellars.com> <dc89a9b829a387162e216e7170678a35.squirrel@www.trepanning.net> <0e7a01cfdd0c$980c9060$c825b120$@augustcellars.com>
Date: Thu, 08 Jan 2015 12:03:24 -0800
From: Dan Harkins <dharkins@lounge.org>
To: Jim Schaad <ietf@augustcellars.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
Archived-At: <http://mailarchive.ietf.org/arch/msg/emu/5O0J_CSl6XzpxwJj6jaYZG12_c4>
Cc: emu@ietf.org
Subject: Re: [Emu] salted EAP-pwd
X-BeenThere: emu@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "EAP Methods Update \(EMU\)" <emu.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/emu>, <mailto:emu-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/emu/>
List-Post: <mailto:emu@ietf.org>
List-Help: <mailto:emu-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/emu>, <mailto:emu-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Jan 2015 20:03:27 -0000

  Hi Jim,

On Tue, September 30, 2014 4:13 pm, Jim Schaad wrote:
>
> -----Original Message-----
> From: Dan Harkins [mailto:dharkins@lounge.org]
> Sent: Tuesday, September 30, 2014 4:25 PM
> To: Jim Schaad
> Cc: emu@ietf.org
> Subject: RE: [Emu] salted EAP-pwd
>
>
>   Hi Jim,
>
> On Tue, September 30, 2014 2:16 pm, Jim Schaad wrote:
>> I can see two problems right off the bat.
>>
>> 1.  It does not allow me to use a different salted method for
>> different people so I can upgrade by salt function piecemeal.
>
>   Sure it does. The EAP-Identity/Response from the client will indicate
> the
> identity, the server looks up that identity in the password database, sees
> how it's salted and responds appropriately. One entry in the database
> could
> be SHA-1 and another could be SHA-256.
>
> [JLS] Ok - so if I understand this correctly.
> Server sends a message saying <EAP-PW, name="server",
> preprocess="SHA-256",
> Cipher="foo"> to the client
> Client returns a message saying <EAP-PW, name="dan", preprocess="SHA-256",
> cipher="foo"> to the server.
>
> Server looks up dan and says - ouch - that should have been SHA-1 because
> that password is not upgraded yet. ---
>
> I based this comment on the first paragraph of section 2.4 which says:
>
>    Like all EAP methods, EAP-pwd is server initiated.  The server is
>    required to indicate its intentions, including the password pre-
>    processing it wishes to use, before it knows the identity of the
>    client.
>
> Thus if the pre-processing is client identity based it would not know
> this.
>
> You might be able to get around this if the client identity in the
> EAP-Identity message is what is used for the lookup in the database and
> not
> the string sent in the EAP-pwd-ID/response.

  Yes, I see your point. The identity in the EAP-Identity/response has
to be used to look up the database and every entry in the database has
to be salted using the same digest. The particular entry is determined
by the value in the EAP-pwd-ID/response.

  So this makes upgrading the digest somewhat more involved than
the piecemeal modification of individual entries in the database. You'd
have to support multiple databases and select which one based on
the routable portion of the client's identity in the EAP-Identity/response.

  I have added words to this effect in -01 of the draft.

>
>> 2.  It does not allow me to do both SASLprep and salting on the same
>> password.
>
>   Yes, I see that might be needed if SASLprep was done on the password
> before it was salted and stored. Given that SASLprep is already a password
> pre-processing technique (and it is the value 0x02 while "none" is 0x00
> preventing the distinction being a low-order bit) I see no choice but to
> double all the proposed salting indicators, one for SASLprep before the
> hashing and one for do nothing to the password before hashing.
>
>   Would that be satisfactory to you?
>
> [JLS] It would solve the immediate problem.  I don't really care for it as
> a
> solution though.

  Can't say I like it either. I made a preliminary version of the draft that
instructed IANA to partition the registry and treat the lower, older,
portion as a bit mask but it was ugly. This is somewhat less ugly.

  regards,

  Dan.