Re: [TLS] KeyUpdate and unbounded write obligations
Keith Winstein <keithw@cs.stanford.edu> Thu, 25 August 2016 19:32 UTC
Return-Path: <winstein@gmail.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 755AE12D0A0 for <tls@ietfa.amsl.com>; Thu, 25 Aug 2016 12:32:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level:
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 BviXg-I0v9qd for <tls@ietfa.amsl.com>; Thu, 25 Aug 2016 12:32:35 -0700 (PDT)
Received: from mail-yw0-x22f.google.com (mail-yw0-x22f.google.com [IPv6:2607:f8b0:4002:c05::22f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1682212B024 for <tls@ietf.org>; Thu, 25 Aug 2016 12:32:35 -0700 (PDT)
Received: by mail-yw0-x22f.google.com with SMTP id u134so35830060ywg.3 for <tls@ietf.org>; Thu, 25 Aug 2016 12:32:35 -0700 (PDT)
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; bh=eVHLi996WQLQq2p7myxKzbbth4wGWt0FRRAqqorZNKo=; b=pqkaSmQfadZJhjB6Bvqdj/mEBj2NrV2NifVPpTogiRrbnBtAsa7tW+Lp/wBB350r5k Wc/+Hi6Tu/PgwhWm+T+pdTNrppVZM1z/K7XT18eIzV4S5AB34OCNqYIA2EIPlIRIr3XC Isqrj3S6VunwXN3dkoYRsxCUCs1EdMkB4uL7+G6SOwEJ+Ep31hq7SgHi4HL2hg++lDjr FN0jwLqitjnGoi3slah6YYySUAlsAO1ELgWAWsNi6BWJL2yrLOGpMhLl7Vnm29wg4Iaf xASHwElnqtP2J6nQUdRh8sLZ6TAJq5afX6YjBO6wPRGVorTTb1uUFeqKIc6IpobFNiy6 Wrtw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=eVHLi996WQLQq2p7myxKzbbth4wGWt0FRRAqqorZNKo=; b=fDs4JvNFXIgz0y5ldXs181zposOPh09c4HRki9pD3FSLgkmjA6bEjjTELqjF+hlB26 yQ0Y1pce0K79vrV+6h9NuCX+v2ybNdoUCjYtiIdYuCwaXXD8uMqIR1Gac3tpv10qJUPy nwrUjlc9FusEj7hyZ6Ob4q50tRLJ1QWWiEEBT++skno+BngWrkHkUxk7IWGskFSr2Cqe XmF0j9R3Y8tkmhb1at+Z3ABuY7tV42Yf27PCJ+McPtM+JbEFwwP85etXL3PCLk+g8zb3 zrX1E/XV4abKVjwrCGSWG14WvfxEvzvZo4SSKZHOFl7PcDHPc7vVVzuXgIBPdRwFD/m9 aEqw==
X-Gm-Message-State: AE9vXwNqjpqOVh3+jDFlss0+glTy2vmRCUYKSCj/By+BzEhnOAPDy2fpvGUkug6Wr62y8K/3EH7EKPVh8RCQMA==
X-Received: by 10.129.102.193 with SMTP id a184mr9344892ywc.63.1472153554271; Thu, 25 Aug 2016 12:32:34 -0700 (PDT)
MIME-Version: 1.0
Sender: winstein@gmail.com
Received: by 10.129.79.209 with HTTP; Thu, 25 Aug 2016 12:31:53 -0700 (PDT)
In-Reply-To: <20160825042343.w6bg6kg75tujhexg@LK-Perkele-V2.elisa-laajakaista.fi>
References: <CAMzhQmOmOou6SvmZygJ6emfn2xAnU_jT7zb005fD4NRuOLmnPg@mail.gmail.com> <CAMfhd9UQaiWH_CAKNUMymARJAsWv4+3AatjgNEqrD78-rakubA@mail.gmail.com> <CAMzhQmMnG2cgbfOZE0VDgFRpF15B+yjx2E5G-V2fh2TwLiDcBQ@mail.gmail.com> <CAMfhd9UQ3jHLcUObBORi0Z_QQi2n4-fL9_KCwLvcDKTkJN1z5A@mail.gmail.com> <CAMzhQmMaBp0sPca9xb9jVrC=mjtZ8Rq3FnH8R8x6jcOxBO=9nA@mail.gmail.com> <CAMfhd9XxLq-S6c5K-JE50Wgm24JHihN++OawnVgQueMM8BuGuA@mail.gmail.com> <7e9c315a-f0e6-f547-e5e9-a3f48f8d12ff@cs.tcd.ie> <CAMzhQmN8=pw4LGHtZHyRQcVsx4DGwE89GNpHPUSENfbxcTHwRA@mail.gmail.com> <974CF78E8475CD4CA398B1FCA21C8E99565C26C5@PRN-MBX01-4.TheFacebook.com> <CAMzhQmM+msOti4rChS=dwRpo5YGh4VMpnqQvy4x=GG=rKA7kew@mail.gmail.com> <20160825042343.w6bg6kg75tujhexg@LK-Perkele-V2.elisa-laajakaista.fi>
From: Keith Winstein <keithw@cs.stanford.edu>
Date: Thu, 25 Aug 2016 12:31:53 -0700
X-Google-Sender-Auth: 46klo0JGB27DbEsAsPCeKpnL0xg
Message-ID: <CAMzhQmPFwE7H5gN-Ua1unGyFCpxh8aZuX4-2u55R0hmLD52FKQ@mail.gmail.com>
To: Ilari Liusvaara <ilariliusvaara@welho.com>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/3Sqk3V3TZ1BbFNpAkqSbLO1b7jc>
Cc: Adam Langley <agl@imperialviolet.org>, "tls@ietf.org" <tls@ietf.org>
Subject: Re: [TLS] KeyUpdate and unbounded write obligations
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.17
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: <https://mailarchive.ietf.org/arch/browse/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: Thu, 25 Aug 2016 19:32:36 -0000
On Wed, Aug 24, 2016 at 9:23 PM, Ilari Liusvaara <ilariliusvaara@welho.com> wrote: > The generations are not specified as integers. It is just some abstract > sequence (nowhere in protocol is that generations are integers used). The current draft requires that upon receipt of a KeyUpdate, "the receiver MUST update their receiving keys and if they have not already updated their sending state up to or past the then current receiving generation MUST send their own KeyUpdate prior to sending any other messages." This requires the generation counts to be comparable for inequality. Implementations will have to keep track of the generations, or the difference between them, in an integer counter. (How else would you do it?) > Due to design, one can't do a reciproal rekey. Hmm, there must be some misunderstanding. In the current draft, *every* time a node receives KeyUpdate #N (rekeying the incoming direction), it MUST reciprocate by rekeying its outgoing direction unless it has already sent at least N KeyUpdates. Current text: "This mechanism allows either side to force an update to the entire connection." >> (3) Fire-and-later-check. The TLS implementation exposes #2 above, but >> also `tls_session_generations()`, which returns a pair of integers >> giving the current sending and receiving generations. >> >> Any application we might want to build can be built on top of #3. > > Nope, the KeyUpdate is designed to deal with arbitrary latency in > order to fully decouple the direction (any coupling there would lead > to API problems, which apparently are more major than I initially > thought). Not quite sure what you're disagreeing with. Our proposal is also designed to deal with arbitrary latency. It's a field piggybacking on the otherwise-unmodified KeyUpdate messages. -Keith
- Re: [TLS] KeyUpdate and unbounded write obligatio… Keith Winstein
- Re: [TLS] KeyUpdate and unbounded write obligatio… Keith Winstein
- Re: [TLS] KeyUpdate and unbounded write obligatio… Stephen Farrell
- Re: [TLS] KeyUpdate and unbounded write obligatio… Adam Langley
- Re: [TLS] KeyUpdate and unbounded write obligatio… Keith Winstein
- Re: [TLS] KeyUpdate and unbounded write obligatio… Adam Langley
- Re: [TLS] KeyUpdate and unbounded write obligatio… Keith Winstein
- Re: [TLS] KeyUpdate and unbounded write obligatio… Adam Langley
- Re: [TLS] KeyUpdate and unbounded write obligatio… Keith Winstein
- Re: [TLS] KeyUpdate and unbounded write obligatio… Jim Schaad
- Re: [TLS] KeyUpdate and unbounded write obligatio… Adam Langley
- Re: [TLS] KeyUpdate and unbounded write obligatio… Benjamin Kaduk
- Re: [TLS] KeyUpdate and unbounded write obligatio… David Benjamin
- Re: [TLS] KeyUpdate and unbounded write obligatio… Keith Winstein
- Re: [TLS] KeyUpdate and unbounded write obligatio… David Benjamin
- Re: [TLS] KeyUpdate and unbounded write obligatio… Benjamin Kaduk
- Re: [TLS] KeyUpdate and unbounded write obligatio… Ilari Liusvaara
- Re: [TLS] KeyUpdate and unbounded write obligatio… Keith Winstein
- [TLS] KeyUpdate and unbounded write obligations David Benjamin
- Re: [TLS] KeyUpdate and unbounded write obligatio… Subodh Iyengar
- Re: [TLS] KeyUpdate and unbounded write obligatio… Judson Wilson
- Re: [TLS] KeyUpdate and unbounded write obligatio… Keith Winstein
- Re: [TLS] KeyUpdate and unbounded write obligatio… Ilari Liusvaara
- Re: [TLS] KeyUpdate and unbounded write obligatio… Keith Winstein
- Re: [TLS] KeyUpdate and unbounded write obligatio… Eric Rescorla
- Re: [TLS] KeyUpdate and unbounded write obligatio… Ilari Liusvaara
- Re: [TLS] KeyUpdate and unbounded write obligatio… Eric Rescorla
- Re: [TLS] KeyUpdate and unbounded write obligatio… Ilari Liusvaara
- Re: [TLS] KeyUpdate and unbounded write obligatio… Eric Rescorla
- Re: [TLS] KeyUpdate and unbounded write obligatio… Adam Langley
- Re: [TLS] KeyUpdate and unbounded write obligatio… Eric Rescorla
- Re: [TLS] KeyUpdate and unbounded write obligatio… Russ Housley
- Re: [TLS] KeyUpdate and unbounded write obligatio… Eric Rescorla
- Re: [TLS] KeyUpdate and unbounded write obligatio… Ilari Liusvaara
- Re: [TLS] KeyUpdate and unbounded write obligatio… Keith Winstein
- Re: [TLS] KeyUpdate and unbounded write obligatio… Eric Rescorla
- Re: [TLS] KeyUpdate and unbounded write obligatio… Ilari Liusvaara
- Re: [TLS] KeyUpdate and unbounded write obligatio… Eric Rescorla
- Re: [TLS] KeyUpdate and unbounded write obligatio… David Benjamin
- Re: [TLS] KeyUpdate and unbounded write obligatio… Ilari Liusvaara
- Re: [TLS] KeyUpdate and unbounded write obligatio… Ilari Liusvaara
- Re: [TLS] KeyUpdate and unbounded write obligatio… Keith Winstein