draft-ietf-rserpool-threats-02.txt   draft-ietf-rserpool-threats-03.txt 
Internet Engineering Task Force Maureen Stillman(editor) Internet Engineering Task Force Maureen Stillman(editor)
INTERNET DRAFT Ram Gopal INTERNET DRAFT Ram Gopal
Senthil Sengodan Senthil Sengodan
Nokia Nokia
Erik Guttman Erik Guttman
Sun Microsystems Sun Microsystems
Matt Holdrege Matt Holdrege
Sonus Networks Strix Systems
15 September 2003 08 July 2004
expires March 15, 2004 expires January 8, 2005
Threats Introduced by Rserpool and Requirements for Security Threats Introduced by Rserpool and Requirements for Security
in response to Threats in response to Threats
<draft-ietf-rserpool-threats-02.txt> <draft-ietf-rserpool-threats-03.txt>
Status of This Memo Status of This Memo
This document is an Internet-Draft and is in full conformance with By submitting this Internet-Draft, I certify that any applicable
all provisions of Section 10 of RFC2026 [RFC2026]. Internet-Drafts patent or other IPR claims of which I am aware have been disclosed,
are working documents of the Internet Engineering Task Force (IETF), and any of which I become aware will be disclosed, in accordance with
its areas, and its working groups. Note that other groups may also RFC 3668.
distribute working documents as Internet-Drafts.
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 Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at and may be updated, replaced, or obsoleted by other documents at any
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 January 8, 2004.
Copyright Notice
Copyright (C) The Internet Society (2004). All Rights Reserved.
Abstract Abstract
Rserpool is an architecture and protocols for the management and Rserpool is an architecture and set of protocols for the management
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.
Contents Contents
Status of This Memo 1 Status of This Memo 1
Abstract 1 Abstract 1
1. Introduction 3 1. Introduction 3
1.1 Definitions . . . . . . . . . . . . . . . . . . . . . . . 3 1.1 Definitions . . . . . . . . . . . . . . . . . . . . . . . 3
skipping to change at page 2, line 28 skipping to change at page 2, line 28
2.6 Registration/deregistration with malicious ENRP servers . 5 2.6 Registration/deregistration with malicious ENRP servers . 5
2.7 Malicious ENRP Name Resolution .. . . . . . . . . . . . . 5 2.7 Malicious ENRP Name Resolution .. . . . . . . . . . . . . 5
2.8 Malicious node performs a replay attack.. . . . . . . . . 6 2.8 Malicious node performs a replay attack.. . . . . . . . . 6
2.9 Re-establishing PU-PE security during failover. . . . . . 6 2.9 Re-establishing PU-PE security during failover. . . . . . 6
2.10 Integrity . . . . . . . . . . . . . . . . . . . . . . . . 6 2.10 Integrity . . . . . . . . . . . . . . . . . . . . . . . . 6
2.11 Data Confidentiality . . . . . . . . . . . . . . . . . . 6 2.11 Data Confidentiality . . . . . . . . . . . . . . . . . . 6
2.12 ENRP Server Discovery . . . . . . . . . . . . . . . . . . 7 2.12 ENRP Server Discovery . . . . . . . . . . . . . . . . . . 7
2.13 Flood of endpoint unreachable messages . . . . . . . . . 7 2.13 Flood of endpoint unreachable messages . . . . . . . . . 7
2.14 Flood of endpoint keep alive messages . . . . . . . . . . 7 2.14 Flood of endpoint keep alive messages . . . . . . . . . . 7
3. Security Considerations . . . . . . . . . . . . . . . . . . . . 8 3. Security Considerations . . . . . . . . . . . . . . . . . . . . 8
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 8 3.1 Database security . . . . . . . . . . . . . . . . . . . . 10
5. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.2 Cookie security . . . . . . . . . . . . . . . . . . . . . 10
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 8 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 11
7. Intellectual Property Statement . . . . . . . . . . . . . . . . 9 5. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11
8. Author's addresses . . . . . . . . . . . . . . . . . . . . . . . 10 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 11
7. Intellectual Property Statement . . . . . . . . . . . . . . . . 12
8. Author's addresses . . . . . . . . . . . . . . . . . . . . . . . 13
1. Introduction 1. Introduction
RSERPOOL provides a session layer for robustness and performance. The RSERPOOL provides a session layer for robustness. The session layer
session layer function may redirect communication transparently to function may redirect communication transparently to upper layers. This
upper layers. This alters the direct one-to-one association between alters the direct one-to-one association between communicating endpoints
communicating endpoints which typically exists between clients and which typically exists between clients and services. In particular,
services. In particular, secure operation of protocols often relies secure operation of protocols often relies on assumptions at different
on assumptions at different layers regarding the identity of the layers regarding the identity of the communicating party and the
communicating party and the continuity of the communication between continuity of the communication between endpoints. Further, the
endpoints. Further, the operation of RSERPOOL itself has security operation of RSERPOOL itself has security implications and risks. The
implications and risks. The session layer is organized and operates session layer operates dynamically which imposes additional concerns for
dynamically which imposes additional concerns for the overall security the overall security of the end-to-end application. This document
of the end-to-end application. This document explores the security explores the security implications of RSERPOOL, both due to its own
implications of RSERPOOL, both due to its own functions and due to its functions and due to its being interposed between applications and
being interposed between applications and transport interfaces. transport interfaces.
1.1 Definitions 1.1 Definitions
This document uses the following terms: This document uses the following terms:
ENRP Endpoint Name Resolution Protocol: ENRP Endpoint Name Resolution Protocol:
Within the operational scope of Rserpool, ENRP defines the Within the operational scope of Rserpool, ENRP defines the
procedures and message formats of a distributed fault-tolerant procedures and message formats of a distributed fault-tolerant
registry service for storing, bookkeeping, retrieving, and registry service for storing, bookkeeping, retrieving, and
distributing pool operation and membership information. distributing pool operation and membership information.
skipping to change at page 4, line 18 skipping to change at page 4, line 18
Pool user (PU): Pool user (PU):
A server pool user that runs ASAP. Note, a PU can also be a A server pool user that runs ASAP. Note, a PU can also be a
PE if it has registered itself to a pool. PE if it has registered itself to a pool.
ENRP namespace server (or ENRP server): ENRP namespace server (or ENRP server):
Entity which runs ENRP and is responsible for managing and Entity which runs ENRP and is responsible for managing and
maintaining the namespace within the operation scope. maintaining the namespace within the operation scope.
2. Threats 2. Threats
2.1 PE Registration/Deregistration flooding 2.1 PE Registration/Deregistration flooding -- non-existent PE
Threat: A malicious node could send a stream of false Threat: A malicious node could send a stream of false
registrations/deregistrations on behalf of non-existent PEs to ENRP registrations/deregistrations on behalf of non-existent PEs to ENRP
servers at a very rapid rate and thereby create unnecessary state in an servers at a very rapid rate and thereby create unnecessary state in an
ENRP server. ENRP server.
Effect: Corrupting the name server database and/or disabling the Effect: Corrupting the name server database and/or disabling the
Rserpool discovery and naming function. Rserpool discovery and naming function.
Requirement: An ENRP server that receives a registration/deregistration Requirement: An ENRP server that receives a registration/deregistration
should not create or update state information until it has authenticated should not create or update state information until it has authenticated
the PE. the PE.
2.2 PE Registration/Deregistration flooding 2.2 PE Registration/Deregistration flooding -- unauthorized PE
Threat: A malicious node or PE could send a stream of Threat: A malicious node or PE could send a stream of
registrations/deregistrations that are unauthorized to registrations/deregistrations that are unauthorized to
register/deregister - to ENRP servers at a very rapid rate and thereby register/deregister - to ENRP servers at a very rapid rate and thereby
create unnecessary state in an ENRP server. create unnecessary state in an ENRP server.
Effect: Corrupting the name server database and/or disabling the Effect: Corrupting the name server database and/or disabling the
Rserpool discovery and naming function. Rserpool discovery and naming function.
Requirement: An ENRP server that receives a registration/deregistration Requirement: An ENRP server that receives a registration/deregistration
skipping to change at page 7, line 7 skipping to change at page 7, line 7
transit, may be able to garner information such as topology/location/IP transit, may be able to garner information such as topology/location/IP
addresses etc. that may not be desirable to divulge. addresses etc. that may not be desirable to divulge.
Effect: Information that an administrator does not wish to divulge are Effect: Information that an administrator does not wish to divulge are
divulged. divulged.
Requirement: Provision for Data confidentiality service. Requirement: Provision for Data confidentiality service.
2.12 ENRP Server Discovery 2.12 ENRP Server Discovery
Threat A thwarting successful discovery: When a PE wishes to register Threat A: Thwarting successful discovery: When a PE wishes to register
with an ENRP server, it needs to discover an ENRP server. An attacker with an ENRP server, it needs to discover an ENRP server. An attacker
could thwart the successful discovery of ENRP server(s) thereby inducing could thwart the successful discovery of ENRP server(s) thereby inducing
the PE to believe that no ENRP server is available. For instance, the 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 attacker could reduce the returned set of ENRP servers to null or a
small set of inactive ENRP servers. small set of inactive ENRP servers.
Threat B: A similar thwarting scenario also applies when an ENRP server Threat B: A similar thwarting scenario also applies when an ENRP server
or ASAP on behalf of a PU needs to discover ENRP servers. or ASAP on behalf of a PU needs to discover ENRP servers.
Threat C: Spoofing successful discovery: An attacker could spoof the Threat C: Spoofing successful discovery: An attacker could spoof the
skipping to change at page 8, line 8 skipping to change at page 8, line 8
unreachable messages from the PUs to the ENRP server. unreachable messages from the PUs to the ENRP server.
Effect: Unintentional DOS attack on the PE Effect: Unintentional DOS attack on the PE
Requirement: ENRP must limit the frequency of keep alive messages to a Requirement: ENRP must limit the frequency of keep alive messages to a
given PE to prevent overwhelming the PE. given PE to prevent overwhelming the PE.
3. Security Considerations for Rserpool 3. Security Considerations for Rserpool
This informational document characterizes potential security threats This informational document characterizes potential security threats
targeting the Rserpool architecture. 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.
From the threats described in this document, the security services
required
for the Rserpool protocol are enumerated below.
Threat 2.1, 2.2, 2.3, 2.4) PE registration/deregistration flooding
and/or spoofing.
Security mechanism in response: ENRP server authenticates the PE
Threat 2.6) PE registers with a malicious ENRP server
Security mechanism in response: PE authenticates the ENRP server
These combined threats result in a requirement for mutual authentication
of the ENRP server and the PE.
Threat 2.5) Malicious ENRP server joins the ENRP server pool
Security mechanism in response: ENRP servers mutually authenticate
Threat 2.7, 2.12) A PU communicates with a malicious ENRP server for
name resolution
Security mechanism in response: The PU authenticates the ENRP server.
If the authentication fails, it looks for another ENRP server.
Threat 2.8) Replay attack
Security mechanism in response: Security protocol which has protection
from replay attacks
Threat 2.9) Re-establishing PU-PE security during failover
Requirement: Either notify the application when fail over occurs so the
application can take appropriate action to establish a trusted
relationship with PE B OR reestablish the security context
transparently.
Threat 2.10) Corrupted data which causes a PU to have misinformation
concerning a name resolution
Security mechanism in response: Security protocol which supports
integrity protection
Threat 2.11) Eavesdropper snooping on namespace information
Security mechanism in response: Security protocol which supports data
confidentiality
To summarize the threats 2.1-2.12 require security mechanisms which
support authentication, integrity, data confidentiality and protection
from replay attacks.
For Rserpool we need to authenticate the following:
PU -----> ENRP Server (PU authenticates the ENRP server)
PE <----> ENRP Server (mutual authentication)
ENRP server <-----> ENRP Server (mutual authentication)
Summary by component:
Rserpool client -- mandatory to implement authentication of the ENRP
server is required for accurate name 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.
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 name space database. Confidentiality is mandatory to implement and
is used when privacy is required.
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 name space database. Confidentiality is mandatory to implement
and is used when privacy is required.
Threat 2.13) Flood of Endpoint_Unreachable messages from the PU to ENRP
server
Security mechanism in response: ASAP must control the number of endpoint
unreachable messages transmitted from the PU to the ENRP server.
Threat 2.14) Flood of Endpoint_KeepAlive messages to the PE from the
ENRP server
Security mechanism in response: ENRP server must control the number of
Endpoint_KeepAlive messages to the PE
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 name 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. References
Normative References: Normative References:
[Rserarch] M. Tuexen, et. al., "Architecture for Reliable Server [Rserarch] M. Tuexen, et. al., "Architecture for Reliable Server
skipping to change at page 9, line 7 skipping to change at page 12, line 7
Thanks to the Rserpool security design team and others that provided Thanks to the Rserpool security design team and others that provided
valuable comments: Lyndon Ong, Randy Stewart, Melinda Shore, Qiaobing valuable comments: Lyndon Ong, Randy Stewart, Melinda Shore, Qiaobing
Xie, Michael Tuexen, Aron Silverton, Sohrab Modi, Javier Pastor-Balbas, Xie, Michael Tuexen, Aron Silverton, Sohrab Modi, Javier Pastor-Balbas,
Xingang Guo, M. Piramanayagam, Bernard Aboba and Dhooria Manoj. Xingang Guo, M. Piramanayagam, Bernard Aboba and Dhooria Manoj.
Funding for the RFC Editor function is currently provided by the Funding for the RFC Editor function is currently provided by the
Internet Society. Internet Society.
7. Intellectual Property Statement 7. Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any Full Copyright Statement
intellectual property 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; neither does it represent that it
has made any effort to identify any such rights. Information on the
IETF's procedures with respect to rights in standards-track and
standards-related documentation can be found in BCP-11. Copies of
claims of rights made available for publication 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 implementors or users of this specification can
be obtained from the IETF Secretariat.
The IETF invites any interested party to bring to its attention any Copyright (C) The Internet Society (2004). This document is
copyrights, patents or patent applications, or other proprietary subject to the rights, licenses and restrictions contained in BCP
rights which may cover technology that may be required to practice 78, and except as set forth therein, the authors retain all their
this standard. Please address the information to the IETF Executive rights.
Director.
Full Copyright Statement 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 (C) The Internet Society (2003). All Rights Reserved. Intellectual Property
This document and translations of it may be copied and furnished to The IETF takes no position regarding the validity or scope of any
others, and derivative works that comment on or otherwise explain it Intellectual Property Rights or other rights that might be claimed
or assist in its implementation may be prepared, copied, published to pertain to the implementation or use of the technology
and distributed, in whole or in part, without restriction of any described in this document or the extent to which any license
kind, provided that the above copyright notice and this paragraph are under such rights might or might not be available; nor does it
included on all such copies and derivative works. However, this represent that it has made any independent effort to identify any
document itself may not be modified in any way, such as by removing such rights. Information on the procedures with respect to
the copyright notice or references to the Internet Society or other rights in RFC documents can be found in BCP 78 and BCP 79.
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be Copies of IPR disclosures made to the IETF Secretariat and any
revoked by the Internet Society or its successors or assignees. 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.
This document and the information contained herein is provided on an The IETF invites any interested party to bring to its attention
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING any copyrights, patents or patent applications, or other
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING proprietary rights that may cover technology that may be required
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION to implement this standard. Please address the information to the
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF IETF at ietf-ipr@ietf.org.
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
expires 15 March 2004 expires 08 January 2005
8. Author's Addresses 8. Author's Addresses
Ram Gopal Ram Gopal
Nokia Research Center Nokia Research Center
5 Wayside Road 5 Wayside Road
Burlington, MA 01803 Burlington, MA 01803
USA USA
email: ram.gopal@nokia.com email: ram.gopal@nokia.com
Erik Guttman Erik Guttman
Sun Microsystems Sun Microsystems
Eichhoelzelstr. 7 Eichhoelzelstr. 7
74915 Waibstadt 74915 Waibstadt
Germany Germany
Email: Erik.Guttman@sun.com Email: Erik.Guttman@sun.com
Matt Holdrege Matt Holdrege
Sonus Networks Strix Systems
223 Ximeno Avenue 26610 Agoura Road, Suite 110
Long Beach, CA 90803 Calabasas, CA, 91302
matt@sonusnet.com matt@strixsystems.com
Senthil Sengodan Senthil Sengodan
Nokia Research Center Nokia Research Center
5 Wayside Road 5 Wayside Road
Burlington, MA 01803 Burlington, MA 01803
USA USA
email: Senthil.sengodan@nokia.com email: Senthil.sengodan@nokia.com
Maureen Stillman Maureen Stillman
Nokia Nokia
 End of changes. 

This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/