Network Working Group M. Stillman, Ed. Request for Comments: 5355 Nokia Category: Informational R. Gopal Nokia Siemens Networks E. Guttman Sun Microsystems S. Sengodan Nokia Siemens Networks M. Holdrege September 2008
Network Working Group M. Stillman, Ed. Request for Comments: 5355 Nokia Category: Informational R. Gopal Nokia Siemens Networks E. Guttman Sun Microsystems S. Sengodan Nokia Siemens Networks M. Holdrege September 2008
Threats Introduced by Reliable Server Pooling (RSerPool) and Requirements for Security in Response to Threats
可靠服务器池(RSerPool)带来的威胁和响应威胁的安全要求
Status of This Memo
关于下段备忘
This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited.
本备忘录为互联网社区提供信息。它没有规定任何类型的互联网标准。本备忘录的分发不受限制。
Abstract
摘要
Reliable Server Pooling (RSerPool) is an architecture and set of protocols for the management and access to server pools supporting highly reliable applications and for client access mechanisms to a server pool. This document describes security threats to the RSerPool architecture and presents requirements for security to thwart these threats.
可靠服务器池(RSerPool)是一种体系结构和一组协议,用于管理和访问支持高可靠性应用程序的服务器池,以及用于客户端访问服务器池的机制。本文档描述了对RSerPool体系结构的安全威胁,并提出了阻止这些威胁的安全要求。
Table of Contents
目录
1. Introduction ....................................................3 1.1. Definitions ................................................3 1.2. Conventions ................................................4 2. Threats .........................................................4 2.1. PE Registration/De-Registration Flooding -- Non-Existent PE ............................................4 2.2. PE Registration/De-Registration Flooding -- Unauthorized PE ............................................5 2.3. PE Registration/De-Registration Spoofing ...................6 2.4. PE Registration/De-Registration Unauthorized ...............6 2.5. Malicious ENRP Server Joins the Group of Legitimate ENRP Servers ...............................................7 2.6. Registration/De-Registration with Malicious ENRP Server ....7 2.7. Malicious ENRP Handlespace Resolution ......................8 2.8. Malicious Node Performs a Replay Attack ....................9 2.9. Re-Establishing PU-PE Security during Failover .............9 2.10. Integrity ................................................10 2.11. Data Confidentiality .....................................10 2.12. ENRP Server Discovery ....................................11 2.13. Flood of Endpoint-Unreachable Messages from the PU to the ENRP Server ....................................12 2.14. Flood of Endpoint Keep-Alive Messages from the ENRP Server to a PE ......................................12 2.15. Security of the ENRP Database ............................13 2.16. Cookie Mechanism Security ................................13 2.17. Potential Insider Attacks from Legitimate ENRP Servers ...14 3. Security Considerations ........................................15 4. Normative References ...........................................17
1. Introduction ....................................................3 1.1. Definitions ................................................3 1.2. Conventions ................................................4 2. Threats .........................................................4 2.1. PE Registration/De-Registration Flooding -- Non-Existent PE ............................................4 2.2. PE Registration/De-Registration Flooding -- Unauthorized PE ............................................5 2.3. PE Registration/De-Registration Spoofing ...................6 2.4. PE Registration/De-Registration Unauthorized ...............6 2.5. Malicious ENRP Server Joins the Group of Legitimate ENRP Servers ...............................................7 2.6. Registration/De-Registration with Malicious ENRP Server ....7 2.7. Malicious ENRP Handlespace Resolution ......................8 2.8. Malicious Node Performs a Replay Attack ....................9 2.9. Re-Establishing PU-PE Security during Failover .............9 2.10. Integrity ................................................10 2.11. Data Confidentiality .....................................10 2.12. ENRP Server Discovery ....................................11 2.13. Flood of Endpoint-Unreachable Messages from the PU to the ENRP Server ....................................12 2.14. Flood of Endpoint Keep-Alive Messages from the ENRP Server to a PE ......................................12 2.15. Security of the ENRP Database ............................13 2.16. Cookie Mechanism Security ................................13 2.17. Potential Insider Attacks from Legitimate ENRP Servers ...14 3. Security Considerations ........................................15 4. Normative References ...........................................17
The RSerPool architecture [RFC5351] supports high-availability and load balancing by enabling a pool user to identify the most appropriate server from the server pool at a given time. The architecture is defined to support a set of basic goals. These include application-independent protocol mechanisms, separation of server naming from IP addressing, the use of the end-to-end principle to avoid dependencies on intermediate equipment, separation of session availability/failover functionality from the application itself, the ability to facilitate different server selection policies, the ability to facilitate a set of application-independent failover capabilities, and a peer-to-peer structure.
RSerPool体系结构[RFC5351]通过允许池用户在给定时间从服务器池中识别最合适的服务器,支持高可用性和负载平衡。架构的定义是为了支持一组基本目标。其中包括独立于应用程序的协议机制、服务器命名与IP寻址的分离、使用端到端原则避免对中间设备的依赖、将会话可用性/故障切换功能与应用程序本身分离、促进不同服务器选择策略的能力,能够促进一组独立于应用程序的故障切换功能和对等结构。
RSerPool provides a session layer for robustness. The session layer function may redirect communication transparently to upper layers. This alters the direct one-to-one association between communicating endpoints that typically exists between clients and servers. In particular, secure operation of protocols often relies on assumptions at different layers regarding the identity of the communicating party and the continuity of the communication between endpoints. Further, the operation of RSerPool itself has security implications and risks. The session layer operates dynamically, which imposes additional concerns for the overall security of the end-to-end application.
RSerPool提供了一个会话层以增强健壮性。会话层功能可以将通信透明地重定向到上层。这改变了客户端和服务器之间通常存在的通信端点之间的直接一对一关联。特别地,协议的安全操作通常依赖于不同层上关于通信方的身份和端点之间通信的连续性的假设。此外,RSerPool的运营本身具有安全影响和风险。会话层动态运行,这对端到端应用程序的整体安全性带来了额外的关注。
This document explores the security implications of RSerPool, both due to its own functions and due to its being interposed between applications and transport interfaces.
本文档探讨了RSerPool的安全含义,这是由于其自身的功能,以及由于其插入应用程序和传输接口之间。
This document is related to the RSerPool Aggregate Server Access Protocol (ASAP) [RFC5352] and Endpoint Name Resolution Protocol (ENRP) [RFC5353] documents, which describe, in their Security Consideration sections, the mechanisms for meeting the security requirements in this document. TLS [RFC5246] is the security mechanism for RSerPool that was selected to meet all the requirements described in this document. The Security Considerations sections of ASAP and ENRP describe how TLS is actually used to provide the security that is discussed in this document.
本文档与RSerPool聚合服务器访问协议(ASAP)[RFC5352]和端点名称解析协议(ENRP)[RFC5353]文档相关,这些文档在其安全考虑部分中描述了满足本文档中安全要求的机制。TLS[RFC5246]是为满足本文档中描述的所有要求而选择的RSerPool的安全机制。ASAP和ENRP的安全注意事项部分描述了如何实际使用TLS来提供本文档中讨论的安全性。
This document uses the following terms:
本文件使用以下术语:
Endpoint Name Resolution Protocol (ENRP): Within the operational scope of RSerPool, ENRP[RFC5353] defines the procedures and message formats of a distributed fault-tolerant registry service for storing, bookkeeping, retrieving, and distributing pool operation and membership information.
端点名称解析协议(ENRP):在RSerPool的操作范围内,ENRP[RFC5353]定义了分布式容错注册表服务的过程和消息格式,用于存储、记账、检索和分发池操作和成员信息。
Aggregate Server Access Protocol (ASAP): ASAP [RFC5352] is a session layer protocol that uses ENRP to provide a high-availability handlespace. ASAP is responsible for the abstraction of the underlying transport technologies, load distribution management, fault management, as well as the presentation to the upper layer (i.e., the ASAP User) of a unified primitive interface.
聚合服务器访问协议(ASAP):ASAP[RFC5352]是一种会话层协议,它使用ENRP提供高可用性handlespace。ASAP负责抽象底层传输技术、负载分布管理、故障管理,以及向上层(即ASAP用户)呈现统一的基本接口。
Operational scope: The part of the network visible to pool users by a specific instance of the Reliable Server Pooling protocols.
操作范围:可靠服务器池协议的特定实例对池用户可见的网络部分。
Pool (or server pool): A collection of servers providing the same application functionality.
池(或服务器池):提供相同应用程序功能的服务器集合。
Pool handle: A logical pointer to a pool. Each server pool will be identifiable in the operational scope of the system by a unique pool handle.
池句柄:指向池的逻辑指针。每个服务器池将在系统的操作范围内通过唯一的池句柄进行标识。
ENRP handlespace (or handlespace): A cohesive structure of pool names and relations that may be queried by a client. A client in this context is an application that accesses another remote application running on a server using a network.
ENRP handlespace(或handlespace):池名称和关系的内聚结构,可由客户端查询。此上下文中的客户端是一个应用程序,它使用网络访问服务器上运行的另一个远程应用程序。
Pool element (PE): A server entity having registered to a pool.
池元素(PE):已注册到池的服务器实体。
Pool user (PU): A server pool user.
池用户(PU):服务器池用户。
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].
本文件中的关键词“必须”、“不得”、“必需”、“应”、“不应”、“应”、“不应”、“建议”、“可”和“可选”应按照[RFC2119]中所述进行解释。
A malicious node could send a stream of false registrations/de-registrations on behalf of non-existent PEs to ENRP servers at a very rapid rate and thereby create unnecessary state in an ENRP server.
恶意节点可以代表不存在的PEs以非常快的速度向ENRP服务器发送虚假注册/注销流,从而在ENRP服务器中创建不必要的状态。
The malicious node will corrupt the pool registrar database and/or disable the RSerPool discovery and database function. This represents a denial-of-service attack, as the PU would potentially get an IP address of a non-existent PE in response to an ENRP query.
恶意节点将损坏池注册器数据库和/或禁用RSerPool发现和数据库功能。这表示拒绝服务攻击,因为PU可能会在响应ENRP查询时获取不存在的PE的IP地址。
An ENRP server that receives a registration/de-registration MUST NOT create or update state information until it has authenticated the PE. TLS with a pre-shared-key (PSK) is mandatory to implement as the authentication mechanism. For PSK, having a pre-shared-key constitutes authorization. The network administrators of a pool need to decide which nodes are authorized to participate in the pool. The justification for PSK is that we assume that one administrative domain will control and manage the server pool. This allows for PSK to be implemented and managed by a central security administrator.
接收注册/注销的ENRP服务器在对PE进行身份验证之前,不得创建或更新状态信息。带有预共享密钥(PSK)的TLS必须作为身份验证机制实现。对于PSK,拥有预共享密钥构成授权。池的网络管理员需要决定哪些节点有权参与池。PSK的理由是我们假设一个管理域将控制和管理服务器池。这允许PSK由中央安全管理员实施和管理。
A malicious node or PE could send a stream of registrations/de-registrations that are unauthorized to register/de-register to ENRP servers at a very rapid rate and thereby create unnecessary state in an ENRP server.
恶意节点或PE可能以非常快的速度向ENRP服务器发送未经授权的注册/注销流,从而在ENRP服务器中创建不必要的状态。
This attack will corrupt the pool registrar database and/or disable the RSerPool discovery and database function. There is the potential for two types of attacks: denial of service and data interception. In the denial-of-service attack, the PU gets an IP address of a rogue PE in response to an ENRP query, which might not provide the actual service. In addition, a flood of message could prevent legitimate PEs from registering. In the data interception attack, the rogue PE does provide the service as a man in the middle (MITM), which allows the attacker to collect data.
此攻击将损坏池注册器数据库和/或禁用RSerPool发现和数据库功能。有可能发生两种类型的攻击:拒绝服务和数据拦截。在拒绝服务攻击中,PU获取流氓PE的IP地址以响应ENRP查询,该查询可能不提供实际服务。此外,大量信息可能会阻止合法的PEs注册。在数据拦截攻击中,流氓PE作为中间人(MITM)提供服务,这允许攻击者收集数据。
An ENRP server that receives a registration/de-registration MUST NOT create or update state information until the authentication information of the registering/de-registering entity is verified.
在验证注册/注销实体的身份验证信息之前,接收注册/注销的ENRP服务器不得创建或更新状态信息。
TLS is used as the authentication mechanism between the ENRP server and PE. TLS with PSK is mandatory to implement as the authentication mechanism. For PSK, having a pre-shared-key constitutes authorization. The network administrators of a pool need to decide which nodes are authorized to participate in the pool.
TLS用作ENRP服务器和PE之间的身份验证机制。带有PSK的TLS必须作为身份验证机制实现。对于PSK,拥有预共享密钥构成授权。池的网络管理员需要决定哪些节点有权参与池。
A malicious node could send false registrations/de-registrations to ENRP servers concerning a legitimate PE, thereby creating false state information in the ENRP servers.
恶意节点可能向ENRP服务器发送有关合法PE的虚假注册/注销,从而在ENRP服务器中创建虚假状态信息。
This would generate misinformation in the ENRP server concerning a PE and would be propagated to other ENRP servers, thereby corrupting the ENRP database. Distributed Denial of Service (DDoS) could result: if a PE that is a target for a DDoS attack for some popular high-volume service, then the attacker can register a PE to which a lot of PUs will try to connect. This allows man-in-the-middle or masquerade attacks on the service provided by the legitimate PEs. If an attacker registers its server address as a PE and handles the requests, he can eavesdrop on service data.
这将在ENRP服务器中生成有关PE的错误信息,并传播到其他ENRP服务器,从而损坏ENRP数据库。可能导致分布式拒绝服务(DDoS):如果某个PE是某个流行的大容量服务的DDoS攻击目标,则攻击者可以注册一个PE,许多PU将尝试连接到该PE。这允许中间人或伪装攻击合法PEs提供的服务。如果攻击者将其服务器地址注册为PE并处理请求,则他可以窃听服务数据。
An ENRP server that receives a registration/de-registration MUST NOT create or update state information until it has authenticated the PE. TLS is used as the authentication mechanism between the ENRP server and the PE. TLS with PSK is mandatory to implement as the authentication mechanism. For PSK, having a pre-shared-key constitutes authorization. The network administrators of a pool need to decide which nodes are authorized to participate in the pool. A PE can register only for itself and cannot register on behalf of other PEs.
接收注册/注销的ENRP服务器在对PE进行身份验证之前,不得创建或更新状态信息。TLS用作ENRP服务器和PE之间的身份验证机制。带有PSK的TLS必须作为身份验证机制实现。对于PSK,拥有预共享密钥构成授权。池的网络管理员需要决定哪些节点有权参与池。PE只能为自己注册,不能代表其他PE注册。
A PE that is not authorized to join a pool could send registrations/ de-registrations to ENRP servers, thereby creating false state information in the ENRP servers.
未经授权加入池的PE可能会向ENRP服务器发送注册/注销,从而在ENRP服务器中创建虚假状态信息。
This attack would generate misinformation in the ENRP server concerning a PE and would be propagated to other ENRP servers thereby corrupting the ENRP database. This allows man-in-the-middle or masquerade attacks on the service provided by the legitimate PEs. If an attacker registers its server address as a PE and handles the requests, he can eavesdrop on service data.
此攻击将在ENRP服务器中生成有关PE的错误信息,并传播到其他ENRP服务器,从而损坏ENRP数据库。这允许中间人或伪装攻击合法PEs提供的服务。如果攻击者将其服务器地址注册为PE并处理请求,则他可以窃听服务数据。
An ENRP server that receives a registration/de-registration MUST NOT create or update state information until it has authorized the requesting entity. TLS is used as the authentication mechanism. TLS with PSK is mandatory to implement as the authentication mechanism. For PSK, having a pre-shared-key constitutes authorization. The network administrators of a pool need to decide which nodes are authorized to participate in the pool.
接收注册/注销的ENRP服务器在授权请求实体之前不得创建或更新状态信息。TLS用作身份验证机制。带有PSK的TLS必须作为身份验证机制实现。对于PSK,拥有预共享密钥构成授权。池的网络管理员需要决定哪些节点有权参与池。
A malicious ENRP server joins the group of legitimate ENRP servers with the intent of propagating inaccurate updates to corrupt the ENRP database. The attacker sets up an ENRP server and attempts to communicate with other ENRP servers.
恶意ENRP服务器加入合法ENRP服务器组,目的是传播不准确的更新以损坏ENRP数据库。攻击者设置ENRP服务器并尝试与其他ENRP服务器通信。
The result would be Inconsistent ENRP database state.
结果将是ENRP数据库状态不一致。
ENRP servers MUST perform mutual authentication. This would prevent the attacker from joining its ENRP server to the pool. TLS is used as the mutual authentication mechanism. TLS with PSK is mandatory to implement as the authentication mechanism. For PSK, having a pre-shared-key constitutes authorization. The network administrators of a pool need to decide which nodes are authorized to participate in the pool.
ENRP服务器必须执行相互身份验证。这将阻止攻击者将其ENRP服务器加入池。TLS用作相互认证机制。带有PSK的TLS必须作为身份验证机制实现。对于PSK,拥有预共享密钥构成授权。池的网络管理员需要决定哪些节点有权参与池。
A PE unknowingly registers/de-registers with a malicious ENRP server.
PE在不知不觉中向恶意ENRP服务器注册/注销。
The registration might not be properly processed or it might be ignored. A rogue ENRP server has the ability to return any address to a user requesting service; this ability could result in denial of service or connection to a rogue PE that is the attacker's choice for service.
注册可能未正确处理或被忽略。恶意ENRP服务器能够向请求服务的用户返回任何地址;这种能力可能导致拒绝服务或连接到攻击者选择的恶意PE。
The PE MUST authenticate the ENRP server. TLS is the mechanism used for the authentication. TLS with PSK is mandatory to implement as the authentication mechanism. For PSK, having a pre-shared-key constitutes authorization. The network administrators of a pool need to decide which nodes are authorized to participate in the pool. This requirement prevents malicious outsiders and insiders from adding their own ENRP server to the pool.
PE必须对ENRP服务器进行身份验证。TLS是用于身份验证的机制。带有PSK的TLS必须作为身份验证机制实现。对于PSK,拥有预共享密钥构成授权。池的网络管理员需要决定哪些节点有权参与池。此要求可防止恶意外部人员和内部人员将其自己的ENRP服务器添加到池中。
The ASAP protocol receives a handlespace resolution response from an ENRP server, but the ENRP server is malicious and returns random IP addresses or an inaccurate list in response to the pool handle.
ASAP协议从ENRP服务器接收handlespace解析响应,但ENRP服务器是恶意的,并返回随机IP地址或不准确的列表以响应池句柄。
The PU application communicates with the wrong PE or is unable to locate the PE since the response is incorrect in saying that a PE with that handle did not exist. A rogue ENRP server has the ability to return any address to ASAP requesting an address list that could result in denial of service or connection to a rogue PE of the attacker's choice for service. From the PE, the attacker could eavesdrop or tamper with the application.
PU应用程序与错误的PE通信或无法定位PE,因为响应不正确,表示不存在具有该句柄的PE。恶意ENRP服务器能够向ASAP返回任何地址,请求地址列表,这可能导致拒绝服务或与攻击者选择的恶意PE连接。攻击者可以从PE窃听或篡改应用程序。
ASAP SHOULD authenticate the ENRP server. TLS with certificates is the mandatory-to-implement mechanism used for authentication. The administrator uses a centralized Certificate Authority (CA) to generate and sign certificates. The certificate is stored on the ENRP server. A CA trusted root certification authority certificate is sent to the client out of band, and the certificate signature on the ENRP server certificate is checked for validity during the TLS handshake. This authentication prevents malicious outsiders and insiders from adding an ENRP server to the pool that may be accessed by ASAP.
ASAP应验证ENRP服务器。必须使用带有证书的TLS来实现用于身份验证的机制。管理员使用集中式证书颁发机构(CA)生成和签署证书。证书存储在ENRP服务器上。CA可信根证书颁发机构证书被发送到带外客户端,并且在TLS握手期间检查ENRP服务器证书上的证书签名的有效性。此身份验证可防止恶意外部人员和内部人员将ENRP服务器添加到池中,该池可由ASAP访问。
A malicious node could replay the entire message previously sent by a legitimate entity. This could create false/unnecessary state in the ENRP servers when the replay is for registration/de-registration or update.
恶意节点可能会重播以前由合法实体发送的整个消息。当重播用于注册/注销或更新时,这可能会在ENRP服务器中创建错误/不必要的状态。
The result is that false/extra state is maintained by ENRP servers. This would most likely be used as a denial-of-service attack if the replay is used to de-register all PEs.
结果是ENRP服务器维护false/extra状态。如果重播用于注销所有PE,则这很可能被用作拒绝服务攻击。
The protocol MUST prevent replay attacks. The replay attack prevention mechanism in TLS meets this requirement.
协议必须防止重播攻击。TLS中的重放攻击预防机制满足这一要求。
The PU fails over from PE A to PE B. In the case that the PU had a trusted relationship with PE A, the PU will likely not have the same relationship established with PE B.
PU从PE A故障切换到PE B。如果PU与PE A存在信任关系,则PU可能不会与PE B建立相同的关系。
If there was a trust relationship involving security context between PU and PE A, the equivalent trust relationship will not exist between PU and PE B. This will violate security policy. For example, if the security context with A involves encryption and the security context with B does not, then an attacker could take advantage of the change in security.
如果PU和PE a之间存在涉及安全上下文的信任关系,则PU和PE B之间将不存在等效的信任关系。这将违反安全策略。例如,如果具有A的安全上下文涉及加密,而具有B的安全上下文不涉及加密,则攻击者可以利用安全性的更改。
The application SHOULD be notified when failover occurs so the application can take appropriate action to establish a trusted relationship with PE B. ENRP has a mechanism to perform this function.
当发生故障转移时,应通知应用程序,以便应用程序可以采取适当的措施与PE B建立信任关系。ENRP具有执行此功能的机制。
The following are all instances of the same class of threats, and all have similar effects.
以下是同一类威胁的所有实例,它们都具有相似的影响。
a. ENRP response to pool handle resolution is corrupted during transmission.
a. ENRP对池句柄解析的响应在传输过程中损坏。
b. ENRP peer messages are corrupted during transmission.
b. ENRP对等消息在传输过程中损坏。
c. PE sends an update for values, and that information is corrupted during transmission.
c. PE发送值更新,并且该信息在传输过程中损坏。
The result is that ASAP receives corrupt information for pool handle resolution, which the PU believes to be accurate. This corrupt information could be an IP address that does not resolve to a PE so the PU would not be able to contact the server.
结果是ASAP收到池句柄解析的损坏信息,PU认为这是准确的。此损坏信息可能是一个IP地址,无法解析为PE,因此PU将无法与服务器联系。
An integrity mechanism MUST be present. Corruption of data that is passed to the PU means that the PU can't rely on it. The consequence of corrupted information is that the IP addresses passed to the PU might be wrong, in which case, it will not be able to reach the PE. The interfaces that MUST implement integrity are PE to ENRP server and ENRP to ENRP server. The integrity mechanism in TLS is used for this.
必须存在完整性机制。传递给PU的数据损坏意味着PU不能依赖它。损坏信息的后果是,传递给PU的IP地址可能错误,在这种情况下,它将无法到达PE。必须实现完整性的接口是PE到ENRP服务器和ENRP到ENRP服务器。TLS中的完整性机制用于此目的。
An eavesdropper capable of snooping on fields within messages in transit may be able to gather information, such as topology/location/IP addresses, etc., which may not be desirable to divulge.
能够窥探传输中的消息内的字段的窃听者可能能够收集可能不希望泄露的信息,例如拓扑/位置/IP地址等。
Information that an administrator does not wish to divulge is divulged. The attacker gains valuable information that can be used for financial gain or attacks on hosts.
管理员不希望泄露的信息被泄露。攻击者获得有价值的信息,这些信息可用于财务收益或攻击主机。
A provision for data confidentiality service SHOULD be available. TLS provides data confidentiality in support of this mechanism.
应提供数据保密服务。TLS提供数据机密性以支持此机制。
a. Thwarting successful discovery: When a PE wishes to register with an ENRP server, it needs to discover an ENRP server. An attacker could thwart the successful discovery of ENRP server(s), thereby inducing the PE to believe that no ENRP server is available. For instance, the attacker could reduce the returned set of ENRP servers to null or a small set of inactive ENRP servers. The attacker performs a MITM attack to do this.
a. 阻碍成功发现:当PE希望向ENRP服务器注册时,它需要发现ENRP服务器。攻击者可以阻止成功发现ENRP服务器,从而使PE相信没有可用的ENRP服务器。例如,攻击者可以将返回的ENRP服务器集减少为null或一小部分非活动的ENRP服务器。攻击者执行MITM攻击来执行此操作。
b. A similar thwarting scenario also applies when an ENRP server or ASAP on behalf of a PU needs to discover ENRP servers.
b. 当ENRP服务器或代表PU的ASAP需要发现ENRP服务器时,类似的挫败场景也适用。
c. Spoofing successful discovery: An attacker could spoof the discovery by claiming to be a legitimate ENRP server. When a PE wishes to register, it finds the spoofed ENRP server. An attacker can only make such a claim if no security mechanisms are used.
c. 欺骗成功发现:攻击者可以通过声称自己是合法的ENRP服务器来欺骗发现。当PE希望注册时,它会找到伪造的ENRP服务器。只有在未使用安全机制的情况下,攻击者才能提出此类声明。
d. A similar spoofing scenario also applies when an ENRP server or ASAP on behalf of a PU needs to discover ENRP servers.
d. 当ENRP服务器或代表PU的ASAP需要发现ENRP服务器时,类似的欺骗场景也适用。
a. A PE that could have been in an application server pool does not become part of a pool. The PE does not complete discovery operation. This is a DoS attack.
a. 可能位于应用程序服务器池中的PE不会成为池的一部分。PE未完成发现操作。这是DoS攻击。
b. An ENRP server that could have been in an ENRP server pool does not become part of a pool. A PU is unable to utilize services of ENRP servers.
b. 可能位于ENRP服务器池中的ENRP服务器不会成为池的一部分。PU无法使用ENRP服务器的服务。
c. This malicious ENRP would either misrepresent, ignore, or otherwise hide or distort information about the PE to subvert RSerPool operation.
c. 这种恶意的ENRP会歪曲、忽略或以其他方式隐藏或扭曲有关PE的信息,以颠覆RSerPool操作。
d. Same as above.
d. 同上。
A provision for authentication MUST be present and a provision for data confidentiality service SHOULD be present. TLS has a mechanism for confidentiality.
必须提供身份验证条款,并提供数据保密服务条款。TLS具有保密机制。
2.13. Flood of Endpoint-Unreachable Messages from the PU to the ENRP Server
2.13. 从PU到ENRP服务器的端点无法访问消息泛滥
Endpoint-unreachable messages are sent by ASAP to the ENRP server when it is unable to contact a PE. There is the potential that a PU could flood the ENRP server intentionally or unintentionally with these messages. The non-malicious case would require an incorrect implementation. The malicious case would be caused by writing code to flood the ENRP server with endpoint unreachable messages.
当ENRP服务器无法联系PE时,端点不可访问消息由ASAP发送到ENRP服务器。PU可能有意或无意地向ENRP服务器发送这些消息。非恶意案例需要不正确的实现。恶意案例可能是由于编写代码向ENRP服务器发送端点无法访问的消息而导致的。
The result is a DoS attack on the ENRP server. The ENRP server would not be able to service other PUs effectively and would not be able to take registrations from PEs in a timely manner. Further, it would not be able to communicate with other ENRP servers in the pool to update the database in a timely fashion.
结果是ENRP服务器遭到拒绝服务攻击。ENRP服务器将无法有效地为其他PU提供服务,也无法及时从PEs获取注册信息。此外,它将无法与池中的其他ENRP服务器通信以及时更新数据库。
The number of endpoint unreachable messages sent to the ENRP server from the PU SHOULD be limited. This mechanism is described in the ASAP [RFC5352] protocol document.
应限制从PU发送到ENRP服务器的端点不可访问消息的数量。ASAP[RFC5352]协议文档中描述了该机制。
2.14. Flood of Endpoint Keep-Alive Messages from the ENRP Server to a PE
2.14. ENRP服务器向PE发送大量端点保持活动消息
Endpoint Keep-Alive messages would be sent from the ENRP server to the PEs during the process of changing the Home ENRP server for this PE.
在更改此PE的主ENRP服务器的过程中,端点保持活动消息将从ENRP服务器发送到PEs。
If the ENRP server maliciously sent a flood of endpoint Keep-Alive messages to the PE, the PE would not be able to service clients. The result is a DoS attack on the PE.
如果ENRP服务器恶意向PE发送大量端点保持活动的消息,则PE将无法为客户端提供服务。其结果是对PE的DoS攻击。
ENRP MUST limit the frequency of Keep-Alive messages to a given PE to prevent overwhelming the PE. This mechanism is described in the ENRP [RFC5353] protocol document.
ENRP必须将保持活动消息的频率限制在给定的PE上,以防止压倒PE。ENRP[RFC5353]协议文件中描述了该机制。
Another consideration involves the security characteristics of the ENRP database. Suppose that some of the PEs register with an ENRP server using security and some do not. In this case, when a client requests handlespace resolution information from ENRP, it would have to be informed which entries are "secure" and which are not.
另一个考虑因素涉及ENRP数据库的安全特性。假设一些PEs使用安全性向ENRP服务器注册,而另一些则不注册。在这种情况下,当客户向ENRP请求handlespace解析信息时,必须通知客户哪些条目“安全”,哪些条目不安全。
This would not only complicate the protocol, but actually bring into question the security and integrity of such a database. What can be asserted about the security of such a database is a very thorny question.
这不仅会使协议复杂化,而且实际上会使这样一个数据库的安全性和完整性受到质疑。关于这样一个数据库的安全性可以断言什么是一个非常棘手的问题。
The requirement is that either the entire ENRP server database MUST be secure; that is, it has registrations exclusively from PEs that have used security mechanisms, or the entire database MUST be insecure; that is, registrations are from PEs that have used no security mechanisms. ENRP servers that support security MUST reject any PE server registration that does not use the security mechanisms. Likewise, ENRP servers that support security MUST NOT accept updates from other ENRP servers that do not use security mechanisms. TLS is used as the security mechanism so any information not sent using TLS to a secure ENRP server MUST be rejected.
要求是整个ENRP服务器数据库必须是安全的;也就是说,它的注册完全来自使用了安全机制的PEs,或者整个数据库必须是不安全的;也就是说,注册来自没有使用安全机制的PEs。支持安全性的ENRP服务器必须拒绝任何不使用安全机制的PE服务器注册。同样,支持安全性的ENRP服务器不得接受来自不使用安全机制的其他ENRP服务器的更新。TLS用作安全机制,因此必须拒绝任何未使用TLS发送到安全ENRP服务器的信息。
The application layer is out of scope for RSerPool. However, some questions have been raised about the security of the cookie mechanism, which will be addressed.
应用程序层不在RSerPool的范围内。然而,对于cookie机制的安全性提出了一些问题,这些问题将得到解决。
Cookies are passed via the ASAP control channel. If TCP is selected as the transport, then the data and control channel MUST be multiplexed. Therefore, the cases:
Cookie通过ASAP控制通道传递。如果选择TCP作为传输,则数据和控制通道必须多路复用。因此,这些案件:
a. control channel is secured; data channel is not
a. 控制通道安全;数据通道不可用
b. data channel is secured; control channel is not
b. 数据通道安全;控制通道不可用
are not possible, as the multiplexing onto one TCP port results in security for both data and control channels or neither.
不可能,因为多路复用到一个TCP端口会导致数据通道和控制通道的安全性,或者两者都不安全。
The multiplexing requirement results in the following cases:
多路复用要求导致以下情况:
1. the multiplexed control channel-data channel is secure; *or*
1. 多路控制通道数据通道是安全的*或*
2. the multiplexed control channel-data channel is not secured.
2. 多路复用控制通道数据通道不安全。
This applies to cookies in the sense that, if you choose to secure your control-data channel, then the cookies are secured.
这适用于Cookie,因为如果您选择保护控制数据通道,则Cookie是安全的。
A second issue is that the PE could choose to sign and/or encrypt the cookie. In this case, it must share keys and other information with other PEs. This application-level state sharing is out of scope of RSerPool.
第二个问题是PE可以选择对cookie进行签名和/或加密。在这种情况下,它必须与其他PE共享密钥和其他信息。此应用程序级状态共享不在RSerPool的范围内。
The previous text does not address all byzantine attacks that could arise from legitimate ENRP servers. True protection against misbehavior by authentic (but rogue) servers is beyond the capability of TLS security mechanisms. Authentication using TLS does not protect against byzantine attacks, as authenticated ENRP servers might have been maliciously hacked. Protections against insider attacks are generally specific to the attack, so more experimentation is needed. For example, the following discusses two insider attacks and potential mitigations.
前面的文本并没有解决所有可能来自合法ENRP服务器的拜占庭式攻击。针对真实(但流氓)服务器的不当行为的真正保护超出了TLS安全机制的能力。使用TLS进行身份验证无法抵御拜占庭式攻击,因为经过身份验证的ENRP服务器可能遭到恶意黑客攻击。针对内部攻击的保护通常针对攻击,因此需要更多的实验。例如,下面讨论两种内部攻击和潜在的缓解措施。
One issue is that legitimate users may choose not to follow the proposed policies regarding the choice of servers (namely, members in the pool). If the "choose a member at random" policy is employed, then a pool user can always set its "random choices" so that it picks a particular pool member. This bypasses the "load sharing" idea behind the policy. Another issue is that a pool member (or server) may report a wrong policy to a user.
一个问题是,合法用户可能选择不遵守有关选择服务器(即池中的成员)的建议策略。如果采用“随机选择成员”策略,则池用户始终可以设置其“随机选择”,以便选择特定的池成员。这绕过了策略背后的“负载共享”思想。另一个问题是池成员(或服务器)可能向用户报告错误的策略。
To mitigate the first attack, the protocol may require the pool user to "prove" to the pool member that the pool member was chosen "randomly", say by demonstrating that the random choice was the result of applying some hash function to a public nonce. Different methods may be appropriate for other member scheduling policies.
为了减轻第一次攻击,该协议可能要求池用户向池成员“证明”池成员是“随机”选择的,例如,通过证明随机选择是将某个哈希函数应用于公共nonce的结果。不同的方法可能适用于其他成员调度策略。
To mitigate the second attack, the protocol might require the PE to sign the policy sent to the ENRP server. During pool handle resolution, the signed policy needs to be sent from an ENRP server to an ASAP endpoint in a way that will allow the user to later hold the server accountable to the policy.
为了减轻第二次攻击,协议可能要求PE签署发送到ENRP服务器的策略。在池句柄解析过程中,需要将已签名的策略从ENRP服务器发送到ASAP端点,以便用户稍后让服务器对策略负责。
This informational document characterizes potential security threats targeting the RSerPool architecture. The security mechanisms required to mitigate these threats are summarized for each architectural component. It will be noted which mechanisms are required and which are optional.
本信息性文档描述了针对RSerPool体系结构的潜在安全威胁。针对每个体系结构组件总结了缓解这些威胁所需的安全机制。应注意哪些机制是必需的,哪些是可选的。
From the threats described in this document, the security services required for the RSerPool protocol suite are given in the following table.
根据本文档中描述的威胁,下表给出了RSerPool协议套件所需的安全服务。
+--------------+----------------------------------------------------+ | Threat | Security mechanism in response | +--------------+----------------------------------------------------+ | Section 2.1 | ENRP server authenticates the PE. | | Section 2.2 | ENRP server authenticates the PE. | | Section 2.3 | ENRP server authenticates the PE. | | Section 2.4 | ENRP server authenticates the PE. | | Section 2.5 | ENRP servers mutually authenticate. | | Section 2.6 | PE authenticates the ENRP server. | | Section 2.7 | The PU authenticates the ENRP server. If the | | | authentication fails, it looks for another ENRP | | | server. | | Section 2.8 | Security protocol that has protection from replay | | | attacks. | | Section 2.9 | Either notify the application when failover | | | occurs so the application can take appropriate | | | action to establish a trusted relationship with PE | | | B *or* re-establish the security context | | | transparently. | | Section 2.10 | Security protocol that supports integrity | | | protection. | | Section 2.12 | Security protocol that supports data | | | confidentiality. | | Section 2.11 | The PU authenticates the ENRP server. If the | | | authentication fails, it looks for another ENRP | | | server. | | Section 2.13 | ASAP must control the number of endpoint | | | unreachable messages transmitted from the PU to | | | the ENRP server. | | Section 2.14 | ENRP server must control the number of | | | Endpoint_KeepAlive messages to the PE. | +--------------+----------------------------------------------------+
+--------------+----------------------------------------------------+ | Threat | Security mechanism in response | +--------------+----------------------------------------------------+ | Section 2.1 | ENRP server authenticates the PE. | | Section 2.2 | ENRP server authenticates the PE. | | Section 2.3 | ENRP server authenticates the PE. | | Section 2.4 | ENRP server authenticates the PE. | | Section 2.5 | ENRP servers mutually authenticate. | | Section 2.6 | PE authenticates the ENRP server. | | Section 2.7 | The PU authenticates the ENRP server. If the | | | authentication fails, it looks for another ENRP | | | server. | | Section 2.8 | Security protocol that has protection from replay | | | attacks. | | Section 2.9 | Either notify the application when failover | | | occurs so the application can take appropriate | | | action to establish a trusted relationship with PE | | | B *or* re-establish the security context | | | transparently. | | Section 2.10 | Security protocol that supports integrity | | | protection. | | Section 2.12 | Security protocol that supports data | | | confidentiality. | | Section 2.11 | The PU authenticates the ENRP server. If the | | | authentication fails, it looks for another ENRP | | | server. | | Section 2.13 | ASAP must control the number of endpoint | | | unreachable messages transmitted from the PU to | | | the ENRP server. | | Section 2.14 | ENRP server must control the number of | | | Endpoint_KeepAlive messages to the PE. | +--------------+----------------------------------------------------+
The first four threats, combined with the sixth threat, result in a requirement for mutual authentication of the ENRP server and the PE.
前四种威胁加上第六种威胁,导致需要对ENRP服务器和PE进行相互身份验证。
To summarize, the first twelve threats require security mechanisms that support authentication, integrity, data confidentiality, and protection from replay attacks. For RSerPool, we need to authenticate the following:
总之,前12种威胁需要支持身份验证、完整性、数据机密性和防止重播攻击的安全机制。对于RSerPool,我们需要验证以下内容:
o PU -----> ENRP Server (PU authenticates the ENRP server)
o PU----->ENRP服务器(PU认证ENRP服务器)
o PE <----> ENRP Server (mutual authentication)
o PE<--->ENRP服务器(相互认证)
o ENRP server <-----> ENRP Server (mutual authentication)
o ENRP服务器<------>ENRP服务器(相互认证)
Summary by component:
按构成部分开列的摘要:
RSerPool client -- mandatory-to-implement authentication of the ENRP server is required for accurate pool handle resolution. This is to protect against threats from rogue ENRP servers. In addition, confidentiality, integrity, and preventing replay attack are also mandatory to implement to protect from eavesdropping and data corruption or false data transmission. Confidentiality is mandatory to implement and is used when privacy is required.
RSerPool客户端——必须实现ENRP服务器的身份验证,才能准确解析池句柄。这是为了防止来自恶意ENRP服务器的威胁。此外,还必须实现机密性、完整性和防止重播攻击,以防止窃听、数据损坏或虚假数据传输。保密是强制执行的,在需要隐私时使用。
PE to ENRP communications -- mandatory-to-implement mutual authentication, integrity, and protection from replay attack is required for PE to ENRP communications. This is to protect the integrity of the ENRP handlespace database. Confidentiality is mandatory to implement and is used when privacy is required.
PE-to-ENRP通信——PE-to-ENRP通信必须实现相互认证、完整性和防止重播攻击。这是为了保护ENRP handlespace数据库的完整性。保密是强制执行的,在需要隐私时使用。
ENRP to ENRP communications -- mandatory-to-implement mutual authentication, integrity, and protection from replay attack is required for ENRP to ENRP communications. This is to protect the integrity of the ENRP handlespace database. Confidentiality is mandatory to implement and is used when privacy is required.
ENRP-to-ENRP通信——ENRP-to-ENRP通信必须实现相互认证、完整性和防止重放攻击。这是为了保护ENRP handlespace数据库的完整性。保密是强制执行的,在需要隐私时使用。
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2119]Bradner,S.,“RFC中用于表示需求水平的关键词”,BCP 14,RFC 2119,1997年3月。
[RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security (TLS) Protocol Version 1.2", RFC 5246, August 2008.
[RFC5246]Dierks,T.和E.Rescorla,“传输层安全(TLS)协议版本1.2”,RFC 5246,2008年8月。
[RFC5352] Stewart, R., Xie, Q., Stillman, M., and M. Tuexen, "Aggregate Server Access Protocol (ASAP)", RFC 5352, September 2008.
[RFC5352]Stewart,R.,Xie,Q.,Stillman,M.,和M.Tuexen,“聚合服务器访问协议(ASAP)”,RFC 53522008年9月。
[RFC5353] Xie, Q., Stewart, R., Stillman, M., Tuexen, M., and A. Silverton, "Endpoint Handlespace Redundancy Protocol (ENRP)", RFC 5353, September 2008.
[RFC5353]Xie,Q.,Stewart,R.,Stillman,M.,Tuexen,M.,和A.Silverton,“端点Handlespace冗余协议(ENRP)”,RFC 53532008年9月。
[RFC5351] Lei, P., Ong, L., Tuexen, M., and T. Dreibholz, "An Overview of Reliable Server Pooling Protocols", RFC 5351, September 2008.
[RFC5351]Lei,P.,Ong,L.,Tuexen,M.,和T.Dreibholz,“可靠服务器池协议概述”,RFC 5351,2008年9月。
Authors' Addresses
作者地址
Maureen Stillman, Ed. Nokia 1167 Peachtree Court Naperville, IL 60540 USA
Maureen Stillman,Ed.诺基亚1167桃树苑Naperville,伊利诺伊州60540美国
EMail: maureen.stillman@nokia.com
EMail: maureen.stillman@nokia.com
Ram Gopal Nokia Siemens Networks 12278 Scripps Summit Drive San Diego, CA 92131 USA
Ram Gopal诺基亚西门子网络12278 Scripps Summit Drive美国加利福尼亚州圣地亚哥92131
EMail: ram.gopal@nsn.com
EMail: ram.gopal@nsn.com
Erik Guttman Sun Microsystems Eichhoelzelstrasse 7 74915 Waibstadt DE
埃里克·古特曼太阳微系统艾希霍尔泽尔斯特拉斯7 74915 Waibstadt DE
EMail: Erik.Guttman@sun.com
EMail: Erik.Guttman@sun.com
Senthil Sengodan Nokia Siemens Networks 6000 Connection Drive Irving, TX 75039 USA
美国德克萨斯州欧文市Senthil Sengodan诺基亚西门子网络6000连接驱动器75039
EMail: Senthil.sengodan@nsn.com
EMail: Senthil.sengodan@nsn.com
Matt Holdrege
马特·霍德雷格
EMail: Holdrege@gmail.com
EMail: Holdrege@gmail.com
Full Copyright Statement
完整版权声明
Copyright (C) The IETF Trust (2008).
版权所有(C)IETF信托基金(2008年)。
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.
本文件受BCP 78中包含的权利、许可和限制的约束,除其中规定外,作者保留其所有权利。
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.
本文件及其包含的信息以“原样”为基础提供,贡献者、他/她所代表或赞助的组织(如有)、互联网协会、IETF信托基金和互联网工程任务组不承担任何明示或暗示的担保,包括但不限于任何保证,即使用本文中的信息不会侵犯任何权利,或对适销性或特定用途适用性的任何默示保证。
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.
IETF对可能声称与本文件所述技术的实施或使用有关的任何知识产权或其他权利的有效性或范围,或此类权利下的任何许可可能或可能不可用的程度,不采取任何立场;它也不表示它已作出任何独立努力来确定任何此类权利。有关RFC文件中权利的程序信息,请参见BCP 78和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.
向IETF秘书处披露的知识产权副本和任何许可证保证,或本规范实施者或用户试图获得使用此类专有权利的一般许可证或许可的结果,可从IETF在线知识产权存储库获取,网址为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.
IETF邀请任何相关方提请其注意任何版权、专利或专利申请,或其他可能涵盖实施本标准所需技术的专有权利。请将信息发送至IETF的IETF-ipr@ietf.org.