Internet-Draft | RPH Values for Emergency Services | November 2020 |
Dolly & Wendt | Expires 6 May 2021 | [Page] |
This document adds new assertion values for a Resource Priority Header ("rph") claim and a new SIP Priority Header claim ("sph") for protection of the "psap-callback" value as part of the "rph" PASSporT extension, in support of the security of Emergency Services Networks for emergency call origination and callback.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
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."¶
This Internet-Draft will expire on 6 May 2021.¶
Copyright (c) 2020 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.¶
Personal Assertion Token (PASSporT) Extension for Resource Priority Authorization [RFC8443] extended the Personal Assertion Token (PASSporT) specification defined in [RFC8225] to allow the inclusion of cryptographically signed assertions of authorization for the values populated in the Session Initiation Protocol (SIP) "Resource-Priority" header field [RFC4412]. [I-D.rosen-stir-emergency-calls] introduces the need and justification for the protection of both the SIP "Resource-Priority" and "Priority" header fields, used for categorizing the priority use of the call in the telephone network, specifically for emergency calls.¶
Compromise of the SIP "Resource-Priority" or "Priority" header fields could lead to misuse of network resources (i.e., during congestion scenarios), impacting the application services supported using the SIP "Resource-Priority" header field and the handling of Public Saftey Answering Point (PSAP) callbacks.¶
[RFC8225] allows extensions by which an authority on the originating side verifying the authorization of a particular communication for the SIP "Resource-Priority" header field or the SIP "Priority" header field can use PASSPorT claims to cryptographically sign the information associated with either the SIP "Resource-Priority" or "Priority" header field and convey assertion of those values by the signing party authorization. A signed SIP "Resource-Priority" or "Priority" header field will allow a receiving entity (including entities located in different network domains/boundaries) to verify the validity of assertions to act on the information with confidence that the information has not been spoofed or compromised.¶
This document adds new "auth" array key values for a Resource Priority Header ("rph") claim defined in [RFC8443], in support of Emergency Services Networks for emergency call origination and callback. This document additionally defines a new PASSporT claim, "sph", including protection of the SIP Priority header for the indication of an emergency service call-back assigned the value "psap-callback" as defined in [RFC7090]. The use of the newly defined claim and key values corresponding to the SIP 'Resource-Priority' and 'Priority' header fields for emergency services is introduced in [I-D.rosen-stir-emergency-calls] but otherwise out-of-scope of this document. In addition, the PASSPorT claims and values defined in this document are intended for use in environments where there are means to verify that the signer of the SIP 'Resource-Priority' and 'Priority' header fields is authoritative.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
This specification defines the ability to sign the SIP Resource-Priority Header field namespace for local emergency communications defined in [RFC7135] and represented by the string "esnet.x" where x is the priority-level allowed in the esnet namespace. As of the writing of this specification the priority-level is between 0 and 4, but may be extended by future specifications.¶
Similar to the values allowed by [RFC8443] for the "auth" JSON object key inside the "rph" claim, the string "esnet.x" with the appropriate value should be used when resource priority is required for local emergency communications corresponding and exactly matching the SIP Resource-Priority header string representing the namespace invoked in the call.¶
When using "esnet.x" as the "auth" assertion value in emergency service destined calls, the "orig" claim of the PASSporT MUST represent the calling party number that initiates the call to emergency services. The "dest" claim MUST either be a country or region specific dial string (e.g., "911" for North America or "112" GSM defined string used in Europe and other countries) or "urn:service:sos" as defined in [RFC5031], representing the emergency services destination of the call.¶
The following is an example of an "rph" claim for SIP 'Resource-Priority' header field with an "esnet.1" assertion:¶
{ "orig":{"tn":“12155551212"}, "dest":{"uri":["urn:service:sos"]}, "iat":1443208345, "rph":{"auth":["esnet.1"]} }¶
For emergency services callbacks, the "orig" claim of the "rph" PASSporT MUST represent the Public Saftey Answering Point (PSAP) telephone number. The "dest" claim MUST be the telephone number representing the original calling party of the emergency service call that is being called back.¶
The following is an example of an "rph" claim for SIP 'Resource-Priority' header field with a "esnet.0" assertion:¶
{ "orig":{"tn":"12155551213"}, "dest":{"tn":["12155551212"]}, "iat":1443208345, "rph":{"auth":["esnet.0"]} }¶
After the header and claims PASSporT objects have been constructed, their signature is generated normally per the guidance in [RFC8225] using the full form of PASSPorT. The credentials (i.e., Certificate) used to create the signature must have authority over the namespace of the "rph" claim, and there is only one authority per claim. The authority MUST use its credentials associated with the specific service supported by the resource priority namespace in the claim. If r-values are added or dropped by the intermediaries along the path, the intermediaries must generate a new "rph" header and sign the claim with their own authority.¶
As defined in [RFC7090] the SIP Priority header may be set to the value "psap-callback" for emergency services callback calls. Because some SIP networks may act on this value and provide priority or other special routing based on this value, it is important to protect and validate the authoritative use associated with it.¶
Therefore, we define a new claim key as part of the "rph" PASSporT, "sph". This is an optional claim that MUST only be used only with an "auth" claim with an "esnet.x" value indicating an authorized emergency callback call and corresponding to a SIP Priority header with the value "psap-callback".¶
The value of the "sph" claim key should only be "psap-callback" which MUST match the SIP Priority header field value for authorized emergency services callbacks. If the value is anything other than "psap-callback", the PASSporT validation MUST be considered a failure case.¶
Note: Because the intended use of this specification is only for emergency services, there is also an explicit assumption that the signer of the "rph" PASSporT can authoritatively represent both the content of the Resource Priority Header and Priority Header information associated specifically with a emergency services callback case where both could exist. This document is not intended to be a general mechanism for protecting SIP Priority Header fields, this could be accomplished as part of future work with a new PASSporT extension or new claim added to either an existing PASSporT or PASSporT extension usage.¶
The following is an example of an "sph" claim for SIP 'Priority' header field with the value "psap-callback":¶
{ "orig":{"tn":"12155551213"}, "dest":{"tn":["12155551212"]}, "iat":1443208345, "rph":{"auth":["esnet.0"]}, "sph":"psap-callback" }¶
The order of the claim keys MUST follow the rules of [RFC8225] Section 9; the claim keys MUST appear in lexicographic order. Therefore, the claim keys discussed in this document appear in the PASSporT Payload in the following order,¶
The use of the compact form of PASSporT is not specified in this document or recommended for 'rph' PASSporTs.¶
The authors would like to thank Brian Rosen, Terry Reese, and Jon Peterson for helpful suggestions, comments, and corrections.¶
The security considerations discussed in [RFC8224], Section 12, are applicable here.¶