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

Eric Rescorla <ekr@rtfm.com> Fri, 28 August 2015 23:17 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 6FC1F1B2C4B for <tcpinc@ietfa.amsl.com>; Fri, 28 Aug 2015 16:17:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.977
X-Spam-Level:
X-Spam-Status: No, score=-1.977 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, 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 lpGa3-ackMo9 for <tcpinc@ietfa.amsl.com>; Fri, 28 Aug 2015 16:17:29 -0700 (PDT)
Received: from mail-wi0-f172.google.com (mail-wi0-f172.google.com [209.85.212.172]) (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 E718C1AD367 for <tcpinc@ietf.org>; Fri, 28 Aug 2015 16:17:28 -0700 (PDT)
Received: by wiyy7 with SMTP id y7so12585867wiy.1 for <tcpinc@ietf.org>; Fri, 28 Aug 2015 16:17:27 -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:in-reply-to:references:from:date :message-id:subject:to:cc:content-type; bh=je0MZ/DYsrlTRdC85eSCpiYJ700xaPqMSbkXqM3+w4k=; b=AcLyTIGTAGLdi6pv+ioaYr9AKbL8lSC442rx5kVoBkXg+hFUu77P1hOMLuGDKMrr4y Epx85ctTcTsxQzcYnCTKZpOS5dQAoCldhPs9Vhu1uwzgcXb4AjQqaTIuOu/FyNOVJYJp RGGOOduE9E5ddsqPApqml5ujhcXtNLVICu/fJ/DMeM1F7FfdJCLBcxh3XLjXr+b8E8/G s+lzXJ3T0BpgnbWoXnaYpsmb6plwge3ooaffxSMhnfCgNhkaoGlXGfIDJXWsu6gmQg2U WCU3Gi/3JLd3POtyzGyH7lw3mSRcHS0cwflAOf54xNu8vMvT6OxrcUcXRG16I7P/B5A9 dWPQ==
X-Gm-Message-State: ALoCoQmUQszlLn1cy6XCM/NsWibDItijKKmugXhs9+4Y8KZ9q6PpUveIemO2f6cl/wCPRGGrCsl/
X-Received: by 10.180.96.164 with SMTP id dt4mr7242262wib.53.1440803847515; Fri, 28 Aug 2015 16:17:27 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.27.179.221 with HTTP; Fri, 28 Aug 2015 16:16:47 -0700 (PDT)
In-Reply-To: <87egini5gt.fsf@ta.scs.stanford.edu>
References: <CABcZeBNEFVkDi38y3G-C2nQF=dzW2mGDsj5DVK_OKVkPwK=G0g@mail.gmail.com> <878u92oadf.fsf@ta.scs.stanford.edu> <CABcZeBMfk5C4-LF0fDLKpJktV3hJyzRUNfe0gO8RYDnzcs3yMA@mail.gmail.com> <87zj1inf7n.fsf@ta.scs.stanford.edu> <CABcZeBMZCjrwpTH+CkZS_p8TYGEFsXwxGn=KfPe28hY5f=2oXw@mail.gmail.com> <87oahuta7j.fsf@ta.scs.stanford.edu> <CABcZeBPiUxByxUVJ3cb5LaeH5T1LX3iZFetP4cXM3O9avzBkCA@mail.gmail.com> <87si75jo4s.fsf@ta.scs.stanford.edu> <CABcZeBOat0mKPDQcf=Z9FjtJ_VV7MjdhqYnpMedOcREPsg6TDg@mail.gmail.com> <87egini5gt.fsf@ta.scs.stanford.edu>
From: Eric Rescorla <ekr@rtfm.com>
Date: Fri, 28 Aug 2015 16:16:47 -0700
Message-ID: <CABcZeBM30ocahDx65=Q7PuBMPd=0YF6m4mgF-Uid1uL4P9Qs2A@mail.gmail.com>
To: David Mazieres expires 2015-11-26 PST <mazieres-dyxeg4qpw8c44aeprmspr6fmiw@temporary-address.scs.stanford.edu>
Content-Type: multipart/alternative; boundary="f46d04426e2085f30f051e674962"
Archived-At: <http://mailarchive.ietf.org/arch/msg/tcpinc/abIHwe2fzVO2sJJzqMIwa3KLj5A>
Cc: tcpinc <tcpinc@ietf.org>
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: Fri, 28 Aug 2015 23:17:31 -0000

On Fri, Aug 28, 2015 at 12:21 PM, David Mazieres expires 2015-11-26 PST <
mazieres-dyxeg4qpw8c44aeprmspr6fmiw@temporary-address.scs.stanford.edu>
wrote:

> Eric Rescorla <ekr@rtfm.com> writes:
>
> > On Wed, Aug 26, 2015 at 10:28 PM, David Mazieres <
> >> Can you demonstrate simultaneous open without stable NAT bindings?  I
> >> don't see how that could work.
> >
> >
> > The issue is how stable they are over time. My point is that you need
> > real-time
> > signaling because you can't publish something and have it be valid 10
> > minutes
> > later, not that it's not stable over 5-15 second intervals.
>
> Ah, I see.  So you are saying one key issue is effectively the existence
> of "brief cone" NATs?  That makes sense.
>
> >> I'm not sure I understand your comment.  The "b" bit assumes the
> >> applications have broken the tie via out-of-band signaling.  It is the
> >> mechanism that permits you to have encryption when applications break
> >> the tie.  So no "b" bit means no encryption on simultaneous open, ever.
> >
> > I don't think that's true. See Mirja's point below.
>
> Yes, I still don't understand her point, unless we are willing to accept
> total connection failure for misconfigured tie breaking.


I am indeed willing to live with that.



>> So to be clear, the goal is that if applications can break the tie, the
> >> "b" bit allows encryption with simultaneous open.  If you believe
> >> there's a case where simultaneous open will still fail to encrypt, even
> >> with the "b" bits correctly set, can you break it down on a
> >> packet-by-packet basis (for the first 4 packets of the connection)?
> >> Such a four-segment example with two SYNs and two ACKs would really
> >> advance the debate.
> >
> > In order to assess the issue, you actually need to see how it interacts
> > with the NAT traversal algorithm. Here's the example I sent before, with
> > the following NAT topology.
> >
> > A: 10.0.0.1 (host),  198.51.100.1 (srflx)
> > B: 192.0.2.1 (srflx and host).
> >
> > A        Signaling        B        STUN
> >
> > STUN Check ------------------------->
> > Host Cand ---->
> >               Host Cand -->
> >               <-- Candidate
> > <--- Candidate
> > SYN -------------------------------->   X
> > <---------------------- STUN Response
> >
> > What appears in the "b" bit in the packet marked with "X"?
>
> It looks like the packet marked X is an ordinary SYN segment sent as
> part of a three-way handshake to a STUN server (which presumably has a
> public IP address, though you don't list it).  In that case, the b bit
> is irrelevant.  I suspect I just don't understand how to read your
> diagram, but it doesn't appear to contain a TCP-SO flow.
>

This was supposed to go to B. Sorry about that.



> But again, to make sure we are talking about the same thing, I'm not
> necessarily saying ICE gives you enough information to set the b bit
> correctly.  I'm just saying that if you do set the b bit correctly
> (though whatever means, including a modified ICE or signaling
> mechanism), you will get TCPINC + TCP-SO.


Well, it seems like the question is whether or not the "b" bit can be
reliably set correctly, and in particular with the algorithm you propose
based on IP.




>> Ah... great.  Sounds like progress.  Also, do you mind sharing what
> >> those major TCP-SO applications are?  It would add some badly needed
> >> context to this discussion.
> >
> > The one I am mostly familiar with VoIP, whether of the SIP (3261, etc.)
> > variety or WebRTC. In either case, you use ICE (RFC 5245, 6544) and
> > try to set up a channel in parallel via both UDP and TCP (preferring
> UDP).
>
> Okay, so it mostly comes down to ICE?  It's confusing because RFC5245
> says, "Note that ICE is not intended for NAT traversal for SIP, which is
> assumed to be provided via another mechanism [RFC5626]."


What that means is that you don't use ICE to set up SIP connections, but SIP
uses ICE for NAT traversal for the RTP.

 -Ekr