BTNS WG J. Touch, D. Black, Y. Wang Internet Draft USC/ISI and EMC Expires: March 2007 September 25, 2006 Problem and Applicability Statement for Better Than Nothing Security (BTNS) draft-ietf-btns-prob-and-applic-04.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 March 25, 2007. Abstract The Internet network security protocol suite, IPsec, consisting of IKE, ESP, and AH, generally requires authentication via IKE of network layer entities to bootstrap security. This authentication can be based on mechanisms such as pre-shared symmetric keys, certificates and associated asymmetric keys, or the use of Kerberos. The need to deploy authentication information and its associated identities to network layer entities can be a significant obstacle to use of network security. This document explains the rationale for extending the Internet network security suite to enable use of IPsec Touch, Wang, Black Expires March 25, 2007 [Page 1] Internet-Draft BTNS Problem and Applicability September 2006 security mechanisms without full IKE authentication. These extensions are intended to protect communication in a "better than nothing" (BTNS) fashion. The extensions may be used on their own (Stand Alone BTNS, or SAB), or may be useful in providing network layer security that can be authenticated by higher layers in the protocol stack, called Channel Bound BTNS (CBB). This document also explains situations in which use of SAB and CBB extensions are appropriate. Table of Contents 1. Introduction...................................................3 2. Problem Statement..............................................4 2.1. Network Layer.............................................4 2.1.1. Authentication Identities............................5 2.1.2. Authentication Methods...............................5 2.1.3. Current IPsec Limits on Unauthenticated Peers........5 2.2. Upper Layer...............................................6 2.2.1. Transport Protection from Packet Spoofing............6 2.2.2. Authentication at Multiple Layers....................7 3. BTNS-IPsec Overview and Threat Models..........................9 3.1. BTNS-IPsec Overview.......................................9 3.2. BTNS-IPsec Security Services..............................9 3.3. BTNS-IPsec Modes.........................................10 4. Applicability Statement.......................................12 4.1. Benefits.................................................12 4.2. Vulnerabilities..........................................13 4.3. Stand-Alone BTNS (SAB)...................................13 4.3.1. Symmetric SAB.......................................13 4.3.2. Asymmetric SAB......................................14 4.4. Channel-Bound BTNS (CBB).................................14 4.5. Summary of Uses, Vulnerabilities, and Benefits...........15 5. Security Considerations.......................................16 5.1. Threat Models and Evaluation.............................16 5.2. Interaction with Other Extant Security...................17 5.3. MITM and Masquerader Attacks.............................17 5.4. DoS Attacks and Resource Consumptions....................18 5.5. Exposure to Anonymous Access.............................18 5.6. ICMP Attacks.............................................19 5.7. Leap of Faith............................................19 5.8. Connection Hijacking through Rekeying....................20 5.9. Configuration Errors.....................................21 6. Other Issues and Related Efforts..............................21 6.1. NAT Traversal............................................21 6.2. Mobility and Multihoming.................................22 6.3. Related IETF Efforts.....................................22 7. IANA Considerations...........................................22 8. Acknowledgments...............................................22 Touch, Black, Wang Expires March 25, 2007 [Page 2] Internet-Draft BTNS Problem and Applicability September 2006 9. References....................................................23 9.1. Normative References.....................................23 9.2. Informative References...................................23 Author's Addresses...............................................25 Intellectual Property Statement..................................25 Disclaimer of Validity...........................................26 Copyright Statement..............................................26 Acknowledgment...................................................26 1. Introduction Network security is provided by a variety of protocols at different layers in the stack. At the network layer, the IPsec protocol suite is used to secure IP traffic. IPsec and Internet Key Exchange protocol (IKE) present an all-or-nothing alternative by providing protection from a wide array of possible threats, but requiring authentication [4][8][9][10]. In turn authentication requires deployment of network-level authentication credentials, and this can be an obstacle to IPsec usage. This document discusses the issues with regard to this dependency, and introduces "Better Than Nothing Security" (BTNS) as one solution. It also describes various modes of BTNS, and explores the characteristics of applications that will benefit from using each mode. The remainder of this section provides an overview of the background and problem scenario. The process of establishing secure network communications consists of two functions: policy and mechanism. The policy function determines "who" gets which types of security services, and the mechanism function applies the selected services to the corresponding communication traffic. The requirement for authentication credentials stems from the need to verify the "who;" i.e., to authenticate the identities of the communicating peers. There are two basic approaches to authentication: using pre-deployed information, or employing out-of-band communications. Out-of-band authentication can be done through a trusted third party, a separate channel to the peer, or the same channel but at a higher layer. It requires mechanisms and interfaces to bind the authenticated identities to the secure channels, and is out-of-scope for this document (although it may be possible to extend the channel binding mode of BTNS to work with such mechanisms). Pre-deployed information includes pre-shared secrets and credentials authenticated by trusted authorities. This form of authentication often requires manual deployment and coordination among communicating peers. Furthermore, authenticated credentials such as certificates signed by certification authorities (CA) can be cumbersome and expensive to obtain. Touch, Black, Wang Expires March 25, 2007 [Page 3] Internet-Draft BTNS Problem and Applicability September 2006 These factors increase the impact of IKE's requirement for successful authentication based on pre-deployed information before security services are offered. Consequently, users and applications often do not use IPsec to protect the network layer, but rely solely on higher layer security protocols or no security at all. As the problem statement section will describe, higher layer security protocols may not be enough to protect against some network layer spoofing attacks. To improve the situation, one could either reduce the hurdles to obtain and configure authentication information, or remove authentication at the network layer. The latter is the core idea of BTNS, which provides anonymous (unauthenticated) keying for IPsec to create Security Associations (SAs) with peers who do not possess valid authentication credentials. This requires extensions to the IPsec architecture and possibly extensions or profiles of IKE. As the new BTNS modes in IPsec relax the authentication requirement, the impacts, tradeoffs, and risks must be thoroughly understood before applying BTNS to any communications. More specifically, this document will address the issues on whether and when network layer authentication can be removed, the risks of using BTNS, and finally, the impacts to the existing IPsec architecture. The next section discusses the issues that IKE's strict requirements for network layer authentication cause for IPsec. Section 3 provides a high level overview of BTNS-IPsec, including the security services offered. Section 4 explores the applicability of BTNS-IPsec, followed by a discussion of the risks and other security considerations in Section 5. Section 6 lists other related efforts. 2. Problem Statement This section describes the problems that motivated the development of BTNS. The primary concern is that IPsec is not widely utilized despite rigorous development effort and emphasis on network security by users and organizations. There are also debates on which layer is best for securing network communications, and how security protocols at different layers should interact. The following discussion roughly categorizes these issues by layers: network layer and higher layers. 2.1. Network Layer At the network layer, one of the hurdles is to satisfy the authentication requirements of IPsec and IKE. This section investigates the problems on network layer authentication and the result of this requirement. Touch, Black, Wang Expires March 25, 2007 [Page 4] Internet-Draft BTNS Problem and Applicability September 2006 2.1.1. Authentication Identities Current IPsec authentication supports several types of identities in the Peer Authorization Database (PAD): IPv4 addresses, IPv6 addresses, DNS names, Distinguished Names, RFC 822 email addresses, and Key IDs [10]. All require either CA-signed certificates or pre- shared secrets to authenticate. These can be roughly categorized into network layer identifiers and other identifiers. The first three, IPv4/IPv6 addresses and DNS names are network layer identifiers. The main issue with IP addresses is that they are no longer stable identifiers representing the same physical systems consistently due to dynamic address assignments (DHCP) and increases in system mobility. DNS names are affected because the name to address mapping is not always up to date as a result. There are two main drawbacks with other, non-network-layer identifiers. It is too restrictive because there are likely other forms of identifiers not covered by the PAD specification. It could also result in multiple authentications on the same identifiers at different layers. In addition, the list of identifiers is not complete; some higher layer protocols use additional types of identifiers that are not supported by IPsec. These issues are also related to channel binding and will be further discussed later. 2.1.2. Authentication Methods As described earlier, CA-signed certificates and pre-shared secrets are the only methods of authentications accepted by current IPsec and IKE specifications. Pre-shared secrets require manual configuration and out-of-band communications. The verification process of CA-signed certificates is cumbersome and there may be a monetary cost in obtaining the certificates. The combination of these factors is one likely reason why IPsec is not widely used except in environments with the highest security requirements. 2.1.3. Current IPsec Limits on Unauthenticated Peers Pre-configuration only works if the peer identities are known in advance. The lack of unauthenticated IPsec modes prevents secure communications at the network layer with unauthenticated or unknown peers, even when they are subsequently authenticated in a higher layer protocol or application. The lack of a channel binding API between IPsec and upper layer protocols further forces such communications to completely bypass IPsec, leaving network layer unprotected. Touch, Black, Wang Expires March 25, 2007 [Page 5] Internet-Draft BTNS Problem and Applicability September 2006 2.2. Upper Layer For upper layers, the following discussion first focuses on whether IPsec is necessary if transport layer security is already in use. This would further motivate the need to reduce the hurdle of using IPsec. Another issue is regarding authentication at both IPsec and higher layer protocols for the same connection. 2.2.1. Transport Protection from Packet Spoofing Consider the case of transport protocols. Increases in network performance and the use of long-lived connections have resulted in increased vulnerability of connection-oriented transport protocols to attacks. TCP, like many other protocols, is susceptible to off-path third-party attacks, such as injection of a TCP RST [20]. The network lacks comprehensive ingress filtering to drop such spoofed traffic. These attacks can affect BGP sessions between core Internet routers, and are thus of significant concern [2]. As a result, a number of proposed solutions have been developed; most of these are transport layer solutions. Some of these solutions augment the transport protocol by improving its own security, e.g., TCP/MD5 [5]. Others modify the core TCP processing rules to make it harder for off-path attackers to inject meaningful packets either during the initial handshake (e.g. SYNcookies) or after a connection is established (e.g., TCPsecure) [17][19]. Some of these modifications are new to TCP, but have already been incorporated into other transport protocols (e.g., SCTP) or intermediate (so-called L3.5) protocols (e.g., HIP) [13][18]. Such modifications are, at best, temporary patches to the ubiquitous vulnerability to spoofing attacks. The obvious solution to spoofing is to validate the segments of a connection, either at the transport layer or the network layer. The IPsec suite already provides authentication of a network layer packet and its contents, but the infrastructure required for deployment of IPsec can be prohibitive. Protecting systems from spoofed packets is ultimately an issue of authentication, ensuring that a receiver's interpretation of the source of a packet is accurate. Authentication validates the identity of the source of the packet. The current IPsec suite assumes that identity is validated either by a trusted third party - e.g., a certification authority - or by a pre-deployed shared secret. Such an identity is unique and invariant across associations (pair-wise security configuration), and can be used to reject packets that are not authentic. Touch, Black, Wang Expires March 25, 2007 [Page 6] Internet-Draft BTNS Problem and Applicability September 2006 There is weaker notion of identity, one which is bootstrapped from the session association itself. The identity doesn't mean "Bill Smith" or "owner of shared secret X2YQ", but means something more like "the entity with which I have been communicating on connection #23". Such identity is not invariant across associations, but because it is invariant within an association it can still be used to provide protection during the lifetime of that association. This is the core notion of identity used by BTNS. BTNS thus provides a kind of intra-association integrity, a form of authentication where the identity is not authenticated across separate associations or out-of-band, but does not change during the association. This mode of BTNS is called Stand Alone BTNS (SAB), because the protection is afforded solely by the use of BTNS extensions, without authentication from higher layers in the protocol stack. With regard to BGP in particular, it has been understood that the use of appropriate authentication is the preferred solution [2] to TCP spoofing attacks. Supporting authentication, e.g., by using signed certificates, at one router does not solve the problem; that router is still at the mercy of all routers it peers with, as it depends on them to also support authentication. The reality is that few routers are configured to support authentication, and the result is the use of unsecured TCP for sending BGP packets. BTNS allows an individual router to relax the need for authentication, in order to enable the use of protected sessions that are not authenticated. The latter is "better than nothing" in cases where "nothing" is the alternative. 2.2.2. Authentication at Multiple Layers Some existing protocols used on the Internet provide authentication at a layer above the transport, but rely on the IPsec suite for packet-by-packet cryptographic integrity and confidentiality services. Examples of such protocols include iSCSI and the CCM mode for NFSv4 security [15][16]. With the current IPsec suite, the result is two authentications; one at the IPsec layer, using an identity for IKE and an associated secret or key, and another by the higher layer protocol using a higher layer identity and secret or key. This is necessary if the identity and key formats differ between IPsec and the higher layer protocol, and because there is no standard interface to pass authentication credentials across these layers. End-node software is then responsible for making sure that the identities used for these two authentications are consistent in some fashion, an authorization policy decision. In principle a single authentication should suffice, removing the need for: Touch, Black, Wang Expires March 25, 2007 [Page 7] Internet-Draft BTNS Problem and Applicability September 2006 o the second authentication o configuration and management of the identities and secrets or keys for the second authentication o determining in some fashion that the two authenticated identities are consistent. Note that there are significant potential vulnerabilities if this is not done. IPsec is not always present for these higher layer protocols, and even when present, will not always be used. Hence, if there is a choice, the higher layer protocol authentication is preferable as it will always be available for use independent of IPsec. A "better than nothing" security approach to IPsec can address this problem by setting up IPsec without an authentication and then extending the higher layer authentication to establish that the higher layer protocol session is protected by a single IPsec SA. This counters man-in-the-middle (MITM) attacks on BTNS IPsec session establishment by terminating the higher layer session when such an attack occurs. This approach is based on the fact that an MITM attack on a BTNS SA will result in two different BTNS SAs, each connecting the MITM to one of the higher layer endpoints. These different SAs contribute different cryptographic binding material to the higher layer authentication, causing that authentication to fail, which should then cause the higher layer protocol session to terminate. In contrast to use of IKE authentication, this approach detects the man- in-the-middle after the SAs have been set up, and hence does not match IKE's resistance to denial of service attacks at the network layer. This check is referred in this document as "channel binding", thus the name Channel Bound BTNS (CBB) [22]. Channel binding must be done in a fashion that prevents a man-in-the-middle attack from changing the SA identity when it is checked and from causing two different SAs to have the same identity. Adding the SA identifier to authentication mechanisms based on one-way hashes, key exchanges, or (public key) cryptographic signatures are three means by which channel binding can be accomplished with resistance to man-in-the- middle attacks. This requires that the SA identifier be the same at both ends of the SA [22]. Currently, the IPsec protocol suite does not define the notion of channels for channel binding. Such channels can be constructed by transport protocols layered above IP through cooperation between these protocols and IPsec, to ensure that all packets for a given channel are protected by similar SAs, where similar relates to, among Touch, Black, Wang Expires March 25, 2007 [Page 8] Internet-Draft BTNS Problem and Applicability September 2006 other things, the IDs of the peers. Interfaces between applications and transport protocols are also needed for communicating channel binding data to applications, and for applications to construct their own IPsec channels over connection-less, datagram-oriented transports. 3. BTNS-IPsec Overview and Threat Models This section provides an overview of BTNS-IPsec and the security services it offers. It also describes the modes of BTNS-IPsec. 3.1. BTNS-IPsec Overview This is an overview of what is needed to enable BTNS-IPsec. The detailed specifications of the extensions will be addressed by the relevant protocol specifications. The main update to IPsec is adding extensions to security policy that permit secure communications with un-authenticated peers. These extensions are necessary for both IPsec and IKE. For IPsec, the extension applies to the PAD, which specifies the forms of authentication for each entry ID. In addition to CA-signed X.509 certificates and pre-shared secrets, the extension adds two more categories: un-authenticated (either null or self-signed certificates) and channel binding, to support BTNS and BTNS with channel binding respectively. For IKE, the AUTH payload should be expended to allow either null payload or self-signed certificates to match the proposed PAD extensions. The changes to enable channel binding between IPsec and higher layer protocols or applications will be more complex than the policy extensions above. It will involve specifications of APIs and interactions between IPsec and higher layer protocols. This document assumes such provisions will eventually be developed, but does not address their details. 3.2. BTNS-IPsec Security Services The changes and extensions of BTNS primarily affect policy as described above. Other parts of IPsec and IKE specifications are unchanged. BTNS-IPsec does not establish nor does it require a separate IPsec context. It is integrated with any existing IPsec context in a system. The scope of BTNS-IPsec applies only to the SAs matching the policies that explicitly specify or enable BTNS modes in the PAD. All other non-BTNS policy entries, including entries in the SPD and the PAD, and any non-BTNS SAs will not be affected by BTNS- IPsec in terms of security services and requirements. Touch, Black, Wang Expires March 25, 2007 [Page 9] Internet-Draft BTNS Problem and Applicability September 2006 In principle, the result of removing authentication at the network layer is that BTNS-IPsec can establish secure connections in a fashion similar to regular IPsec and IKE, but it cannot verify or authenticate the peer identities of these secure connections. The following is a list of security services offered by IPsec protocol suite. The notes address only the differences when applied to BTNS- IPsec. 1. Access Control Because BTNS-IPsec is integrated with any existing IPsec contexts, the same access control mechanisms apply to BTNS-IPsec entries in all relevant databases except that the entity IDs for BTNS in the PAD are not authenticated. Channel bound BTNS can authenticate after the secure connection is established at the network layer. 2. Connectionless Integrity 3. Data Origin Authentication 4. Anti-Replay Protection 5. Confidentiality 6. (Limited) Traffic Flow Confidentiality For the remaining security services offered by IPsec, items 2 through 6, it is possible to establish secure connections with rogue peers in BTNS-IPsec because authentication is not required. But once a secure connection is established, the communication is afforded the same security services as regular IPsec. 3.3. BTNS-IPsec Modes The previous sections have described two ways of using BTNS: Stand- alone (SAB) or with Channel Binding (CBB). It can also be used either symmetrically, where both parties lack network layer authentication information, or asymmetrically, where only one party lacks the ability to authenticate at the network layer. There are a number of cases to consider, based on the matrix of the endpoint security capabilities of SAB, CBB, and conventional authentication (denoted as IKE below). The following table shows all the combinations based on the capabilities of the two security endpoints: Touch, Black, Wang Expires March 25, 2007 [Page 10] Internet-Draft BTNS Problem and Applicability September 2006 | IKE | SAB | | CB-IKE | CBB | -----+-------+-------+ -------+--------+---------+ | | | | | | IKE | IKE | A-SAB | CB-IKE | CB-IKE | A-CBB | | | | | | | -----+-------+-------+ -------+--------+---------+ | | | | | | SAB | A-SAB | S-SAB | CBB | A-CBB | S-CBB | | | | | | | -----+-------+-------+ -------+--------+---------+ No Channel Binding With Channel Binding The first three modes consist of network layer authentication schemes used without channel binding to higher layer authentication: 1. IKE: both sides possess conventional, IKE-supported authentication 2. Symmetric SAB (S-SAB, or just SAB): both sides lack network layer authentication information 3. Asymmetric SAB (A-SAB): one side lacks network layer authentication information, but the other possesses it The following modes are the same as above at the network layer, but used with channel binding to higher layer authentication credentials: 4. CB-IKE: this is the case where channel binding is used with conventional IKE-authenticated IPsec SAs 5. Symmetric CBB (S-CBB, or just CBB): both sides lack network layer authentication information, but channel binding is used to bind the SAs with higher layer authentication credentials 6. Asymmetric CBB (A-CBB): this is asymmetric SAB (A-SAB) used with channel binding; at the network layer, one side lacks network layer authentication information and the other possesses IKE- supported authentication, and channel binding is used to bind the secure channel to higher layer authentication credentials There are three security mechanisms involved in BTNS with channel binding: BTNS-IPsec at the network layer, higher layer authentication, and the channel binding mechanisms that bind the higher layer authentication credentials with the secure channel (or its corresponding abstract, cryptographic representation) presented by BTNS-IPsec. Both BTNS-IPsec and the higher layer authentication can be either symmetric or asymmetric, when one side lacks properly Touch, Black, Wang Expires March 25, 2007 [Page 11] Internet-Draft BTNS Problem and Applicability September 2006 authenticated credentials at either layer. The channel binding mechanisms, however, must be applied at both ends of the communication to prevent MITM attacks. Existing channel binding mechanisms and APIs for this purpose, such as defined in GSS-API [12], mandate the exchange and verification of the channel binding values at both ends to ensure that correct, non-spoofed channel characteristics are bound to the higher layer authentication. 4. Applicability Statement BTNS is intended for services open to the public but for which protected associations are desired, or for services that can be authenticated at higher layers in the protocol stack. BTNS can also provide some level of protection for private services when the alternative is no protection at all (as in the case of BGP, for instance). BTNS-IPsec uses the IPsec protocol suite, therefore should not be used in situations where IPsec or IKE are unsuitable. IPsec and IKE incur additional computation overhead, and IKE further requires extra message exchanges and round-trip times to setup security associations. These are generally undesirable in environments with limited computational resources and/or high communication latencies. This section provides an overview of the types of applications suitable for various modes of BTNS. The next two sections describe the overall benefits and vulnerabilities, followed by the applicability analysis for each BTNS-IPsec mode. The applicability statement covers BTNS-specific modes. IKE and CB-IKE are out of scope for this discussion. 4.1. Benefits BTNS protects associations once established. It reduces vulnerability after associations have been established to attacks from parties not participating in the association. BTNS-IPsec protects network and transport layers without requiring network layer authentication information. It can be deployed without pre-deployment of authentication material for IPsec or pre-shared information, and protects all transport layer protocols using a single mechanism. BTNS also helps protect systems from low-effort attacks on sessions or connections involving higher levels of resources. It raises the level of effort for many types of network or transport layer attacks. Casual, simple packet attacks need to be augmented to full associations and connection establishment for SAB, so that an attacker must perform as much work as regular host. SAB thus raises Touch, Black, Wang Expires March 25, 2007 [Page 12] Internet-Draft BTNS Problem and Applicability September 2006 the effort for a DDoS attack to that of emulating a flash crowd. For open services, there may be no way to distinguish such a DDoS attack from a legitimate flash crowd anyway. BTNS also allows individual associations to be protected without requiring pre-deployed authentication credentials. We anticipate that it will use the extant, ephemeral Diffie-Hellman exchange employed in IKE to establish pairwise secret keys between ends of an association, effectively removing the authentication responsibility from IKE. 4.2. Vulnerabilities BTNS removes network layer authentication. Hosts connecting to BTNS hosts are vulnerable to communicating with a masquerader throughout the association for SAB, or until higher layers provide additional authentication for CBB. As a result, authentication data (e.g., passwords) sent to a masquerading peer could be disclosed to an attacker. This is a deliberate design tradeoff; in BTNS, network and transport layer access is no longer gated by the identity presented by the other host, so this opens hosts to masquerading and flash crowd attacks. Conversely, BTNS secures connections to hosts that cannot authenticate at the network layer, so the network and transport layers are more protected. Lacking network layer authentication information, other means must be used to provide access control for local resources. Traffic selectors of the BTNS SPD entries can be used to limit which interfaces, address ranges, and port ranges can access BTNS-enabled services. Rate limiting can further restrict resource usage. For SAB, these protections need to be considered throughout associations, whereas for CBB they need be present only until higher layer protocols provide the missing authentication. CCB also relies on the effectiveness of the binding of higher layer authentication to the BTNS network association. 4.3. Stand-Alone BTNS (SAB) SAB is intended for applications without IKE-compatible authentication credentials and without any higher layer protection. It is also suitable when the identities of either party are not important, or are deliberately omitted. This section discusses symmetric and asymmetric SAB. 4.3.1. Symmetric SAB Symmetric SAB (S-SAB) assumes that both parties lack network layer authentication information and that authentication is not available Touch, Black, Wang Expires March 25, 2007 [Page 13] Internet-Draft BTNS Problem and Applicability September 2006 from higher layer protocols. S-SAB can still protect network and transport protocols, but does not provide authentication at all. It is useful where large files or long connections would benefit from not being interrupted by DoS attacks, but where the particular endpoint identities are not important. Open services, such as web servers, and peer-to-peer networks could utilize S-SAB when their identities need not be authenticated, but where the communication would benefit from protection. Such services might provide files either not validated or validated by other means (e.g., published MD5 hashes). These transmissions present a target for off-path attacks, which could be mitigated by the use of S-SAB. S-SAB may also be useful for protecting the transport of voice-over- IP (VoIP) between peers, such as direct calls between VoIP clients. SAB is also useful in protecting any transport protocol when the endpoints decide not to deploy authentication, for whatever reason. This is the particular case for BGP TCP connections between core routers, where the protection afforded by S-SAB is better than no protection at all, even though BGP is not intended as an open service. 4.3.2. Asymmetric SAB Asymmetric SAB (A-SAB) allows one party lacking network layer authentication information to establish associations with another party that possesses authentication credentials, the latter by any applicable IKE authentication mechanisms. Asymmetric SAB is useful for protecting transport connections for open services on the Internet, e.g., commercial web servers, etc. In these cases, the server is typically authenticated by a widely known CA, as is done with TLS at the application layer, but the clients need not be authenticated [3]. Although this may result in IPsec and TLS being used on the same connection, it is necessary because TLS does not protect from certain spoofing attacks as described in the problem statement section (e.g., TLS cannot prevent a spoofed TCP RST, as the RST is processed by TCP instead of being passed to TLS). A-SAB also secures transport for streaming media as would be used to view broadcast streaming such as webcasts for remote education and entertainment. 4.4. Channel-Bound BTNS (CBB) CBB allows hosts without network layer authentication information to cryptographically bind the BTNS-IPsec channels with authentication at Touch, Black, Wang Expires March 25, 2007 [Page 14] Internet-Draft BTNS Problem and Applicability September 2006 higher layers. It is intended for applications with higher layer authentication, but could benefit from additional network layer security to enhance protection. CBB decouples authentication from network layer security services. With CBB, applications with IKE- incompatible authentication credentials can access security services provided by the IPsec security suite. CBB allows IPsec to work with more authentication mechanisms, and frees higher layer applications and protocols from duplicating security services already available in IPsec. Symmetric CBB integrates channel binding with S-SAB, as does asymmetric CBB with A-SAB. Their target applications have similar characteristics at the network layer to their non-channel-binding counterparts. The only exception is the binding of authentication credentials at higher layer to the resulting IPsec channels. Although the modes of CBB refer to the authentication at the network layer, higher layer authentication can also be either asymmetric (one-way) or symmetric (two-way). Asymmetric CBB can be used to complement one-way authentication at higher layer by providing one- way authentication of the opposite direction at the network layer. Consider an application with one-way, client-only authentication. The client can utilize A-CBB where the server must present IKE- authenticated credentials at the network layer. This form of A-CBB achieves mutual authentication albeit at separate layers. Many remote file system protocols, such as iSCSI and NFS, fit into this category, and can benefit from channel binding with IPsec for better network layer protection and to ensure no MITM attacks. Mechanisms and interfaces for channel binding with IPsec are discussed in further detail in [22]. 4.5. Summary of Uses, Vulnerabilities, and Benefits The following is a summary of the properties of each type of BTNS based on the previous subsections: Touch, Black, Wang Expires March 25, 2007 [Page 15] Internet-Draft BTNS Problem and Applicability September 2006 SAB CBB -------------------------------------------------------------- Uses Open services Same as SAB but plus Peer-to-peer higher layer auth, e.g. Zero-config Infrastructure iSCSI [15], Kerberos [11] Vuln. Masqueraders Masqueraders until bound Needs data rate limit Needs data rate limit Load on IPsec Load on IPsec Exposure to open access Benefit Protects L3 & L4 Protects L3 & L4 Avoids all auth. keys Avoids L3 auth keys Full auth. once bound These issues were mostly noted in previous sections; some of the more generic issues, such as the increased load on IPsec processing, are addressed in the Security Considerations section of this document. 5. Security Considerations This section presents the threat models for BTNS, and discusses other security issues based on the threat models for different modes of BTNS. Some of the issues were mentioned previously in the document, but are listed again for completeness. 5.1. Threat Models and Evaluation BTNS is intended to protect sessions from a variety of threats, including on-path, man-in-the-middle attacks after key exchange, other on-path attacks after key exchange, and off-path attacks. It is intended to protect the contents of a session once established using a "leap of faith" authentication during session establishment, but does not protect session establishment itself. BTNS is not intended to protect the key exchange itself, so this presents an opportunity for a man-in-the-middle attack or a well- timed attack from other sources. Furthermore, Stand-alone BTNS is not intended to protect the endpoint from nodes masquerading as legitimate clients. Channel-Bound BTNS can protect from such masquerading, though at a later point after the security association is established. BTNS is also not intended to protect from DoS attacks that seek to overload a CPU performing authentication and other security computations, nor is it intended to protect from configuration Touch, Black, Wang Expires March 25, 2007 [Page 16] Internet-Draft BTNS Problem and Applicability September 2006 mistakes. These final assumptions are the same as that of the IP network protocol security suite. Finally, manual keying is not considered in because it is unsafe for protocols that exchange large amounts of traffic such as IP Storage (e.g., RFC-3723 forbids use of manual keying with the IP Storage protocols) [1]. The following sections discuss the implications of the threat models in more details. 5.2. Interaction with Other Extant Security As with any aspect of network security, the use of BTNS must not interfere with extant security services. Within an IPsec context, the scope of BTNS must be limited to the SPD and PAD entries that explicitly specify BTNS, and to the resulting SAD entries. It is incumbent on system administrators to deploy BTNS only where safe, preferably as a substitute to the use of "bypass" which exempts specified traffic from IPsec cryptograph protection. In other words, BTNS should be used only as a substitute for no security, rather than as a substitute for stronger security. This is particularly relevant for the use of BTNS for BGP. Full authentication is preferred for BGP. When that is not available, other methods, such as IP address filtering, can help reduce the vulnerability of SAB to exposure to anonymous access. 5.3. MITM and Masquerader Attacks Previous sections have described how CBB can counter MITM and masquerader attacks, even though BTNS does not protect key exchange nor does it authenticate peer identities at the network layer. Nonetheless, there are some security issues regarding CBB that must be carefully evaluated before deploying BTNS. For regular IPsec/IKE, a man in the middle cannot subvert IKE authentication, and hence an attempt to attack it via use of two separate security associations will cause an IKE authentication failure. On the other hand, a man-in-the-middle attack on IPsec with CBB is discovered later than if IKE authentication were used. With CBB, the BTNS-IKE step will succeed because it is unauthenticated, and the security association will be set up. The man in the middle will not be discovered until the higher layer authentication fails. There are two security concerns with this approach: possible exposure of sensitive authentication information to the attackers, and resource consumption before attacks are detected. The exposure of information depends on the higher layer authentication protocols used in applications. If the higher layer Touch, Black, Wang Expires March 25, 2007 [Page 17] Internet-Draft BTNS Problem and Applicability September 2006 authentication requires exchange of sensitive information (e.g., password-derived materials) that can be attacked offline, the attackers can gain such information even though they will be detected. Therefore, CBB must not be used with higher layer protocols that may expose sensitive information during authentication exchange. For example, Kerberos V AP exchanges would leak little other than the target's krb5 principal name, while Kerberos V AS exchanges using PA- ENC-TIMESTAMP pre-authentication would leak material that can then be attacked offline. The latter should not be used with BTNS, even with Channel Binding. Further, the ways in which BTNS is integrated with the higher layer protocol must take into consideration vulnerabilities that could be introduced in the APIs between these two systems or in the information that they share. The resource consumption issue is addressed in the next section on DoS attacks. 5.4. DoS Attacks and Resource Consumptions BTNS deployment means that more traffic will require cryptographic operations, which increase the load on those receiving protected traffic and/or verifying incoming traffic. The additional computation raises vulnerability to overloading, which can be the result of legitimate flash crowds or from zombies utilized in DoS attacks. Although this may itself present a substantial impediment to deployment, it is a challenge to all cryptographically protected communication systems, and BTNS does not create or amplify that aspect per se. This document does not address the impact BTNS has on such load. The effects of the increased resource consumption are twofold. It raises the level of effort for attackers such as MITM, but it also consumes more resources to detect such attacks or to reject spoofed traffic. At the network layer, proper limits or access controls for resources should be setup for all BTNS sessions. CBB sessions can be granted with better access once the higher layer authentications succeed. The same principles apply to the higher layer protocols in the CBB sessions. Special care must be taken to avoid undue resource usage before the authentication is established in the applications. 5.5. Exposure to Anonymous Access The use of SAB necessarily implies that a service is being offered for open access, since network layer authentication information is not available. SAB must not be used with services that are not intended to be openly available. Touch, Black, Wang Expires March 25, 2007 [Page 18] Internet-Draft BTNS Problem and Applicability September 2006 5.6. ICMP Attacks This document does not consider ICMP attacks because the use of BTNS- IPsec does not change the existing guideline [9] on how ICMP traffic is handled. BTNS-IPsec focuses on authentication part of establishing security associations. It does not alter the IPsec traffic processing model and protection boundary. As a result, the entire IPsec packet processing guidelines, including ICMP processing, remain the same for BTNS-IPsec. 5.7. Leap of Faith BTNS allows systems to accept and establish security associations with peers without authenticating their identities. This can enable functionality similar to "Leap of Faith" utilized in other security protocols and applications such as SSH [23]. SSH implementations may accept unknown peer credentials (host public keys) without authentication, and the applications are further allowed to cache these unauthenticated credentials in local databases for future authentication of the same peers. Similar to BTNS, such measures are allowed due to the lack of 'widely deployed key infrastructure' [23] and to improve ease of use and end-user acceptance. There are still subtle differences. The following table compares the behaviors of SSH and BTNS regarding Leap of Faith. | SSH | BTNS | -------------------------------+---------+---------+ Accept unauthenticated | Yes | Yes | Credentials | | | -------------------------------+---------+---------+ Options/Warnings to reject | Yes | No | unauthenticated credentials | | | -------------------------------+---------+---------+ Cache unauthenticated | Yes | No | credential for future refs | | | -------------------------------+---------+---------+ SSH requires proper warnings and options in the applications to reject unauthenticated credentials, while BTNS will accept those automatically if they match the corresponding policy entries. Once SSH accepts a credential for the first time, it should be cached, and can be reused automatically without further warnings. On the other hand, there are two key issues with BTNS-IPsec: whether to cache credentials and if so, how to treat cached credentials. The main reason to cache a credential is to treat it differently the next Touch, Black, Wang Expires March 25, 2007 [Page 19] Internet-Draft BTNS Problem and Applicability September 2006 time it appears. For SAB without Channel Binding, the credentials should not be cached because they remain unauthenticated, and BTNS- IPsec does not require IPsec to reuse credentials in a manner similar to SSH. For CBB, credential caching and verification are usually done at the higher layer protocols or applications, as well be discussed in the next section. Caching credentials at the BTNS-IPsec is not as important because the channel binding will bind whatever credentials are presented (new or cached) to the higher layer protocol identity. SSH-style credential caching for reuse with SAB can be added as a future extension to BTNS-IPsec; such work would need to provide warnings and checks on unauthenticated credentials in order to establish a level of assurance of authentication compared to SSH's "Leap of Faith." 5.8. Connection Hijacking through Rekeying Each IPsec SA has a limited lifetime (defined as a time and/or byte count), and it must be rekeyed or terminated when the lifetime expires. Rekeying SA provides a small window of opportunity where an on-path attacker can step in and hijack the connection by spoofing the victim during rekeying. This vulnerability affects both regular IPsec and BTNS, although BTNS, more specifically SAB, makes it easier to spoof without authentication. CBB, on the other hand, can detect such attacks by detect the changes in the secure channel properties as will be described later. To hijack an existing SA (ESP or AH) between Alice and Bob (victim), Charles (attacker) must posses credentials that match to the same entry in Alice's PAD as Bob. It is possible because of wildcards in PAD entry IDs, though the authentication requirements of the regular IPsec do provide more of a hurdle to the attackers than BTNS-IPsec. The attacker, Charles, must initiate the attack when the IKE SA between Alice and Bob expires; or the existing IKE SA would protect the rekeying from spoofing attacks. After the IKE SA has expired, Charles can spoof Bob to create a new IKE SA and subsequent CHILD SAs with Alice through the same PAD entry. It requires precise timing, and the attacker must be able to block the IKE rekeying requests between Alice and Bob. The problem is the lack of inter-session binding or latching of IKE SAs with the corresponding credentials of the two peers. Connection latching [21], together with channel binding, enables such binding, but requires upper layer protocols or applications to verify the consistency across IKE sessions. Connection latching defines a set of SA parameters, along with corresponding peer identities and authentication data, as a representation of a secure channel. It provides this data to the upper layer protocols that wish to "latch" Touch, Black, Wang Expires March 25, 2007 [Page 20] Internet-Draft BTNS Problem and Applicability September 2006 on to the channel. Channel binding binds this secure channel (or "latch") to higher layer authentication. It is the upper layer protocols or applications that determine whether to cache and verify the consistency of the peer identities across sessions. If the upper layer session is still active, channel binding will lock down the channel and prevent the spoofing attack. If the upper layer session has also expired, it will require re-authentication at the higher layer. The later re-authentication and binding should prevent the spoofing whether or not the BTNS-IPsec credentials are cached. Without the additional session information from higher layer protocols, it is very difficult for network layer protocols such as IPsec to predict the lengths of connections and to distinguish between legitimate changes of peers vs. spoofing. In summary, connection latching defines the notion of a secure channel, and channel binding enables higher layer protocol to bind its authentication to this secure channel. Caching of this "latch" across session is necessary to counter inter-session spoofing attacks, and can be done at either the BTNS-IPsec layer or at the higher layer. 5.9. Configuration Errors BTNS does not address errors of configuration that could result in increased vulnerability; such vulnerability is already possible using "bypass". This work presumes that associations using BTNS will consist of SPD entries, just as "bypass," therefore separated from associations with more conventional, stronger security. 6. Other Issues and Related Efforts This section discusses other issues not included in any previous categories, and lists the related work. 6.1. NAT Traversal The issues regarding NAT traversal are mostly orthogonal to BTNS because BTNS focuses on relaxing peer authentication in IKE and IPsec policy. BTNS with Channel Binding may cause problems with NAT if the IDs are tied to addresses at the application layer. Note that this problem is not specific to BTNS, but rather to the design of generic IPsec Channel Binding APIs. Therefore, this document does not consider the impact of NAT or NAPT on the capabilities it intends to provide, except as are already addressed by the current IPsec specifications. Touch, Black, Wang Expires March 25, 2007 [Page 21] Internet-Draft BTNS Problem and Applicability September 2006 6.2. Mobility and Multihoming BTNS does not consider the impact of mobility or multihoming on the capabilities it intends to provide. 6.3. Related IETF Efforts There are a number of related efforts in the IETF and elsewhere to reduce the configuration effort of deploying the Internet security suite. PKI4IPsec is an IETF WG focused on providing an automatic infrastructure for the configuration of Internet security services, e.g., to assist in deploying signed certificates and CA information [7]. The IETF KINK WG is focused on adapting Kerberos for IKE, enabling IKE to utilize the Kerberos key distribution infrastructure rather than requiring certificates signed by CAs or shared private keys [6]. KINK takes advantage of an existing architecture for automatic key management in Kerberos. Opportunistic Encryption (OE) is a system for automatic discovery of hosts willing to do a BTNS- like encryption, with authentication being exchanged by leveraging existing use of the DNS [14]. BTNS differs from all three in that BTNS is intended to avoid the need for such infrastructure altogether, rather than to automate it. 7. IANA Considerations There are no IANA issues in this document. This section should be removed by the RFC-Editor prior to final publication. 8. Acknowledgments This document was inspired by discussions on the IETF TCPM WG about the recent spoofed RST attacks on BGP routers and various solutions, as well as discussions in the nfsv4 and ips WGs about how to better integrate with IPsec. The concept of BTNS was the result of these discussions as well as with USC/ISI's T. Faber, A. Falk, and B. Tung, and discussions on the IETF SAAG WG and IPsec mailing list. The authors would like to thank the members of those WGs and lists, as well as the IETF BTNS BOFs and WG and its associated ANONsec mailing list (http://www.postel.org/anonsec) for their feedback, in particular, Steve Kent, Sam Hartman, Nicolas Williams, and Pekka Savola. Touch, Black, Wang Expires March 25, 2007 [Page 22] Internet-Draft BTNS Problem and Applicability September 2006 9. References 9.1. Normative References (none) 9.2. Informative References [1] Aboba, B., J. Tseng, J. Walker, V. Rangan, and F. Travostino, "Securing Block Storage Protocols over IP," RFC-3723, April 2004. [2] CERT Vulnerability Note VU#415294, "The Border Gateway Protocol relies on persistent TCP sessions without specifying authentication requirements," 4/20/2004. [3] Dierks, T. E. Rescorla, "The Transport Layer Security (TLS) Protocol Version 1.1," RFC-4346, April 2006. [4] Harkins, D., D. Carrel, "The Internet Key Exchange (IKE)," RFC-2409, Nov. 1998. [5] Heffernan, A., "Protection of BGP Sessions via the TCP MD5 Signature Option," RFC-2385, Aug. 1998. [6] IETF KINK WG web pages, http://www.ietf.org/html.charters/kink-charter.html [7] IETF PKI4IPSEC WG web pages, http://www.ietf.org/html.charters/pki4ipsec-charter.html [8] Kaufman, C., (ed.), "Internet Key Exchange (IKEv2) Protocol," RFC-4306, Dec. 2005. [9] Kent, S., R. Atkinson, "Security Architecture for the Internet Protocol," RFC-2401, Nov. 1998. [10] Kent, S., K. Seo, "Security Architecture for the Internet Protocol," RFC-4301, Dec. 2005. [11] Kohl, J., C. Neuman, "The Kerberos Network Authentication Service (V5)," RFC-1510, Sep. 1993. [12] Linn, J, "Generic Security Service Application Program Interface Version 2, Update 1," RFC-2743, Jan. 2000. Touch, Black, Wang Expires March 25, 2007 [Page 23] Internet-Draft BTNS Problem and Applicability September 2006 [13] Mostkowitz, R., P. Nikander, P. Jokela (ed.), T. Henderson, "Host Identity Protocol," (work in progress), draft-ietf-hip-base-06, Jun. 2006. [14] Richardson, M., Redelmeier, D., "Opportunistic Encryption using The Internet Key Exchange (IKE)," RFC-4322, Dec. 2005. [15] Satran, J., K. Meth, C. Sapuntzakis, M. Chadalapaka, E. Zeidner, "Internet Small Computer Systems Interface (iSCSI)", RFC-3720, April 2004. [16] Shepler, S., B. Callaghan, D. Robinson, R. Thurlow, C., Beame, M. Eisler, D. Noveck, "Network File System (NFS) version 4 Protocol," RFC-3530, April, 2003. [17] Steward, R., Dalal, M., "Improving TCP's Robustness to Blind In-Window Attacks," (work in progress), draft-ietf-tcpm-tcpsecure-05, Jun. 2006. [18] Stewart, R., et al., "Stream Control Transmission Protocol," RFC-2960, Oct. 2000. [19] TCP SYN-cookies, http://cr.yp.to/syncookies.html [20] Touch, J., "Defending TCP Against Spoofing Attacks," (work in progress), draft-ietf-tcpm-tcp-antispoof-05.txt, Sept. 2006. [21] Williams, N., "IPsec Channels: Connection Latching," (work in progress), draft-ietf-btns-connection-latching-00, Feb. 2006. [22] Williams, N., "On the Use of Channel Bindings to Secure Channels," (work in progress), draft-williams-on-channel-binding-00, Jun. 2006. [23] Ylonen, T, Lonvick, C. (ed.), "The Secure Shell (SSH) Protocol Architecture," RFC-4251, Jan. 2006. Touch, Black, Wang Expires March 25, 2007 [Page 24] Internet-Draft BTNS Problem and Applicability September 2006 Author's Addresses Joe Touch USC/ISI 4676 Admiralty Way Marina del Rey, CA 90292-6695 U.S.A. Phone: +1 (310) 448-9151 Email: touch@isi.edu David Black EMC Corporation 176 South Street Hopkinton, MA 01748 USA Phone: +1 (508) 293-7953 Email: black_david@emc.com Yu-Shun Wang USC/ISI 4676 Admiralty Way Marina del Rey, CA 90292-6695 U.S.A. Phone: +1 (310) 448-8742 Email: yushunwa@isi.edu Intellectual Property Statement 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 Touch, Black, Wang Expires March 25, 2007 [Page 25] Internet-Draft BTNS Problem and Applicability September 2006 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. Disclaimer of Validity 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 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. Copyright Statement Copyright (C) The Internet Society (2006). 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. Acknowledgment Funding for the RFC Editor function is currently provided by the Internet Society. Touch, Black, Wang Expires March 25, 2007 [Page 26]