[tcpinc] Review of draft-bittau-tcpinc-tcpeno-01
Eric Rescorla <ekr@rtfm.com> Sat, 22 August 2015 21:28 UTC
Return-Path: <ekr@rtfm.com>
X-Original-To: tcpinc@ietfa.amsl.com
Delivered-To: tcpinc@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 669891B2D5E for <tcpinc@ietfa.amsl.com>; Sat, 22 Aug 2015 14:28:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.723
X-Spam-Level:
X-Spam-Status: No, score=0.723 tagged_above=-999 required=5 tests=[BAYES_50=0.8, 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 bJxJOkgTEzma for <tcpinc@ietfa.amsl.com>; Sat, 22 Aug 2015 14:28:42 -0700 (PDT)
Received: from mail-vk0-f43.google.com (mail-vk0-f43.google.com [209.85.213.43]) (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 7F4341B2D5B for <tcpinc@ietf.org>; Sat, 22 Aug 2015 14:28:42 -0700 (PDT)
Received: by vkd66 with SMTP id 66so43907586vkd.0 for <tcpinc@ietf.org>; Sat, 22 Aug 2015 14:28:41 -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:from:date:message-id:subject:to :content-type; bh=o4RGhaNJaEZ6YgUOXLUlbfl9JITQJ7O1X/HexszjLvc=; b=D1nZFPqF/hni65ZYVM/h9EnAtapz8tcrC/TXifulYJGj/J9wYIoIkWs9/gPy7ZhGb2 cA1dQYuH0XSesJvlfDE8PrDiyNbG1jTvCgdfFxM4F8ZW7y/6n1gvfYuD8T2x85hz12Q5 W4vamhwFJTXm2tgOwrf21HbjC96sM7/WXULdA7hFKf5nTsgdHKsYNLtT+vfF4oz1CwSy DTGtmlfMF3KYqWgN6s3ekb8Jf/gK+cwh/9ayLbiGeVduT5OzNygGCV+VadlecD9qpOMw jOCnO6u1qD3EkTFblSfG9xkOgv6X4pZVmKlbV2FlVXWF4hTMWfDT/8jF1ln7L05XouIv r5yw==
X-Gm-Message-State: ALoCoQk6OEZ1hcintZmCM8a1RS50CrLQ4l+pHQnyzz7EffBIglWcDVMYwWQOyJVutH+4Z4CnMKsa
X-Received: by 10.52.232.131 with SMTP id to3mr20506020vdc.34.1440278921621; Sat, 22 Aug 2015 14:28:41 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.31.133.19 with HTTP; Sat, 22 Aug 2015 14:28:02 -0700 (PDT)
From: Eric Rescorla <ekr@rtfm.com>
Date: Sat, 22 Aug 2015 14:28:02 -0700
Message-ID: <CABcZeBNEFVkDi38y3G-C2nQF=dzW2mGDsj5DVK_OKVkPwK=G0g@mail.gmail.com>
To: tcpinc <tcpinc@ietf.org>
Content-Type: multipart/alternative; boundary="001a11337c1280499e051ded1125"
Archived-At: <http://mailarchive.ietf.org/arch/msg/tcpinc/X5PeJQXvBc7OCFcfkAwdhonUaQ8>
Subject: [tcpinc] Review of draft-bittau-tcpinc-tcpeno-01
X-BeenThere: tcpinc@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "Discussion list for adding encryption to TCP." <tcpinc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tcpinc>, <mailto:tcpinc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tcpinc/>
List-Post: <mailto:tcpinc@ietf.org>
List-Help: <mailto:tcpinc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpinc>, <mailto:tcpinc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 22 Aug 2015 21:28:44 -0000
Review of draft-bittau-tcpinc-tcpeno-01 I have reviewed the -01 version of the ENO draft. This seems like a good general idea, but I have concerns about a number of the details. TECHNICAL S 3.0. The variable/non-variable encoding seems suboptimal and in particular the restriction that only one suboption can be variable length. What are we going to do if two specifications wish to have variable-length data in the SYN packets? The specification suggests that you should address this by having two ENO options but that seems clumsy. I would suggest instead that if the v bit is set the next byte be the length. This comes at the cost of one byte for settings where there is only one variable-length option but is more efficient when you want to have multiple variable-length options, since you don't need to repeat the kind byte. S 3.1. I am not convinced that a one-bit tiebreaker for simultaneous open is going to work. Experience with other protocols that have the problem of symmetry (e.g., ICE) is that this sort of thing results from confusion about which side is really "first". In that case, both sides will try to set the same "b" bit, and you will not break the symmetry. I believe we must either ignore simultaneous open or use a higher- entropy tiebreaker. S 3.2. I am unclear on why the active opener needs to have an ENO segment in his first ACK. Can you explain? This mechanism for negotiating mechanisms seems over-complex, what with A and B each providing lists and then choosing B's top preference. I would suggest instead that we simply have B choose out of A's list, as with ALPN. The document offers two reasons why this might not work, simultaneous open and inflexible implementations: If we resolve simultaneous open in the SYN exchange then this should work fine and the issue of implementation seems like a corner case. S 3.3. Having two different "application aware" code points (10 and 01) seems like it's asking for trouble. I would make one of these reserved. S 4. I understand the desire to require a minimum cipher length, but I would observe that read strictly, "128-bit security" excludes Curve25519 and also would exclude AES if any real analytical progress is ever made and it becomes secure at (say) 127 bits. I'd like to see more clarity around forbidding encryption modes that don't supply PFS. For instance, with TLS a common strategy for optimizing session resumption is for the client to send the server a traffic key encrypted under the server's master key, thus allowing the server to be stateless (RFC 5077 Session Tickets). Would this be forbidden? S 4.1. Given that session IDs are required to be unique, why bother with the spec-id prefix? EDITORIAL/TERMINOLOGY Instead of describing this as a negotiation between "specs" I would describe it as a negotiation between "protocols". I would use the terminology "initiator" and "responder" rather than A and B. This matches IKE and is generally more familiar. "Session ID" is a technical term in TLS that means something different than here. Perhaps "channel binding" or "channel identifier"?
- [tcpinc] Review of draft-bittau-tcpinc-tcpeno-01 Eric Rescorla
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… David Mazieres
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Watson Ladd
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… David Mazieres
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Eric Rescorla
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Watson Ladd
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… David Mazieres
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… David Mazieres
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Watson Ladd
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… David Mazieres
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Watson Ladd
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… David Mazieres
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Watson Ladd
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… David Mazieres
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Watson Ladd
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… David Mazieres
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Watson Ladd
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Ilari Liusvaara
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Watson Ladd
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Mark Handley
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Yoav Nir
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Watson Ladd
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Kyle Rose
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Stephen Kent
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Watson Ladd
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Stephen Farrell
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Watson Ladd
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Martin Thomson
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… David Mazieres
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Stephen Farrell
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… David Mazieres
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… David Mazieres
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Scharf, Michael (Michael)
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Stephen Farrell
- [tcpinc] Simultaneous open tie breaking Tero Kivinen
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Stephen Kent
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Stephen Kent
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Kyle Rose
- Re: [tcpinc] Simultaneous open tie breaking David Mazieres
- Re: [tcpinc] Simultaneous open tie breaking Kyle Rose
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… David Mazieres
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Watson Ladd
- Re: [tcpinc] Simultaneous open tie breaking David Mazieres
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Stephen Farrell
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… John Leslie
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Eric Rescorla
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… David Mazieres
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Kyle Rose
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Stephen Kent
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Stephen Farrell
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… David Mazieres
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Mirja Kühlewind
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… ianG
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… ianG
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… ianG
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… ianG
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Kyle Rose
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Kyle Rose
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Stephen Farrell
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… ianG
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… ianG
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Mirja Kühlewind
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… David Mazieres
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Stephen Farrell
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Eric Rescorla
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… David Mazieres
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Mirja Kühlewind
- Re: [tcpinc] Simultaneous open tie breaking Tero Kivinen
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Mirja Kühlewind
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… David Mazieres
- Re: [tcpinc] Simultaneous open tie breaking dm-list-tcpcrypt
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… dm-list-tcpcrypt
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Kyle Rose
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… David Mazieres
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Eric Rescorla
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… David Mazieres
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Eric Rescorla
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Eric Rescorla
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Eric Rescorla
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… David Mazieres
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… David Mazieres
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Eric Rescorla
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… Eric Rescorla
- Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno… dm-list-tcpcrypt