Re: [tsvwg] Rregarding soft-state and UDP options

"C. M. Heard" <heard@pobox.com> Sun, 05 January 2020 23:51 UTC

Return-Path: <heard@pobox.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 D2A57120026 for <tsvwg@ietfa.amsl.com>; Sun, 5 Jan 2020 15:51:03 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.699
X-Spam-Level:
X-Spam-Status: No, score=-2.699 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=pobox.com; domainkeys=pass (1024-bit key) header.from=heard@pobox.com header.d=pobox.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 gVuLtLBfuwhs for <tsvwg@ietfa.amsl.com>; Sun, 5 Jan 2020 15:51:01 -0800 (PST)
Received: from pb-smtp1.pobox.com (pb-smtp1.pobox.com [64.147.108.70]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6D697120013 for <tsvwg@ietf.org>; Sun, 5 Jan 2020 15:51:01 -0800 (PST)
Received: from pb-smtp1.pobox.com (unknown [127.0.0.1]) by pb-smtp1.pobox.com (Postfix) with ESMTP id 9967D217AC for <tsvwg@ietf.org>; Sun, 5 Jan 2020 18:50:57 -0500 (EST) (envelope-from heard@pobox.com)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=mime-version :references:in-reply-to:from:date:message-id:subject:to:cc :content-type; s=sasl; bh=oDkxkcoXyMPBJ0mBZ1+VeGz3GwM=; b=TXpXvT t/0yYha5WV8tHi2BZXTPc1/Gn9pk7INg+BbWZljOA8C4NxrVekiUwx6E/ZMA05GO /x0xVC9L6m+z3C/FiHZoTAbK/rdZ3QDEZbPlqjOadLwJVV0zLcxdizawI6FXnXcv wgp1KnZsXZnxi3NdUfbpyzMOGXp82tjIdotrg=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=mime-version :references:in-reply-to:from:date:message-id:subject:to:cc :content-type; q=dns; s=sasl; b=o2ajHi/AtwZms844tBl5ICCiTwR3q3zb B9UH6QQUFRcngvs2H+sqQiC4V1NU0r/HCzOrjPr1uvo1f0TrDPX2F2opmAHCfoHM BhvUHs2GjiPYhpkxAnqBwUzeRuQxEFce6v+FetbMtRkaBjZPi/jXzOWetwysVEM+ dRnqnxIrDNI=
Received: from pb-smtp1.nyi.icgroup.com (unknown [127.0.0.1]) by pb-smtp1.pobox.com (Postfix) with ESMTP id 90935217AB for <tsvwg@ietf.org>; Sun, 5 Jan 2020 18:50:57 -0500 (EST) (envelope-from heard@pobox.com)
Received: from mail-io1-f42.google.com (unknown [209.85.166.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pb-smtp1.pobox.com (Postfix) with ESMTPSA id 173F6217AA for <tsvwg@ietf.org>; Sun, 5 Jan 2020 18:50:57 -0500 (EST) (envelope-from heard@pobox.com)
Received: by mail-io1-f42.google.com with SMTP id z8so46885078ioh.0 for <tsvwg@ietf.org>; Sun, 05 Jan 2020 15:50:57 -0800 (PST)
X-Gm-Message-State: APjAAAUcCqPavl0RtjNiPbe8Q6d+MmgLaTRdBHrDoy66+MFoyI5lwTCw pjzYd/+Ppjh+RSJy/R4yhh4gehKgETAAv09u004=
X-Google-Smtp-Source: APXvYqzChpnohXb+aVkhSvAArkaiOTa2HRJev6FDsx5E+nGFvFWdpRGcLYIFiJ2d2X+OcwIccYZuQgko28QO4e0Mvyg=
X-Received: by 2002:a05:6602:cd:: with SMTP id z13mr62692525ioe.291.1578268256494; Sun, 05 Jan 2020 15:50:56 -0800 (PST)
MIME-Version: 1.0
References: <CALx6S36227JnMkaZtPUvJoY5Pw-rQgy2R6tqt1PF_L=bgCjxCA@mail.gmail.com> <85C8C994-3FEA-4DF4-8C46-75CB205D09EA@strayalpha.com> <CALx6S34EfhcthoG4Qtr0JtfsdqQPr-2=havTvq_7nh9K8XDhJA@mail.gmail.com> <5E21B9BD-3148-43C9-BCB8-E6F5DFCE69C3@strayalpha.com> <CACL_3VHOuzc9nCtac6_-NpoJnLr=PSS3wE2SzGUsEVNA9qyN8A@mail.gmail.com> <F9D987E7-E7DD-4EE7-9473-ECD32F82D094@strayalpha.com>
In-Reply-To: <F9D987E7-E7DD-4EE7-9473-ECD32F82D094@strayalpha.com>
From: "C. M. Heard" <heard@pobox.com>
Date: Sun, 05 Jan 2020 15:50:43 -0800
X-Gmail-Original-Message-ID: <CACL_3VEBdVedr3_4ufbmAgoQz5=CuG1UPy+ogq+osHvGMTofsw@mail.gmail.com>
Message-ID: <CACL_3VEBdVedr3_4ufbmAgoQz5=CuG1UPy+ogq+osHvGMTofsw@mail.gmail.com>
To: Joe Touch <touch@strayalpha.com>
Cc: Tom Herbert <tom@herbertland.com>, TSVWG <tsvwg@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000c9ea83059b6d3622"
X-Pobox-Relay-ID: 37C20B78-3016-11EA-9228-C28CBED8090B-06080547!pb-smtp1.pobox.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/dt099-nxTPt1EfL5uK3giEzfqaU>
Subject: Re: [tsvwg] Rregarding soft-state and UDP options
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.29
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: Sun, 05 Jan 2020 23:51:04 -0000

On Sun, Jan 5, 2020 at 12:58 PM Joe Touch wrote:

> As I just posted, at best it would mean “if the following option is not
> recognized, drop all options”. It should never mean anything else.
>

If payload data accompanying options that are not safe to ignore is
firewalled behind FRAG+LITE, then dropping all options will accomplish the
goal of not delivering data that has not been processed as intended.

Any application that cannot tolerate zero-length messages should never use
> those options. Any app that handles zero-length options should then work on
> hosts that support or do not support options that way.
>

s/Any app that handles zero-length options/Any app that handles zero-length
messages/


> > I'm open to discussion as to whether a socket read should signal a
> zero-length datagram and whether delivery of other options in the packet
> should be suppressed


> Now you’re getting into issues we cannot; it’s all or nothing:
>
> - all options in the regular space MUST individually be ignored if not
> supported
> - options in the 253-codepoint space would then cause the options - as a
> whole - to be dropped
>         if you just wanted the option to be dropped, then the regular code
> point space would have been sufficient
>

I think I see a problem in the above statement of what happens to options
in the regular space when it is applied to AE.

AE is listed as optional-to-implement in the current draft. If what you are
saying is that an option-aware receiver that does not implement AE should
go ahead and deliver encrypted data to the application, then I would have
to disagree. It is true that such a packet should not be transmitted to a
receiver without assurance -- e.g., though manual configuration -- that the
receiver supports it, but as we all know, configuration errors do occur in
real life.

In the case where AE is used only for authentication, the above implies
that an option-aware receiver that does not support AE would ignore a
received AE option and deliver the payload data whether or not it was
firewalled by FRAG+LITE. That behavior is different from TCP-AO, at least
in the absence of TCP-FO: any data in a SYN segment sent to a receiver that
does not understand TCP-AO will not be delivered, since the 3-way handshake
will never complete (as you correctly noted, the initiator will drop the
SYN-ACK returned by the receiver because it is not signed). Is this
difference intentional? It seems wrong.


> Again, we cannot cause the PACKET to be dropped. If the packet contains
> regular data, it MUST be delivered to the application.
>

Modulo the issue with AE noted above, that works for me as long as the
payload data accompanying any option that is not safe to ignore gets
firewalled behind FRAG+LITE.


> It is up to the receiving application to decide what to do. A receiving
> app that wants to enforce authentication would drop the packet THEN. UDP
> cannot.
>

If that means that the application will be provided with a configuration
parameter (e.g., socket option) that specifies whether datagrams with the
AE option that do not match any MKT are accepted or discarded, I'm OK with
that, provided that it applies to all implementations of UDP options. In
this case a receiver that implements UDP options but does not support AE is
just considered to have an empty set of MKTs.

If I have correctly understood what I read, this is the behavior mandated
for TCP-AO: RFC5925 Section 7.3 mandates that there be a configuration
parameter that can be set to discard segments with the AO option not
matching an MKT.

Mike Heard

P.S. The current draft is unclear whether AE encrypts options or just the
payload, as specified in draft-touch-tcp-ao-encrypt. I presume the latter
since encrypted options cannot be parsed; but there would then need to be a
special provision for payloads that are firewalled behind FRAG+LITE.
Hopefully this will be clarified in the next version of the draft.