Re: [tcpinc] Quick review of draft-rescorla-tcpinc-tls-option-04

David Mazieres <dm-list-tcpcrypt@scs.stanford.edu> Fri, 23 October 2015 05:19 UTC

Return-Path: <dm-list-tcpcrypt@scs.stanford.edu>
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 8F3271B320A for <tcpinc@ietfa.amsl.com>; Thu, 22 Oct 2015 22:19:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.91
X-Spam-Level:
X-Spam-Status: No, score=-0.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HK_RANDOM_ENVFROM=0.001, HK_RANDOM_FROM=1, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] 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 23nma1ekRA0B for <tcpinc@ietfa.amsl.com>; Thu, 22 Oct 2015 22:19:46 -0700 (PDT)
Received: from market.scs.stanford.edu (www.scs.stanford.edu [IPv6:2001:470:806d:1::9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 53C461B3208 for <tcpinc@ietf.org>; Thu, 22 Oct 2015 22:19:46 -0700 (PDT)
Received: from market.scs.stanford.edu (localhost.scs.stanford.edu [127.0.0.1]) by market.scs.stanford.edu (8.14.7/8.14.7) with ESMTP id t9N5Jkhg019010; Thu, 22 Oct 2015 22:19:46 -0700 (PDT)
Received: (from dm@localhost) by market.scs.stanford.edu (8.14.7/8.14.7/Submit) id t9N5JjkM026998; Thu, 22 Oct 2015 22:19:45 -0700 (PDT)
X-Authentication-Warning: market.scs.stanford.edu: dm set sender to dm-list-tcpcrypt@scs.stanford.edu using -f
From: David Mazieres <dm-list-tcpcrypt@scs.stanford.edu>
To: Eric Rescorla <ekr@rtfm.com>
In-Reply-To: <CABcZeBPpmjKzB8GvHhU_xtASTAW7yd0-s45qHtyca7HVp3ZOTg@mail.gmail.com>
References: <07616023-76C2-4418-BCCC-47B40391DC5D@tik.ee.ethz.ch> <CABcZeBOT0k0eAQ--+=BG9dEg-irwaQiP+d8JiaAPwmK6Mogt7w@mail.gmail.com> <5627B7CF.6080505@tik.ee.ethz.ch> <CABcZeBPMRN4BA46dGQMyNcdZbMhQ7OoughcoT7zMDac79KdfDw@mail.gmail.com> <87d1w6b8oy.fsf@ta.scs.stanford.edu> <CABcZeBPpmjKzB8GvHhU_xtASTAW7yd0-s45qHtyca7HVp3ZOTg@mail.gmail.com>
Date: Thu, 22 Oct 2015 22:19:45 -0700
Message-ID: <87io5y9n66.fsf@ta.scs.stanford.edu>
MIME-Version: 1.0
Content-Type: text/plain
Archived-At: <http://mailarchive.ietf.org/arch/msg/tcpinc/IqPttFqd_spW98ySkX9ETV_TZ3k>
Cc: tcpinc <tcpinc@ietf.org>, Mirja Kühlewind <mirja.kuehlewind@tik.ee.ethz.ch>
Subject: Re: [tcpinc] Quick review of draft-rescorla-tcpinc-tls-option-04
X-BeenThere: tcpinc@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: David Mazieres expires 2016-01-20 PST <mazieres-zb2jm8knubime3uwgwcvh6y8n6@temporary-address.scs.stanford.edu>
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, 23 Oct 2015 05:19:47 -0000

Eric Rescorla <ekr@rtfm.com> writes:

>> The libc implementation won't work with unmodified applications, because
>> it will break when sharing/passing/inheriting file descriptors across
>> processes, a common pattern for Unix servers.
>>
>
> Hmm... I've seen designs where this should work, for instance where
> you dup the fds to point them to some intermediate location.

I'd like to see such a design.  I'm sure you can get something to work
with some application, but if the goal is all applications, then it's
going to be pretty tricky.

"dup the fds to point them to some intermediate location" sounds pretty
dubious to me.  For one thing the dup system call doesn't change what an
fd points to.  Now, if you mean point the file descriptors to some
intermediary daemon, then you are getting closer to a daemon
implementation, and by the time you fix it up, that's what you will
have.

But anyway not all applications are written in languages that use libc.
Not all applications are dynamically linked.  And not all C
implementations use libc--the standard recognizes both "hosted" and
"freestanding" implementations.  A big potential use case for TCPINC is
network file systems, which tend to be implemented with a freestanding C
compiler and supply their own libraries.  A daemon implementation would
encrypt NFS traffic, while a libc implementation likely would not.

This is not to say there isn't some valuable library-level use case for
TCP-ENO.  (In fact, that's partly why we left the door open to static
ENO options with multiple suboptions from host B, about which you are
skeptical.)  I just don't think such an implementation will satisfy
TCPINC.

David