Re: [TLS] CPU cost of 1RTT handshake
Watson Ladd <watsonbladd@gmail.com> Mon, 11 August 2014 04:28 UTC
Return-Path: <watsonbladd@gmail.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2F27E1A02DB for <tls@ietfa.amsl.com>; Sun, 10 Aug 2014 21:28:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, SPF_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 kHJaWt4XyGKv for <tls@ietfa.amsl.com>; Sun, 10 Aug 2014 21:28:31 -0700 (PDT)
Received: from mail-yk0-x22a.google.com (mail-yk0-x22a.google.com [IPv6:2607:f8b0:4002:c07::22a]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DB48C1A02D0 for <tls@ietf.org>; Sun, 10 Aug 2014 21:28:30 -0700 (PDT)
Received: by mail-yk0-f170.google.com with SMTP id 9so5674574ykp.29 for <tls@ietf.org>; Sun, 10 Aug 2014 21:28:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=wAoOUmR4b0CSGqg+hKs915sqgjcSe/fz2lOxUldHedk=; b=jXwQwqNd/PdxO9NStSDwmeZ8MlsgQKCw7EQhn6QlCumaqZqd7PKZOjyiEZLMGBbs2w PWIpgAqX27/1J9SXLwrC04/nb/ZPyI2OTmZUzNAsN5Mgjy1xGMczqapbnMnqXIKQce3Z 0T0Oao9y72FgYoBFX4KuBHmvfuAz52jm/ugXn+J8YqX+EDMg8JfGaMq5Hl00eILJRNP9 lf1oakXiF0svmzxBw3fDfdw7bXv9zo9qvPmwtgBMtrjnPAgYuQHoFP7Im/h0JoUqb3FZ MWhZwIxI8U2UBXCpf2VDOPPC5KWWZR3NGw3l/YfA9gumfzRvrVG3YM95+CTAQJFvd55+ qSPg==
MIME-Version: 1.0
X-Received: by 10.236.133.165 with SMTP id q25mr39475945yhi.62.1407731310113; Sun, 10 Aug 2014 21:28:30 -0700 (PDT)
Received: by 10.170.202.8 with HTTP; Sun, 10 Aug 2014 21:28:30 -0700 (PDT)
In-Reply-To: <CABcZeBOfaWM=nVAcGu_TV2yM7C95Xf6UFhWx1jBPAGYM8+Dkqg@mail.gmail.com>
References: <CACsn0cmxi5DdJz=XosLe3Kw=NYQnpm7PbzyPtqZAQrinzTsgAQ@mail.gmail.com> <CABcZeBOfaWM=nVAcGu_TV2yM7C95Xf6UFhWx1jBPAGYM8+Dkqg@mail.gmail.com>
Date: Sun, 10 Aug 2014 21:28:30 -0700
Message-ID: <CACsn0cmoUYF3i7dgQ4gGN1664N37wxRVpZeifedU9Qqs3uu42A@mail.gmail.com>
From: Watson Ladd <watsonbladd@gmail.com>
To: Eric Rescorla <ekr@rtfm.com>
Content-Type: text/plain; charset="UTF-8"
Archived-At: http://mailarchive.ietf.org/arch/msg/tls/oSxtGB1ZNREMjTHU9e6Ezxe5Wm4
Cc: "tls@ietf.org" <tls@ietf.org>
Subject: Re: [TLS] CPU cost of 1RTT handshake
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.15
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: Mon, 11 Aug 2014 04:28:32 -0000
On Sun, Aug 10, 2014 at 9:09 PM, Eric Rescorla <ekr@rtfm.com> wrote: > > > > On Sun, Aug 10, 2014 at 1:35 PM, Watson Ladd <watsonbladd@gmail.com> wrote: >> >> Dear all, >> >> Right now, instead of the server defining the group to be used and >> sending a key in the group, the client computes multiple keys, and the >> server selects one. This is very bad for embedded devices with >> constrained CPU, especially if they are connecting to a server over >> high-latency, low-bandwidth links. >> >> The justification for the current behavior is similarity to 0-RTT. But >> I'm not convinced that this actually makes the protocol or >> implementations any simpler, and it has real costs for many devices >> that will otherwise not adopt TLS or try to invent their own encrypted >> protocols. > > > I'm not sure I would phrase the protocol behavior exactly as you have > above. Rather, the client sends a list of the groups it supports (as in > TLS 1.2). It can also send any number of (EC)DHE shares that match > those groups. If the server selects a group that matches one of those > shares, the handshake proceeds. Otherwise, the server tells the > client which group it has selected and the client then adds a share > from that group to the list. > > In other words: > > 1. The server does get to select the group as it can reject all the > client's shares (thougb of course it cannot force the client to use > a group it does not accept or know about).. > > 2. The client is not forced to send any shares. It can simply send > an empty ClientKeyExchange (See S 7.4.2) and then wait for the > server to select a group. In other words, it can act as you suggest > above, but at the cost of a round trip. It's a explicit computation/ > latency tradeoff. It's a completely unnecessary one: the server can send its share, then the client goes, which is followed by the remaining messages. Why are we making 1-RTT unnecessarily expensive? Sincerely, Watson Ladd
- [TLS] CPU cost of 1RTT handshake Watson Ladd
- Re: [TLS] CPU cost of 1RTT handshake Ilari Liusvaara
- Re: [TLS] CPU cost of 1RTT handshake Eric Rescorla
- Re: [TLS] CPU cost of 1RTT handshake Watson Ladd
- Re: [TLS] CPU cost of 1RTT handshake Eric Rescorla