Re: [TLS] CPU cost of 1RTT handshake

Eric Rescorla <ekr@rtfm.com> Mon, 11 August 2014 04:37 UTC

Return-Path: <ekr@rtfm.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 70B2D1A02E3 for <tls@ietfa.amsl.com>; Sun, 10 Aug 2014 21:37:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.977
X-Spam-Level:
X-Spam-Status: No, score=-1.977 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7] 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 oY8ZXVbtbzWc for <tls@ietfa.amsl.com>; Sun, 10 Aug 2014 21:37:29 -0700 (PDT)
Received: from mail-we0-f182.google.com (mail-we0-f182.google.com [74.125.82.182]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5C4401A02E0 for <tls@ietf.org>; Sun, 10 Aug 2014 21:37:29 -0700 (PDT)
Received: by mail-we0-f182.google.com with SMTP id k48so7989220wev.41 for <tls@ietf.org>; Sun, 10 Aug 2014 21:37:28 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type; bh=Qhxk1tAuIvSOjOH0hhJ0Yc9wVnJ1TQBjKTFXJtQgjzc=; b=TcxfGySNTDvl3KAiX9u1KTSv4iThtvwVIM9FTOFEdpJV0oakaeNmJPvwOw27oY0BFl mSX0qrlyQOIkZUVLT9r9wZ+KwHBB0K0qP6txWjNt7tSjZyuSrK8a6mQfMIKjCnjIYGKQ /NOMNGtjZwGGh8WfC6XDqi+U5XLaTKxGCMUp0PKtEXsmAcle/LvW2/RXR2xiG4F9Aam8 6hdfQBxHWGYgdcmSYhLyJLhEoxVJ26u6bvwu7setnhDxAP31jx30romSRqcnI9RV6bbo pwXz9c+n0zK0P1wFLTazUZoCrKirahVLbH8Wo5E4IiDIKwZJdGbKFQYRhXsHnYJQywyi Ecog==
X-Gm-Message-State: ALoCoQnvpBl5RnHDwpkwvIc0Cfx1ivF2Ceee+ABwBb9MvbTtJRFUPHit44mQk/DiwUJkpFQkevKD
X-Received: by 10.180.37.77 with SMTP id w13mr22269147wij.78.1407731847981; Sun, 10 Aug 2014 21:37:27 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.217.128.12 with HTTP; Sun, 10 Aug 2014 21:36:47 -0700 (PDT)
X-Originating-IP: [74.95.2.168]
In-Reply-To: <CACsn0cmoUYF3i7dgQ4gGN1664N37wxRVpZeifedU9Qqs3uu42A@mail.gmail.com>
References: <CACsn0cmxi5DdJz=XosLe3Kw=NYQnpm7PbzyPtqZAQrinzTsgAQ@mail.gmail.com> <CABcZeBOfaWM=nVAcGu_TV2yM7C95Xf6UFhWx1jBPAGYM8+Dkqg@mail.gmail.com> <CACsn0cmoUYF3i7dgQ4gGN1664N37wxRVpZeifedU9Qqs3uu42A@mail.gmail.com>
From: Eric Rescorla <ekr@rtfm.com>
Date: Sun, 10 Aug 2014 21:36:47 -0700
Message-ID: <CABcZeBP7eJRZ0o84BOCEEDKw_fh4K0i2DTnbFfU51yFLFW3q7Q@mail.gmail.com>
To: Watson Ladd <watsonbladd@gmail.com>
Content-Type: multipart/alternative; boundary="e89a8f647021bcff110500531cff"
Archived-At: http://mailarchive.ietf.org/arch/msg/tls/QjVPYhnmzIqAGjxmwPEDeWynS9E
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:37:30 -0000

On Sun, Aug 10, 2014 at 9:28 PM, Watson Ladd <watsonbladd@gmail.com> wrote:
>
>  > 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.


Yes, one could do that, but it has different properties:

1. It doesn't allow the server to encrypt its handshake data on
the first flight and therefore does not conceal it from passive
observers [0]

2. It doesn't allow the server to send data to the client on its first
flight (if it doesn't care about the client's identity).

-Ekr

[0] Or active observers in cases like WebRTC where the server
doesn't respond to any client.