Re: [TLS] one time passwords from private keys

Ben Laurie <benl@google.com> Sun, 28 February 2010 15:09 UTC

Return-Path: <benl@google.com>
X-Original-To: tls@core3.amsl.com
Delivered-To: tls@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 1B9CE3A8981 for <tls@core3.amsl.com>; Sun, 28 Feb 2010 07:09:23 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.776
X-Spam-Level:
X-Spam-Status: No, score=-102.776 tagged_above=-999 required=5 tests=[BAYES_50=0.001, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, J_CHICKENPOX_43=0.6, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id E3UzLN4-m31M for <tls@core3.amsl.com>; Sun, 28 Feb 2010 07:09:21 -0800 (PST)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id ACE343A8980 for <tls@ietf.org>; Sun, 28 Feb 2010 07:09:21 -0800 (PST)
Received: from wpaz17.hot.corp.google.com (wpaz17.hot.corp.google.com [172.24.198.81]) by smtp-out.google.com with ESMTP id o1SF9LoA011624 for <tls@ietf.org>; Sun, 28 Feb 2010 07:09:21 -0800
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1267369761; bh=+/a4pd+C9E6OLdxTgbg3GQ9wUIM=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type; b=MALkOZ7KK7S9x0eZuvpE+V8V0lIRHIIHAmV7clqu3D6U4mdRisYoo3BD/xmYMeLJ1 2TMHvhPggg54jXOvQNgaA==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:x-system-of-record; b=YsbFoLwbshc+9sNJJwvUo72M1nMRkNSHfkAkJOXTzZH0BoNLlaZF+YKdUDNNRuyiA Re8kPKoF54AHR9RL06FeQ==
Received: from fxm9 (fxm9.prod.google.com [10.184.13.9]) by wpaz17.hot.corp.google.com with ESMTP id o1SF9JZW003944 for <tls@ietf.org>; Sun, 28 Feb 2010 07:09:20 -0800
Received: by fxm9 with SMTP id 9so1574557fxm.4 for <tls@ietf.org>; Sun, 28 Feb 2010 07:09:19 -0800 (PST)
MIME-Version: 1.0
Received: by 10.239.184.6 with SMTP id w6mr325352hbg.4.1267369757537; Sun, 28 Feb 2010 07:09:17 -0800 (PST)
In-Reply-To: <F0763843-BDC8-4E32-A3AE-2AE19BFC012F@bblfish.net>
References: <F0763843-BDC8-4E32-A3AE-2AE19BFC012F@bblfish.net>
Date: Sun, 28 Feb 2010 15:09:17 +0000
Message-ID: <1b587cab1002280709v68fafk1d34faf9029e3eb9@mail.gmail.com>
From: Ben Laurie <benl@google.com>
To: Story Henry <henry.story@bblfish.net>
Content-Type: multipart/alternative; boundary="001485f07b5432767b0480aa8456"
X-System-Of-Record: true
Cc: tls@ietf.org
Subject: Re: [TLS] one time passwords from private keys
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.9
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/listinfo/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: Sun, 28 Feb 2010 15:09:23 -0000

On 28 February 2010 14:58, Story Henry <henry.story@bblfish.net> wrote:

> Hello,
>
>  I am looking around to see if anyone knows an algorithm to allow one to
> produce a one time password [1] from the private key part of an asymmetric
> key pair.
>
> The article "Public-Key Cryptography and Password Protocols"
> http://www.cparity.com/projects/AcmClassification/samples/322514.pdf
> shows how to do the inverse.
>
>  The idea is to make it possible to authenticate into any web site using
> this one time password. The public key would be tied to a WebId/OpenId,
> following something like the following steps:
>
> 1. A server should be able to know for any webId/openid the public key of
> that id
>
> 2. the user will have
>  - the private key
>  - using its private key (and perhaps a time stamp, or a nonce from the
> server, ... ) the user's software would calculate a one time password which
> the user could then send with its WebId/OpenId to the server
>
> 3. the server which gets the openid/webid find the public key securely and
> use
>  that to verify the one time password (somehow)
>
> This would allow us to make it easy to create RESTful authentication for
> devices with broken (Safari on desktop and iphone) or non existent client
> side certificates (Android, and most other phones).
>
> For devices with working client side certificates we have foaf+ssl that
> works reasonably well currently - though we would love the browser vendors
> to implement user interface improvements. http://esw.w3.org/topic/foaf+ssl
>
>
>  What we are looking may be impossible. But we can't tell before looking
> :-)
> Also if you know of lists that are open source/open standard spirited that
> you think I should send this question to, please let me know.
>

One way of doing what you want is a Schnorr signature. One nice property of
a Schnorr signature is that the private key can easily be derived from a
password, or could just be a random blob. I'm doing some work in this area,
so feel free to contact me offlist if you're interested.


>
>        Henry
>
> [1] http://en.wikipedia.org/wiki/One_time_password
>   http://code.google.com/p/mod-authn-otp/wiki/OneTimePasswords
>
> Social Web Architect
> http://bblfish.net/
>
> _______________________________________________
> TLS mailing list
> TLS@ietf.org
> https://www.ietf.org/mailman/listinfo/tls
>