idnits 2.17.1 draft-ietf-sip-acr-code-04.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** It looks like you're using RFC 3978 boilerplate. You should update this to the boilerplate described in the IETF Trust License Policy document (see https://trustee.ietf.org/license-info), which is required now. -- Found old boilerplate from RFC 3978, Section 5.1 on line 14. -- Found old boilerplate from RFC 3978, Section 5.5, updated by RFC 4748 on line 301. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 312. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 319. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 325. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- == No 'Intended status' indicated for this document; assuming Proposed Standard Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust Copyright Line does not match the current year == Line 267 has weird spacing: '...ort for the E...' -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (February 28, 2007) is 6266 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) ** Downref: Normative reference to an Informational RFC: RFC 3325 (ref. '3') ** Obsolete normative reference: RFC 4474 (ref. '5') (Obsoleted by RFC 8224) == Outdated reference: A later version (-04) exists of draft-jesske-sipping-tispan-requirements-03 == Outdated reference: A later version (-05) exists of draft-ietf-sipping-spam-03 Summary: 3 errors (**), 0 flaws (~~), 5 warnings (==), 7 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 SIP J. Rosenberg 3 Internet-Draft Cisco Systems 4 Expires: September 1, 2007 February 28, 2007 6 Rejecting Anonymous Requests in the Session Initiation Protocol (SIP) 7 draft-ietf-sip-acr-code-04 9 Status of this Memo 11 By submitting this Internet-Draft, each author represents that any 12 applicable patent or other IPR claims of which he or she is aware 13 have been or will be disclosed, and any of which he or she becomes 14 aware will be disclosed, in accordance with Section 6 of BCP 79. 16 Internet-Drafts are working documents of the Internet Engineering 17 Task Force (IETF), its areas, and its working groups. Note that 18 other groups may also distribute working documents as Internet- 19 Drafts. 21 Internet-Drafts are draft documents valid for a maximum of six months 22 and may be updated, replaced, or obsoleted by other documents at any 23 time. It is inappropriate to use Internet-Drafts as reference 24 material or to cite them other than as "work in progress." 26 The list of current Internet-Drafts can be accessed at 27 http://www.ietf.org/ietf/1id-abstracts.txt. 29 The list of Internet-Draft Shadow Directories can be accessed at 30 http://www.ietf.org/shadow.html. 32 This Internet-Draft will expire on September 1, 2007. 34 Copyright Notice 36 Copyright (C) The IETF Trust (2007). 38 Abstract 40 The Session Initiation Protocol (SIP) allows for users to make 41 anonymous calls. However, users receiving such calls have the right 42 to reject them because they are anonymous. SIP has no way to 43 indicate to the caller that the reason for call rejection was that 44 the call was anonymous. Such an indication is useful to allow the 45 call to be retried without anonymity. This specification defines a 46 new SIP response code for this purpose. 48 Table of Contents 50 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 51 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 3 52 3. Server Behavior . . . . . . . . . . . . . . . . . . . . . . . . 3 53 4. UAC Behavior . . . . . . . . . . . . . . . . . . . . . . . . . 4 54 5. 433 (Anonymity Disallowed) Definition . . . . . . . . . . . . . 5 55 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5 56 7. Security Considerations . . . . . . . . . . . . . . . . . . . . 5 57 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 6 58 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6 59 9.1. Normative References . . . . . . . . . . . . . . . . . . . 6 60 9.2. Informative References . . . . . . . . . . . . . . . . . . 7 61 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 7 62 Intellectual Property and Copyright Statements . . . . . . . . . . 8 64 1. Introduction 66 The Session Initiation Protocol (SIP) [1] allows for users to make 67 anonymous calls. In RFC 3261, this is done by including a From 68 header field whose display name has the value of "Anonymous". 69 Greater levels of anonymity were subsequently defined in RFC 3323 70 [2], which introduces the Privacy header field. The Privacy header 71 field allows a requesting UA to ask for various levels of anonymity, 72 including user level anonymity, header level anonymity, and session 73 level anonymity. RFC 3325 [3] additionally defined the P-Asserted- 74 Identity header field, used to contain an asserted identity. RFC 75 3325 also defined the 'id' value for the Privacy header field, which 76 is used to request the network to remove the P-Asserted-Identity 77 header field. 79 Though users need to be able to make anonymous calls, users that 80 receive such calls retain the right to reject the call because it is 81 anonymous. SIP does not provide a response code that allows the UAS, 82 or a proxy acting on its behalf, to explicitly indicate that the 83 request was rejected because it was anonymous. The closest response 84 code is 403 (Forbidden), which doesn't convey a specific reason. 85 While it is possible to include a reason phrase in a 403 response 86 that indicates to the human user that the call was rejected because 87 it was anonymous, that reason phrase is not useful for automata and 88 cannot be interpreted by callers that speak a different language. An 89 indication that can be understood by an automaton would allow for 90 programmatic handling, including user interface prompts, automatic 91 retries, or conversion to equivalent error codes in the Public 92 Switched Telephone Network (PSTN) when the client is a gateway. 94 To remedy this, this specification defines the 433 (Anonymity 95 Disallowed) response code. 97 2. Terminology 99 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 100 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 101 document are to be interpreted as described in RFC 2119 [4]. 103 3. Server Behavior 105 A server (generally acting on behalf of the called party, though this 106 need not be the case) MAY generate a 433 (Anonymity Disallowed) 107 response when it receives an anonymous request, and the server 108 refuses to fulfill the request because the requestor is anonymous. A 109 request SHOULD be considered anonymous when the identity of the 110 originator of the request has been explicitly withheld by the 111 originator. This occurs in any one of the following cases: 113 o The From header field contains a URI within the anonymous.invalid 114 domain. 116 o The From header field contains a display name whose value is 117 either 'Anonymous' or 'anonymous'. Note that display names make a 118 poor choice for indicating anonymity, since they are meant to be 119 consumed by humans, not automata. Thus, language variations and 120 even misspelling can cause an automaton to miss a hint in the 121 display name. Despite these problems, a check on the display name 122 is included here because RFC 3261 explicitly calls out the usage 123 of the display name as a way to declare anonymity. 125 o The request contained a Privacy header field whose value was 'id' 126 [3] or 'user'. 128 o The From or P-Asserted-Identity header field contains a URI which 129 has an explicit indication that it is anonymous. One such example 130 of a mechanism that would meet this criteria is [7]. This 131 criteria is true even if the request has a validated Identity 132 header field [5], which can be used in concert with anonymized 133 From header fields. 135 Lack of a P-Asserted-Identity header field, in and of itself, SHOULD 136 NOT be considered an indication of anonymity. Even though a Privacy 137 header field value of 'id' will cause the removal of the P-Asserted- 138 Identity header field, there is no way to differentiate this case 139 from one in which P-Asserted-Identity was not supported by the 140 originating domain. As a consequence, a request without a 141 P-Asserted-Identity is considered anonymous only when there is some 142 other indication of this, such as a From header field with a display 143 name of 'Anonymous'. 145 In addition, requests where the identity of the requestor cannot be 146 determined or validated, but it is not a consequence of an explicit 147 action on the part of the requestor, are not consider anonymous. For 148 example, if a request contains a non-anonymous From header field, 149 along with the Identity and Identity-Info header fields [5], but the 150 certificate could not be obtained from the reference in the Identity- 151 Info header field, it is not considered an anonymous request, and the 152 433 response code SHOULD NOT be used. 154 4. UAC Behavior 156 A UAC receiving a 433 (Anonymity Disallowed) MUST NOT retry the 157 request without anonymity unless it obtains confirmation from the 158 user that this is desirable. Such confirmation could be obtained 159 through the user interface, or by accessing user defined policy. If 160 the user has indicated that this is desirable, the UAC MAY retry the 161 request without requesting anonymity. Note that if the UAC were to 162 automatically retry the request without anonymity in the absence of 163 an indication from the user that this treatment is desirable, then 164 the user's expectations would not be met. Consequently, a user might 165 think they had completed a call anonymously when they are not 166 actually anonymous. 168 Receipt of a 433 response to a mid-dialog request SHOULD NOT cause 169 the dialog to terminate, and SHOULD NOT cause the specific usage of 170 that dialog to terminate [6]. 172 A UAC that does not understand or care about the specific semantics 173 of the 433 response will treat it as a 400 response. 175 5. 433 (Anonymity Disallowed) Definition 177 This response indicates that the server refused to fulfill the 178 request because the requestor was anonymous. Its default reason 179 phrase is "Anonymity Disallowed". 181 6. IANA Considerations 183 This section registers a new SIP response code according to the 184 procedures of RFC 3261. 186 RFC Number: RFC XXXX [[NOTE TO IANA: Please replace XXXX with the 187 RFC number of this specification]] 189 Response Code Number: 433 191 Default Reason Phrase: Anonymity Disallowed 193 7. Security Considerations 195 The fact that a request was rejected because it was anonymous does 196 reveal information about the called party - that the called party 197 does not accept anonymous calls. This information may or may not be 198 sensitive. If it is, a UAS SHOULD reject the request with a 403 199 instead. 201 In the Public Switched Telephone Network (PSTN), the Anonymous Call 202 Rejection (ACR) feature is commonly used to prevent unwanted calls 203 from telemarketers (also known as spammers). Since telemarketers 204 frequently withhold their identity, anonymous call rejection has the 205 desired effect in many (but not all) cases. It is important to note 206 that the response code described here is likely to be ineffective in 207 blocking SIP-based spam. The reason is that a malicious caller can 208 include a From header field and display name that is not anonymous, 209 but is meaningless and invalid. Without a Privacy header field, such 210 a request will not appear anonymous and thus not be blocked by an 211 anonymity screening service. Dealing with SIP-based spam is not a 212 simple problem. The reader is referred to [10] for a discussion of 213 the problem. 215 When anonymity services are being provided as a consequence of an 216 anonymizer function acting as a back-to-back user agent (B2BUA) [2], 217 and the anonymizer receives a 433 response, the anonymizer MUST NOT 218 retry the request without anonymization unless it has been explicitly 219 configured by the user to do so. In essence, the same rules that 220 apply to a UA in processing of a 433 response apply to a network- 221 based anonymization function, and for the same reasons. 223 8. Acknowledgements 225 This draft was motivated based on the requirements in [9], and has 226 benefited from the concepts in [8]. Thanks to Keith Drage, Paul 227 Kyzivat and John Elwell for their reviews of this document. 229 9. References 231 9.1. Normative References 233 [1] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., 234 Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP: 235 Session Initiation Protocol", RFC 3261, June 2002. 237 [2] Peterson, J., "A Privacy Mechanism for the Session Initiation 238 Protocol (SIP)", RFC 3323, November 2002. 240 [3] Jennings, C., Peterson, J., and M. Watson, "Private Extensions 241 to the Session Initiation Protocol (SIP) for Asserted Identity 242 within Trusted Networks", RFC 3325, November 2002. 244 [4] Bradner, S., "Key words for use in RFCs to Indicate Requirement 245 Levels", BCP 14, RFC 2119, March 1997. 247 [5] Peterson, J. and C. Jennings, "Enhancements for Authenticated 248 Identity Management in the Session Initiation Protocol (SIP)", 249 RFC 4474, August 2006. 251 9.2. Informative References 253 [6] Sparks, R., "Multiple Dialog Usages in the Session Initiation 254 Protocol", draft-ietf-sipping-dialogusage-06 (work in 255 progress), February 2007. 257 [7] Rosenberg, J., "Coexistence of P-Asserted-ID and SIP Identity", 258 draft-rosenberg-sip-identity-coexistence-00 (work in progress), 259 June 2006. 261 [8] Hautakorpi, J. and G. Camarillo, "Extending the Session 262 Initiation Protocol Reason Header with Warning Codes", 263 draft-hautakorpi-reason-header-for-warnings-00 (work in 264 progress), October 2005. 266 [9] Jesske, R., "Input Requirements for the Session Initiation 267 Protocol (SIP) in support for the European Telecommunications 268 Standards Institute", 269 draft-jesske-sipping-tispan-requirements-03 (work in progress), 270 June 2006. 272 [10] Jennings, C. and J. Rosenberg, "The Session Initiation Protocol 273 (SIP) and Spam", draft-ietf-sipping-spam-03 (work in progress), 274 October 2006. 276 Author's Address 278 Jonathan Rosenberg 279 Cisco Systems 280 Edison, NJ 281 US 283 Phone: +1 973 952-5000 284 Email: jdrosen@cisco.com 285 URI: http://www.jdrosen.net 287 Full Copyright Statement 289 Copyright (C) The IETF Trust (2007). 291 This document is subject to the rights, licenses and restrictions 292 contained in BCP 78, and except as set forth therein, the authors 293 retain all their rights. 295 This document and the information contained herein are provided on an 296 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 297 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND 298 THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS 299 OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF 300 THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 301 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 303 Intellectual Property 305 The IETF takes no position regarding the validity or scope of any 306 Intellectual Property Rights or other rights that might be claimed to 307 pertain to the implementation or use of the technology described in 308 this document or the extent to which any license under such rights 309 might or might not be available; nor does it represent that it has 310 made any independent effort to identify any such rights. Information 311 on the procedures with respect to rights in RFC documents can be 312 found in BCP 78 and BCP 79. 314 Copies of IPR disclosures made to the IETF Secretariat and any 315 assurances of licenses to be made available, or the result of an 316 attempt made to obtain a general license or permission for the use of 317 such proprietary rights by implementers or users of this 318 specification can be obtained from the IETF on-line IPR repository at 319 http://www.ietf.org/ipr. 321 The IETF invites any interested party to bring to its attention any 322 copyrights, patents or patent applications, or other proprietary 323 rights that may cover technology that may be required to implement 324 this standard. Please address the information to the IETF at 325 ietf-ipr@ietf.org. 327 Acknowledgment 329 Funding for the RFC Editor function is provided by the IETF 330 Administrative Support Activity (IASA).