Internet Engineering Task Force IEPREP Internet Draft H. Schulzrinne Columbia U. draft-ietf-ieprep-sip-reqs-00.txt August 1, 2002 Expires: January 2003 Requirements for Resource Priority Mechanisms for the Session Initiation Protocol STATUS OF THIS MEMO This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress". The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt To view the list Internet-Draft Shadow Directories, see http://www.ietf.org/shadow.html. Abstract This document summarizes requirements for prioritizing access to circuit-switched network, end system and proxy resources for emergency preparedness communications using the Session Initiation Protocol (SIP). 1 Introduction During emergencies, communications resources including telephone circuits, IP bandwidth and gateways between the circuit-switched and IP networks may become congested due to heavy usage, loss of resources caused by the disaster and attack during man-made emergencies, making it difficult for persons charged with emergency assistance, recovery or law enforcement to coordinate their efforts. H. Schulzrinne [Page 1] Internet Draft IEPREP SIP Requirements August 1, 2002 As IP networks become part of converged or hybrid networks along with public and private circuit-switched (telephone) networks, it becomes necessary to ensure that these networks can assist during such emergencies. There are many IP-based services that can assist during emergencies. This memo only covers requirements for real-time communications applications involving SIP, including voice-over-IP, multimedia conferencing and instant messaging/presence. Almost any other communications application may be useful during emergency situations. In general, these applications may benefit from network resource prioritization and thus some of the remarks and requirements may apply. However, detailed discussion and requirements are left to other documents. This document takes no position as to which mode of communication is preferred during an emergency, as such discussion appears to be of little practical value. Based on past experience, real-time communications is likely to be an important component of any overall suite of applications, particularly for coordination of emergency-related efforts. As we will describe in detail below, such SIP applications involve at least five different resources that may become scarce and congested during emergencies. In order to improve emergency response, it may become necessary to prioritize access to such resources during periods of emergency-induced resource scarcity. We call this "resource prioritization". This document describes requirements rather than possible existing or new mechanisms. Although it is scoped to deal with SIP-based applications, this should not be taken to imply that mechanisms have to be SIP protocol features such as header fields, methods or URI parameters. The document is organized as follows. In Section 2, we explain core technical terms and acronyms that are used throughout the document. [Some of these may migrate to a terminology document.] Section 3 describes the five types of resources that may be subject to resource prioritization. Section 4 enumerates four network hybrids that determine which of these resources are relevant. Since the design choices may be constrained by the assumptions placed on the IP network, Section 5 attempts to classify networks into categories according to the restrictions placed on modifications and traffic classes. Section 6 summarizes some general requirements that try to achieve generality and feature-transparency across hybrid networks. Providing resource priority entails complex implementation choices, so that a single priority mechanism is actually an algorithm that manages queues, resource consumption and existing resource uses. Even H. Schulzrinne [Page 2] Internet Draft IEPREP SIP Requirements August 1, 2002 within a single administrative domain, the combination of mechanisms is likely to vary. Since it will also depend on the interaction of different policies, it appears inappropriate to have SIP applications specify the precise mechanisms. Section 7 discusses the call-by-value (specification of mechanisms) and call-by-reference (invoke labeled policy) distinction. Request routing is a core component of SIP, covered in Section 8. Since this is a major source of confusion due to similar names, Section 9 attempts to distinguish emergency call services placed by civilians from the topic of this document. The most challenging component of a resource prioritization mechanism is likely to be security (Section 10). Without adequate security mechanisms, resource priority may cause more harm than good, so that the section attempts to enumerate some of the specific threats present when resource prioritization is being employed. 2 Terminology CN: Circuit-switched network, encompassing both private (closed) networks and the public switched telephone network (PSTN). ETS: Emergency telecommunications service, identifying a communications service to be used during large-scale emergencies that allows authorized individuals to communicate. Such communication may reach end points either within a closed network or any endpoint on the CN or the Internet. The communication service may use voice, video, text or other multimedia streams. Request: In this document, we define "request" as any SIP request. This includes call setup requests, instant message requests and event notification requests. 3 Resources Prioritized access to at least five resource types may be useful: Gateway resources: The number of channels (trunks) on a CN gateway is finite. A resource prioritization mechanism may prioritize access to these channels, by priority queuing or preemption. CN resources: Resources in the CN itself, away from the access gateway, may be congested. This is the domain of traditional prioritization mechanism such as MLPP and GETS, H. Schulzrinne [Page 3] Internet Draft IEPREP SIP Requirements August 1, 2002 where circuits are granted to ETS communications based on queueing priority or preemption. Specifying CN behavior is beyond the scope of this document, but as noted below, a central requirement is to be able to invoke all such behaviors from an IP endpoint. IP network resources: SIP may initiate voice and multimedia sessions. In many cases, audio and video streams are inelastic and have tight delay and loss requirements. Under conditions of IP network overload, emergency services applications may not be able to obtain sufficient bandwidth in a best-effort network. While quality of service mechanisms are necessary to solve this problem, this is orthogonal to SIP, out of the scope for SIP, and as such these requirements will be discussed in another document. Bandwidth used for SIP signaling itself may be subject to prioritization. Receiving end system resources: If the receiving end system can only manage a finite number of sessions, a prioritized call may need to preempt an existing call or indicate to the callee that a high-priority call is waiting. (The precise user agent behavior is beyond the scope of this document and considered a matter of policy and implementation.) Such terminating services may be needed to avoid overloading, say, an emergency coordination center. However, other mechanisms beyond prioritization, e.g., random request dropping by geographic origin, need to be employed if the number of prioritized calls exceeds the terminating capacity. Such algorithms are beyond the scope of this memo. SIP proxy resources: While SIP proxies often have large request handling capacities, their capacity is likely to be smaller than their access network bandwidth. (This is true in particular since different SIP requests consume vastly different amounts of proxy computational resources, depending on whether they invoke external services, sip-cgi [1] and CPL [2] scripts, etc. Thus, avoiding proxy overload by restricting access bandwidth is likely to lead to inefficient utilization of the proxy.) Therefore, some types of proxies may need to silently drop selected SIP requests under overload or reject requests, with overload indication. There is no requirement that a single mechanism be used for all four H. Schulzrinne [Page 4] Internet Draft IEPREP SIP Requirements August 1, 2002 resources. 4 Hybrid Networks We consider four types of combinations of IP and CN networks. IP only: Both request originator and destination are on an IP network, without intervening CN-IP gateways. Here, any SIP request could be subject to prioritization. IP-to-CN: The request originator is in the IP network, while the callee is in the CN. Clearly, this model only applies to SIP-originated phone calls, not generic SIP requests such as those supporting instant messaging services. CN-to-IP: A call originates in the CN and terminates, via a gateway, in the IP network. CN-IP-CN: This is a concatenation of the two previous ones. It is worth calling out specifically to note that the two CN sides may use different signaling protocols. Also, the originating CN endpoint and the gateway to the IP network may not know the nature of terminating CN. Thus, encapsulation of originating CN information is insufficient. It is worth emphasizing that CN-to-IP gateways are unlikely to know whether the final destination is in the IP network, the CN or, via SIP forking, in both. These models differ in the type of controllable resources, identified as gateway, CN, IP network resources and receiver. Items marked as (x) are beyond the scope of this document, as the resource is in the CN. Hybrid Gateway CN IP receiver ____________________________________ IP-only (x) x IP-to-CN x x (x) (x) CN-to-IP x (x) x CN-IP-CN x x (x) (x) 5 Network Models There are at least four IP network models that influence the requirements for resource priority. Each model inherits the restrictions of the model above it. H. Schulzrinne [Page 5] Internet Draft IEPREP SIP Requirements August 1, 2002 Pre-configured: In a pre-configured network, an ETS application can use any protocol carried in IP packets and modify the behavior of existing protocols. As an example, if an ETS agency owns the IP network, it can add traffic shaping, scheduling or support for a resource reservation protocol to routers. Transparent: In a transparent network, an ETS application can rely on the network to forward all valid IP packets, however, the ETS application cannot modify network elements. Commercial ISP offer transparent networks as long as they do not filter certain types of packets. Networks employing firewalls, NATs and "transparent" proxies are not transparent. Sometimes, these types of networks are also called common-carrier networks since they carry IP packets without concern as to their content. SIP/RTP transparent: Networks with SIP-level control allow users to place and receive SIP calls. The network allows ingress and egress for all valid SIP messages, possibly subject to authentication. Similarly, it allows RTP media streams in both directions. However, it may block, in either inbound or outbound direction, other protocols such as RSVP or it may disallow non-zero DSCPs. There are many degrees of SIP/RTP transparency, e.g., depending on whether firewalls require inspection of SDP content, thus precluding end-to- end encryption of certain SIP message bodies, or whether only outbound calls are allowed. Many corporate networks and semi-public access networks such as in hotels are likely to fall into this category. Restricted SIP networks: In restricted SIP networks, users may be restricted to particular SIP applications and cannot add SIP protocol elements such as header fields or use SIP methods beyond a proscribed set. It appears likely that 3GPP/3GPP2 networks will fall into this category, at least initially. It appears desirable that ETS users can employ the broadest possible set of networks during an emergency. Thus, it appears preferable that mechanisms work at least in SIP/RTP transparent networks and are added explicitly to restricted SIP networks. The existing GETS system is an example of an "opportunistic" network, allowing use from most unmodified telephones, while MLPP systems are typically pre-configured. 6 Requirements H. Schulzrinne [Page 6] Internet Draft IEPREP SIP Requirements August 1, 2002 In the PSTN and certain private networks, such as those run by military organizations, calls are marked in various ways to indicate priorities. Below are some requirements for such a mechanism; security requirements are discussed in Section 10. REQ-1: Not specific to one mechanism or country: The mechanism should not be specific to one country or particular priority mechanism. For example, there are currently at least four priority schemes in widespread use: Q.735, with five levels, the U.S. defense network and NATO with five levels, the United States GETS (Government Emergency Telecommunications Systems) scheme with implied higher priority and the British Government Telephone Preference Scheme (GTPS) system. REQ-2: Independent of particular network architecture: The mechanism should work in the widest variety of SIP-based systems. It should not be restricted to particular operators or types of networks, such as wireless networks or protocol profiles and dialects in certain types of networks. REQ-3: Invisible to IP network: It should be possible to use the mechanism in IP networks that are unaware of the mechanism and in restricted networks. Obviously, such networks will not be able to provide enhanced services. REQ-4: Usage of existing namespaces: Since there are a number of existing resource priority schemes for both the PSTN and private networks, it is likely that converged or VoIP networks will inherit these naming schemes. REQ-5: No loss of information: For the CN-IP-CN case, there should be no loss of signaling information caused by transiting the IP network. REQ-6: Extensibility: New naming schemes may need to be defined as resource priority mechanism are applied in additional private networks, or if a VoIP-specific priority scheme is being defined. REQ-7: Separation of indication and policy: The indication should not describe a particular detailed treatment, as it is likely that this depends on the nature of the resource and local policy. Instead, it should invoke a particular named policy. As an example, instead of specifying that a H. Schulzrinne [Page 7] Internet Draft IEPREP SIP Requirements August 1, 2002 certain SIP request should be granted queueing priority, not cause preemption, but be restricted to three-minute sessions, the requests invokes a certain named policy that may well have those properties. REQ-8: Request-neutral: The mechanism chosen should work for any SIP request, not just, say, INVITE. It is then a matter of policy as to whether marking a particular SIP request leads to differentiated treatment or whether a particular SIP request needs to request such treatment by non-SIP means. REQ-9: Default behavior: Network terminals configured to use priority scheme may occasionally end up making calls in a network that does not support such a scheme or the terminal may have an older list of priorities in a namespace. In those cases, the protocol must support a sensible default behavior that maximizes the chance for call completion without compromising network integrity. REQ-10: Address-neutral: The mechanism cannot rely on identifying a set of destination addresses or URI schemes. For example, in GETS-like schemes, the caller can reach any PSTN destination with increased probability of call completion, not just a limited set. REQ-11: Identity-independent: The user identity is insufficient to identify the priority level of the request. The same identity can issue non-prioritized requests as well as prioritized ones, with the range of priorities determined by the job function of the caller. The choice of the priority is made based on human judgement, following a set of general rules that are likely to be applied by analogy rather than precise mapping of each condition. For example, a particular circumstance may be considered similarly grave compared to one which is listed explicitly. REQ-12: Independent of network location: While some existing schemes restrict the set of priorities based on the line identity, it is recognized that future schemes should be flexible enough to avoid such reliance. Instead, a combination of authenticated user identity, user choice and policy determines the request treatment. REQ-13: Multiple simultaneous schemes: Some user agents will need to support multiple different priority schemes, as several will remain in use in networks run by different agencies and operators. (Not all user agents will have the means of authorizing callers using different schemes, and H. Schulzrinne [Page 8] Internet Draft IEPREP SIP Requirements August 1, 2002 thus may be configured at run-time to only recognize certain namespaces.) REQ-14: Discovery: A terminal should be able to discover which priority name spaces are supported by a network element. Discovery may be explicit, where a user agent requests a list of the supported name spaces or it may be implicit, where it attempts to use a particular name space and is then told that this name space is not supported. REQ-15: Testing: It must be possible to test the system outside of emergency conditions, to increase the chances that all elements work during an actual emergency. In particular, critical elements such as indication, authentication, authorization and call routing must be testable. 7 Policy and Mechanism Priority mechanisms can be roughly categorized by whether they use a priority queue for resource attempts or whether they preempt existing resource uses (e.g., calls). The choice between these mechanisms depends on the operational needs and characteristics of the network, e.g., on the number of active requests in the system and the fraction of prioritized calls. Generally, if the number of prioritized calls is small compared to the system capacity and the system capacity is large, it is likely that another call will naturally terminate in short order when a higher-priority call arrives. Thus, it is conceivable that the priority indication can cause preemption in some network entities, while elsewhere it just influences whether requests are queued instead of discarded and what queueing policy is being applied. Some namespaces may inherently imply a preemption policy, while others may be silent on whether preemption is to be used or not, leaving this to local entity policy. Similarly, the precise relationships between labels, e.g., what fraction of capacity is set aside for each priority level, is also a matter of local policy. This is similar to how differentiated services labels are handled. 8 Call Routing The routing of a SIP request, i.e., the proxies it visits and the UAs it ends up at, may depend on the fact that the SIP request is an ETS request. Compared to a non-ETS request for the same destination, the set of destinations may include UAs that are only supporting ETS service H. Schulzrinne [Page 9] Internet Draft IEPREP SIP Requirements August 1, 2002 9 Relationship to Emergency Call Services The resource priority mechanisms are used to have selected individuals place calls with elevated priority during times when the network is suffering from an emergency-induced shortage of resources. Generally, calls for emergency help placed by non-officials (e.g., "911" and "112" calls) do not need resource priority under normal circumstances. If such emergency calls are placed during emergency- induced network resource shortages, the call identifier itself is sufficient to identify the emergency nature of the call. Adding an indication of resource priority may be less appropriate, as this would require that all such calls carry this indicator. Also, it opens another attack mechanism, where non-emergency calls are marked as emergency calls. (If the entity can recognize the request URI as an emergency call, it would not need the resource priority mechanism.) 10 Security Requirements Any resource priority mechanism can be abused to obtain resources and thus deny service to other users. While the indication itself does not have to provide separate authentication, any SIP request carrying such information has more rigorous authentication requirements than regular requests. Below, we describe authentication and authorization aspects, confidentiality and privacy requirements, protection against denial of service attacks and anonymity requirements. Additional discussion can be found in [3]. 10.1 Authentication and Authorization SEC-1: More rigorous: Prioritized access to network and end system resources imposes particularly stringent requirements on authentication and authorization mechanisms since access to prioritized resources may impact overall system stability and performance, not just result in theft of, say, a single phone call. The authentication and authorization requirements for ETS calls are, in particular, much stronger than for emergency calls (112, 911), where wide access is the design objective, sacrificing caller identification if necessary. SEC-2: Attack protection: Under certain emergency conditions, the network infrastructure, including its authentication and authorization mechanism, may be under attack. Thus, authentication and authorization must be able to survive such attacks and defend the resources against these attacks. H. Schulzrinne [Page 10] Internet Draft IEPREP SIP Requirements August 1, 2002 SEC-3: Independent of mechanism: Any indication of the resource priority mechanism must be independent of the authentication mechanism, since end systems will impose different constraints on the applicable authentication mechanisms. For example, some end systems may only allow user input via a 12-digit keypad, while others may have the ability to acquire biometrics or read smartcards. SEC-4: Non-trusted end systems: Since ETS users may use devices that are not their own, systems should support authentication mechanisms that do not require the user to reveal her secret to the device. SEC-5: Subversion of authentication infrastructure: Attackers may attempt to subvert the ETS infrastructure by overloading it with authentication attempts. Thus, mechanisms to delegate authentication and to authenticate as early as possible are required. In particular, the number of packets and the amount of other resources such as computation or storage that an unauthorized user can consume needs to be minimized. In general, unauthorized users must not be able to block CN resources, as they are likely to be more scarce than packet resources. This implies that authentication and authorization must take place on the IP network side rather than using, say, a CN circuit to authenticate oneself via a DTMF sequence. Given the urgency during emergency events, normal statistical fraud detection may be less effective, thus placing a premium on reliable authentication. SEC-6: Replay: The authentication mechanisms must be resistant to replay attacks. SEC-7: Cut-and-paste: The authentication mechanisms must be resistant to cut-and-paste attacks. SEC-8: Bid-down: The authentication mechanisms must be resistant to bid down attacks. 10.2 Confidentiality and Integrity SEC-9: Confidentiality: All aspects of ETS are likely to be sensitive and must be protected from intercept and alteration. In particular, requirements for protecting the confidentiality of communications relationships may be higher than for normal commercial service. For SIP, the To, From, Organization, Subject, Priority and Via header fields H. Schulzrinne [Page 11] Internet Draft IEPREP SIP Requirements August 1, 2002 are examples of particularly sensitive information. SEC-10: Avoid exposing nature of request: In some circumstances, unauthorized users must not be able to discern that a particular request is using a resource priority mechanism, as that may reveal sensitive information about the nature of the request to the attacker. 10.3 Anonymity SEC-11: Anonymity: For the reasons noted earlier, users have to authenticate themselves towards the network carrying the request. The authentication may be based on capabilities and noms, not necessarily their civil name. Clearly, they may remain anonymous towards the request destination, using the network-asserted identity and general privacy mechanisms [4,5]. 10.4 Denial-of-Service Attacks SEC-12: Denial-of-service: ETS systems are likely to be subject to deliberate denial-of-service attacks during certain types of emergencies. DOS attacks may be launched on the network itself as well as its authentication and authorization mechanism. SEC-13: Minimize resource use by unauthorized users: Systems should minimize the amount of state, computation and network resources that an unauthorized user can command. SEC-14: Avoid amplification: The system must not amplify attacks by causing the transmission of more than one packet to a network address whose reachability has not been verified. 11 Acknowledgements Fred Baker, Scott Bradner, Ken Carlberg, Rohan Mahy and James Polk provided helpful comments. 12 Bibliography [1] J. Lennox, H. Schulzrinne, and J. Rosenberg, "Common gateway interface for SIP," RFC 3050, Internet Engineering Task Force, Jan. 2001. [2] J. Lennox and H. Schulzrinne, "CPL: A language for user control of internet telephony services," Internet Draft, Internet Engineering Task Force, Nov. 2001. Work in progress. H. Schulzrinne [Page 12] Internet Draft IEPREP SIP Requirements August 1, 2002 [3] I. Brown, "A security framework for emergency communications," Internet Draft, Internet Engineering Task Force, June 2002. Work in progress. [4] J. Peterson, "A privacy mechanism for the session initiation protocol (SIP)," Internet Draft, Internet Engineering Task Force, June 2002. Work in progress. [5] M. Watson, "Short term requirements for network asserted identity," Internet Draft, Internet Engineering Task Force, June 2002. Work in progress. 13 Authors' Address Henning Schulzrinne Dept. of Computer Science Columbia University 1214 Amsterdam Avenue New York, NY 10027 USA electronic mail: schulzrinne@cs.columbia.edu H. Schulzrinne [Page 13]