Re: [TLS] Re-thinking OPTLS

Hugo Krawczyk <hugo@ee.technion.ac.il> Sat, 22 November 2014 23:04 UTC

Return-Path: <hugokraw@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 EEAEF1A037E for <tls@ietfa.amsl.com>; Sat, 22 Nov 2014 15:04:15 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.277
X-Spam-Level:
X-Spam-Status: No, score=-1.277 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_PASS=-0.001] autolearn=no
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 P1sNMhtfRDD0 for <tls@ietfa.amsl.com>; Sat, 22 Nov 2014 15:04:13 -0800 (PST)
Received: from mail-lb0-x230.google.com (mail-lb0-x230.google.com [IPv6:2a00:1450:4010:c04::230]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7F0631A036A for <tls@ietf.org>; Sat, 22 Nov 2014 15:04:12 -0800 (PST)
Received: by mail-lb0-f176.google.com with SMTP id p9so4679049lbv.21 for <tls@ietf.org>; Sat, 22 Nov 2014 15:04:10 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; bh=kl0E+Nc3F+nVZroI5E/JjPSd+DnC6WWt2CPF9y6NAoY=; b=tWSu/kp4/Fn1y8LlIai6RpYRDHpxLgy0CeVFGvQ1KRlKwHqENNUv4M34ips7RLjluV UHCxYv9gd/hIZcbECcZQSusZQKt2j1XQAXOE2jhi7VokXA8Wn+DHz3XFdsN8U+upOY7s RHCb+q1UzJ/sbovu+8ZS1e7fJpFANiavArnCKh0XfSWGmHGLUw3Z4OfLYFII1pnatdvd zjTNPsBC3XyqeuZRjkSkauxk3M1MEHKV+cbmru4fN37RlCkC/dg+rGfsplhLkfrYFljm 58EIp0s+0+k1wGLMGlKoqBYv3Xu73Okn4YI4JzMkUQOZJnU7HhJ8SKcEj/3aw9vS9JKH N0zA==
X-Received: by 10.112.247.43 with SMTP id yb11mr12648751lbc.51.1416697450739; Sat, 22 Nov 2014 15:04:10 -0800 (PST)
MIME-Version: 1.0
Sender: hugokraw@gmail.com
Received: by 10.25.78.135 with HTTP; Sat, 22 Nov 2014 15:03:40 -0800 (PST)
In-Reply-To: <CABkgnnVDchZd91nt4pVJT3rDzjbRLOHi=xDH-agQeg+PeEJzqw@mail.gmail.com>
References: <CADi0yUMCGuYbqrJWa-KXNmgNvc19xOWwpx2DCLOvgv62haedCQ@mail.gmail.com> <CABkgnnU7RNxjNW++qoS+zY6RBCag3tmCaWiR7Szw_zu45_X7HA@mail.gmail.com> <CADi0yUN4NPAV0ntrXyb2H6Pp_BOWBh8CwtsF4WbPL+UomvJJyw@mail.gmail.com> <CABkgnnVDchZd91nt4pVJT3rDzjbRLOHi=xDH-agQeg+PeEJzqw@mail.gmail.com>
From: Hugo Krawczyk <hugo@ee.technion.ac.il>
Date: Sat, 22 Nov 2014 18:03:40 -0500
X-Google-Sender-Auth: sX4NscvzZlwJYkgLZHeLSRRiLMk
Message-ID: <CADi0yUP1xUkA4737f+hVeigX9H+xrRUQohvjnm58y7KM4bSLTw@mail.gmail.com>
To: Martin Thomson <martin.thomson@gmail.com>
Content-Type: multipart/alternative; boundary="001a1134de924e3d9605087a94c5"
Archived-At: http://mailarchive.ietf.org/arch/msg/tls/xFdkM_szmDcr0SkbEYWovgSnoBQ
Cc: "tls@ietf.org" <tls@ietf.org>, Hoeteck Wee <hoeteck@alum.mit.edu>
Subject: Re: [TLS] Re-thinking OPTLS
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: Sat, 22 Nov 2014 23:04:16 -0000

Martin, one does not have to resort to delegation for using OPTLS, you can
use
ECDH certificates, except that you may need a certificate for each group you
support. The *same* goes for using ECDSA in current TLS. That is, if you
want
to be able to sign in TLS with different groups (I think this will be
needed),
then you need one certificate for each group that you want to support or
else
you need delegation (for signing subcerts for mutliple ECDSA keys).

Let me parse all the options we have.

If you don't want delegation you have three options: RSA certificates (and
pay
for per-session RSA signing performance cost), per-group ECDSA certificate
(requiring per-session signature), or per-group ECDH certificates (requires
no
signing at all and no delegation). All other cases require delegation.

So, if you don't care about per-session RSA cost AND do not care about the
added value/functionality of OPTLS, then you can keep current TLS 1.3.

Otherwise, you are left with essentially two choices.

- If you are willing to live with multiple certificates, one per-group, then
  run OPTLS with ECDH certificates: It gives the best
  security-functionality-performance return (and no delegation).

- If you don't want per-group certificates then you must resort to
delegation
  (this is the case whether you use current TLS 1.3 with ECDSA or use
OPTLS).
  But if you are going to live with delegation then there is no advantage
to
  TLS 1.3 over OPTLS.

The interesting thing about OPTLS (with the optional online signature tweak)
is that it can accommodate all of the above options in one compact protocol:

- you don't want delegation or per-group keys, use OPTLS with Online RSA
  signature (the subcert signs the client nonce)

- you don't want delegation but accept per-group keys, use OPTLS with ECDH
  certificates (no signatures, no subcert/delegation)

- you don't like the above options (hence forced to live with delegation),
  use OPTLS with offline-signed subcerts for ECDH keys.

The above, I think, is nice and provides a strong justification for OPTLS.
However, if you want the protocol to support delegation and are concerned
about the
"HSM attacks" discussed here, then you need to require servers to obtain new
certificates (ECDH, ECDSA or RSA). The point is that you don't want servers
to
use their TLS 1.2 (or earlier) keys to also sign subcerts.

​Hugo​

PS: ​I will answer the issue of key derivation separately.​

On Sat, Nov 22, 2014 at 1:14 AM, Martin Thomson <martin.thomson@gmail.com>
wrote:

> On 21 November 2014 19:29, Hugo Krawczyk <hugo@ee.technion.ac.il> wrote:
> > I am glad to hear this too. Please let me know what the sources of
> perceived
> > complexity are.
>
> The only items of note were:
>  - the second update to the handshake protection under g^{xs}+g^{xy}.
> We all realized that this was trivially addressed (ekr had a slide at
> the meeting that showed an easy simplification, which should be in the
> meeting materials).
>  - the delegation scheme itself
>
> I don't think that you can underestimate the costs involved with
> creating an external dependency of any sort - for any project. The
> reliance on PKIX updates could be problematic.  That said, I'm not
> entirely sure that this is as straightforward a win as you suggest.
> If such a flag existed, using it would create the delegation problem
> we were most concerned about.
>
> I'll let others explain more of the thinking behind the delegation
> problem.  I think that it's the only real issue with your proposal
> that you need to worry about.  The performance characteristics are
> probably manageable.
>