Re: [tsvwg] Regarding DTLS and UDP options

Tom Herbert <tom@herbertland.com> Mon, 17 April 2017 22:31 UTC

Return-Path: <tom@herbertland.com>
X-Original-To: tsvwg@ietfa.amsl.com
Delivered-To: tsvwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5EE4C1242F7 for <tsvwg@ietfa.amsl.com>; Mon, 17 Apr 2017 15:31:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=herbertland-com.20150623.gappssmtp.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 2bseEH0MhJIw for <tsvwg@ietfa.amsl.com>; Mon, 17 Apr 2017 15:31:39 -0700 (PDT)
Received: from mail-qt0-x236.google.com (mail-qt0-x236.google.com [IPv6:2607:f8b0:400d:c0d::236]) (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 B275B1315AB for <tsvwg@ietf.org>; Mon, 17 Apr 2017 15:31:39 -0700 (PDT)
Received: by mail-qt0-x236.google.com with SMTP id m36so112160357qtb.0 for <tsvwg@ietf.org>; Mon, 17 Apr 2017 15:31:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=herbertland-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=MyD2ng+lL/zLXDZzL6UV1nxcxilyQTi/57cPGhXlFjA=; b=ERUTrmERrWd1gTQrMh0uNylvwpsIgxuWkqf52dFWkIdczQdbRMiuSe+QMSMZ9DVK6D 5ENer2iRfB9KahyRCAiM2xzAQvj9QbI2ltViYhRUeEhVVb/dtVUfo9L5cPy8RoEip1Im 1jI08rukclXo6OWKbVIiDvuNwlSeRqpiTji3jSwxS23ld3Ri+ppsjo1Ysw/qVt4KfuY+ v1qVZidDJY7Y43jxkZYPd3uKPsmlWGaUFm0jUPPr6pWjZKMF8XvqoKAxX1Hgm/6Vu52r mo9x8O0vJxETbGnkZsSAAGC155O/gOyx+rymbPxEa69pRyqRJQUb6kPIQ7y0Xlibjikq cqeg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=MyD2ng+lL/zLXDZzL6UV1nxcxilyQTi/57cPGhXlFjA=; b=DaVN0Y32RhfPzDlWvTXSwy36u9MxgCiGEvQTfBEbJPUwYP7xxt6PyYZunQA2NIhIiq jkXYLRztUgc1Gf59BCLfYbRDPow80jlymv6QngZBVkBiIsM0xv87Q7qlIL0URK1f4msw 6Ibcp51G1H1gBzb8ap5ruBPCEZHBcY3qbOu+Cg1eyXbadJ4H7IRJWBDYeUj+1kK8QcD2 /DTMTfB8e0DoiyyKxCygAcRiq4Bz5kntr+HqveN/3yG4NZZDpQwCRn6McLOslGMvOsmP rNBk5tio+h9byIFpjd6urCoRMIOzTJ5QTvN3Utly7iZyVcOgYjia15tv5QAOXVbtB2LW q+1A==
X-Gm-Message-State: AN3rC/4+CdAeQvIehYJwNt9zaJein25seMrEhvhvObds399iuV1xv/2B 4lWiIJ2mAOivehFg5JJq8WCu2gDOGQ==
X-Received: by 10.200.45.122 with SMTP id o55mr11188479qta.203.1492468298748; Mon, 17 Apr 2017 15:31:38 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.140.97.10 with HTTP; Mon, 17 Apr 2017 15:31:38 -0700 (PDT)
In-Reply-To: <bfc36611-6817-fbf9-a9c7-5bdde179b665@isi.edu>
References: <CACL_3VFeJs7KzG9Bchh15bfZ3CmaOPWcfisEreNoGYK5CsEJ+g@mail.gmail.com> <3a4a6b78-8146-de4c-6246-7bd09de44f1c@isi.edu> <CACL_3VFkr3mGe-yTbvHrTZcKVCpEv3FeSOyoShUxCK5+9Tdqqg@mail.gmail.com> <c79fe3d0-8567-ea7d-72fc-bd33732df60e@isi.edu> <CACL_3VHmoCSo23OWqQFq7upw749CqMK7iazXrBKZARzwbzY5mw@mail.gmail.com> <f97f08d4-0070-437a-e22a-8782497c76eb@isi.edu> <4e36af95-84c3-bc7e-b18a-614f8bfab662@isi.edu> <58F48403.8080302@erg.abdn.ac.uk> <a0f656e8-e847-db54-6046-2078364d428b@isi.edu> <CALx6S36HYHdbGoJHNb+mVY6reu9RLikLxDJqrPgwO9tF1EfSgQ@mail.gmail.com> <8b1829ba-4e8d-5ee1-e24c-f42962f47dde@isi.edu> <CALx6S36=7KbTtv9QNUBTg6gPYQQighsPD_+mWNc=wUQTX70VBQ@mail.gmail.com> <8378ae17-c023-25a2-76e7-07b858916849@isi.edu> <CALx6S35chiqMtqKa+zahfZnLZrQzfYUF7D9m0QGbkwFVpRwHag@mail.gmail.com> <bfc36611-6817-fbf9-a9c7-5bdde179b665@isi.edu>
From: Tom Herbert <tom@herbertland.com>
Date: Mon, 17 Apr 2017 15:31:38 -0700
Message-ID: <CALx6S34qAh0mXGi8nuRtTiorf_1TE4V0NQ1QhqCcW0hmxOgc-Q@mail.gmail.com>
To: Joe Touch <touch@isi.edu>
Cc: "gorry@erg.abdn.ac.uk" <gorry@erg.abdn.ac.uk>, tsvwg <tsvwg@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/Ed4HCtfYi9wKEKX6cwghyJ3OikA>
Subject: Re: [tsvwg] Regarding DTLS and UDP options
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsvwg/>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 17 Apr 2017 22:31:41 -0000

On Mon, Apr 17, 2017 at 3:09 PM, Joe Touch <touch@isi.edu> wrote:
> Hi, Tom,
>
>
> On 4/17/2017 3:00 PM, Tom Herbert wrote:
>> On Mon, Apr 17, 2017 at 2:07 PM, Joe Touch <touch@isi.edu> wrote:
>>> ...
>>> I don't think we should be writing rules to indicate who should NOT be
>>> changing them, if we already have rules indicating the only parties that
>>> can. (granted, the requirement in 7 needs to be revised in 2119-speak).
>>>
>> Joe,
>>
>> You may want to look at IPv6 EH description for guidance. Even with
>> all the words about how extension headers can't be examined or
>> processed with the exception of HBH options, there still has been
>> considerable discussion on what intermediate devices can or can't do.
> The situation is completely different.
>
> IP is intended for inspection - and HBH headers for modification - by
> network devices other than the endpoints.
>
> Transport headers have no such role. Any device that tampers with
> transport headers already needs to be (effectively) an endpoint or
> acting on the behalf of an endpoint.
>
>> Clarifying the exact requirements upfront is beneficial.
> Yes, which has already been done. These are declared as owned by and for
> the use of the endpoints, just like the transport header.
>
> We don't have documents that declare that TCP headers or options MUST
> NOT be modified by middleboxes, even though that's always been
> effectively the case. The only way a middlebox gets around that rule is
> by assuming the behavior of an endpoint, essentially.
>
>> In the
>> absence of such clarity, we need to assume that anything in clear text
>> is subject to inspection and possible modification
>
> We already have docs describing (true) transport and network layer
> security. If you don't want data inspected or modified, that's the only
> solution.
>
> I see no reason to declare anything special about middleboxes here.
> Frankly, they can modify these options just like they modify the UDP
> header - at their own risk.
>
>> so that the end
>> result is often ossification of what might have otherwise been a
>> useful feature (although even with clear requirements abuse and
>> ossification is still a possibility). Neither can we expect
>> middleboxes to always know what they're doing. Fundamentally, if I, as
>> an application developer, can't trust the network not do mess with my
>> UDP options, it's likely I simply wouldn't use them (hence
>> ossification even before deployment).
> Do you use TCP options?
>
> How and why should these be different?
>
TCP options are pretty much required for operation of the TCP
protocol, this is why they will never be ossified and why it's one of
the few methods of protocol extensibility that is viable on the
Internet. IP options on the other hand were never required for IP to
operate hence they were quickly ossified. In this context, UDP options
are more like IP options since they are not required for use with UDP.
So there is a possibility that some vendors (e.g. a firewall) may just
decide that to start dropping packets or throwing packets that might
have them into a slow path similar to IP options. If something like
this is not consistently supported in the Internet, then applications
are unlikely to use it. I wish this wasn't reality and that the end to
end model was actually adhered to, but when writing Internet
applications we have to stick with what is known to work... ie. plain
TCP/IP or UDP/IP (where support for the latter is still a little shaky
since some network operators refer to think of UDP as nothing more
than a DOS vector).

Tom

> Joe