| < draft-ietf-ospf-security-extension-manual-keying-03.txt | draft-ietf-ospf-security-extension-manual-keying-04.txt > | |||
|---|---|---|---|---|
| OSPF Working Group M. Bhatia | OSPF Working Group M. Bhatia | |||
| Internet-Draft Alcatel-Lucent | Internet-Draft Alcatel-Lucent | |||
| Intended status: Standards Track S. Hartman | Intended status: Standards Track S. Hartman | |||
| Expires: April 25, 2013 Painless Security | Expires: August 26, 2013 Painless Security | |||
| D. Zhang | D. Zhang | |||
| Huawei Technologies co., LTD. | Huawei Technologies co., LTD. | |||
| A. Lindem | A. Lindem | |||
| Ericsson | Ericsson | |||
| October 22, 2012 | February 22, 2013 | |||
| Security Extension for OSPFv2 when using Manual Key Management | Security Extension for OSPFv2 when using Manual Key Management | |||
| draft-ietf-ospf-security-extension-manual-keying-03 | draft-ietf-ospf-security-extension-manual-keying-04 | |||
| Abstract | Abstract | |||
| The current OSPFv2 cryptographic authentication mechanism as defined | The current OSPFv2 cryptographic authentication mechanism as defined | |||
| in the OSPF standards is vulnerable to both inter-session and intra- | in the OSPF standards is vulnerable to both inter-session and intra- | |||
| session replay attacks when its uses manual keying. Additionally, | session replay attacks when its uses manual keying. Additionally, | |||
| the existing cryptographic authentication schemes do not cover the IP | the existing cryptographic authentication schemes do not cover the IP | |||
| header. This omission can be exploited to carry out various types of | header. This omission can be exploited to carry out various types of | |||
| attacks. | attacks. | |||
| skipping to change at page 1, line 47 ¶ | skipping to change at page 1, line 47 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on April 25, 2013. | This Internet-Draft will expire on August 26, 2013. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2012 IETF Trust and the persons identified as the | Copyright (c) 2013 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| skipping to change at page 3, line 45 ¶ | skipping to change at page 3, line 45 ¶ | |||
| neighbor. Hello packets may be reflected to cause a neighbor to | neighbor. Hello packets may be reflected to cause a neighbor to | |||
| appear to have one-way communication. Old Database descriptions may | appear to have one-way communication. Old Database descriptions may | |||
| be reflected in cases where the per-packet sequence numbers are | be reflected in cases where the per-packet sequence numbers are | |||
| sufficiently divergent in order to disrupt an adjacency | sufficiently divergent in order to disrupt an adjacency | |||
| [I-D.ietf-karp-ospf-analysis]. This is referred to as the IP layer | [I-D.ietf-karp-ospf-analysis]. This is referred to as the IP layer | |||
| issue in [I-D.ietf-karp-threats-reqs]. | issue in [I-D.ietf-karp-threats-reqs]. | |||
| [RFC2328] states that implementations MUST offer keyed MD5 | [RFC2328] states that implementations MUST offer keyed MD5 | |||
| authentication. It is likely that this will be deprecated in favor | authentication. It is likely that this will be deprecated in favor | |||
| of the stronger algorithms described in [RFC5709] in future | of the stronger algorithms described in [RFC5709] in future | |||
| deployments [I-D.ietf-opsec-igp-crypto-requirements]. | deployments [RFC6094]. | |||
| This draft proposes a simple change in the cryptographic | This draft proposes a simple change in the cryptographic | |||
| authentication mechanism, as currently described in [RFC5709], to | authentication mechanism, as currently described in [RFC5709], to | |||
| prevent such IP layer attacks. | prevent such IP layer attacks. | |||
| 1.1. Requirements Section | 1.1. Requirements Section | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
| document are to be interpreted as described in RFC2119 [RFC2119]. | document are to be interpreted as described in RFC2119 [RFC2119]. | |||
| skipping to change at page 6, line 44 ¶ | skipping to change at page 6, line 44 ¶ | |||
| Figure 7 - Extended Sequence Number Packet Extensions | Figure 7 - Extended Sequence Number Packet Extensions | |||
| 4. OSPF Packet Key Selection | 4. OSPF Packet Key Selection | |||
| This section describes how the proposed security solution selects | This section describes how the proposed security solution selects | |||
| long-lived keys from key tables. [I-D.ietf-karp-crypto-key-table]. | long-lived keys from key tables. [I-D.ietf-karp-crypto-key-table]. | |||
| Generally, a key used for OSPFv2 packet authentication should satisfy | Generally, a key used for OSPFv2 packet authentication should satisfy | |||
| the following requirements: | the following requirements: | |||
| o The key time period as defined by NotBefore and NotAfter must | o For packet transmission, the key validity interval as defined by | |||
| include the current time. | SendLifeTimeStart and SendLifeTimeEnd must include the current | |||
| time. | ||||
| o For packet reception, the key validity interval as defined by | ||||
| AcceptLifeTimeStart and AcceptLifeTimeEnd must include the current | ||||
| time. | ||||
| o The key can be used for the desired security algorithm. | o The key can be used for the desired security algorithm. | |||
| In the remainder of this section, additional requirements for keys | In the remainder of this section, additional requirements for keys | |||
| are enumerated for different scenarios. | are enumerated for different scenarios. | |||
| 4.1. Key Selection for Unicast OSPF Packet Transmission | 4.1. Key Selection for Unicast OSPF Packet Transmission | |||
| Assume that a router R1 tries to send a unicast OSPF packet from its | Assume that a router R1 tries to send a unicast OSPF packet from its | |||
| interface I1 to the interface R2 of a remote router R2 using security | interface I1 to the interface R2 of a remote router R2 using security | |||
| protocol P via interface I at time T. Firstly consider the | protocol P via interface I at time T. First, consider the | |||
| circumstances where R1 and R2 are not connected with a virtual link. | circumstances where R1 and R2 are not connected with a virtual link. | |||
| R1 then needs to select a long long-lived symmetric key from its key | R1 then needs to select a long long-lived symmetric key from its key | |||
| table. Because the key should be shared by the by both R1 and R2 to | table. Because the key should be shared by the by both R1 and R2 to | |||
| protect the communication between I1 and I2, the key should satisfy | protect the communication between I1 and I2, the key should satisfy | |||
| the following requirements: | the following requirements: | |||
| o The Peer field includes the router ID of R2. | o The Peers field is unused. OSPF authentiction is interface based. | |||
| o the PeerKeyID field is not "unknown". | o The Interfaces field includes the local IP address of the | |||
| interface for nummbered interfaces or the MIB-II [RFC1213], | ||||
| ifIndex for unnumbered interfaces. | ||||
| o The Interfaces field includes I1. | o The Direction field is either "out" or "both". | |||
| o the Direction field is either "out" or "both". | When R1 and R2 are connected to a virtual link, the interfaces field | |||
| must identify the virtual endpoint rather than the virtual link. | ||||
| Since there may be virtual links to the same router, the transit area | ||||
| ID must be part of the identifier. Hence, the key should satisfy the | ||||
| following requirements: | ||||
| When R1 and R2 are connected to a virtual link, the third condition | o The Peers field is unused. OSPF authentiction is interface based. | |||
| is a little more complex. Because the virtual link can be regarded | ||||
| as an unnumbered point-to-point network, the IP address of the | o The Interfaces field includes both the virtual endpoint's OSPF | |||
| interface actually used to send the packet (i.e., I1) is discovered | router ID and the the transit area ID for the virtual link. | |||
| during routing table calculation. Therefore, when the system | ||||
| operator configures keys to protect the virtual link, I1 is unknown | o The Direction field is either "out" or "both". | |||
| and can be any OSPF interface in the OSPF virtual link's transit | ||||
| area. Therefore, the key should be identified solely by the local | ||||
| and remote router IDs rather than by the interface on which the | ||||
| packet is sent. The third requirement list above should be changed | ||||
| to "the Interface field includes the router ID". | ||||
| 4.2. Key Selection for Multicast OSPF Packet Transmission | 4.2. Key Selection for Multicast OSPF Packet Transmission | |||
| If a router R1 sends an OSPF packet from its interface I1 to a | If a router R1 sends an OSPF packet from its interface I1 to a | |||
| multicast address (e.g., AllSPFRouters, AllDRouters), it needs to | multicast address (e.g., AllSPFRouters, AllDRouters), it needs to | |||
| select a key according to the following requirements: | select a key according to the following requirements: | |||
| o The Peer field includes the multicast address. | o The Peers field is unused. OSPF authentication is interface | |||
| based. | ||||
| o The PeerKeyID field is "group". | ||||
| o The Interfaces field includes I1. | o The Interfaces field includes the local IP address of the | |||
| interface for nummbered interfaces or the MIB-II [RFC1213], | ||||
| ifIndex for unnumbered interfaces. | ||||
| o The Direction field is either "out" or "both". | o The Direction field is either "out" or "both". | |||
| 4.3. Key Selection for OSPF Packet Reception | 4.3. Key Selection for OSPF Packet Reception | |||
| When Cryptographic Authentication is employed, the ID of the | When Cryptographic Authentication is used, the ID of the | |||
| authentication key is included in the authentication field of the | authentication key is included in the authentication field of the | |||
| OSPF packet header. Using this key ID, it is relatively easy for a | OSPF packet header. Using this key ID, it is relatively easy for a | |||
| receiver to locate the key. The simple requirements are: | receiver to locate the key. The simple requirements are: | |||
| o The Peer field includes the router ID of the sender. | o The interface on which the key was received is associated with the | |||
| key's interface. | ||||
| o The PeerKeyID field includes the key ID obtained from the | o The PeerKeyName field includes the key ID obtained from the | |||
| authentication field. | authentication field. Since OSPF keys are symmetric, the | |||
| LocalKeyName and PeerKeyName for OSPF keys will be identical. | ||||
| o The Direction field is either "in" or "both". | o The Direction field is either "in" or "both". | |||
| 5. Mechanism to secure the IP header | 5. Mechanism to secure the IP header | |||
| This document updates the definition of Apad which is currently a | This document updates the definition of Apad which is currently a | |||
| constant defined in [RFC5709] to the source address from the IP | constant defined in [RFC5709] to the source address from the IP | |||
| header of the OSPFv2 protocol packet. The overall cryptographic | header of the OSPFv2 protocol packet. The overall cryptographic | |||
| authentication process defined in [RFC5709] remains unchanged. To | authentication process defined in [RFC5709] remains unchanged. To | |||
| reduce the potential for confusion, this section minimizes the | reduce the potential for confusion, this section minimizes the | |||
| skipping to change at page 10, line 4 ¶ | skipping to change at page 10, line 9 ¶ | |||
| 7. IANA Considerations | 7. IANA Considerations | |||
| This document requests a new code point from the "OSPF Shortest Path | This document requests a new code point from the "OSPF Shortest Path | |||
| First (OSPF) Authentication Codes" registry: | First (OSPF) Authentication Codes" registry: | |||
| o TBD - Cryptographic Authentication with Extended Sequence Numbers. | o TBD - Cryptographic Authentication with Extended Sequence Numbers. | |||
| The value 3 is recommended. | The value 3 is recommended. | |||
| 8. References | 8. References | |||
| 8.1. Normative References | 8.1. Normative References | |||
| [I-D.ietf-karp-crypto-key-table] | ||||
| Housley, R., Polk, T., Hartman, S., and D. Zhang, | ||||
| "Database of Long-Lived Symmetric Cryptographic Keys", | ||||
| draft-ietf-karp-crypto-key-table-06 (work in progress), | ||||
| February 2013. | ||||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, March 1997. | Requirement Levels", BCP 14, RFC 2119, March 1997. | |||
| [RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, April 1998. | [RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, April 1998. | |||
| [RFC5709] Bhatia, M., Manral, V., Fanto, M., White, R., Barnes, M., | [RFC5709] Bhatia, M., Manral, V., Fanto, M., White, R., Barnes, M., | |||
| Li, T., and R. Atkinson, "OSPFv2 HMAC-SHA Cryptographic | Li, T., and R. Atkinson, "OSPFv2 HMAC-SHA Cryptographic | |||
| Authentication", RFC 5709, October 2009. | Authentication", RFC 5709, October 2009. | |||
| 8.2. Informative References | 8.2. Informative References | |||
| [I-D.ietf-karp-crypto-key-table] | ||||
| Housley, R. and T. Polk, "Database of Long-Lived Symmetric | ||||
| Cryptographic Keys", draft-ietf-karp-crypto-key-table-00 | ||||
| (work in progress), November 2010. | ||||
| [I-D.ietf-karp-ospf-analysis] | [I-D.ietf-karp-ospf-analysis] | |||
| Hartman, S. and D. Zhang, "Analysis of OSPF Security | Hartman, S. and D. Zhang, "Analysis of OSPF Security | |||
| According to KARP Design Guide", | According to KARP Design Guide", | |||
| draft-ietf-karp-ospf-analysis-00 (work in progress), | draft-ietf-karp-ospf-analysis-06 (work in progress), | |||
| March 2011. | May 2013. | |||
| [I-D.ietf-karp-threats-reqs] | [I-D.ietf-karp-threats-reqs] | |||
| Lebovitz, G., Bhatia, M., and R. White, "The Threat | Lebovitz, G., Bhatia, M., and B. Weis, "The Threat | |||
| Analysis and Requirements for Cryptographic Authentication | Analysis and Requirements for Cryptographic Authentication | |||
| of Routing Protocols' Transports", | of Routing Protocols' Transports", | |||
| draft-ietf-karp-threats-reqs-02 (work in progress), | draft-ietf-karp-threats-reqs-07 (work in progress), | |||
| April 2011. | December 2012. | |||
| [I-D.ietf-opsec-igp-crypto-requirements] | [RFC1213] McCloghrie, K. and M. Rose, "Management Information Base | |||
| Bhatia, M. and V. Manral, "Summary of Cryptographic | for Network Management of TCP/IP-based internets:MIB-II", | |||
| Authentication Algorithm Implementation Requirements for | STD 17, RFC 1213, March 1991. | |||
| Routing Protocols", | ||||
| draft-ietf-opsec-igp-crypto-requirements-04 (work in | ||||
| progress), October 2010. | ||||
| [RFC3414] Blumenthal, U. and B. Wijnen, "User-based Security Model | [RFC3414] Blumenthal, U. and B. Wijnen, "User-based Security Model | |||
| (USM) for version 3 of the Simple Network Management | (USM) for version 3 of the Simple Network Management | |||
| Protocol (SNMPv3)", STD 62, RFC 3414, December 2002. | Protocol (SNMPv3)", STD 62, RFC 3414, December 2002. | |||
| [RFC4222] Choudhury, G., "Prioritized Treatment of Specific OSPF | [RFC4222] Choudhury, G., "Prioritized Treatment of Specific OSPF | |||
| Version 2 Packets and Congestion Avoidance", BCP 112, | Version 2 Packets and Congestion Avoidance", BCP 112, | |||
| RFC 4222, October 2005. | RFC 4222, October 2005. | |||
| [RFC6039] Manral, V., Bhatia, M., Jaeggli, J., and R. White, "Issues | [RFC6039] Manral, V., Bhatia, M., Jaeggli, J., and R. White, "Issues | |||
| with Existing Cryptographic Protection Methods for Routing | with Existing Cryptographic Protection Methods for Routing | |||
| Protocols", RFC 6039, October 2010. | Protocols", RFC 6039, October 2010. | |||
| [RFC6094] Bhatia, M. and V. Manral, "Summary of Cryptographic | ||||
| Authentication Algorithm Implementation Requirements for | ||||
| Routing Protocols", RFC 6094, February 2011. | ||||
| Authors' Addresses | Authors' Addresses | |||
| Manav Bhatia | Manav Bhatia | |||
| Alcatel-Lucent | Alcatel-Lucent | |||
| Bangalore, | Bangalore, | |||
| India | India | |||
| Phone: | Phone: | |||
| Email: manav.bhatia@alcatel-lucent.com | Email: manav.bhatia@alcatel-lucent.com | |||
| End of changes. 26 change blocks. | ||||
| 48 lines changed or deleted | 60 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||