PPPEXT Working Group Baiju Patel INTERNET-DRAFT Intel Category: Standards Track Bernard Aboba Microsoft 11 March 1998 Securing L2TP using IPSEC 1. Status of this Memo This document is an Internet-Draft. Internet-Drafts are working docu- ments of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute work- ing 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 mate- rial or to cite them other than as ``work in progress.'' To learn the current status of any Internet-Draft, please check the ``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow Directories on ds.internic.net (US East Coast), nic.nordu.net (Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific Rim). The distribution of this memo is unlimited. It is filed as and expires September 1, 1998. Please send comments to the authors. 2. Abstract This document discusses how L2TP may utilize IPSEC to provide for tun- nel authentication, privacy protection, integrity check and replay protection. Both the voluntary and compulsory tunneling cases are dis- cussed. 3. Requirements language This specification uses the same words as [6] for defining the signif- icance of each particular requirement. These words are: MUST This word, or the adjectives "REQUIRED" or "SHALL", means that the definition is an absolute requirement of the speci- fication. MUST NOT This phrase, or the phrase "SHALL NOT", means that the defi- nition is an absolute prohibition of the specification. Patel & Aboba [Page 1] INTERNET-DRAFT 11 March 1998 SHOULD This word, or the adjective "RECOMMENDED", means that there MAY exist valid reasons in particular circumstances to ignore a particular item, but the full implications must be understood and carefully weighed before choosing a different course. SHOULD NOT This phrase means that there MAY exist valid reasons in par- ticular circumstances when the particular behavior is acceptable or even useful, but the full implications should be understood and the case carefully weighed before imple- menting any behavior described with this label. MAY This word, or the adjective "OPTIONAL", means that an item is truly optional. One vendor may choose to include the item because a particular marketplace requires it or because the vendor feels that it enhances the product while another vendor may omit the same item. An implementation which does not include a particular option MUST be prepared to interop- erate with another implementation which does include the option, though perhaps with reduced functionality. In the same vein an implementation which does include a particular option MUST be prepared to interoperate with another imple- mentation which does not include the option.(except, of course, for the feature the option provides) Silently Discard The implementation discards the datagram without further processing, and without indicating an error to the sender. The implementation SHOULD provide the capability of logging the error, including the contents of the discarded datagram, and SHOULD record the event in a statistics counter. An implementation is not compliant if it fails to satisfy one or more of the MUST or MUST NOT requirements for the protocols it implements. An implementation that satisfies all the MUST, MUST NOT, SHOULD and SHOULD NOT requirements for its protocols is said to be "uncondition- ally compliant"; one that satisfies all the MUST and MUST NOT require- ments but not all the SHOULD or SHOULD NOT requirements for its proto- cols is said to be "conditionally compliant." 4. Terminology Voluntary Tunneling In voluntary tunneling, a tunnel is created by the user, typically via use of a tunneling client. As a result, the user will send L2TP packets to the NAS which will forward them on to the LNS. In voluntary tunneling, the NAS does not need to support L2TP, and the LAC resides on the same machine as the user. Patel & Aboba [Page 2] INTERNET-DRAFT 11 March 1998 Compulsory Tunneling In compulsory tunneling, a tunnel is created without any action from the user and without allowing the user any choice. As a result, the user will send PPP packets to the NAS/LAC, which will encapsulate them in L2TP and tunnel them to the LNS. In the compulsory tunneling case, the NAS/LAC must be L2TP capable. 5. Introduction L2TP, described in [1], is a protocol that tunnels PPP traffic over variety of networks (e.g., IP, SONET, ATM). Since the protocol encap- sulates PPP, L2TP inherits PPP authentication, as well as the PPP Encryption Control Protocol (ECP) (described in [19]), and the Com- pression Control Protocol (CCP) (described in [18]). L2TP also includes support for tunnel authentication, which can be used to mutu- ally authenticate the tunnel endpoints. However, L2TP does not define tunnel protection mechanisms. IPSEC is a protocol suite defined by IETF working group on IP security to secure communication at the network layer between communicating peers. This protocol is comprised of ISAKMP, described in [11], IKE, described in [12], IPSEC AH, described in [7] and IPSEC ESP, described in [9]. ISAKMP is the key management protocol while AH and ESP are used to protect IP traffic. This draft proposes use of the IPSEC protocol suite for protecting L2TP traffic over IP and Non-IP networks, and discusses how IPSEC and L2TP should be used together. This document does not attempt to stan- dardize end-to-end security. When end-to-end security is required, it is recommended that additional security mechanisms (such as IPSEC or TLS) be used inside the tunnel, in addition to L2TP tunnel security. 6. L2TP security requirements L2TP tunnels PPP traffic over the IP and non-IP public networks. Therefore, both the control and data packets of L2TP protocol are vul- nerable to attack. Examples of attacks include: 1. The adversary may try to discover user identities by snooping data packets. 2. The adversary may try to modify packets (both control and data). 3. The adversary may try to hijack the L2TP tunnel or the PPP connec- tion inside the tunnel. 4. An adversary can launch denial of service attacks by terminating PPP connections, or L2TP tunnels. 5. An adversary may attempt to disrupt the PPP ECP negotiation in order to weaken or remove confidentiality protection. Alternatively, Patel & Aboba [Page 3] INTERNET-DRAFT 11 March 1998 an adversary may wish to disrupt the PPP LCP authentication negotia- tion so as to weaken the PPP authentication process or gain access to user passwords. To address these threats, the L2TP security protocol MUST be able to provide authentication, integrity and replay protection for control packets. In addition, it SHOULD be able to protect confidentiality of control packets. It MUST be able to provide integrity and replay pro- tection of data packets, and MAY be able to protect confidentiality of data packets. An L2TP security protocol MUST also provide a scalable approach to key management. The L2TP protocol, and PPP authentication and encryption do not meet the security requirements for L2TP. L2TP authentication typically mutually authenticates LAC to LNS at tunnel origination and may peri- odically re-authenticate. Therefore, it does not protect control and data traffic on a per packet basis. Thus, L2TP tunnel authentication leaves L2TP tunnel vulnerable to attack. PPP authenticates the client to the LNS, but also does not provide per- packet authentication, integrity, or replay protection. PPP encryption meets confidentiality requirements for PPP traffic but does not address authentication, integrity and key management requirements. In addition, PPP ECP nego- tiation, outlined in [19] does not provide for a protected ciphersuite negotiation. Therefore, PPP encryption provides a weak security solu- tion, and in addition does not assist in securing L2TP control chan- nel. Key management facilities are not provided by the L2TP protocol. How- ever, where L2TP tunnel authentication is desired, it is necessary to distribute keys. Where manual key distribution is not feasible, a key management protocol is required. Since secure key management protocols are difficult to design, protocols designed for another purpose (such as RADIUS) MUST NOT be used for L2TP key management. Note that several of the attacks outlined above can be carried out on PPP packets sent over the link between the client and the NAS/LAC, prior to encapsulation of the packets within an L2TP tunnel. While strictly speaking these attacks are outside the scope of L2TP secu- rity, in order to protect against them, the user SHOULD provide for confidentiality, authentication and integrity protection for PPP pack- ets sent over the dial-up link. Authentication and integrity protec- tion are not currently supported by the PPP encryption methods out- lined in [20]-[22]. 6.1. L2TP Security Protocol Where security is required, L2TP tunnels MUST be secured using IPSEC, both for IP and non-IP networks. IPSEC AH or ESP MUST be used to pro- vide for authentication, integrity and replay protection, and ESP MAY be used to provide for confidentiality. The L2TP tunnel is secured between either LAC and LNS, or between LAC and a firewall (when a firewall is present and is trusted by LAC). Patel & Aboba [Page 4] INTERNET-DRAFT 11 March 1998 Both LAC and LNS must meet L2TP security requirements. All compliant implementations MUST implement IPSEC ESP for securing control packets. Optionally, IPSEC AH MAY also be supported. All compliant implementations SHOULD also implement IPSEC ESP for pro- tection of data packets. In addition to the mandated cipher suites in IPSEC for AH and ESP, NULL encryption MUST be supported for L2TP secu- rity. Other IPSEC ESP required ciphers MAY also be supported. The implementations MUST meet replay protection requirements of IPSEC. L2TP security MUST meet the key management requirements of the IPSEC protocol suite. ISAKMP SHOULD be supported for authentication, secu- rity association negotiation, and key management using the IPSEC DOI. 6.2. Stateless compression and encryption Stateless encryption and/or compression is highly desirable when L2TP is run over IP. Thus IPSEC encryption and IP compression (stateless) are to be preferred over stateful PPP encryption/compression methods wherever possible. Since L2TP is a connection-oriented protocol, use of stateful compression/encryption is feasible, but when run over IP, this is not desirable. While providing better compression, and some- what more secure encryption, when used without an underlying reliable delivery mechanism stateful methods magnify packet losses, and thus are problematic when used over the Internet where packet loss can be significant. In addition, although L2TP is connection oriented, the L2TP specification does not mandate packet ordering, which can create difficulties in implementation of stateful compression/encryption schemes. However, these considerations are not as important when L2TP is run over non-IP media such as ATM, X.25, or Frame Relay, since these media guarantee ordering, and packet losses are typically low. 6.3. Implementation considerations for L2TP over Non-IP networks L2TP requires that a non-IP network supports packet transport, so that the non-IP network should be able to carry L2TP control and data pack- ets. Since ESP functions are defined on the IP payload (excluding the IP header), the presence of an IP header is not a requirement for use of ESP. Therefore, L2TP implemented on non-IP networks MUST be able to transport IPSEC ESP packets. The next payload field of the ESP header MUST be set to the L2TP protocol number. IKE messages use UDP transport. Therefore, in order to be compliant with the IKE protocol on non-IP media, the non-IP media (which is capable of transporting packets) MUST support transport of UDP data- grams. Since the IP header is not present in the UDP datagram over non-IP media, the UDP checksum MUST be set to zero by the source and ignored by the destination. Patel & Aboba [Page 5] INTERNET-DRAFT 11 March 1998 The exact mechanisms for enabling transport of ESP and UDP packets over non-IP media MUST be addressed in appropriate standards for L2TP over specific non-IP networks. 7. L2TP/IPSEC interoperability guidelines The following guidelines are established to meet L2TP security requirements using IPSEC in practical situations. Note that this sec- tion is not a requirement for an implementation to be L2TP security compliant. Its purpose to make the implementors aware of certain efficiency and security considerations. In the scenarios that follow, it is assumed that both L2TP clients and servers are able to set and get the properties of IPSEC security asso- ciations, as well as to influence the IPSEC security services negoti- ated. Furthermore, it is assumed that L2TP clients and servers are able to influence the negotiation process for PPP encryption and com- pression. These and other API-related questions are addressed in [31]. 7.1. Compulsory tunnel In the case of a compulsory tunnel, the dial-in user will be sending PPP packets to the LAC, and will typically not be aware that its pack- ets are being tunneled, nor that any security services are in place between the LAC and LNS. From the LNS's point of view, it will note arrival of a PPP data packet encapsulated in L2TP, which is itself encapsulated in an IP packet. Assuming that the LNS is able to retrieve the properties of the Security Association set up between itself and the LAC, it will have knowledge of the security services in place between the LAC and itself. Thus in the compulsory tunneling case, the dial-in user and the LNS have unequal knowledge of the security services in place between them. Since the LNS is capable of knowing whether confidentiality, authenti- cation, integrity and replay protection are in place between the LAC and itself, it can use this knowledge in order to modify its behavior during PPP ECP and CCP negotiation. For example, let us assume that LNS confidentiality policy can be described by one of the following terms: "Require Encryption," "Allow Encryption" or "Prohibit Encryp- tion." If IPSEC confidentiality services are in place, then an LNS implementing a "Prohibit Encryption" policy will act as though the policy had been violated. Similarly, an LNS implementing a "Require Encryption" or "Allow Encryption" policy will act as though these policies were satisfied, and would not mandate use of PPP encryption or compression. Note however, that this is not the same as insisting that PPP encryption and compression be turned off, since this decision will depend on the policy of the dialin user. Since the dial-in user has no knowledge of the security services in place between the LAC and the LNS, and since it may not trust the LAC or the wire between itself and the LAC, the dial-in user will Patel & Aboba [Page 6] INTERNET-DRAFT 11 March 1998 typically want to ensure sufficient security through use of end-to-end IPSEC or PPP encryption/compression between itself and the LNS. A dial-in user wishing to ensure security services over the entire travel path would not modify this behavior even if it had knowledge of the security services in place between the LAC and the LNS. This is because the dial-in user needs to negotiate confidentiality services between itself and the LNS in order to provide privacy on the wire between itself and the LAC. Similarly, the dial-in user needs to nego- tiate end-to-end security between itself and the endstation in order to ensure confidentiality on the portion of the path between the LNS and the endstation. Given that the dial-in user will typically not trust the LAC and will negotiate confidentiality and compression services on its own, the LAC may only wish to negotiate IPSEC AH (authentication + integrity check) with the LNS, and the LNS will request replay protection. This will ensure that confidentiality and compression services will not be duplicated over the path between the LAC and the LNS. This will typi- cally result in better scalability for the LAC, since encryption will be handled by the dial-in user and the LNS. The dial-in user can satisfy its desire for confidentiality services in one of two ways. If it knows that all endstations that it will com- municate with are IPSEC-capable (or if it refuses to talk to non-IPSEC capable endstations), then it can refuse to negotiate PPP encryp- tion/compression and negotiate IPSEC ESP with the endstations instead. If the client does not know that all endstations it will contact are IPSEC capable (the most likely case), then it will negotiate PPP encryption/compression. This may result in duplicate compres- sion/encryption which can only be eliminated if PPP compres- sion/encryption can be turned off on a per-packet basis. Note that since the LNS knows that the dial-in user's packets are being tunneled but the dial-in user does not, the LNS can ensure that stateless com- pression/encryption is used by offering stateless compression/encryp- tion methods if available in the ECP and CCP negotiations. 7.2. Voluntary tunnel In the case of a voluntary tunnel, the dial-in user will be sending L2TP packets to the NAS, which will route them to the LNS. Over a dialup link, these L2TP packets will be encapsulated in IP and PPP. Assuming that it is possible for the dial-in user to retrieve the properties of the Security Association between itself and the LNS, the dial-in user will have knowledge of any security services negotiated between itself and the LNS. It will also have knowledge of PPP encryp- tion/compression services negotiated between itself and the NAS. From the LNS's point of view, it will note a PPP packet encapsulated in L2TP, which is itself encapsulated in an IP frame. This situation is identical to the compulsory tunneling case. Assuming that the LNS is able to retrieve the properties of the Security Association set up between itself and the dial-in user, it will have knowledge of the Patel & Aboba [Page 7] INTERNET-DRAFT 11 March 1998 security services in place between the dial-in user and itself. Thus in the voluntary tunneling case, the dial-in user and the LNS have symmetric knowledge of the security services in place between them. Since the LNS is capable of knowing whether confidentiality, authenti- cation, integrity check or replay protection is in place between the dial-in user and itself, it is able to use this knowledge to modify its PPP ECP and CCP negotiation stance. If IPSEC confidentiality is in place, the LNS can behave as though a "Require Encryption" directive had been fulfilled, not mandating use of PPP encryption or compres- sion. Typically the LNS will not insist that PPP encryption/compres- sion be turned off, instead leaving this decision to the dial-in user. Since the dial-in user has knowledge of the security services in place between itself and the LNS, it can act as though a "Require Encryp- tion" directive had been fulfilled if IPSEC ESP was already in place between itself and the LNS. Thus, it can request that PPP encryption and compression not be negotiated. Note that if IP compression ser- vices cannot be negotiated, it will typically be desirable to turn off PPP compression if no stateless method is available, due to the unde- sirable effects of stateful PPP compression. Thus in the voluntary tunneling case the dial-in user and LNS will typically be able to avoid use of PPP encryption and compression, negotiating IPSEC Confidentiality, Authentication, and Integrity pro- tection services instead, as well as IP Compression if avail- able. This may result in duplicate encryption if the dial-in user is commu- nicating with an IPSEC-capable endstation. In order to avoid duplicate encryption/compression, the dial-in user may negotiate two Security Associations with the LNS, one with AH, and one with confidential- ity/compression. Packets going to an IPSEC-capable endstation would run over the AH security association, and packets to a non-IPSEC capa- ble endstation would run over the other security association. Note that many IPSEC implementations cannot support this without allowing L2TP packets on the same tunnel to be originated from multiple UDP ports. This requires modifications to the L2TP specification. Also note that the dial-in user may wish to put confidentiality ser- vices in place for non-tunneled packets travelling between itself and the NAS. This will protect the dial-in user against eavesdropping on the wire between itself and the NAS. As a result, it may wish to nego- tiate PPP encryption and compression with the NAS. As in compulsory tunneling, this will result in duplicate encryption and possibly com- pression unless PPP compression/encryption can be turned off on a per- packet basis. 8. Security considerations This draft defines a security protocol. Patel & Aboba [Page 8] INTERNET-DRAFT 11 March 1998 9. Acknowledgements Thanks to Gurdeep Singh Pall, David Eitelbach, William Dixon, Peter Ford, and Sanjay Anand of Microsoft, John Richardson of Intel and Rob Adams of Cisco for many useful discussions of this problem space. 10. References [1] K. Hamzeh, A. Rubens, T. Kolar, M. Littlewood, B. Palter, A. Valencia, G. S. Pall, J. Taarud, W. M. Townsley, W. Verthein. "Layer Two Tunneling Protocol -- L2TP." Internet draft (work in progress), draft-ietf-pppext-l2tp-09.txt, Ascend Communications, Cisco Systems, Microsoft, Copper Mountain Networks, IBM, 3Com, February 1998. [2] P. R. Calhoun, W. M. Townsley. "Layer Two Tunneling Protocol "L2TP" Security Extensions for Non-IP Networks." Internet draft (work in progress), draft-ietf-pppext-l2tp-sec-02.txt, 3Com, IBM, October 1997. [3] K. Hamzeh, G. S. Pall, J. Taarud, W. Verthein, W. A. Little. "Point-to-Point Tunneling Protocol -- PPTP." Internet draft (work in progress), draft-ietf-pppext-pptp-02.txt, Ascend Communications, Microsoft, Copper Mountain Networks, U.S. Robotics, July 1997. [4] G. Zorn. "RADIUS Attributes for Tunnel Protocol Support." Inter- net draft (work in progress), draft-ietf-radius-tunnel-auth-05.txt, Microsoft, March 1998. [5] B. Aboba, G. Zorn. "Implementation of PPTP/L2TP Compulsory Tun- neling via RADIUS." Internet draft (work in progress), draft-ietf- radius-tunnel-imp-03.txt, Microsoft, July 1997. [6] S. Bradner. "Key words for use in RFCs to Indicate Requirement Levels." RFC 2119, Harvard University, March 1997. [7] S. Kent, R. Atkinson. "IP Authentication Header." Internet draft (work in progress), draft-ietf-ipsec-auth-header-04.txt, BBN Corp, @Home Network, February 1998. [8] R. Thayer, N. Doraswamy, R. Glen. "IP Security Document Roadmap." Internet draft (work in progress), draft-ietf-ipsec-doc- roadmap-02.txt, Sable, Bay Networks, NIST, November 1997. [9] S. Kent, R. Atkinson. "IP Encapsulating Security Payload (ESP)." Internet draft (work in progress), draft-ietf-ipsec-esp-v2-03.txt, BBN Corp, @Home Network, February 1998. [10] D. Piper. "The Internet IP Security Domain of Interpretation of ISAKMP." Internet draft (work in progress), draft-ietf-ipsec-ipsec- doi-07.txt, Cisco Systems, February 1998. [11] D. Maughan, M. Schertler, M. Schneider, J. Turner. "Internet Security Association and Key Management Protocol (ISAKMP)." Internet Patel & Aboba [Page 9] INTERNET-DRAFT 11 March 1998 draft (work in progress), draft-ietf-ipsec-isakmp-08.txt, NSA, Terisa Systems, July 1997. [12] D. Harkins, D. Carrel. "The Internet Key Exchange (IKE)." Inter- net draft (work in progress), draft-ietf-ipsec-isakmp-oakley-06.txt, Cisco Systems, February 1998. [13] N. Doraswamy. "Implementation of Virtual Private Networks (VPNs) with IP Security." Internet draft (work in progress), draft-ietf- ipsec-vpn-00.txt, FTP Software, March 1997. [14] R. Moskowitz. "Network Address Translation issues with IPsec." Internet draft (work in progress), draft-moskowitz-ipsec-vpn- nat-00.txt, Chrysler, August 1997. [15] H. K. Orman. "The OAKLEY Key Determination Protocol." Internet draft (work in progress), draft-ietf-ipsec-oakley-02.txt, University of Arizona, August 1997. [16] A. Shacham, R. Monsour, R. Pereira, M. Thomas. "IP Payload Com- pression Protocol (IPCOMP)" Internet draft (work in progress), draft- ietf-ippcp-protocol-05.txt, Cisco, Hi/fn, TimeStep, AltaVista Inter- net, January 1998. [17] W. Simpson. "The Point-to-Point Protocol (PPP)". RFC 1661, Day- dreamer, July 1994. [18] D. Rand. "The PPP Compression Control Protocol (CCP)". RFC 1962, Novell, June 1996. [19] G. Meyer. "The PPP Encryption Control Protocol (ECP)". RFC 1968, Spider Systems, June 1996. [20] K. Sklower, G. Meyer. "The PPP DES Encryption Protocol (DESE)". RFC 1969, UCB, Spider Systems, June 1996. [21] K. Sklower, G. Meyer. "The PPP DES Encryption Protocol, Version 2 (DESE-bis)". Internet draft (work in progress), draft-ietf-pppext- des-encrypt-v2-01.txt, UCB, Shiva, November 1997. [22] H. Kummert. "The PPP Triple-DES Encryption Protocol (3DESE)". Internet draft (work in progress), draft-ietf-pppext-3des- encrypt-00.txt, Nentec GmbH, July 1997. [23] R. Friend. "PPP Stac LZS Compression Protocol". RFC 1974, Stac Electronics, DayDreamer, August 1996. [24] R. Friend. "PPP Stac LZS Compression Protocol". RFC 1974, Stac Electronics, DayDreamer, August 1996. [25] D. Schremp, J. Black, J. Weiss. "PPP Magnalink Variable Resource Compression". RFC 1975, Magnalink, August 1996. [26] K. Schneider, S. Venters. "PPP for Data Compression in Data Patel & Aboba [Page 10] INTERNET-DRAFT 11 March 1998 Circuit-Terminating Equipment (DCE)". RFC 1976, ADTRAN, Inc., August 1996. [27] V. Schryver. "PPP BSD Compression Protocol". RFC 1977, SGI, August 1996. [28] D. Rand. "PPP Predictor Compression Protocol". RFC 1978, Novell, August 1996. [29] J. Woods. "PPP Deflate Protocol". RFC 1979, Proteon, Inc., August 1996. [30] G. Pall. "Microsoft Point-to-Point Compression (MPPC) Protocol". RFC 2118, Microsoft, March 1997. [31] D. L. McDonald. "A Simple IP Security API Extension to BSD Sock- ets". Internet draft (work in progress), draft-mcdonald-simple-ipsec- api-01.txt, Sun Microsystems, March 1997. 11. Authors' Addresses Baiju V. Patel Intel Corp 2511 NE 25th Ave Hillsboro, OR 97124 Phone: 503-264-2422 Email: baiju.v.patel@intel.com Bernard Aboba Microsoft Corporation One Microsoft Way Redmond, WA 98052 Phone: 425-936-6605 EMail: bernarda@microsoft.com Patel & Aboba [Page 11]