[secdir] secdir review of draft-ietf-mpls-in-udp-03

Charlie Kaufman <charliek@microsoft.com> Mon, 21 October 2013 23:10 UTC

Return-Path: <charliek@microsoft.com>
X-Original-To: secdir@ietfa.amsl.com
Delivered-To: secdir@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D366411E829D; Mon, 21 Oct 2013 16:10:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.599
X-Spam-Level:
X-Spam-Status: No, score=-3.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id XbjjUW3+7V5p; Mon, 21 Oct 2013 16:10:14 -0700 (PDT)
Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1lp0151.outbound.protection.outlook.com [207.46.163.151]) by ietfa.amsl.com (Postfix) with ESMTP id 5B45C11E82A2; Mon, 21 Oct 2013 16:10:14 -0700 (PDT)
Received: from BL2PR03MB592.namprd03.prod.outlook.com (10.255.109.35) by BL2PR03MB592.namprd03.prod.outlook.com (10.255.109.35) with Microsoft SMTP Server (TLS) id 15.0.785.10; Mon, 21 Oct 2013 23:10:12 +0000
Received: from BL2PR03MB592.namprd03.prod.outlook.com ([169.254.11.86]) by BL2PR03MB592.namprd03.prod.outlook.com ([169.254.11.200]) with mapi id 15.00.0785.001; Mon, 21 Oct 2013 23:10:12 +0000
From: Charlie Kaufman <charliek@microsoft.com>
To: "iesg@ietf.org" <iesg@ietf.org>, "secdir@ietf.org" <secdir@ietf.org>, "draft-ietf-mpls-in-udp.all@tools.ietf.org" <draft-ietf-mpls-in-udp.all@tools.ietf.org>
Thread-Topic: [secdir] secdir review of draft-ietf-mpls-in-udp-03
Thread-Index: Ac7Oq6NDCRIoApIoSR6dWI4QBbTnKQ==
Date: Mon, 21 Oct 2013 23:10:11 +0000
Message-ID: <3cd3b247cdaa451f95757b3eb6cf3ff4@BL2PR03MB592.namprd03.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [2001:4898:80e8:ed31::3]
x-forefront-prvs: 00064751B6
x-forefront-antispam-report: SFV:NSPM; SFS:(199002)(189002)(74876001)(69226001)(74706001)(33646001)(74662001)(74502001)(47446002)(63696002)(83072001)(80022001)(65816001)(46102001)(49866001)(47736001)(54356001)(50986001)(81342001)(4396001)(51856001)(81542001)(53806001)(74366001)(47976001)(54316002)(80976001)(56776001)(81816001)(81686001)(74316001)(76786001)(76796001)(85306002)(79102001)(76176001)(56816003)(77096001)(77982001)(76482001)(76576001)(83322001)(59766001)(31966008)(3826001)(24736002); DIR:OUT; SFP:; SCL:1; SRVR:BL2PR03MB592; H:BL2PR03MB592.namprd03.prod.outlook.com; CLIP:2001:4898:80e8:ed31::3; FPR:; RD:InfoNoRecords; A:1; MX:1; LANG:en;
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: DuplicateDomain-a84fc36a-4ed7-4e57-ab1c-3e967bcbad48.microsoft.com
Subject: [secdir] secdir review of draft-ietf-mpls-in-udp-03
X-BeenThere: secdir@ietf.org
X-Mailman-Version: 2.1.12
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: Mon, 21 Oct 2013 23:10:20 -0000

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.

This document defines an encapsulation format for MPLS over UDP. There are already specifications for MPLS over GRE and MPLS over IP. The motivation to add this third encapsulation format is to allow better path splitting of the various substreams within the tunnel. It does this with a clever (and some would say abusive) use of the UDP Source Port field. Because existing routers know to identify different streams based on the five tuple of source-IP, destination-IP, source-port, destination-port, and protocol, this encapsulation attempts to preserve that entropy by setting the source port equal to a hash of those 5 values of the encapsulated packet.

There is another possible motivation (which I'm surprised the specification does not mention), which is that some firewalls are willing to pass UDP but not GRE or MPLS packets.

The Security Considerations correctly notes that this encapsulation format does not provide any integrity or confidentiality protection, and that if such protection were to be provided with IPsec in transport mode then the advantage of better path splitting of the various substreams would be lost. A similar design could be used when encapsulating IPsec over UDP at the cost of leaking information about the substreams to traffic analysis. But that would belong in some other spec that specified an alternate IPsec over UDP format (almost certainly using a different UDP port).

My only complaint - and it is a minor one - is with the "Congestion Considerations" section. There, I expected to see something about the handling of the congestion-experienced bits (though the correct processing is obvious, probably covered by "Common Procedures" in RFC4023, and perhaps not worth mentioning). The spec says that if the tunneled traffic is not known to be TCP friendly and if the flow runs across an unprovisioned path that could potentially be congested, then the *application* MUST employ additional mechanisms to ensure that the offered load is reduced appropriately during periods of congestion. My complaint is that there is no way for the routers doing the encapsulation/decapsulation to participate in the congestion mitigation process and therefore no way for an implementation of this specification to be influenced by this requirement. I believe the spec would be equivalent and more clear had it said that the tunneled traffic MUST be TCP friendly. Even then, this seems more like operational guidance than a normative part of the specification.

I mention these only as suggestions to the community. From a security standpoint, I believe the document is just fine as is.

	--Charlie