idnits 2.17.1 draft-ietf-ripv2-md5-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Cannot find the required boilerplate sections (Copyright, IPR, etc.) in this document. Expected boilerplate is as follows today (2024-04-25) according to https://trustee.ietf.org/license-info : IETF Trust Legal Provisions of 28-dec-2009, Section 6.a: This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. IETF Trust Legal Provisions of 28-dec-2009, Section 6.b(i), paragraph 2: Copyright (c) 2024 IETF Trust and the persons identified as the document authors. All rights reserved. IETF Trust Legal Provisions of 28-dec-2009, Section 6.b(i), paragraph 3: This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** Missing document type: Expected "INTERNET-DRAFT" in the upper left hand corner of the first page ** Missing expiration date. The document expiration date should appear on the first and last page. ** The document seems to lack a 1id_guidelines paragraph about Internet-Drafts being working documents. ** The document seems to lack a 1id_guidelines paragraph about 6 months document validity. ** The document seems to lack a 1id_guidelines paragraph about the list of current Internet-Drafts. ** The document seems to lack a 1id_guidelines paragraph about the list of Shadow Directories. == No 'Intended status' indicated for this document; assuming Proposed Standard == It seems as if not all pages are separated by form feeds - found 0 form feeds but 12 pages Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an Abstract section. ** 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.) ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. ** The document seems to lack a both a reference to RFC 2119 and the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords. RFC 2119 keyword, line 168: '... calculated. If it is not, it MUST be...' RFC 2119 keyword, line 185: '...started) SHOULD be used. Since the ke...' RFC 2119 keyword, line 245: '...is specification SHOULD NOT be stored ...' RFC 2119 keyword, line 249: '...Implementations MUST support the stora...' RFC 2119 keyword, line 251: '...interface. They MUST associate a spec...' (12 more instances...) Miscellaneous warnings: ---------------------------------------------------------------------------- -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (November 1994) is 10754 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) == Unused Reference: '1' is defined on line 367, but no explicit reference was found in the text == Unused Reference: '2' is defined on line 370, but no explicit reference was found in the text == Unused Reference: '3' is defined on line 373, but no explicit reference was found in the text ** Obsolete normative reference: RFC 1388 (ref. '1') (Obsoleted by RFC 1723) ** Downref: Normative reference to an Informational RFC: RFC 1321 (ref. '2') ** Obsolete normative reference: RFC 1389 (ref. '3') (Obsoleted by RFC 1724) -- Possible downref: Non-RFC (?) normative reference: ref. '4' ** Downref: Normative reference to an Informational RFC: RFC 1704 (ref. '5') ** Downref: Normative reference to an Informational RFC: RFC 1636 (ref. '6') Summary: 16 errors (**), 0 flaws (~~), 5 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 DRAFT RIP-II Cryptographic Authentication November 1994 4 RIP-II Cryptographic Authentication 5 draft-ietf-ripv2-md5-00.txt 7 Thu Nov 10 08:50:59 PST 1994 9 Fred Baker 10 Cisco Systems 11 fred@cisco.com 13 Randall Atkinson 14 Information Technology Division 15 Naval Research Laboratory 16 atkinson@itd.nrl.navy.mil 18 Status of this Memo 20 This document is an Internet Draft. Internet Drafts are working 21 documents of the Internet Engineering Task Force (IETF), its Areas, and 22 its Working Groups. Note that other groups may also distribute working 23 documents as Internet Drafts. 25 Internet Drafts are valid for a maximum of six months and may be 26 updated, replaced, or obsoleted by other documents at any time. It is 27 inappropriate to use Internet Drafts as reference material or to cite 28 them other than as a "work in progress". 30 DRAFT RIP-II Cryptographic Authentication November 1994 32 1. Introduction 34 Growth in the Internet has made us aware of the need for improved 35 authentication of routing information. RIP-II provides for 36 unauthenticated service (as in classical RIP), or password 37 authentication. Both are vulnerable to passive attacks currently 38 widespread in the Internet. Well-understood security issues exist in 39 routing protocols [4]. Clear text passwords, currently specified for 40 use with RIP-II, are no longer considered sufficient [5]. 42 If authentication is disabled, then only simple misconfigurations are 43 detected. Simple passwords transmitted in the clear will further 44 protect against the honest neighbor, but are useless in the general 45 case. By simply capturing information on the wire - straightforward 46 even in a remote environment - a hostile process can learn the password 47 and overcome the network. 49 We propose that RIP-II use an authentication algorithm, as in SNMP 50 Version 2, augmented by a sequence number. MD5 is proposed as the 51 standard authentication algorithm for RIP-II, but the mechanism is 52 intended to be algorithm-independent. While this mechanism is not 53 unbreakable (no known mechanism is), it provides a greatly enhanced 54 probability that a system being attacked will detect and ignore hostile 55 messages. This is because we transmit the output of an authentication 56 algorithm (e.g., MD5) rather than the secret RIP-II Authentication Key. 57 This output is a one-way function of a message and a secret RIP-II 58 Authentication Key. This RIP-II Authentication Key is never sent over 59 the network in the clear, thus providing protection against the passive 60 attacks now commonplace in the Internet. 62 In this way, protection is afforded against forgery or message 63 modification. It is possible to replay a message until the sequence 64 number changes, but the sequence number makes replay in the long term 65 less of an issue. The mechanism does not afford confidentiality, since 66 messages stay in the clear; however, the mechanism is also exportable 67 from most countries, which test a confidentiality algorithm would fail. 69 Other relevant rationales for the approach are that MD5 is used in SNMP 70 Version 2, and is therefore present in routers already, as is some form 71 of password management. A similar approach has been proposed for 72 authentication in IP version 6 (IPv6). 74 DRAFT RIP-II Cryptographic Authentication November 1994 76 2. Implementation Approach 78 Implementation requires three issues to be addressed: 80 (1) A changed packet format, 82 (2) Authentication procedures, and 84 (3) Management controls. 86 2.1. RIP-II PDU Format 88 The basic RIP-II message format provides for a 4 byte header with an 89 array of 20 byte records as its data content. When MD5 is used, the 90 same header and content are used, except that the 16 byte 91 "authentication key" field is reused to describe a "Keyed Message 92 Digest" trailer. This consists in five fields: 94 (1) The "Authentication Type" is Keyed Message Digest Algorithm, 95 indicated by the value 3 (1 and 2 indicate "IP Route" and 96 "Password", respectively). 98 (2) A 16 bit offset from the RIP-II header to the record containing the 99 cryptogtaphic digest. This value effectively points to the end of 100 routing data in the packet.. 102 (3) An unsigned 8-bit field that contains the Key Identifier or Key-ID. 103 This identifies the key used to create the Authentication Data for 104 this RIP-II message. A key is associated with an interface. 106 (4) An unsigned 8-bit field that contains the length in octets of the 107 trailing Authentication Data field. The presence of this field 108 permits other algorithms (e.g., SHA) to be substituted for MD5 if 109 desired. 111 (5) An unsigned 32 bit non-decreasing sequence number. 113 The trailer consists of the Authentication Data, which is the output of 114 the Keyed Message Digest Algorithm. When the Authentication Algorithm 115 is MD5, the output data is 16 bytes; during digest calculation, this is 116 effectively followed by a pad field and a length field as defined by RFC 117 1321. The field is contained in a record reminiscient of other 118 entiries, to be kind to ancient RIP implementations, but the actual 119 length of the digest varies by algorithm. 121 DRAFT RIP-II Cryptographic Authentication November 1994 123 2.2. Processing Algorithm 125 When the authentication type is "Keyed Message Digest", message 126 processing is changed in message creation and reception. 127 0 1 2 3 3 128 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 129 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 130 | Command (1) | Version (1) | Routing Domain (2) | 131 +---------------+---------------+-------------------------------+ 132 | 0xFFFF | AuType=Keyed Message Digest | 133 +-------------------------------+-------------------------------+ 134 | RIP-II Packet Length | Key ID | Auth Data Len | 135 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 136 | Sequence Number (non-decreasing) | 137 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 138 | reserved must be zero | 139 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 140 | reserved must be zero | 141 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 142 | | 143 / (RIP-II Packet length-24) bytes Data / 144 | | 145 +---------------+---------------+-------------------------------+ 146 | 0xFFFF | 0x01 | 147 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 148 / Authentication Data (var. length; 16 bytes when MD5 is used) / 149 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 151 The MD5 algorithm logically appends the following information to the 152 packet during the MD5 calculation. 154 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 155 | zero or more pad bytes (defined by RFC 1321 when MD5 is used) | 156 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 157 | 64 bit message length MSW | 158 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 159 | 64 bit message length LSW | 160 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 162 DRAFT RIP-II Cryptographic Authentication November 1994 164 2.2.1. Message Generation 166 The RIP-II Packet is created as usual, with these exceptions: 168 (1) The UDP checksum need not be calculated. If it is not, it MUST be 169 set to zero. 171 (2) The authentication type field indicates the Keyed Message Digest 172 Algorithm (2). 174 (3) The authentication "password" field is reused to store a packet 175 offset to the Authentication Data, a Key Identifier, the 176 Authentication Data Length, and a non-decreasing sequence number. 178 The value used in the sequence number is arbitrary, but two suggestions 179 are the time of the message's creation or a simple message counter. 181 The RIP-II Authentication Key is selected by the sender based on the 182 outgoing interface. Each key has a lifetime associated with it. No key 183 is ever used outside its lifetime. If more than one key is currently 184 alive, then the youngest key (the key whose lifetime most recently 185 started) SHOULD be used. Since the key's algorithm is an attribute of 186 the key, stored in the sender and receiver along with it, the Key ID 187 effectively indicates which authentication algorithm is in use if the 188 implementation supports more than one authentication algorithm. 190 (1) The RIP-II header's packet length field indicates the standard 191 RIP-II portion of the packet. 193 (2) The Authentication Data Offset, Key Identifier, and Authentication 194 Data size fields are filled in appropriately. 196 (3) The RIP-II Authentication Key, which is 16 bytes long when the MD5 197 algorithm is used, is now appended to the data. For all 198 algorithms, the RIP-II Authentication Key is never longer than the 199 output of the algorithm in use. 201 (4) Trailing pad and length fields are added and the digest calculated 202 using the indicated algorithm. When MD5 is the algorithm in use, 203 these are calculated per RFC 1321. 205 (5) The digest is written over the RIP-II Authentication Key. When MD5 206 is used, this digest will be 16 bytes long. 208 DRAFT RIP-II Cryptographic Authentication November 1994 210 The trailing pad is not actually transmitted, as it is entirely 211 predictable from the message length and algorithm in use. 213 2.2.2. Message Reception 215 When the message is received, the process is reversed: 217 (1) The digest is set aside, 219 (2) The appropriate algorithm and key are determined from the value of 220 the Key Identifier field, 222 (3) The RIP-II Authentication Key is written into the appropriate 223 number (16 when MD5 is used) of bytes starting at the offset 224 indicated, 226 (4) Appropriate padding is added as needed, and 228 (5) A new digest calculated using the indicated algorithm. 230 If the calculated digest does not match the received digest, the message 231 is discarded unprocessed. If the neighbor has been heard from recently 232 enough to have viable routes in the route table and the received 233 sequence number is less than the last one received, the message likewise 234 is discarded unprocessed. The received sequence number must, of course, 235 be stored by neighbor and zeroed whenever it determines that 236 connectivity to the neighbor has been lost. Acceptable messages are now 237 truncated to RIP-II message itself and treated normally. 239 3. Management Procedures 241 3.1. Key Management Requirements 243 It is strongly desirable that a hypothetical security breach in one 244 Internet protocol not automatically compromise other Internet protocols. 245 The Authentication Key of this specification SHOULD NOT be stored using 246 protocols or algorithms that have known flaws or fail to afford perfect 247 forward secrecy. 249 Implementations MUST support the storage of more than one key at the 250 same time, although it is recognized that only one key will normally be 251 active on an interface. They MUST associate a specific lifetime (i.e., 252 data/time first valid and data/time no longer valid) and a key 253 identifier with each key, and MUST support manual key distribution 254 (e.g., the privileged user manually typing in the key, key lifetime, and 256 DRAFT RIP-II Cryptographic Authentication November 1994 258 key identifier on the router console). The lifetime may be infinite. 259 If more than one algorithm is supported, then the implementation MUST 260 require that the algorithm be specified for each key at the time the 261 other key information is entered. Keys that are out of date MAY be 262 deleted at will by the implementation without requiring human 263 intervention. Manual deletion of active keys SHOULD also be supported. 265 It is likely that the IETF will define a standard key management 266 protocol. It is strongly desirable to use that key management protocol 267 to distribute RIP-II Authentication Keys among communicating RIP-II 268 implementations. Such a protocol would provide scalability and 269 significantly reduce the human administrative burden. The Key ID can be 270 used as a hook between RIP-II and such a future protocol. Key 271 management protocols have a long history of subtle flaws that are often 272 discovered long after the protocol was first described in public. To 273 avoid having to change all RIP-II implementations should such a flaw be 274 discovered, integrated key management protocol techniques were 275 deliberately omitted from this specification. 277 3.2. Key Management Procedures 279 As with all security methods using keys, it is necessary to change the 280 RIP-II Authentication Key on a regular basis. To maintain routing 281 stability during such changes, implementations are required to store and 282 support the use of more than one RIP-II Authentication Key on a given 283 interface at the same time. 285 Each key will have its own Key Identifier, which is stored locally. The 286 combination of the Key Identifier and the interface associated with the 287 message uniquely identifies the Authentication Algorithm and RIP-II 288 Authentication Key in use. 290 As noted above in Section 2.2.1, the party creating the RIP-II message 291 will select a valid key from the set of valid keys for that interface. 292 The receiver will use the Key Identifier and interface to determine 293 which key to use for authentication of the received message. More than 294 one key may be associated with an interface at the same time. 296 Hence it is possible to have fairly smooth RIP-II Authentication Key 297 rollovers without losing legitimate RIP-II messages because the stored 298 key is incorrect and without requiring people to change all the keys at 299 once. To ensure a smooth rollover, each communicating RIP-II system 300 must be updated with the new key several minutes before they current key 301 will expire and several minutes before the new key lifetime begins. The 302 new key should have a lifetime that starts several minutes before the 304 DRAFT RIP-II Cryptographic Authentication November 1994 306 old key expires. This gives time for each system to learn of the new 307 RIP-II Authentication Key before that key will be used. It also ensures 308 that the new key will begin being used and the current key will go out 309 of use before the current key's lifetime expires. For the duration of 310 the overlap in key lifetimes, a system may receive messages using either 311 key and authenticate the message. 313 3.3. Pathological Cases 315 Two pathological cases exist which must be handled, which are failures 316 of the network manager. Both of these should be exceedingly rare. 318 During key switchover, devices may exist which have not yet been 319 successfully configured with the new key. Therefore, routers MAY 320 implement (and would be well advised to implement) an algorithm that 321 detects the set of keys being used by its neighbors, and transmits its 322 messages using both the new and old keys until all of the neighbors are 323 using the new key or the lifetime of the old key expires. Under normal 324 circumstances, this elevated transmission rate will exist for a single 325 update interval. 327 In the event that the last key associated with an interface expires, it 328 is unacceptable to revert to an unauthenticated condition, and not 329 advisable to disrupt routing. Therefore, the router should send a "last 330 authentication key expiration" notification to the network manager and 331 treat the key as having an infinite lifetime until the lifetime is 332 extended, the key is deleted by network management, or a new key is 333 configured. 335 4. Conformance Requirements 337 To conform to this specification, an implementation MUST support all of 338 its aspects. The MD5 authentication algorithm defined in RFC-1321 MUST 339 be implemented by all conforming implementations. A conforming 340 implementation MAY also support other authentication algorithms such as 341 NIST's Secure Hash Algorithm (SHA). Manual key distribution as 342 described above MUST be supported by all conforming implementations. 343 All implementations MUST support the smooth key rollover described under 344 "Key Change Procedures." 346 The user documentation provided with the implementation MUST contain 347 clear instructions on how to ensure that smooth key rollover occurs. 349 Implementations SHOULD support a standard key management protocol for 350 secure distribution of RIP-II Authentication Keys once such a key 352 DRAFT RIP-II Cryptographic Authentication November 1994 354 management protocol is standardized by the IETF. 356 5. Acknowledgments 358 This work was done by the RIP-II Working Group, of which Gary Malkin is 359 the Chair. This suggestion was originally made by Christian Huitema on 360 behalf of the IAB. Jeff Honig (Cornell) and Dennis Ferguson (ANS) built 361 the first operational prototype, proving out the algorithms. The 362 authors gladly acknowledge significant inputs from each of these 363 sources. 365 6. References 367 [1] Malkin, Gary, "RIP Version 2 Carrying Additional Information", RFC 368 1388, January 1993. 370 [2] Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321, April 371 1992. 373 [3] Malkin, G., and F. Baker, "RIP Version 2 MIB Extension", RFC 1389, 374 Xylogics, Inc., Advanced Computer Communications, January 1993. 376 [4] S. Bellovin, "Security Problems in the TCP/IP Protocol Suite", ACM 377 Computer Communications Review, Volume 19, Number 2, pp.32-48, 378 April 1989. 380 [5] N. Haller, R. Atkinson, "On Internet Authentication", Request for 381 Comments 1704, DDN Network Information Center, October 1994. 383 [6] R. Braden, D. Clark, S. Crocker, & C. Huitema, "Report of IAB 384 Workshop on Security in the Internet Architecture", Request for 385 Comments 1636, DDN Network Information Center, June 1994. 387 7. Security Considerations 389 This entire memo describes and specifies an authentication mechanism for 390 the RIP-II routing protocol that is believed to be secure against active 391 and passive attacks. Passive attacks are clearly widespread in the 392 Internet at present. Protection against active attacks is also needed 393 even though such attacks are not currently widespread. 395 DRAFT RIP-II Cryptographic Authentication November 1994 397 Users need to understand that the quality of the security provided by 398 this mechanism depends completely on the strength of the implemented 399 authentication algorithms, the strength of the key being used, and the 400 correct implementation of the security mechanism in all communicating 401 RIP-II implementations. This mechanism also depends on the RIP-II 402 Authentication Key being kept confidential by all parties. If any of 403 these incorrect or insufficiently secure, then no real security will be 404 provided to the users of this mechanism. 406 Specifically with respect to the use of SNMP, compromise of SNMP 407 security has the necessary result that the various RIP-II configuration 408 parameters (e.g. routing table, RIP-II Authentication Key) managable via 409 SNMP could be compromised as well. Changing Authentication Keys using 410 non-encrypted SNMP is no more secure than sending passwords in the 411 clear. 413 Confidentiality is not provided by this mechanism. Work is underway 414 within the IETF to specify a standard mechanism for IP-layer encryption. 415 That mechanism might be used to provide confidentiality for RIP-II in 416 the future. Protection against traffic analysis is also not provided. 417 Mechanisms such as bulk link encryption might be used when protection 418 against traffic analysis is required. 420 The memo is written to address a security consideration in RIP-II 421 Version 2 that was raised during the IAB's recent security review [6]. 423 8. Chairman's Address 425 Gary Scott Malkin 426 Xylogics, Inc. 427 53 Third Avenue 428 Burlington, MA 01803 429 Phone: (617) 272-8140 430 EMail: gmalkin@Xylogics.COM 432 9. Author's Address 434 Fred Baker 435 Cisco Systems 436 519 Lado Drive 437 Santa Barbara, California 93111 438 Phone: (805) 681 0115 439 Email: fred@cisco.com 441 Randall Atkinson 443 DRAFT RIP-II Cryptographic Authentication November 1994 445 Information Technology Division 446 Naval Research Laboratory 447 Washington, DC 20375-5320 448 Voice: (DSN) 354-8590 449 Fax: (DSN) 354-7942 450 Email: atkinson@itd.nrl.navy.mil 452 DRAFT RIP-II Cryptographic Authentication November 1994 454 Table of Contents 456 1 Introduction .................................................... 2 457 2 Implementation Approach ......................................... 3 458 2.1 RIP-II PDU Format ............................................. 3 459 2.2 Processing Algorithm .......................................... 4 460 2.2.1 Message Generation .......................................... 5 461 2.2.2 Message Reception ........................................... 6 462 3 Management Procedures ........................................... 6 463 3.1 Key Management Requirements ................................... 6 464 3.2 Key Management Procedures ..................................... 7 465 3.3 Pathological Cases ............................................ 8 466 4 Conformance Requirements ........................................ 8 467 5 Acknowledgments ................................................. 9 468 6 References ...................................................... 9 469 7 Security Considerations ......................................... 9 470 8 Chairman's Address .............................................. 10 471 9 Author's Address ................................................ 10