Re: [secdir] secdir review of draft-ietf-ospf-node-admin-tag-05

Shraddha Hegde <> Sun, 11 October 2015 13:07 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 8B3131A893A; Sun, 11 Oct 2015 06:07:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: 1.009
X-Spam-Level: *
X-Spam-Status: No, score=1.009 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, J_CHICKENPOX_84=0.6, MANGLED_MEDS=2.3, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_HTML_ATTACH=0.01] autolearn=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id FWkZ_1WwSm03; Sun, 11 Oct 2015 06:07:50 -0700 (PDT)
Received: from ( [IPv6:2a01:111:f400:fc10::702]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id D64421A891C; Sun, 11 Oct 2015 06:07:49 -0700 (PDT)
Received: from ( by ( with Microsoft SMTP Server (TLS) id; Sun, 11 Oct 2015 13:07:31 +0000
Received: from ( by ( with Microsoft SMTP Server (TLS) id; Sun, 11 Oct 2015 13:07:28 +0000
Received: from ([]) by ([]) with mapi id 15.01.0286.019; Sun, 11 Oct 2015 13:07:28 +0000
From: Shraddha Hegde <>
To: "Acee Lindem (acee)" <>, Benjamin Kaduk <kaduk@MIT.EDU>, "" <>, "" <>, "" <>
Thread-Topic: secdir review of draft-ietf-ospf-node-admin-tag-05
Thread-Index: AQHRAtRkmhe1qX1HzE+v6FQBX6gc055lH6mAgABoLJA=
Date: Sun, 11 Oct 2015 13:07:28 +0000
Message-ID: <>
References: <> <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
authentication-results: spf=none (sender IP is );
x-originating-ip: []
x-microsoft-exchange-diagnostics: 1; BY1PR0501MB1382; 5:pvejb3/SQuR2V2pEG2rG9QhOtKqQaYc8+njiYw/wYsRg9vYZwh2R1NzBZqJ+7oQeGADLiqoEs+92asekEmX/nfuTdqpbBCGNRVzcUQLhXLWcDgbTzXtzFdUWXNmQmXVGrGoIzcfFdFQ/61CnmGylHw==; 24:5zZTCGMVbh2GZODyo0dHz4Q6K69KxzneEEsfWmgVPds88U6XJEnRSIPCm+gOdoaRr9m51WrFlJ7J4UDx3r3drO6elqkO/JdIahqp1Aw7xY4=; 20:gl4rp30XZb/MCwIq9+0DMJiK/XFrynq4YuQLtqQUMNhUqjU54wCjWuLwO4XOIqkPG9tqhfbdpjzSzufoSJWtnA==
x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY1PR0501MB1382;
x-microsoft-antispam-prvs: <>
x-exchange-antispam-report-test: UriScan:(95692535739014);
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(601004)(2401047)(520078)(5005006)(8121501046)(3002001); SRVR:BY1PR0501MB1382; BCL:0; PCL:0; RULEID:; SRVR:BY1PR0501MB1382;
x-forefront-prvs: 0726B2D7A6
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6009001)(479174004)(377454003)(13464003)(189002)(24454002)(51914003)(164054003)(199003)(46102003)(10400500002)(110136002)(107886002)(5001960100002)(230783001)(33656002)(64706001)(189998001)(66066001)(74316001)(5001770100001)(81156007)(5008740100001)(2501003)(97736004)(5890100001)(2201001)(106356001)(76576001)(106116001)(105586002)(5002640100001)(11100500001)(99286002)(5004730100002)(86362001)(5007970100001)(19580395003)(19580405001)(5003600100002)(15975445007)(102836002)(77096005)(2171001)(87936001)(101416001)(2900100001)(2950100001)(76176999)(54356999)(50986999)(99936001)(122556002)(40100003)(92566002); DIR:OUT; SFP:1102; SCL:1; SRVR:BY1PR0501MB1382;; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en;
received-spf: None ( does not designate permitted sender hosts)
spamdiagnosticoutput: 1:23
spamdiagnosticmetadata: NSPM
Content-Type: multipart/mixed; boundary="_002_BY1PR0501MB1381A8D06B804AE4508F371AD5320BY1PR0501MB1381_"
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Oct 2015 13:07:28.4275 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bea78b3c-4cdb-4130-854a-1d193232e5f4
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR0501MB1382
X-Microsoft-Exchange-Diagnostics: 1; BY1PR0501MB1159; 2:kLH+7mQvPBynzOzEs6rClAf6mc2mrGfZu7Bu0oiP4Z2oSQcIOO61UmCOXXSKmPH7EgZiea4Fym0q67Mxj1WfHOE+88YDdCfGGv7QX/dpcCOcENt/UFYzHLTXHAjN6i+NzOiUqwPt50KhOW7Jrd0pTw+LSLziafsc3N4mUTgTmfA=; 23:JPkNQPrMTkyiOHxnfTVQ0P+7Z4v/7eVKZK9rois2NSIsf2K8itcw1dW24C0eWQtmVWQ2hWdu02b74HHCB5w0YYWiupY9Zy97Chp53bn5BNsKjZB8+8U6L3FN4iDEnnwIto8BeCcbKEnaC+gAfjuyEMlaenEOXHBcFRt1qOwl9+Eoik4SrqmFd7vGlZ433W6Q
Archived-At: <>
X-Mailman-Approved-At: Thu, 22 Oct 2015 07:18:02 -0700
Subject: Re: [secdir] secdir review of draft-ietf-ospf-node-admin-tag-05
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Security Area Directorate <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Sun, 11 Oct 2015 13:07:57 -0000

Thanks Ben for detailed review comments.Thanks Acee for chiming-in.
Few more explanations in-line.

-----Original Message-----
From: Acee Lindem (acee) [] 
Sent: Sunday, October 11, 2015 1:04 AM
To: Benjamin Kaduk <kaduk@MIT.EDU>DU>;;;
Subject: Re: secdir review of draft-ietf-ospf-node-admin-tag-05

Hi Ben, 

As the document shepherd and a long-time OSPF contributor, I’m going to try and sort out some of your comments. Note that route tagging has been in use for decades and this document is merely extending the administrative policies advertisement to the node level.

On 10/9/15, 4:52 PM, "Benjamin Kaduk" <kaduk@MIT.EDU> wrote:

>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.
>I will preface these comments with a note that my routing background is 
>quite weak, and I needed to read RFC 2328 and RFC 4970 to have enough 
>context to be able to say much useful about what's going on here; I may 
>still be suffering from some misconceptions.
>On the whole, this document leaves me feeling unsatisfied; it spends 
>maybe three pages talking about the actual new protocol extension and 
>then gives four pages of example usage, all the while claiming that the 
>actual tag values are only meaningful within a single administrative 
>domain/network, are for generic use, and do not require an IANA 
>registry.  That is, it is trying to walk a middle line between "this 
>document allocates a value in the OSPF TLVs registry for site-local 
>use, use it as you will" and "this document specifies a complete 
>protocol extension for tagging OSPF nodes for traffic engineering, LFA, 
>and other purposes".  That is a hard middle line to follow, and I am not sure that this document does so successfully.
>I will not try to reopen the question of whether it would be better to 
>take one of the non-middle paths, and continue on the assumption that 
>this document will take the middle path.  I think there are a few 
>things that are missing before this document should be published, and 
>that it might be worth considering a more drastic restructuring as well.
>It would probably be good to include some text with the reasoning 
>behind the choice of the "middle line" -- the current text attempting 
>to enforce it, "new OSPF extensions MUST NOT require use of per-node 
>administrative tags or define well-known tag values", seems 
>unenforcable, as a future RFC updating this one could just remove that restriction.

The intent here is that this TLV is to be solely for locally defined policies. If there were to be a TLV for well-known tags and policies, this could be accomplished with a separate OSPF RI TLV. I agree that the normative text should be softened from “MUST NOT” to “are not expected to”. 

<Shraddha> There was a long discussion on the mailing list on whether we should allow well defined values for the admin tags majority consensus was that we should not allow any standard values for node admin tags and in future if such a requirement arises it'll go as new feature in RI TLV as Acee already mentioned. I am trying to understand why the text need to be softened when any future standardization would need altogether a new document and will not require any changes to this document.
>It looks like there's now an -06, but the changes from the -05 are not 
>significant.  The security considerations in the -05 correctly note 
>what are essentially privacy considerations regarding the contents of 
>the admin tags.  However, it seems like there are also potential 
>security considerations on the actual operation of the network that are 
>not discussed here, nor in RFC 2328 (OSPFv2) or RFC 5340 (OSPFv3).  RFC 
>5340's security considerations explicitly disclaims protections against 
>compromised, malfunctioning, or misconfigured routers, deferring to RFC 
>4593, "Generic Threats to Routing Protocols".  I believe that the 
>security considerations of this document should address, either 
>directly or indirectly, protections against compromised, 
>malfunctioning, or misconfigured routers, and additionally protection 
>against malicious actors with access to the layer-3 network (and maybe 
>lower layers as well).
>That probably means mentioning RFC 4593 directly, or maybe just 
>pointing out that RFC 5340 does so.  There are still additional 
>considerations introduced by this document, though; unfortunately, 
>because the bulk of the interpretation of the admin tags is left to the 
>site administrator, it is hard to give a comprehensive security 
>analysis, but the examples and the protocol description itself do give some areas for consideration.

The document could reference RFC 4593/RFC 6863 and state that authentication as specified in RFC 7474 or RFC 7166 SHOULD be used in deployments where attackers have access to the physical networks included in the OSPF domain are vulnerable.
<Shraddha> ok. Updating the Security consideration section

>The RI LSAs carrying administrative tags can be at link-, area-, or 
>AS-level scope; an administrator assigning tag values and associated 
>policies should consider what would happen if a given tag was 
>advertised at a different scope than intended.  Compliant 
>implementations MUST NOT generate the same tag at different scopes, but 
>a receiver would need to take some action if it happened, whether due 
>to network glitch or malicious action -- what should they do?

I’m not an author, but this is what I’d recommend:

   The conflicting tag SHOULD not be used and this situation SHOULD be logged as an error including the tag with conflicting scopes and the originator(s). 
<Shraddha> Updated the document with above statement.

There is a case that must be allowed - the same tag could be received by an ABR at both the AS scope and the area scope in a stub or NSSA area.
<Shraddha> Could you pls elaborate the case. I don't quite understand why the ABR in a stub/NSSA area would generate or receive RI LSAs with different scopes.I think it's perfectly valid to flood the AS scoped RI LSAs into the stub / NSSA area.

>Another potential issue lies in the "stickiness" of the admin tags -- 
>the text "the node administrative tags associated with a node for the 
>purpose of any computation or processing SHOULD be a superset of node 
>administrative tags from all the TLVs in all instances of the RI LSA 
>originated by that node" seems to mean that once a tag is set, it 
>(easily) be unset.  Would force-expiring an LSA be enough to reset the 
>tag, or something else?	

Yes - this is standard for any OSPF LSA. However, since the OSPF RI LSA may include other TLVs or even other tags, a tag could also be withdrawn by reoriginating the RI LSA without the TLV or with a TLV that doesn’t include the withdrawn tag.

> How disruptive would that be?  It would be helpful to see some 
>discussion of how a tag would be removed.

I may of worked on OSPF for too long but this should be obvious to anyone implementing the draft from the specification.
<Shraddha> The below paragraph (from -07 version) is clear on this I hope.

"When there is a change or removal of an administrative affiliation of a node, 
   the node MUST re-originate the RI LSA with the latest set of node administrative tags.
   On the receiver, When there is a change in the node administrative tag TLV or removal/
   addition of a TLV in any instance of the RI-LSA, implementations MUST
   take appropriate measures to update its state according to the
   changed set of tags.  Exact actions depend on features working with
   administrative tags and is outside of scope of this specification."

>That is particularly easy for an attacker when the null OSPF 
>authentication mechanism is in use (how common is that?  I saw some 
>websites indicating it was the default behavior, at least sometimes).  
>I do not see a need to turn this document into "security considerations 
>for OSPF authentication", but maybe it is worth mentioning some things: 
>md5 scheme seems pretty week at this point (though probably not 
>trivially broken), the hmac-sha scheme of RFC 5709 is only from 2009, 
>and RFC 7474 (only six months old) points out cases where both are 
>susceptible to replay attacks.  Just looking at the security 
>considerations of this document and the core OSPF v2/v3 specs does not 
>convey this to the reader, so I would like to see at least a pointer to 
>such considerations.  (The stance of RFC 2328 that "all OSPF protocol exchanges are authenticated"
>seems particularly disingenous given the presence of the null 
>authentication scheme.)

I think both RFC 7474 and RFC 7176 should be referenced. The OSPF vulnerability to replay attacks to OSPFv2/OSPFv3 routers implementing these specifications is extremely small and has been reduced as much as practical. If you are still concerned, I suggest you discuss with Sam Hartman (also once affiliated with MIT).
<Shraddha> Security consideration section updated with the reference to RFC 7474 and 7176.

>There is also the possibility that an attacker could block delivery of 
>an LSA, causing a tag that should be set to not be seen.  This seems 
>unlikely for wired point-to-point links, but is more plausible in other 
>environments, such as radio links.  I think I can imagine scenarios 
>where this would cause drastic damage to the routing topology.

The description and mitigation of such a generic threat doesn’t belong in a minor (though important) OSPF specification. The effect of blocking control traffic is never positive ;^). At least OSPF uses reliable flooding so it will be retransmitted.
<Shraddha> Agree with Acee on this.

>The parenthetical in section 3.2 wherein routers might advertise a
>per-node aministrative tag "without knowing (or even explicitly
>supporting) functionality implied by the tag" seems potentially 
>dangerous, since it sounds like the routers in question are lying about 
>their capabilities.  Would the document suffer harm if the 
>parenthetical was removed?

In my opinion, no harm to remove - misconfiguration is almost always an issue. 
<Shraddha> It's perfectly valid for a node originate a tag when the node itself does not
Process any tags. I think the sentence needs to be rephrased. Changing it as below.

<t>Meaning of the Node administrative tags is generally
opaque to OSPF. Router advertising the per-node
administrative tag (or tags) may be configured to do so
without knowing (or even without supporting processing of)
functionality implied by the tag.</t>

>One reason I am unsatisfied by making the interpretation of the tag 
>values specific to an administrative domain is that a misconfigured 
>border router might erroneously use tag values from one domain on the 
>other side of the border.
> Perhaps the other damage from a router misconfigured in such a fashion 
>would dwarf the additional damage from the misinterpreted tags and so 
>my concern is invalid; I really can't say.

Again, I don’t think misconfiguration needs to be covered - "emptor cavete”. 

<Shraddha> -07 version addresses this issue.

"Advertisement of tag values for one administrative domain into 
another  risks misinterpretation of the tag values (if the two domains have assigned 
different meanings to the same values), which may have undesirable and unanticipated side

Thanks for the editorial review as well. Speak as WG chair, I appreciate this. 


>I also have some editorial comments unrelated to the secdir review:
>Section 3.2 reads rather like a jumbled list and could benefit from 
>some additional structure.
>Similarly, I would find it helpful if there was some text motivating 
>the "middle patch" mentioned above, towards the beginning of the 
>(non-example) portion of the document.
>For a construction as weakly structured as these administrative tags, 
>preventing any internal structure or dependencies between tags (as this 
>document attempts to do) seems correct.  However, this sentiment seems 
>to be expressed differently in several different places in the 
>document, and it would be good to consolidate and coordinate them.  In 
>particular, paragraph 3 of section 3.2 explicitly says that tag order 
>has no meaning, but paragraph 4 has the weaker "SHOULD be considered an unordered list".
>(The word "set" might be appropriate here.)
>Paragraph 7 of section 3.2 seems to be trying to say that the 
>administrative tags must indicate inherent or administratively 
>configured properties of a node and must not be used to convey 
>attributes of the routing topology.  (The word "tie" seems 
>insufficiently clear.)
>Many (but not all) of the acronyms/abbreviations should be expanded at 
>first use -- the ones marked with a '*' at 
> are assumed 
>to be common knowledge and do not need expansion.  Other things, like 
>traffic engineering, router information, link statement advertisement, 
>autonomous system, etc., should be written out in full at their first 
>use, with the abbreviated version in parentheses afterwards.
>The first paragraph of section 1 contains a list of potential 
>applications; please use some XML markup to preserve the list structure 
>in the rendered document.
>Plase give an informative reference for Loop Free Alternate backup 
>selection at its first appearance.
>The divider between the type and length fields in Figure 1 is placed 
>one bit to the left of the correct division for two 16-bit fields.  (In 
>many cases the position indicators above the diagram are offset by one 
>space so they land over the '-'s instead of the '+'s, but there is some 
>argument for putting them in their current location, as well.)
>In the seventh paragraph of section 3.2, I think it would be fine to 
>just remove the "but not limited to" clause, which is not quite correct 
>grammar and is not really needed.
>The last paragraph of section 3.2 could probably be written more clearly.
>In particular, "in any instance of the RI-LSA" is not entirely clear to 
>me (but then again, I don't really understand how LSAs normally work).  
>Is it enough to just say that implementations MUST detect when the 
>administrative tags associated with a given node change, and update 
>their state accordingly?
>In section 4.5, I do not see that the constraint "Traffic from A nodes 
>to I nodes must not go through R and T nodes" can be satisfied for the 
>leftmost pair of A nodes.
>I am also attaching a diff to the xml sources with some grammar fixes 
>not worth enumerating explicitly.
>-Ben Kaduk