draft-ietf-msgtrk-smtpext-02.txt   draft-ietf-msgtrk-smtpext-03.txt 
Internet Draft E. Allman Internet Draft E. Allman
draft-ietf-msgtrk-smtpext-02.txt Sendmail, Inc. draft-ietf-msgtrk-smtpext-03.txt Sendmail, Inc.
Valid for six months T. Hansen Valid for six months T. Hansen
Updates: RFC 1891 AT&T Laboratories Updates: RFC 1891 AT&T Laboratories
July 6, 2001 November 2, 2001
SMTP Service Extension SMTP Service Extension
for Message Tracking for Message Tracking
<draft-ietf-msgtrk-smtpext-02.txt> <draft-ietf-msgtrk-smtpext-03.txt>
Status of This Memo Status of This Memo
This document is an Internet-Draft and is in full conformance This document is an Internet-Draft and is in full conformance
with all provisions of Section 10 of RFC2026. Internet-Drafts are with all provisions of Section 10 of RFC2026. Internet-Drafts are
working documents of the Internet Engineering Task Force (IETF), its working documents of the Internet Engineering Task Force (IETF), its
areas, and its working groups. Note that other groups may also dis- areas, and its working groups. Note that other groups may also
tribute working documents as Internet-Drafts. distribute working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other documents months and may be updated, replaced, or obsoleted by other documents
at any time. It is inappropriate to use Internet-Drafts as reference at any time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at: The list of current Internet-Drafts can be accessed at:
http://www.ietf.org/ietf/1id-abstracts.txt http://www.ietf.org/ietf/1id-abstracts.txt
skipping to change at page 2, line ? skipping to change at page 2, line ?
2. Other Documents and Conformance 2. Other Documents and Conformance
The model used for Message Tracking is described in [DRAFT- The model used for Message Tracking is described in [DRAFT-
MTRK-MODEL]. MTRK-MODEL].
Doing a Message Tracking query is intended as a "last resort" Doing a Message Tracking query is intended as a "last resort"
mechanism. Normally, Delivery Status Notifications (DSNs) [RFC- mechanism. Normally, Delivery Status Notifications (DSNs) [RFC-
DSN-SMTP] and Message Disposition Notifications (MDNs) [RFC-MDN] DSN-SMTP] and Message Disposition Notifications (MDNs) [RFC-MDN]
would provide the primary delivery status. Only if the message is would provide the primary delivery status. Only if the message is
not received, or there is no response from either of these mecha- not received, or there is no response from either of these
nisms should a Message Tracking query be issued. mechanisms should a Message Tracking query be issued.
The definition of the base64 token is imported from section The definition of the base64 token is imported from section
6.8 of [RFC-MIME]. 6.8 of [RFC-MIME].
Syntax notation in this document conforms to [RFC-ABNF]. Syntax notation in this document conforms to [RFC-ABNF].
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL"
in this document are to be interpreted as described in RFC 2119 in this document are to be interpreted as described in RFC 2119
[RFC-KEYWORDS]. [RFC-KEYWORDS].
3. SMTP Extension Overview 3. SMTP Extension Overview
The Message Tracking SMTP service extension uses the SMTP ser- The Message Tracking SMTP service extension uses the SMTP
vice extension mechanism described in [RFC-ESMTP]. The following service extension mechanism described in [RFC-ESMTP]. The
service extension is hereby defined: following service extension is hereby defined:
(1) The name of the SMTP service extension is "Message Track- (1) The name of the SMTP service extension is "Message
ing". Tracking".
(2) The EHLO keyword value associated with this extension is (2) The EHLO keyword value associated with this extension is
"MTRK". "MTRK".
(3) No parameters are allowed with this EHLO keyword value. (3) No parameters are allowed with this EHLO keyword value.
Future documents may extend this specification by specifying Future documents may extend this specification by specifying
options. options.
(4) One optional parameter using the keyword "MTRK" is added to (4) One optional parameter using the keyword "MTRK" is added to
the MAIL FROM command. In addition, the ENVID and ORCPT the MAIL command. In addition, the ENVID parameter of the
parameters (as defined in RFC 1891 sections 5.4 and 5.2 MAIL command (as defined in RFC 1891 sections 5.4) MUST be
respectively) MUST be supported, with extensions as supported, with extensions as described below. The ORCPT
described below. parameter of the RCPT command (as defined in RFC 1891
section 5.2) MUST also be supported.
(5) The maximum length of a MAIL FROM command line is increased (5) The maximum length of a MAIL command line is increased by 40
by 40 characters by the possible addition of the MTRK key- characters by the possible addition of the MTRK keyword and
word and value. Note that a further extension of 614 char- value. Note that the 507 character extension of RCPT
acters for the ORCPT and ENVID parameters is required by commands for the ORCPT parameter and the 107 character
[RFC-DSN-EXT]. extension of MAIL commands for the ENVID parameter as
mandated by RFC 1891 [RFC-DSN-SMTP] must also be included.
(6) No SMTP verbs are defined by this extension. (6) No SMTP verbs are defined by this extension.
4. The Extended MAIL FROM Command 4. The Extended MAIL Command
The extended MAIL FROM command is issued by an SMTP client The extended MAIL command is issued by an SMTP client when it
when it wishes to inform an SMTP server that message tracking wishes to inform an SMTP server that message tracking information
information should be retained for future querying. The extended should be retained for future querying. The extended MAIL command
MAIL FROM command is identical to the MAIL FROM command as defined is identical to the MAIL command as defined in [RFC-SMTP], except
in [RFC-SMTP], except that MTRK, ORCPT, and ENVID parameters appear that MTRK, ORCPT, and ENVID parameters appear after the address.
after the address.
4.1. The MTRK parameter to the ESMTP MAIL command 4.1. The MTRK parameter to the ESMTP MAIL command
Any sender wishing to track a message must first tag that Any sender wishing to request the retention of data for
message as trackable by creating two values A and B: further tracking of message must first tag that message as
trackable by creating two values A and B:
A = some-large-random-number A = some-large-random-number
B = SHA1(A) B = SHA1(A)
The large random number A is calculated on a host-dependent The large random number A is calculated on a host-dependent
basis. See [RFC-RANDOM] for a discussion of choosing good ran- basis. See [RFC-RANDOM] for a discussion of choosing good
dom numbers. This random number MUST be at least 128 bits but random numbers. This random number MUST be at least 128 bits
MUST NOT be more than 1024 bits. but MUST NOT be more than 1024 bits.
The 128-bit hash B of A is then computed using the SHA-1 The 128-bit hash B of A is then computed using the SHA-1
algorithm as described in [NIST-SHA1]. algorithm as described in [NIST-SHA1].
The sender then base64 encodes value B and passes that The sender then base64 encodes value B and passes that
value as the mtrk-certifier on the MAIL FROM command: value as the mtrk-certifier on the MAIL command:
mtrk-parameter = "MTRK=" mtrk-certifier [ ":" mtrk-timeout ] mtrk-parameter = "MTRK=" mtrk-certifier [ ":" mtrk-timeout ]
mtrk-certifier = base64 ; authenticator mtrk-certifier = base64 ; authenticator
mtrk-timeout = 1*9digit ; seconds until timeout mtrk-timeout = 1*9digit ; seconds until timeout
A is stored in the originator's tracking database to vali- A is stored in the originator's tracking database to
date future tracking requests as described in [DRAFT-MTRK-MTQP]. validate future tracking requests as described in [DRAFT-MTRK-
B is stored in tracking databases of compliant MTAs and used to MTQP]. B is stored in tracking databases of compliant receiver
authenticate future tracking requests. MTAs and used to authenticate future tracking requests.
The mtrk-timeout field indicates the number of seconds that The mtrk-timeout field indicates the number of seconds that
the client requests that this tracking information be retained the client requests that this tracking information be retained
on intermediate servers, as measured from the initial receipt of on intermediate servers, as measured from the initial receipt of
the message at that server. Servers MAY ignore this value if it the message at that server. Servers MAY ignore this value if it
violates local policy. In particular, servers MAY silently violates local policy. In particular, servers MAY silently
enforce an upper limit to how long they will retain tracking enforce an upper limit to how long they will retain tracking
data; this limit MUST be at least one day. data; this limit MUST be at least one day.
If no mtrk-timeout field is specified then the server If no mtrk-timeout field is specified then the server
should use a local default. This default SHOULD be 8-10 days should use a local default. This default SHOULD be 8-10 days
and MUST be at least one day. Notwithstanding this clause, the and MUST be at least one day. Notwithstanding this clause, the
information MUST NOT be expired while the message remains in the information MUST NOT be expired while the message remains in the
queue for this server: that is, an MTQP server MUST NOT deny queue for this server: that is, an MTQP server MUST NOT deny
knowledge of a message while that same message sits in the MTA knowledge of a message while that same message sits in the MTA
queue. queue.
If the message is relayed to another compliant SMTP server, If the message is relayed to another compliant SMTP server,
the MTA acting as the client SHOULD pass an mtrk-timeout field the MTA acting as the client SHOULD pass an mtrk-timeout field
equal to the remaining life of that message tracking informa- equal to the remaining life of that message tracking
tion. Specifically, the tracking timeout is decremented by the information. Specifically, the tracking timeout is decremented
number of seconds the message has lingered at this MTA and then by the number of seconds the message has lingered at this MTA
passed to the next MTA. If the decremented tracking timeout is and then passed to the next MTA. If the decremented tracking
less than or equal to zero, the entire MTRK parameter MUST NOT timeout is less than or equal to zero, the entire MTRK parameter
be passed to the next MTA; essentially, the entire tracking path MUST NOT be passed to the next MTA; essentially, the entire
is considered to be lost at that point. tracking path is considered to be lost at that point.
See [RFC-DELIVERYBY] section 4 for an explanation of why a See [RFC-DELIVERYBY] section 4 for an explanation of why a
timeout is used instead of an absolute time. timeout is used instead of an absolute time.
4.2. Use of ENVID 4.2. Use of ENVID
To function properly, Message Tracking requires that each To function properly, Message Tracking requires that each
message have a unique identifier that is never reused by any message have a unique identifier that is never reused by any
other message. For that purpose, if the MTRK parameter is other message. For that purpose, if the MTRK parameter is
given, an ENVID parameter MUST be included, and the syntax of given, an ENVID parameter MUST be included, and the syntax of
ENVID from RFC 1891 section 5.4 is extended as follows: ENVID from RFC 1891 section 5.4 is extended as follows:
envid-parameter = "ENVID=" unique-envid envid-parameter = "ENVID=" unique-envid
unique-envid = local-envid "@" fqhn unique-envid = local-envid "@" fqhn
local-envid = xtext local-envid = xtext
fqhn = xtext fqhn = xtext
The unique-envid MUST be chosen in such a way that the same The unique-envid MUST be chosen in such a way that the same
ENVID will never be used by any other message sent from this ENVID will never be used by any other message sent from this
system or any other system. In most cases, this means setting system or any other system. In most cases, this means setting
fqhn to be the fully qualified host name of the system generat- fqhn to be the fully qualified host name of the system
ing this ENVID, and local-envid to an identifier that is never generating this ENVID, and local-envid to an identifier that is
re-used by that host. never re-used by that host.
Any resubmissions of this message into the message trans- In some cases, the total length of (local-envid + fqhn + 1)
mission system MUST assign a new ENVID. In this context, (for the `@' sign) may exceed the total acceptable length of
ENVID (100). In this case, the fqhn SHOULD be replaced by the
SHA1(fqhn) encoded into BASE64. After encoding, the 160 bit
SHA-1 will be a 27 octet string, which limits local-envid to 72
octets. Implementors are encouraged to use an algorithm for the
local-envid that is reasonably unique. For example, sequential
integers have a high probability of intersecting with sequential
integers generated by a different host, but a SHA-1 of the
current time of day concatenated with the host's IP address and
a random number are unlikely to intersect with the same
algorithm generated by a different host.
Any resubmissions of this message into the message
transmission system MUST assign a new ENVID. In this context,
"resubmission" includes forwarding or resending a message from a "resubmission" includes forwarding or resending a message from a
user agent, but does not include MTA-level aliasing or forward- user agent, but does not include MTA-level aliasing or
ing where the message does not leave and re-enter the message forwarding where the message does not leave and re-enter the
transmission system. message transmission system.
4.3. Forwarding Tracking Certifiers 4.3. Forwarding Tracking Certifiers
MTAs SHOULD forward unexpired tracking certifiers to com- MTAs SHOULD forward unexpired tracking certifiers to
pliant mailers as the mail is transferred during regular hop-to- compliant mailers as the mail is transferred during regular hop-
hop transfers. If the "downstream" MTA is not MTRK-compliant, to-hop transfers. If the "downstream" MTA is not MTRK-
then the MTRK= parameter MUST be deleted. If the downstream MTA compliant, then the MTRK= parameter MUST be deleted. If the
is DSN-compliant, then the ENVID and ORCPT parameters MUST NOT downstream MTA is DSN-compliant, then the ENVID and ORCPT
be deleted. parameters MUST NOT be deleted.
If aliasing, forwarding, or other redirection of messages If aliasing, forwarding, or other redirection of a
to a single recipient occurs, then the MTA SHOULD treat this as recipient occurs, and the result of the redirection is exactly
an ordinary hop-to-hop transfer and forward the MTRK=, ENVID=, one recipient, then the MTA SHOULD treat this as an ordinary
and ORCPT= values; these values MUST NOT be modified. hop-to-hop transfer and forward the MTRK=, ENVID=, and ORCPT=
values; these values MUST NOT be modified.
MTAs MUST NOT copy MTRK certifiers when relaying a message MTAs MUST NOT copy MTRK certifiers when a recipient is
to multiple recipients. An MTA MAY designate one recipient in a aliased, forwarded, or otherwise redirected and the redirection
multi-recipient alias as the "primary" recipient to which track- results in more than one recipient. However, an MTA MAY
ing requests shall be forwarded; other addresses SHALL NOT designate one of the multiple recipients as the "primary"
receive tracking certifiers. MTAs MUST NOT forward MTRK certi- recipient to which tracking requests shall be forwarded; other
fiers when doing mailing list expansion. addresses MUST NOT receive tracking certifiers. MTAs MUST NOT
forward MTRK certifiers when doing mailing list expansion.
5. Security Issues 5. Security Issues
5.1. Denial of service 5.1. Denial of service
An attacker could attempt to flood the database of a server An attacker could attempt to flood the database of a server
by submitting large numbers of small, tracked messages. In this by submitting large numbers of small, tracked messages. In this
case, a site may elect to lower its maximum retention period case, a site may elect to lower its maximum retention period
retroactively. retroactively.
5.2. Confidentiality 5.2. Confidentiality
The mtrk-authenticator value (``A'') must be hard to pre- The mtrk-authenticator value (``A'') must be hard to
dict and not reused. predict and not reused.
The originating client must take reasonable precautions to The originating client must take reasonable precautions to
protect the secret. For example, if the secret is stored in a protect the secret. For example, if the secret is stored in a
message store (e.g., a "Sent" folder), the client must make sure message store (e.g., a "Sent" folder), the client must make sure
the secret isn't accessible by attackers, particularly on a the secret isn't accessible by attackers, particularly on a
shared store. shared store.
Many site administrators believe that concealing names and Many site administrators believe that concealing names and
topologies of internal systems and networks is an important topologies of internal systems and networks is an important
security feature. MTAs need to balance such desires with the security feature. MTAs need to balance such desires with the
need to provide adequate tracking information. need to provide adequate tracking information.
In some cases site administrators may want to treat deliv- In some cases site administrators may want to treat
ery to an alias as final delivery in order to separate roles delivery to an alias as final delivery in order to separate
from individuals. For example, sites implementing ``postmas- roles from individuals. For example, sites implementing
ter'' or ``webmaster'' as aliases may not wish to expose the ``postmaster'' or ``webmaster'' as aliases may not wish to
identity of those individuals by permitting tracking through expose the identity of those individuals by permitting tracking
those aliases. In other cases, providing the tracking informa- through those aliases. In other cases, providing the tracking
tion for an alias is important, such as when the alias points to information for an alias is important, such as when the alias
the user's preferred public address. points to the user's preferred public address.
6. References Therefore, implementors are encouraged to provide
mechanisms by which site administrators can choose between these
alternatives.
6. Acknowledgements
Several individuals have commented on and enhanced this draft,
including Philip Hazel, Alexey Melnikov, Lyndon Nerenberg, Chris
Newman, and Gregory Neil Shapiro.
7. References
[DRAFT-MTRK-MODEL] [DRAFT-MTRK-MODEL]
T. Hansen, ``Message Tracking Model and Requirements.'' T. Hansen, ``Message Tracking Model and Requirements.''
draft-ietf-msgtrk-model-03.txt. November 2000. draft-ietf-msgtrk-model-03.txt. November 2000.
[DRAFT-MTRK-MTQP] [DRAFT-MTRK-MTQP]
T. Hansen, ``Message Tracking Query Protocol.'' draft-ietf- T. Hansen, ``Message Tracking Query Protocol.'' draft-ietf-
msgtrk-mtqp-01.txt. November 2000. msgtrk-mtqp-01.txt. November 2000.
[RFC-ABNF] [RFC-ABNF]
Crocker, D., Editor, and P. Overell, ``Augmented BNF for Syn- Crocker, D., Editor, and P. Overell, ``Augmented BNF for
tax Specifications: ABNF'', RFC 2234, November 1997. Syntax Specifications: ABNF'', RFC 2234, November 1997.
[RFC-DELIVERYBY] [RFC-DELIVERYBY]
D. Newman, ``Deliver By SMTP Service Extension.'' RFC 2852. D. Newman, ``Deliver By SMTP Service Extension.'' RFC 2852.
June 2000. June 2000.
[RFC-DSN-REPT] [RFC-DSN-REPT]
G. Vaudreuil, ``The Multipart/Report Content Type for the G. Vaudreuil, ``The Multipart/Report Content Type for the
Reporting of Mail System Administrative Messages.'' RFC 1892. Reporting of Mail System Administrative Messages.'' RFC 1892.
January 1996. January 1996.
[RFC-DSN-SMTP] [RFC-DSN-SMTP]
K. Moore, ``SMTP Service Extension for Delivery Status Notifi- K. Moore, ``SMTP Service Extension for Delivery Status
cations.'' RFC 1891. January 1996. Notifications.'' RFC 1891. January 1996.
[RFC-DSN-STAT] [RFC-DSN-STAT]
K. Moore and G. Vaudreuil, ``An Extensible Message Format for K. Moore and G. Vaudreuil, ``An Extensible Message Format for
Delivery Status Notifications.'' RFC 1894. January 1996. Delivery Status Notifications.'' RFC 1894. January 1996.
[RFC-EMSSC] [RFC-EMSSC]
G. Vaudreuil, ``Enhanced Mail System Status Codes.'' RFC G. Vaudreuil, ``Enhanced Mail System Status Codes.'' RFC
1893. January 1996. 1893. January 1996.
[RFC-ESMTP] [RFC-ESMTP]
Rose, M., Stefferud, E., Crocker, D., Klensin, J. and N. Rose, M., Stefferud, E., Crocker, D., Klensin, J. and N.
Freed, ``SMTP Service Extensions.'' STD 10, RFC 1869. Novem- Freed, ``SMTP Service Extensions.'' STD 10, RFC 1869.
ber 1995. November 1995.
[RFC-KEYWORDS] [RFC-KEYWORDS]
S. Bradner, ``Key words for use in RFCs to Indicate Require- S. Bradner, ``Key words for use in RFCs to Indicate
ment Levels.'' RFC 2119. March 1997. Requirement Levels.'' RFC 2119. March 1997.
[RFC-MDN] [RFC-MDN]
R. Fajman, ``An Extensible Message Format for Message Disposi- R. Fajman, ``An Extensible Message Format for Message
tion Notifications.'' RFC 2298. March 1998. Disposition Notifications.'' RFC 2298. March 1998.
[RFC-MIME] [RFC-MIME]
N. Freed and N. Borenstein, ``Multipurpose Internet Mail N. Freed and N. Borenstein, ``Multipurpose Internet Mail
Extensions (MIME) Part One: Format of Internet Message Bod- Extensions (MIME) Part One: Format of Internet Message
ies.'' RFC 2045. November 1996. Bodies.'' RFC 2045. November 1996.
[RFC-MSGFMT] [RFC-MSGFMT]
D. Crocker, ``Standard for the Format of ARPA Internet Text P. Resnick, editor, ``Internet Message Format.'' RFC 2822.
Messages.'' RFC 822. August 1982. April 2001.
[RFC-RANDOM] [RFC-RANDOM]
D. Eastlake, S. Crocker, and J. Schiller, ``Randomness Recom- D. Eastlake, S. Crocker, and J. Schiller, ``Randomness
mendations for Security.'' RFC 1750. December 1994. Recommendations for Security.'' RFC 1750. December 1994.
[RFC-RELATED] [RFC-RELATED]
E. Levinson, ``The MIME Multipart/Related Content-type.'' RFC E. Levinson, ``The MIME Multipart/Related Content-type.'' RFC
2387. August 1998. 2387. August 1998.
[NIST-SHA1] [NIST-SHA1]
NIST FIPS PUB 180-1, ``Secure Hash Standard.'' National NIST FIPS PUB 180-1, ``Secure Hash Standard.'' National
Institute of Standards and Technology, U.S. Department of Com- Institute of Standards and Technology, U.S. Department of
merce. May 1994. DRAFT. Commerce. May 1994. DRAFT.
[RFC-SMTP] [RFC-SMTP]
J. Postel, ``Simple Mail Transport Protocol.'' RFC 821. J. Klensin, editor, ``Simple Mail Transfer Protocol.'' RFC
August 1982. 2821. April 2001.
7. Authors' Addresses 8. Authors' Addresses
Eric Allman Eric Allman
Sendmail, Inc. Sendmail, Inc.
6603 Shellmound 6425 Christie Ave, 4th Floor
Emeryville, CA 94608 Emeryville, CA 94608
U.S.A. U.S.A.
E-Mail: eric@Sendmail.COM E-Mail: eric@Sendmail.COM
Phone: +1 510 594 5501 Phone: +1 510 594 5501
Fax: +1 510 594 5411 Fax: +1 510 594 5429
Tony Hansen Tony Hansen
AT&T Laboratories AT&T Laboratories
Lincroft, NJ 07738 Lincroft, NJ 07738
U.S.A. U.S.A.
Phone: +1 732 576 3207 Phone: +1 732 576 3207
E-Mail: tony@att.com E-Mail: tony@att.com
 End of changes. 38 change blocks. 
103 lines changed or deleted 130 lines changed or added

This html diff was produced by rfcdiff 1.34. The latest version is available from http://tools.ietf.org/tools/rfcdiff/