Re: [ippm] Secdir early review of draft-ietf-ippm-capacity-protocol-01

"MORTON JR., AL" <acmorton@att.com> Thu, 30 June 2022 16:53 UTC

Return-Path: <acmorton@att.com>
X-Original-To: ippm@ietfa.amsl.com
Delivered-To: ippm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1F1B8C14F742; Thu, 30 Jun 2022 09:53:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.908
X-Spam-Level:
X-Spam-Status: No, score=-1.908 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=att.onmicrosoft.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dhaXkAICYjNC; Thu, 30 Jun 2022 09:53:32 -0700 (PDT)
Received: from mx0b-00191d01.pphosted.com (mx0b-00191d01.pphosted.com [67.231.157.136]) (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 A26F0C157B45; Thu, 30 Jun 2022 09:53:09 -0700 (PDT)
Received: from pps.filterd (m0288867.ppops.net [127.0.0.1]) by m0288867.ppops.net-00191d01. (8.17.1.5/8.17.1.5) with ESMTP id 25UGqwdI013070; Thu, 30 Jun 2022 12:53:08 -0400
Received: from alpi155.enaf.aldc.att.com (sbcsmtp7.sbc.com [144.160.229.24]) by m0288867.ppops.net-00191d01. (PPS) with ESMTPS id 3h0xng0s1n-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 30 Jun 2022 12:53:07 -0400
Received: from enaf.aldc.att.com (localhost [127.0.0.1]) by alpi155.enaf.aldc.att.com (8.14.5/8.14.5) with ESMTP id 25UGr5dK027316; Thu, 30 Jun 2022 12:53:06 -0400
Received: from zlp27127.vci.att.com (zlp27127.vci.att.com [135.66.87.31]) by alpi155.enaf.aldc.att.com (8.14.5/8.14.5) with ESMTP id 25UGr2PI027256 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Thu, 30 Jun 2022 12:53:03 -0400
Received: from zlp27127.vci.att.com (zlp27127.vci.att.com [127.0.0.1]) by zlp27127.vci.att.com (Service) with ESMTP id C73D14009E7F; Thu, 30 Jun 2022 16:53:02 +0000 (GMT)
Received: from MISOUT7MSGEX2CE.ITServices.sbc.com (unknown [135.66.184.201]) by zlp27127.vci.att.com (Service) with ESMTP id 9840C40002BB; Thu, 30 Jun 2022 16:53:02 +0000 (GMT)
Received: from MISOUT7MSGEX2CE.ITServices.sbc.com (135.66.184.201) by MISOUT7MSGEX2CE.ITServices.sbc.com (135.66.184.201) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.9; Thu, 30 Jun 2022 12:53:02 -0400
Received: from MISOUT7MSGETA02.tmg.ad.att.com (144.160.12.220) by MISOUT7MSGEX2CE.ITServices.sbc.com (135.66.184.201) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.9 via Frontend Transport; Thu, 30 Jun 2022 12:53:02 -0400
Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.177) by edgeso.exch.att.com (144.160.12.220) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.9; Thu, 30 Jun 2022 12:52:59 -0400
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=X+wtvjTOJvqmoPKlV2RZKWeSV966VjVp1sUeeZ/juxNz1YSWD5cG+1hkkYPNnPZOpBo7rA7h/Wl41bBh2FBJc+MAha9oSxWQoIZbfu8d2Hqcjq8xQpHwFS6XD12IZpx5FhonsB7rHBIHISR0agezij/UegdMLlpbEJeCWX1Buy8sUnafEUN6XjJyGvSFfZB2/vwWBtc3sRiO9UR7LVgVgCm/AFU4NgkAXFs4h3Tx7ZfwldlBstQefXDi+38uF0P6GYeJUexlmK5IaOUnjrJl201WTy8ia+kujR0l+glaQQqtZ82ovVp5V6edemIRRvok18hpGH1jU+ARRditM1UDHg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=GWaMHILJu27CqXE6X12J/US8WIkNJMDROtSZcfy6+mg=; b=VgY/MMUTCXY+LYgjg332b+T7dDiqDW1C4ILubvRawL2a0d2/vKjfYt/OhyZe396ArFmLSH0wXF83+a63kxr8P+yL0sWaICbRb0yI1U2HOlma6jxDWuM4zLZTDwm4KJLQOSdF7go5if++W2TBi1vFu8mwJ4hwp+SqV6iKycIxy838bN259zFT20lp++5NVBPS1NiJBgvrC/cP5BNdxMmDZ8wr8A4jO8GBQ0ZfUE5HJfHPcByrJ2Yf3BJGN35Za0Ko+aFZ3lqW2PTmlSdM9yz+MTJFAGHHiN3X8hizwcDQrmaOqMB/BRI7LMa3v1ofkxT8n4CRjUPTCWBREMAIqYtuKQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=att.com; dmarc=pass action=none header.from=att.com; dkim=pass header.d=att.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=att.onmicrosoft.com; s=selector2-att-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GWaMHILJu27CqXE6X12J/US8WIkNJMDROtSZcfy6+mg=; b=qhqPwwwOvQiFLNohCfNs8McgGUtDUSkf9czcXxDnXJbs0yIhetUyVIfg1MEv8F3NRa6mQie+T/x45UN8y9eOOFoQopk9cz2ld3TpLi81IXCBhH8ZRhAU3B02AMYMmvFUD5sPpSE+7A92FHbAPiCOaUwwbqaVXgYoEQsnO9095mQ=
Received: from CH0PR02MB7980.namprd02.prod.outlook.com (2603:10b6:610:105::17) by BYAPR02MB5896.namprd02.prod.outlook.com (2603:10b6:a03:122::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5395.14; Thu, 30 Jun 2022 16:52:52 +0000
Received: from CH0PR02MB7980.namprd02.prod.outlook.com ([fe80::8db7:6932:fc99:7364]) by CH0PR02MB7980.namprd02.prod.outlook.com ([fe80::8db7:6932:fc99:7364%6]) with mapi id 15.20.5395.015; Thu, 30 Jun 2022 16:52:52 +0000
From: "MORTON JR., AL" <acmorton@att.com>
To: Brian Weis <bew.stds@gmail.com>, "secdir@ietf.org" <secdir@ietf.org>
CC: "draft-ietf-ippm-capacity-protocol.all@ietf.org" <draft-ietf-ippm-capacity-protocol.all@ietf.org>, "ippm@ietf.org" <ippm@ietf.org>
Thread-Topic: Secdir early review of draft-ietf-ippm-capacity-protocol-01
Thread-Index: AQHYhpqFZh1qC5L5u0K9qjD2Gb36ea1oLeog
Date: Thu, 30 Jun 2022 16:52:51 +0000
Message-ID: <CH0PR02MB798049C97D706712CA1D9CB2D3BA9@CH0PR02MB7980.namprd02.prod.outlook.com>
References: <165594509789.35936.13892356107964016466@ietfa.amsl.com>
In-Reply-To: <165594509789.35936.13892356107964016466@ietfa.amsl.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 714489af-4f1d-4c3f-a062-08da5ab8f8bd
x-ms-traffictypediagnostic: BYAPR02MB5896:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: qYpnHY4FYKkiUYsNLfmb118YLt279KDgBlnk95o6rMmmV9Fszn1urr8ZnL98jpq4bmERaU021LHQR+b0whTAaQ5mgQ1ZUgy/veLTXLOJLztTbb1dBgHe0RWVxCBaECQrs3zP+qpdn7NJ4PNavGZVh2rZxL6hbWWc9NZvMOYi7CQq4pWu+bHZNcsrRyN8oOyP4bL5/c9J6S1xuCEHEg0wV+6D94oTqRJBqNejgAisPRBjEy1kW7XZnDjqU6HwOTcSKYhnBQACMf3KEdkTGQHjxQd5SyK4MrQ32+MFkg4c6phb3VOZNZw7pvIDDWYutGSn6/bgKouOA7WJHEAKB6f+VXwC3K77PtOhsHYmVL1XxRoaEWhExiAhMoFr236k6baTcsbqBTTm//RncOskRcqaJ/oxhZQ0Qe44UYTKA3ilPl5GFJyJoUBHSxLOKdJrkWY1BnAgV0T3uvO69+4fdFEhm1bOvsb3WHgb3z3mGIbskdngvZ4cw1G2bAqElWuC42iRT3Ayhske4iYNxlNJ4zZbc53Xx8xqKn73w7yr6eq86DR0SJl3ujLojM5ahjEcdxgRDjv2F8/66xxT8P2duz97ExGWDp/HBm7qrwvLBxQOoqSPG/mpi42npQXwU3RVtYCC4JtCOUg+b4PjO3zAmBiWDvNLxZgzovxSdgOy/qOMULAYLIhbOPIhCarRCqV18HzbF4OL4x9lxuaYNsDJPvnnzc+QBiFp3GuK68KW0NO1+gR5Q7bykLssd9I2eYCoAPC9wF4GhdyKBZTFpV5dEBF2BBWl6Ta6WqyOfCXQaupfbzm9sb1usl+rGBg2+2EKeUGH
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH0PR02MB7980.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(4636009)(346002)(396003)(136003)(39860400002)(366004)(376002)(66446008)(66946007)(64756008)(66476007)(66556008)(38100700002)(86362001)(76116006)(9686003)(82960400001)(4326008)(8676002)(26005)(53546011)(71200400001)(82202003)(186003)(38070700005)(6506007)(7696005)(5660300002)(55016003)(52536014)(41300700001)(478600001)(83380400001)(316002)(33656002)(110136005)(2906002)(8936002)(30864003)(54906003)(122000001); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: E04J67wft7JEookExvxWtu/iO0lg7AWlLyu0hR0epgNFDCRkIVg88Vc+6+swYhrr5Tgn6AKgKdbwklb2N2ecuoEcq/aQSGfuPJ64ATBVWFRCBg/P6IQVliHR+SrufIkQsf7EV76aNZea5G2rLHnmvsnOjh8jnhOtFViAqgSNJ4XfFHIYGWkcGcoN2dKhSUSGmPg13eHVUDdR8U+N28bBi7VRV48uj49+XnCp5PJFg7N8m7YdUb2VEvRVBC3kz5FTNWd1PuFWcyXCtyzyYCUxczptL7tKF3BrG97Z4cOfh//3AFCetX1gf/gdIuAv2G6XxvpGI5HD/sc1NiLh5z8uUzxUxwHYxxRzhkqxGFMiHoyfRrWBA3Dx3Ycf/bqo8E5QNToXh91MubXdRKHK2FtLD5zZHi4gqcMZJvCFf5J8lnvEVxHeYHLYa2kfqxEkclvyf3e4iTRwy9p5RsyV4JINkzXOokP/K6oO8xSoQFoHHecNJu36w1s2/hDapIZ9Fo34BsEvyB62pYuHl+apbKScwRiQ50OYxKMoldeOyAwWxDEU7biNvokovyVVQV0EEL9/mtDoR7K3BMVcD4+UpVn2jAIKDm931NVR6+Qe+9OhiOtg75/X9u+y8KDdDPmOXmWIlaO/fYU82LqjWz7cWr05wqKYeelAG0HwaByCtD3l6dcIpWlos13ECT5/JY1qBEA85zdJ3PWy1bZzDlvWV+M8vgMgtyMAJOEN1guUQYU4BDSM4e04eFOiW8YlJ5Ik28Q3FxCTqHjnjCSaN08Ik9XYH4cHYmzactcPl2bFkExWxcLjo0jmAYm5EpRM/j0rQ+eafniQ3vZJgy13eNYXAIiQk2sMU7STl/5TBuryHr6LTJZXEldYPzL6+9ABxIZ6/rFvVobEOBIDbZBqfGwJUSNhBDOjNFA04k3+t9Gfe3/pBEelrj/BqRjRSkAnZd8bqSBLR4aLU+LXqBTldEe6KxqPIYOt4hEPKTSZWTPm0onQnEcejQh8//0BMOCQK6tQUy32NhtBCA7wp9lqsV7HKDzxIyBNOnLZ2LHnLXH1utJ62RlbFEXenIYueFo0BT2kiuilcI0lC0FU0gFXS+WmOEVUw+h0zQYeoyN6DctLaAs6bruyJ8lmnjsXc6U96swIiPzpdrd4S1jxWaoylwnpz3wY266pm4cLb471r74Cx6XInWN97xO9LQ2S54HwdUHxkQiejIhj7EjrYtxFrBfmOQ6MLi+bnLnjgX6LvlHNixyc7OF1QIdq7nMZl8o5jPIOjNxS3aKFroEFVRwhEx6D1cFvI6K2mXWhV8HaUPNiFHDwjA+OBk7HvjPI3+zTql7gXX3k5/YIo8rmyhiO7/j1FOKuy6PMc5ADG3FPFCX+M9bsiPLGnWgl3JyY+MUog0Bn+4Vi4gOFpJNi4jPA1S/UIixJH6Ado3ok2ZGHk0G2jtZF7kivFrnaOkfynNA6qwyzZK2G/qJ9Z1sKxL/wlU+JjyO3lJLXevmUDvwhH05D9ty/8DnkWDXdSQq8i6PinpXw9GdW30CQGL8Z07DBpQz5Se2eWzTapoS8/HWeEnbMtHGNZNE=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: CH0PR02MB7980.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 714489af-4f1d-4c3f-a062-08da5ab8f8bd
X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Jun 2022 16:52:51.9537 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: e741d71c-c6b6-47b0-803c-0f3b32b07556
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 9aEaEizTwxsMjHVkJq1hU5kJ8644NsN0k4sqgojtzqSTE3PO5hwmk+mu23lznNps
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR02MB5896
X-TM-SNTS-SMTP: A705DFE5A255791B8DE84B71A7CC41A54368C1093EDFE9A879DA729DEBA8BD5E2
X-Proofpoint-GUID: UTpGEb9cBJiWYy4RtBQX0bTQTtiO6IU5
X-Proofpoint-ORIG-GUID: UTpGEb9cBJiWYy4RtBQX0bTQTtiO6IU5
X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.883,Hydra:6.0.517,FMLib:17.11.122.1 definitions=2022-06-30_12,2022-06-28_01,2022-06-22_01
X-Proofpoint-Spam-Details: rule=outbound_policy_notspam policy=outbound_policy score=0 phishscore=0 impostorscore=0 malwarescore=0 bulkscore=0 priorityscore=1501 mlxscore=0 clxscore=1011 adultscore=0 lowpriorityscore=0 spamscore=0 mlxlogscore=999 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2204290000 definitions=main-2206300068
Archived-At: <https://mailarchive.ietf.org/arch/msg/ippm/ZKDdw3hkGJvhqF693omIjDWQwmM>
Subject: Re: [ippm] Secdir early review of draft-ietf-ippm-capacity-protocol-01
X-BeenThere: ippm@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: IETF IP Performance Metrics Working Group <ippm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ippm>, <mailto:ippm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ippm/>
List-Post: <mailto:ippm@ietf.org>
List-Help: <mailto:ippm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ippm>, <mailto:ippm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 30 Jun 2022 16:53:37 -0000

Thank you Brian for your review and comments!

Summary of the replies below:

There are two categories of changes needed: text clarifications alone, and text+protocol modifications. We have noted when protocol changes are needed (have not executed protocol changes in the code or working text).

We use a conventional communications setup, with a well-known port at the server. We will clarify this.

The main comment where we are looking for additional feedback is your comment number 3). We understand (?) that there be a fully encrypted mode of operation in IETF Stds track protocols, and that this mode must be the default mode operation. We will gladly implement a strong recommendation from you/SEC-DIR in the protocol specification.

We appreciate your observation that the Authenticated mode can be expanded to use the authDigest field to achieve important message protections and features like bit error checking. 

We have implemented text clarifications in the working text for -02.

thanks for sharing your expertise; one more recommendation will help!

Al and Len



> -----Original Message-----
> From: Brian Weis via Datatracker <noreply@ietf.org>
> Sent: Wednesday, June 22, 2022 8:45 PM
> To: secdir@ietf.org
> Cc: draft-ietf-ippm-capacity-protocol.all@ietf.org; ippm@ietf.org
> Subject: Secdir early review of draft-ietf-ippm-capacity-protocol-01
>
> Reviewer: Brian Weis
> Review result: Not Ready
>
> 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 primarily for the benefit of the security area
> directors.  Document editors and WG chairs should treat these comments
> just like any other last call comments.
>
> The summary of the review is Not ready. (However, as this is an early
> review, this should not be unexpected.)
>
> Here are some concerns, comments, and questions.
>
> (1) With the current network flows, there’s some doubt that flows will
> actually pass one or more firewalls between the client and server.  Section
> 3 begins by saying
>
>   “One end-point takes the role of server, awaiting connection requests
>    on a well-known port from the other end-point, the client.”
>
> As I understand the above text, the client sends from a well-known port
> rather than the conventional method of a server opening a well-known port
> and listening on it. So a firewall in front of the client may open an
> inbound pinhole of “ephemeral port -> well-known port” (since the client
> sent a message from "well-known port -> ephemeral port").  This ought to
> be sufficient, from the client’s perspective.  But Security Consideration
> also says this:
>
>      “Firewalls protecting each host can both continue to do
>       their job normally.  This aspect is similar to many other test
>       utilities available.”
>
> I don’t understand how any reasonable firewall policy would be defined on
> the server side, when a client is initiating a protocol to a server’s
> ephemeral port. That is, ephemeral ports are usually blocked unless the
> server sends an outgoing message from it.  So how the firewall policy is
> intended to work needs to be described much more clearly. For example, if
> there is a co-dependency that a firewall administrator be required to open
> all of the ephemeral ports that the server might use in advance, that
> needs to be stated.  (Having said that, such a policy might very well be
> unacceptable to the firewall administrator.) Or if the server is never
> expected to have a firewall in front of it this last quoted sentence needs
> to be changed to say that.
>

[acm] We need to clarify the wording in Section 3, specifically:

	One end-point takes the role of server, *listening for* connection requests 
	on a well-known *destination* port from the other end-point, the client.

This is the conventional situation at the server in the network; we follow 
convention.

In the Sec Considerations, I think you'll agree that firewalls can operate
conventionally with the clarification above. It's the server's firewall 
using an open pinhole on the w-k port.

We could reduce the range of open ephemeral ports available at the server FW,
and there is no application listening on any of those ports until a successful
Test Setup exchange takes place.

We can add:

The firewall at the server will need to open a limited range of ephemeral ports to complete
the second exchange: Test Activation (where the client communicates to the server
on an ephemeral destination port *assigned by the server*). 

-=-=-=-=-=-=-=-=-=-

> (2) Can you describe the server’s behavior more clearly, as to how as a
> server it listens on an ephemeral port, a range of ephemeral ports, or
> whatever strategy you have in mind? This seems backwards from the usual
> flows of client using an ephemeral port to contact a server on a well-known
> port. 

[acm] Somehow, we led you to the reverse of our actual operation. The protocol
works exactly as your last sentence above specifies. Hopefully, the clarification 
in Section 3 will do the trick.

> The last quote above includes the sentence:
>
>     "This aspect is similar to many other test utilities available.”
>
> and seems to indicate that there are existing examples of how this works.
> Do these “other test utilities” really have these same data flows? 

[acm] Yes, but they have the w-k destination port open on the server, same as 
this protocol. 
Other utilities mentioned include iperf, netperf, etc.  Note that this 
section (9) will not be part of the RFC. 


> If so,
> then please describe how an existing firewall placed in front of the server
> works when the server is receiving packets on ephemeral ports.

[acm] the FW at server allows an ephemeral port range, and the server is only 
listening on ports that have been properly activated by the Test Setup exchange.

>
> (3) The draft seems to define message authentication only for the Setup
> Request and Response messages. In this situation I assume the goal is to
> authenticate a peer with the goal of verifying peer authorization only.
> That is, when only these messages are authenticated then there is no
> real goal of knowing whether the measurements later sent are accurate
> since an attacker can theoretically modify messages in transit. The
> other messages seem to lack a authDigest field.


>
> But Security Considerations does state
>
>      “Client-server authentication and integrity protection for
>        feedback messages conveying measurements is RECOMMENDED. “
>
> So is message authentication intended as an option for all messages  but
> the PDUs in -01 just doesn’t show the authDigest field yet? If so, it would
> be good to explicitly add them.
>
> In any case, Security Considerations needs to state just what the security
> goals are when only some messages are authenticated, and defend why that
> is acceptable. For example, I understand that adding message authentication
> processing to feedback messages generated by a data plane can affect the
> quality of the measurements, and some people might accept that measurements
> are not necessarily correct if they have been tampered by an attacker.

[acm] This is one of the main reasons we requested an early SEC-DIR review, 
It appears that you understand the trade-off between measurement accuracy 
and measurement integrity. We did not plan to try to justify the current 
(limited) authentication capabilities of the protocol as the finished spec. 

Instead, we would like to provide additional/optional mode(s)
of operation where  (listed in Section 10)

WG ver 01 proposal below: 

A. Unauthenticated mode (for all phases)
AND
B. OPTIONAL Authenticated set-up only 
SHA-256 HMAC time-window verification (5 min time stamp verification)
(could add silent failure option)
New: we could add authDigest everywhere that is possible, as you suggested below.

 -=-=-=-=-=-=-=-=-=- Above options exist in Running Code -=-=-=-=-=-
 
 *** We would like a SEC-DIR recommendation to accomplish C and/or D below: 

C. Encrypted Setup Exchange in a tunnel to well-known port:
(remaining transmissions are on a new UDP port-pair, in the clear)
New: could combine Test Activation exchange with Setup, on the well-known port, encrypted.
Need a packet to open the firewall from client to server.

D. Encrypt "all the things"  
(Reduce the options, provide the required protocol protection)


while keeping the following design criteria in mind:
+ the accuracy <-> integrity trade-off (lightweight encryption may see more deployment)
+ synergy: we are already using the OpenSSL library in the running code (for Authentication)

New: we think this mode D might not be used very often, the demands on hosts to generate and 
measure at Gbps rates usually require all the cycles they can allocate to the measurement
process.

>
> (4) Section 3 says
[section 5]
>
>   “If the Setup Request must be rejected (due to any of the reasons in
>    the Command response codes listed below), a Setup Response SHALL be
>    sent back to the client with a corresponding command response value
>    indicating the reason for the rejection.”
>
> I note that some reasons have to do with the server not being able to
> authenticate the client. Assuming the server has an open port or set of
> ports that any network device can target, this seems like an opportunity
> for an arbitrary network device spoofing a victim IP address to use the
> server as a DDoS “bounce” address targeting that victim. That is, the
> attacker would create a message with the victim's IP address as source
> address, and use a destination address of the measurement server, causing
> the measurement server to reply to the intended victim.
>
> A more secure policy would be to silently drop messages that cannot be
> authenticated, even though this makes diagnosing the failure harder. The
> idea of silently dropping message is mentioned on Page 9, including when
> “a directed attack has been detected”, but as these attacks can do a lot
> of damage before being detected it’s not really sufficient to just say
> that “Attack detection is beyond the scope of this specification”. Yes,
> that’s true, but causing a vulnerability in protocol design and assuming
> some other system will detect and block it is not sufficient. This is
> why it's important to silently drop messages that fail authentication.
> Otherwise, the remaining threat needs to be defended in Security
> Considerations.

[acm] I see, silent AUTH failure could be a feature of the current AUTH mode
(the option we described above - would need to implement the silent failure).
We need to re-write the paragraph above to reflect the silent behavior when 
the AUTH option is used.  
So - re-wrote para above. default would be silent, but allow compile time 
#define for server requiring Authentication to use reject response.

If the Setup Request must be rejected (due to any of the reasons in the Command 
response codes listed below), a Setup Response SHALL be sent back to the client 
with a corresponding command response value indicating the reason for the rejection, 
unless the server requires Authentication, in which case the Setup Request 
SHOULD fail silently. The exception is for operations support: server administrators 
using Authentication are permitted to send a Setup Response to support operations 
and troubleshooting.

>>>> This is a protocol change <<<<

>
> (5) Section 5.1 begins by saying
>
>   “When the client receives the Setup response from the server it first
>    checks the cmdResponse value.”
>
> Actually, checking the validity of the  authDigest field in the Setup
> Response should be the first step. Otherwise, the cmdResponse value is not
> known to be trustable.

[acm] Agreed, we likely wrote this before we had an AUTH-mode option, we should
change the wording in the draft to reflect what the protocol actually does...
In fact, we need to first check that the message PDU is correctly formatted 
(size and message type)
with the fields we expect, then check the authDigest field, then the 
cmdResponse.
Text has been updated, as follows:

When the client receives the Setup response from the server, the client SHALL check:
><t
>the message PDU for correct length and formatting (fields have values in-range, beginning with the fields listed below)</t
><t
>the controlID, to validate the type of message (Setup)</t
><t
the cmdResponse value</t


>
> (6) Section 6.1 does mention using the “Authentication mode, and
> Authentication
> time stamp” in the context of the Test Activation Request. Can you clarify
> how these data fields are used? 

[acm] this is a good catch, Test Activation exchange currently does NOT use 
the authDigest field, so the initial clarification is to remove these items from the list
(until further changes to the protocol make them active).
We have clarified the list of client actions to populate the request as follows:


>The client SHALL use the configuration for
><t
>cmdRequest (upstream or downstream)</t
><t
>cmdResponse is cleared (all zeroes)</t
><t
>and the remaining fields are populated based on default values or command-line options</t
></list

requested in the Setup Request and confirmed by the server in the Setup Response.


> Would it be reasonable to add these fields
> to the  Test Activation Request and Response messages, since they seem to
> be control plane messages rather than data plane messages?

[acm] We could add the authDigest to the Test Activation request/response.
THEN, we would explain that 
+ Use of optional Authenticated mode requires checking the validity of authDigest in this phase
+ The time stamp in the PDU MUST be within 5 minutes (+/-2.5 minutes) of the current time at the recipient.
>>>> This is a protocol change <<<<


>
> (7) Section 7.2. There is a note that protection from bit errors could
> be desirable. I note that message authentication of these messsage would
> ensure that bit errors are detected.

[acm]  Ok, so in the optional Authenticated mode (currently in the spec and 
running code), authDigest *could be added* to the Status Feedback messages.
>>>> This is a protocol change <<<<

>
> (8) Section 8 says
>
>   “When the client receives a load or status PDU with the STOP1
>    indication, it SHALL finalize testing, ….”
>
> Stopping a test seems like an important message to verify that it actually
> came from the server rather than an attacker that doesn’t want the measurement
> to happen. (Maybe the measurement would result in discovery that the attacker
> is using some resources, or some such.) An authDigest field would resolve
> that threat.

[acm]  Ok, so in the optional Authenticated mode (currently in the spec and 
running code), authDigest *could be added* to the Load PDU messages to validate STOP1.
>>>> This is a protocol change <<<<

>
> (9) Section 10 says
>
>      “Cooperating source and destination hosts and agreements to test
>        the path between the hosts are REQUIRED.”
>
> I assume this cooperation is determined by authorization through the use
> of the authDigest field and the known identity associated with the key used to
> create the authDigest field. If so this sentence should say this more
> explicitly.

[acm] Yes, adding: 
One way to assure a cooperative agreement employs the optional Authorization mode
through the use of the authDigest field and the known identity associated with 
the key used to create the authDigest field. Other means are also possible, 
such as access control lists at the server.


>
> (10) The authDigest usage needs to be defined, i.e. what bytes are included
> in the digest, etc.  
[acm] Len confirms:
The entire control header for a Setup Request is covered by the digest. 
The current Unix time is inserted just before it is calculated.


> Also the choices that can be configured for authMode
> should be stated. Also, there should be a registry of authentication methods
> for interoperability.

[acm] Ok, right now we only have 2 modes, as described: unAUTH and AUTH (Setup 
exchange only).
We could implement the authDigest field in more aspects of the protocol, as 
noted above. But this would continue as the single AUTH mode in the next protocol version.

ASSUMING that the IESG will prefer that we have fully encrypted operation "on by default",
we would truly appreciate a recommendation for the encryption method that works with 
our UDP-based control and measurement protocol, AND satisfies all the future SEC reviewers!

IOW, we have running code and want to avoid re-do.
We will be glad to take a strong SEC-DIR recommendation 
in order to avoid blocking comments later. It's very simple. We are putty in your hands.

>
> (11) The use of authUnixTime is not stated anywhere. Why is time important,
> how does a receiver determine if the time is accuracy given latency in the
> network, and what threats does it resolve?

[acm]need to clarify:
The time stamp and the 5 minute window (+/- 2.5 seconds) is used to prevent the replay of a setup request.
All fields would otherwise be valid if the timestamp field was not included (which is also covered by the hash).

 Added text to explain above.


>
> Thanks,
> Brian
>