idnits 2.17.1 draft-ietf-ospf-ospfv3-auth-02.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-26) 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: ---------------------------------------------------------------------------- == No 'Intended status' indicated for this document; assuming Proposed Standard 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 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 (July 2003) is 7591 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) -- Missing reference section? 'N5' on line 41 looks like a reference -- Missing reference section? 'N1' on line 234 looks like a reference -- Missing reference section? 'N4' on line 71 looks like a reference -- Missing reference section? 'N3' on line 72 looks like a reference -- Missing reference section? 'N2' on line 74 looks like a reference -- Missing reference section? 'I1' on line 74 looks like a reference Summary: 2 errors (**), 0 flaws (~~), 1 warning (==), 8 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group M. Gupta 3 Internet Draft Nokia 4 Document: draft-ietf-ospf-ospfv3-auth-02.txt N. Melam 5 Expires: January 2003 Nokia 6 July 2003 8 Authentication/Confidentiality for OSPFv3 10 Status of this Memo 12 This document is an Internet-Draft and is subject to all provisions 13 of section 10 of RFC2026. 15 Internet-Drafts are working documents of the Internet Engineering 16 Task Force (IETF), its areas, and its working groups. Note that 17 other groups may also distribute working documents as Internet- 18 Drafts. 20 Internet-Drafts are draft documents valid for a maximum of six months 21 and may be updated, replaced, or obsoleted by other documents at any 22 time. It is inappropriate to use Internet-Drafts as reference 23 material or to cite them other than as "work in progress." 25 The list of current Internet-Drafts can be accessed at 26 http://www.ietf.org/ietf/1id-abstracts.txt 27 The list of Internet-Draft Shadow Directories can be accessed at 28 http://www.ietf.org/shadow.html. 30 Abstract 32 This document describes means/mechanisms to provide 33 authentication/confidentiality to OSPFv3 using IPv6 AH/ESP Extension 34 Header. 36 Conventions used in this document 38 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 39 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 40 document are to be interpreted as described in RFC-2119 [N5]. 42 Table of Contents 44 1. Introduction...................................................2 45 2. OSPFv2 to OSPFv3...............................................2 46 3. Authentication.................................................2 47 4. Confidentiality................................................3 48 5. IPsec Requirements.............................................3 49 6. Key Management.................................................4 50 7. SA Granularity and Selectors...................................5 51 8. Virtual Links..................................................5 52 9. IPsec rules....................................................6 53 10. Replay Protection.............................................7 54 Security Considerations...........................................7 55 Normative References..............................................7 56 Informative References............................................8 57 Acknowledgments...................................................8 58 Authors' Addresses................................................8 60 1. Introduction 62 In Open Shortest Path First - Version 3 (OSPFv3) for IPv6, 63 authentication fields have been removed from OSPF headers. When 64 running over IPv6, OSPF relies on the IPv6 Authentication Header (AH) 65 and IPv6 Encapsulating Security Payload (ESP) to ensure integrity, 66 authentication and/or confidentiality of routing exchanges. 68 This document describes how IPv6 AH/ESP extension headers can be used 69 to provide authentication/confidentiality to OSPFv3. 71 It is assumed that the reader is familiar with OSPFv3 [N1], AH [N4], 72 ESP [N3], the concept of security associations, tunnel and transport 73 mode of IPsec and the key management options available for AH and ESP 74 (manual keying [N2] and Internet Key Exchange (IKE)[I1]). 76 2. OSPFv2 to OSPFv3 78 Security concerns MUST be taken away from OSPFv3 protocol and IPv6 79 stack MUST provide inherent security to OSPFv3 by using AH/ESP 80 extension headers. It means OSPFv3 protocol MUST NOT receive any 81 unauthenticated packets. As OSPFv2 has its own security mechanisms, 82 no inherent security needs to be provided by the IPv4 stack. As 83 OSPFv2 is only for IPv4 and OSPFv3 is only for IPv6, the distinction 84 between the packets can be easily made by IP version. 86 Authentication and confidentiality, if provided, MUST be provided to 87 the entire OSPFv3 header and data. Authentication to the selected 88 portions of IPv6 header, selected portions of extension headers and 89 selected options MAY also be provided optionally. 91 3. Authentication 93 Transport mode Security Association (SA) is the security association 94 between two hosts or security gateways that are acting as hosts. SA 95 must be tunnel mode if either end of the security association is a 96 security gateway. OSPFv3 packets are exchanged between the routers 97 but as the packets are destined to the routers, the routers act like 98 hosts in this case. So transport mode SA MUST be used in order to 99 provide required security to OSPFv3. 101 In order to support OSPFv3 authentication, "ESP with NULL encryption" 102 MUST be supported in transport mode. "AH" in transport mode SHOULD 103 also be provided. AH in transport mode provides authentication to 104 higher layer protocols, selected portions of IPv6 header, selected 105 portions of extension headers and selected options. ESP with NULL 106 encryption in transport mode will provide authentication to only 107 higher layer protocol data and not to the IPv6 header, extension 108 headers and options. 110 OSPF packets received in clear text or with incorrect AH Integrity 111 Check Value (ICV) MUST be dropped when authentication is enabled. 113 4. Confidentiality 115 Providing confidentiality to OSPFv3 in addition to authentication is 116 optional. Confidentiality must be implemented using ESP extension 117 header of IPv6 if it is being provided. ESP with non-null encryption 118 in transport mode MUST be used for providing the confidentiality to 119 OSPFv3. The user MUST be able to configure the encryption key and 120 the authentication key separately. 122 5. IPsec Requirements 124 In order to implement this specification, the following IPsec 125 capabilities are required. 127 Transport Mode 128 IPsec in transport mode MUST be supported. 130 Traffic Selectors 131 The implementation MUST be able to use interface index, source 132 address, destination address, protocol and direction for choosing 133 the right security action. 135 Manual key support 136 Manually configured keys MUST be able to secure the specified 137 traffic. 139 Encryption and Authentication Algorithms 140 The implementations MUST be conformant to the RFCs that describe 141 mandatory-to-implement algorithms for use with ESP and AH. 143 Dynamic IPsec rule configuration 144 Routing module SHOULD be able to configure, modify and delete 145 IPsec rules on the fly. This is needed mainly for securing 146 virtual links. 148 6. Key Management 150 OSPFv3 exchanges both multicast and unicast packets. While running 151 OSPFv3 over a broadcast interface, the authentication/confidentiality 152 required is "one to many". Since IKE is based on the Diffie-Hellman 153 key agreement protocol and works only for two communicating parties, 154 it is not possible to use IKE for providing the required "one to 155 many" authentication/confidentiality. Manual keying MUST be used for 156 this purpose. In manual keying SAs are statically installed on the 157 routers and these static SAs are used to encrypt/authenticate the 158 data. 160 As security associations (SAs) are directional, generally different 161 security associations are used for inbound and outbound processing 162 for providing higher security. The following figure explains that it 163 is not possible to use different security associations for inbound 164 and outbound processing in order to provide the required "one to 165 many" security. 167 A | 168 SAa ------------>| 169 SAb <------------| 170 | 171 B | 172 SAb ------------>| 173 SAa <------------| 174 | 175 C | 176 SAa/SAb ------------>| 177 SAa/SAb <------------| 178 Broadcast 179 Network 181 If we consider communication between A and B in the above diagram, 182 everything seems to be fine. A uses security association SAa for 183 outgoing packets and B uses the same for incoming packets and vice 184 versa. Now if we include C in the group and C sends a packet out 185 using SAa then only A will be able to understand it or if C sends the 186 packets out using SAb then only B will be able to understand it. 187 Since the packets are multicast packets and they are going to be 188 processed by both A and B, there is no SA for C to use so that A and 189 B both can understand it. 191 The problem can be solved with the following figure where all of them 192 use the same SA for incoming and outgoing direction. 194 A | 195 SAs ------------>| 196 SAs <------------| 197 | 198 B | 199 SAs ------------>| 200 SAs <------------| 201 | 202 C | 203 SAs ------------>| 204 SAs <------------| 205 Broadcast 206 Network 208 So, all the neighbor routers on a network/subnet MUST use the same SA 209 and the same SA MUST be used for inbound and outbound processing. 211 7. SA Granularity and Selectors 213 The user SHOULD be given a choice to share the same SA among multiple 214 interfaces or using unique SA per interface. 216 8. Virtual Links 218 Different SA than the SA of underlying interface MUST be provided for 219 virtual links. Packets sent out on virtual links use unicast site- 220 local or global IPv6 addresses as the IPv6 source address and all the 221 other packets use multicast and unicast link local addresses. This 222 difference in the IPv6 source address is used in order to 223 differentiate the packets sent on interfaces and virtual links. 225 As the end point IP addresses of the virtual links are not known at 226 the time of configuration, the secure channel for these packets needs 227 to be set up dynamically. The end point IP addresses of virtual 228 links are learnt during the routing table build up process. The 229 packet exchange over the virtual links starts only after the 230 discovery of end point IP addresses. In order to provide security to 231 these exchanges, the routing module should setup a secure IPsec 232 channel dynamically once it acquires the required information. 234 According to the OSPFv3 RFC [N1], the virtual neighbor's IP address 235 is set to the first prefix with the "LA-bit" set from the list of 236 prefixes in intra-area-prefix-LSAs originated by the virtual 237 neighbor. But when it comes to choosing the source address for the 238 packets that are sent over the virtual link, the RFC simply suggests 239 using one of the router's own site-local or global IPv6 addresses. 240 In order to install the required security rules for virtual links, 241 the source address also needs to be predictable. So the routers that 242 implement this specification MUST change the way the source and 243 destination addresses are chosen for the packets exchanged over 244 virtual links when the security is enabled on that virtual link. 246 The smallest IP address with the "LA-bit" set from the list of its 247 own prefixes being advertised in intra-area-prefix-LSA MUST be used 248 as the source address. 250 The smallest IP address with the "LA-bit" set from the list of intra- 251 area-prefix-LSAs originated by the virtual neighbor MUST be used as 252 the destination address. 254 This makes both the source and destination addresses of the packets 255 exchanged over the virtual link, predictable on both the routers for 256 security purposes. 258 The old behavior specified in OSPFv3 RFC for choosing the source and 259 destination IP addresses MUST be used when the security is not 260 enabled on the virtual link. This will insure the interoperability 261 with the routers that do not implement this specification. 263 9. IPsec rules 265 The following set of rules can be installed in a typical IPsec 266 implementation to provide the authentication/confidentiality to 267 OSPFv3 packets. 269 Outbound Rules for interface running OSPFv3 security: 271 No. interface source destination protocol action 272 1 iface fe80::/10 any OSPF apply 273 2 any src/128 dst/128 OSPF apply 275 Inbound Rules for interface running OSPFv3 security: 277 No. interface source destination protocol action 278 3 iface fe80::/10 any ESP or AH apply 279 4 iface fe80::/10 any OSPF drop 280 5 any src/128 dst/128 ESP or AH apply 281 6 any src/128 dst/128 OSPF drop 283 For outbound rules, action "apply" means encrypting/calculating ICV 284 and adding ESP or AH header. For inbound rules, action "apply" means 285 decrypting/authenticating the packets and stripping ESP or AH header. 287 Rules 4 and 6 are to drop the insecure OSPFv3 packets without ESP/AH 288 headers. 290 Rules 2, 5 and 6 are meant to secure the packets being exchanged over 291 virtual links. These rules are dynamically installed after learning 292 the end point IP addresses of a virtual link. These rules MUST be 293 installed on at least the interfaces that are connected to the 294 transit area for the virtual link. These rules MAY alternatively be 295 installed on all the interfaces. If these rules are not installed on 296 all the interfaces, clear text or malicious OSPFv3 packets with same 297 source and destination addresses as virtual link end point addresses 298 will be delivered to OSPFv3. Though OSPFv3 drops these packets 299 because they were not received on the right interface, OSPFv3 300 receives some clear text or malicious packets even when the security 301 is on. Installing these rules on all the interfaces insures that 302 OSPFv3 does not receive these clear text or malicious packets when 303 security is turned on. On the other hand installing these rules on 304 all the interfaces increases the processing overhead on the 305 interfaces where there is no IPsec processing otherwise. The 306 decision of installing these rules on all the interfaces or on just 307 the interfaces that are connected to the transit area is a private 308 decision and doesn't affect the interoperability in any way. So this 309 decision is left to the implementers. 311 Rules 1, 3 and 4 are meant to secure the unicast and multicast 312 packets that are not being exchanged over the virtual links. These 313 rules are interface specific. 315 10. Replay Protection 317 As it is not possible as per the current standards to provide 318 complete replay protection while using manual keying, the proposed 319 solution will not provide protection against replay attacks. 321 Fields LS age, LS Sequence Number and LS checksum in LSA header are 322 kept intact in OSPFv3. Though these fields do not provide the 323 complete protection, they certainly help against replay attacks. 325 Security Considerations 327 This memo discusses the use of IPsec AH and ESP headers in order to 328 provide security to OSPFv3 for IPv6. 330 The use of manual keying does not provide very high level of security 331 as compared to IKE but the security provided should be adequate for a 332 routing protocol. 334 Normative References 336 N1. Coltun, R., Ferguson, D. and J. Moy, "OSPF for IPv6", RFC 2740, 337 December 1999 339 N2. Kent, S. and R. Atkinson, "Security Architecture for the Internet 340 Protocol", RFC 2401, November 1998. 342 N3. Kent, S. and R. Atkinson, "IP Encapsulating Security Payload 343 (ESP)", RFC 2406, November 1998. 345 N4. Kent, S. and R. Atkinson, "IP Authentication Header (AH)", RFC 346 2402, November 1998. 348 N5. Bradner, S., "Key words for use in RFCs to Indicate Requirement 349 Level", BCP 14, RFC 2119, March 1997. 351 Informative References 353 I1. Harkins, D. and D. Carrel, "The Internet Key Exchange (IKE)", RFC 354 2409, November 1998. 356 Acknowledgments 358 Authors would like to extend sincere thanks to Marc Solsona, Janne 359 Peltonen, John Cruz, Dhaval Shah and Abhay Roy for providing useful 360 information and critiques in order to write this memo. 362 We would also like to thank IPsec and OSPF WG people to provide 363 valuable review comments. 365 Authors' Addresses 367 Mukesh Gupta 368 Nokia 369 313 Fairchild Drive 370 Mountain View, CA 94043 371 Phone: 650-625-2264 372 Email: Mukesh.Gupta@nokia.com 374 Nagavenkata Suresh Melam 375 Nokia 376 313 Fairchild Drive 377 Mountain View, CA 94043 378 Phone: 650-625-2949 379 Email: Nagavenkata.Melam@nokia.com