idnits 2.17.1 draft-ietf-isis-extended-sequence-no-tlv-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** There are 8 instances of too long lines in the document, the longest one being 2 characters in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (June 10, 2013) is 3963 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'I-D.yeung-g-ikev2' is mentioned on line 114, but not defined == Unused Reference: 'I-D.weis-gdoi-mac-tek' is defined on line 468, but no explicit reference was found in the text == Unused Reference: 'RFC6518' is defined on line 480, but no explicit reference was found in the text == Outdated reference: A later version (-07) exists of draft-ietf-karp-isis-analysis-00 == Outdated reference: A later version (-11) exists of draft-ietf-ospf-security-extension-manual-keying-05 Summary: 1 error (**), 0 flaws (~~), 6 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Working Group U. Chunduri 3 Internet-Draft W. Lu 4 Intended status: Standards Track A. Tian 5 Expires: December 12, 2013 Ericsson Inc. 6 N. Shen 7 Cisco Systems, Inc. 8 June 10, 2013 10 IS-IS Extended Sequence number TLV 11 draft-ietf-isis-extended-sequence-no-tlv-00 13 Abstract 15 This document defines Extended Sequence number TLV to protect 16 Intermediate System to Intermediate System (IS-IS) PDUs from replay 17 attacks. 19 Status of This Memo 21 This Internet-Draft is submitted in full conformance with the 22 provisions of BCP 78 and BCP 79. 24 Internet-Drafts are working documents of the Internet Engineering 25 Task Force (IETF). Note that other groups may also distribute 26 working documents as Internet-Drafts. The list of current Internet- 27 Drafts is at http://datatracker.ietf.org/drafts/current/. 29 Internet-Drafts are draft documents valid for a maximum of six months 30 and may be updated, replaced, or obsoleted by other documents at any 31 time. It is inappropriate to use Internet-Drafts as reference 32 material or to cite them other than as "work in progress." 34 This Internet-Draft will expire on December 12, 2013. 36 Copyright Notice 38 Copyright (c) 2013 IETF Trust and the persons identified as the 39 document authors. All rights reserved. 41 This document is subject to BCP 78 and the IETF Trust's Legal 42 Provisions Relating to IETF Documents 43 (http://trustee.ietf.org/license-info) in effect on the date of 44 publication of this document. Please review these documents 45 carefully, as they describe your rights and restrictions with respect 46 to this document. Code Components extracted from this document must 47 include Simplified BSD License text as described in Section 4.e of 48 the Trust Legal Provisions and are provided without warranty as 49 described in the Simplified BSD License. 51 Table of Contents 53 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 54 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 55 1.2. Acronyms . . . . . . . . . . . . . . . . . . . . . . . . 3 56 2. Replay attacks and Impact on IS-IS networks . . . . . . . . . 4 57 2.1. Impact of Replays . . . . . . . . . . . . . . . . . . . . 4 58 3. Extended Sequence Number TLV . . . . . . . . . . . . . . . . 5 59 3.1. Sequence Number Wrap . . . . . . . . . . . . . . . . . . 6 60 4. Mechanism and Packet Encoding . . . . . . . . . . . . . . . . 6 61 4.1. IIHs . . . . . . . . . . . . . . . . . . . . . . . . . . 6 62 4.2. SNPs . . . . . . . . . . . . . . . . . . . . . . . . . . 7 63 4.2.1. CSNPs . . . . . . . . . . . . . . . . . . . . . . . . 7 64 4.2.2. PSNPs . . . . . . . . . . . . . . . . . . . . . . . . 7 65 5. Backward Compatibility and Deployment . . . . . . . . . . . . 7 66 5.1. IIH and SNPs . . . . . . . . . . . . . . . . . . . . . . 8 67 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 68 7. Security Considerations . . . . . . . . . . . . . . . . . . . 8 69 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 70 9. Appendix A . . . . . . . . . . . . . . . . . . . . . . . . . 9 71 9.1. Appendix A.1 . . . . . . . . . . . . . . . . . . . . . . 9 72 9.2. Appendix A.2 . . . . . . . . . . . . . . . . . . . . . . 9 73 10. Appendix B . . . . . . . . . . . . . . . . . . . . . . . . . 10 74 10.1. Operational/Implementation consideration . . . . . . . . 10 75 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 76 11.1. Normative References . . . . . . . . . . . . . . . . . . 10 77 11.2. Informative References . . . . . . . . . . . . . . . . . 10 78 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 80 1. Introduction 82 With the rapid development of new data center infrastructures, due to 83 its flexibility and scalability attributes, IS-IS has been adopted 84 widely in various L2 and L3 routing deployment of the data centers 85 for critical business operations. At the meantime the SDN-enabled 86 networks even though put more power to Internet applications and also 87 make network management easier, it does raise the security 88 requirement of network routing infrastructure to another level. 90 A replayed IS-IS PDU can potentially cause many problems in the IS-IS 91 networks ranging from bouncing adjacencies to black hole or even some 92 form of Denial of Service (DoS) attacks as explained in Section 2. 93 This problem is also discussed in security consideration section, in 94 the context of cryptographic authentication work as described in 95 [RFC5304] and in [RFC5310]. 97 Currently, there is no mechanism to protect IS-IS HELLO PDUs (IIHs) 98 and Sequence number PDUs (SNPs) from the replay attacks. However, 99 Link State PDUs (LSPs) have sequence number in the LSP header as 100 defined in [RFC1195], with which it can effectively mitigate the 101 intra-session replay attacks. But, LSPs are still susceptible to 102 inter-session replay attacks. 104 This document defines Extended Sequence number (ESN) TLV to protect 105 Intermediate System to Intermediate System (IS-IS) PDUs from replay 106 attacks. 108 The new ESN TLV defined here thwart these threats and can be deployed 109 with authentication mechanism as specified in [RFC5304] and in 110 [RFC5310] for a more secure network. 112 Replay attacks can be effectively mitigated by deploying a group key 113 management protocol (being developed as defined in 114 [I-D.yeung-g-ikev2] and [I-D.hartman-karp-mrkmp]) with a frequent key 115 change policy. Currently, there is no such mechanism defined for IS- 116 IS. Even if such a mechanism is defined, usage of this TLV can be 117 helpful to avoid replays before the keys are changed. 119 Also, it is believed, even when such key management system is 120 deployed, there always will be some manual key based systems that co- 121 exist with KMP (Key Management Protocol) based systems. The ESN TLV 122 defined in this document is more helpful for such deployments. 124 1.1. Requirements Language 126 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 127 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 128 document are to be interpreted as described in RFC 2119 [RFC2119]. 130 1.2. Acronyms 132 CSNP - Complete Sequence Number PDU 134 ESN - Extended Sequence Number 136 IIH - IS-IS Hello PDU 137 KMP - Key Management Protocol (auto key management) 139 LSP - IS-IS Link State PDU 141 MKM - Manual Key management Protocols 143 PDU - Protocol Data Unit 145 PSNP - Partial Sequence Number PDU 147 SNP - Sequence Number PDU 149 2. Replay attacks and Impact on IS-IS networks 151 This section explains the replay attacks and the applicability of the 152 same for IS-IS networks. Replaying a captured protocol packet to 153 cause damage is a common threat for any protocol. Securing the 154 packet with cryptographic authentication information alone can not 155 mitigate this threat completely. This has been described in detail 156 in "Replay Attacks" section of KARP IS-IS gap analysis document [I-D 157 .ietf-karp-isis-analysis]. 159 2.1. Impact of Replays 161 At the time of adjacency bring up an IS sends IIH packet with empty 162 neighbor list (TLV 6) and with or with out the authentication 163 information as per provisioned authentication mechanism. If this 164 packet is replayed later on the broadcast network all ISes in the 165 broadcast network can bounce the adjacency to create a huge churn in 166 the network. 168 Today Link State PDUs (LSPs) have intra-session replay protection as 169 LSP header contains 32-bit sequence number which is verified for 170 every received PDU against the local LSP database. But, if the key 171 is not changed, an adversary can cause an inter-session replay attack 172 by replaying a old LSP with higher sequence number and fewer prefixes 173 or fewer adjacencies. This forces the receiver to accept and remove 174 the routes from the routing table, which eventually causes traffic 175 disruption to those prefixes. The more common pre-conditions for 176 inter-session replay attacks with LSPs and the current in-built 177 recovery mechanism, have been discussed in details in Section 2.3.1.1 178 of KARP IS-IS gap analysis document [I-D.ietf-karp-isis-analysis]. 179 This document does not propose any solution to completely mitigate 180 the replay threat for LSPs as network can still recover reliably 181 after processing a disruptive reply. 183 In broadcast networks a replayed Complete Sequence Number PDU (CSNP) 184 can force the receiver to request Partial Sequence Number PDU (PSNP) 185 in the network and similarly, a replayed PSNP can cause unnecessary 186 LSP flood in the network. 188 Please refer KARP IS-IS gap analysis document for further details. 190 3. Extended Sequence Number TLV 192 The Extended Sequence Number (ESN) TLV is composed of 1 octet for the 193 Type, 1 octet that specifies the number of bytes in the Value field 194 and a 12 byte Value field. This TLV is defined only for IIH and SNP 195 PDUs. 197 x CODE - TBD. 199 x LENGTH - total length of the value field, which is 12 bytes and 200 applicable for IIH and SNP PDUs. 202 x Value - 64-bit Extended Session Sequence Number (ESSN), which is 203 present for all IS-IS PDUs followed 32 bit monotonically increasing 204 per Packet Sequence Number (PSN). 206 0 1 2 3 207 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 208 +-+-+-+-+-+-+-+-+ 209 | Type | 210 +-+-+-+-+-+-+-+-+ 211 | Length | 212 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 213 | Extended Session Sequence Number (High Order 32 Bits) | 214 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 215 | Extended Session Sequence Number (Low Order 32 Bits) | 216 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 217 | Packet Sequence Number (32 Bits) | 218 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 220 Figure 1: Extended Sequence Number (ESN) TLV 222 The Extended Sequence Number (ESN) TLV Type is TBD. Please refer to 223 IANA Considerations, in Section 6 for more details. Length indicates 224 the length of the value field; which is 12 bytes for IIH and SNP 225 PDUs. 227 In order to provide protection against both inter-session and intra- 228 session replay attacks, the IS-IS Extended Session Sequence Number 229 (ESSN) is defined a 64-bits value; the value MUST contain ever 230 increasing number in IIH and SNP PDUs whenever it is changed due any 231 situation as specified in Section 3.1. 233 The 32-bit Packet Sequence Number (PSN) MUST be set and increase 234 monotonically for IIH or SNP PDUs sent by IS-IS node. Upon 235 reception, the Packet Sequence number MUST be greater than the last 236 sequence number in the IIH or SNP PDUs accepted from the sending IS- 237 IS node. Otherwise, the IIH or SNP PDU is considered as replayed PDU 238 and dropped. 240 The ESN TLV defined here is optional. The ESN TLV MAY present only 241 in any IIH and SNP PDUs. If present and authentication is in use 242 this TLV MUST be included as part of the authentication data to 243 calculate the digest. A sender MUST only transmit a single ESN TLV 244 in a IS-IS PDU. 246 3.1. Sequence Number Wrap 248 If the 32-bit Packet Sequence Number in ESN TLV wraps; or session is 249 refreshed; or even for the cold restarts the 64-bit ESSN value MUST 250 be set higher than the previous value. IS-IS implementations MAY use 251 guidelines provided in Section 9 for accomplishing this. 253 4. Mechanism and Packet Encoding 255 The ESN TLV defined in this document is optional and the encoding and 256 decoding of this TLV in each IS-IS PDU is as detailed below. Also 257 refer, when to ignore processing of the ESN TLV as described in 258 Section 5 for appropriate operation in the face of legacy node(s) in 259 the network with out having this capability. 261 4.1. IIHs 263 The IIH ESN TLV information is maintained per IS-IS interface and per 264 level. For a broadcast interface, it can have two sets of ESN TLV 265 information, if the circuit belongs to both level-1 and level-2. For 266 point-to-point (P2P) interface, only one ESN TLV information is 267 needed. This TLV information can be maintained as part of the 268 adjacency state. 270 While transmitting, the 64-bit ESSN MUST always be started with a non 271 zero number and MAY use the guidelines as specified in Section 9 to 272 encode this 64-bit value. The 32-bit PSN starts from 1 and increases 273 monotonically for every subsequent PDU. 275 While receiving, the 64-bit ESSN MUST always be either same or higher 276 than the stored value in the adjacency state. Similarly, the 32-bit 277 PSN MUST be higher than the stored value in the adjacency state. If 278 the PDU is accepted then the adjacency state should be updated with 279 the last received IIH PDU's ESN TLV information. 281 For an adjacency refresh or the 32-bit PSN wrap the associated higher 282 order 64-bit ESSN MUST always be higher than the previous value and 283 the lower order 32-bit packet sequence number starts all over again. 285 4.2. SNPs 287 4.2.1. CSNPs 289 In broadcast networks, only Designated Intermediate System (DIS) CSNP 290 ESN TLV information is maintained per adjacency (per level) similar 291 to IIH ESN TLV information. The procedure for encoding, verification 292 and sequence number wrap scenarios are similar as explained in 293 Section 4.1, except separate DIS ESN TLV information should be used. 294 In case of DIS change all adjacencies in the broadcast network MUST 295 reflect new DIS's CSNP ESN TLV information in the adjacency and 296 should be used for encoding/verification. 298 In P2P networks, CSNP ESN TLV information is maintained per adjacency 299 similar to IIH ESN TLV information. The procedure for encoding, 300 verification and sequence number wrap scenarios are similar as 301 explained in Section 4.1, except separate CSNP ESN TLV information 302 should be used. 304 4.2.2. PSNPs 306 In both broadcast and P2P networks, PSNP ESN TLV information is 307 maintained per adjacency (per level) similar to IIH ESN TLV 308 information. The procedure for encoding, verification and sequence 309 number wrap scenarios are similar as explained in Section 4.1, except 310 separate PSNP ESN TLV information should be used. 312 5. Backward Compatibility and Deployment 314 The implementation and deployment of the ESN TLV can be done to 315 support backward compatibility and gradual deployment in the network 316 without requiring a flag day. This feature can also be deployed for 317 the links in a certain area of the network where the maximum security 318 mechanism is needed, or it can be deployed for the entire network. 320 The implementation SHOULD allow the configuration of ESN TLV feature 321 on each IS-IS link level. The implementation SHOULD also allow 322 operators to control the configuration of 'send' and/or 'verify' the 323 feature of IS-IS PDUs for the links and for the node. In this 324 document, the 'send' operation is to include the ESN TLV in it's own 325 IS-IS PDUs; and the 'verify' operation is to process the ESN TLV in 326 the receiving IS-IS PDUs from neighbors. 328 In the face of an adversary doing an active attack, it is possible to 329 have inconsistent data view in the network, if there is a 330 considerable delay in enabling ESN TLV 'verify' operation from first 331 node to the last node in the network. This can happen primarily 332 because, replay PDUs can potentially be accepted by the nodes where 333 'verify' operation is still not provisioned at the time of the 334 attack. To minimize such a window it is recommended that 335 provisioning of 'verify' SHOULD be done in a timely fashion by the 336 network operators. 338 5.1. IIH and SNPs 340 On the link level, ESN TLV involves the IIH PDUs and SNPs (both CSNP 341 and PSNP). When the router software is upgraded to include this 342 feature, the network operators can configure the IS-IS to 'send' the 343 ESN TLV in it's IIH PDUs and SNPs for those IS-IS interfaces on the 344 IS-IS area or level. When all the routers attached to the link or 345 links have been upgraded with this feature, network operators can 346 start to configure 'verify' on the IS-IS interfaces for all the 347 routers sharing the same link(s). This way deployment can be done in 348 per link basis in the network. The operators may decide to only 349 apply ESN TLV feature on some of the links in the network, or only on 350 their multi-access media links. 352 6. IANA Considerations 354 This document requests that IANA allocate from the IS-IS TLV 355 Codepoints Registry a new TLV, referred to as the "Extended Sequence 356 Number" TLV, with the following attributes: 358 Type Description IIH LSP SNP Purge 359 ---- --------------------- --- --- --- ----- 360 TBD ESN TLV Y N Y N 362 Figure 2: IS-IS Codepoints Registry Entry 364 7. Security Considerations 366 This document describes a mechanism to the replay attack threat as 367 discussed in the Security Considerations section of [RFC5304] and in 368 [RFC5310]. This document does not introduce any new security 369 concerns to IS-IS or any other specifications referenced in this 370 document. 372 8. Acknowledgements 373 As some sort of sequence number mechanism to thwart protocol replays 374 is a old mechanism, authors of this document do not make any claims 375 on the originality of the overall protection idea described. Authors 376 are thankful for the review and the valuable feedback provided by 377 Acee Lindem, Joel Halpern and Les Ginsberg. 379 9. Appendix A 381 IS-IS nodes implementing this specification SHOULD use available 382 mechanisms to preserve the 64-bit Extended Session Sequence Number's 383 strictly increasing property, when ever it is changed for the 384 deployed life of the IS-IS node (including cold restarts). 386 This Appendix provides only guidelines for achieving the same and 387 implementations can resort to any similar method as far as strictly 388 increasing property of the 64-bit ESSN in ESN TLV is maintained. 390 9.1. Appendix A.1 392 One mechanism for accomplishing this is by encoding 64-bit ESSN as 393 system time represented in 64-bit unsigned integer value. This MAY 394 be similar to the system timestamp encoding for NTP long format as 395 defined in Appendix A.4 of [RFC5905]. New current time MAY be used 396 when the IS-IS node loses its sequence number state including in 397 Packet Sequence Number wrap scenarios. 399 Implementations MUST make sure while encoding the 64-bit ESN value 400 with current system time, it should not default to any previous value 401 or some default node time of the system; especially after cold 402 restarts or any other similar events. In general system time must be 403 preserved across cold restarts in order for this mechanism to be 404 feasible. One example of such implementation is to use a battery 405 backed real-time clock (RTC). 407 9.2. Appendix A.2 409 One other mechanism for accomplishing this would be similar to the 410 one as specified in [I-D.ietf-ospf-security-extension-manual-keying], 411 to use the 64-bit ESSN as a wrap/boot count stored in non-volatile 412 storage. This value is incremented anytime the IS-IS node loses its 413 sequence number state including in Packet Sequence Number wrap 414 scenarios. 416 The drawback of this approach per Section 6 of [I-D.ietf-ospf- 417 security-extension-manual-keying], if used is applicable here. The 418 only drawback is, it requires the IS-IS implementation to be able to 419 save its boot count in non-volatile storage. If the non-volatile 420 storage is ever repaired or upgraded such that the contents are lost, 421 keys MUST be changed to prevent replay attacks. 423 10. Appendix B 425 10.1. Operational/Implementation consideration 427 Since the ESN is maintained per interface, per level and per PDU 428 type, this scheme can be useful for monitoring the health of the IS- 429 IS adjacency. A Packet Sequence Number skip on IIH can be recorded 430 by the neighbors which can be used later to correlate with adjacency 431 state changes over the interface. For instance in a multi-access 432 media, all the neighbors have the skips from the same IIH sender or 433 only one neighbor has the Packet Sequence Number skips can indicate 434 completely different issues on the network. 436 11. References 438 11.1. Normative References 440 [RFC1195] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and 441 dual environments", RFC 1195, December 1990. 443 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 444 Requirement Levels", BCP 14, RFC 2119, March 1997. 446 [RFC5905] Mills, D., Martin, J., Burbank, J., and W. Kasch, "Network 447 Time Protocol Version 4: Protocol and Algorithms 448 Specification", RFC 5905, June 2010. 450 11.2. Informative References 452 [I-D.hartman-karp-mrkmp] 453 Hartman, S., Zhang, D., and G. Lebovitz, "Multicast Router 454 Key Management Protocol (MaRK)", draft-hartman-karp- 455 mrkmp-05 (work in progress), September 2012. 457 [I-D.ietf-karp-isis-analysis] 458 Chunduri, U., Tian, A., and W. Lu, "KARP IS-IS security 459 analysis", draft-ietf-karp-isis-analysis-00 (work in 460 progress), March 2013. 462 [I-D.ietf-ospf-security-extension-manual-keying] 463 Bhatia, M., Hartman, S., Zhang, D., and A. Lindem, 464 "Security Extension for OSPFv2 when using Manual Key 465 Management", draft-ietf-ospf-security-extension-manual- 466 keying-05 (work in progress), May 2013. 468 [I-D.weis-gdoi-mac-tek] 469 Weis, B. and S. Rowles, "GDOI Generic Message 470 Authentication Code Policy", draft-weis-gdoi-mac-tek-03 471 (work in progress), September 2011. 473 [RFC5304] Li, T. and R. Atkinson, "IS-IS Cryptographic 474 Authentication", RFC 5304, October 2008. 476 [RFC5310] Bhatia, M., Manral, V., Li, T., Atkinson, R., White, R., 477 and M. Fanto, "IS-IS Generic Cryptographic 478 Authentication", RFC 5310, February 2009. 480 [RFC6518] Lebovitz, G. and M. Bhatia, "Keying and Authentication for 481 Routing Protocols (KARP) Design Guidelines", RFC 6518, 482 February 2012. 484 Authors' Addresses 486 Uma Chunduri 487 Ericsson Inc. 488 300 Holger Way, 489 San Jose, California 95134 490 USA 492 Phone: 408 750-5678 493 Email: uma.chunduri@ericsson.com 495 Wenhu Lu 496 Ericsson Inc. 497 300 Holger Way, 498 San Jose, California 95134 499 USA 501 Email: wenhu.lu@ericsson.com 502 Albert Tian 503 Ericsson Inc. 504 300 Holger Way, 505 San Jose, California 95134 506 USA 508 Phone: 408 750-5210 509 Email: albert.tian@ericsson.com 511 Naiming Shen 512 Cisco Systems, Inc. 513 225 West Tasman Drive, 514 San Jose, California 95134 515 USA 517 Email: naiming@cisco.com