<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>

<!DOCTYPE rfc SYSTEM "rfc2629.dtd"[
  <!ENTITY rfc2119 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml'>
  <!ENTITY rfc3693 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3693.xml'>
]>

<?rfc strict="yes" ?>   
<?rfc comments="yes" ?> 
<?rfc inline="yes" ?>   
<?rfc editing="no" ?>   
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes" ?>
<?rfc rfcedstyle="yes"?>
<?rfc subcompact="no" ?>

<rfc number="5069" category="info">
    <front>
        <title abbrev="ECRIT Security Requirements">Security Threats and Requirements for Emergency
            Call Marking and Mapping</title>
        <author role="editor" fullname="Tom Taylor" initials="T." surname="Taylor">
            <organization>Nortel</organization>
            <address>
                <postal>
                    <street>1852 Lorraine Ave</street>
                    <city>Ottawa</city>
                    <region>Ontario</region>
                    <code>K1H 6Z8</code>
                    <country>Canada</country>
                </postal>
                <email>tom.taylor@rogers.com</email>
            </address>
        </author>
        <author initials="H." surname="Tschofenig" fullname="Hannes Tschofenig">
            <organization abbrev="Nokia Siemens Networks">Nokia Siemens Networks</organization>
            <address>
                <postal>
                    <street>Otto-Hahn-Ring 6</street>
                    <city>Munich</city>
                    <region>Bavaria</region>
                    <code>81739</code>
                    <country>Germany</country>
                </postal>
                <email>Hannes.Tschofenig@nsn.com</email>
                <uri>http://www.tschofenig.com</uri>
            </address>
        </author>
        <author initials="H." surname="Schulzrinne" fullname="Henning Schulzrinne">
            <organization>Columbia University</organization>
            <address>
                <postal>
                    <street>Department of Computer Science</street>
                    <street>450 Computer Science Building</street>
                    <city>New York</city>
                    <region>NY</region>
                    <code>10027</code>
                    <country>US</country>
                </postal>
                <phone>+1 212 939 7004</phone>
                <email>hgs+ecrit@cs.columbia.edu</email>
                <uri>http://www.cs.columbia.edu</uri>
            </address>
        </author>
        <author fullname="Murugaraj Shanmugam" initials="M." surname="Shanmugam">
            <organization abbrev="Detecon">Detecon International GmbH</organization>
            <address>
                <postal>
                    <street>Oberkasseler str 2</street>
                    <city>Bonn</city>
                    <region>NRW</region>
                    <code>53227</code>
                    <country>Germany</country>
                </postal>
                <email>murugaraj.shanmugam@detecon.com</email>
            </address>
        </author>
        <date month="August" year="2007"/>
        <area>Real-time Applications and Infrastructure</area>
        <workgroup>ECRIT</workgroup>
        <keyword>emergency</keyword>
        <keyword>security requirements</keyword>
        <abstract>
            <t>This document reviews the security threats associated with the marking of signalling
                messages to indicate that they are related to an emergency, and the process of
                mapping locations to Universal Resource
Identifiers (URIs) that point to Public
                Safety Answering Points (PSAPs). This mapping occurs as part of the process of
                routing emergency calls through the IP network. </t>
            <t>Based on the identified threats, this document establishes a set of security
                requirements for the mapping protocol and for the handling of emergency-marked
                calls.</t>
        </abstract>
    </front>
    <middle>
        <section anchor="introduction" title="Introduction">
            <t> Legacy telephone network users can summon help for
emergency services (such as an
                ambulance, the fire department, and the police) using a well known number (e.g., 911 in North America,
                112 in Europe). A key factor in the handling of such calls is the ability of the
                system to determine caller location and to route the call to the appropriate Public
                Safety Answering Point (PSAP) based on that location. With the introduction of
                IP-based telephony and multimedia services, support for emergency calling via the
                Internet also has to be provided. As one of the steps to achieve this, an emergency
                marker is being defined that can be attached to call signalling to indicate that the
                call relates to an emergency. In addition, a protocol is being developed to allow a
                client entity to submit a location and receive a URI pointing to the applicable PSAP
                for that location. </t>

            <t> Attacks against the Public Switched Telephone Network
(PSTN) have taken place for decades. The Internet is seen as an
                even more hostile environment. Thus, it is important to understand the types of
                attacks that might be mounted against the infrastructure providing emergency
                services and to develop security mechanisms to counter those attacks. While this
                can be a broad topic, the present document restricts itself to attacks on the
                mapping of locations to PSAP URIs and attacks based on emergency marking.
                Verification of the truthfulness of a reported incident by the PSAP operator and
                various other attacks against the PSAP infrastructure related to the usage of faked
                location information are outside the scope of the document. </t>

            <t>This document is organized as follows: <xref target="terminology"/> describes basic
                terminology. <xref target="sysdesc"/> briefly describes how emergency marking and
                mapping fit within the process of routing emergency calls. <xref target="motivation"
                /> describes some motivations of attackers in the context of emergency calling,
                    <xref target="threats"/> describes and illustrates the attacks that might be
                used, and <xref target="reqts"/> lists the security-related requirements that must
                be met if these attacks are to be mitigated.</t>
        </section>

        <!-- introduction -->

        <section anchor="terminology" title="Terminology">

            <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD
                NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as
                described in <xref target="RFC2119"/>, with the qualification that unless otherwise
                stated, they apply to the design of the mapping protocol, not its implementation or
                application.</t>

            <t>The terms "call taker", "mapping service", "emergency caller", "emergency identifier",
                "mapping", "mapping client", "mapping server", "mapping protocol", and "Public Safety
                Answering Point (PSAP)" are taken from <xref target="RFC5012"/>. </t>

            <t> The term "location information" is taken from RFC 3693 <xref target="RFC3693"/>.</t>

            <t>The term "emergency caller's device" designates the IP host closest to the emergency
                caller in the signalling path between the emergency caller and the PSAP. Examples
                include an IP phone running SIP, H.323, or a proprietary signalling protocol, a PC
                running a soft client or an analogue terminal adapter, or a residential gateway
                controlled by a softswitch.</t>

        </section>
        <!-- terminology -->

        <section anchor="sysdesc" title="Marking, Mapping, and the Emergency Call Routing Process">

            <t> This memo deals with two topics relating to the routing of emergency calls to their
                proper destination: call marking and mapping. </t>

            <section anchor="marking" title="Call Marking">
                <t> Marking of call signalling enables entities along the signalling path to
                    recognize that a particular signalling message is associated with an emergency
                    call. Signalling containing the emergency identifier may be given priority
                    treatment, special processing, and/or special routing. </t>
            </section>
            <!-- marking -->

            <section anchor="mapping" title="Mapping">

                <t> An important goal of emergency call routing is to ensure that any emergency call
                    is routed to a PSAP. Preferably, the call is routed to the PSAP responsible for
                    the caller's location, since misrouting consumes valuable time while the call
                    taker locates and forwards the call to the right PSAP. As described in <xref
                        target="RFC5012"/>, mapping is part of the process of
                    achieving this preferable outcome. </t>

                <t> In brief, mapping involves a mapping client, a mapping server, and the protocol
                    that passes between them. The protocol allows the client to pass location
                    information to the mapping server and to receive back a URI, which can be used to
                    direct call signalling to a PSAP. </t>

                <t> Since mapping requires location information for input, when and where the
                    location information is acquired imposes constraints upon when mapping can be
                    done and which devices can act as mapping clients. The key distinction in "when"
                    is before the emergency or during the emergency. The key distinction in "where"
                    is at the emergency caller's device or at another device in the signalling path
                    between the emergency caller and the PSAP. The mapping client can be the device
                    that acquires the location information or any device downstream of that point.
                    It is even possible for a PSAP itself to initiate mapping to determine whether
                    an arriving call should be handled by a call taker at that PSAP or should be
                    proxied to another PSAP. </t>
            </section>
            <!-- mapping -->

        </section>
        <!-- sysdesc -->


        <section anchor="motivation" title="Objectives of Attackers">

            <t>Attackers may direct their efforts either against a portion of the emergency response
                system or against an individual. Attacks against the emergency response system have
                three possible objectives:</t>
            <t>
                <list style="symbols">
                    <t>to deny system services to all users in a given area. The motivation may
                        range from thoughtless vandalism, to wide-scale criminality, to terrorism.
                        One interesting variant on this motivation is the case where a victim of a
                        large emergency hopes to gain faster service by blocking others' competing
                        calls for help. </t>
                    <t>to gain fraudulent use of services, by using an emergency identifier to
                        bypass normal authentication, authorization, and accounting procedures.</t>
                    <t> to divert emergency calls to non-emergency
sites. This is a form of a denial-of-service attack similar to the
first item, but quite likely more confusing 
                        for the caller itself since it expects to talk to a PSAP operator but
                        instead gets connected to someone else.</t>
                </list>
            </t>
            <t>Attacks against an individual fall into two classes:</t>
            <t>
                <list style="symbols">
                    <t>attacks to prevent an individual from receiving aid.</t>
                    <t>attacks to gain information about an emergency that can be applied either
                        against an individual involved in that emergency or to the profit of the
                        attacker.</t>
                </list>
            </t>

        </section>
        <!-- motivation -->



        <section anchor="threats" title="Potential Attacks">

            <section anchor="eidthreat" title="Attacks Involving the Emergency Identifier">

                <t>The main attack possibility involving the emergency identifier is to use it to
                    bypass normal procedures in order to achieve fraudulent use of services. An
                    attack of this sort is possible only if the following conditions are true:</t>
                <t>
                    <list style="letters">
                        <t>The attacker is the emergency caller.</t>
                        <t>The call routing system assumes that the emergency caller's device
                            signals the correct PSAP URI for the caller's location.</t>
                        <t>The call enters the domain of a service provider, which accepts it
                            without applying normal procedures for authentication and authorization
                            because the signalling carries the emergency identifier.</t>
                        <t>The service provider routes the call according to the called address (e.g., SIP
                            Request-URI), without verifying that this is the address of a PSAP
                            (noting that a URI by itself does not indicate the nature of the entity
                            it is pointing to).</t>
                    </list>
                </t>

                <t>If these conditions are satisfied, the attacker can bypass normal service
                    provider authorization procedures for arbitrary destinations, simply by
                    reprogramming the emergency caller's device to add the emergency identifier to
                    non-emergency call signalling. In this case, the
call signalling most likely will not include any location
information, or there could be location
                    information, but it is false. </t>

                <t>An attacker wishing to disrupt the emergency call routing system may use a
                    similar technique to target components of that system for a denial-of-service
                    attack. The attacker will find this attractive to reach components that handle
                    emergency calls only. Flooding attacks are the most likely application of the
                    technique, but it may also be used to identify target components for other
                    attacks by analyzing the content of responses to the original signalling
                    messages. </t>

            </section>
            <!-- eidthreat -->


            <section anchor="mapthreat" title="Attacks Against or Using the Mapping Process">

                <t>This section describes classes of attacks involving the mapping process that
                    could be used to achieve the attacker goals described in <xref
                        target="motivation"/>.</t>

                <section anchor="sysattack" title="Attacks Against the Emergency Response System">

                    <t>This section considers attacks intended to reduce the effectiveness of the
                        emergency response system for all callers in a given area. If the mapping
                        operation is disabled, then the emergency caller's device might not have the
                        correct PSAP URI. As a consequence, the
probability that emergency calls will be
                        routed to the wrong PSAP increases. In the worst case, the emergency
                        caller's device might not be able to obtain a PSAP URI at all. Routing to
                        the wrong PSAP has a double consequence: emergency response to the affected
                        calls is delayed, and PSAP call taker resources outside the immediate area
                        of the emergency are consumed due to the extra effort required to redirect
                        the calls. Alternatively, attacks that cause the client to receive a URI
                        that does not lead to a PSAP have the immediate effect of causing emergency
                        calls to fail. </t>

                    <t>Three basic attacks on the mapping process can
be identified: denial of service, impersonation of the mapping server,
or corruption of the mapping database. Denial of service can be achieved in several ways:</t>
                    <t>
                        <list style="symbols">
                            <t>by a flooding attack on the mapping server.</t>
                            <t>by taking control of the mapping server and either preventing it from
                                responding or causing it to send incorrect responses. or</t>
                            <t>by taking control of any intermediary node (for example, a router)
                                through which the mapping queries and
responses pass, and then using that
                                control to block them. An adversary may also attempt to modify the
                                mapping protocol signalling messages. Additionally, the adversary may
                                be able to replay past communication exchanges to fool an emergency
                                caller by returning incorrect results.</t>
                        </list>
                    </t>

                    <t>In an impersonation attack, the attacker induces the mapping client to direct
                        its queries to a host under the attacker's control rather than the real
                        mapping server, or the attacker suppresses the response from the real mapping
                        server and sends a spoofed response.</t>

                    <t>The former type of impersonation attack itself is an issue of mapping server
                        discovery rather than the mapping protocol directly. However, the
                        mapping protocol may allow impersonation to be detected, thereby preventing
                        acceptance of responses from an impersonating entity and possibly triggering
                        a more secure discovery procedure.</t>

                    <t>Corruption of the mapping database cannot be mitigated directly by mapping
                        protocol design. The mapping protocol may have a role to play in analysis of
                        which records have been corrupted, once that corruption has been detected.</t>

                    <t>Beyond these attacks on the mapping operation itself, it is possible to use
                        mapping to attack other entities. One possibility is that mapping clients
                        are misled into sending mapping queries to the target of the attack instead
                        of the mapping server. Prevention of such an attack is an operational issue
                        rather than one of protocol design. Another possible attack is where
                        the mapping server is tricked into sending responses to the target of the
                        attack through spoofing of the source address in the query. </t>

                </section>
                <!-- sysattack -->


                <section anchor="stopaid"
                    title="Attacks to Prevent a Specific Individual from Receiving Aid">

                    <t>If an attacker wishes to deny emergency service to a specific individual, the
                        mass attacks described in <xref target="sysattack"/> will obviously work
                        provided that the target individual is within the affected population.
                        Except for the flooding attack on the mapping server, the attacker can in
                        theory limit these attacks to the target, but this requires extra effort
                        that the attacker is unlikely to expend. It is more likely, if the attacker
                        is using a mass attack but does not wish it to have too broad an effect,
                        that it is used for a carefully limited period of time. </t>

                    <t>If the attacker wants to be selective, however, it may make more sense to
                        attack the mapping client rather than the mapping server. This is
                        particularly so if the mapping client is the emergency caller's device. The
                        choices available to the attacker are similar to those for denial of service
                        on the server side:</t>
                    <t>
                        <list style="symbols">
                            <t>a flooding attack on the mapping client;</t>
                            <t>taking control of any intermediary node (for example, a router)
                                through which the mapping queries and
responses pass, and then using that
                                control to block or modify them.</t>
                        </list>
                    </t>
                    <t>Taking control of the mapping client is also a logical possibility, but
                        raises no issues for the mapping protocol. </t>

                </section>
                <!-- stopaid -->

                <section anchor="infogain" title="Attacks to Gain Information about an Emergency">

                    <t>This section discusses attacks used to gain information about an emergency.
                        The attacker may be seeking the location of the caller (e.g., to effect a
                        criminal attack). Alternatively, the attacker may be seeking information
                        that could be used to link an individual (the caller or someone else
                        involved in the emergency) with embarrassing information related to the
                        emergency (e.g., "Who did the police take away just now?"). Finally, the
                        attacker could be seeking to profit from the emergency, perhaps by offering
                        his or her services (e.g., a news reporter, or
a lawyer aggressively seeking new
                        business).</t>

                    <t>The primary information that interceptions of mapping requests and responses
                        will reveal are a location, a URI identifying a PSAP, the emergency service
                        identifier, and the addresses of the mapping client and server. The location
                        information can be directly useful to an attacker if the attacker has high
                        assurance that the observed query is related to an emergency involving the
                        target. The type of emergency (fire, police, or ambulance) might also be
                        revealed by the emergency service identifier in the mapping query. The other
                        pieces of information may provide the basis for further attacks on emergency
                        call routing, but because of the time factor, are unlikely to be applicable
                        to the routing of the current call. However, if the mapping client is the
                        emergency caller's device, the attacker may gain information that allows for
                        interference with the call after it has been set up or for interception of
                        the media stream between the caller and the PSAP.</t>

                </section>
                <!-- infogain -->

            </section>
            <!-- mapthreat -->
        </section>
        <!-- threats -->


        <section anchor="reqts"
            title="Security Requirements Relating to Emergency Marking and Mapping">

            <t>This section describes the security requirements that must be fulfilled to prevent
                or reduce the effectiveness of the attacks described in <xref target="threats"/>.
                The requirements are presented in the same order as the attacks.</t>

            <t>From <xref target="eidthreat"/>:</t>

            <t>Attack A1: fraudulent calls.</t>
            <t>Requirement R1: for calls that meet conditions a) to c) of <xref target="eidthreat"
                />, the service provider's call routing entity MUST verify that the destination
                address (e.g., SIP Request-URI) presented in the call signalling is that of a PSAP. </t>

            <t>Attack A2: use of emergency identifier to probe in order to identify emergency call
                routing entities for attack by other means.</t>
            <t>Requirement: none identified, beyond the ordinary operational requirement to defend
                emergency call routing entities by means such as firewalls and, where possible,
                authentication and authorization. </t>

            <t>From <xref target="sysattack"/>:</t>

            <t>Attack A3: flooding attack on the mapping client, mapping server, or a third entity.</t>
            <t>Requirement R2: The mapping protocol MUST NOT create new opportunities for flooding
                attacks, including amplification attacks.</t>

            <t>Attack A4: insertion of interfering messages.</t>
            <t>Requirement R3: The protocol MUST permit the mapping client to verify that the
                response it receives is responding to the query it sent out.</t>

            <t>Attack A5: man-in-the-middle modification of messages.</t>
            <t>Requirement R4: The mapping protocol MUST provide integrity protection of requests
                and responses.</t>
            <t>Requirement R5: The mapping protocol or the system within which the protocol is
                implemented MUST permit the mapping client to authenticate the source of mapping
                responses.</t>

            <t>Attack A6: impersonation of the mapping server.</t>
            <t>Requirement R6: the security considerations for any discussion of mapping server
                discovery MUST address measures to prevent impersonation of the mapping server.</t>
            <t>Requirement R5 also follows from this attack. </t>

            <t>Attack A7: corruption of the mapping database.</t>
            <t>Requirement R7: the security considerations for the mapping protocol MUST address
                measures to prevent database corruption by an attacker.</t>
            <t>Requirement R8: the protocol SHOULD include information in the response that allows
                subsequent correlation of that response with internal logs that may be kept on the
                mapping server, to allow debugging of mis-directed calls. One example of a way to
                meet this requirement would be by means of an opaque parameter in the returned URI.</t>

            <t>From <xref target="stopaid"/>: no new requirements.</t>

            <t>From <xref target="infogain"/>:</t>

            <t>Attack A8: snooping of location and other information.</t>

            <t>Requirement R9: the protocol and the system within which it is implemented MUST
                maintain confidentiality of the request and response. </t>

        </section>
        <!-- reqts -->




        <section anchor="security-considerations" title="Security Considerations">
            <t>This document addresses security threats and security requirements. Therefore,
                security is considered throughout this document.</t>
        </section>


        <section anchor="iana-considerations" title="IANA Considerations">
            <t>This document does not require actions by the IANA.</t>
        </section>

        <section anchor="ack" title="Acknowledgements">
            <t>The writing of this document has been a task made difficult by the temptation to
                consider the security concerns of the entire personal emergency calling system, not
                just the specific pieces of work within the scope of the ECRIT Working Group. Hannes
                Tschofenig performed the initial security analysis for ECRIT, but it has been shaped
                since then by the comments and judgement of the ECRIT WG at large. At an earlier
                stage in the evolution of this document, Stephen Kent of the Security Directorate
                was asked to review it and provided extensive comments, which led to a complete
                rewriting of it. Brian Rosen, Roger Marshall, Andrew Newton, and most recently,
                Spencer Dawkins, Kamran Aquil, and Ron Watro have also provided detailed reviews of
                this document at various stages. The authors thank them. </t>
            <t>We would like to thank Donald Eastlake for his review on behalf of the Security
                Area Directorate and Christian Vogt for his review as part of the General Area
                Review Team.</t>
            <t>Finally, we would like to thank Jari Arkko, Jon Peterson, and Russ Housley for their IETF 
            Last Call comments.</t>
        </section>

    </middle>
    <back>
        <references title="Normative References"> &rfc2119; </references>

        <references title="Informative References"> &rfc3693; 
<reference anchor="RFC5012">
<front>
<title>
Requirements for Emergency Context Resolution with Internet
Technologies
</title>
<author initials="H" surname="Schulzrinne" fullname="Henning
Schulzrinne">
<organization/>
</author>
<author initials="R" surname="Marshall" fullname="Roger Marshall">
<organization/>
</author>
<date month="October" year="2007"/>
<abstract>
<t>
This document defines terminology and enumerates requirements for the
context resolution of emergency calls placed by the public using
voice-over-IP (VoIP) and general Internet multimedia systems, where
Internet protocols are used end-to-end.
</t>
</abstract>
</front>
<seriesInfo name="RFC" value="5012"/>
<format type="TXT"
target="http://www.ietf.org/internet-drafts/draft-ietf-ecrit-requirements-13.txt"/>
</reference>
        </references>
    </back>
</rfc>
