[secdir] secdir review of draft-ietf-tcpm-newcwv-10

Benjamin Kaduk <kaduk@MIT.EDU> Wed, 20 May 2015 19:15 UTC

Return-Path: <kaduk@mit.edu>
X-Original-To: secdir@ietfa.amsl.com
Delivered-To: secdir@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8B4461A8AC9; Wed, 20 May 2015 12:15:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.211
X-Spam-Level:
X-Spam-Status: No, score=-4.211 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] 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 Qa7v6gSqj-D2; Wed, 20 May 2015 12:15:49 -0700 (PDT)
Received: from dmz-mailsec-scanner-3.mit.edu (dmz-mailsec-scanner-3.mit.edu [18.9.25.14]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3179F1A8A65; Wed, 20 May 2015 12:15:49 -0700 (PDT)
X-AuditID: 1209190e-f79a76d000000d1b-10-555cdd63c1db
Received: from mailhub-auth-1.mit.edu ( [18.9.21.35]) (using TLS with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by dmz-mailsec-scanner-3.mit.edu (Symantec Messaging Gateway) with SMTP id 24.FD.03355.46DDC555; Wed, 20 May 2015 15:15:48 -0400 (EDT)
Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11]) by mailhub-auth-1.mit.edu (8.13.8/8.9.2) with ESMTP id t4KJFlJg021633; Wed, 20 May 2015 15:15:47 -0400
Received: from multics.mit.edu (system-low-sipb.mit.edu [18.187.2.37]) (authenticated bits=56) (User authenticated as kaduk@ATHENA.MIT.EDU) by outgoing.mit.edu (8.13.8/8.12.4) with ESMTP id t4KJFjGM011365 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Wed, 20 May 2015 15:15:46 -0400
Received: (from kaduk@localhost) by multics.mit.edu (8.12.9.20060308) id t4KJFiQI028579; Wed, 20 May 2015 15:15:44 -0400 (EDT)
Date: Wed, 20 May 2015 15:15:44 -0400
From: Benjamin Kaduk <kaduk@MIT.EDU>
To: draft-ietf-tcpm-newcwv.all@tools.ietf.org, secdir@ietf.org, iesg@ietf.org
Message-ID: <alpine.GSO.1.10.1505201514550.22210@multics.mit.edu>
User-Agent: Alpine 1.10 (GSO 962 2008-03-14)
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset="US-ASCII"
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrHIsWRmVeSWpSXmKPExsUixCmqrJtyNybU4NNcLov3yy8yWsz4M5HZ 4sPChywOzB5Llvxk8vhy+TNbAFMUl01Kak5mWWqRvl0CV8akb91MBU06FS9ebmduYHyo3MXI ySEhYCLRNf8oM4QtJnHh3nq2LkYuDiGBxUwS6141MEM4GxkllsxYzQLhHGKS6OnvZodwGhgl ZrZeBSrj4GAR0JZ4ezkKZBSbgIrEzDcb2UBsEQFfiRt3ulhBbGEBY4lfky6wgNi8Ao4STz9d YgKxRQV0JFbvnwIVF5Q4OfMJmM0soCWxfPo2lgmMfLOQpGYhSS1gZFrFKJuSW6Wbm5iZU5ya rFucnJiXl1qka6yXm1mil5pSuokRHGySfDsYvx5UOsQowMGoxMNbcCA6VIg1say4MvcQoyQH k5Io78HbMaFCfEn5KZUZicUZ8UWlOanFhxglOJiVRHjPrQfK8aYkVlalFuXDpKQ5WJTEeTf9 4AsREkhPLEnNTk0tSC2CycpwcChJ8L4BGSpYlJqeWpGWmVOCkGbi4AQZzgM0/D9IDW9xQWJu cWY6RP4Uo6KUOO8/kIQASCKjNA+uF5YMXjGKA70izCtzB6iKB5hI4LpfAQ1mAhpssi0SZHBJ IkJKqoFxemDX9rzEh86z3x+fNF1B6NitNuYQd1H3D0WL+R/e2rt/u5TC+udRK769jupcOeP9 xyquGY7833eKzHu09dNxBcZJsprc+T0dVwtq4/99enc/0+mV7rVzoqLK64UObexm/sWhum+3 gHC+zYLLZr+t6157c72zSNKK2OJwc/IEZiOG2zvdlKdnK7EUZyQaajEXFScCALLIvJDhAgAA
Archived-At: <http://mailarchive.ietf.org/arch/msg/secdir/-2OdALV0N1g3chGa-ZIy1hNho6o>
Subject: [secdir] secdir review of draft-ietf-tcpm-newcwv-10
X-BeenThere: secdir@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Security Area Directorate <secdir.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/secdir>, <mailto:secdir-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/secdir/>
List-Post: <mailto:secdir@ietf.org>
List-Help: <mailto:secdir-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/secdir>, <mailto:secdir-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 20 May 2015 19:15:51 -0000

[resending with the correct spelling of the draft alias.  Sorry for the
extra copy, everyone else.]

Hi all,

I have reviewed this document as part of the security directorate's
ongoing effort to review all IETF documents being processed by the
IESG.  These comments were written with the intent of improving
security requirements and considerations in IETF drafts.  Comments
not addressed in last call may be included in AD reviews during the
IESG review.  Document editors and WG chairs should treat these
comments just like any other last call comments.

I believe this document is ready with nits.

The security considerations defer to those of RFC 5681 with the claim that
this document just describes an algorithm for one aspect of the congestion
control procedures and thus that the generic security considerations
apply; this claim seems true.  The security considerations section of RFC
5681 feels a little bit short, but it does seem to cover the relevant
risks, namely that an attacker could make the sender send more slowly or
more quickly, with the latter possibly driving the network into congestion
collapse.  These are issues that protocol designers and implementors must
be aware of (and avoiding congestion collapse is more important).

The authors seem to have taken sufficient care to avoid this algorithm
contributing to congestion collapse, and the concern about an attacker
being able to slow down a sender is not really feasible to mitigate at
this level, so the security considerations of RFC 5681, short as they are,
seem adequate here.  One would hope that implementors know that failing to
follow the specification could lead to congestion collapse, so an explicit
warning is not needed.

The nits are basically all grammatical; I'll include them below and expect
people other than the document authors/shepherd to stop reading here.

-Ben


My apologies in advance if I am applying too much of an American English
perspective to this document written in British English.


In the abstract, "TCP is used to support traffic that [...]", is "support"
the best verb to use (as opposed to "transmit", "carry", "transport",
etc.)?

The first paragraph of the Introduction might have a little more text to
clarify how the cwnd differs from the FlightSize, for non-experts such as
myself.  (The cwnd is how much the sender is permitted to have
outstanding/unack'd and the FlightSize is how much the sender actually has
outstanding/unack'd?)  Just another sentence after the second one, "The
FlightSize is how many unacknowledged packets/bytes that are currently
outstanding, and the cwnd is the maximum value the sender will allow
FlightSize to take on" would be plenty.

Introduction, third paragraph, """[CWV] introduced the terminology of
"application limited periods".  This document describes [...]"""  Usually,
in an RFC, "this document" refers to the RFC itself, but in this case,
"this document" seems to be being used to refer to the other document, RFC
2861.  So, the references and text could be made more clear.

A couple sentences later, "or by changing the rate the application sends",
maybe put an "at which" in there somewhere?  Absent context, I would
expect "the rate the application sends" to mean that an application
protocol was conveying a number which is interpreted as a rate in some
fashion.

Still in the Introduction, in the summary of the document, paragraph for
section 4, maybe s/does this in a way/does so in a way/ ?  Also, in the
parenthetical at the end of that sentence, I think it reads better as
"including both application-limited and idle senders".

Still in the introduction, in the "goals of this update" list, first item,
do bulk transfers consume the cwnd or fill it?

I'm not sure that the fifth item is fully grammatical.  Maybe add in an
"to send extra traffic" somewhere?

In the sixth item, there's a singular/plural mismatch between flows and
network (unless it's supposed to be "the network").

Section 2, first paragraph, "the behaviour where a sender transmitted at a
rate less than allowed by cwnd", is "where" or "when" better?

Section 2, second paragraph, third sentence: I think it should start
"While this" instead of just "This".  The first comma in this sentence
could also be removed, if desired.

In section 3 (Terminology), it might be nice to clarify that the listed
terms are new to this document, or in addition to the RFC 5681 terms, or
something like that.  (I.e., "Additionally, the following terminology
...".)

Section 4.2, last paragraph, a space is missing after the [RFC6675]
citation.

In section 4.4: if I understand correctly, the sliding window for pipeAck
calculation is smaller than the NVP, so it is not the absolute amount of
data which the sender transmits which can push pipeAck over (1/2)*cwnd,
but rather the rate at which the data is transmitted.

Also in section 4.4, there is some superficial inconsistency between "a
sender that enters the non-validated phase SHOULD preserve the cwnd" and
the text telling the sender how to reduce cwnd if it encounters congestion
and the (outer) bullet point wherein "a sender determines whether to
increase the cwnd based on ...".  The last paragraph of the section helps
clarify the situation, but it might help readability to clarify the
exceptions to the SHOULD (and the rationale for them) right after the
claim is made.

In section 4.4.1, there is a missing space after "recovery" and before the
internal reference to Section 4.2.

Section 4.5.1, comma after "e.g.".