Re: [TLS] CCS and key reset and renegotiation

Watson Ladd <watsonbladd@gmail.com> Fri, 06 June 2014 02:59 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 873281A03E7 for <tls@ietfa.amsl.com>; Thu, 5 Jun 2014 19:59:20 -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 hgYubsho7NmG for <tls@ietfa.amsl.com>; Thu, 5 Jun 2014 19:59:15 -0700 (PDT)
Received: from mail-qa0-x22d.google.com (mail-qa0-x22d.google.com [IPv6:2607:f8b0:400d:c00::22d]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 29F321A03F3 for <tls@ietf.org>; Thu, 5 Jun 2014 19:59:15 -0700 (PDT)
Received: by mail-qa0-f45.google.com with SMTP id hw13so2780719qab.18 for <tls@ietf.org>; Thu, 05 Jun 2014 19:59:08 -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=JQAyRFz7nrSOhP/Vds8o0rnt1kule5DvgYgehTEjZ/M=; b=qENdSh4zn5q0UOuVK/aTri62lUqgsXFoqlKZ4vJbx4vepMvARIzUkGRfJ9vqGKFBSH GMDd1WWL2ofsGJW16XEPYwfnJeqBmeSOiNuWllPUkYUoQWK+Qd5ct/exkC9LP5LXVVhS tqK+lSqATeXWTEy2Cjb2RlzJLYEDt92WHVPvpM4K2gjq1aYKds9mZqf7CZyHx9sCILMZ eTNr0hoyCmB/RDeObZ4dd96g7TOPNdKmzkQt5030GJV0TS1XgGh7Po5oBYQaeiEJg+97 ZC3xFyj//iIrynyE/zgVTSoFhedYcd5m5XVcE4eixmyr8sxfUdFMTimjwkfYzGD/XNYf ysJg==
MIME-Version: 1.0
X-Received: by 10.140.96.51 with SMTP id j48mr3268336qge.24.1402023548134; Thu, 05 Jun 2014 19:59:08 -0700 (PDT)
Received: by 10.140.19.229 with HTTP; Thu, 5 Jun 2014 19:59:08 -0700 (PDT)
In-Reply-To: <9A043F3CF02CD34C8E74AC1594475C738DEC3033@uxcn10-tdc06.UoA.auckland.ac.nz>
References: <9A043F3CF02CD34C8E74AC1594475C738DEC3033@uxcn10-tdc06.UoA.auckland.ac.nz>
Date: Thu, 5 Jun 2014 19:59:08 -0700
Message-ID: <CACsn0ckdz2ifdiAz3neOkuttki=te7ZXB4z1fcp+MqU_3N81pg@mail.gmail.com>
From: Watson Ladd <watsonbladd@gmail.com>
To: Peter Gutmann <pgut001@cs.auckland.ac.nz>
Content-Type: text/plain; charset=UTF-8
Archived-At: http://mailarchive.ietf.org/arch/msg/tls/CdxXqAXCXadsQV174fMxbj8E8QE
Cc: "<tls@ietf.org>" <tls@ietf.org>
Subject: Re: [TLS] CCS and key reset and renegotiation
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: Fri, 06 Jun 2014 02:59:21 -0000

On Thu, Jun 5, 2014 at 6:41 PM, Peter Gutmann <pgut001@cs.auckland.ac.nz> wrote:
> Watson Ladd <watsonbladd@gmail.com> writes:
>
>>The spec needs a state machine.
>
> No, it's this that created the problem in the first place.  SSL/TLS (and SSH,
> and others) are best described using a ladder diagram (and in fact that's how
> pretty much every diagram of the protocols that I've ever seen does them).
> The fact that the spec dresses it up like a state machine means that anyone
> who actually tries to implement it that way ends up vulnerable to mistakes
> like the current OpenSSL one.  So the spec needs to take a protocol that
> exists as a ladder diagram and describe it as such, not pretend that it's
> meant to be a state machine.

Because the Certificate, Certificate Request, ServerKeyExchange, and
some other messages in the handshake are optional, I don't see how a
ladder diagram can encapsulate the protocol. That's ignoring the fact
that you can send as much application data as you desire before
terminating the connection, so there is a branch: either we get app
data, or a termination.

To me a spec based on a state machine says in each state what all the
allowed transitions are, and what is emitted in each state, and what
drives the transitions.

Either way 5 out of 6 implementors got it right. It's not even a
barrier to formalization: what the protocol does is a much bigger
issue, and that's where I hope to send a lengthy email laying out what
TLS 1.3 should look like. (There is also another issue: X509 is
massively complicated and is the only certificate format TLS supports.
Perhaps we should consider lightweight alternatives)

Sincerely,
Watson Ladd

>
> Peter.
> _______________________________________________
> TLS mailing list
> TLS@ietf.org
> https://www.ietf.org/mailman/listinfo/tls



-- 
"Those who would give up Essential Liberty to purchase a little
Temporary Safety deserve neither  Liberty nor Safety."
-- Benjamin Franklin