Network Working Group M. Behringer Internet-Draft F. Le Faucheur Intended status: Informational Cisco Systems Inc Expires: December 31, 2007 June 29, 2007 A Framework for RSVP Security Using Dynamic Group Keying draft-behringer-tsvwg-rsvp-security-groupkeying-00.txt Status of this Memo 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/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on December 31, 2007. Copyright Notice Copyright (C) The IETF Trust (2007). Abstract The Resource reSerVation Protocol (RSVP) allows hop-by-hop authentication of RSVP neighbors. This requires messages to be cryptographically signed using a shared secret between participating nodes. This document compares group keying for RSVP with per neighbor or per interface keying, and discusses the applicability and limitations of these approaches. Draft-weis-gdoi-for-rsvp describes how the Group Domain of Interpretation (GDOI) can be used to distribute group keys to RSVP nodes. The document also discusses Behringer & Le Faucheur Expires December 31, 2007 [Page 1] Internet-Draft RSVP Security Framework June 2007 applicability of group keying to RSVP encryption. Table of Contents 1. Introduction and Problem Statement . . . . . . . . . . . . . . 3 2. The RSVP Trust Model . . . . . . . . . . . . . . . . . . . . . 3 3. Key types for RSVP . . . . . . . . . . . . . . . . . . . . . . 4 3.1. Interface based keys . . . . . . . . . . . . . . . . . . . 4 3.2. Neighbor based keys . . . . . . . . . . . . . . . . . . . 4 3.3. Group keys . . . . . . . . . . . . . . . . . . . . . . . . 4 4. Key Provisioning Methods for RSVP . . . . . . . . . . . . . . 4 4.1. Static Key Provisioning . . . . . . . . . . . . . . . . . 4 4.2. Per Neighbor Key Negotiation . . . . . . . . . . . . . . . 5 4.3. Dynamic Key Distribution using GDOI . . . . . . . . . . . 5 5. Applicability of Various Keying Methods for RSVP . . . . . . . 5 5.1. Per Neighbor or Per Interface Keys for Authentication . . 5 5.2. Group Keys for Authentication . . . . . . . . . . . . . . 6 5.3. Non-RSVP Hops . . . . . . . . . . . . . . . . . . . . . . 7 5.4. Subverted RSVP Nodes . . . . . . . . . . . . . . . . . . . 8 5.5. RSVP Encryption . . . . . . . . . . . . . . . . . . . . . 8 6. Security Considerations . . . . . . . . . . . . . . . . . . . 9 7. Informative References . . . . . . . . . . . . . . . . . . . . 9 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 9 Intellectual Property and Copyright Statements . . . . . . . . . . 11 Behringer & Le Faucheur Expires December 31, 2007 [Page 2] Internet-Draft RSVP Security Framework June 2007 1. Introduction and Problem Statement The Resource reSerVation Protocol [RFC2205] allows hop-by-hop authentication of RSVP neighbors, as specified in [RFC2747]. In this mode, an integrity object is attached to each RSVP message to transmit a keyed message digest. This message digest allows the recipient to verify the authenticity of the sender and validate integrity of the message. Through the inclusion of a sequence number in the scope of the digest, the digest also offers replay protection. [RFC2747] does not dictate how the key for the integrity operation is derived. Currently, most implementations of RSVP use a statically configured key, per interface or per neighbor. However, to manually configure key per router pair across an entire network is operationally hard, especially for key changes. Effectively, many users of RSVP therefore resort to the same key throughout their network, and change it rarely if ever, because of the operational burden. [RFC 3562] however recommends regular key changes, at least every 90 days. [I-D.weis-gdoi-for-rsvp] provides an alternative solution, using GDOI ([RFC3547]) for key distribution. This allows dynamic key updates, valid for the entire group of RSVP speakers. The present document describes the various keying methods and their applicability to different RSVP deployment environments, for both message integrity and encryption. It does not mandate any particular method, but is meant as a comparative guideline to understand where each RSVP keying method is best deployed, and where it cannot be deployed. Furthermore, it discusses the impact on RSVP hop by hop authentication of non-RSVP nodes, as well as subverted nodes, in the reservation path. 2. The RSVP Trust Model Many protocol security mechanisms used in networks require and use per peer authentication. Each hop authenticates its neighbor with a shared key or certificate. This is also the model used for RSVP. Trust in this model is transitive. Each RSVP node trusts explicitely only its RSVP next hop peers, through the message digest contained in the INTEGRITY object. The next hop RSVP speaker in turn trusts its own peers and so on. The RSVP protocol can operate in the presence of a non-RSVP router in the path from the sender to the receiver. The non-RSVP hop will ignore the RSVP message and just pass it along. The next RSVP node can then process the RSVP message. For RSVP authentication to work Behringer & Le Faucheur Expires December 31, 2007 [Page 3] Internet-Draft RSVP Security Framework June 2007 in this case, the key used for computing the RSVP message digest needs to be shared by the two RSVP neighbors, even if they are not IP neighbors. However, in the presence of non-RSVP hops, while an RSVP node always know the next IP hop before forwarding an RSVP Message, it does not always know the RSVP next hop. Thus, the presence of non-RSVP hops impacts operation of RSVP authentication and may influence the keying approaches. This is further discussed in Section 5.3. 3. Key types for RSVP 3.1. Interface based keys Most current implementations support interface based RSVP keys. All RSVP speakers on a given subnet have to share the same key in this model, which makes it unsuitable for deployment scenarios where different trust groups share a subnet, for example Internet exchange points. In such a case, neighbor based keys are required. 3.2. Neighbor based keys In this model, an RSVP key is bound to an interface plus a neighbor on that interface. It allows the distinction of different trust groups on a single subnet. (Assuming that layer-2 security is correctly implemented to prevent layer-2 attacks.) 3.3. Group keys Here, all members of a group of RSVP nodes share the same key. This implies that a node uses the same key regardless of the next RSVP hop that will process the message (within the group of nodes sharing the particular key). It also implies that a node will use the same key on the receiving as on the sending side (when exchanging RSVP messages withn the group). 4. Key Provisioning Methods for RSVP 4.1. Static Key Provisioning The simplest way to implement RSVP authentication is to use static, preconfigured keys. However, on the operational side key management is heavy, since no secure automated mechanism can be used. This method is therefore mostly useful for small deployments, where key changes can be carried out manually, or for deployments with automated configuration tools which support key changes. Behringer & Le Faucheur Expires December 31, 2007 [Page 4] Internet-Draft RSVP Security Framework June 2007 Static key provisioning is therefore not an ideal model in a large network. Often, the number of interconnection points across two domains where RSVP is allowed to transit is relatively small and well controlled. Also, the different domains may not be in a position to use an infrastructure trusted by both domains to update keys on both sides. Thus, manually configured keys may be applicable to inter-domain RSVP authentication. Since it is not practical to carry out the key change at the exact same time on both sides, some grace period nees to be implemented during which an RSVP node will accept both the old and the new key. Otherwise, RSVP operation would suffer interruptions. 4.2. Per Neighbor Key Negotiation To avoid the problem of key rollover in static key deployments, per neighbor key negotiation could be used. However, existing key distribution protocols may not be appropriate in all environments because of the complexity or operational burden they involve. 4.3. Dynamic Key Distribution using GDOI [I-D.weis-gdoi-for-rsvp] describes a mechanism to distribute group keys to a group of RSVP speakers, using GDOI [RFC3547]. In this model, a key server authenticates each of the RSVP nodes independently, and then distributes a group key to the entire group. 5. Applicability of Various Keying Methods for RSVP 5.1. Per Neighbor or Per Interface Keys for Authentication Per interface and per peer keys can be used within a single security domain. As mentioned above, per interface keys are only applicable when all the hosts reachable on the specific interface belong to the same security domain. These key types can also be used between security domains, since they are specific to a particular interface or neighbor. Again, interface level keys can only be deployed safely when all the reachable neighbors on the interface belong to the same security domain. As discussed in Section 5.3, per neighbor and per interface keys can not be used in the presence of non-RSVP hops. Behringer & Le Faucheur Expires December 31, 2007 [Page 5] Internet-Draft RSVP Security Framework June 2007 5.2. Group Keys for Authentication Group keys apply naturally to intra-domain RSVP authentication, since all RSVP nodes trust each other, and trust the group key server in this model. This is presented Figure 1. ......GKS1............. : : : : : : : : : : source--R1--R2--R3-----destination | | |<-----domain 1----------------->| Figure 1: Group Key Server within a single security domain A single group key cannot normally be used to cover multiple security domains however, because by definition the different domains do not trust each other and would not be willing to trust the same group key server. For a single group key to be used in several security domains, there is a need for a single group key server, which is trusted by both sides. While this is theoretically possible, in practice it is unlikely that there is a single such trusted entity. Figure 2 illustrates this setup. ...............GKS1.................... : : : : : : : : : : : : : : : : source--R1--R2--R3--------R4--R5--R6--destination | | | | |<-----domain 1--->| |<-------domain 2----->| Figure 2: A Single Group Key Server across security domains A more practical approach for RSVP operation across security domains, to use a separate group key server for each security domain, and to use per interface or per peer authentication between the two domains. Figure 3 shows this set-up. Behringer & Le Faucheur Expires December 31, 2007 [Page 6] Internet-Draft RSVP Security Framework June 2007 ....GKS1...... ....GKS2......... : : : : : : : : : : : : : : : : source--R1--R2--R3--------R4--R5--R6--destination | | | | |<-----domain 1--->| |<-------domain 2----->| Figure 3: A group Key Server per security domain 5.3. Non-RSVP Hops In the presence of a non-RSVP router in the path from the sender to the receiver, regular RSVP keeps working. The non-RSVP node ignores the RSVP message, and passes it on transparently to the next node. Figure 4 illustrates this scenario. R2 in this picture does not participate in RSVP, the other nodes do. In this case, R2 will pass on any RSVP messages unchanged, and will ignore them. sender----R1---R2(*)---R3---R4----receiver \ / \ ------ \ / R5 (*) Non-RSVP hop Figure 4: A non-RSVP Node in the path However, this creates an additional challenge for RSVP authentication. In the presence of a non-RSVP hop, with some RSVP messages such as a Path message, an RSVP router does not know the RSVP next hop for that message at the time of forwarding it. In fact, part of the role of a Path message is precisely to discover the RSVP next hop (and to dynamically re-discover it when it changes, say because of a routing change). For example, in Figure 4, R1 knows that the next IP hop for a Path message addresed to the receiver is R2, but it does necessarily not know if the RSVP next hop is R3 or R5. This means that per interface and per neighbor keys cannot easily be used in the presence of non-RSVP routers on the path between senders and receivers. By contrast, group keying will naturally work in the presence of non- RSVP routers. Referring back to Figure 4, with group keying, R1 would use the group key to sign a Path message addressed to the receiver and forwards it to R2. Being a non-RSVP node, R2 and will ignore and forward the Path message to R3 or R5 depending on the current shortest path as determined by routing. Whether it is R3 or Behringer & Le Faucheur Expires December 31, 2007 [Page 7] Internet-Draft RSVP Security Framework June 2007 R5, the RSVP router that receives the Path message will be able to authenticate it successfully with the group key. 5.4. Subverted RSVP Nodes A subverted node is defined here as an untrusted node, for example because an intruder has gained control over it. Since RSVP authentication is hop-by-hop and not end-to-end, a subverted node in the path breaks the chain of trust. This is to a large extent independent of the type of keying used. For interface or per-peer keying, the subverted node can now introduce fake messages to its neighbors. This can be used in a variety of ways, for example by changing the receiver address in the Path message, or by generating fake Path messages. This allows path states to be created on every RSVP router along any arbitrary path through the RSVP domain. That in itself could result in a form of Denial of Service by allowing exhaustion of some router resources (e.g. memory). The subverted node could also generate fake Resv messages upstream corresponding to valid Path states. In doing so, the subverted node can reserve excessive amounts of bandwidth thereby possibly performing a denial of service attack. It has to be noted specifically that even though the per interface or per neighbor keys have only local significance, the messages themselves can be created arbitrarily so that they are then authenticated and forwarded by the RSVP neighbor of the subverted node, eventually potentially affecting the entire RSVP domain. For group keying the impact of subverted nodes on the path is comparable. Group keying allows the additional abuse of sending fake messages to any node in the RSVP domain, however, in practice this can be achieved to a large extend also with per neighbor keys, as discussed above. 5.5. RSVP Encryption The keying material can also be used to encrypt the RSVP messages, instead of, or in addition to authenticating them. The same considerations apply for this case as discussed above for the authentication case. Group keys are applicable only within a trusted domain, but they have the potential of passing a non-RSVP speaker without further configuration. Per interface or per nighbor keys work also inter-domain, but do not operate in the presence of a non- RSVP router. Behringer & Le Faucheur Expires December 31, 2007 [Page 8] Internet-Draft RSVP Security Framework June 2007 6. Security Considerations This entire document discusses security of the RSVP authentication and encryption mechanisms, depending on the key scheme used. 7. Informative References [I-D.weis-gdoi-for-rsvp] Weis, B., "Group Domain of Interpretation (GDOI) support for RSVP", July 2007. [RFC2205] Braden, B., Zhang, L., Berson, S., Herzog, S., and S. Jamin, "Resource ReSerVation Protocol (RSVP) -- Version 1 Functional Specification", RFC 2205, September 1997. [RFC2747] Baker, F., Lindell, B., and M. Talwar, "RSVP Cryptographic Authentication", RFC 2747, January 2000. [RFC3097] Braden, R. and L. Zhang, "RSVP Cryptographic Authentication -- Updated Message Type Value", RFC 3097, April 2001. [RFC3547] Baugher, M., Weis, B., Hardjono, T., and H. Harney, "The Group Domain of Interpretation", RFC 3547, July 2003. [RFC3562] Leech, M., "Key Management Considerations for the TCP MD5 Signature Option", RFC 3562, July 2003. Authors' Addresses Michael H. Behringer Cisco Systems Inc Village d'Entreprises Green Side 400, Avenue Roumanille, Batiment T 3 Biot - Sophia Antipolis 06410 France Email: mbehring@cisco.com URI: http://www.cisco.com Behringer & Le Faucheur Expires December 31, 2007 [Page 9] Internet-Draft RSVP Security Framework June 2007 Francois Le Faucheur Cisco Systems Inc Village d'Entreprises Green Side 400, Avenue Roumanille, Batiment T 3 Biot - Sophia Antipolis 06410 France Email: flefauch@cisco.com URI: http://www.cisco.com Behringer & Le Faucheur Expires December 31, 2007 [Page 10] Internet-Draft RSVP Security Framework June 2007 Full Copyright Statement Copyright (C) The IETF Trust (2007). 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. Acknowledgment Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA). Behringer & Le Faucheur Expires December 31, 2007 [Page 11]