RE: [TLS] password-based authentication (was: Some comments about draft-badra-ecdhe-tls-psk-01)

"Dan Harkins" <dharkins@lounge.org> Thu, 31 January 2008 02:52 UTC

Return-path: <tls-bounces@lists.ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1JKPX3-000318-Gh; Wed, 30 Jan 2008 21:52:05 -0500
Received: from tls by megatron.ietf.org with local (Exim 4.43) id 1JKPX2-00030M-1p for tls-confirm+ok@megatron.ietf.org; Wed, 30 Jan 2008 21:52:04 -0500
Received: from [10.90.34.44] (helo=chiedprmail1.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1JKPX1-0002zw-F1 for tls@ietf.org; Wed, 30 Jan 2008 21:52:03 -0500
Received: from colo.trepanning.net ([69.55.226.174]) by chiedprmail1.ietf.org with esmtp (Exim 4.43) id 1JKPX0-0002QO-Qa for tls@ietf.org; Wed, 30 Jan 2008 21:52:03 -0500
Received: from www.trepanning.net (localhost [127.0.0.1]) by colo.trepanning.net (Postfix) with ESMTP id C907B1FA6204; Wed, 30 Jan 2008 18:52:01 -0800 (PST)
Received: from 69.12.173.8 (SquirrelMail authenticated user dharkins@lounge.org) by www.trepanning.net with HTTP; Wed, 30 Jan 2008 18:52:01 -0800 (PST)
Message-ID: <3285.69.12.173.8.1201747921.squirrel@www.trepanning.net>
In-Reply-To: <BB08005FCE7305534C205D83@446E7922C82D299DB29D899F>
References: <B356D8F434D20B40A8CEDAEC305A1F240511959C@esebe105.NOE.Nokia.com> <87sl15pxnx.fsf@mocca.josefsson.org> <B356D8F434D20B40A8CEDAEC305A1F24052E8740@esebe105.NOE.Nokia.com> <28109.216.31.249.246.1201632747.squirrel@www.trepanning.net> <B356D8F434D20B40A8CEDAEC305A1F24052E8B6C@esebe105.NOE.Nokia.com> <BB08005FCE7305534C205D83@446E7922C82D299DB29D899F>
Date: Wed, 30 Jan 2008 18:52:01 -0800
Subject: RE: [TLS] password-based authentication (was: Some comments about draft-badra-ecdhe-tls-psk-01)
From: Dan Harkins <dharkins@lounge.org>
To: Chris Newman <Chris.Newman@sun.com>
User-Agent: SquirrelMail/1.4.8
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
X-Priority: 3 (Normal)
Importance: Normal
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Scan-Signature: a8a20a483a84f747e56475e290ee868e
Cc: pasi.eronen@nokia.com, tls@ietf.org
X-BeenThere: tls@lists.ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.lists.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@lists.ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/tls>
List-Post: <mailto:tls@lists.ietf.org>
List-Help: <mailto:tls-request@lists.ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@lists.ietf.org?subject=subscribe>
Errors-To: tls-bounces@lists.ietf.org

  Hi Chris,

On Wed, January 30, 2008 3:12 pm, Chris Newman wrote:
> Pasi.Eronen@nokia.com wrote on 1/30/08 9:58 +0200:
>
>> Dan Harkins wrote:
>>
>>> Personally I would view a password-based authentication scheme
>>> that assumes the shared key is a low-entropy one or is selected
>>> from a limited set of keys, like a dictionary, as more useful to
>>> the real world. I believe that is the predominant access method
>>> used in the Internet today.
>>
>> Just being curious, what would be the main differences between
>> the authentication scheme you're thinking about, and RFC 5054?
>
> On the protocol side, not much.
>
> On the implementation side, it would roughly double the complexity of a
> typical
> TLS API in order to actually be useful to applications.  The password
> verifier
> could be stored in any one of a number of external repositories (LDAP,
> RADIUS,
> DIAMETER, SQL, Liberty, some other SOAP/HTTP mechanism, /etc/passwd, NIS,
> etc)
> and the application would have to provide the TLS stack with sophisticated
> configuration knobs related to these protocols.  As a matter of
> efficiency,
> some of these protocols are not cheap so high performance servers will
> have to
> keep a pool of connections, then fetch and cache the information locally.
> Attributes that are peripherally related to authentication or unrelated to
> authentication may also be accessed via these protocols and need to be
> cached
> as well to avoid the need for double-fetching of the same entry.  So the
> API
> needs a way to put all sorts of controls on the protocols used to fetch
> this
> data, timeouts, what attributes are of interest, caching parameters, etc.
> Then
> there's need for back-channels to the cache (flushing specific entries on
> provisioning changes) which means hooking up to a notification mechanism
> to the
> caching logic under the TLS stack.

Why would you put all that cruft into the TLS stack? That's what protocol
layers are for, abstracting out this complexity.

What do you do for supporting certificates? For RFC2885 support do you have
HTTP and FTP support to obtain certificates and CRLs from repositories built
into the TLS stack? Is the entire OCSP protocol part of your TLS stack?
What about CMS? Et cetera.

> Personally, I think TLS stacks are plenty complex enough without all this
> machinery.  As a matter of architecture, I'd rather keep this machinery
> completely separate from the TLS stack and use TLS channel bindings when
> mutual
> authentication at the application layer is needed.

Channel bindings are orthogonal to a password-based authentication
protocol.

> Although I'm dubious of the utility of PSK, it seems mostly harmless to
> the TLS
> stack as long as it's not a password.  The primary utility I see for PSK
> would
> be for server->server connections if it's coupled with an SSH-style
> zero-configuration key setup mechanism (I don't see it as having much
> real-world utility without the latter piece).  If PSK proves to be useful
> than
> ECC-PSK is also likely to be useful simply because of the improved key
> scalability.

  Dubious utility? Wow. They are arguably the predominant method used for
network access in the Internet today, and for the past umpteen years.

  One lesson I learned very hard from IKE was that if your protocol does
not handle username/password authentication then people are going to hack
the hell out of it to put it in, to the detriment of protocol security.
Why do you think the "do not validate server certificate" checkbox exists?
Let me give you an actual quote I heard: "to make SSL work".

  Dan.





_______________________________________________
TLS mailing list
TLS@lists.ietf.org
https://www1.ietf.org/mailman/listinfo/tls