Internet Draft November 2008 Network Working Group Manav Bhatia Internet Draft Alcatel-Lucent Expires: May 2009 Vishwas Manral Intended Status: Informational IP Infusion Cryptographic Algorithm Implementation Requirements for Routing Protocols draft-bhatia-manral-igp-crypto-requirements-02.txt Status of this Memo Distribution of this memo is unlimited. By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/1id-abstracts.html The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Abstract The interior gateway routing protocols OSPFv2 [RFC2328], IS-IS [ISO] [RFC1195] and RIP [RFC2453] currently define clear text and MD5 [RFC1321] algorithms for authenticating their protocol packets. There have recently been documents adding support of the Secure Hash Algorithm (SHA) family of hash functions for authenticating routing protocol packets for RIP [RFC4822], IS-IS and OSPF. To ensure interoperability between disparate implementations, it is imperative that we specify a set of mandatory-to-implement algorithms thereby ensuring that there is at least one algorithm that all implementations will have available. Bhatia and Manral [Page 1] Internet Draft November 2008 This document defines the current set of mandatory-to-implement algorithms to be used for the cryptographic authentication of these routing protocols as well as specifying the algorithms that should be implemented because they may be promoted to mandatory at some future time. Conventions used in this document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119. [RFC2119] Table of Contents 1. Introduction...................................................2 2. Requirements Terminology.......................................3 3. Intermediate System to Intermediate System Routing Protocol (IS- IS)...............................................................4 3.1 Authentication Scheme Selection............................4 3.2 Authentication Algorithm Selection.........................5 4. Open Shortest Path First (OSPFv2)..............................5 4.1 Authentication Scheme Selection............................5 4.2 Authentication Algorithm Selection.........................6 5. Routing Information Protocolv2 (RIPv2).........................6 5.1 Authentication Scheme Selection............................7 5.2 Authentication Algorithm Selection.........................7 6. Security Considerations........................................7 7. Acknowledgements...............................................8 8. IANA Considerations............................................8 9. References.....................................................8 9.1 Normative References.......................................8 9.2 Informative References.....................................9 10. Author's Addresses............................................9 1. Introduction Most routing protocols include three different types of authentication schemes: Null authentication, clear text password and a cryptographic authentication scheme. NULL authentication is akin to having no authentication at all. In the clear text scheme, also sometimes known as, simple password scheme, of authentication, the passwords are exchanged in the clear text on the network and anyone with physical access to the network can learn the password and compromise the security of the routing domain. In the cryptographic authentication scheme, the routers share a secret key which is used to generate a keyed MD5 digest which is used for authenticating the protocol packets. Bhatia and Manral [Page 2] Internet Draft November 2008 This isnt good enough as there have been recent reports about attacks on MD5 which raises concerns about the remaining useful lifetime of this scheme. Specifically, the researchers have been able to develop algorithms that can compute hash collisions for some applications of MD5 [MD5-attack]. It was discovered that collisions can be found in MD5 algorithm in less than 24 hours, making MD5 insecure. Further research has verified this result and shown other ways to find collisions in MD5 hashes. It should however be noted that these attacks may not necessarily result in direct vulnerabilities in Keyed-MD5 as used in the routing protocols for authentication purposes, because the colliding message may not necessarily be a syntactically correct protocol packet. However, there is a need felt to move away from MD5 towards more complex and difficult to break hash algorithms. There have recently been documents adding support of the SHA family of hash algorithms for authenticating routing protocol packets for RIP, IS-IS and OSPF. However, the nature of cryptography is that new algorithms surface continuously and existing algorithms are continuously attacked. An algorithm believed to be strong today may be demonstrated to be weak tomorrow. Given this, the choice of mandatory-to-implement algorithm should be conservative so as to minimize the likelihood of it being compromised quickly. Also, we need to recognize that the mandatory-to-implement algorithm(s) may need to change over time to adapt to the changing world. For this reason, the selection of mandatory-to-implement algorithms should not be included in the base IS-IS specification. This way it is only this document that needs to get updated, whenever there is a need to update the status of mandatory-to-implement authentication algorithms. 2. Requirements Terminology Keywords "MUST", "MUST NOT", "REQUIRED", "SHOULD", "SHOULD NOT" and "MAY" that appear in this document are to be interpreted as described in [RFC2119]. We define some additional terms here: SHOULD+ This term means the same as SHOULD. However, it is likely that an algorithm marked as SHOULD+ will be promoted at some future time to be a MUST. Bhatia and Manral [Page 3] Internet Draft November 2008 SHOULD- This term means the same as SHOULD. However, it is likely that an algorithm marked as SHOULD- will be deprecated to a MAY or worse in a future version of this document. MUST- This term means the same as MUST. However, we expect that at some point in the future this algorithm will no longer be a MUST. 3. Intermediate System to Intermediate System Routing Protocol (IS-IS) IS-IS specification allows for authentication of its PDUs via the authentication TLV 10 that is carried as the part of the PDU. The base spec has provision for only clear text passwords and RFC 3567 [RFC3567] augments this to provide the capability to use HMAC-MD5 authentication for its PDUs. The [ISIS-HMAC] document recently submitted in the IETF adds support for SHA family of hash algorithms for authenticating IS-IS PDUs. 3.1 Authentication Scheme Selection For IS-IS implementations to interoperate, they must support one or more authentication schemes in common. This section specifies the requirements for standards conformant IS-IS implementations, which desire to utilize the security feature. Old Old New Req. RFC Requirement Authentication Scheme --- ------ ----------- ------------------------ MUST ISO-10589/ SHOULD NOT Clear Text Password (1) RFC 1195 MUST 3567 MUST- HMAC-MD5 - - SHOULD+ Cryptographic Auth [ISIS-HMAC] The above is only true in case security is required, if there is no requirement of security from an implementation, the above requirements need not be followed Notes: (1)This is used when all the routers can "trust" one another but the operator does not want an accidental introduction of a router in the domain. This scheme of authentication is useful, but not when the operator wants to "cryptographically" authenticate the OSPF packets. Bhatia and Manral [Page 4] Internet Draft November 2008 3.2 Authentication Algorithm Selection For IS-IS implementations to interoperate, they must support one or more authentication algorithms in common that can be used in the cryptographic scheme of authentication. This section details the authentication algorithm requirements for standards conformant IS-IS implementations. Old Old New Req. RFC Requirement Authentication Algorithm --- ------ ----------- ------------------------ MUST 3567 MUST- HMAC-MD5 - - SHOULD+ HMAC-SHA-1 [ISIS-HMAC] - - MAY+ HMAC-SHA-256/HMAC-SHA-384/HMAC-SHA-512 4. Open Shortest Path First (OSPFv2) OSPF as defined in [RFC2328] includes three different types of authentication schemes: Null authentication, simple password and cryptographic authentication. NULL authentication is akin to having no authentication at all. In the simple password scheme of authentication, the passwords are exchanged in the cleartext on the network and anyone with physical access to the network can learn the password and compromise the security of the OSPF domain. In the cryptographic authentication scheme, the OSPF routers on a common network/subnet share a secret key which is used to generate a keyed MD5 digest for each packet and a monotonically increasing sequence number scheme is used to prevent replay attacks. The [OSPF-HMAC] document submitted in the IETF adds support for SHA family of hash algorithms for authenticating OSPF packets. 4.1 Authentication Scheme Selection For OSPF implementations to interoperate, they must support one or more authentication schemes in common. This section specifies the requirements for standards conformant OSPF implementations, which desire to utilize the security feature. Old Old New Req. RFC Requirement Authentication Scheme --- ------ ----------- ------------------------ MUST 2328 SHOULD NOT Null Authentication (1) MUST 2328 SHOULD NOT Simple Password (2) MUST 2328 MUST Cryptographic Authentication Bhatia and Manral [Page 5] Internet Draft November 2008 The above is only true in case security is required, if there is no requirement of security from an implementation, the above requirements need not be followed Notes: (1)This is used when no authentication is required as there are scenarios when the operator does not really require any sort of authentication. However, this document lists down the requirements that an implementation must support in order to authenticate the OSPF packets. Patently, NULL should not be used if the operator has network security in mind. (2)This is used when all the routers can "trust" one another but the operator does not want an accidental introduction of a router in the domain. Again the same logic applies - this scheme of authentication is useful, but not when the operator wants to "cryptographically" authenticate the OSPF packets. 4.2 Authentication Algorithm Selection For OSPF implementations to interoperate, they must support one or more authentication algorithms in common that can be used in the cryptographic scheme of authentication. This section details the authentication algorithm requirements for standards conformant OSPF implementations. Old Old New Req. RFC Requirement Authentication Algorithm --- ------ ----------- ------------------------ MUST 2328 MUST- Keyed MD5 - - SHOULD+ HMAC-SHA-1 [OSPF-HMAC] - - MAY+ HMAC-SHA-256/HMAC-SHA-384/HMAC-SHA-512 5. Routing Information Protocolv2 (RIPv2) RIPv2, originally specified in [RFC1388], then [RFC1723], has been finalized in STD56 [RFC2453]. If the Address Family Identifier of the first (and only the first) entry in the message is 0xFFFF, then the remainder of the entry contains the authentication. This version of the protocol provides for authenticating packets by using a simple password in which the password is sent in clear. "RIP-2 MD5 Authentication" [RFC2082] adds support for Keyed-MD5 where a digest is added to the end of the RIP packet. "RIPv2 Cryptographic Authentication" [RFC4822] obsoletes [RFC2082] and adds details of how the SHA family of hash algorithms can be used to protect RIPv2, whereas [RFC2082] only specified the use of Keyed MD5. Bhatia and Manral [Page 6] Internet Draft November 2008 5.1 Authentication Scheme Selection For RIPv2 implementations to interoperate, they must support one or more authentication schemes in common. This section specifies the requirements for standards conformant RIPv2 implementations, which desire to utilize the security feature. Old Old New Req. RFC Requirement Authentication Scheme --- ------ ----------- ------------------------ MUST 2453 SHOULD NOT Simple Password (1) MUST 2082 MUST- Keyed-MD5 MUST 4822 MUST Cryptographic Authentication The above is only true in case security is required, if there is no requirement of security from an implementation, the above requirements need not be followed Notes: (1)This is used when all the routers can "trust" one another but the operator does not want an accidental introduction of a router in the domain. This scheme of authentication is useful, but not when the operator wants to protect the routing messages in a hostile environment. 5.2 Authentication Algorithm Selection For RIPv2 implementations to interoperate, they must support one or more authentication algorithms in common that can be used in the cryptographic scheme of authentication. This section details the authentication algorithm requirements for standards conformant OSPF implementations. Old Old New Req. RFC Requirement Authentication Algorithm --- ------ ----------- ------------------------ MUST 2082 MUST- Keyed MD5 - - SHOULD+ HMAC-SHA-1 [RFC4822] - - MAY+ HMAC-SHA-256/HMAC-SHA-384/HMAC-SHA-512 6. Security Considerations The cryptographic mechanisms defined in this document define only authentication algorithms, and do not provide any confidentiality. However encrypting the content of the packet (providing Bhatia and Manral [Page 7] Internet Draft November 2008 confidentiality) is not of as great a value to routing protocols as authenticating the source of the packet. It should be noted that the cryptographic strength of the HMAC depends upon the cryptographic strength of the underlying hash function and on the size and quality of the key. To ensure greater security, the keys used must be changed periodically and implementations MUST be able to store and use more than one key at the same time. This document concerns itself with the selection of cryptographic algorithms for the use of routing protocols, specifically with the selection of "mandatory-to-implement" algorithms. The algorithms identified in this document as "MUST implement" or "SHOULD implement" are not known to be broken at the current time, and cryptographic research so far leads us to believe that they will likely remain secure into the foreseeable future. However, this isn't necessarily forever. We would therefore expect that new revisions of this document will be issued from time to time that reflect the current best practice in this area. 7. Acknowledgements Much of the wording herein was adapted from RFC 4307, "Cryptographic Algorithms for Use in the Internet Key Exchange Version 2", by Jeffrey I. Schiller. 8. IANA Considerations This document places no requests to IANA. 9. References 9.1 Normative References [RFC1195] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and dual environments", RFC 1195, December 1990. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119 [RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, April 1998 [RFC2453] Malkin, G., "RIP Version 2", RFC 2453, November 1998 [RFC3567] Li, T. and R. Atkinson, "Intermediate System to Intermediate System (IS-IS) Cryptographic Authentication", RFC 3567, July 2003 Bhatia and Manral [Page 8] Internet Draft November 2008 [RFC4822] R. Atkinson and M. Fanto, "RIPv2 Cryptographic Authentication", RFC 4822, February 2007 [ISO] "Intermediate system to Intermediate system routeing information exchange protocol for use in conjunction with the Protocol for providing the Connectionless-mode Network Service (ISO 8473) ", ISO/IEC 10589:1992 [ISIS-HMAC] Bhatia, M., et. al., "IS-IS Generic Cryptographic Authentication", Work in Progress [OSPF-HMAC] Bhatia, M., Manral, V., et al., "OSPF HMAC-SHA Cryptographic Authentication", Work in Progress 9.2 Informative References [RFC1321] Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321, April 1992 [RFC1388] Malkin, G., "RIP Version 2 Carrying Additional Information", RFC 1388, January 1993. [RFC1723] Malkin, G., "RIP Version 2 - Carrying Additional Information", STD 56, RFC 1723, November 1994. [RFC2082] Baker, F. and Atkinson, R., "RIP-2 MD5 Authentication", RFC 2082, January 1997 [MD5-attack] Wang, X. et al., "Collisions for Hash Functions MD4, MD5, HAVAL-128 and RIPEMD", August 2004, http://eprint.iacr.org/2004/199 10. Author's Addresses Manav Bhatia Alcatel-Lucent Bangalore, India Email: manav@alcatel-lucent.com Vishwas Manral IP Infusion Almora, Uttarakhand India Email: vishwas@ipinfusion.com Full Copyright Statement Copyright (C) The IETF Trust (2008). Bhatia and Manral [Page 9] Internet Draft November 2008 This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Intellectual Property The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf- ipr@ietf.org. Bhatia and Manral [Page 10]