idnits 2.17.1 draft-ietf-karp-isis-analysis-07.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 : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (July 6, 2015) is 3217 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- -- Obsolete informational reference (is this intentional?): RFC 6822 (Obsoleted by RFC 8202) Summary: 0 errors (**), 0 flaws (~~), 1 warning (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Routing Working Group U. Chunduri 3 Internet-Draft A. Tian 4 Intended status: Informational W. Lu 5 Expires: January 7, 2016 Ericsson Inc. 6 July 6, 2015 8 KARP IS-IS security analysis 9 draft-ietf-karp-isis-analysis-07 11 Abstract 13 This document analyzes the threats applicable for Intermediate system 14 to Intermediate system (IS-IS) routing protocol and security gaps 15 according to the KARP Design Guide. This document also provides 16 specific requirements to address the gaps with both manual and auto 17 key management protocols. 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 January 7, 2016. 36 Copyright Notice 38 Copyright (c) 2015 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. Current State . . . . . . . . . . . . . . . . . . . . . . . . 3 57 2.1. Key Usage . . . . . . . . . . . . . . . . . . . . . . . . 4 58 2.1.1. Sub network Independent . . . . . . . . . . . . . . . 4 59 2.1.2. Sub network dependent . . . . . . . . . . . . . . . . 4 60 2.2. Key Agility . . . . . . . . . . . . . . . . . . . . . . . 5 61 2.3. Security Issues . . . . . . . . . . . . . . . . . . . . . 5 62 2.3.1. Replay Attacks . . . . . . . . . . . . . . . . . . . 5 63 2.3.1.1. Current Recovery mechanism for LSPs . . . . . . . 6 64 2.3.2. Spoofing Attacks . . . . . . . . . . . . . . . . . . 7 65 2.3.3. DoS Attacks . . . . . . . . . . . . . . . . . . . . . 8 66 3. Gap Analysis and Security Requirements . . . . . . . . . . . 8 67 3.1. Manual Key Management . . . . . . . . . . . . . . . . . . 8 68 3.2. Key Management Protocols . . . . . . . . . . . . . . . . 9 69 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 70 5. Security Considerations . . . . . . . . . . . . . . . . . . . 10 71 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10 72 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 73 7.1. Normative References . . . . . . . . . . . . . . . . . . 11 74 7.2. Informative References . . . . . . . . . . . . . . . . . 11 75 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 77 1. Introduction 79 This document analyzes the current state of Intermediate system to 80 Intermediate system (IS-IS) protocol according to the requirements 81 set forth in [RFC6518] for both manual and auto key management 82 protocols. 84 With currently published work, IS-IS meets some of the requirements 85 expected from a manually keyed routing protocol. Integrity 86 protection is expanded with more cryptographic algorithms and also 87 limited algorithm agility (HMAC-SHA family) is provided with 88 [RFC5310]. Basic form of Intra-connection re-keying capability is 89 provided by the specification [RFC5310] with some gaps as explained 90 in Section 3. 92 This draft summarizes the current state of cryptographic key usage in 93 the IS-IS protocol and several previous efforts to analyze IS-IS 94 security. This includes the base IS-IS specification [RFC1195], 95 [RFC5304], [RFC5310] and [RFC6039]. 97 This document also analyzes applicability of various threats to IS-IS 98 (as described in [RFC6862]), lists gaps and provide specific 99 recommendations to thwart the applicable threats for both manual 100 keying and for auto key management mechanisms. 102 1.1. Requirements Language 104 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 105 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 106 document are to be interpreted as described in RFC 2119 [RFC2119]. 108 1.2. Acronyms 110 DoS - Denial of Service. 112 GDOI - Group Domain of Interpretation 114 IGP - Interior Gateway Protocol. 116 IIH - IS-IS HELLO PDU. 118 IPv4 - Internet Protocol version 4. 120 KMP - Key Management Protocol (auto key management). 122 LSP - IS-IS Link State PDU. 124 MKM - Manual Key management Protocols. 126 NONCE - Number Once. 128 PDU - Protocol Data Unit. 130 SA - Security Association. 132 SNP - Sequence number PDU. 134 2. Current State 136 IS-IS is specified in International Standards Organization (ISO) 137 10589, with extensions to support Internet Protocol version 4 (IPv4) 138 described in [RFC1195]. The specification includes an authentication 139 mechanism that allows for any authentication algorithm and also 140 specifies the algorithm for clear text passwords. Further [RFC5304] 141 extends the authentication mechanism to work with HMAC-MD5 and also 142 modifies the base protocol for more effectiveness. [RFC5310] 143 provides algorithm agility, with new generic crypto authentication 144 mechanism (CRYPTO_AUTH) for IS-IS. The CRYPTO_AUTH also introduces 145 Key ID mechanism that map to unique IS-IS Security Associations 146 (SAs). 148 The following sections describe the current authentication key usage 149 for various IS-IS messages, current key change methodologies and the 150 various potential security threats. 152 2.1. Key Usage 154 IS-IS can be provisioned with a per interface, peer-to-peer key for 155 IS-IS HELLO (IIH) PDUs and a group key for Link State PDUs (LSPs) and 156 Sequence number PDUs (SNPs). If provisioned, IIH packets potentially 157 can use the same group key used for LSPs and SNPs. 159 2.1.1. Sub network Independent 161 Link State PDUs, Complete and partial Sequence Number PDUs come under 162 Sub network Independent messages. For protecting Level-1 SNPs and 163 Level-1 LSPs, provisioned Area Authentication key is used. Level-2 164 SNPs as well as Level-2 LSPs use the provisioned domain 165 authentication key. 167 Since authentication is performed on the LSPs transmitted by an IS, 168 rather than on the LSP packets transmitted to a specific neighbor, it 169 is implied that all the ISes within a single flooding domain must be 170 configured with the same key in order for authentication to work 171 correctly. This is also true for SNP packets, though they are 172 limited to link local scope in broadcast networks. 174 If multiple instances share the circuits as specified in [RFC6822], 175 instance specific authentication credentials can be used to protect 176 the LSPs and SNPs within an area or domain. It is important to note, 177 [RFC6822] also allows usage of topology specific authentication 178 credentials within an instance for the LSPs and SNPs. 180 2.1.2. Sub network dependent 182 IS-IS HELLO PDUs use the Link Level Authentication key, which may be 183 different from that of LSPs and SNPs. This could be particularly 184 true for point-to-point links. In broadcast networks it is possible 185 to provision the same common key used for LSPs and SNPs, to protect 186 IIH messages. This allows neighbor discovery and adjacency formation 187 with more than one neighbor on the same physical interface. If 188 multiple instances share the circuits as specified in [RFC6822], 189 instance specific authentication credentials can be used to protect 190 Hello messages. 192 2.2. Key Agility 194 Key roll over without effecting the routing protocols operation in 195 general and IS-IS in particular, is necessary for effective key 196 management protocol integration. 198 Current HMAC-MD5 crypto authentication as defined in [RFC5304], 199 suggests a transition mode, so that ISes use a set of keys when 200 verifying the authentication value, to allow key changes. This 201 approach will allow changing the authentication key manually without 202 bringing down the adjacency and without dropping any control packet. 203 But, this can increase the load on control plane for the key 204 transition duration as each control packet may have to be verified by 205 more than one key and also allows to mount a potential Denial of 206 Service (DoS) attack in the transition duration. 208 The above situation is improved with the introduction of Key ID 209 mechanism as defined in [RFC5310]. With this, the receiver 210 determines the active security association (SA) by looking at the Key 211 ID field in the incoming PDU and need not try with other keys, when 212 the integrity check or digest verification fails. But, neither Key 213 co-ordination across the group nor exact key change mechanism is 214 clearly defined. [RFC5310] says: " Normally, an implementation would 215 allow the network operator to configure a set of keys in a key chain, 216 with each key in the chain having a fixed lifetime. The actual 217 operation of these mechanisms is outside the scope of this document." 219 2.3. Security Issues 221 The following section analyzes various security threats possible, in 222 the current state for IS-IS protocol. 224 2.3.1. Replay Attacks 226 Replaying a captured protocol packet to cause damage is a common 227 threat for any protocol. Securing the packet with cryptographic 228 authentication information alone cannot mitigate this threat 229 completely. Though this problem is more prevalent in broadcast 230 networks it is important to note, most of the IGP deployments use 231 P2P-over-lan [RFC5309], which makes an adversary replay 'easier' than 232 the traditional P2P networks 234 In intra-session replay attacks a secured protocol packet of the 235 current session is replayed, can cause damage, if there is no other 236 mechanism to confirm this is a replay packet. In inter-session 237 replay attacks, captured packet from one of the previous session can 238 be replayed to cause the damage. IS-IS packets are vulnerable to 239 both these attacks, as there is no sequence number verification for 240 IIH packets and SNP packets. Also with current manual key management 241 periodic key changes across the group are done rarely. Thus the 242 intra-connection and inter-connection replay requirements are not 243 met. 245 IS-IS specifies the use of the HMAC-MD5 [RFC5304] and HMAC-SHA-1 246 family in [RFC5310], to protect IS-IS packets. An adversary could 247 replay old IIHs or replay old SNPs that would cause churn in the 248 network or bring down the adjacencies. 250 1. At the time of adjacency bring up an IS sends IIH packet with 251 empty neighbor list (TLV 6) and with the authentication 252 information as per provisioned authentication mechanism. If this 253 packet is replayed later on the broadcast network, all ISes in 254 the broadcast network can bounce the adjacency to create a huge 255 churn in the network. 257 2. Today LSPs have intra-session replay protection as LSP header 258 contains 32-bit sequence number which is verified for every 259 received packet against the local LSP database. But, if a node 260 in the network is out of service (is undergoing some sort of high 261 availability condition, or an upgrade) for more than LSP refresh 262 time and the rest of the network ages out the LSPs of the node 263 under consideration, an adversary can potentially plunge in 264 inter-session replay attacks in the network. If the key is not 265 changed in the above circumstances, attack can be launched by 266 replaying an old LSP with higher sequence number and fewer 267 prefixes or fewer adjacencies. This may force the receiver to 268 accept and remove the routes from the routing table, which 269 eventually causes traffic disruption to those prefixes. However, 270 as per the IS-IS specification there is a built-in recovery 271 mechanism for LSPs from inter-session replay attacks and it is 272 further discussed in Section 2.3.1.1. 274 3. In any IS-IS network (broadcast or otherwise), if an old and an 275 empty Complete Sequence Number packet (CSNP) is replayed this can 276 cause LSP flood in the network. Similarly a replayed Partial 277 Sequence Number Packet (PSNP) can cause LSP flood in the 278 broadcast network. 280 2.3.1.1. Current Recovery mechanism for LSPs 282 In the event of inter-session replay attack by an adversary, as LSP 283 with higher sequence number gets accepted, it also gets propagated 284 until it reaches the originating node of the LSP. The originator 285 recognizes the LSP is "newer" than in the local database and this 286 prompts the originator to flood a newer version of the LSP with 287 higher sequence number than the received. This newer version can 288 potentially replace any versions of the replayed LSP which may exist 289 in the network. 291 But in the above process, depending on where in the network the 292 replay is initiated, how quick the nodes in the network react to the 293 replayed LSP and also how different the content in the accepted LSP 294 determines the damage caused by the replayed LSP. 296 2.3.2. Spoofing Attacks 298 IS-IS shares the same key between all neighbors in an area or in a 299 domain to protect the LSP, SNP packets and in broadcast networks even 300 IIH packets. False advertisement by a router is not within scope of 301 the KARP work. However, given the wide sharing of keys as described 302 above, there is a significant risk that an attacker can compromise a 303 key from one device, and use it to falsely participate in the 304 routing, possibly even in a very separate part of the network. 306 If the same underlying topology is shared across multiple instances 307 to transport routing/application information as defined in [RFC6822], 308 it is necessary to use different authentication credentials for 309 different instances. In this connection, based on the deployment 310 considerations, if certain topologies in a particular IS-IS instance 311 require more protection from spoofing attacks and less exposure, 312 topology specific authentication credentials can be used for LSPs and 313 SNPs as facilitated in [RFC6822]. 315 Currently possession of the key itself is used as authentication 316 check and there is no identity check done separately. Spoofing 317 occurs when an illegitimate device assumes the identity of a 318 legitimate one. An attacker can use spoofing as a means for 319 launching various types of attacks. For example: 321 1. The attacker can send out unrealistic routing information that 322 might cause the disruption of network services such as block 323 holes. 325 2. A rogue system having access to the common key used to protect 326 the LSP, can send an LSP, setting the Remaining Lifetime field to 327 zero, and flooding it thereby initiating a purge. Subsequently, 328 this also can cause the sequence number of all the LSPs to 329 increase quickly to max out the sequence number space, which can 330 cause an IS to shut down for MaxAge + ZeroAgeLifetime period to 331 allow the old LSPs to age out in other ISes of the same flooding 332 domain. 334 2.3.3. DoS Attacks 336 Denial-of-service (DoS) attacks using the authentication mechanism is 337 possible and an attacker can send packets which can overwhelm the 338 security mechanism itself. An example is initiating an overwhelming 339 load of spoofed but integrity protected protocol packets, so that the 340 receiver needs to process the integrity check, only to discard the 341 packet. This can cause significant CPU usage. DoS attacks are not 342 generally preventable within the routing protocol. As the attackers 343 are often remote, the DoS attacks are more damaging to area-scoped or 344 domain-scoped packet receivers than link-local scoped packet 345 receivers. 347 3. Gap Analysis and Security Requirements 349 This section outlines the differences between the current state of 350 the IS-IS routing protocol and the desired state as specified in KARP 351 Design Guidelines [RFC6518]. The section focuses on where IS-IS 352 protocol fails to meet general requirements as specified in the 353 threats and requirements document. 355 This section also describes security requirements that should be met 356 by IS-IS implementations that are secured by manual as well as auto 357 key management protocols. 359 3.1. Manual Key Management 361 1. With CRYPTO_AUTH specification [RFC5310], IS-IS packets can be 362 protected with HMAC-SHA family of cryptographic algorithms. The 363 specification provides the limited algorithm agility (SHA 364 family). By using Key IDs, it also conceals the algorithm 365 information from the protected control messages. 367 2. Even though both intra and inter session replay attacks are best 368 prevented by deploying key management protocols with frequent key 369 change capability, basic constructs for sequence number should be 370 there in the protocol messages. So, some basic or extended 371 sequence number mechanism should be in place to protect IIH 372 packets and SNP packets. The sequence number should be increased 373 for each protocol packet. This allows mitigation of some of the 374 replay threats as mentioned in Section 2.3.1. 376 3. Any common key mechanism with keys shared across a group of 377 routers is susceptible to spoofing attacks caused by a malicious 378 router. Separate authentication check (apart from the integrity 379 check to verify the digest) with digital signatures as described 380 in [RFC2154], can effectively nullify this attack. But this 381 approach was never deployed and one can only assume due to 382 operational considerations at that time. The alternative 383 approach to thwart this threat would be by using the keys from 384 the group key management protocol. As the group key(s) are 385 generated by authenticating the member ISes in the group first, 386 and then periodically rekeyed, per packet identity or 387 authentication check may not be needed. 389 4. In general DoS attacks may not be preventable with mechanism from 390 routing protocols itself. But some form of Admin controlled 391 lists (ACLs) at the forwarding plane can reduce the damage. 392 There are some other forms the DoS attacks common to any protocol 393 are not in scope as per the section 3.3 in [RFC6862]. 395 As discussed in Section 2.2, though Key ID mechanism in [RFC5310] 396 helps, better key co-ordination mechanism for key roll over is 397 desirable even with manual key management. But, it fell short of 398 specifying exact mechanism other than using key chains. The specific 399 requirements: 401 a. Keys SHOULD be able to change without affecting the established 402 adjacency and even better without any control packet loss. 404 b. Keys SHOULD be able to change without effecting the protocol 405 operations, for example, LSP flooding should not be held for a 406 specific Key ID availability. 408 c. Any proposed mechanism SHOULD also be further incrementally 409 deployable with key management protocols. 411 3.2. Key Management Protocols 413 In broadcast deployments, the keys used for protecting IS-IS 414 protocols messages can, in particular, be group keys. A mechanism is 415 needed to distribute group keys to a group of ISes in a Level-1 area 416 or Level-2 domain, using the Group Domain of Interpretation (GDOI) 417 protocol as specified in [RFC6407]. An example policy and payload 418 format was described in [I-D.weis-gdoi-mac-tek]. 420 If a group key is used, the authentication granularity becomes group 421 membership of devices, not peer authentication between devices. 422 Group key management protocol deployed SHOULD be capable of 423 supporting rekeying support. 425 In some deployments, where IS-IS point-to-point (P2P) mode is used 426 for adjacency bring-up, sub network dependent messages (IIHs) can use 427 a different key shared between the two point-to-point peers, while 428 all other messages use a group key. When group keying mechanism is 429 deployed, even the P2P IIHs can be protected with the common group 430 keys. This approach facilitates one key management mechanism instead 431 of both pair-wise keying and group keying protocols to be deployed 432 together. If same circuits are shared across multiple instances, the 433 granularity of the group can become per instance for IIHs and per 434 instance/topology for LSPs and SNPs as specified in the [RFC6822]. 436 Effective key change capability within the routing protocol which 437 allows key roll over without impacting the routing protocol 438 operation, is one of the requirements for deploying any group key 439 mechanism. Once such mechanism is in place with deployment of group 440 key management protocol, IS-IS can be protected from various threats 441 not limited to intra and inter session replay attacks and spoofing 442 attacks. 444 Specific use of crypto tables [RFC7210] should be defined for IS-IS 445 protocol. 447 4. IANA Considerations 449 This document defines no new namespaces. 451 5. Security Considerations 453 This document is mostly about security considerations of IS-IS 454 protocol, lists potential threats and security requirements for 455 solving those threats. This document does not introduce any new 456 security threats for IS-IS protocol. In view of openly published 457 attack vectors, as noted in Section 1 of [RFC5310] on HMAC-MD5 458 cryptographic authentication mechanism, IS-IS deployments SHOULD use 459 HMAC-SHA family [RFC5310] instead of HMAC-MD5 [RFC5304] for 460 protecting IS-IS PDUs. For more detailed security considerations 461 please refer the Security Considerations section of the IS-IS Generic 462 Cryptographic Authentication [RFC5310], KARP Design Guide [RFC6518] 463 document as well as KARP threat document [RFC6862]. 465 6. Acknowledgements 467 Authors would like to thank Joel Halpern for initial discussions on 468 this document and giving valuable review comments. Authors would 469 like to acknowledge Naiming Shen for reviewing and providing feedback 470 on this document. Thanks to Russ White, Brian Carpenter and Amanda 471 Barber for reviewing the document during IESG review process. 473 7. References 474 7.1. Normative References 476 [RFC1195] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and 477 dual environments", RFC 1195, December 1990. 479 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 480 Requirement Levels", BCP 14, RFC 2119, March 1997. 482 [RFC5304] Li, T. and R. Atkinson, "IS-IS Cryptographic 483 Authentication", RFC 5304, October 2008. 485 [RFC5310] Bhatia, M., Manral, V., Li, T., Atkinson, R., White, R., 486 and M. Fanto, "IS-IS Generic Cryptographic 487 Authentication", RFC 5310, February 2009. 489 7.2. Informative References 491 [I-D.weis-gdoi-mac-tek] 492 Weis, B. and S. Rowles, "GDOI Generic Message 493 Authentication Code Policy", draft-weis-gdoi-mac-tek-03 494 (work in progress), September 2011. 496 [RFC2154] Murphy, S., Badger, M., and B. Wellington, "OSPF with 497 Digital Signatures", RFC 2154, June 1997. 499 [RFC5309] Shen, N. and A. Zinin, "Point-to-Point Operation over LAN 500 in Link State Routing Protocols", RFC 5309, October 2008. 502 [RFC6039] Manral, V., Bhatia, M., Jaeggli, J., and R. White, "Issues 503 with Existing Cryptographic Protection Methods for Routing 504 Protocols", RFC 6039, October 2010. 506 [RFC6407] Weis, B., Rowles, S., and T. Hardjono, "The Group Domain 507 of Interpretation", RFC 6407, October 2011. 509 [RFC6518] Lebovitz, G. and M. Bhatia, "Keying and Authentication for 510 Routing Protocols (KARP) Design Guidelines", RFC 6518, 511 February 2012. 513 [RFC6822] Previdi, S., Ginsberg, L., Shand, M., Roy, A., and D. 514 Ward, "IS-IS Multi-Instance", RFC 6822, December 2012. 516 [RFC6862] Lebovitz, G., Bhatia, M., and B. Weis, "Keying and 517 Authentication for Routing Protocols (KARP) Overview, 518 Threats, and Requirements", RFC 6862, March 2013. 520 [RFC7210] Housley, R., Polk, T., Hartman, S., and D. Zhang, 521 "Database of Long-Lived Symmetric Cryptographic Keys", RFC 522 7210, April 2014. 524 Authors' Addresses 526 Uma Chunduri 527 Ericsson Inc. 528 300 Holger Way, 529 San Jose, California 95134 530 USA 532 Phone: 408 750-5678 533 Email: uma.chunduri@ericsson.com 535 Albert Tian 536 Ericsson Inc. 537 300 Holger Way, 538 San Jose, California 95134 539 USA 541 Phone: 408 750-5210 542 Email: albert.tian@ericsson.com 544 Wenhu Lu 545 Ericsson Inc. 546 300 Holger Way, 547 San Jose, California 95134 548 USA 550 Email: wenhu.lu@ericsson.com