idnits 2.17.1 draft-ietf-msgtrk-smtpext-05.txt: ** The Abstract section seems to be numbered Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Looks like you're using RFC 2026 boilerplate. This must be updated to follow RFC 3978/3979, as updated by RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** Missing expiration date. The document expiration date should appear on the first and last page. ** The document seems to lack a 1id_guidelines paragraph about Internet-Drafts being working documents. ** The document seems to lack a 1id_guidelines paragraph about the list of current Internet-Drafts -- however, there's a paragraph with a matching beginning. Boilerplate error? ** The document seems to lack a 1id_guidelines paragraph about the list of Shadow Directories -- however, there's a paragraph with a matching beginning. Boilerplate error? == No 'Intended status' indicated for this document; assuming Proposed Standard == The page length should not exceed 58 lines per page, but there was 7 longer pages, the longest (page 2) being 62 lines Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an Introduction section. == The 'Updates: ' line in the draft header should list only the _numbers_ of the RFCs which will be updated by this document (if approved); it should not include the word 'RFC' in the list. -- The draft header indicates that this document updates RFC1891, but the abstract doesn't seem to mention this, which it should. Miscellaneous warnings: ---------------------------------------------------------------------------- (Using the creation date from RFC1891, updated by this document, for RFC5378 checks: 1996-01-01) -- 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 (March 19, 2003) is 7709 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: 'RFC-MSGFMT' is mentioned on line 84, but not defined == Outdated reference: A later version (-07) exists of draft-ietf-msgtrk-model-03 ** Downref: Normative reference to an Informational draft: draft-ietf-msgtrk-model (ref. 'DRAFT-MTRK-MODEL') == Outdated reference: A later version (-12) exists of draft-ietf-msgtrk-mtqp-01 ** Obsolete normative reference: RFC 2234 (ref. 'RFC-ABNF') (Obsoleted by RFC 4234) ** Obsolete normative reference: RFC 1869 (ref. 'RFC-ESMTP') (Obsoleted by RFC 2821) -- Possible downref: Non-RFC (?) normative reference: ref. 'NIST-SHA1' ** Obsolete normative reference: RFC 2821 (ref. 'RFC-SMTP') (Obsoleted by RFC 5321) -- Obsolete informational reference (is this intentional?): RFC 1891 (ref. 'RFC-DSN-SMTP') (Obsoleted by RFC 3461) -- Obsolete informational reference (is this intentional?): RFC 2298 (ref. 'RFC-MDN') (Obsoleted by RFC 3798) -- Obsolete informational reference (is this intentional?): RFC 1750 (ref. 'RFC-RANDOM') (Obsoleted by RFC 4086) Summary: 11 errors (**), 0 flaws (~~), 6 warnings (==), 7 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Internet Draft E. Allman 3 draft-ietf-msgtrk-smtpext-05.txt Sendmail, Inc. 4 Valid for six months T. Hansen 5 Updates: RFC 1891 AT&T Laboratories 6 March 19, 2003 8 SMTP Service Extension 9 for Message Tracking 11 13 Status of This Memo 15 This document is an Internet-Draft and is in full conformance 16 with all provisions of Section 10 of RFC2026. Internet-Drafts are 17 working documents of the Internet Engineering Task Force (IETF), its 18 areas, and its working groups. Note that other groups may also 19 distribute working documents as Internet-Drafts. 21 Internet-Drafts are draft documents valid for a maximum of six 22 months and may be updated, replaced, or obsoleted by other documents 23 at any time. It is inappropriate to use Internet-Drafts as reference 24 material or to cite them other than as "work in progress." 26 The IETF takes no position regarding the validity or scope of any 27 intellectual property or other rights that might be claimed to 28 pertain to the implementation or use of the technology described in 29 this document or the extent to which any license under such rights 30 might or might not be available; neither does it represent that it has 31 made any effort to identify any such rights. Information on the 32 IETF's procedures with respect to rights in standards-track and 33 standards-related documentation can be found in BCP-11. Copies of 34 claims of rights made available for publication and any assurances of 35 licenses to be made available, or the result of an attempt made to 36 obtain a general license or permission for the use of such proprietary 37 rights by implementors or users of this specification can be obtained 38 from the IETF Secretariat. 40 The IETF invites any interested party to bring to its attention 41 any copyrights, patents or patent applications, or other proprietary 42 rights which may cover technology that may be required to practice 43 this standard. Please address the information to the IETF Executive 44 Director. 46 The list of current Internet-Drafts can be accessed at: 48 http://www.ietf.org/ietf/1id-abstracts.txt 50 The list of Internet-Draft Shadow Directories can be accessed at: 52 http://www.ietf.org/shadow.html 53 This document is a submission by the MSGTRK Working Group of the 54 Internet Engineering Task Force (IETF). Comments should be submitted 55 to the ietf-msgtrk@imc.org mailing list. An archive of the mailing 56 list may be found at 58 http://www.imc.org/ietf-msgtrk/index.html 60 Distribution of this memo is unlimited. 62 1. Abstract 64 This memo defines an extension to the SMTP service whereby a 65 client may mark a message for future tracking. 67 2. Other Documents and Conformance 69 The model used for Message Tracking is described in [DRAFT- 70 MTRK-MODEL]. 72 Doing a Message Tracking query is intended as a "last resort" 73 mechanism. Normally, Delivery Status Notifications (DSNs) [RFC- 74 DSN-SMTP] and Message Disposition Notifications (MDNs) [RFC-MDN] 75 would provide the primary delivery status. Only if the message is 76 not received, or there is no response from either of these 77 mechanisms should a Message Tracking query be issued. 79 The definition of the base64 token is imported from section 80 6.8 of [RFC-MIME]. Formally, 82 base64 = %2b / %2f / %x30-39 / %x41-5a / %x61-7a 84 The definition of the DIGIT token is imported from [RFC- 85 MSGFMT]. Formally, 87 DIGIT = %x30-39 89 Syntax notation in this document conforms to [RFC-ABNF]. 91 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL 92 NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" 93 in this document are to be interpreted as described in RFC 2119 94 [RFC-KEYWORDS]. 96 3. SMTP Extension Overview 98 The Message Tracking SMTP service extension uses the SMTP 99 service extension mechanism described in [RFC-ESMTP]. The 100 following service extension is hereby defined: 102 (1) The name of the SMTP service extension is "Message 103 Tracking". 105 (2) The EHLO keyword value associated with this extension is 106 "MTRK". 108 (3) No parameters are allowed with this EHLO keyword value. 109 Future documents may extend this specification by specifying 110 parameters to this keyword value. 112 (4) One optional parameter using the keyword "MTRK" is added to 113 the MAIL command. In addition, the ENVID parameter of the 114 MAIL command (as defined in RFC 1891 sections 5.4) MUST be 115 supported, with extensions as described below. The ORCPT 116 parameter of the RCPT command (as defined in RFC 1891 117 section 5.2) MUST also be supported. All semantics 118 associated with ENVID and ORCPT described in RFC 1891 MUST 119 be supported as part of this extension. 121 (5) The maximum length of a MAIL command line is increased by 40 122 characters by the possible addition of the MTRK keyword and 123 value. Note that the 507 character extension of RCPT 124 commands for the ORCPT parameter and the 107 character 125 extension of MAIL commands for the ENVID parameter as 126 mandated by RFC 1891 [RFC-DSN-SMTP] must also be included. 128 (6) No SMTP verbs are defined by this extension. 130 4. The Extended MAIL Command 132 The extended MAIL command is issued by an SMTP client when it 133 wishes to inform an SMTP server that message tracking information 134 should be retained for future querying. The extended MAIL command 135 is identical to the MAIL command as defined in [RFC-SMTP], except 136 that MTRK, ORCPT, and ENVID parameters appear after the address. 138 4.1. The MTRK parameter to the ESMTP MAIL command 140 Any sender wishing to request the retention of data for 141 further tracking of message must first tag that message as 142 trackable by creating two values A and B: 144 A = some-large-random-number 145 B = SHA1(A) 147 The large random number A is calculated on a host-dependent 148 basis. See [RFC-RANDOM] for a discussion of choosing good 149 random numbers. This random number MUST be at least 128 bits 150 but MUST NOT be more than 1024 bits. 152 The 128-bit hash B of A is then computed using the SHA-1 153 algorithm as described in [NIST-SHA1]. 155 The sender then base64 encodes value B and passes that 156 value as the mtrk-certifier on the MAIL command: 158 mtrk-parameter = "MTRK=" mtrk-certifier [ ":" mtrk-timeout ] 159 mtrk-certifier = base64 ; authenticator 160 mtrk-timeout = 1*9DIGIT ; seconds until timeout 162 A is stored in the originator's tracking database to 163 validate future tracking requests as described in [DRAFT-MTRK- 164 MTQP]. B is stored in tracking databases of compliant receiver 165 MTAs and used to authenticate future tracking requests. 167 The mtrk-timeout field indicates the number of seconds that 168 the client requests that this tracking information be retained 169 on intermediate servers, as measured from the initial receipt of 170 the message at that server. Servers MAY ignore this value if it 171 violates local policy. In particular, servers MAY silently 172 enforce an upper limit to how long they will retain tracking 173 data; this limit MUST be at least one day. 175 If no mtrk-timeout field is specified then the server 176 should use a local default. This default SHOULD be 8-10 days 177 and MUST be at least one day. Notwithstanding this clause, the 178 information MUST NOT be expired while the message remains in the 179 queue for this server: that is, an MTQP server MUST NOT deny 180 knowledge of a message while that same message sits in the MTA 181 queue. 183 If the message is relayed to another compliant SMTP server, 184 the MTA acting as the client SHOULD pass an mtrk-timeout field 185 equal to the remaining life of that message tracking 186 information. Specifically, the tracking timeout is decremented 187 by the number of seconds the message has lingered at this MTA 188 and then passed to the next MTA. If the decremented tracking 189 timeout is less than or equal to zero, the entire MTRK parameter 190 MUST NOT be passed to the next MTA; essentially, the entire 191 tracking path is considered to be lost at that point. 193 See [RFC-DELIVERYBY] section 4 for an explanation of why a 194 timeout is used instead of an absolute time. 196 4.2. Use of ENVID 198 To function properly, Message Tracking requires that each 199 message have a unique identifier that is never reused by any 200 other message. For that purpose, if the MTRK parameter is 201 given, an ENVID parameter MUST be included, and the syntax of 202 ENVID from RFC 1891 section 5.4 is extended as follows: 204 envid-parameter = "ENVID=" unique-envid 205 unique-envid = local-envid "@" fqhn 206 local-envid = xtext 207 fqhn = xtext 209 The unique-envid MUST be chosen in such a way that the same 210 ENVID will never be used by any other message sent from this 211 system or any other system. In most cases, this means setting 212 fqhn to be the fully qualified host name of the system 213 generating this ENVID, and local-envid to an identifier that is 214 never re-used by that host. 216 In some cases, the total length of (local-envid + fqhn + 1) 217 (for the `@' sign) may exceed the total acceptable length of 218 ENVID (100). In this case, the fqhn SHOULD be replaced by the 219 SHA1(fqhn) encoded into BASE64. After encoding, the 160 bit 220 SHA-1 will be a 27 octet string, which limits local-envid to 72 221 octets. Implementors are encouraged to use an algorithm for the 222 local-envid that is reasonably unique. For example, sequential 223 integers have a high probability of intersecting with sequential 224 integers generated by a different host, but a SHA-1 of the 225 current time of day concatenated with the host's IP address and 226 a random number are unlikely to intersect with the same 227 algorithm generated by a different host. 229 Any resubmissions of this message into the message 230 transmission system MUST assign a new ENVID. In this context, 231 "resubmission" includes forwarding or resending a message from a 232 user agent, but does not include MTA-level aliasing or 233 forwarding where the message does not leave and re-enter the 234 message transmission system. 236 4.3. Forwarding Tracking Certifiers 238 MTAs SHOULD forward unexpired tracking certifiers to 239 compliant mailers as the mail is transferred during regular hop- 240 to-hop transfers. If the "downstream" MTA is not MTRK- 241 compliant, then the MTRK= parameter MUST be deleted. If the 242 downstream MTA is DSN-compliant, then the ENVID and ORCPT 243 parameters MUST NOT be deleted. 245 If aliasing, forwarding, or other redirection of a 246 recipient occurs, and the result of the redirection is exactly 247 one recipient, then the MTA SHOULD treat this as an ordinary 248 hop-to-hop transfer and forward the MTRK=, ENVID=, and ORCPT= 249 values; these values MUST NOT be modified except for 250 decrementing the mtrk-timeout field of the MTRK= value, which 251 MUST be modified as described in section 4.1 above. 253 MTAs MUST NOT copy MTRK certifiers when a recipient is 254 aliased, forwarded, or otherwise redirected and the redirection 255 results in more than one recipient. However, an MTA MAY 256 designate one of the multiple recipients as the "primary" 257 recipient to which tracking requests shall be forwarded; other 258 addresses MUST NOT receive tracking certifiers. MTAs MUST NOT 259 forward MTRK certifiers when doing mailing list expansion. 261 5. Security Considerations 263 5.1. Denial of service 265 An attacker could attempt to flood the database of a server 266 by submitting large numbers of small, tracked messages. In this 267 case, a site may elect to lower its maximum retention period 268 retroactively. 270 5.2. Confidentiality 272 The mtrk-authenticator value (``A'') must be hard to 273 predict and not reused. 275 The originating client must take reasonable precautions to 276 protect the secret. For example, if the secret is stored in a 277 message store (e.g., a "Sent" folder), the client must make sure 278 the secret isn't accessible by attackers, particularly on a 279 shared store. 281 Many site administrators believe that concealing names and 282 topologies of internal systems and networks is an important 283 security feature. MTAs need to balance such desires with the 284 need to provide adequate tracking information. 286 In some cases site administrators may want to treat 287 delivery to an alias as final delivery in order to separate 288 roles from individuals. For example, sites implementing 289 ``postmaster'' or ``webmaster'' as aliases may not wish to 290 expose the identity of those individuals by permitting tracking 291 through those aliases. In other cases, providing the tracking 292 information for an alias is important, such as when the alias 293 points to the user's preferred public address. 295 Therefore, implementors are encouraged to provide 296 mechanisms by which site administrators can choose between these 297 alternatives. 299 6. IANA Considerations 301 IANA is to register the SMTP extension defined in section 3. 303 7. Acknowledgements 305 Several individuals have commented on and enhanced this draft, 306 including Philip Hazel, Alexey Melnikov, Lyndon Nerenberg, Chris 307 Newman, and Gregory Neil Shapiro. 309 8. Normative References 311 [DRAFT-MTRK-MODEL] 312 T. Hansen, ``Message Tracking Model and Requirements.'' 313 draft-ietf-msgtrk-model-03.txt. November 2000. 315 [DRAFT-MTRK-MTQP] 316 T. Hansen, ``Message Tracking Query Protocol.'' draft-ietf- 317 msgtrk-mtqp-01.txt. November 2000. 319 [RFC-ABNF] 320 Crocker, D., Editor, and P. Overell, ``Augmented BNF for 321 Syntax Specifications: ABNF'', RFC 2234, November 1997. 323 [RFC-ESMTP] 324 Rose, M., Stefferud, E., Crocker, D., Klensin, J. and N. 325 Freed, ``SMTP Service Extensions.'' STD 10, RFC 1869. 326 November 1995. 328 [RFC-KEYWORDS] 329 S. Bradner, ``Key words for use in RFCs to Indicate 330 Requirement Levels.'' RFC 2119. March 1997. 332 [RFC-MIME] 333 N. Freed and N. Borenstein, ``Multipurpose Internet Mail 334 Extensions (MIME) Part One: Format of Internet Message 335 Bodies.'' RFC 2045. November 1996. 337 [NIST-SHA1] 338 NIST FIPS PUB 180-1, ``Secure Hash Standard.'' National 339 Institute of Standards and Technology, U.S. Department of 340 Commerce. May 1994. DRAFT. 342 [RFC-SMTP] 343 J. Klensin, editor, ``Simple Mail Transfer Protocol.'' RFC 344 2821. April 2001. 346 9. Informational References 348 [RFC-DELIVERYBY] 349 D. Newman, ``Deliver By SMTP Service Extension.'' RFC 2852. 350 June 2000. 352 [RFC-DSN-SMTP] 353 K. Moore, ``SMTP Service Extension for Delivery Status 354 Notifications.'' RFC 1891. January 1996. 356 [RFC-MDN] 357 R. Fajman, ``An Extensible Message Format for Message 358 Disposition Notifications.'' RFC 2298. March 1998. 360 [RFC-RANDOM] 361 D. Eastlake, S. Crocker, and J. Schiller, ``Randomness 362 Recommendations for Security.'' RFC 1750. December 1994. 364 10. Authors' Addresses 366 Eric Allman 367 Sendmail, Inc. 368 6425 Christie Ave, 4th Floor 369 Emeryville, CA 94608 370 U.S.A. 372 E-Mail: eric@Sendmail.COM 373 Phone: +1 510 594 5501 374 Fax: +1 510 594 5429 375 Tony Hansen 376 AT&T Laboratories 377 Middletown, NJ 07748 378 U.S.A. 380 Phone: +1 732 420 8934 381 E-Mail: tony@att.com