idnits 2.17.1 draft-ietf-karp-isis-analysis-05.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 : ---------------------------------------------------------------------------- ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (June 29, 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: 1 error (**), 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: December 31, 2015 Ericsson Inc. 6 June 29, 2015 8 KARP IS-IS security analysis 9 draft-ietf-karp-isis-analysis-05 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 December 31, 2015. 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. Security Considerations . . . . . . . . . . . . . . . . . . . 10 70 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10 71 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 72 6.1. Normative References . . . . . . . . . . . . . . . . . . 10 73 6.2. Informative References . . . . . . . . . . . . . . . . . 11 74 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 76 1. Introduction 78 This document analyzes the current state of Intermediate system to 79 Intermediate system (IS-IS) protocol according to the requirements 80 set forth in [RFC6518] for both manual and auto key management 81 protocols. 83 With currently published work, IS-IS meets some of the requirements 84 expected from a manually keyed routing protocol. Integrity 85 protection is expanded with more cryptographic algorithms and also 86 limited algorithm agility (HMAC-SHA family) is provided with 87 [RFC5310]. Basic form of Intra-connection re-keying capability is 88 provided by the specification [RFC5310] with some gaps as explained 89 in Section 3. 91 This draft summarizes the current state of cryptographic key usage in 92 IS-IS protocol and several previous efforts to analyze IS-IS 93 security. This includes base IS-IS specification [RFC1195], 94 [RFC5304], [RFC5310] and the OPSEC working group document [RFC6039]. 96 Authors would like to acknowledge all the previous work done in the 97 above documents. 99 This document also analyzes applicability of various threats as 100 described in [RFC6862] to IS-IS, lists gaps and provide specific 101 recommendations to thwart the applicable threats for both manual 102 keying and for auto key management mechanisms. 104 1.1. Requirements Language 106 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 107 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 108 document are to be interpreted as described in RFC 2119 [RFC2119]. 110 1.2. Acronyms 112 DoS - Denial of Service. 114 GDOI - Group Domain of Interpretation 116 IGP - Interior Gateway Protocol. 118 IIH - IS-IS HELLO PDU. 120 IPv4 - Internet Protocol version 4. 122 KMP - Key Management Protocol (auto key management). 124 LSP - IS-IS Link State PDU. 126 MKM - Manual Key management Protocols. 128 NONCE - Number Once. 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 PDUs (IIH) 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 with in an area or domain. It is important to 177 note, [RFC6822] also allows usage of topology specific authentication 178 credentials with in 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 with in 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, 415 similar to as described in [I-D.weis-gdoi-mac-tek] can be used to 416 distribute group keys to a group of ISes in Level-1 area or Level-2 417 domain, using GDOI as specified in [RFC6407]. 419 If a group key is used, the authentication granularity becomes group 420 membership of devices, not peer authentication between devices. 421 Group key management protocol deployed SHOULD be capable of 422 supporting rekeying support. 424 In some deployments, where IS-IS point-to-point (P2P) mode is used 425 for adjacency bring-up, sub network dependent messages (IIHs) can use 426 a different key shared between the two point-to-point peers, while 427 all other messages use a group key. When group keying mechanism is 428 deployed, even the P2P IIHs can be protected with the common group 429 keys. This approach facilitates one key management mechanism instead 430 of both pair-wise keying and group keying protocols to be deployed 431 together. If same circuits are shared across multiple instances, the 432 granularity of the group can become per instance for IIHs and per 433 instance/topology for LSPs and SNPs as specified in the [RFC6822]. 435 Effective key change capability with in the routing protocol which 436 allows key roll over without impacting the routing protocol 437 operation, is one of the requirements for deploying any group key 438 mechanism. Once such mechanism is in place with deployment of group 439 key management protocol, IS-IS can be protected from various threats 440 not limited to intra and inter session replay attacks and spoofing 441 attacks. 443 Specific use of crypto tables [RFC7210] should be defined for IS-IS 444 protocol. 446 4. Security Considerations 448 This document is mostly about security considerations of IS-IS 449 protocol, lists potential threats and security requirements for 450 solving those threats. This document does not introduce any new 451 security threats for IS-IS protocol. For more detailed security 452 considerations please refer the Security Considerations section of 453 the KARP Design Guide [RFC6518] document as well as KARP threat 454 document [RFC6862]. 456 5. Acknowledgements 458 Authors would like to thank Joel Halpern for initial discussions on 459 this document and giving valuable review comments. Authors would 460 like to acknowledge Naiming Shen for reviewing and providing feedback 461 on this document. Thanks to Russ White, Brian Carpenter and Amanda 462 Barber for reviewing the document during IESG review process. 464 6. References 466 6.1. Normative References 468 [RFC1195] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and 469 dual environments", RFC 1195, December 1990. 471 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 472 Requirement Levels", BCP 14, RFC 2119, March 1997. 474 [RFC5304] Li, T. and R. Atkinson, "IS-IS Cryptographic 475 Authentication", RFC 5304, October 2008. 477 [RFC5310] Bhatia, M., Manral, V., Li, T., Atkinson, R., White, R., 478 and M. Fanto, "IS-IS Generic Cryptographic 479 Authentication", RFC 5310, February 2009. 481 6.2. Informative References 483 [I-D.weis-gdoi-mac-tek] 484 Weis, B. and S. Rowles, "GDOI Generic Message 485 Authentication Code Policy", draft-weis-gdoi-mac-tek-03 486 (work in progress), September 2011. 488 [RFC2154] Murphy, S., Badger, M., and B. Wellington, "OSPF with 489 Digital Signatures", RFC 2154, June 1997. 491 [RFC5309] Shen, N. and A. Zinin, "Point-to-Point Operation over LAN 492 in Link State Routing Protocols", RFC 5309, October 2008. 494 [RFC6039] Manral, V., Bhatia, M., Jaeggli, J., and R. White, "Issues 495 with Existing Cryptographic Protection Methods for Routing 496 Protocols", RFC 6039, October 2010. 498 [RFC6407] Weis, B., Rowles, S., and T. Hardjono, "The Group Domain 499 of Interpretation", RFC 6407, October 2011. 501 [RFC6518] Lebovitz, G. and M. Bhatia, "Keying and Authentication for 502 Routing Protocols (KARP) Design Guidelines", RFC 6518, 503 February 2012. 505 [RFC6822] Previdi, S., Ginsberg, L., Shand, M., Roy, A., and D. 506 Ward, "IS-IS Multi-Instance", RFC 6822, December 2012. 508 [RFC6862] Lebovitz, G., Bhatia, M., and B. Weis, "Keying and 509 Authentication for Routing Protocols (KARP) Overview, 510 Threats, and Requirements", RFC 6862, March 2013. 512 [RFC7210] Housley, R., Polk, T., Hartman, S., and D. Zhang, 513 "Database of Long-Lived Symmetric Cryptographic Keys", RFC 514 7210, April 2014. 516 Authors' Addresses 517 Uma Chunduri 518 Ericsson Inc. 519 300 Holger Way, 520 San Jose, California 95134 521 USA 523 Phone: 408 750-5678 524 Email: uma.chunduri@ericsson.com 526 Albert Tian 527 Ericsson Inc. 528 300 Holger Way, 529 San Jose, California 95134 530 USA 532 Phone: 408 750-5210 533 Email: albert.tian@ericsson.com 535 Wenhu Lu 536 Ericsson Inc. 537 300 Holger Way, 538 San Jose, California 95134 539 USA 541 Email: wenhu.lu@ericsson.com