idnits 2.17.1 draft-ietf-repute-query-http-03.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (June 28, 2012) is 4319 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) == Missing Reference: 'TBD' is mentioned on line 196, but not defined ** Obsolete normative reference: RFC 2616 (ref. 'HTTP') (Obsoleted by RFC 7230, RFC 7231, RFC 7232, RFC 7233, RFC 7234, RFC 7235) -- No information found for draft-iet-repute-model - is the name correct? -- Possible downref: Normative reference to a draft: ref. 'I-D.REPUTE-MODEL' ** Obsolete normative reference: RFC 5785 (ref. 'WELL-KNOWN-URI') (Obsoleted by RFC 8615) Summary: 2 errors (**), 0 flaws (~~), 2 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 REPUTE Working Group N. Borenstein 3 Internet-Draft Mimecast 4 Intended status: Standards Track M. Kucherawy 5 Expires: December 30, 2012 June 28, 2012 7 Reputation Data Interchange using HTTP and JSON 8 draft-ietf-repute-query-http-03 10 Abstract 12 This document defines a mechanism to conduct queries for reputation 13 information using the Hypertext Transfer Protocol. 15 Status of this Memo 17 This Internet-Draft is submitted in full conformance with the 18 provisions of BCP 78 and BCP 79. 20 Internet-Drafts are working documents of the Internet Engineering 21 Task Force (IETF). Note that other groups may also distribute 22 working documents as Internet-Drafts. The list of current Internet- 23 Drafts is at http://datatracker.ietf.org/drafts/current/. 25 Internet-Drafts are draft documents valid for a maximum of six months 26 and may be updated, replaced, or obsoleted by other documents at any 27 time. It is inappropriate to use Internet-Drafts as reference 28 material or to cite them other than as "work in progress." 30 This Internet-Draft will expire on December 30, 2012. 32 Copyright Notice 34 Copyright (c) 2012 IETF Trust and the persons identified as the 35 document authors. All rights reserved. 37 This document is subject to BCP 78 and the IETF Trust's Legal 38 Provisions Relating to IETF Documents 39 (http://trustee.ietf.org/license-info) in effect on the date of 40 publication of this document. Please review these documents 41 carefully, as they describe your rights and restrictions with respect 42 to this document. Code Components extracted from this document must 43 include Simplified BSD License text as described in Section 4.e of 44 the Trust Legal Provisions and are provided without warranty as 45 described in the Simplified BSD License. 47 Table of Contents 49 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 50 2. Terminology and Definitions . . . . . . . . . . . . . . . . . . 3 51 2.1. Key Words . . . . . . . . . . . . . . . . . . . . . . . . . 3 52 2.2. Other Definitions . . . . . . . . . . . . . . . . . . . . . 3 53 3. Description . . . . . . . . . . . . . . . . . . . . . . . . . . 3 54 3.1. Query . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 55 3.2. Response . . . . . . . . . . . . . . . . . . . . . . . . . 5 56 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5 57 5. Security Considerations . . . . . . . . . . . . . . . . . . . . 5 58 6. Normative References . . . . . . . . . . . . . . . . . . . . . 5 59 Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . . 6 60 Appendix B. Public Discussion . . . . . . . . . . . . . . . . . . 6 61 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 6 63 1. Introduction 65 This document defines a method to query a reputation data service for 66 information about an entity, using the HyperText Transfer Protocol 67 (HTTP) as the transport mechanism and JSON as the payload format. 69 2. Terminology and Definitions 71 This section defines terms used in the rest of the document. 73 2.1. Key Words 75 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 76 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 77 document are to be interpreted as described in [KEYWORDS]. 79 2.2. Other Definitions 81 Other terms of importance in this document are defined in 82 [I-D.REPUTE-MODEL] and [I-D.REPUTE-MEDIA-TYPE]. 84 3. Description 86 3.1. Query 88 A reputation query made via [HTTP] encodes the question being asked 89 in the GET instruction of the protocol. 91 The components to the question being asked comprise the following: 93 o The subject of the query; 95 o The name of the host, or the IP address, at which the reputation 96 service is available; 98 o The name of the reputation application, i.e., the context within 99 which the query is being made; 101 o Optionally, name(s) of the specific reputation assertions or 102 attributies that are being requested. 104 The name of the application, if given, MUST be one registered with 105 IANA. A server receiving a query about an unregistered application 106 or one it does not explicitly support MUST return a 404 error code. 108 The syntax for the [URI] portion of the query is constructed using a 109 template as per [URI-TEMPLATE]. The following variables MUST be 110 available during template expansion: 112 application: The name of the application reputation in whose context 113 the request is being made. 115 scheme: The transport scheme the client will be using for the query. 117 service: The hostname or IP address being queried. 119 subject: The subject of the query. 121 Which scheme(s) can be used depends on how the reputation service 122 provider offers its services. Thus, the template could include a 123 specific scheme as a fixed string in the template, or it might offer 124 it as a variable in the template. If it is a variable, it is up to 125 the client and server to negotiate out-of-band which schemes are 126 supported for client queries. Implementers need to be aware that the 127 template could include a fixed scheme not supported by the client. 129 The following variables are OPTIONAL, but might be required by the 130 template presented for a specific service: 132 assertion: A list of one or more specific assertions of interest to 133 the client. If absent, the server MUST infer that all available 134 assertion information is being requested. 136 Other required or optional query parameters might be defined by 137 documents that register new response sets with IANA. Further, other 138 required or optional query parameters might be defined by specific 139 reputation service providers, though these are private arrangements 140 between client and server and will not be registered with IANA. 142 Authentication between reputation client and server MAY be 143 accomplished using query extensions, or MAY rely on the capabilities 144 of the transport associated with the selected URI scheme. 146 The template is retrieved by requesting the [WELL-KNOWN-URI] "repute- 147 template" from the host providing reputation service using HTTP. The 148 server SHOULD return the template in a text/plain reply. If the 149 template cannot be retrieved, the reputation query SHOULD be aborted 150 and/or retried at a later time. The server responding to the 151 template request SHOULD include an Expires field indicating a 152 duration for which the template should be considered valid by clients 153 and not re-queried. Clients SHOULD adhere to the expiration time 154 thus provided or, if none is provided, assume that the template is 155 valid for no less than one day and SHOULD NOT repeat the query. 157 For example, given the following template: 159 {scheme}://{service}/{application}/{subject}/{assertion} 161 A query about the use of the domain "example.org" in the "email-id" 162 application context to a service run at "example.com", where that 163 application declares a required "subject" parameter, requesting the 164 "SPAM" reputation assertion using HTTP to conduct the query with no 165 specific client authentication information would be formed as 166 follows: 168 http://example.com/email-id/example.org/spam 170 Matching of the attribute name(s) MUST be case-insensitive. 172 3.2. Response 174 The response is expected to be contained in a media type designed to 175 deliver reputons. An media type designed for this purpose, 176 "application/reputon+json", is defined in [I-D.REPUTE-MEDIA-TYPE]. 178 4. IANA Considerations 180 This document registers the "repute-template" well-known URI in the 181 Well-Known URI registry as defined by [WELL-KNOWN-URI], as follows: 183 URI suffix: repute-template 185 Change controller: IETF 187 Specification document(s): [this document] 189 Related information: none 191 5. Security Considerations 193 This section describes security considerations introduced by the 194 query mechanism defined here. 196 [TBD] 198 6. Normative References 200 [HTTP] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., 201 Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext 202 Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999. 204 [I-D.REPUTE-MEDIA-TYPE] 205 Borenstein, N. and M. Kucherawy, "A Media Type for 206 Reputation Interchange", draft-ietf-repute-media-type 207 (work in progress), June 2011. 209 [I-D.REPUTE-MODEL] 210 Borenstein, N. and M. Kucherawy, "A Model for Reputation 211 Interchange", draft-iet-repute-model (work in progress), 212 June 2011. 214 [KEYWORDS] 215 Bradner, S., "Key words for use in RFCs to Indicate 216 Requirement Levels", BCP 14, RFC 2119, March 1997. 218 [URI] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform 219 Resource Identifier (URI): Generic Syntax", RFC 3986, 220 January 2005. 222 [URI-TEMPLATE] 223 Gregorio, J., Fielding, R., Hadley, M., Nottingham, M., 224 and D. Orchard, "URI Template", draft-gregorio-uritemplate 225 (work in progress), September 2011. 227 [WELL-KNOWN-URI] 228 Nottingham, M. and E. Hammer-Lahav, "Defining Well-Known 229 Uniform Resource Identifiers (URIs)", RFC 5785, 230 April 2010. 232 Appendix A. Acknowledgements 234 The authors would like to thank the following for their contributions 235 to this work: Mark Nottingham, David F. Skoll, and Mykyta 236 Yevstifeyev. 238 Appendix B. Public Discussion 240 Public discussion of this set of documents takes place on the 241 domainrep@ietf.org mailing list. See 242 https://www.ietf.org/mailman/listinfo/domainrep. 244 Authors' Addresses 246 Nathaniel Borenstein 247 Mimecast 248 203 Crescent St., Suite 303 249 Waltham, MA 02453 250 USA 252 Phone: +1 781 996 5340 253 Email: nsb@guppylake.com 255 Murray S. Kucherawy 256 2063 42nd Avenue 257 San Francisco, CA 94116 258 USA 260 Email: superuser@gmail.com