[tcpm] A few comments on 793bis

Joseph Touch <touch@strayalpha.com> Thu, 22 October 2020 22:48 UTC

Return-Path: <touch@strayalpha.com>
X-Original-To: tcpm@ietfa.amsl.com
Delivered-To: tcpm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4E37D3A0B08 for <tcpm@ietfa.amsl.com>; Thu, 22 Oct 2020 15:48:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.319
X-Spam-Level:
X-Spam-Status: No, score=-1.319 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_NEUTRAL=0.779, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=strayalpha.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 UsWpFs8hELZA for <tcpm@ietfa.amsl.com>; Thu, 22 Oct 2020 15:48:37 -0700 (PDT)
Received: from server217-4.web-hosting.com (server217-4.web-hosting.com [198.54.116.98]) (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 E51A93A0FC4 for <tcpm@ietf.org>; Thu, 22 Oct 2020 15:48:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=strayalpha.com; s=default; h=To:Message-Id:Subject:Date:Mime-Version: Content-Transfer-Encoding:Content-Type:From:Sender:Reply-To:Cc:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=Wc+aTKiUj6+8gdftcJfk8MWkq7dJKZjvKEP7DrCkl9E=; b=gzZpadnA4oRhohLtcF8s9fAjGV SpLzpH3QWJXh2dM/dC3FeKG922HIjalcXeGv5X/7D+4nXmV0vy00VTPq9JOFc1UArABqCyO7CFPYe Lrg+qEvcb8ubrn6dxq1Sj1jo4j8BUrjwdfeBCyavv+8nWplr/syBkKxSTTIzOcuUi0KYD/YHJQMpw BCupxCTRM2NyJZFl0bX15GmYG3Lbbk39Ig/iR6n0KLevlkjaK30oo8JjuBcr3H6y49B2OR23bHhxm 5UopkBQoDoyu7nEoEjKjRyYhY9zkKSy862M2oJ+Vg8Vcy6TQ4Ovl/Rq3AJMK2OWMpfkNDtjr24qPn JHSGkW5A==;
Received: from cpe-172-250-225-198.socal.res.rr.com ([172.250.225.198]:64568 helo=[192.168.1.14]) by server217.web-hosting.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93) (envelope-from <touch@strayalpha.com>) id 1kVjNE-0027Ps-LM; Thu, 22 Oct 2020 18:48:01 -0400
From: Joseph Touch <touch@strayalpha.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.1\))
Date: Thu, 22 Oct 2020 15:47:56 -0700
Message-Id: <77B766C3-2895-40AD-82DF-EC318C65B909@strayalpha.com>
To: "Extensions tcpm@ietf.org" <tcpm@ietf.org>
X-Mailer: Apple Mail (2.3608.120.23.2.1)
X-OutGoing-Spam-Status: No, score=-1.0
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - server217.web-hosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - strayalpha.com
X-Get-Message-Sender-Via: server217.web-hosting.com: authenticated_id: touch@strayalpha.com
X-Authenticated-Sender: server217.web-hosting.com: touch@strayalpha.com
X-Source:
X-Source-Args:
X-Source-Dir:
X-From-Rewrite: unmodified, already matched
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/C2aRrYC770xpu9bJ-Hc8FDXG-M8>
Subject: [tcpm] A few comments on 793bis
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tcpm/>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Oct 2020 22:48:39 -0000

Hi, all,

Comments below, if still useful.

Joe

——

Regarding RFC5961, we were very careful in the applicability statement therein to limit the SHOULD recommendations with specific conditions and MAY implement elsewhere. This update to 793 misrepresents those current recommendations as SHOULD for everyone, e.g., here:

               A potential blind reset attack is described in RFC 5961
               [32], with the mitigation that a TCP implementation
               SHOULD first check that the sequence number exactly
               matches RCV.NXT prior to executing the action in the next
               paragraph.

That text should instead say “MAY first check”, adding, if desired, "(SHOULD, under the conditions noted in RFC 5961)”. That corrected text belongs also in section 3.4 where reset processing is discussed.

—

All places that mention issuing a RST (including sec 3.4 and the state machine) should note that the side issuing the RST ought to enter TIME_WAIT - and explain why, as noted in:
	Faber, T; Touch, J; Yue, W: The TIME-WAIT state in TCP and Its Effect on Busy Servers. In: Infocom, pp. 1573-1583, IEEE, 1999. 

—
 
The following text should include a MUST, as shown below:

    (all TCP options except End of option list and No-Operation
     MUST have length fields)

—

The following text should be preceded by an inline ‘heading’ as shown:

        Experimental TCP options

        Experimental TCP option values are defined in [22], and [39]
        describes the current recommended usage for these experimental
        values.

—

The following text should be moved earlier in the section, because its current location suggests it is related to the experimental options discussion (and it is not):

        Note: There is ongoing work to extend the space available for
        TCP options, such as [53].

It might be appropriate to move this before the discussion of specific options, for example.

—

The definition of TIME-WAIT should describe its purpose as also including avoiding delayed segments from previous connections affecting new connections.

—

I would strongly encourage reformatting to allow the TCP state machine to avoid page break boundaries.

It may also be useful to add a note that RST can be issued from any state with a corresponding (implied) transition to TIME-WAIT; similarly, receipt of RST from any state goes to LISTEN. These transitions are not shown only because they would complicate the diagram.

—

The following statement is false:

  The protocol places no restriction on a particular connection being
   used over and over again.

Avoiding that happening too quickly in succession is one of the purposes of TIME-WAIT. New ISNs are only PART of that protection (which means the rest of this section needs revision to clarify this issue).

—

The security of TCP is discussed incorrectly, IMO. The ISN discussion and RST discussion, in particular, although trying to help protect against off-path attacks, are only very tenuously considered “security”. There should be some other way of discussing this and making sure that if TCP users need secure connections they need to use TCP-AO or IPsec.

—

The ISN clock statement with MUST seems to overreach. The previous text talks about the use of clocks being recommended, but a MUST is much stronger. The assertion needs more wiggle words or a more generous definition of clock to avoid being used out of context to prevent simple implementations on lightweight devices.

—
end.