draft-ietf-rserpool-threats-09.txt   draft-ietf-rserpool-threats-10.txt 
Network Working Group M. Stillman, Ed. Network Working Group M. Stillman, Ed.
Internet-Draft Nokia Internet-Draft Nokia
Intended status: Informational R. Gopal Intended status: Informational R. Gopal
Expires: April 26, 2008 Nokia Research Center Expires: October 24, 2008 Nokia Research Center
E. Guttman E. Guttman
Sun Microsystems Sun Microsystems
M. Holdrege M. Holdrege
Strix Systems Strix Systems
S. Sengodan S. Sengodan
Nokia Research Center Nokia Research Center
October 24, 2007 April 22, 2008
Threats Introduced by RSerPool and Requirements for Security in Response Threats Introduced by RSerPool and Requirements for Security in Response
to Threats to Threats
draft-ietf-rserpool-threats-09.txt draft-ietf-rserpool-threats-10.txt
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware 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 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. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 42 skipping to change at page 1, line 42
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on April 26, 2008. This Internet-Draft will expire on October 24, 2008.
Copyright Notice
Copyright (C) The IETF Trust (2007).
Abstract Abstract
Rserpool is an architecture and set of protocols for the management Rserpool is an architecture and set of protocols for the management
and access to server pools supporting highly reliable applications and access to server pools supporting highly reliable applications
and for client access mechanisms to a server pool. This Internet and for client access mechanisms to a server pool. This Internet
draft describes security threats to the Rserpool architecture and draft describes security threats to the Rserpool architecture and
presents requirements for security to thwart these threats. presents requirements for security to thwart these threats.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Definitions . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Definitions . . . . . . . . . . . . . . . . . . . . . . . 3
2. Threats . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Threats . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1. PE Registration/Deregistration flooding -- 2.1. PE Registration/Deregistration flooding --
non-existent PE . . . . . . . . . . . . . . . . . . . . . 4 non-existent PE . . . . . . . . . . . . . . . . . . . . . 4
2.2. PE Registration/Deregistration flooding -- 2.2. PE Registration/Deregistration flooding --
unauthorized PE . . . . . . . . . . . . . . . . . . . . . 4 unauthorized PE . . . . . . . . . . . . . . . . . . . . . 5
2.3. PE Registration/Deregistration spoofing . . . . . . . . . 5 2.3. PE Registration/Deregistration spoofing . . . . . . . . . 5
2.4. PE Registration/Deregistration unauthorized . . . . . . . 5 2.4. PE Registration/Deregistration unauthorized . . . . . . . 6
2.5. Malicious ENRP server joins the group of legitimate 2.5. Malicious ENRP server joins the group of legitimate
ENRP servers . . . . . . . . . . . . . . . . . . . . . . . 6 ENRP servers . . . . . . . . . . . . . . . . . . . . . . . 6
2.6. Registration/deregistration with malicious ENRP server . . 6 2.6. Registration/deregistration with malicious ENRP server . . 7
2.7. Malicious ENRP Handlespace Resolution . . . . . . . . . . 6 2.7. Malicious ENRP Handlespace Resolution . . . . . . . . . . 7
2.8. Malicious node performs a replay attack . . . . . . . . . 7 2.8. Malicious node performs a replay attack . . . . . . . . . 7
2.9. Re-establishing PU-PE security during failover . . . . . . 7 2.9. Re-establishing PU-PE security during failover . . . . . . 8
2.10. Integrity . . . . . . . . . . . . . . . . . . . . . . . . 8 2.10. Integrity . . . . . . . . . . . . . . . . . . . . . . . . 8
2.11. Data Confidentiality . . . . . . . . . . . . . . . . . . . 8 2.11. Data Confidentiality . . . . . . . . . . . . . . . . . . . 9
2.12. ENRP Server Discovery . . . . . . . . . . . . . . . . . . 9 2.12. ENRP Server Discovery . . . . . . . . . . . . . . . . . . 9
2.13. Flood of endpoint unreachable messages from the PU to 2.13. Flood of endpoint unreachable messages from the PU to
the ENRP server . . . . . . . . . . . . . . . . . . . . . 9 the ENRP server . . . . . . . . . . . . . . . . . . . . . 10
2.14. Flood of endpoint keep alive messages from the ENRP 2.14. Flood of endpoint keep alive messages from the ENRP
server to a PE . . . . . . . . . . . . . . . . . . . . . . 10 server to a PE . . . . . . . . . . . . . . . . . . . . . . 11
3. Security Considerations . . . . . . . . . . . . . . . . . . . 10 2.15. Security of the ENRP Database . . . . . . . . . . . . . . 11
3.1. Security of the ENRP Database . . . . . . . . . . . . . . 12 2.16. Cookie mechanism security . . . . . . . . . . . . . . . . 12
3.2. Cookie mechanism security . . . . . . . . . . . . . . . . 12 3. Security Considerations . . . . . . . . . . . . . . . . . . . 12
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14
5. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13 5. Normative References . . . . . . . . . . . . . . . . . . . . . 14
5.1. Normative References . . . . . . . . . . . . . . . . . . . 13 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 14
5.2. Informative References . . . . . . . . . . . . . . . . . . 13 Intellectual Property and Copyright Statements . . . . . . . . . . 16
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 13
Intellectual Property and Copyright Statements . . . . . . . . . . 15
1. Introduction 1. Introduction
RSerPool provides a session layer for robustness. The session layer RSerPool provides a session layer for robustness. The session layer
function may redirect communication transparently to upper layers. function may redirect communication transparently to upper layers.
This alters the direct one-to-one association between communicating This alters the direct one-to-one association between communicating
endpoints which typically exists between clients and servers. In endpoints which typically exists between clients and servers. In
particular, secure operation of protocols often relies on assumptions particular, secure operation of protocols often relies on assumptions
at different layers regarding the identity of the communicating party at different layers regarding the identity of the communicating party
and the continuity of the communication between endpoints. Further, and the continuity of the communication between endpoints. Further,
the operation of RSerPool itself has security implications and risks. the operation of RSerPool itself has security implications and risks.
The session layer operates dynamically which imposes additional The session layer operates dynamically which imposes additional
concerns for the overall security of the end-to-end application. concerns for the overall security of the end-to-end application.
The RSerPool architecture 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 an
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 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.
This document explores the security implications of RSerPool, both This document explores the security implications of RSerPool, both
due to its own functions and due to its being interposed between due to its own functions and due to its being interposed between
applications and transport interfaces. applications and transport interfaces.
1.1. Definitions 1.1. Definitions
This document uses the following terms: This document uses the following terms:
Endpoint Name Resolution Protocol (ENRP): Endpoint Name Resolution Protocol (ENRP):
Within the operational scope of Rserpool, ENRP defines the Within the operational scope of Rserpool, ENRP defines the
skipping to change at page 4, line 7 skipping to change at page 4, line 20
A collection of servers providing the same application A collection of servers providing the same application
functionality. functionality.
Pool handle: Pool handle:
A logical pointer to a pool. Each server pool will be A logical pointer to a pool. Each server pool will be
identifiable in the operational scope of the system by a unique identifiable in the operational scope of the system by a unique
pool handle. pool handle.
ENRP handlespace (or handlespace): ENRP handlespace (or handlespace):
A cohesive structure of pool names and relations that may be A cohesive structure of pool names and relations that may be
queried by an internal or external agent. queried by a client.
Pool element (PE): A server entity having registered to a pool. Pool element (PE): A server entity having registered to a pool.
Pool user (PU): A server pool user. Pool user (PU): A server pool user.
2. Threats 2. Threats
2.1. PE Registration/Deregistration flooding -- non-existent PE 2.1. PE Registration/Deregistration flooding -- non-existent PE
2.1.1. Threat 2.1.1. Threat
skipping to change at page 4, line 33 skipping to change at page 4, line 46
2.1.2. Effect 2.1.2. Effect
Corrupting the pool registrar database and/or disabling the Rserpool Corrupting the pool registrar database and/or disabling the Rserpool
discovery and database function. This represents a denial of service discovery and database function. This represents a denial of service
attack as the PU would potentially get an IP address of a non- attack as the PU would potentially get an IP address of a non-
existent PE in response to an ENRP query. existent PE in response to an ENRP query.
2.1.3. Requirement 2.1.3. Requirement
An ENRP server that receives a registration/deregistration should not An ENRP server that receives a registration/deregistration SHOULD NOT
create or update state information until it has authenticated the PE. create or update state information until it has authenticated the PE.
2.2. PE Registration/Deregistration flooding -- unauthorized PE 2.2. PE Registration/Deregistration flooding -- unauthorized PE
2.2.1. Threat 2.2.1. Threat
A malicious node or PE could send a stream of registrations/ A malicious node or PE could send a stream of registrations/
deregistrations that are unauthorized to register/deregister - to deregistrations that are unauthorized to register/deregister - to
ENRP servers at a very rapid rate and thereby create unnecessary ENRP servers at a very rapid rate and thereby create unnecessary
state in an ENRP server. state in an ENRP server.
2.2.2. Effect 2.2.2. Effect
Corrupting the pool registrar database and/or disabling the Rserpool This attack will corrupt the pool registrar database and/or disable
discovery and database function. This represents a denial of service the Rserpool discovery and database function. There is the potential
attack as the PU would potentially get an IP address of a rogue PE in for two types of attacks, denial of service and data interception.
response to an ENRP query which might not provide the actual service. In the denial of service attack, the PU gets an IP address of a rogue
If it does provide the service, this would be a man in the middle PE in response to an ENRP query which might not provide the actual
attack to allow them to collect data. This could also prevent service. In the data interception attack, it does provide the
legitimate PEs from registering. service as man in the middle which allows the attacker to collect
data. In addition, a flood of message could prevent legitimate PEs
from registering.
2.2.3. Requirement 2.2.3. Requirement
An ENRP server that receives a registration/deregistration should not An ENRP server that receives a registration/deregistration SHOULD NOT
create or update state information until the authorization of the create or update state information until the authentication
registering/de-registering entity is verified. information of the registering/de-registering entity is verified.
2.3. PE Registration/Deregistration spoofing 2.3. PE Registration/Deregistration spoofing
2.3.1. Threat 2.3.1. Threat
A malicious node could send false registrations/deregistrations to A malicious node could send false registrations/deregistrations to
ENRP servers concerning a legitimate PE thereby creating false state ENRP servers concerning a legitimate PE thereby creating false state
information in the ENRP servers. information in the ENRP servers.
2.3.2. Effect 2.3.2. Effect
Misinformation in the ENRP server concerning a PE would get This would generate misinformation in the ENRP server concerning a PE
propagated to other ENRP servers thereby corrupting the ENRP and would be propagated to other ENRP servers thereby corrupting the
database. DDoS, by adding a PE that is a target for DDoS attack for ENRP database. DDoS, by adding a PE that is a target for DDoS attack
some popular high volume service the attacker can register a PE that for some popular high volume service the attacker can register a PE
a lot of PUs will try to connect to. This allows man in the middle that a lot of PUs will try to connect to. This allows man in the
or masquerade attacks on the service provided by the legitimate PEs. middle or masquerade attacks on the service provided by the
If a hacker registers its server address as a PE and handles the legitimate PEs. If a attacker registers its server address as a PE
requests he can eavesdrop on service data. and handles the requests he can eavesdrop on service data.
2.3.3. Requirement 2.3.3. Requirement
An ENRP server that receives a registration/deregistration should not An ENRP server that receives a registration/deregistration SHOULD NOT
create or update state information until it has authenticated the PE. create or update state information until it has authenticated the PE.
2.4. PE Registration/Deregistration unauthorized 2.4. PE Registration/Deregistration unauthorized
2.4.1. Threat 2.4.1. Threat
A PE who is not authorized to join a pool could send registrations/ A PE who is not authorized to join a pool could send registrations/
deregistrations to ENRP servers thereby creating false state deregistrations to ENRP servers thereby creating false state
information in the ENRP servers. information in the ENRP servers.
2.4.2. Effect 2.4.2. Effect
Misinformation in the ENRP server concerning a PE would get This attack would generate misinformation in the ENRP server
propagated to other ENRP servers thereby corrupting the ENRP concerning a PE and would be propagated to other ENRP servers thereby
database. This allows man in the middle or masquerade attacks on the corrupting the ENRP database. This allows man in the middle or
service provided by the legitimate PEs. If a hacker registers its masquerade attacks on the service provided by the legitimate PEs. If
server address as a PE and handles the requests he can eavesdrop on a attacker registers its server address as a PE and handles the
service data. requests he can eavesdrop on service data.
2.4.3. Requirement 2.4.3. Requirement
An ENRP server that receives a registration/deregistration should not An ENRP server that receives a registration/deregistration SHOULD NOT
create or update state information until it has authorized the create or update state information until it has authorized the
requesting entity. requesting entity.
2.5. Malicious ENRP server joins the group of legitimate ENRP servers 2.5. Malicious ENRP server joins the group of legitimate ENRP servers
2.5.1. Threat 2.5.1. Threat
Malicious ENRP server joins the group of legitimate ENRP servers with A malicious ENRP server joins the group of legitimate ENRP servers
the intent of propagating inaccurate updates to corrupt the ENRP with the intent of propagating inaccurate updates to corrupt the ENRP
database. database. The attacker sets up an ENRP server and attempts to
communicate with other ENRP servers.
2.5.2. Effect 2.5.2. Effect
Inconsistent ENRP database state. The result would be Inconsistent ENRP database state.
2.5.3. Requirement 2.5.3. Requirement
Mutual authentication of ENRP servers. ENRP servers SHOULD perform mutual authentication. This would
prevent the attacker from joining its ENRP server to the pool.
2.6. Registration/deregistration with malicious ENRP server 2.6. Registration/deregistration with malicious ENRP server
2.6.1. Threat 2.6.1. Threat
A PE unknowingly registers/deregisters with malicious ENRP server. A PE unknowingly registers/deregisters with malicious ENRP server.
2.6.2. Effect 2.6.2. Effect
Registration might not be properly processed or ignored. A rogue The registration might not be properly processed or ignored. A rogue
ENRP server has the ability to return any address to a user ENRP server has the ability to return any address to a user
requesting service which could result in denial of service or requesting service which could result in denial of service or
connection to a rouge PE of the hackers choice for service. connection to a rouge PE of the attackers choice for service.
2.6.3. Requirement 2.6.3. Requirement
PE needs to authenticate the ENRP server. The PE SHOULD authenticate the ENRP server.
2.7. Malicious ENRP Handlespace Resolution 2.7. Malicious ENRP Handlespace Resolution
2.7.1. Threat 2.7.1. Threat
The ASAP protocol receives a handlespace resolution response from an The ASAP protocol receives a handlespace resolution response from an
ENRP server, but the ENRP server is malicious and returns random IP ENRP server, but the ENRP server is malicious and returns random IP
addresses or an inaccurate list in response to the pool handle. addresses or an inaccurate list in response to the pool handle.
2.7.2. Effect 2.7.2. Effect
PU application communicates with the wrong PE or is unable to locate 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 the PE since the response is incorrect in saying that a PE with that
handle did not exist. A rouge ENRP server has the ability to return handle did not exist. A rouge ENRP server has the ability to return
any address to ASAP requesting an address list which could result in any address to ASAP requesting an address list which could result in
denial of service or connection to a rouge PE of the hackers choice denial of service or connection to a rouge PE of the attackers choice
for service. From the PE, the hacker could eavesdrop or tamper with for service. From the PE, the attacker could eavesdrop or tamper
the application. with the application.
2.7.3. Requirement 2.7.3. Requirement
ASAP needs to authenticate the ENRP server. ASAP SHOULD authenticate the ENRP server.
2.8. Malicious node performs a replay attack 2.8. Malicious node performs a replay attack
2.8.1. Threat 2.8.1. Threat
A malicious node could replay the entire message previously sent by a A malicious node could replay the entire message previously sent by a
legitimate entity. This could create false/unnecessary state in the legitimate entity. This could create false/unnecessary state in the
ENRP servers when the replay is for registration/de-registration or ENRP servers when the replay is for registration/de-registration or
update. update.
2.8.2. Effect 2.8.2. Effect
False/extra state is maintained by ENRP servers. This would most The result is that false/extra state is maintained by ENRP servers.
likely be used as a denial of service attack if the replay is used to This would most likely be used as a denial of service attack if the
deregister all PEs. replay is used to deregister all PEs.
2.8.3. Requirement 2.8.3. Requirement
Care should be taken to prevent replay attacks. The protocol SHOULD prevent replay attacks.
2.9. Re-establishing PU-PE security during failover 2.9. Re-establishing PU-PE security during failover
2.9.1. Threat 2.9.1. Threat
PU fails over from PE A to PE B. In the case that the PU had a PU fails over from PE A to PE B. In the case that the PU had a
trusted relationship with PE A, then the PU will likely not have the trusted relationship with PE A, then the PU will likely not have the
same relationship established with PE B. same relationship established with PE B.
2.9.2. Effect 2.9.2. Effect
If there was a trust relationship involving security context between 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 A, the equivalent trust relationship will not exist between
PU and PE B. This will violate security policy. 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.
2.9.3. Requirement 2.9.3. Requirement
Either notify the application when fail over occurs so the The application SHOULD be notified when fail over occurs so the
application can take appropriate action to establish a trusted application can take appropriate action to establish a trusted
relationship with PE B OR reestablish the security context relationship with PE B.
transparently.
2.10. Integrity 2.10. Integrity
2.10.1. Threat 2.10.1. Threat
a. ENRP response to pool handle resolution is corrupted during a. ENRP response to pool handle resolution is corrupted during
transmission transmission
b. ENRP peer messages are corrupted during transmission b. ENRP peer messages are corrupted during transmission
c. PE sends update for values and that information is corrupted c. PE sends update for values and that information is corrupted
during transmission during transmission
2.10.2. Effect 2.10.2. Effect
ASAP receives corrupt information for pool handle resolution which The result is that ASAP receives corrupt information for pool handle
the PU believes to be accurate. 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.
2.10.3. Requirement 2.10.3. Requirement
Integrity mechanism needed. An integrity mechanism SHOULD 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 SHOULD implement integrity are PE to ENRP server
and ENRP to ENRP server.
2.11. Data Confidentiality 2.11. Data Confidentiality
2.11.1. Threat 2.11.1. Threat
An eavesdropper capable of snooping on fields within messages in An eavesdropper capable of snooping on fields within messages in
transit, may be able to garner information such as transit, may be able to garner information such as
topology/location/IP addresses etc. that may not be desirable to topology/location/IP addresses etc. that may not be desirable to
divulge. divulge.
2.11.2. Effect 2.11.2. Effect
Information that an administrator does not wish to divulge are Information that an administrator does not wish to divulge is
divulged. The hacker gains valuable information that can be used for divulged. The attacker gains valuable information that can be used
financial gain or attacks on hosts. for financial gain or attacks on hosts.
2.11.3. Requirement 2.11.3. Requirement
Provision for data confidentiality service. A provision for data confidentiality service SHOULD be available.
2.12. ENRP Server Discovery 2.12. ENRP Server Discovery
2.12.1. Threats 2.12.1. Threats
a. Thwarting successful discovery: When a PE wishes to register with a. Thwarting successful discovery: When a PE wishes to register with
an ENRP server, it needs to discover an ENRP server. An attacker an ENRP server, it needs to discover an ENRP server. An attacker
could thwart the successful discovery of ENRP server(s) thereby could thwart the successful discovery of ENRP server(s) thereby
inducing the PE to believe that no ENRP server is available. For inducing the PE to believe that no ENRP server is available. For
instance, the attacker could reduce the returned set of ENRP instance, the attacker could reduce the returned set of ENRP
servers to null or a small set of inactive ENRP servers. servers to null or a small set of inactive ENRP servers. The
attacker performs a MITM attack to do this.
b. A similar thwarting scenario also applies when an ENRP server or b. A similar thwarting scenario also applies when an ENRP server or
ASAP on behalf of a PU needs to discover ENRP servers. ASAP on behalf of a PU needs to discover ENRP servers.
c. Spoofing successful discovery: An attacker could spoof the c. Spoofing successful discovery: An attacker could spoof the
discovery by claiming to be a legitimate ENRP server. When a PE discovery by claiming to be a legitimate ENRP server. When a PE
wishes to register, it finds the spoofed ENRP server. wishes to register, it finds the spoofed ENRP server. An
attacker can only make such a claim if no security mechanisms are
used.
d. A similar spoofing scenario also applies when an ENRP server or d. A similar spoofing scenario also applies when an ENRP server or
ASAP on behalf of a PU needs to discover ENRP servers. ASAP on behalf of a PU needs to discover ENRP servers.
2.12.2. Effects 2.12.2. Effects (letters correlate with threats above)
a. A PE that could have been in an application server pool does not 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 become part of a pool. The PE does not complete discovery
operation. This is a DOS attack. operation. This is a DOS attack.
b. An ENRP server that could have been in an ENRP server pool does 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 not become part of a pool. A PU is unable to utilize services of
ENRP servers. ENRP servers.
c. This malicious ENRP would either misrepresent, ignore or c. This malicious ENRP would either misrepresent, ignore or
otherwise hide or distort information about the PE to subvert otherwise hide or distort information about the PE to subvert
RSerPool operation. RSerPool operation.
d. Same as last. d. Same as above.
2.12.3. Requirement 2.12.3. Requirement
Provision for data confidentiality service. A provision for data confidentiality service SHOULD be present.
2.13. Flood of endpoint unreachable messages from the PU to the ENRP 2.13. Flood of endpoint unreachable messages from the PU to the ENRP
server server
2.13.1. Threat 2.13.1. Threat
These messages are sent by ASAP to the ENRP server when it is unable Endpoint unreachable messages are sent by ASAP to the ENRP server
to contact a PE. There is the potential that a PU could flood the when it is unable to contact a PE. There is the potential that a PU
ENRP server intentionally or unintentionally with these messages. 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.
2.13.2. Effect 2.13.2. Effect
DOS attack on the ENRP server. 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.
2.13.3. Requirement 2.13.3. Requirement
Need to limit the number of endpoint unreachable messages sent to the The number of endpoint unreachable messages sent to the ENRP server
ENRP server from the PU. from the PU SHOULD be limited.
2.14. Flood of endpoint keep alive messages from the ENRP server to a 2.14. Flood of endpoint keep alive messages from the ENRP server to a
PE PE
2.14.1. Threat 2.14.1. Threat
These messages would be sent in response to a flood of endpoint Endpoint keep-alive messages would be sent from the ENRP server to
unreachable messages from the PUs to the ENRP server. the PEs during the process of changing the home ENRP server for this
PE.
2.14.2. Effect 2.14.2. Effect
Unintentional DOS attack on the PE. 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 an unintentional DOS attack on the PE.
2.14.3. Requirement 2.14.3. Requirement
ENRP must limit the frequency of keep alive messages to a given PE to ENRP SHOULD limit the frequency of keep alive messages to a given PE
prevent overwhelming the PE. to prevent overwhelming the PE.
2.15. Security of the ENRP Database
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 handle space resolution information from ENRP, it would have
to be informed which entries are "secure" and which are not. 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. Due to these two facts it was decided that either the
entire ENRP server database is secure, that is, it has registrations
exclusively from PEs that have used security mechanisms or the entire
database is insecure, that is, registrations are from PEs that have
used no security mechanisms. ENRP servers that support security are
required to reject any PE server registration that does not use the
security mechanisms. Likewise, ENRP servers that support security
should not accept updates from other ENRP servers that do not use
security mechanisms.
2.16. Cookie mechanism security
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.
Cookies are passed via the ASAP control channel. If TCP is selected
as the transport, the data and control channel must always be
multiplexed. Therefore, the cases:
a. control channel is secured; data channel is not
b. data channel is secured; control channel is not
are not allowed. It is even hard to understand what this really
means from a security point of view.
The multiplexing requirement results in the following cases:
1. the multiplexed control channel-data channel is secure OR
2. the multiplexed control channel-data channel is not secured
This applies to cookies in the sense that if you choose to secure
your control-data channel, then the cookies are secured.
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.
3. Security Considerations 3. Security Considerations
This informational document characterizes potential security threats This informational document characterizes potential security threats
targeting the Rserpool architecture. The security mechanisms targeting the Rserpool architecture. The security mechanisms
required to mitigate these threats are summarized for each required to mitigate these threats are summarized for each
architectural component. It will be noted which mechanisms are architectural component. It will be noted which mechanisms are
required and which are optional. required and which are optional.
From the threats described in this document, the security services From the threats described in this document, the security services
skipping to change at page 12, line 25 skipping to change at page 14, line 25
required for PE to ENRP communications. This is to protect the required for PE to ENRP communications. This is to protect the
integrity of the ENRP handle space database. Confidentiality is integrity of the ENRP handle space database. Confidentiality is
mandatory to implement and is used when privacy is required. mandatory to implement and is used when privacy is required.
ENRP to ENRP communications -- mandatory to implement mutual ENRP to ENRP communications -- mandatory to implement mutual
authentication, integrity and protection from replay attack is authentication, integrity and protection from replay attack is
required for ENRP to ENRP communications. This is to protect the required for ENRP to ENRP communications. This is to protect the
integrity of the ENRP handle space database. Confidentiality is integrity of the ENRP handle space database. Confidentiality is
mandatory to implement and is used when privacy is required. mandatory to implement and is used when privacy is required.
3.1. Security of the ENRP Database
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 handle space resolution information from ENRP, it would have
to be informed which entries are "secure" and which are not. 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. Due to these two facts it was decided that either the
entire ENRP server database is secure, that is, it has registrations
exclusively from PEs that have used security mechanisms or the entire
database is insecure, that is, registrations are from PEs that have
used no security mechanisms. ENRP servers that support security are
required to reject any PE server registration that does not use the
security mechanisms. Likewise, ENRP servers that support security
should not accept updates from other ENRP servers that do not use
security mechanisms.
3.2. Cookie mechanism security
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.
Cookies are passed via the ASAP control channel. If TCP is selected
as the transport, the data and control channel must always be
multiplexed. Therefore, the cases:
a. control channel is secured; data channel is not
b. data channel is secured; control channel is not
are not allowed. It is even hard to understand what this really
means from a security point of view.
The multiplexing requirement results in the following cases:
1. the multiplexed control channel-data channel is secure OR
2. the multiplexed control channel-data channel is not secured
This applies to cookies in the sense that if you choose to secure
your control-data channel, then the cookies are secured.
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.
4. IANA Considerations 4. IANA Considerations
This document introduces no additional considerations for IANA. This document introduces no additional considerations for IANA.
5. References 5. Normative References
5.1. Normative References
[1] Lei, P., "An Overview of Reliable Server Pooling Protocols",
draft-ietf-rserpool-overview-02 (work in progress), July 2007.
5.2. Informative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[2] Bradner, S., "The Internet Standards Process -- Revision 3", [I-D.ietf-rserpool-asap]
BCP 9, RFC 2026, October 1996. Stewart, R., Xie, Q., Stillman, M., and M. Tuexen,
"Aggregate Server Access Protocol (ASAP)",
draft-ietf-rserpool-asap-19 (work in progress),
March 2008.
[3] Schiller, J., "Strong Security Requirements for Internet [I-D.ietf-rserpool-enrp]
Engineering Task Force Standard Protocols", BCP 61, RFC 3365, Kim, D., Stewart, R., Stillman, M., Tuexen, M., and A.
August 2002. Silverton, "Endpoint Handlespace Redundancy Protocol
(ENRP)", draft-ietf-rserpool-enrp-19 (work in progress),
March 2008.
Authors' Addresses Authors' Addresses
Maureen Stillman (editor) Maureen Stillman (editor)
Nokia Nokia
35 Woodcrest Avenue 35 Woodcrest Avenue
Ithaca, NY 14850 Ithaca, NY 14850
US US
Email: maureen.stillman@nokia.com Email: maureen.stillman@nokia.com
skipping to change at page 15, line 7 skipping to change at page 16, line 7
Senthil Sengodan Senthil Sengodan
Nokia Research Center Nokia Research Center
5 Wayside Road 5 Wayside Road
Burlington, MA 01803 Burlington, MA 01803
US US
Email: Senthil.sengodan@nokia.com Email: Senthil.sengodan@nokia.com
Full Copyright Statement Full Copyright Statement
Copyright (C) The IETF Trust (2007). Copyright (C) The IETF Trust (2008).
This document is subject to the rights, licenses and restrictions This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors contained in BCP 78, and except as set forth therein, the authors
retain all their rights. retain all their rights.
This document and the information contained herein are provided on an This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
skipping to change at page 15, line 44 skipping to change at line 717
attempt made to obtain a general license or permission for the use of attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr. http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at this standard. Please address the information to the IETF at
ietf-ipr@ietf.org. ietf-ipr@ietf.org.
Acknowledgment
Funding for the RFC Editor function is provided by the IETF
Administrative Support Activity (IASA).
 End of changes. 55 change blocks. 
160 lines changed or deleted 194 lines changed or added

This html diff was produced by rfcdiff 1.34. The latest version is available from http://tools.ietf.org/tools/rfcdiff/