diff options
| author | fukachan <fukachan> | 2001-07-14 05:27:52 +0000 |
|---|---|---|
| committer | fukachan <fukachan> | 2001-07-14 05:27:52 +0000 |
| commit | 824e7e88e8b4310d84e52f8cba6d28e3f54ebccc (patch) | |
| tree | 2d9978ff74c192c79a657db2bb2a39c650f70872 /Documentation | |
| parent | 53c8a869f175c3a6f96248758ceea6d887185b90 (diff) | |
| download | fml8-824e7e88e8b4310d84e52f8cba6d28e3f54ebccc.tar.gz fml8-824e7e88e8b4310d84e52f8cba6d28e3f54ebccc.tar.bz2 fml8-824e7e88e8b4310d84e52f8cba6d28e3f54ebccc.zip | |
msgtrk
Diffstat (limited to 'Documentation')
| -rw-r--r-- | Documentation/en/I-D/draft-ietf-msgtrk-model-00.txt | 444 | ||||
| -rw-r--r-- | Documentation/en/I-D/draft-ietf-msgtrk-model-01.txt | 562 | ||||
| -rw-r--r-- | Documentation/en/I-D/draft-ietf-msgtrk-model-02.txt | 556 | ||||
| -rw-r--r-- | Documentation/en/I-D/draft-ietf-msgtrk-mtqp-00.txt | 507 | ||||
| -rw-r--r-- | Documentation/en/I-D/draft-ietf-msgtrk-mtqp-01.txt | 731 | ||||
| -rw-r--r-- | Documentation/en/I-D/draft-ietf-msgtrk-protocol-00.txt | 500 | ||||
| -rw-r--r-- | Documentation/en/I-D/draft-ietf-msgtrk-trkstat-00.txt | 498 | ||||
| -rw-r--r-- | Documentation/en/I-D/draft-jones-msgtrk-def-00.txt | 222 | ||||
| -rw-r--r-- | Documentation/en/I-D/draft-jones-msgtrk-def-01.txt | 228 |
9 files changed, 4248 insertions, 0 deletions
diff --git a/Documentation/en/I-D/draft-ietf-msgtrk-model-00.txt b/Documentation/en/I-D/draft-ietf-msgtrk-model-00.txt new file mode 100644 index 00000000..7a8b3285 --- /dev/null +++ b/Documentation/en/I-D/draft-ietf-msgtrk-model-00.txt @@ -0,0 +1,444 @@ +Internet Draft T. Hansen +draft-ietf-msgtrk-model-00.txt AT&T Laboratories +Valid for six months K. Lin + Lotus Development Corporation + September 8, 1999 + + + + Message Tracking Model + + <draft-ietf-msgtrk-model-00.txt> + + Authors' version: 1.6 + + Status of this Memo + + This document is an Internet-Draft and is in full conformance with +all provisions of Section 10 of RFC2026. + + Internet-Drafts are working documents of the Internet Engineering +Task Force (IETF), its areas, and its working groups. Note that other +groups may also distribute working documents as Internet-Drafts. + + 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." + + The list of current Internet-Drafts can be accessed at +http://www.ietf.org/ietf/1id-abstracts.txt. + + The list of Internet-Draft Shadow Directories can be accessed at +http://www.ietf.org/shadow.html. + + This memo and its companions are discussed on the MSGTRK working +group mailing list, ietf-msgtrk[-request]@imc.org. + +Copyright Notice + + Copyright (C) The Internet Society (1999). All Rights Reserved. + +Abstract + + Customers buying enterprise message systems often ask: Can I track +the messages? Message tracking is the ability to find out the path that +a particular message has taken through a messaging system and the +current routing status of that message. This document provides a model +of message tracking that can be used for understanding the Internet-wide + + + +Hansen,Lin [Page 1] + +Internet Draft Message Tracking Model September 8, 1999 + + +message infrastructure and to further enhance those capabilities to +include message tracking. + +1. Problem Statement + + Consider sending a package through a package delivery companys. +Once you've sent a package, you would like to be able to find out if the +package has been delivered or not, and if not, where that package +currently is and what its status is. Note that the status of a package +may not include whether it was delivered to its addressee, but just the +destination. Many package carriers provide such services today, often +via a web interface. + + Message tracking extends that capability to the Internet-wide mes- +sage infrastructure, analogous to the service provided by package car- +riers: the ability to quickly locate where a message (package) is, and +to determine whether or not the message (package) has been delivered to +its final destination. An Internet-standard approach will allow the +development of message tracking applications that can operate in a +multi-vendor messaging environment, and will encourage the operation of +the function across administrative boundaries. + +2. Definitions +The following terms are relevant to message tracking. The terms Track- +ing User Agent and Tracking Server are new, while all other terms have +been collected here from other sources. + + Originating Mail User Agent (MUA) + The originating mail user agent is the software used to + compose and originate a message. It is the software sit- + ting on a person's desktop. + + Originating Mail Submission Agent (MSA) + The Mail Submission Agent accepts a message from a User + Agent, adds or modifies whatever headers are appropriate + for the message's traversal through the Internet, and + injects the message into the network via a Message + Transfer Agent. (The UA and MSA are often combined into + the same program.) + + Message Transfer Agent (MTA) + A Message Transfer Agent accepts a message and moves it + forward towards its destination. That destination may be + local or reached via another MTA. It may use a local + queue to store the message before transferring it + further. Any MTA may generate a Non-Delivery Notifica- + tion. + + + + +Hansen,Lin [Page 2] + +Internet Draft Message Tracking Model September 8, 1999 + + + Intermediate Message Transfer Agent (MTA) + An Intermediate MTA is an MTA that accepts a message for + transfer somewhere else. + + Final Message Transfer Agent (MTA) + A Final MTA is an MTA that accepts a message for local + delivery. It is the final place that a message is + accepted. The final MTA is what sends any Delivery + Status Notificatons (DSNs). + + Foreign Message Transfer Agent + A foreign MTA provides delivery of messages using other + protocols than those specified for Internet mail, such as + an X.400 mail system. + + Gateway Message Transfer Agent (GW-MTA) + A gateway MTA accepts a message for transfer to a foreign + MTA outside of the Internet protocol space. + + Local Delivery Agent (DA) + The local Delivery Agent delivers the message to the + local message store. (The MTA and DA are often combined + into the same program.) + + Delivery Status Notification (DSN) + A Delivery Status Notification [RFC-DSN] is produced by + an MTA when a message is unsuccessfully delivered, either + to its next hop or the final message store, or when it is + successfully delivered, either to a foreign MTA or to a + local delivery agent. Positive notifications are only + performed [RFC-ESMTP-DSN] when specifically requested. + + Non-Delivery Notification (NDN) + A non-delivery notification is a special form of DSN + indicating unsuccessful delivery. + + Message Disposition Notification (MDN) + A Message Disposition Notification is used to report the + disposition of a message after it has been successfully + delivered to a recipient. + + Tracking User Agent (TUA) + A tracking user agent wants to find information on a mes- + sage on the behalf of a user. It is the requestor or + initiator of such a request. (The MUA and TUA could be + combined into the same program.) + + Tracking Server + + + +Hansen,Lin [Page 3] + +Internet Draft Message Tracking Model September 8, 1999 + + + A tracking server provides tracking information to a + tracking client. It is the repository of the information + about a message for the traversal through a particular + MTA. (The tracking server and MTA may run on the same + system.) + +3. Entities + + The entities involved in message tracking are: message user +agents, message submission agents, message transfer agents, tracking +user agents and tracking servers. + +4. Interaction Models + + There are several models by which messages can be tracked, and by +which information can be requested and gathered. + +4.1. Pre-Hoc Model + + The pre-hoc model, also known as the "passive or "ask now" models, +requires the user agent to put into the message envelope an indication +that some form of tracking is to be performed. The tracking information +can be sent back immediately (as a form of telemetry) or stored for +later retrieval. + + Forms of tracking information that could potentially be requested +are as follow. Note that mechanisms already exist for requesting the +information marked with a (+). The references for such mechanisms are +listed at the end of each such entry. + + ** send a DSN of a message arriving at an intermediate MTA + + ** (+) send a DSN of a message being rejected while at an inter- + mediate MTA [RFC-DSN] + + ** (+) send a DSN of a message leaving an intermediate MTA and + going to another MTA [RFC-DELIVERY-BY] + + ** send a DSN of a message arriving at a final MTA + + ** (+) send a DSN of a message being rejected while at a final + MTA [RFC-DSN] + + ** (+) send a DSN of a message being delivered to a user's mes- + sage store [RFC-DSN] + + ** (+) send a DSN of a message being delivered to a foreign MTA + [RFC-DSN] + + + +Hansen,Lin [Page 4] + +Internet Draft Message Tracking Model September 8, 1999 + + + ** (+) send an MDN of a message being read by an end user [RFC- + MDN] + + ** indicate that logging of the message's traversal should be + performed for later retrieval + + ** indicate that logging of the message's traversal should be + sent to a 3rd party + +4.2. Post-Hoc Model + + The post-hoc model, also known as the "query" or "ask later" model, +requires an active query by a user's user agent to either the intermedi- +ate MTAs and final MTA, or to a third party, to find the message's +status as known by that MTA. The responses might be something like: +the message has been queued for later delivery, the message was +delivered locally, the message was delivered to another MTA, ask a dif- +ferent tracking server, I know but can't tell you, or I don't know. The +post-hoc model may or may not require an earlier pre-hoc declaration +that logging of the message's traversal should occur. (Note that no +mechanisms currently exist for requesting such information.) + +4.3. Hybrid Models + + A number of hybrid models exist. In a hybrid model, pre-hoc +mechanisms are combined with post-hoc mechanisms to provide a total mes- +sage tracking solution. The model would include existing pre-hoc +mechanisms, possible new pre-hoc mechanisms, and new mechanisms for +post-hoc tracking. A UA may be required to start the process by estab- +lishing pre-hoc information which is then communicated with the MTAs. A +tracking user agent would then use all possible information sources to +answer the question of "what happened to message XX"? + +5. Security + + The security aspects of message tracking revolve around the follow- +ing areas: + + ** Who is permitted to request tracking information? + + ** How does a tracking user agent prove that they are permitted + to request such information? + + ** How does the tracking user agent identify the messages being + tracked? + + + + + + +Hansen,Lin [Page 5] + +Internet Draft Message Tracking Model September 8, 1999 + + +5.1. Who is Permitted to Request Tracking Information? + + Only the originators of messages are allowed to track their mes- +sages. An originator may delegate this responsibility to a third party. + +5.2. How Does a Tracking User Agent Prove that They are Permitted to +Request Such Information? + + One possible mechanism to prove that a tracking request comes the +originator is for the originator to calculate a one-way hash A from the +message ID + time stamp + a per-user secret. The user then calculates +another one-way hash B to be the hash of A. The user includes B in the +submitted message, and retains A. Later, when the user makes a message +tracking request to the messaging system or tracking entity, it submits +A in the tracking request. The entity receiving the tracking request +then uses A to calculate B, since it was already provided B, verifying +that the requestor is authentic. In summary, + + A = H(message ID + time stamp + secret) + + B = H(A) + +This is similar in technique to the methods used for One-Time Passwords +[RFC-OTP]. + + If the originator of a message were to delegate his or her tracking +request to a third party by sending them A, this would be vulnerable to +snooping over unencrypted sessions. The user can decide on a message- +by-message basis if this risk is acceptable. + +5.3. How does the tracking user agent identify the messages being +tracked? + + Every [RFC-822]-compliant message is supposed to contain a +Message-Id header. This header could be used to be the primary means of +message identification. + +6. References + + + [RFC-DSN] Moore, K., and G. Vaudreuil, "An Extensible Message For- + mat for Delivery Status Notifications", RFC 1894, Univer- + sity of Tennessee, Octel Network Services, January 1996. + + [RFC-ESMTP-DSN] + Moore, K., "SMTP Service Extension for Delivery Status + Notifications", RFC 1891, University of Tennessee, Janu- + ary 1996. + + + +Hansen,Lin [Page 6] + +Internet Draft Message Tracking Model September 8, 1999 + + + [RFC-SMTP]Postel, J., "Simple Mail Transfer Protocol", STD 10, RFC + 821, USC/Information Sciences Institute, August 1982. + + [RFC-822] Crocker, D., "Standard for the Format of ARPA Internet + Text Messages", STD 11, RFC 822, UDEL, August 1982. + + [RFC-MDN] Fajman, R., "An Extensible Message Format for Message + Disposition Notifications", RFC 2298, National Institutes + of Health, March 1998. + + [RFC-DELIVER-BY] + Newman, D., "Deliver By SMTP Service Extension", draft- + newman-deliver-02.txt, Innosoft, January 1999. + + [RFC-OTP] Haller, N., Metz, C., Nesser, P., Straw, M., "A One-Time + Password System", RFC 2289, Bellcore, Kaman Sciences Cor- + poration, Nesser & Nesser Consulting, Bellcore, February + 1998. + +7. Acknowledgements + + This document is the product of input from many people and many +sources. It owes much to earlier work by Gordon Jones, Bruce Ernst and +Greg Vaudreuil. + +8. Authors' Addresses + Tony Hansen + AT&T Laboratories + Lincroft, NJ 07738 + USA + + Phone: +1 732 576-3207 + E-Mail: tony@att.com + + Ken Lin + Lotus Development Corporation + 640 Lee Road + Wayne, PA 19087 + + Phone: +1 610 251-3380 + E-Mail: ken_lin@lotus.com + +9. Full Copyright Statement + + Copyright (C) The Internet Society (1999). All Rights Reserved. + + This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it or + + + +Hansen,Lin [Page 7] + +Internet Draft Message Tracking Model September 8, 1999 + + +assist in its implmentation may be prepared, copied, published and dis- +tributed, in whole or in part, without restriction of any kind, provided +that the above copyright notice and this paragraph are included on all +such copies and derivative works. However, this document itself may not +be modified in any way, such as by removing the copyright notice or +references to the Internet Society or other Internet organisations, +except as needed for the purpose of developing Internet standards in +which case the procedures for copyrights defined in the Internet Stan- +dards process must be followed, or as required to translate it into +languages other than English. + + The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + + This document and the information contained herein is provided on +an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT +NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL +NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR +FITNESS FOR A PARTICULAR PURPOSE. + + This document expires March 2000. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Hansen,Lin [Page 8] diff --git a/Documentation/en/I-D/draft-ietf-msgtrk-model-01.txt b/Documentation/en/I-D/draft-ietf-msgtrk-model-01.txt new file mode 100644 index 00000000..c7c32d24 --- /dev/null +++ b/Documentation/en/I-D/draft-ietf-msgtrk-model-01.txt @@ -0,0 +1,562 @@ + + + + + + +Internet Draft T. Hansen +draft-ietf-msgtrk-model-01.txt AT&T Laboratories +Valid for six months K. Lin + Lotus Development Corporation + March 10, 2000 + + + + Message Tracking Model and Requirements + + <draft-ietf-msgtrk-model-01.txt> + + Authors' version: 1.11 + + Status of this Memo + + This document is an Internet-Draft and is in full conformance with +all provisions of Section 10 of RFC2026. + + Internet-Drafts are working documents of the Internet Engineering +Task Force (IETF), its areas, and its working groups. Note that other +groups may also distribute working documents as Internet-Drafts. + + 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." + + The list of current Internet-Drafts can be accessed at +http://www.ietf.org/ietf/1id-abstracts.txt. + + The list of Internet-Draft Shadow Directories can be accessed at +http://www.ietf.org/shadow.html. + + This memo and its companions are discussed on the MSGTRK working +group mailing list, ietf-msgtrk[-request]@imc.org. + +Copyright Notice + + Copyright (C) The Internet Society (1999). All Rights Reserved. + +Abstract + + Customers buying enterprise message systems often ask: Can I track +the messages? Message tracking is the ability to find out the path that +a particular message has taken through a messaging system and the +current routing status of that message. This document provides a model +of message tracking that can be used for understanding the Internet-wide + + + +Hansen,Lin [Page 1] + +Internet Draft Message Tracking Model and Requirements March 10, 2000 + + +message infrastructure and to further enhance those capabilities to +include message tracking, as well as requirements for proposed message +tracking solutions. + +1. Problem Statement + + Consider sending a package through a package delivery company. +Once you've sent a package, you would like to be able to find out if the +package has been delivered or not, and if not, where that package +currently is and what its status is. Note that the status of a package +may not include whether it was delivered to its addressee, but just the +destination. Many package carriers provide such services today, often +via a web interface. + + Message tracking extends that capability to the Internet-wide mes- +sage infrastructure, analogous to the service provided by package car- +riers: the ability to quickly locate where a message (package) is, and +to determine whether or not the message (package) has been delivered to +its final destination. An Internet-standard approach will allow the +development of message tracking applications that can operate in a +multi-vendor messaging environment, and will encourage the operation of +the function across administrative boundaries. + + The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", +"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this +document are to be interpreted as described in RFC 2119 [RFC-KEYWORDS]. + +2. Definitions +The following terms are relevant to message tracking. The terms Track- +ing User Agent and Tracking Server are new, while all other terms have +been collected here from other sources. + + Originating Mail User Agent (MUA) + The originating mail user agent is the software used to + compose and originate a message. It is the software sit- + ting on a person's desktop. + + Originating Mail Submission Agent (MSA) + The Mail Submission Agent accepts a message from a User + Agent, adds or modifies whatever headers are appropriate + for the message's traversal through the Internet, and + injects the message into the network via a Message + Transfer Agent. (The UA and MSA are often combined into + the same program.) + + Message Transfer Agent (MTA) + A Message Transfer Agent accepts a message and moves it + forward towards its destination. That destination may be + + + +Hansen,Lin [Page 2] + +Internet Draft Message Tracking Model and Requirements March 10, 2000 + + + local or reached via another MTA. It may use a local + queue to store the message before transferring it + further. Any MTA may generate a Non-Delivery Notifica- + tion. + + Intermediate Message Transfer Agent (MTA) + An Intermediate MTA is an MTA that accepts a message for + transfer somewhere else. + + Final Message Transfer Agent (MTA) + A Final MTA is an MTA that accepts a message for local + delivery. It is the final place that a message is + accepted. The final MTA is what sends any Delivery + Status Notificatons (DSNs). + + Foreign Message Transfer Agent + A foreign MTA provides delivery of messages using other + protocols than those specified for Internet mail, such as + an X.400 mail system. + + Gateway Message Transfer Agent (GW-MTA) + A gateway MTA accepts a message for transfer to a foreign + MTA outside of the Internet protocol space. + + Local Delivery Agent (DA) + The local Delivery Agent delivers the message to the + local message store. (The MTA and DA are often combined + into the same program.) + + Delivery Status Notification (DSN) + A Delivery Status Notification [RFC-DSN] is produced by + an MTA when a message is unsuccessfully delivered, either + to its next hop or the final message store, or when it is + successfully delivered, either to a foreign MTA or to a + local delivery agent. Positive notifications are only + performed [RFC-ESMTP-DSN] when specifically requested. + + Non-Delivery Notification (NDN) + A non-delivery notification is a special form of DSN + indicating unsuccessful delivery. + + Message Disposition Notification (MDN) + A Message Disposition Notification is used to report the + disposition of a message after it has been successfully + delivered to a recipient. + + Tracking User Agent (TUA) + A tracking user agent wants to find information on a + + + +Hansen,Lin [Page 3] + +Internet Draft Message Tracking Model and Requirements March 10, 2000 + + + message on the behalf of a user. It is the requestor or + initiator of such a request. (The MUA and TUA could be + combined into the same program.) + + Tracking Server + A tracking server provides tracking information to a + tracking client. It is the repository of the information + about a message for the traversal through a particular + MTA. (The tracking server and MTA may run on the same + system.) + +3. Entities + + The entities involved in message tracking are: message user +agents, message submission agents, message transfer agents, tracking +user agents and tracking servers. + +4. Requirements + + These are requirements that any message tracking solution must be +able to satisfy: + + The message tracking solution: + + ** MUST scale to the internet. + + ** MUST be easy to deploy. + + ** SHOULD maximize the reuse of existing, already deployed tech- + nology and infrastructure. + + ** SHOULD extend existing protocols and not invent new ones. + + ** SHOULD have a low implementation cost. (This makes it easy to + incorporate into existing products.) + + ** MUST restrict tracking of a message to the originator of the + message (or a delegate). + + ** MUST be able to do authentication. + + ** MAY allow an originator to delegate this responsibility to a + third party. + + ** SHOULD have the property that they would allow per-message + delegation of the tracking responsibility. + + ** MUST require a tracking user agent to prove that they are + + + +Hansen,Lin [Page 4] + +Internet Draft Message Tracking Model and Requirements March 10, 2000 + + + permitted to request the tracking information. + + ** MUST be able to uniquely identify messages. + + ** MUST require every message to have unique identification. + +5. Interaction Models + + There are several models by which tracking of messages can be +enabled, by which messages can be tracked, and by which information can +be requested and gathered. + +5.1. Tracking Enabling Models + + Either the envelope or message header must contain enough informa- +tion to track a message and securely retrieve information about the mes- +sage. Any message that does have enough information to track it is by +definition not trackable. + + If there is not enough information available in current standard +envelopes or message headers, then the current standards will need to be +extended. Either the MUA or MSA must determine the additional informa- +tion and enable the tracking by adding the additional information to +either the envelope or header. + + This leads to two tracking enabling models: passive enabling and +active enabling. + +5.1.1. Passive Enabling Model +The "passive enabling" model assumes that there is sufficient informa- +tion available. No UA or MSA interaction occurs to turn tracking on; it +is on by default. + +5.1.2. Active Enabling Model + + The "active enabling" model requires that the MUA and MSA exchange +information when the message is submitted. This exchange indicates that +logging of the message's traversal should be performed, as well as pro- +viding enough additional information to allow the message to be tracked. +This information will need to be passed on to subsequent MTAs as needed. + +5.2. Tracking Request Models +There are several models by which tracking information may be requested. + +5.2.1. Passive Request Model + + The "passive request" model requires active enabling to indicate +that some form of tracking is to be performed. The tracking information + + + +Hansen,Lin [Page 5] + +Internet Draft Message Tracking Model and Requirements March 10, 2000 + + +can be sent back immediately (as a form of telemetry) or sent to a 3rd +party for later retrieval. + +5.2.2. Passive Request Tracking Information + + Forms of passive tracking information that could potentially be +requested are as follows. Note that mechanisms already exist for +requesting the information marked with a (+). The references for such +mechanisms are listed at the end of each such entry. + + ** send a DSN of a message arriving at an intermediate MTA + + ** (+) send a DSN of a message being rejected while at an inter- + mediate MTA [RFC-DSN] + + ** (+) send a DSN of a message leaving an intermediate MTA and + going to another MTA [RFC-DELIVER-BY] + + ** send a DSN of a message arriving at a final MTA + + ** (+) send a DSN of a message being rejected while at a final + MTA [RFC-DSN] + + ** (+) send a DSN of a message being delivered to a user's mes- + sage store [RFC-DSN] + + ** (+) send a DSN of a message being delivered to a foreign MTA + [RFC-DSN] + + ** (+) send an MDN of a message being read by an end user [RFC- + MDN] + +5.3. Active Request Model + + The "active request" model requires an active query by a user's +user agent to either the intermediate MTAs and final MTA, or to a third +party, to find the message's status as known by that MTA. Active +request will work with either passive enabling or active enabling. + +5.3.1. Server Chaining vs. Server Referrals +When a tracking server has been asked for tracking information, and the +message has been passed on to another MTA of which this tracking server +has no tracking knowledge, there are two modelling choices: + + ** the first tracking server will contact the next tracking + server to query for status and pass back the combined status + (server chaining), or + + + + +Hansen,Lin [Page 6] + +Internet Draft Message Tracking Model and Requirements March 10, 2000 + + + ** the first tracking server will return the address of the next + MTA and the tracking client has the responsibility of contact- + ing the next tracking server (server referrals). + +5.3.2. Active Request Tracking Information +Forms of active tracking information that could potentially be requested +are as follows. (Note that no mechanisms currently exist for requesting +such information.) + + ** the message has been queued for later delivery + + ** the message was delivered locally + + ** the message was delivered to another MTA, + + ** the message was delivered to a foreign MTA + + ** ask a different tracking server, + + ** I know but can't tell you, + + ** I don't know. + +5.4. Combining DSN and MDN Information with Message Tracking Informa- +tion + + The information that would be retrieved by message tracking and the +information that is returned for DSN and MDN requests all attempt to +answer the question of "what happened to message XX"? The information +provided by each is complementary in nature, but similar. A tracking +user agent could use all three possible information sources to present +a total view of the status of a message. + + Both DSN and MDN notifications utilize the formats defined by RFC +1892 [RFC-REPORT]. This suggests that the information returned by mes- +sage tracking solutions should also be similar. + +6. Security + + This is a security model for message identification and authentica- +tion that could be deployed. (There may be others.) + + A Tracking User Agent must prove that they are permitted to request +tracking information about a message. Every [RFC-822]-compliant message +is supposed to contain a Message-Id header. One possible mechanism is +for the originator to calculate a one-way hash A from the message ID + +time stamp + a per-user secret. The user then calculates another one- +way hash B to be the hash of A. The user includes B in the submitted + + + +Hansen,Lin [Page 7] + +Internet Draft Message Tracking Model and Requirements March 10, 2000 + + +message, and retains A. Later, when the user makes a message tracking +request to the messaging system or tracking entity, it submits A in the +tracking request. The entity receiving the tracking request then uses A +to calculate B, since it was already provided B, verifying that the +requestor is authentic. In summary, + + A = H(message ID + time stamp + secret) + + B = H(A) + +Another possible mechanism for A is to ignore the message ID and time +stamp and just use a one-way hash from a large (>128 bits) random +number. B would be calculated as before. In summary, + + A = H(large-random-number) + + B = H(A) + +This is similar in technique to the methods used for One-Time Passwords +[RFC-OTP]. The success of these techniques is dependent on the random- +ness of the per-user secret or the large random number, which can be +incredibly difficult in some environments. + + If the originator of a message were to delegate his or her tracking +request to a third party by sending them A, this would be vulnerable to +snooping over unencrypted sessions. The user can decide on a message- +by-message basis if this risk is acceptable. + +7. References + + + [RFC-822] Crocker, D., "Standard for the Format of ARPA Internet + Text Messages", STD 11, RFC 822, UDEL, August 1982. + + [RFC-DELIVER-BY] + Newman, D., "Deliver By SMTP Service Extension", draft- + newman-deliver-02.txt, Innosoft, January 1999. + + [RFC-DSN] Moore, K., and G. Vaudreuil, "An Extensible Message For- + mat for Delivery Status Notifications", RFC 1894, Univer- + sity of Tennessee, Octel Network Services, January 1996. + + [RFC-ESMTP-DSN] + Moore, K., "SMTP Service Extension for Delivery Status + Notifications", RFC 1891, University of Tennessee, Janu- + ary 1996. + + [RFC-KEYWORDS] + + + +Hansen,Lin [Page 8] + +Internet Draft Message Tracking Model and Requirements March 10, 2000 + + + Bradner, S., "Key words for use in RFCs to Indicate + Requirement Levels", RFC 2119, Harvard University, March + 1997. + + [RFC-MDN] Fajman, R., "An Extensible Message Format for Message + Disposition Notifications", RFC 2298, National Institutes + of Health, March 1998. + + [RFC-OTP] Haller, N., Metz, C., Nesser, P., Straw, M., "A One-Time + Password System", RFC 2289, Bellcore, Kaman Sciences Cor- + poration, Nesser & Nesser Consulting, Bellcore, February + 1998. + + [RFC-REPORT] + Vaudreuil, G., "The Multipart/Report Content Type for the + Reporting of Mail System Administrative Messages", RFC + 1892, Octel Network Services, January 1996. + + [RFC-SMTP]Postel, J., "Simple Mail Transfer Protocol", STD 10, RFC + 821, USC/Information Sciences Institute, August 1982. + +8. Acknowledgements + + This document is the product of input from many people and many +sources. It owes much to earlier work by Gordon Jones, Bruce Ernst and +Greg Vaudreuil. + +9. Authors' Addresses + Tony Hansen + AT&T Laboratories + Lincroft, NJ 07738 + USA + + Phone: +1 732 576-3207 + E-Mail: tony@att.com + + Ken Lin + Lotus Development Corporation + 640 Lee Road + Wayne, PA 19087 + + Phone: +1 610 251-3380 + E-Mail: ken_lin@lotus.com + +10. Full Copyright Statement + + Copyright (C) The Internet Society (1999). All Rights Reserved. + + + + +Hansen,Lin [Page 9] + +Internet Draft Message Tracking Model and Requirements March 10, 2000 + + + This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it or +assist in its implmentation may be prepared, copied, published and dis- +tributed, in whole or in part, without restriction of any kind, provided +that the above copyright notice and this paragraph are included on all +such copies and derivative works. However, this document itself may not +be modified in any way, such as by removing the copyright notice or +references to the Internet Society or other Internet organisations, +except as needed for the purpose of developing Internet standards in +which case the procedures for copyrights defined in the Internet Stan- +dards process must be followed, or as required to translate it into +languages other than English. + + The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + + This document and the information contained herein is provided on +an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT +NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL +NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR +FITNESS FOR A PARTICULAR PURPOSE. + + This document expires September 10, 2000. + + + + + + + + + + + + + + + + + + + + + + + + + + + +Hansen,Lin [Page 10] diff --git a/Documentation/en/I-D/draft-ietf-msgtrk-model-02.txt b/Documentation/en/I-D/draft-ietf-msgtrk-model-02.txt new file mode 100644 index 00000000..9f928637 --- /dev/null +++ b/Documentation/en/I-D/draft-ietf-msgtrk-model-02.txt @@ -0,0 +1,556 @@ +Internet Draft T. Hansen +draft-ietf-msgtrk-model-02.txt AT&T Laboratories +Valid for six months K. Lin + Lotus Development Corporation + July 14, 2000 + + + + Message Tracking Model and Requirements + + <draft-ietf-msgtrk-model-02.txt> + + Authors' version: 1.12 + + Status of this Memo + + This document is an Internet-Draft and is in full conformance with +all provisions of Section 10 of RFC2026. + + Internet-Drafts are working documents of the Internet Engineering +Task Force (IETF), its areas, and its working groups. Note that other +groups may also distribute working documents as Internet-Drafts. + + 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." + + The list of current Internet-Drafts can be accessed at +http://www.ietf.org/ietf/1id-abstracts.txt. + + The list of Internet-Draft Shadow Directories can be accessed at +http://www.ietf.org/shadow.html. + + This memo and its companions are discussed on the MSGTRK working +group mailing list, ietf-msgtrk@imc.org. To subscribe, send a message +with the word "subscribe" in the body (on a line by itself) to the +address ietf-msgtrk-request@imc.org. An archive of the mailing list may +be found at http://www.ietf.org/archive/msgtrk. + +Copyright Notice + + Copyright (C) The Internet Society (1999). All Rights Reserved. + +Abstract + + Customers buying enterprise message systems often ask: Can I track +the messages? Message tracking is the ability to find out the path that + + + +Hansen,Lin [Page 1] + +Internet Draft Message Tracking Model and Requirements July 14, 2000 + + +a particular message has taken through a messaging system and the +current routing status of that message. This document provides a model +of message tracking that can be used for understanding the Internet-wide +message infrastructure and to further enhance those capabilities to +include message tracking, as well as requirements for proposed message +tracking solutions. + +1. Problem Statement + + Consider sending a package through a package delivery company. +Once you've sent a package, you would like to be able to find out if the +package has been delivered or not, and if not, where that package +currently is and what its status is. Note that the status of a package +may not include whether it was delivered to its addressee, but just the +destination. Many package carriers provide such services today, often +via a web interface. + + Message tracking extends that capability to the Internet-wide mes- +sage infrastructure, analogous to the service provided by package car- +riers: the ability to quickly locate where a message (package) is, and +to determine whether or not the message (package) has been delivered to +its final destination. An Internet-standard approach will allow the +development of message tracking applications that can operate in a +multi-vendor messaging environment, and will encourage the operation of +the function across administrative boundaries. + + The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", +"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this +document are to be interpreted as described in RFC 2119 [RFC-KEYWORDS]. + +2. Definitions +The following terms are relevant to message tracking. The terms Track- +ing User Agent and Tracking Server are new, while all other terms have +been collected here from other sources. + + Originating Mail User Agent (MUA) + The originating mail user agent is the software used to + compose and originate a message. It is the software sit- + ting on a person's desktop. + + Originating Mail Submission Agent (MSA) + The Mail Submission Agent accepts a message from a User + Agent, adds or modifies whatever headers are appropriate + for the message's traversal through the Internet, and + injects the message into the network via a Message + Transfer Agent. An MSA is used, in lieu of the first MTA + by MUA's that do not create fully-compliant Internet mes- + sages, to submit messages into the SMTP delivery network. + + + +Hansen,Lin [Page 2] + +Internet Draft Message Tracking Model and Requirements July 14, 2000 + + + Message Transfer Agent (MTA) + A Message Transfer Agent accepts a message and moves it + forward towards its destination. That destination may be + local or reached via another MTA. It may use a local + queue to store the message before transferring it + further. Any MTA may generate a Non-Delivery Notifica- + tion. + + Intermediate Message Transfer Agent (MTA) + An Intermediate MTA is an MTA that accepts a message for + transfer somewhere else. + + Final Message Transfer Agent (MTA) + A Final MTA is an MTA that accepts a message for local + delivery. It is the final place that a message is + accepted. The final MTA is what sends any Delivery + Status Notificatons (DSNs). (Intermediate MTA's may also + send a DSN if it relays to a non-DSN aware MTA.) + + Foreign Message Transfer Agent + A foreign MTA provides delivery of messages using other + protocols than those specified for Internet mail, such as + an X.400 mail system. + + Gateway Message Transfer Agent (GW-MTA) + A gateway MTA accepts a message for transfer to a foreign + MTA outside of the Internet protocol space. + + Local Delivery Agent (DA) + The local Delivery Agent delivers the message to the + local message store. (The MTA and DA are often combined + into the same program.) + + Delivery Status Notification (DSN) + A Delivery Status Notification [RFC-DSN] is produced by + an MTA when a message is unsuccessfully delivered, either + to its next hop or the final message store, or when it is + successfully delivered, either to a foreign MTA, to a + local delivery agent, or a non-DSN aware MTA. Positive + notifications are only performed [RFC-ESMTP-DSN] when + specifically requested. + + Non-Delivery Notification (NDN) + A non-delivery notification is a special form of DSN + indicating unsuccessful delivery. + + Message Disposition Notification (MDN) + A Message Disposition Notification is used to report the + + + +Hansen,Lin [Page 3] + +Internet Draft Message Tracking Model and Requirements July 14, 2000 + + + disposition of a message after it has been successfully + delivered to a recipient. + + Tracking User Agent (TUA) + A tracking user agent wants to find information on a mes- + sage on the behalf of a user. It is the requestor or + initiator of such a request. (The MUA and TUA could be + combined into the same program.) + + Tracking Server + A tracking server provides tracking information to a + tracking client. It is the repository of the information + about a message for the traversal through a particular + MTA. (The tracking server and MTA may run on the same + system.) + +3. Entities + + The entities involved in message tracking are: message user +agents, message submission agents, message transfer agents, tracking +user agents and tracking servers. + +4. Requirements + + These are requirements that any message tracking solution must be +able to satisfy: + + The message tracking solution: + + ** MUST scale to the internet. + + ** MUST be easy to deploy. + + ** SHOULD maximize the reuse of existing, already deployed tech- + nology and infrastructure. + + ** SHOULD extend existing protocols and not invent new ones. + + ** SHOULD have a low implementation cost. (This makes it easy to + incorporate into existing products.) + + ** MUST restrict tracking of a message to the originator of the + message (or a delegate). + + ** MUST be able to do authentication. + + ** MAY allow an originator to delegate this responsibility to a + third party. + + + +Hansen,Lin [Page 4] + +Internet Draft Message Tracking Model and Requirements July 14, 2000 + + + ** SHOULD have the property that they would allow per-message + delegation of the tracking responsibility. + + ** MUST require a tracking user agent to prove that they are per- + mitted to request the tracking information. + + ** MUST be able to uniquely identify messages. + + ** MUST require every message to have unique identification. + +5. Interaction Models + + There are several models by which tracking of messages can be +enabled, by which messages can be tracked, and by which information can +be requested and gathered. + +5.1. Tracking Enabling Models + + Either the envelope or message header must contain enough informa- +tion to track a message and securely retrieve information about the mes- +sage. Any message that does not have enough information to track it is +by definition not trackable. + + If there is not enough information available in current standard +envelopes or message headers, then the current standards will need to be +extended. Either the MUA or MSA must determine the additional informa- +tion and enable the tracking by adding the additional information to +either the envelope or header. + + This leads to two tracking enabling models: passive enabling and +active enabling. + +5.1.1. Passive Enabling Model +The "passive enabling" model assumes that there is sufficient informa- +tion available. No UA or MSA interaction occurs to turn tracking on; it +is on by default. + +5.1.2. Active Enabling Model + + The "active enabling" model requires that the MUA and MSA exchange +information when the message is submitted. This exchange indicates that +logging of the message's traversal should be performed, as well as pro- +viding enough additional information to allow the message to be tracked. +This information will need to be passed on to subsequent MTAs as needed. + +5.2. Tracking Request Models +There are several models by which tracking information may be requested. + + + + +Hansen,Lin [Page 5] + +Internet Draft Message Tracking Model and Requirements July 14, 2000 + + +5.2.1. Passive Request Model + + The "passive request" model requires active enabling to indicate +that some form of tracking is to be performed. The tracking information +can be sent back immediately (as a form of telemetry) or sent to a 3rd +party for later retrieval. + +5.2.2. Passive Request Tracking Information + + Forms of passive tracking information that could potentially be +requested are as follows. Note that mechanisms already exist for +requesting the information marked with a (+). The references for such +mechanisms are listed at the end of each such entry. + + ** send a DSN of a message arriving at an intermediate MTA + + ** (+) send a DSN of a message being rejected while at an inter- + mediate MTA [RFC-DSN] + + ** (+) send a DSN of a message leaving an intermediate MTA and + going to another MTA [RFC-DELIVER-BY] + + ** send a DSN of a message arriving at a final MTA + + ** (+) send a DSN of a message being rejected while at a final + MTA [RFC-DSN] + + ** (+) send a DSN of a message being delivered to a user's mes- + sage store [RFC-DSN] + + ** (+) send a DSN of a message being delivered to a foreign MTA + [RFC-DSN] + + ** (+) send an MDN of a message being read by an end user [RFC- + MDN] + +5.3. Active Request Model + + The "active request" model requires an active query by a user's +user agent to the MSA, intermediate MTAs and final MTA, or to a third +party, to find the message's status as known by that MTA. Active +request will work with either passive enabling or active enabling. + +5.3.1. Server Chaining vs. Server Referrals +When a tracking server has been asked for tracking information, and the +message has been passed on to another MTA of which this tracking server +has no tracking knowledge, there are two modelling choices: + + + + +Hansen,Lin [Page 6] + +Internet Draft Message Tracking Model and Requirements July 14, 2000 + + + ** the first tracking server will contact the next tracking + server to query for status and pass back the combined status + (server chaining), or + + ** the first tracking server will return the address of the next + MTA and the tracking client has the responsibility of contact- + ing the next tracking server (server referrals). + +5.3.2. Active Request Tracking Information +Forms of active tracking information that could potentially be requested +are as follows. (Note that no mechanisms currently exist for requesting +such information.) + + ** the message has been queued for later delivery + + ** the message was delivered locally + + ** the message was delivered to another MTA, + + ** the message was delivered to a foreign MTA + + ** ask a different tracking server, + + ** I know but can't tell you, + + ** I don't know. + +5.4. Combining DSN and MDN Information with Message Tracking Informa- +tion + + The information that would be retrieved by message tracking and the +information that is returned for DSN and MDN requests all attempt to +answer the question of "what happened to message XX"? The information +provided by each is complementary in nature, but similar. A tracking +user agent could use all three possible information sources to present +a total view of the status of a message. + + Both DSN and MDN notifications utilize the formats defined by RFC +1892 [RFC-REPORT]. This suggests that the information returned by mes- +sage tracking solutions should also be similar. + +6. Security + + This is a security model for message identification and authentica- +tion that could be deployed. (There may be others.) + + A Tracking User Agent must prove that they are permitted to request +tracking information about a message. Every [RFC-822]-compliant message + + + +Hansen,Lin [Page 7] + +Internet Draft Message Tracking Model and Requirements July 14, 2000 + + +is supposed to contain a Message-Id header. One possible mechanism is +for the originator to calculate a one-way hash A from the message ID + +time stamp + a per-user secret. The user then calculates another one- +way hash B to be the hash of A. The user includes B in the submitted +message, and retains A. Later, when the user makes a message tracking +request to the messaging system or tracking entity, it submits A in the +tracking request. The entity receiving the tracking request then uses A +to calculate B, since it was already provided B, verifying that the +requestor is authentic. In summary, + + A = H(message ID + time stamp + secret) + + B = H(A) + +Another possible mechanism for A is to ignore the message ID and time +stamp and just use a one-way hash from a large (>128 bits) random +number. B would be calculated as before. In summary, + + A = H(large-random-number) + + B = H(A) + +This is similar in technique to the methods used for One-Time Passwords +[RFC-OTP]. The success of these techniques is dependent on the random- +ness of the per-user secret or the large random number, which can be +incredibly difficult in some environments. + + If the originator of a message were to delegate his or her tracking +request to a third party by sending them A, this would be vulnerable to +snooping over unencrypted sessions. The user can decide on a message- +by-message basis if this risk is acceptable. + +7. References + + + [RFC-822] Crocker, D., "Standard for the Format of ARPA Internet + Text Messages", STD 11, RFC 822, UDEL, August 1982. + + [RFC-DELIVER-BY] + Newman, D., "Deliver By SMTP Service Extension", draft- + newman-deliver-02.txt, Innosoft, January 1999. + + [RFC-DSN] Moore, K., and G. Vaudreuil, "An Extensible Message For- + mat for Delivery Status Notifications", RFC 1894, Univer- + sity of Tennessee, Octel Network Services, January 1996. + + [RFC-ESMTP-DSN] + Moore, K., "SMTP Service Extension for Delivery Status + + + +Hansen,Lin [Page 8] + +Internet Draft Message Tracking Model and Requirements July 14, 2000 + + + Notifications", RFC 1891, University of Tennessee, Janu- + ary 1996. + + [RFC-KEYWORDS] + Bradner, S., "Key words for use in RFCs to Indicate + Requirement Levels", RFC 2119, Harvard University, March + 1997. + + [RFC-MDN] Fajman, R., "An Extensible Message Format for Message + Disposition Notifications", RFC 2298, National Institutes + of Health, March 1998. + + [RFC-OTP] Haller, N., Metz, C., Nesser, P., Straw, M., "A One-Time + Password System", RFC 2289, Bellcore, Kaman Sciences Cor- + poration, Nesser & Nesser Consulting, Bellcore, February + 1998. + + [RFC-REPORT] + Vaudreuil, G., "The Multipart/Report Content Type for the + Reporting of Mail System Administrative Messages", RFC + 1892, Octel Network Services, January 1996. + + [RFC-SMTP]Postel, J., "Simple Mail Transfer Protocol", STD 10, RFC + 821, USC/Information Sciences Institute, August 1982. + +8. Acknowledgements + + This document is the product of input from many people and many +sources. It owes much to earlier work by Gordon Jones, Bruce Ernst and +Greg Vaudreuil. + +9. Authors' Addresses + Tony Hansen + AT&T Laboratories + Lincroft, NJ 07738 + USA + + Phone: +1 732 576-3207 + E-Mail: tony@att.com + + Ken Lin + Lotus Development Corporation + 640 Lee Road + Wayne, PA 19087 + + Phone: +1 610 251-3380 + E-Mail: ken_lin@lotus.com + + + + +Hansen,Lin [Page 9] + +Internet Draft Message Tracking Model and Requirements July 14, 2000 + + +10. Full Copyright Statement + + Copyright (C) The Internet Society (1999). All Rights Reserved. + + This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it or +assist in its implmentation may be prepared, copied, published and dis- +tributed, in whole or in part, without restriction of any kind, provided +that the above copyright notice and this paragraph are included on all +such copies and derivative works. However, this document itself may not +be modified in any way, such as by removing the copyright notice or +references to the Internet Society or other Internet organisations, +except as needed for the purpose of developing Internet standards in +which case the procedures for copyrights defined in the Internet Stan- +dards process must be followed, or as required to translate it into +languages other than English. + + The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + + This document and the information contained herein is provided on +an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT +NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL +NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR +FITNESS FOR A PARTICULAR PURPOSE. + + This document expires January 14, 2001. + + + + + + + + + + + + + + + + + + + + + + + +Hansen,Lin [Page 10] diff --git a/Documentation/en/I-D/draft-ietf-msgtrk-mtqp-00.txt b/Documentation/en/I-D/draft-ietf-msgtrk-mtqp-00.txt new file mode 100644 index 00000000..f7f485a1 --- /dev/null +++ b/Documentation/en/I-D/draft-ietf-msgtrk-mtqp-00.txt @@ -0,0 +1,507 @@ + + + + + + +Internet Draft T. Hansen +draft-ietf-msgtrk-mtqp-00.txt AT&T Laboratories +Valid for six months + July 1, 2000 + + + + Message Tracking Query Protocol + + <draft-ietf-msgtrk-mtqp-00.txt> + + Authors' version: 1.3 + + Status of this Memo + + This document is an Internet-Draft and is in full conformance with +all provisions of Section 10 of RFC2026. + + Internet-Drafts are working documents of the Internet Engineering +Task Force (IETF), its areas, and its working groups. Note that other +groups may also distribute working documents as Internet-Drafts. + + 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." + + The list of current Internet-Drafts can be accessed at +http://www.ietf.org/ietf/1id-abstracts.txt. + + The list of Internet-Draft Shadow Directories can be accessed at +http://www.ietf.org/shadow.html. + + This memo and its companions are discussed on the MSGTRK working +group mailing list, ietf-msgtrk@imc.org. To subscribe, send a message +with the word "subscribe" in the body (on a line by itself) to the +address ietf-msgtrk-request@imc.org. An archive of the mailing list may +be found at http://www.ietf.org/archive/msgtrk. + +Copyright Notice + + Copyright (C) The Internet Society (1999). All Rights Reserved. + +Abstract + + Customers buying enterprise message systems often ask: Can I track +the messages? Message tracking is the ability to find out the path that +a particular message has taken through a messaging system and the + + + +Hansen,Allman [Page 1] + +Internet Draft Message Tracking Query Protocol July 1, 2000 + + +current routing status of that message. This document describes the +Message Tracking Query Protocol that is used in conjunction with exten- +sions to the ESMTP protocol to provide a complete message tracking solu- +tion for the Internet. + + NOTE: This is a straw proposal for the Message Tracking Query Pro- +tocol. + +1. Introduction + + The Message Tracking Models and Requirements document [RFC-TRACK- +MODEL] discusses the models that message tracking solutions could fol- +low, along with requirements for a message tracking solution that can be +used with the Internet-wide message infrastructure. This memo and its +companions, [RFC-TRACK-ESMTP] and [RFC-TRACK-TSN], describe a complete +message tracking solution that satisfies those requirements. The memo +[RFC-TRACK-ESMTP] defines an extension to the SMTP service that provides +the information necessary to track messages. This memo defines a proto- +col that can be used to query the status of messages that have been +transmitted on the Internet via SMTP. The memo [RFC-TRACK-TSN] +describes the message/tracking-status MIME media type that is used to +report tracking status information. Using the model document's termi- +nology, this solution uses active enabling and active requests with both +request and chaining referrals. + +1.1. Terminology + + The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", +"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this +document are to be interpreted as described in [RFC-KEYWORDS]. + + All syntax descriptions use the ABNF specified by [RFC-ABNF]. +Unless otherwise noted, any terminal nodes not defined here are defined +in [RFC-ABNF]. + +2. Basic Operation + + The Message Tracking Query Protocol (MTQP) is similar to many other +line-oriented Internet protocols, such as [POP3] and [NNTP]. Initially, +the server host starts the MTQP service by listening on TCP port ????. +When a client wishes to make use of the service, it establishes a TCP +connection with the server host. When the connection is established, +the MTQP SERVER SENDS A GREETING. The client and MTQP server then +exchange commands and responses (respectively) until the connection is +closed or aborted. + + Commands in MTQP consist of a case-insensitive keyword, possibly +followed by one or more parameters. All commands are terminated by a + + + +Hansen,Allman [Page 2] + +Internet Draft Message Tracking Query Protocol July 1, 2000 + + +CRLF pair. Keywords and parameters consist of printable ASCII charac- +ters. Keywords and parameters are separated by whitespace (one or more +space or tab characters). A command line is limited to 998 characters +before the CRLF. + + Responses in MTQP consist of a status indicator that indicates suc- +cess or failure, possibly followed by whitespace and additional informa- +tion. Successful commands may also be followed by additional lines of +data. All response lines are terminated by a CRLF pair and are limited +to 998 characters before the CRLF. There are several status indicators: +"+OK" indicates success; "+OK+" indicates a success followed by addi- +tional lines of data, a multi-line success response; "-TEMP" indicates a +temporary failure; "-ERR" indicates a permanent failure; and "-BAD" +indicates a protocol error (such as for unrecognized commands). + + A multi-line success response may take one of two forms. If the +end of the +OK+ line contains the character "{", a number, and the char- +acter "}" before the CRLF, then the rest of the response consists of +that number of characters. + + If the multi-line success response does not end with "{number}", +each subsequent line is terminated by a CRLF pair and limited to 998 +characters before the CRLF. When all lines of the response have been +sent, a final line is sent consisting of a single period (".", decimal +code 046) and a CRLF pair. If any line of the multi-line response +begins with a period, the line is "dot-stuffed" by prepending the period +with a second period. When examining a multi-line response, the client +checks to see if the line begins with a period. If so, and other octets +other than CRLF follow, the first octet of the line (the period) is +stripped away. If so, and if CRLF immediately follows the period, then +the response from the MTQP server is ended and the line containing the +".CRLF" is not considered part of the multi-line response. + + An MTQP server MUST respond to an unrecognized, unimplemented, or +syntactically invalid command by responding with a negative -BAD status +indicator. A server MUST respond to a command issued when the session +is in an incorrect state by responding with a negative -ERR status indi- +cator. + + An MTQP server MAY have an inactivity autologout timer. Such a +timer MUST be of at least 10 minutes' duration. The receipt of any com- +mand from the client during that interval should suffice to reset the +autologout timer. + +3. Initialization + + Once the TCP connection has been opened by an MTQP client, the MTQP +server issues an initial status response indicates its readiness. If + + + +Hansen,Allman [Page 3] + +Internet Draft Message Tracking Query Protocol July 1, 2000 + + +the status response is positive (+OK or +OK+), the client may proceed +with other commands. + + If the server has any options enabled, they are listed as the +multi-line response of the initial status response, one per line. An +option specification consists of an identifier, optionally followed by +option-specific parameters. An option specification may be continued +onto additional lines by starting the continuation lines with white +space. + + No options are defined in this document. + + Example #1 (no options): + S: +OK MTQ server ready + + Example #2 (service temporarily unavailable): + S: -TEMP Service down for admin, call back later + + Example #3 (service permanently unavailable): + S: -ERR Service down + + Example #4 (alternative for no options): + S: +OK+ MTQ server ready + S: . + + Example #5 (options available): + S: +OK+ MTQ server ready + S: Option1 parameters + S: Option2 + S: Option3 a very long + S: list of parameters + S: . + +4. TRACK Command + + Syntax: + "TRACK" 1*WS tracking-id 1*WS authorization-cookie *WS CRLF + + tracking-id = TBD + + authorization-cookie = TBD + + When the client issues the TRACK command, the MTQP server retrieves +tracking information about an email message. A successful response MUST +be multi-line, consisting of a [MIME] mail message whose default +content-type is message/tracking-status, as defined in [RFC-TRACK-TSN]. +This message contains the tracking information about the email message +that used the given tracking-id. The tracking-id and authorization- + + + +Hansen,Allman [Page 4] + +Internet Draft Message Tracking Query Protocol July 1, 2000 + + +cookie are defined in [RFC-TRACK-ESMTP]. The authorization-cookie is +expressed in hexadecimal. + + Example #6 + C: TRACK <tracking-id> 1234567890ABCDEF + S: +OK+ Tracking information follows + S: Content-Type: message/tracking-status + S: + S: ... details go here ... + S: . + +5. NOOP Command + + Syntax: + "NOOP" opt-text CRLF + + When the client issues the NOOP command, the MTQP server resets the +inactivity autologout timer. The server MUST respond with a successful +response (+OK or +OK+). All parameters to the NOOP command are ignored. + +6. QUIT Command + + Syntax: + "QUIT" *WS CRLF + + When the client issues the QUIT command, the MTQP session ter- +minates. The QUIT command has no parameters. The server MUST respond +with a successful response. The client may close the session from its +end immediately after issuing this command. + +7. Pipelining + + The MTQP client may elect to transmit groups of MTQP commands in +batches without waiting for a response to each individual command. The +MTQP server MUST process the commands in the order received. The fol- +lowing two examples are identical: + + Example #7 + C: TRACK <tracking-id> 1234567890ABCDEF + S: +OK+ Tracking information follows + S: + S: ... details go here ... + S: . + C: NOOP + S: +OK Status okay + + Example #8 + C: TRACK <tracking-id> 1234567890ABCDEF + + + +Hansen,Allman [Page 5] + +Internet Draft Message Tracking Query Protocol July 1, 2000 + + + C: NOOP + S: +OK+ Tracking information follows + S: + S: ... details go here ... + S: . + S: +OK Status okay + +8. URL Format + + The MTQP URL scheme is used to designate MTQP servers on Internet +hosts accessible using the MTQP protocol. An MTQP URL takes one of the +following forms: + + mtqp://<mserver>/track/<tracking-id>:<cookie> + mtqp://<mserver>:<port>/track/<tracking-id>:<cookie> + + The first form is used to refer to an MTQP server on the standard +port, while the second form specifies a non-standard port. Both of +these forms specify that the TRACK command is to be issued using the +given tracking id and authorization cookie. The path element "/track/" +is case insensitive, but the tracking id may not be. + +8.1. MTQP URL Syntax + + This is an ABNF description of the MTQP URL. Terminal nodes not +defined here are defined in either [RFC-URL] or [RFC-ABNF]. + + mtqp-url = "mtqp://" net_loc "/track/" tracking-id ":" cookie + + tracking-id = TBD + + cookie = 16HEXDIG + +9. IANA Considerations + + TBD - registering extensions + +10. Security Considerations + + Security considerations discussed in [RFC-TRACK-MODEL] and [RFC- +TRACK-ESMTP] are relevant. + +11. Protocol Syntax + + This is an ABNF description of MTQP. + command-response = success-response / temp-response / error-response / bad-response + + temp-response = "-TEMP" opt-text CRLF + + + +Hansen,Allman [Page 6] + +Internet Draft Message Tracking Query Protocol July 1, 2000 + + + opt-text = [WSP *(VCHAR / WSP)] + + error-response = "-ERR" opt-text CRLF + + bad-response = "-BAD" opt-text CRLF + + success-response = single-line-success / multi-line-success / multi-char-success + + single-line-success = "+OK" opt-text CRLF + + multi-char-success = "+OK+" opt-text "{" 1*DIGIT "}" *WSP CRLF *OCTET + ; the number of characters specified by {number} ; must be + sent + + multi-line-success = "+OK+" opt-text CRLF *dataline dotcrlf + + dataline = *998OCTET CRLF + + dotcrlf = "." CRLF + + option-list = *option-line + + option-line = rulename opt-text *[CRLF WSP opt-text] CRLF + +12. References + + [MIME] RFC 2045, N. Freed & N. Borenstein, "Multipurpose Internet +Mail Extensions (MIME) Part One: Format of Internet Message Bodies", +November 1996. + + + [RFC-821] STD 10, RFC 821, J. Postel, "Simple Mail Transfer Proto- +col", University of Southern California / Information Sciences Insti- +tute, August 1982. + + [RFC-822] STD 11, RFC 822, D. Crocker, "Standard for the Format of +ARPA Internet Text Messages", University of Delaware, August 1982. + + [RFC-ABNF] RFC 2234, D. Crocker, Editor, and P. Overell, "Augmented +BNF for Syntax Specifications: ABNF", November 1997. + + [RFC-ESMTP] RFC 1651, J. Klensin, N. Freed, M. Rose, E. Stefferud, +and D. Crocker, "SMTP Service Extensions", Silicon Graphics, Inc., July +1994. + + [RFC-KEYWORDS] RFC 2119, S. Bradner, "Key words for use in RFCs to +Indicate Requirement Levels", March 1997. + + + + +Hansen,Allman [Page 7] + +Internet Draft Message Tracking Query Protocol July 1, 2000 + + + [RFC-MD5] RFC 1321, R. Rivest, "The MD5 Message-Digest Algorithm", +April 1992. + + [RFC-TRACK-MODEL] draft-ietf-msgtrk-model-02.txt, T. Hansen, K. +Lin, "Message Tracking Models and Requirements", AT&T Laboratories, +Lotus Development Corporation, ???? 2000. + + [RFC-TRACK-ESMTP] draft-ietf-msgtrk-smtpext-*.txt, E. Allman, "SMTP +Service Extension for Message Tracking", Sendmail, Inc., ???? 2000. + + [RFC-TRACK-TSN] draft-ietf-msgtrk-trkstat-00.txt, E. Allman, "The +Message/Tracking-Status MIME Extension", Sendmail, Inc., ???? 2000. + + [RFC-URL] RFC 1808, R. Fielding, "Relative Uniform Resource Loca- +tors", June 1995. + +13. Authors' Addresses + + Tony Hansen + AT&T Laboratories + Lincroft, NJ 07738 + USA + + Phone: +1.732.576.3207 + E-Mail: tony@att.com + +14. Full Copyright Statement + + Copyright (C) The Internet Society (1999). All Rights Reserved. + + This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it or +assist in its implmentation may be prepared, copied, published and dis- +tributed, in whole or in part, without restriction of any kind, provided +that the above copyright notice and this paragraph are included on all +such copies and derivative works. However, this document itself may not +be modified in any way, such as by removing the copyright notice or +references to the Internet Society or other Internet organisations, +except as needed for the purpose of developing Internet standards in +which case the procedures for copyrights defined in the Internet Stan- +dards process must be followed, or as required to translate it into +languages other than English. + + The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + + This document and the information contained herein is provided on +an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING + + + +Hansen,Allman [Page 8] + +Internet Draft Message Tracking Query Protocol July 1, 2000 + + +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT +NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL +NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR +FITNESS FOR A PARTICULAR PURPOSE. + + This document expires January 1, 2001. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Hansen,Allman [Page 9] + diff --git a/Documentation/en/I-D/draft-ietf-msgtrk-mtqp-01.txt b/Documentation/en/I-D/draft-ietf-msgtrk-mtqp-01.txt new file mode 100644 index 00000000..fc6bc4ae --- /dev/null +++ b/Documentation/en/I-D/draft-ietf-msgtrk-mtqp-01.txt @@ -0,0 +1,731 @@ + + + + + + +Internet Draft T. Hansen +draft-ietf-msgtrk-mtqp-01.txt AT&T Laboratories +Valid for six months November 21, 2000 + + + + Message Tracking Query Protocol + + <draft-ietf-msgtrk-mtqp-01.txt> + + Authors' version: 1.5 + + Status of this Memo + + This document is an Internet-Draft and is in full conformance with +all provisions of Section 10 of RFC2026. + + Internet-Drafts are working documents of the Internet Engineering +Task Force (IETF), its areas, and its working groups. Note that other +groups may also distribute working documents as Internet-Drafts. + + 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." + + The list of current Internet-Drafts can be accessed at +http://www.ietf.org/ietf/1id-abstracts.txt. + + The list of Internet-Draft Shadow Directories can be accessed at +http://www.ietf.org/shadow.html. + + This memo and its companions are discussed on the MSGTRK working +group mailing list, ietf-msgtrk@imc.org. To subscribe, send a message +with the word "subscribe" in the body (on a line by itself) to the +address ietf-msgtrk-request@imc.org. An archive of the mailing list may +be found at http://www.ietf.org/archive/msgtrk. + +Copyright Notice + + Copyright (C) The Internet Society (1999). All Rights Reserved. + +Abstract + + Customers buying enterprise message systems often ask: Can I track +the messages? Message tracking is the ability to find out the path that +a particular message has taken through a messaging system and the +current routing status of that message. This document describes the + + + +Hansen [Page 1] + +Internet Draft Message Tracking Query Protocol November 21, 2000 + + +Message Tracking Query Protocol that is used in conjunction with exten- +sions to the ESMTP protocol to provide a complete message tracking solu- +tion for the Internet. + +1. Introduction + + The Message Tracking Models and Requirements document [RFC-TRACK- +MODEL] discusses the models that message tracking solutions could fol- +low, along with requirements for a message tracking solution that can be +used with the Internet-wide message infrastructure. This memo and its +companions, [RFC-TRACK-ESMTP] and [RFC-TRACK-TSN], describe a complete +message tracking solution that satisfies those requirements. The memo +[RFC-TRACK-ESMTP] defines an extension to the SMTP service that provides +the information necessary to track messages. This memo defines a proto- +col that can be used to query the status of messages that have been +transmitted on the Internet via SMTP. The memo [RFC-TRACK-TSN] +describes the message/tracking-status MIME media type that is used to +report tracking status information. Using the model document's termi- +nology, this solution uses active enabling and active requests with both +request and chaining referrals. + +1.1. Terminology + + The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", +"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this +document are to be interpreted as described in [RFC-KEYWORDS]. + + All syntax descriptions use the ABNF specified by [RFC-ABNF]. Ter- +minal nodes not defined elsewhere in this document are defined in [RFC- +ABNF], [RFC-URI], [RFC-TRACK-ESMTP] or [RFC-SMTPEXT]. + +1.2. To Do + + provide information on finding an MTQP server + + provide TTL info, maximum times for keeping info + + determine the TCP port to use + +2. Basic Operation + + The Message Tracking Query Protocol (MTQP) is similar to many other +line-oriented Internet protocols, such as [POP3] and [NNTP]. Initially, +the server host starts the MTQP service by listening on TCP port TBD. +When a client wishes to make use of the service, it establishes a TCP +connection with the server host. When the connection is established, +the MTQP server sends a greeting. The client and MTQP server then +exchange commands and responses (respectively) until the connection is + + + +Hansen [Page 2] + +Internet Draft Message Tracking Query Protocol November 21, 2000 + + +closed or aborted. + +2.1. Commands + + Commands in MTQP consist of a case-insensitive keyword, possibly +followed by one or more parameters. All commands are terminated by a +CRLF pair. Keywords and parameters consist of printable ASCII charac- +ters. Keywords and parameters are separated by whitespace (one or more +space or tab characters). A command line is limited to 998 characters +before the CRLF. + +2.2. Responses + + Responses in MTQP consist of a status indicator that indicates suc- +cess or failure. Successful commands may also be followed by additional +lines of data. All response lines are terminated by a CRLF pair and are +limited to 998 characters before the CRLF. There are several status +indicators: "+OK" indicates success; "+OK+" indicates a success fol- +lowed by additional lines of data, a multi-line success response; "- +TEMP" indicates a temporary failure; "-ERR" indicates a permanent +failure; and "-BAD" indicates a protocol error (such as for unrecognized +commands). + + A status indicator MAY be followed by a series of machine- +parseable, case-insensitive response information giving more data about +the errors. These are separated from the status indicator and each +other by a single slash character ("/", decimal code 47). Following +that, there MAY be white space and a human-readable text message. + + In a multi-line success response, each subsequent line is ter- +minated by a CRLF pair and limited to 998 characters before the CRLF. +When all lines of the response have been sent, a final line is sent con- +sisting of a single period (".", decimal code 046) and a CRLF pair. If +any line of the multi-line response begins with a period, the line is +"dot-stuffed" by prepending the period with a second period. When exa- +mining a multi-line response, the client checks to see if the line +begins with a period. If so, and octets other than CRLF follow, the +first octet of the line (the period) is stripped away. If so, and if +CRLF immediately follows the period, then the response from the MTQP +server is ended and the line containing the ".CRLF" is not considered +part of the multi-line response. + + An MTQP server MUST respond to an unrecognized, unimplemented, or +syntactically invalid command by responding with a negative -BAD status +indicator. A server MUST respond to a command issued when the session +is in an incorrect state by responding with a negative -ERR status indi- +cator. + + + + +Hansen [Page 3] + +Internet Draft Message Tracking Query Protocol November 21, 2000 + + +2.3. Optional Timers + + An MTQP server MAY have an inactivity autologout timer. Such a +timer MUST be of at least 10 minutes in duration. The receipt of any +command from the client during that interval should suffice to reset the +autologout timer. An MTQP server MAY limit the number of commands or +total connection time to prevent denial of service attacks. + +3. Initialization and Option Response + + Once the TCP connection has been opened by an MTQP client, the MTQP +server issues an initial status response indicates its readiness. If +the status response is positive (+OK or +OK+), the client may proceed +with other commands. + + The initial status response MUST include the response information +"/MTQP". Negative responses MUST include a reason code as response +information. The following reason codes are defined here; unrecognized +reason codes added in the future may be treated as equivalent to +"unknown". + "/" "unavailable" + "/" "admin" + "/" "unknown" + "/" "referral" "=" net_loc + + If the server has any options enabled, they are listed as the +multi-line response of the initial status response, one per line. An +option specification consists of an identifier, optionally followed by +option-specific parameters. An option specification may be continued +onto additional lines by starting the continuation lines with white +space. The option identifier is case insensitive. Option identifiers +beginning with the characters "vnd." are reserved for vendor use. + + One option specification is defined here: + + STARTTLS + +This capability MUST be listed if the optional STARTTLS command is sup- +ported by the MTQP server. It has no parameters. + + Example #1 (no options): + S: +OK/MTQP MTQP server ready + + Example #2 (service temporarily unavailable): + S: -TEMP/MTQP/admin Service down for admin, call back later + + Example #3 (service permanently unavailable): + S: -ERR/MTQP/unavailable Service down + + + +Hansen [Page 4] + +Internet Draft Message Tracking Query Protocol November 21, 2000 + + + Example #4 (alternative for no options): + S: +OK+/MTQP MTQP server ready + S: . + + Example #5 (options available): + S: +OK+/MTQP MTQP server ready + S: starttls + S: Option2 with parameters + S: Option3 with a very long + S: list of parameters + S: . + + Example #6 (Referred to another server): + S: -ERR/MTQP/referral=server42.example.com:37 + +4. TRACK Command + + Syntax: + "TRACK" 1*WSP envid 1*WSP mtrk-secret CRLF + + mtrk-secret = base64 + + Envid is defined in [RFC-TRACK-ESMTP]. Mtrk-secret is the secret S +described in [RFC-TRACK-ESMTP], encoded using base64. + + When the client issues the TRACK command, the MTQP server retrieves +tracking information about an email message. A successful response MUST +be multi-line, consisting of a [MIME] body part. The default content- +type for this MIME body part is message/tracking-status, as defined in +[RFC-TRACK-TSN]. The response contains the tracking information about +the email message that used the given tracking-id. Multiple responses +would be reported using a multipart/mixed body part with +message/tracking-status internals. The tracking-id and authorization- +cookie are defined in [RFC-TRACK-ESMTP]. + + TBD: Give details on different modes of responses and how they map +into message/tracking-status + + Example #7 : + C: TRACK <tracking-id> 1234567890ABCDEF + S: +OK+ Tracking information follows + S: Content-Type: message/tracking-status + S: + S: ... details go here when ... + S: ... draft-ietf-msgtrk-trkstat becomes available ... + S: . + + + + + +Hansen [Page 5] + +Internet Draft Message Tracking Query Protocol November 21, 2000 + + +5. COMMENT Command + + Syntax: + "COMMENT" opt-text CRLF + + opt-text = [WSP *(VCHAR / WSP)] + + When the client issues the COMMENT command, the MTQP server MUST +respond with a successful response (+OK or +OK+). All optional text +provided with the COMMENT command are ignored. + +6. STARTTLS Command + + Syntax: + "STARTTLS" CRLF + + TLS [TLS], more commonly known as SSL, is a popular mechanism for +enhancing TCP communications with privacy and authentication. An MTQP +server MAY support TLS. If an MTQP server supports TLS, it MUST include +"STARTTLS" in the option specifications list on protocol startup. + + If the server returns a negative response, it MAY use one of the +following response codes: + "/" "unsupported" + "/" "unavailable" + + After receiving a positive response to a STARTTLS command, the +client MUST start the TLS negotiation before giving any other MTQP com- +mands. + + If the MTQP client is using pipelining, the STARTTLS command must +be the last command in a group. + +6.1. Processing After the STARTTLS Command + + After the TLS handshake has been completed, both parties MUST +immediately decide whether or not to continue based on the authentica- +tion and privacy achieved. The MTQP client and server may decide to move +ahead even if the TLS negotiation ended with no authentication and/or no +privacy because most MTQP services are performed with no authentication +and no privacy, but some MTQP clients or servers may want to continue +only if a particular level of authentication and/or privacy was +achieved. + + If the MTQP client decides that the level of authentication or +privacy is not high enough for it to continue, it SHOULD issue an MTQP +QUIT command immediately after the TLS negotiation is complete. If the +MTQP server decides that the level of authentication or privacy is not + + + +Hansen [Page 6] + +Internet Draft Message Tracking Query Protocol November 21, 2000 + + +high enough for it to continue, it SHOULD reply to every MTQP command +from the client (other than a QUIT command) with a negative "-BAD" +response and a response code of "/insecure". + +6.2. Result of the STARTTLS Command + + Upon completion of the TLS handshake, the MTQP protocol is reset to +the initial state (the state in MTQP after a server starts up). The +server MUST discard any knowledge obtained from the client prior to the +TLS negotiation itself. The client MUST discard any knowledge obtained +from the server, such as the list of MTQP options, which was not +obtained from the TLS negotiation itself. + + At the end of the TLS handshake, the server acts as if the connec- +tion had been initiated and responds with an initial status response +and, optionally, a list of server options. The list of MTQP server +options received after the TLS handshake MUST be different than the list +returned before the TLS handshake. In particular, a server MUST NOT +return the STARTTLS option in the list of server options after a TLS +handshake has completed. + + Both the client and the server MUST know if there is a TLS session +active. A client MUST NOT attempt to start a TLS session if a TLS ses- +sion is already active. + +7. QUIT Command + + Syntax: + "QUIT" CRLF + + When the client issues the QUIT command, the MTQP session ter- +minates. The QUIT command has no parameters. The server MUST respond +with a successful response. The client may close the session from its +end immediately after issuing this command. + +8. Pipelining + + The MTQP client may elect to transmit groups of MTQP commands in +batches without waiting for a response to each individual command. The +MTQP server MUST process the commands in the order received. + + Specific commands may place further constraints on pipelining. For +example, STARTTLS must be the last command in a batch of MTQP commands. + + The following two examples are identical: + + Example #8 : + C: TRACK <tracking-id> 1234567890ABCDEF + + + +Hansen [Page 7] + +Internet Draft Message Tracking Query Protocol November 21, 2000 + + + S: +OK+ Tracking information follows + S: + S: ... details go here ... + S: . + C: TRACK <tracking-id-2> ABCDEF1234567890 + S: +OK+ Tracking information follows + S: + S: ... details #2 go here ... + S: . + + Example #9 : + C: TRACK <tracking-id> 1234567890ABCDEF + C: TRACK <tracking-id-2> ABCDEF1234567890 + S: +OK+ Tracking information follows + S: + S: ... details go here ... + S: . + S: +OK+ Tracking information follows + S: + S: ... details #2 go here ... + S: . + +9. URL Format + + The MTQP URL scheme is used to designate MTQP servers on Internet +hosts accessible using the MTQP protocol. An MTQP URL takes one of the +following forms: + + mtqp://<mserver>/track/<envid>/<mtrk-secret> + mtqp://<mserver>:<port>/track/<envid>/<mtrk-secret> + + The first form is used to refer to an MTQP server on the standard +port, while the second form specifies a non-standard port. Both of +these forms specify that the TRACK command is to be issued using the +given tracking id and authorization cookie. The path element "/track/" +is case insensitive, but the envid and mtrk-secret may not be. + +9.1. MTQP URL Syntax + + This is an ABNF description of the MTQP URL. + + mtqp-url = "mtqp://" net_loc "/track/" envid ":" mtrk-secret + +10. IANA Considerations + + The service name to be registered with the Internet Assigned Number +Authority (IANA) is "MTQP". + + + + +Hansen [Page 8] + +Internet Draft Message Tracking Query Protocol November 21, 2000 + + + This document requests that IANA maintain one new registry: MTQP +options. + + Additional options for this protocol whose names do not begin with +"vnd." MUST be defined in a standards track or IESG approved experimen- +tal RFC. New MTQP options MUST include the following information: + + option identifier + option parameters + added commands + standard commands affected + specification reference + discussion + + Additional options for this protocol whose names begin with "vnd." +MUST be registered with IANA on a Firt Come First Served basis. + +11. Security Considerations + + Security considerations discussed in [RFC-TRACK-MODEL] and [RFC- +TRACK-ESMTP] are relevant. + + The security of tracking information is dependent on the randomness +of the secret chosen for each message and the level of exposure of that +secret. If different secrets are used for each message, then the max- +imum exposure from tracking any message will be that single message for +the time that the tracking information is kept on any MTQP server. If +this level of exposure is too much, TLS may be used to reduce the expo- +sure further. + + It should be noted that message tracking is not an end-to-end +mechanism. Thus, if an MTQP client/server pair decide to use TLS +privacy, they are not securing tracking queries with any prior or suc- +cessive MTQP servers. + + Both the STMP client and server must check the result of the TLS +negotiation to see whether acceptable authentication or privacy was +achieved. Ignoring this step completely invalidates using TLS for secu- +rity. The decision about whether acceptable authentication or privacy +was achieved is made locally, is implementation-dependant, and is beyond +the scope of this document. + + The SMTP client and server should note carefully the result of the +TLS negotiation. If the negotiation results in no privacy, or if it +results in privacy using algorithms or key lengths that are deemed not +strong enough, or if the authentication is not good enough for either +party, the client may choose to end the MTQP session with an immediate +QUIT command, or the server may choose to not accept any more MTQP + + + +Hansen [Page 9] + +Internet Draft Message Tracking Query Protocol November 21, 2000 + + +commands. + + A man-in-the-middle attack can be launched by deleting the +"STARTTLS" option response from the server. This would cause the client +not to try to start a TLS session. An MTQP client can protect against +this attack by recording the fact that a particular MTQP server offers +TLS during one session and generating an alarm if it does not appear in +an option response for a later session. + + If TLS is not used, a tracking request is vulnerable to replay +attacks, such that a snoop can later replay the same handshake again to +potentially gain more information about a message's status. + + Before the TLS handshake has begun, any protocol interactions are +performed in the clear and may be modified by an active attacker. For +this reason, clients and servers MUST discard any knowledge obtained +prior to the start of the TLS handshake upon completion of the TLS +handshake. + +12. Protocol Syntax + + This is a collected ABNF description of the MTQP protocol. + conversation = command-response *( client-command command-response ) + + # client side + client-command = track-command / starttls-command / quit-command / comment-command + + track-command = "TRACK" 1*WS envid 1*WS mtrk-secret CRLF + + mtrk-secret = base64 + + starttls-command = "STARTTLS" CRLF + + quit-command = "QUIT" CRLF + + comment-command = "COMMENT" opt-text CRLF + + # server side + command-response = success-response / temp-response / error-response / bad-response + + temp-response = "-TEMP" response-info opt-text CRLF + + opt-text = [WSP *(VCHAR / WSP)] + + error-response = "-ERR" response-info opt-text CRLF + + bad-response = "-BAD" response-info opt-text CRLF + + + + +Hansen [Page 10] + +Internet Draft Message Tracking Query Protocol November 21, 2000 + + + success-response = single-line-success / multi-line-success + + single-line-success = "+OK" response-info opt-text CRLF + + multi-line-success = "+OK+" response-info opt-text CRLF *dataline dotcrlf + + dataline = *998OCTET CRLF + + dotcrlf = "." CRLF + + option-list = *option-line + + option-line = identifier opt-text *[CRLF WSP opt-text] CRLF + + identifier = (ALPHA / "_") *(ALPHA / DIGIT / "-" / "_") + + +13. Acknowledgements + + The description of STARTTLS is based on [RFC-SMTP-TLS]. + +14. References + + [MIME] RFC 2045, N. Freed & N. Borenstein, "Multipurpose Internet +Mail Extensions (MIME) Part One: Format of Internet Message Bodies", +November 1996. + + [RFC-821] STD 10, RFC 821, J. Postel, "Simple Mail Transfer Proto- +col", University of Southern California / Information Sciences Insti- +tute, August 1982. + + [RFC-822] STD 11, RFC 822, D. Crocker, "Standard for the Format of +ARPA Internet Text Messages", University of Delaware, August 1982. + + [RFC-ABNF] RFC 2234, D. Crocker, Editor, and P. Overell, "Augmented +BNF for Syntax Specifications: ABNF", November 1997. + + [RFC-ESMTP] RFC 1651, J. Klensin, N. Freed, M. Rose, E. Stefferud, +and D. Crocker, "SMTP Service Extensions", Silicon Graphics, Inc., July +1994. + + [RFC-KEYWORDS] RFC 2119, S. Bradner, "Key words for use in RFCs to +Indicate Requirement Levels", March 1997. + + [RFC-MD5] RFC 1321, R. Rivest, MIT Laboratory for Computer Science +and RSA Data Security, Inc., "The MD5 Message-Digest Algorithm", April +1992. + + + + +Hansen [Page 11] + +Internet Draft Message Tracking Query Protocol November 21, 2000 + + + [RFC-SMTPEXT] RFC 2554, J. Myers, Netscape Communications, "SMTP +Service Extension for Authentication", March 1999. + + [RFC-SMTP-TLS] RFC2487, P. Hoffman, "SMTP Service Extension for +Secure SMTP over TLS", Internet Mail Consortium, January 1999. + + [RFC-TRACK-ESMTP] draft-ietf-msgtrk-smtpext-00.txt, E. Allman, T. +Hansen, "SMTP Service Extension for Message Tracking", Sendmail, Inc., +AT&T Laboratories, TBD 2000. + + [RFC-TRACK-MODEL] draft-ietf-msgtrk-model-03.txt, T. Hansen, "Mes- +sage Tracking Models and Requirements", AT&T Laboratories, November +2000. + + [RFC-TRACK-TSN] draft-ietf-msgtrk-trkstat-00.txt, E. Allman, "The +Message/Tracking-Status MIME Extension", Sendmail, Inc., TBD 2000. + + [RFC-URI] RFC 2396, T. Berners-Lee, R. Fielding, L. Masinter, "Uni- +form Resource Identifiers (URI): Generic Syntax", August 1998. + +15. Authors' Addresses + + Tony Hansen + AT&T Laboratories + Lincroft, NJ 07738 + USA + + Phone: +1.732.576.3207 + E-Mail: tony@att.com + +16. Full Copyright Statement + + Copyright (C) The Internet Society (1999). All Rights Reserved. + + This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it or +assist in its implmentation may be prepared, copied, published and dis- +tributed, in whole or in part, without restriction of any kind, provided +that the above copyright notice and this paragraph are included on all +such copies and derivative works. However, this document itself may not +be modified in any way, such as by removing the copyright notice or +references to the Internet Society or other Internet organisations, +except as needed for the purpose of developing Internet standards in +which case the procedures for copyrights defined in the Internet Stan- +dards process must be followed, or as required to translate it into +languages other than English. + + The limited permissions granted above are perpetual and will not be + + + +Hansen [Page 12] + +Internet Draft Message Tracking Query Protocol November 21, 2000 + + +revoked by the Internet Society or its successors or assigns. + + This document and the information contained herein is provided on +an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT +NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL +NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR +FITNESS FOR A PARTICULAR PURPOSE. + + This document expires May 21, 2001. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Hansen [Page 13] + diff --git a/Documentation/en/I-D/draft-ietf-msgtrk-protocol-00.txt b/Documentation/en/I-D/draft-ietf-msgtrk-protocol-00.txt new file mode 100644 index 00000000..e223f995 --- /dev/null +++ b/Documentation/en/I-D/draft-ietf-msgtrk-protocol-00.txt @@ -0,0 +1,500 @@ +Internet Draft E. Allman +draft-ietf-msgtrk-protocol-00.txt Sendmail, Inc. +Valid for six months T. Hansen + AT&T Laboratories + March 10, 2000 + + + + SMTP Service Extension + for Message Tracking + + <draft-ietf-msgtrk-protocol-00.txt> + + Authors' version: 1.1 + + Status of this Memo + + This document is an Internet-Draft and is in full conformance with +all provisions of Section 10 of RFC2026. + + Internet-Drafts are working documents of the Internet Engineering +Task Force (IETF), its areas, and its working groups. Note that other +groups may also distribute working documents as Internet-Drafts. + + 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." + + The list of current Internet-Drafts can be accessed at +http://www.ietf.org/ietf/1id-abstracts.txt. + + The list of Internet-Draft Shadow Directories can be accessed at +http://www.ietf.org/shadow.html. + + This memo and its companions are discussed on the MSGTRK working +group mailing list, ietf-msgtrk[-request]@imc.org. An archive of the +mailing list may be found at http://www.ietf.org/archive/msgtrk. + +Copyright Notice + + Copyright (C) The Internet Society (1999). All Rights Reserved. + +Abstract + + Customers buying enterprise message systems often ask: Can I track +the messages? Message tracking is the ability to find out the path that +a particular message has taken through a messaging system and the + + + +Allman,Hansen [Page 1] + +Internet Draft SMTP Message Tracking Extensions March 10, 2000 + + +current routing status of that message. This document provides exten- +sions to the ESMTP protocol to enhance its capabilities to include mes- +sage tracking. + +1. Introduction + + The Message Tracking Models and Requirements document [RFC-TRACK- +MODEL] discusses the models that message tracking solutions could fol- +low, along with requirements for a message tracking solution that can be +used with the Internet-wide message infrastructure. This memo defines +an extension to the SMTP service that provides a message tracking solu- +tion that satisfies those requirements. Using the model document's ter- +minology, it uses active enabling and active requests with request +referrals. + +.... + +This document is very drafty; its purpose is to promote discussion. +Sections that are obviously in need of filling out have comments begin- +ning with "--". + + +1.1. Terminology + + The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", +"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this +document are to be interpreted as described in RFC 2119 [RFC-KEYWORDS]. + + + +2. Framework for the Message Tracking Service Extension + + The Message Trackng extension to SMTP is laid out as follows: + + ** the name of the SMTP service defined here is "Message Track- + ing"; + + ** the EHLO keyword value associated with the extension is + "TRACK"; + + ** the TRACK keyword has no parameters; + + ** the TRACKID parameter is added to the MAIL FROM command; + + ** a new SMTP verb, "MTRK", is defined. + + The rest of this memo defines how support for the extension effects + the behavior of a message transfer agent. + + + +Allman,Hansen [Page 2] + +Internet Draft SMTP Message Tracking Extensions March 10, 2000 + + +3. Message Tracking Enabling + + An SMTP client wishing to request message tracking support for a +message may issue the EHLO command to start an SMTP session, to deter- +mine if the server supports any of several service extensions. If the +server responds with code 250 to the EHLO command, and the response +includes the EHLO keyword TRACK, then the Message Tracking extension (as +described in this memo) is supported. In general, an ESMTP server which +implements this service extension will propagate message tracking infor- +mation when relaying mail to other SMTP-based MTAs that also support +this extension, and make a "best effort" to record when messages are +passed into other environments. + +4. Additional Parameter for the MAIL FROM Command + + The extended MAIL FROM command is issued by a client when it wishes +to request that a server maintain tracking information for the message. +The extended MAIL FROM command is identical to the MAIL commands defined +in [RFC-821], except that the additional parameter may appear after the +recipient address. The general syntax for extended SMTP commands is +defined in [RFC-ESMTP]. + +4.1. The TRACKID parameter of the ESMTP MAIL FROM Command + + The TRACKID esmtp-keyword on the extended MAIL FROM command speci- +fies whether or not the message should be tracked by the server. If the +TRACKID esmtp-keyword is used, it MUST have an associated esmtp-value, +which is constructed as described next. + +4.2. Creating the TRACKID Parameter + + The TRACKID parameter consists of two parts: a per-message authen- +tication string, the Auth String, and a per-message tracking identifica- +tion string, the Tracking ID. + +4.2.1. Tracking ID + + A key requirement of message tracking is the ability to uniquely +identify a message with a globally and temporally unique signature. The +Message-Id: header is required by [RFC-822] to identify a message, and +is usually required to be globally and temporally unique. So it is +almost sufficient for tracking identification. However, a Message ID +will be reused under certain circumstances, such as when a message is +resent, and such messages must be able to be tracked separately from the +original message. The Tracking ID is REQUIRED to be the same value as +used for the Message ID, without the angle brackets, and augmented by a +colon ":" and a generational counter. The generational counter will be +an unsigned integer value that SHOULD start at the value of 0. For + + + +Allman,Hansen [Page 3] + +Internet Draft SMTP Message Tracking Extensions March 10, 2000 + + +example, if the value of the Message-ID: header is +"<123456.89012391@domain.example>", then the value of the tracking ID +will be "123456.89012391@domain.example:0". If a message is ever resent +or retransmitted for any other reason by an end-user client, then the +generational counter MUST be incremented by one. (The generational +counter MAY additionally be incremented by a small (<10) random number.) + +4.2.2. Secret Value + + For messages to be tracked, the mail user agent must use a secret +value. This secret value MAY be a per-message secret, such as a 128-bit +(16-byte) random number. + +4.2.3. Stored Authentication Value + + The value of the Tracking ID, T, is concatentated with the secret +value, S, and passed through the [RFC-MD5] one-way hash function, to +create the Stored Authentication Value, A. + + A = H(T + S) + + +4.2.4. Transmitted Authentication String + + The Transitted Authentication String, B, is created by passing the +Stored Authentication Value, A, through the MD5 one-way hash function, +producing a 16-byte value. This value is then expressed as a series of +32 hexadecimal digits, either lower- or upper-case, transmitted in +internet byte order (low-endian ???? ) [RFC-????]. + + B = hex(H(A)) + +4.2.5. The TRACKID Parameter + + The TRACKID parameter, P, is created from the transmitted authenti- +cation string, B, a colon ":", and the tracking ID, T. + + P = B + ":" + T + + +5. Message Tracking Requests + + The MTRK command is issued by the client host when it wishes to +determine the current status of a message previously sent to that server +host. The syntax of this command is as follows: + + MTRK <stored-authentication-value>:<tracking-id><CR><LF> + + + + +Allman,Hansen [Page 4] + +Internet Draft SMTP Message Tracking Extensions March 10, 2000 + + +<tracking-id> is the tracking ID, T, of a message previously sent to +this server. The <stored-authentication-value> is the Stored Authenti- +cation Value A (as calculated above) for that message. The <stored- +authentication-value> is expressed as a series of 32 hexadecimal digits, +either lower- or upper-case, transmitted in internet byte order [RFC- +????]. This command may be issued at any time once a session is esta- +blished, as long as there is not a transaction occurring. Thus, this +command is illegal between a MAIL FROM: command and the end of the DATA +commands and responses. + +things to add: +-- data to be returned +-- states to be returned +-- format to be returned +-- responses to the verb, 250, 4xx, 5xx + + +other things to consider: +-- firewalls? (treat as gateway MTAs and let them do chaining?) +-- affect on SUBMIT? can we ask MSA to return the A and B hash? +-- use message-id directly and require message-id to be in first 1k of +message? + + +6. Examples + + -- examples go here + +6.1. Message Tracking Enabling + + + S: 220 smtp.example.com ESMTP server ready + C: EHLO example.example.com + S: 250-smtp.example.com + S: 250 TRACK + C: MAIL FROM:<user@example.com> + TRACKID=1234567890123456789012:12345.54321@example.com:0 + S: 250 <user@example.com> sender ok + C: RCPT TO:<user2@example.com> + S: 25o <user2@example.com> recipient ok + C: DATA + S: 354 okay, send message + C: Message-Id: <12345.54321@example.com> + C: (rest of message here) + C: . + S: 250 message accepted + C: QUIT + S: 221 goodbye + + + +Allman,Hansen [Page 5] + +Internet Draft SMTP Message Tracking Extensions March 10, 2000 + + +6.2. Message Tracking Request + + S: 220 smtp.example.com ESMTP server ready + C: EHLO example.example.com + S: 250-smtp.example.com + S: 250 TRACK + C: MTRK 1234567890123456789012:12345.54321@example.com:0 + S: -- response to be determined + +7. Security Considerations + + things to add: +-- text about no more than a single message can be lost +-- man in the middle attack +-- see RFC 1894 for security considerations on DSNs and RFC 2298 on MDNs + +-- We probably cannot get away with the following statement: + +This RFC does not discuss security issues and is not believed to raise +any security issues not already endemic in electronic mail and present +in fully conforming implementations of [RFC821], or otherwise made pos- +sible by [MIME]. + + +8. References + + [RFC-821] Postel, J., "Simple Mail Transfer Protocol", STD 10, RFC +821, University of Southern California / Information Sciences Institute, +August 1982. + +[RFC-822] Crocker, D., "Standard for the Format of ARPA Internet Text +Messages", STD 11, RFC 822, University of Delaware, August 1982. + +[RFC-ESMTP] Klensin, J., Freed, N., Rose, M., Stefferud, E., and D. +Crocker, "SMTP Service Extensions", RFC 1651, MCI, Innosoft, Dover Beach +Consulting, Inc., Network Management Associates, Inc., Silicon Graphics, +Inc., July 1994. + +[RFC-MD5] Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321, +April 1992. + +[RFC-MODEL] Hansen, T., "Message Tracking Models and Requirements", RFC +????, AT&T Laboratories, ???? 2000. + +[RFC-????] something on internet byte order + + + + + + +Allman,Hansen [Page 6] + +Internet Draft SMTP Message Tracking Extensions March 10, 2000 + + +9. Authors' Addresses + + Eric Allman + Sendmail, Inc. + street address + city, state zip + + Phone: +1 + E-Mail: eric@sendmail.com + + Tony Hansen + AT&T Laboratories + Lincroft, NJ 07738 + USA + + Phone: +1 732 576-3207 + E-Mail: tony@att.com + +10. Full Copyright Statement + + Copyright (C) The Internet Society (1999). All Rights Reserved. + + This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it or +assist in its implmentation may be prepared, copied, published and dis- +tributed, in whole or in part, without restriction of any kind, provided +that the above copyright notice and this paragraph are included on all +such copies and derivative works. However, this document itself may not +be modified in any way, such as by removing the copyright notice or +references to the Internet Society or other Internet organisations, +except as needed for the purpose of developing Internet standards in +which case the procedures for copyrights defined in the Internet Stan- +dards process must be followed, or as required to translate it into +languages other than English. + + The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + + This document and the information contained herein is provided on +an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT +NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL +NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR +FITNESS FOR A PARTICULAR PURPOSE. + + This document expires September 10, 2000. + + + + + +Allman,Hansen [Page 7] + +Internet Draft SMTP Message Tracking Extensions March 10, 2000 + + +11. Appendix A -- Sample Code + + For the sake of illustration, we provide the following sample C +code for the creation of the saved and transmitted authentication +strings. The code is based on MD5 code as described in [RFC-MD5]. The +input is a secret and transaction ID, the output is two 33-byte strings +containing the values of the two authentication strings, encoded as hex +digits, and NUL-terminated. + +-- I have not yet compiled this code or verified that it does indeed +generate network byte order. + /* + ** Function: trackauth + */ + #include <md5.h> + + void + trackauth( + /* input parameters ... */ + unsigned char* secret; /* pointer to secret */ + int secret_len; /* length of secret */ + unsigned char* transaction_id; /* pointer to transaction ID */ + int transaction_id_len; /* length of transaction ID */ + /* output parameters ... */ + unsigned char saved_auth_str[33]; /* A: saved authentication string */ + unsigned char trans_auth_str[33]; /* B: transmitted auth. string */ + ) + { + MD5_CTX context; /* MD5 engine */ + unsigned char outbuf[16]; /* where to store the context */ + register int i, j; /* counters */ + static char hexdigits[] = "0123456789abcdef"; + + MD5Init(&context); + MD5Update(&context, secret, secret_len); + MD5Update(&context, transaction_id, transaction_id_len); + MD5Final(outbuf, &context); + for (i = 0, j = 0; i < 16; i++) + { + saved_auth_str[j++] = hexdigits[outbuf[i] & 0xF]; + saved_auth_str[j++] = hexdigits[(outbuf[i] >> 4) & 0xF]; + } + saved_auth_str[j] = '\0'; + + MD5Init(&context); + MD5Update(&context, saved_auth_str, 16); + MD5Final(outbuf, &context); + for (i = 0, j = 0; i < 16; i++) + + + +Allman,Hansen [Page 8] + +Internet Draft SMTP Message Tracking Extensions March 10, 2000 + + + { + trans_auth_str[j++] = hexdigits[outbuf[i] & 0xF]; + trans_auth_str[j++] = hexdigits[(outbuf[i] >> 4) & 0xF]; + } + trans_auth_str[j] = '\0'; + } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Allman,Hansen [Page 9] diff --git a/Documentation/en/I-D/draft-ietf-msgtrk-trkstat-00.txt b/Documentation/en/I-D/draft-ietf-msgtrk-trkstat-00.txt new file mode 100644 index 00000000..dc8e5758 --- /dev/null +++ b/Documentation/en/I-D/draft-ietf-msgtrk-trkstat-00.txt @@ -0,0 +1,498 @@ +Internet Draft E. Allman +draft-ietf-msgtrk-trkstat-00.txt Sendmail, Inc. +Valid for six months December 14, 2000 +Updates: RFC 1893 + + + + + The Message/Tracking-Status MIME Extension + + <draft-ietf-msgtrk-trkstat-00.txt> + +Status of This Memo + + This document is an Internet-Draft and is in full conformance +with all provisions of Section 10 of RFC2026. Internet-Drafts are +working documents of the Internet Engineering Task Force (IETF), its +areas, and its working groups. Note that other groups may also dis- +tribute working documents as Internet-Drafts. + + 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." + + The list of current Internet-Drafts can be accessed at: + + http://www.ietf.org/ietf/1id-abstracts.txt + +The list of Internet-Draft Shadow Directories can be accessed at: + + http://www.ietf.org/shadow.html + + + This document is a submission by the MSGTRK Working Group of the +Internet Engineering Task Force (IETF). Comments should be submitted +to the msgtrk@imc.org mailing list. An archive of the mailing list +may be found at + + http://www.ietf.org/archive/msgtrk + + + Distribution of this memo is unlimited. + +1. Abstract + + Message Tracking is expected to be used to determine the sta- + tus of undelivered e-mail upon request. Tracking is used in con- + junction with Delivery Status Notifications [RFC-DSN-SMTP] and Mes- + sage Disposition Notifications [RFC-MDN]; generally, a message + tracking request will be issued only when a DSN or MDN has not been + received within a reasonable timeout period. + + This memo defines a MIME [RFC-MIME] content-type for message + tracking status in the same spirit as RFC 1894, ``An Extensible + Message Format for Delivery Status Notifications'' [RFC-DSN-STAT]. + +Internet Draft Message/Tracking-Status December 14, 2000 + + + It is to be issued upon a request as described in ``Message Track- + ing Query Protocol'' [DRAFT-MTRK-MTQP]. This memo defines only the + format of the status information. An extension to SMTP [RFC-ESMTP] + to label messages for further tracking and request tracking status + is defined in a separate memo [DRAFT-MTRK-SMTPEXT]. + +2. Other Documents and Conformance + + The model used for Message Tracking is described in [DRAFT- + MTRK-MODEL]. + + Message tracking is intended for use as a "last resort" mecha- + nism. Normally, Delivery Status Notifications (DSNs) [RFC-DSN- + SMTP] and Message Disposition Notifications (MDNs) [RFC-MDN] would + provide the primary delivery status. Only if no response from + either of these mechanisms would Message Tracking be used. + + This document is based on [RFC-DSN-STAT]. Sections 1.3 (Ter- + minology), 2.1.1 (General conventions for DSN fields), 2.1.2 + ("*-type" subfields), and 2.1.3 (Lexical tokens imported from RFC + 822) of [RFC-DSN-STAT] are included into this document by refer- + ence. Other sections are further incorporated as described herein. + + Syntax notation in this document conforms to [RFC-ABNF]. + + The following lexical tokens, defined in [RFC-MSGFMT], are + used in the ABNF grammar for MTSNs: atom, CHAR, comment, CR, CRLF, + DIGIT, LF, linear-white-space, SPACE, text. The date-time lexical + token is defined in [RFC-HOSTREQ]. + + The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL + NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" + in this document are to be interpreted as described in RFC 2119 + [RFC-KEYWORDS]. + + +3. Format of a Message Tracking Status Notification + + A Message Tracking Status Notification (MTSN) is intended to + be returned as the body of a Message Tracking request [DRAFT-MTRK- + MTQP]. The actual body MUST be a multipart/related [RFC-RELATED] + with type of "tracking-status"; each subpart MUST be type "mes- + sage/tracking-status" as described herein. + + 3.1. The message/tracking-status content-type + + The message/tracking-status content-type is defined as fol- + lows: + + MIME type name: message + MIME subtype name: tracking-status + Optional parameters: none + Encoding considerations: "7bit" encoding is sufficient and + MUST be used to maintain readability + when viewed by non-MIME mail readers. + Security considerations: discussed in section 4 of this memo. + + +Allman [Page 2] + +Internet Draft Message/Tracking-Status December 14, 2000 + + + The body of a message/tracking-status is modeled after + [RFC-DSN-STAT]. That body consists of one or more "fields" for- + matted to according to the ABNF of RFC 822 headers "fields" (see + [RFC-MSGFMT]). The per-message fields appear first, followed by + a blank line. Following the per-message fields are one or more + groups of per-recipient fields. Each group of per-recipient + fields is preceded by a blank line. Formally, the syntax of the + message/tracking-status content is as follows: + + tracking-status-content = + per-message-fields 1*( CRLF per-recipient-fields ) + + The per-message fields are described in section 3.2. The per- + recipient fields are described in section 3.3. + + 3.1.1. General conventions for MTSN fields + + Section 2.1.1 (General conventions for DSN fields) of + [RFC-DSN-STAT] is included herein by reference. Notably, the + definition of xtext is identical to that of that document. + + 3.1.2. *-type subfields + + Section 2.1.2 (*-type subfields) of [RFC-DSN-STAT] is + included herein by reference. Notably, the definitions of + address-type, diagnostic-type, and MTA-name type are identi- + cal to that of RFC 1894. + + + 3.2. Per-Message MTSN Fields + + Some fields of an MTSN apply to all of the addresses in a + single envelope. These fields may appear at most once in any + MTSN. These fields are used to correlate the MTSN with the + original message transaction and to provide additional informa- + tion which may be useful to gateways. + + per-message-fields = + original-envelope-id-field CRLF + reporting-mta-field CRLF + arrival-date CRLF + *( extension-field CRLF ) + + + 3.2.1. The Original-Envelope-Id field + + The optional Original-Envelope-Id field is defined as in + section 2.2.1 of [RFC-DSN-STAT]. This field is REQUIRED. + + 3.2.2. The Reporting-MTA field + + The Reporting-MTA field is defined as in section 2.2.2 + of [RFC-DSN-STAT]. This field is REQUIRED. + + + + + +Allman [Page 3] + +Internet Draft Message/Tracking-Status December 14, 2000 + + + 3.2.3. The Arrival-Date field + + The Arrival-Date field is defined as in section 2.2.5 of + [RFC-DSN-STAT]. This field is REQUIRED. + + + 3.3. Per-Recipient MTSN fields + + An MTSN contains information about attempts to deliver a + message to one or more recipients. The delivery information for + any particular recipient is contained in a group of contiguous + per-recipient fields. Each group of per-recipient fields is + preceded by a blank line. + + The syntax for the group of per-recipient fields is as fol- + lows: + + per-recipient-fields = + original-recipient-field CRLF + final-recipient-field CRLF + action-field CRLF + status-field CRLF + [ remote-mta-field CRLF ] + [ last-attempt-date-field CRLF ] + [ will-retry-until-field CRLF ] + *( extension-field CRLF ) + + + 3.3.1. Original-Recipient field + + The optional Original-Recipient field is defined as in + section 2.3.1 of [RFC-DSN-STAT]. This field is REQUIRED. + + 3.3.2. Final-Recipient field + + The required Final-Recipient field is defined as in sec- + tion 2.3.2 of [RFC-DSN-STAT]. This field is REQUIRED. + + 3.3.3. Action field + + The required Action field indicates the action performed + by the Reporting-MTA as a result of its attempt to delivery + the message to this recipient address. This field MUST be + present for each recipient named in the MTSN. The syntax is + as defined in section 2.3.3 of RFC 1894. This field is + REQUIRED. + + Valid actions are: + + failed The message could not be delivered. If DSNs + have been enabled, a "failed" DSN should already + have been returned. + + delayed The message is currently waiting in the MTA + queue for future delivery. Essentially, this + action means "the message is located, and it is + + +Allman [Page 4] + +Internet Draft Message/Tracking-Status December 14, 2000 + + + here." + + delivered The message has been successfully delivered to + the final recipient. This includes "delivery" + to a mailing list exploder. No further informa- + tion is available; in particular, the tracking + agent SHOULD NOT attempt further "downstream" + tracking requests. + + relayed The message has been delivered into an environ- + ment that does not support message tracking. No + further information is available; in particular, + the tracking agent SHOULD NOT attempt further + "downstream" tracking requests. + + transferred The message has been transferred to another + MTRK-compliant MTA. The tracking agent SHOULD + attempt further "downstream" tracking requests. + + opaque The message may or may not have been seen by + this system. No further information is avail- + able or forthcoming. + + 3.3.4. Status field + + The Status field is defined as in RFC 1894 section + 2.3.4. A new code is added to RFC 1893 [RFC-EMSSC], + "Enhanced Mail System Status Codes", + + X.1.9 Message relayed to non-compliant mailer" + + The mailbox address specified was valid, but the mes- + sage has been relayed to a system that does not speak + this protocol; no further information can be pro- + vided. + A 2.1.9 Status field MUST be used exclusively with a + "relayed" Action field. This field is REQUIRED. + + 3.3.5. Remote-MTA field + + The Remote-MTA field is defined as in section Reference + 2.3.5 of [RFC-DSN-STAT]. This field MUST NOT be included if + no delivery attempts have been made or if the Action field + has value "opaque". If delivery to some agent other than an + MTA (for example, a Local Delivery Agent) then this field MAY + be included, giving the name of the host on which that agent + was contacted. + + 3.3.6. Last-Attempt-Date field + + The Last-Attempt-Date field is defined as in section + Reference 2.3.7 of [RFC-DSN-STAT]. This field is REQUIRED if + any delivery attempt has been made, in which case it will + specify when it last attempted to deliver this message to + another MTA or other Delivery Agent. This field MUST NOT be + included if no delivery attempts have been made. + + +Allman [Page 5] + +Internet Draft Message/Tracking-Status December 14, 2000 + + + 3.3.7. Will-Retry-Until field + + The Will-Retry-Until field is defined as in section Ref- + erence 2.3.8 of [RFC-DSN-STAT]. This field is REQUIRED if + the message is still in the MTA queue. This field MUST NOT + be included if the message is not in the local queue. + + 3.4. Extension fields + + Future extension fields may be defined as defined in sec- + tion 2.4 of [RFC-DSN-STAT]. + + 3.5. Interaction Between MTAs and LDAs + + A message that has been delivered to an LDA that under- + stands message tracking (in particular, an LDA speaking LMTP + [RFC-LMTP] that supports the MTRK extension) SHOULD pass the + tracking request to the LDA. In this case, the Action field for + the MTA->LDA exchange will look the same as a transfer to a com- + pliant MTA; that is, a "transferred" tracking status will be + issued. + + +4. Security Issues + + 4.1. Forgery + + Malicious servers may attempt to subvert message tracking + and return false information. This could result in misdirection + or misinterpretation of results. + + 4.2. Confidentiality + + Another dimension of security is confidentiality. There + may be cases in which a message recipient is autoforwarding mes- + sages but does not wish to divulge the address to which the mes- + sages are autoforwarded. The desire for such confidentiality + will probably be heightened as "wireless mailboxes", such as + pagers, become more widely used as autoforward addresses. + + MTA authors are encouraged to provide a mechanism which + enables the end user to preserve the confidentiality of a for- + warding address. Depending on the degree of confidentiality + required, and the nature of the environment to which a message + were being forwarded, this might be accomplished by one or more + of: + + (a) respond with a "relayed" tracking status when a message is + forwarded to a confidential forwarding address, and dis- + abling further message tracking requests. + + (b) declaring the message to be delivered, issuing a "deliv- + ered" tracking status, re-sending the message to the confi- + dential forwarding address, and disabling further message + tracking requests. + + + +Allman [Page 6] + +Internet Draft Message/Tracking-Status December 14, 2000 + + + The tracking algorithms MUST NOT allow tracking through + list expansions. When a message is delivered to a list, a + tracking request MUST respond with an "expanded" tracking status + and MUST NOT display the contents of the list. + +5. References + + [DRAFT-MTRK-MODEL] + T. Hansen, ``Message Tracking Model and Requirements.'' + draft-ietf-msgtrk-model-03.txt. November 2000. + + [DRAFT-MTRK-MTQP] + T. Hansen, ``Message Tracking Query Protocol.'' draft-ietf- + msgtrk-mtqp-01.txt. November 2000. + + [DRAFT-MTRK-SMTPEXT] + E. Allman, ``SMTP Service Extension for Message Tracking.'' + draft-ietf-msgtrk-smtpext-00.txt. December 2000. + + [RFC-ABNF] + Crocker, D., Editor, and P. Overell, ``Augmented BNF for Syn- + tax Specifications: ABNF'', RFC 2234, November 1997. + + [RFC-DSN-REPT] + G. Vaudreuil, ``The Multipart/Report Content Type for the + Reporting of Mail System Administrative Messages.'' RFC 1892. + January 1996. + + [RFC-DSN-SMTP] + K. Moore, ``SMTP Service Extension for Delivery Status Notifi- + cations.'' RFC 1891. January 1996. + + [RFC-DSN-STAT] + K. Moore and G. Vaudreuil, ``An Extensible Message Format for + Delivery Status Notifications.'' RFC 1894. January 1996. + + [RFC-EMSSC] + G. Vaudreuil, ``Enhanced Mail System Status Codes.'' RFC + 1893. January 1996. + + [RFC-ESMTP] + Rose, M., Stefferud, E., Crocker, D., Klensin, J. and N. + Freed, ``SMTP Service Extensions.'' STD 10, RFC 1869. Novem- + ber 1995. + + [RFC-HOSTREQ] + R. Braden (ed.), ``Requirements for Internet Hosts -- Applica- + tion and Support.'' STD 3, RFC 1123. October 1989. + + [RFC-KEYWORDS] + S. Bradner, ``Key words for use in RFCs to Indicate Require- + ment Levels.'' RFC 2119. March 1997. + + [RFC-LMTP] + J. Myers, ``Local Mail Transfer Protocol.'' RFC 2033. Octo- + ber 1996. + + +Allman [Page 7] + +Internet Draft Message/Tracking-Status December 14, 2000 + + + [RFC-MDN] + R. Fajman, ``An Extensible Message Format for Message Disposi- + tion Notifications.'' RFC 2298. March 1998. + + [RFC-MIME] + N. Freed and N. Borenstein, ``Multipurpose Internet Mail + Extensions (MIME) Part One: Format of Internet Message Bod- + ies.'' RFC 2045. November 1996. + + [RFC-MSGFMT] + D. Crocker, ``Standard for the Format of ARPA Internet Text + Messages.'' RFC 822. August 1982. + + [RFC-RELATED] + E. Levinson, ``The MIME Multipart/Related Content-type.'' RFC + 2387. August 1998. + +6. Author's Address + + Eric Allman + Sendmail, Inc. + 6603 Shellmound + Emeryville, CA 94608 + U.S.A. + + E-Mail: eric@Sendmail.COM + Phone: +1 510 594 5501 + Fax: +1 510 594 5411 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Allman [Page 8] + diff --git a/Documentation/en/I-D/draft-jones-msgtrk-def-00.txt b/Documentation/en/I-D/draft-jones-msgtrk-def-00.txt new file mode 100644 index 00000000..adf5910a --- /dev/null +++ b/Documentation/en/I-D/draft-jones-msgtrk-def-00.txt @@ -0,0 +1,222 @@ +MSGTRK BOF G. Jones [gbjones@mitre.org] +INTERNET-DRAFT B. Ernst [bruce_ernst@lotus.ssw.com] +draft-ietf-jones-msgtrk-def-00.txt G. Vaudreuil [gregv@ons.octel.com] +Expires: February 1999 + + + + + + Basic Definition of Message Tracking + + +Status of this Memo + +This document is an Internet Draft. Internet Drafts are working +documents of the Internet Engineering Task Force (IETF), its Areas, +and its Working Groups. Note that other groups may also distribute +working documents as Internet Drafts. + +Internet Drafts are draft documents valid for a maximum of six +months. Internet Drafts may be updated, replaced, or obsoleted by +other documents at any time. It is not appropriate to use Internet +Drafts as reference material or to cite them other than as a "working +draft" or "work in progress." + +To view the entire list of current Internet-Drafts, please check +the "1id-abstracts.txt" listing contained in the Internet-Drafts +Shadow Directories on ftp.is.co.za (Africa), ftp.nordu.net (Northern +Europe), ftp.nis.garr.it (Southern Europe), munnari.oz.au (Pacific Rim), +ftp.ietf.org (US East Coast), or ftp.isi.edu(US West Coast). + + +Abstract + +This document defines message tracking as a prelude to the creation of +a message tracking model. Message tracking is a messaging management +function; it provides the ability to find out, after the fact, the path +that a particular message took through the messaging system, the current +status of that message, and its characteristics. + + +Definition + +Message tracking refers, in its simplest form, to determining the path an +RFC822 message has taken, its current location, and its characteristics. +Message tracking allows the originator of a message to issue a request +about a previously sent message, the answer to which contains the delivery +status, delivery time, delivered recipients, and other information about +the message. This is different from the delivery status notification (DSN) +function in use today, because DSNs are requested at the time of submission +and are generated automatically; alternatively a tracking request is +generated independently of the previously submitted message's status and is +done so on demand. + +This capability is analogous to the service provided by carriers of +conventional paper mail - the ability to quickly locate where a package is, +and to determine whether or not the package has been delivered to its +destination. An Internet-standard approach will allow development of +message tracking applications that can operate in a multi-vendor messaging +environment, and will encourage operation of the function across +administrative boundaries. + +One might ask: why should there be a standard for message tracking when +Internet domains will be unwilling to open themselves up to outside +tracking requests ? This is one reason why we design and implement +Internet standards. So that there is a reliable, secure, agreed upon +mechanism for message tracking that people will be willing to use. + +Companies have implemented and are implementing message tracking today. +Standardization of this technique will aid the Internet user community, +make Internet messaging more profitable, and fulfill a key messaging +management need. + + +Reasons for Message Tracking + +Message tracking is useful for determining the whereabouts and status of +"lost" messages, and for several other purposes: + +o When there is a lack of trust in the messaging system, such as when an +originator claims a message failed to be delivered, the point of failure +may be isolated. This includes messages that were never delivered or +messages that were delivered incorrectly. Message tracking thus adds to the +overall reliability of the mail system; + +o Per-message information can be used for accounting, billing, and +performance purposes. Traffic can be itemized on a per-origin or per- +destination basis by system or originator. This typically involves two +steps - collection of message traffic data, followed by the gehe time they +are submitted to an MTA up until the time a network of MTAs discharges the +message onward to another entity (e.g. a proprietary mail server, IMAP +server, and so on). + +o Message tracking information adds security in that the origins of +potential security threats can be more precisely determined. If a system +were flooded with traffic, for instance, the origin of this traffic would +become known. Message tracking information is suitable for routine security +audits containing the details of messaging traffic over specific time +intervals; + +o End-to-end delivery time could be measured; + +o Message tracking would aid in message loop detection, since unique +message identifiers of looping messages, when these exist, would be +recorded multiple times; + +o Performance characteristics about the type of messaging traffic could be +determined, such as when an inbound message causes the creation of multiple +outbound messages, and the percentage of messages that were actually +delivery reports or receipts. This is valuable for performance +measurement, among other reasons; + +o Standardized message tracking information acts as a bridge between +dissimilar messaging systems and dissimilar messaging communities; + + +Tracking Messages on the Public Internet + +One might ask: why bother to track messages if a majority of public +Internet traffic is point to point; messages don't live long enough to be +trackable, and are not an interesting event to track since you always +know the next point ? Just because you know where a message went that +doesn't mean you know what happened to it, how fast it got there, or what +was in it. As the Internet is used more and more for commercial/official +purposes a logging function is commonly embedded in the messaging system +internally. Even if most of the message traffic is point to point, this +point-to-point traffic is inter-domain, across firewalls, and thus it is +even more important to have a reliable tracking mechanism that +organizations can agree on. It is something that intra-domain messaging +users want. Even if 95% of transactions are point to point, the 5% that is +non point-to-point is still a huge amount of traffic, and this is exactly +the traffic that users will want to track. Once messaging traffic enters an +intranet or domain of any size it invariably encounters a more hierarchical +routing structure. + + +Who is Allowed to Track Messages + +Only the originators of messages are allowed to track their messages. +Optionally, an originator may delegate this responsibility to a third +party, but this is left for future study. + + +How Tracking is Done: Requests and Responses + +The originator will issue a message tracking request using the Unique +Message Identifier plus security information. The originator (of both +the message and the query at this point) will receive optional response +criteria such as the message disposition, delivered recipients, delivery +time, and the names of MTAs that handled the message. + + +Security for Message Originators + +One option for message security is that the originator calculates a hash A +to be equal to the hash of the message ID + time stamp + a per-user secret. +The user then calculates hash B to be the hash of A. The user includes B in +the submitted message, and retains A. Later, when the user makes a message +tracking request to the messaging system or tracking entity, it submits A +in the racking request. The entity receiving the tracking request then uses +A to calculate B, since it was already provided B, verifying that the +requestor is authentic. Summarily + +A = H(message ID + time stamp + secret) +B = H(A) + +If the originator of a message were to delegate his or her tracking request +to a third party by sending them A, this would be vulnerable to snooping +over unencrypted sessions, but the user can decide on a message-by-message +basis if this risk is acceptable. + + +Three Possible Architectures + +There are ways of accomplishing message tracking without mandating the +addition of large amounts of new infrastructure on the participants. +Optionally, if more infrastructure is proven to be a good and necessary +thing, it should be considered. + +In all cases, messages are only tracked from the time they are submitted +to an MTA up until the time a network of MTAs discharges the message +onward to another entity (e.g. a proprietary mail server, IMAP server, and +so on). + +The three architectural alternatives offered by the start-up working group +to date might be called "ask later", "ask now", and "ask someone else." + +Under "ask later", a user requests tracking as a service when submitting a +message, and then at a later time issues a separate tracking request to the +mail system. The user receives a response to the request from the tracking +entity. This has the advantage of being deployable within the existing SMTP +infrastructure. + +Under "ask now", a user requests tracking as a service while submitting a +message, and receives a step-by-step report contemporaneously from each MTA +that handles the message. This provides the user with a high level of +service, but also causes extra overhead: an additional message generated +for each hop the original message takes. + +Under "ask someone else", the user issues a separate message tracking +request to an entity other than the messaging system at a later time. +The user receives a response to the request from this same third-party +tracking entity. This has the advantage of allowing tracking to occur when +the messaging process has failed but the platform is still working. It also +off-loads the tracking function from the messaging system itself. It may, +however, require new infrastructure in order to support it. + +One possibility would be to implement "ask now" and "ask later" as SMTP +extensions. One could implement "ask someone else" as a UDP- or TCP-based +protocol, among other options. + + +Acknowledgments + +Thanks to all those who participated in the message tracking meetings. +Many thanks to Ned Freed and Harald Alvesrand for the hashing material. + + +Internet Draft Expires February 1999 Internet Draft + + + diff --git a/Documentation/en/I-D/draft-jones-msgtrk-def-01.txt b/Documentation/en/I-D/draft-jones-msgtrk-def-01.txt new file mode 100644 index 00000000..61c405bf --- /dev/null +++ b/Documentation/en/I-D/draft-jones-msgtrk-def-01.txt @@ -0,0 +1,228 @@ + +MSGTRK BOF G. Jones [TomorrowSys@yahoo.com] +INTERNET-DRAFT B. Ernst [bruce_ernst@lotus.ssw.com] +draft-jones-msgtrk-def-01.txt G. Vaudreuil [gregv@ons.octel.com] +Expires: September 1999 + + + + + + Basic Definition of Message Tracking + + +Status of this Memo + +This document is an Internet-Draft and is in full conformance with +all provisions of Section 10 of RFC2026. + +This document is an Internet Draft. Internet Drafts are working +documents of the Internet Engineering Task Force (IETF), its Areas, +and its Working Groups. Note that other groups may also distribute +working documents as Internet Drafts. + +Internet Drafts are draft documents valid for a maximum of six +months. Internet Drafts may be updated, replaced, or obsoleted by +other documents at any time. It is not appropriate to use Internet +Drafts as reference material or to cite them other than as a "working +draft" or "work in progress." + +To view the entire list of current Internet-Drafts, please check +the "1id-abstracts.txt" listing contained in the Internet-Drafts +Shadow Directories on ftp.is.co.za (Africa), ftp.nordu.net (Northern +Europe), ftp.nis.garr.it (Southern Europe), munnari.oz.au (Pacific Rim), +ftp.ietf.org (US East Coast), or ftp.isi.edu(US West Coast). + + +Abstract + +This document defines message tracking as a prelude to the creation of +a message tracking model. Message tracking is a messaging management +function; it provides the ability to find out, after the fact, the path +that a particular message took through the messaging system, the current +status of that message, and its characteristics. + + +Definition + +Message tracking refers, in its simplest form, to determining the path an +RFC822 message has taken, its current location, and its characteristics. +Message tracking allows the originator of a message to issue a request +about a previously sent message, the answer to which contains the delivery +status, delivery time, delivered recipients, and other information about +the message. This is different from the delivery status notification (DSN) +function in use today, because DSNs are requested at the time of submission +and are generated automatically; alternatively a tracking request is +generated independently of the previously submitted message's status and is +done so on demand. + +This capability is analogous to the service provided by carriers of +conventional paper mail - the ability to quickly locate where a package is, +and to determine whether or not the package has been delivered to its +destination. An Internet-standard approach will allow development of +message tracking applications that can operate in a multi-vendor messaging +environment, and will encourage operation of the function across +administrative boundaries. + +One might ask: why should there be a standard for message tracking when +Internet domains will be unwilling to open themselves up to outside +tracking requests ? This is one reason why we design and implement +Internet standards. So that there is a reliable, secure, agreed upon +mechanism for message tracking that people will be willing to use. + +Companies have implemented and are implementing message tracking today. +Standardization of this technique will aid the Internet user community, +make Internet messaging more profitable, and fulfill a key messaging +management need. + + +Reasons for Message Tracking + +Message tracking is useful for determining the whereabouts and status of +"lost" messages, and for several other purposes: + +o When there is a lack of trust in the messaging system, such as when an +originator claims a message failed to be delivered, the point of failure +may be isolated. This includes messages that were never delivered or +messages that were delivered incorrectly. Message tracking thus adds to the +overall reliability of the mail system; + +o Per-message information can be used for accounting, billing, and +performance purposes. Traffic can be itemized on a per-origin or per- +destination basis by system or originator. This typically involves two +steps - collection of message traffic data, followed by the gehe time they +are submitted to an MTA up until the time a network of MTAs discharges the +message onward to another entity (e.g. a proprietary mail server, IMAP +server, and so on). + +o Message tracking information adds security in that the origins of +potential security threats can be more precisely determined. If a system +were flooded with traffic, for instance, the origin of this traffic would +become known. Message tracking information is suitable for routine security +audits containing the details of messaging traffic over specific time +intervals; + +o End-to-end delivery time could be measured; + +o Message tracking would aid in message loop detection, since unique +message identifiers of looping messages, when these exist, would be +recorded multiple times; + +o Performance characteristics about the type of messaging traffic could be +determined, such as when an inbound message causes the creation of multiple +outbound messages, and the percentage of messages that were actually +delivery reports or receipts. This is valuable for performance +measurement, among other reasons; + +o Standardized message tracking information acts as a bridge between +dissimilar messaging systems and dissimilar messaging communities; + + +Tracking Messages on the Public Internet + +One might ask: why bother to track messages if a majority of public +Internet traffic is point to point; messages don't live long enough to be +trackable, and are not an interesting event to track since you always +know the next point ? Just because you know where a message went that +doesn't mean you know what happened to it, how fast it got there, or what +was in it. As the Internet is used more and more for commercial/official +purposes a logging function is commonly embedded in the messaging system +internally. Even if most of the message traffic is point to point, this +point-to-point traffic is inter-domain, across firewalls, and thus it is +even more important to have a reliable tracking mechanism that +organizations can agree on. It is something that intra-domain messaging +users want. Even if 95% of transactions are point to point, the 5% that is +non point-to-point is still a huge amount of traffic, and this is exactly +the traffic that users will want to track. Once messaging traffic enters an +intranet or domain of any size it invariably encounters a more hierarchical +routing structure. + + +Who is Allowed to Track Messages + +Only the originators of messages are allowed to track their messages. +Optionally, an originator may delegate this responsibility to a third +party, but this is left for future study. + + +How Tracking is Done: Requests and Responses + +The originator will issue a message tracking request using the Unique +Message Identifier plus security information. The originator (of both +the message and the query at this point) will receive optional response +criteria such as the message disposition, delivered recipients, delivery +time, and the names of MTAs that handled the message. + + +Security for Message Originators + +One option for message security is that the originator calculates a hash A +to be equal to the hash of the message ID + time stamp + a per-user secret. +The user then calculates hash B to be the hash of A. The user includes B in +the submitted message, and retains A. Later, when the user makes a message +tracking request to the messaging system or tracking entity, it submits A +in the racking request. The entity receiving the tracking request then uses +A to calculate B, since it was already provided B, verifying that the +requestor is authentic. Summarily + +A = H(message ID + time stamp + secret) +B = H(A) + +If the originator of a message were to delegate his or her tracking request +to a third party by sending them A, this would be vulnerable to snooping +over unencrypted sessions, but the user can decide on a message-by-message +basis if this risk is acceptable. + + +Three Possible Architectures + +There are ways of accomplishing message tracking without mandating the +addition of large amounts of new infrastructure on the participants. +Optionally, if more infrastructure is proven to be a good and necessary +thing, it should be considered. + +In all cases, messages are only tracked from the time they are submitted +to an MTA up until the time a network of MTAs discharges the message +onward to another entity (e.g. a proprietary mail server, IMAP server, and +so on). + +The three architectural alternatives offered by the start-up working group +to date might be called "ask later", "ask now", and "ask someone else." + +Under "ask later", a user requests tracking as a service when submitting a +message, and then at a later time issues a separate tracking request to the +mail system. The user receives a response to the request from the tracking +entity. This has the advantage of being deployable within the existing SMTP +infrastructure. + +Under "ask now", a user requests tracking as a service while submitting a +message, and receives a step-by-step report contemporaneously from each MTA +that handles the message. This provides the user with a high level of +service, but also causes extra overhead: an additional message generated +for each hop the original message takes. + +Under "ask someone else", the user issues a separate message tracking +request to an entity other than the messaging system at a later time. +The user receives a response to the request from this same third-party +tracking entity. This has the advantage of allowing tracking to occur when +the messaging process has failed but the platform is still working. It also +off-loads the tracking function from the messaging system itself. It may, +however, require new infrastructure in order to support it. + +One possibility would be to implement "ask now" and "ask later" as SMTP +extensions. One could implement "ask someone else" as a UDP- or TCP-based +protocol, among other options. + + +Acknowledgments + +Thanks to all those who participated in the message tracking meetings. +Many thanks to Ned Freed and Harald Alvesrand for the hashing material. + + +Internet Draft Expires September 1999 Internet Draft + + + + + |
