Re: [TLS] about the PWD Proposal

"Dan Harkins" <dharkins@lounge.org> Sat, 19 November 2011 20:13 UTC

Return-Path: <dharkins@lounge.org>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5983B21F84BA for <tls@ietfa.amsl.com>; Sat, 19 Nov 2011 12:13:27 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.882
X-Spam-Level:
X-Spam-Status: No, score=-5.882 tagged_above=-999 required=5 tests=[AWL=-0.217, BAYES_00=-2.599, IP_NOT_FRIENDLY=0.334, J_CHICKENPOX_43=0.6, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OC5mE4ybf87W for <tls@ietfa.amsl.com>; Sat, 19 Nov 2011 12:13:26 -0800 (PST)
Received: from colo.trepanning.net (colo.trepanning.net [69.55.226.174]) by ietfa.amsl.com (Postfix) with ESMTP id 7130621F84B4 for <tls@ietf.org>; Sat, 19 Nov 2011 12:13:26 -0800 (PST)
Received: from www.trepanning.net (localhost [127.0.0.1]) by colo.trepanning.net (Postfix) with ESMTP id D201F20054; Sat, 19 Nov 2011 12:13:22 -0800 (PST)
Received: from 69.12.173.8 (SquirrelMail authenticated user dharkins@lounge.org) by www.trepanning.net with HTTP; Sat, 19 Nov 2011 12:13:23 -0800 (PST)
Message-ID: <1f90702381c4b1eb233430e28fb8fb47.squirrel@www.trepanning.net>
In-Reply-To: <OF48A3B9D8.19A08C28-ON4825794C.002F0B42-4825794C.003162E8@zte.com.cn>
References: <OF48A3B9D8.19A08C28-ON4825794C.002F0B42-4825794C.003162E8@zte.com.cn>
Date: Sat, 19 Nov 2011 12:13:23 -0800
From: Dan Harkins <dharkins@lounge.org>
To: zhou.sujing@zte.com.cn
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: tls@ietf.org
Subject: Re: [TLS] about the PWD Proposal
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tls>, <mailto:tls-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tls>
List-Post: <mailto:tls@ietf.org>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 19 Nov 2011 20:13:27 -0000

  Hello,

On Fri, November 18, 2011 12:59 am, zhou.sujing@zte.com.cn wrote:
> Hi,
>  I am interested in the PWD proposal at the meeting, and run through
> it(http://tools.ietf.org/html/draft-harkins-tls-pwd-01#section-3.4),
>  and have the following concerns:

  Thank you for your interest.

> 1. In the document, it  says both Client and Server should be able to
> compute PE, which is derived from username, password, salt,etc.
>    That means Client or the user should also remember the salt value, in
> that case, salt is meaningless and can be replaced by a longer password.
>    This is quite different from the widely known usage of salt, e.g. in
> UNIX operating system, salt is not required to remember by the user, but
> by server to fetch locally by reference to the username.
>   And as far as I know, I am sure the authors also know that, other
> password based key exchanges protocols don't involve salt, but store a
> hash value of password among other things locally.

  As Yoav mentioned, the salt is used to protect against server
compromise. If the salt is chosen randomly by the server (as it should
be) then an adversary who obtains possession of the database of salted
passwords is required to effectively do an off-line dictionary attack
against each entry in the database to recover passwords.

  The salt is not stored by the client, it is communicated to the client
in the ServerKeyExchange. All the client needs to do is remember the
password.

> 2. From the figure in the PPT shown at the meeting, I cann't see why the
> protocol should use both "private" and "mask" values, in my opinion, only
> "mask " value shall be OK.
>    private value is redundent, and not helpful in security improvement.
>    because the current derived shared key is PE^{private_a*private_b}
> according to this document£¬ and
>    after removing private value, it will be  PE^{mask_a*mask_b}
>    and private, mask value are both generated locally and not transported
> on the wire, so it does not make much difference except making it more
> complex.

  The private value is used in the final exponentiation (or, equivalently,
point multiplication) to derive the pre-master secret. Each private
value is sent to the peer masked by modulo addition (which means that a
passive attacker cannot guess the private since there are q different
pairs of numbers that sum to any given number less than q and a
probability of 1/q is effectively the same as guessing a DH exponential
which we all assume is too hard). The mask is removed through modular
multiplication (or equivalently, point addition) in a manner that prevents
the disclosure of the private value.

  Private is definitely not redundant!

> 3. Now I only talk about the security of the simplified version (as in
> above point 2)
>    after simplification the protocol is easier to analysize, it is just
> like an ordinary DH exchange except that the base group generator is PE
> instead of g.
>    So the security is reduced to the PE, is it a good group generator
> which has large order? if not then it is insecure.
>    Unfortunatly the authors failed to analysize this crucial point.

  An ordinary DH with PE as the generator is the SPEKE exchange. This
is decidedly NOT an ordinary DH with PE as the generator. As mentioned
above, both mask and private are crucial and such a "masked" exchange is
not ordinary, PE as the generator notwithstanding.

  Please look at the exchange again in more detail.

> Thank you for your patience!

  Thank you, again, for your interest! Perhaps you can implement it. :-)

  regards,

  Dan.