Re: [tcpinc] Review of draft-bittau-tcpinc-tcpeno-01

Kyle Rose <krose@krose.org> Tue, 25 August 2015 17:56 UTC

Return-Path: <krose@krose.org>
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 52DE41ACEC1 for <tcpinc@ietfa.amsl.com>; Tue, 25 Aug 2015 10:56:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.921
X-Spam-Level:
X-Spam-Status: No, score=0.921 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FM_FORGED_GMAIL=0.622, MANGLED_BACK=2.3, 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 gcSej-XYZXZc for <tcpinc@ietfa.amsl.com>; Tue, 25 Aug 2015 10:56:02 -0700 (PDT)
Received: from mail-io0-x230.google.com (mail-io0-x230.google.com [IPv6:2607:f8b0:4001:c06::230]) (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 DEC241B29C4 for <tcpinc@ietf.org>; Tue, 25 Aug 2015 10:55:53 -0700 (PDT)
Received: by iodb91 with SMTP id b91so195511927iod.1 for <tcpinc@ietf.org>; Tue, 25 Aug 2015 10:55:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=krose.org; s=google; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=C3zB4GGUjBBTjvBU2cEiwmC46Gzs9kbMYQ1IYufzpc4=; b=MTCFxSkQRGLTNSNWsaZzkxc45u1wqQ/PN/1SX4wSOvd20SJSQmzFlCXKdBcEnQD8OZ aiFto2bq02ohHFgXVV1nQGN6s5xjQ0XA4Rxd/zqiuh2H3YEXInO7QlvB1uLunYbHN8dX XZqrBuBYYvRSq3zY8EeNDmgCBATofHd49xLTU=
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:date :message-id:subject:from:to:cc:content-type; bh=C3zB4GGUjBBTjvBU2cEiwmC46Gzs9kbMYQ1IYufzpc4=; b=X8M57i5MpOPkRI22RbmreIKkorNAQ55GPvVwWlGjtOelnEJu1bJ7y1mQH5EKXjglaP tZi6E43Za/4vLFd0fINvCz1da7me5fvv54d1Uwg2ouKVCk7jYALpRVedRMoAjCYG0pv7 000FRB+LHkQvOf7mccgOYZaRiLqm9sGU5dNZi5vSL08gvDcAv2XOPaphvUmSYxKsMQRQ wzbbx71Hgy2h8LEsqEspcLVNkYBVdJ5UQeF+f1BQ1o7CFAFXn08W0x4BSPfXfe2NQGxK BnUpxG0GtWAPjL/205BtS3vdpN04ck7EaV5zvBArTxA21xjLajeQE9bReqA8LIe5ZGKU UymQ==
X-Gm-Message-State: ALoCoQmFkT2rIjxbr+zljw0o1KDoFEwtoJgO00XsL7sE+Zwta5tWuszE1AN0PW9zwUK9vmQo/PE/
MIME-Version: 1.0
X-Received: by 10.107.15.39 with SMTP id x39mr25688431ioi.156.1440525353249; Tue, 25 Aug 2015 10:55:53 -0700 (PDT)
Received: by 10.79.31.197 with HTTP; Tue, 25 Aug 2015 10:55:53 -0700 (PDT)
X-Originating-IP: [72.246.0.14]
In-Reply-To: <871tere2b5.fsf@ta.scs.stanford.edu>
References: <CABcZeBNEFVkDi38y3G-C2nQF=dzW2mGDsj5DVK_OKVkPwK=G0g@mail.gmail.com> <878u92oadf.fsf@ta.scs.stanford.edu> <CACsn0ckQskjLqo0=YfJrmBEsyCaq0jpcSzGUwKhRo0BzzQ=wDA@mail.gmail.com> <871teuo7nu.fsf@ta.scs.stanford.edu> <CACsn0ckn-QdoXmTgjW8gYQyVqZ0x9JHEYvZO5VHQkG9nKA3-Ew@mail.gmail.com> <87wpwmnenv.fsf@ta.scs.stanford.edu> <CACsn0cnq9cZdkn=yp8-GJfXDGMP8r1sib3qrQQEQYhF25kYZPg@mail.gmail.com> <87twrpokpz.fsf@ta.scs.stanford.edu> <CACsn0ck2PfKQ8pkDLiSmuLH+81s2GzsBnKYH7e=5ga5nSJvo1Q@mail.gmail.com> <87io85ofkl.fsf@ta.scs.stanford.edu> <CACsn0cmna07KzCZme7pxRgCcAOJLXzup3KPJ+bRimL=n3mpPXg@mail.gmail.com> <87vbc5l8si.fsf@ta.scs.stanford.edu> <CACsn0c=cLj2F6JyFX848D1TuDt0A=kT7UMm8ZPRRu-X6ow4oTQ@mail.gmail.com> <55DB79BC.8040309@bbn.com> <55DB8338.4060403@cs.tcd.ie> <877foke4yx.fsf@ta.scs.stanford.edu> <55DB93CD.4000701@cs.tcd.ie> <87zj1gcng8.fsf@ta.scs.stanford.edu> <55DC4A97.3000602@cs.tcd.ie> <877foje94q.fsf@ta.scs.stanford.edu> <55DC81F3.9090904@cs.tcd.ie> <871tere2b5.fsf@ta.scs.stanford.edu>
Date: Tue, 25 Aug 2015 13:55:53 -0400
Message-ID: <CAJU8_nVS3oofgtmuKcHBdi8PG2FK4gVsz3j8F7NXt2L+oAzi+A@mail.gmail.com>
From: Kyle Rose <krose@krose.org>
To: David Mazieres expires 2015-11-23 PST <mazieres-kag7pprthcqzjsh5ew583fg4jn@temporary-address.scs.stanford.edu>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <http://mailarchive.ietf.org/arch/msg/tcpinc/ry6XdMX3LL_z_DAnk7A8u6ATLVY>
Cc: tcpinc <tcpinc@ietf.org>, Stephen Kent <kent@bbn.com>, Stephen Farrell <stephen.farrell@cs.tcd.ie>
Subject: Re: [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: Tue, 25 Aug 2015 17:56:03 -0000

>   A->B: SYN      "Hey, I support tcpcrypt and TLS"
>   B->A: SYN      "Hey, I support tcpcrypt"
>   A->B: ACK(+)   "Great, let's use tcpcrypt with cipher suite X or Y"
>   B->A: ACK(+)   "Great, let's use tcpcrypt with cipher suite Z"
>   A->B: ACK(*)   DH parameter, etc.

One way to resolve this for TLS is to just make TLS one of the cipher suites:

A->B: SYN "Hey, I support (TLS, tcpcryptX, tcpcryptY)"
B->A: SYN "Hey, I support (TLS)"
A->B: ACK "Great, let's use TLS"
B->A: ACK "Great, let's use TLS"

And then switch to straight-up TLS, whether in userspace or in the
kernel. In userspace this is a little tricky in that a software or
administrative change to the cipher suite preference list should be
made when TCP-ENO is activated by default in the kernel: as long as
one of the two endpoints is properly configured, tcpcrypt-unaware
endpoints will do the right thing, but if both endpoints are
improperly configured you'll get two key exchanges and connections
will be doubly-encrypted. (An HTTPS server implementor might just
choose to turn off TCP-ENO for port 443, which would have the desired
effect.)

For passive/active, the same basic logic applies:

A->B: SYN "Hey, I support (TLS, tcpcryptX, tcpcryptY)"
B->A: SYN-ACK "Great, let's use TLS"
B->A: ACK "Ok, let's use TLS"

Kyle