<?xml version="1.0" encoding="us-ascii"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">

<rfc ipr="trust200902" category="std"
        docName="draft-ietf-appsawg-rrvs-header-field-07">

<?rfc toc="yes" ?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes"?>
<?rfc strict="no" ?>
<?rfc rfcedstyle="yes"?>
<?rfc subcompact="no"?>

<front>
	<title abbrev="Require-Recipient-Valid-Since">
		The Require-Recipient-Valid-Since Header Field
		and SMTP Service Extension
	</title>

	<author initials="W. J." surname="Mills"
	        fullname="William J. Mills">

		<organization> Yahoo! Inc. </organization>

		<address>
			<email>wmills_92105@yahoo.com</email>
		</address>
	</author>

	<author initials="M. S." surname="Kucherawy"
	        fullname="Murray S. Kucherawy">

		<organization> Facebook, Inc. </organization>

		<address>
			<postal>
				<street>1 Hacker Way</street>
				<city>Menlo Park</city>
				<region>CA</region>
				<code>94025</code>
				<country>USA</country>
			</postal>
			<email>msk@fb.com</email>
		</address>
	</author>

	<date year="2014"/>

	<area>Applications</area>

	<abstract>
		<t> This document defines an extension for the Simple Mail
		    Transfer Protocol called RRVS, and a header field called
		    Require-Recipient-Valid-Since, to provide a method for
		    senders to indicate to receivers the point in time when
		    the sender last confirmed the ownership of the target
		    mailbox.  This can be used to detect changes of mailbox
		    ownership, and thus prevent mail from being delivered to
		    the wrong party. </t>

		<t> The intended use of these facilities is on automatically
		    generated messages that might contain sensitive
		    information, though it may also be useful in other
		    applications. </t>
	</abstract>
</front>

<middle>
	<section anchor="intro" title="Introduction">
		<t> Email addresses sometimes get reassigned to a different
		    person.  For example, employment changes at a company can
		    cause an address used for an ex-employee to be assigned to
		    a new employee, or a mail service provider (MSP) might
		    expire an account and then let someone else register for
		    the local-part that was previously used.  Those who sent
		    mail to the previous owner of an address might not know
		    that it has been reassigned.  This can lead to the sending
		    of email to the correct address, but the wrong
		    recipient. </t>

		<t> What is needed is a way to indicate an attribute of the
		    recipient that will distinguish between the previous owner
		    of an address and its current owner, if they are different.
		    Further, this needs to be done in a way that respects
		    privacy. </t>

		<t> The mechanisms specified here allow the sender of the mail
		    to indicate how "old" the address assignment is expected
		    to be.  In effect, the sender is saying, "The last time
		    the intended recipient was known to be using this address
		    was this point in time."  A receiving system can then
		    compare this information against the point in time at which
		    the address was assigned to its current user.  If the
		    assignment was made later than the point in time indicated
		    in the message, there is a good chance the current user of
		    the address is not the correct recipient.  The receiving
		    system can then choose to prevent delivery and, possibly,
		    to notify the original sender of the problem. </t>

		<t> The primary application is automatically generated messages
		    rather than user-authored content, though it may be useful
		    in other contexts.  </t>

		<t> One important point is that the protocols presented
		    here provide a way for a sending system to make a request
		    to receiving systems with respect to handling of a
		    message.  In the end, there is no guarantee that the
		    request will have the desired effect. </t>
	</section>

	<section title="Definitions" anchor="defs">
		<t> For a description of the email architecture, consult
		    <xref target="EMAIL-ARCH"/>. </t>

		<t> 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 <xref target="KEYWORDS"/>. </t>
	</section>

	<section title="Description" anchor="descr">
		<t> To address the problem described above, a mail sending
		    client needs to indicate to the server to which it is
		    connecting that there is an expectation that the
		    destination of the message has been under continuous
		    ownership (see <xref target="own"/>) since some point in
		    time, presumably the most recent time the message author
		    had confirmed its understanding of who owned that mailbox.
		    Two mechanisms are defined here: an extension to the
		    Simple Mail Transfer Protocol <xref target="SMTP"/>
		    and a new message header field.  The SMTP extension
		    permits strong assurance of enforcement by confirming
		    support at each handling step for a message.  The
		    header field does not provide the strong assurance, but
		    only requires adoption by the receiving Message Delivery
		    Agent (MDA). </t>

		<t> The SMTP extension is called "RRVS" (Require Recipient
		    Valid Since), and adds a parameter to the SMTP "RCPT"
		    command that indicates the most recent point in time when
		    the message author believed the destination mailbox to be
		    under the continuous ownership of a specific party.
		    Similarly, the Require-Recipient-Valid-Since header
		    field includes an intended recipient coupled with a
		    timestamp indicating the same thing. </t>

		<section anchor="descr_esmtp"
		         title="The 'RRVS' SMTP Extension">
			<t> Extensions to SMTP are described in Section 2.2 of 
			    <xref target="SMTP"/>. </t>

			<t> The name of the extension is "RRVS", an
			    abbreviation of "Require Recipient Valid Since".
			    Servers implementing the SMTP extension advertise
			    an additional EHLO keyword of "RRVS", which has
			    no associated parameters, introduces no new
			    SMTP commands, and does not alter the MAIL
			    command. </t>

			<t> A Message Transfer Agent (MTA) implementing RRVS
			    can transmit or accept a new parameter to the RCPT
			    command.  An MDA can also accept this new parameter.
			    The new parameter is "RRVS", which takes a value
			    that is a timestamp expressed as a
			    "date-time" as defined in
			    <xref target="DATETIME"/>, with the added
			    restriction that a "time-secfrac" MUST NOT
			    be used.  Accordingly, this extension increases
			    the maximum command length for the RCPT command by
			    31 characters. </t>

			<t> The meaning of this extension, when used, is
			    described in <xref target="op_esmtp"/>. </t>
		</section>

		<section anchor="descr_header"
		         title="The 'Require-Recipient-Valid-Since' Header Field">
			<t> The general constraints on syntax and placement of
			    header fields in a message are defined in Internet
			    Message Format <xref target="MAIL"/>. </t>

			<t> Using Augmented Backus-Naur Form
			    <xref target="ABNF"/>, the syntax for the field is:

		    	<figure><artwork>
  rrvs = "Require-Recipient-Valid-Since:" addr-spec ";" date-time
         CRLF
		    	</artwork></figure> </t>

			<t> "date-time"
			    is defined in Section 3.3, and "addr-spec" is
			    defined in Section 3.4.1, of
			    <xref target="MAIL"/>. </t>
		</section>

		<section anchor="timestamps" title="Timestamps">
			<t> The header field version of this protocol has a
			    different format for the date and time expression
			    than the SMTP extension does.  This is because
			    message header fields use a format to express
			    time and date that is specific to message header
			    fields, and this is consistent with that
			    usage. </t>

			<t> Use of both date and time is done to be
			    consistent with how current implementations
			    typically store the timestamp, and to make it
			    easy to include the time zone.  In practice,
			    granularity beyond the date may or may not be
			    useful. </t>
		</section>
	</section>

	<section anchor="op_send" title="Use By Generators">
		<t> When a message is generated whose content is
		    sufficiently sensitive that an author or author's
		    Administrative Management Domain (ADMD; see
		    <xref target="EMAIL-ARCH"/>) wishes to protect against
		    misdelivery using this protocol, it determines for each
		    recipient mailbox on the message a timestamp at which it
		    last confirmed ownership of that mailbox.  It then
		    applies either the SMTP extension or the header field
		    defined above when sending the message to its
		    destination. </t>

		<t> Use of the SMTP extension provided here is
		    preferable over the header field method because of:

		    <list style="numbers">
			<t> the positive confirmation of support at each
			    handling node; </t>

			<t> the fact that the protocol is focused on
			    affecting delivery (that is, the transaction)
			    rather than on content; and </t>

			<t> the fact that there is less risk of the
			    timestamp parameter being inadvertently
			    forwarded (see <xref target="priv_risks"/>). </t>
		    </list> </t>

		<t> The header field mechanism is defined only to
		    enable passage of the request between and through
		    systems that do not implement the SMTP
		    extension. </t>
	</section>

	<section anchor="op_recv" title="Handling By Receivers">
		<t> If a receiver implements this specification, then
		    there are two possible evaluation paths:

		    <list style="numbers">
			<t> The sending client implements the extension, and
			    so there was an RRVS parameter on a RCPT TO
			    command in the SMTP session and the parameters of
			    interest are taken only from there (and the
			    header field, if present, is disregarded); or </t>

			<t> The sending client does not (or elected not to)
			    implement the extension, so the RRVS parameter
			    was not present on the RCPT TO commands in the SMTP
			    session, but the corresponding header field might
			    be present in the message. </t>
		    </list> </t>

		<section anchor="op_esmtp" title="SMTP Extension Used">
			<t> For an MTA supporting the SMTP extension, the
			    requirement is to continue enforcement of
			    RRVS during the relaying process to the next MTA
			    or the MDA. </t>

			<t> A receiving MTA or MDA that implements the SMTP
			    extension declared above and observes an RRVS
			    parameter on a RCPT TO command checks whether the
			    current owner of the destination mailbox has held
			    it continuously, far enough back to include the
			    given point in time, and delivers it unless that
			    check returns in the negative.  Specifically, an
			    MDA will do the following before continuing with
			    delivery:

			    <list style="numbers">
				<t> Ignore the parameter if the named mailbox
				    is known to be a role account as listed in
			            Mailbox Names For Common Services, Roles
			            And Functions <xref target="ROLES"/>.
				    (See <xref target="roles"/>.) </t>

				<t> If the address is not known to be a role
				    account, and if that address has not been
				    under continuous ownership since the timestamp
				    specified in the extension, return a 550 error
				    to the RCPT command.  (See also
				    <xref target="iana_esc"/>.) </t>

				<t> If any Require-Recipient-Valid-Since header
				    fields are present and refer to the named
				    address, they SHOULD be removed prior to
				    delivery or relaying.  (See
				    <xref target="op_header"/> and
				    <xref target="conversion"/> for
				    discussion.) </t>
			    </list> </t>

			<section anchor="op_relay" title="Relays">
				<t> An MTA that does not make mailbox
				    ownership checks, such as an MTA
				    positioned to do SMTP ingress at an
				    organizational boundary, SHOULD relay the
				    RRVS extension parameter to the next MTA or
				    MDA so that it can be processed there. </t>

				<t> See <xref target="special_single"/> for
				    additional discussion. </t>
			</section>
		</section>
		
		<section anchor="op_header" title="Header Field Used">
			<t> A receiving system that implements this
			    specification, upon receiving a message bearing a
			    Require-Recipient-Valid-Since header field when no
			    corresponding RRVS SMTP extension was used, checks
			    whether the destination mailbox owner has held it
			    continuously, far enough back to include the
			    given date-time, and delivers it unless that check
			    returns in the negative.  Expressed as a sequence
			    of steps:

			    <list style="numbers">
				<t> Extract those
				    Require-Recipient-Valid-Since fields from
				    the message that contain a recipient for
				    which no corresponding RRVS SMTP extension
				    was used. </t>

				<t> Discard any such fields that match any of
				    these criteria:
				    <list style="symbols">
					<t> are syntactically invalid; </t>
					<t> name a role account as listed in
				            <xref target="ROLES"/> (see
				            <xref target="roles"/>); </t>
					<t> the "addr-spec" portion does not
					    match a current recipient, as
					    listed in the RCPT TO commands
					    in the SMTP session; or </t>
					<t> the "addr-spec" portion does not
					    refer to a mailbox handled for
					    local delivery by this ADMD. </t>
				    </list> </t>

				<t> For each field remaining, determine if
				    the named address has been under
				    continuous ownership since the
				    corresponding timestamp.  If it has not,
				    reject the message. </t>

				<t> RECOMMENDED: If local delivery is being
				    performed, remove all instances of this
				    field prior to delivery to a mailbox; if
				    the message is being forwarded, remove
				    those instances of this header field that
				    were not discarded by steps 1-4 above. </t>
		    	</list> </t>

			<t> Handling proceeds normally upon completion of the
			    above steps if rejection has not been
			    performed. </t>

			<t> The final step is not mandatory as not all mail
			    handling agents are capable of stripping away
			    header fields, and there are sometimes reasons to
			    keep the field intact such as debugging or
			    presence of digital signatures that might be
			    invalidated by such a change.  See
			    <xref target="signatures"/> for additional
			    discussion. </t>

			<t> If a message is to be rejected within the SMTP
			    protocol itself (versus generating a rejection
			    message separately), servers implementing this
			    protocol SHOULD also implement the SMTP extension
			    described in Enhanced Mail System Status Codes
			    <xref target="ESC"/> and use the enhanced
			    status codes described in
			    <xref target="iana_esc"/> as appropriate. </t>

			<t> Implementation by this method is expected to
			    be transparent to non-participants, since they
			    would typically ignore this header field. </t>

			<t> This header field is not normally added to a
			    message that is addressed to multiple recipients.
			    The intended use of this field involves an author
			    seeking to protect transactional or otherwise
			    sensitive data intended for a single recipient,
			    and thus generating independent messages for each
			    individual recipient is normal practice.  
			    See <xref target="multi_rcpt"/> for further
			    discussion. </t>

			<section title="Design Choices" anchor="header_design">
				<t> The presence of the intended address in
				    the field content supports the case where
				    a message bearing this header field is
				    forwarded.  The specific use case is as
				    follows:

				    <list style="numbers">
					<t> A user subscribes to a service "S"
					    on date "D" and confirms an email
					    address at the user's current
					    location, "A"; </t>

					<t> At some later date, the user
					    intends to leave the current
					    location, and thus creates a new
					    mailbox elsewhere, at "B"; </t>

					<t> The user replaces address "A" with
					    forwarding to "B"; </t>

					<t> "S" constructs a message to "A"
					    claiming that address was valid at
					    date "D" and sends it to "A"; </t>

					<t> The receiving MTA at "A"
					    determines that the forwarding in
					    effect was created by the same
					    party that owned the mailbox there,
					    and thus concludes the continuous
					    ownership test has been
					    satisfied; </t>

					<t> If possible, "A" removes this
					    header field from the message, and
					    in either case, forwards it to
					    "B"; </t>

					<t> On receipt at "B", either the
					    header field has been removed, or
					    the header field does not refer to
					    a current envelope recipient,
					    and in either case delivers the
					    message. </t>
				    </list> </t>

				<t> SMTP has never required any correspondence
				    between addresses in the RFC5321.MailFrom
				    and RFC5321.RcptTo parameters and header
				    fields of a message, which is why the
				    header field defined here contains the
				    recipient address to which the timestamp
				    applies. </t>
			</section>
		</section>

		<section anchor="synch" title="Clock Synchronization">
			<t> The timestamp portion of this specification
			    supports a precision at the seconds level.
			    Although uncommon, it is not impossible for
			    a clock at either a generator or a receiver
			    to be incorrect, leading to an incorrect result
			    in the RRVS evaluation. </t>

			<t> To minimize the risk of such incorrect results,
			    both generators and receivers implementing this
			    specification MUST use a standard clock
			    synchronization protocol such as
			    <xref target="NTP"/>. </t>
		</section>
	</section>

	<section anchor="roles" title="Role Accounts">
		<t> It is necessary not to interfere with delivery of
		    messages to role mailboxes (see <xref target="ROLES"/>),
		    but it could be useful to notify users sending to
		    those mailboxes that a change of ownership might have
		    taken place, if such notification is possible. </t>
	</section>
			    
	<section anchor="non_compliant" title="Relaying Without RRVS Support">
		<t> When a message is received using the SMTP extension
		    defined here but will not be delivered locally (that is,
		    it needs to be relayed further), the MTA to which the
		    relay will take place might not be compliant with this
		    specification.  Where the MTA in possession of the message
		    observes it is going to relay the message to an MTA
		    that does not advertise this extension, it needs to choose
		    one of the following actions:

		    <list style="numbers">
			<t> Decline to relay the message further, preferably
			    generating a Delivery Status Notification
			    <xref target="DSN"/> to indicate failure
			    (RECOMMENDED); </t>

			<t> Downgrade the data thus provided in the SMTP
			    extension to a header field, as described in
			    <xref target="conversion"/> below (RECOMMENDED
			    when the previous option is not available); or </t>

			<t> Silently continue with delivery, dropping
			    the protection offered by this protocol. </t>
		    </list> </t>

		<t> Using other than the first option needs to be avoided 
		    unless there is specific knowledge that further relaying
		    with the degraded protections thus provided does not
		    introduce undue risk. </t>
			    
		<section anchor="conversion" title="Header Field Conversion">
			<t> If an SMTP server ("B") that has received mailbox
			    timestamps from a client ("A") using this extension
			    but then needs to relay the corresponding message
			    on to another server ("C") (thereby becoming a
			    client), but "C" does not advertise the SMTP
			    extension and "B" elects not to reject the message,
			    "B" SHOULD add Require-Recipient-Valid-Since
			    header fields matching each mailbox to which
			    relaying is being done, and the corresponding
			    valid-since timestamp for each. </t>

			<t> Similarly, if "B" receives a message bearing
			    one or more Require-Recipient-Valid-Since header
			    fields from "A" for which it must now relay the
			    message, and "C" advertises support for the SMTP
			    extension, "B" SHOULD delete the header field(s)
			    and instead relay this information by making use
			    of the SMTP extension.  Note that such modification
			    of the header might affect later validation of
			    the header upon delivery; for example, a hash of
			    the header would produce a different result.  This
			    might be a valid cause for some operators to
			    skip this delete operation. </t>
		</section>
	</section>

	<section anchor="multi_rcpt"
	         title="Header Field with Multiple Recipients">
		<t> Numerous issues arise when using the header field form
		    of this extension, particularly when multiple recipients
		    are specified for a single message resulting in one
		    multiple fields each with a distinct address
		    and timestamp. </t>

		<t> Because of the nature of SMTP, a message bearing a
		    multiplicity of Require-Recipient-Valid-Since header
		    fields could result in a single delivery attempt for
		    multiple recipients (in particular, if two of the
		    recipients are handled by the same server), and
		    if any one of them fails the test, the delivery
		    fails to all of them; it then becomes necessary
		    to do one of the following:

		    <list style="symbols">
			<t> reject the message on completion of the DATA
			    phase of the SMTP session, which is a rejection
			    of delivery to all recipients; or </t>

			<t> accept the message on completion of DATA,
			    and then generate a Delivery Status Notification
		            <xref target="DSN"/> message for each of the
			    failed recipients </t>
		    </list> </t>

		<t> Additional complexity arises when a message is sent
		    to two recipients, "A" and "B", presumably with different
		    timestamps, both of which are then redirected to a
		    common address "C".  The author is not necessarily aware
		    of the current or past ownership of mailbox "C", or indeed
		    that "A" and/or "B" have been redirected.  This
		    might result in either or both of the two deliveries
		    failing at "C", which is likely to confuse the message
		    author, who (as far as the author is aware) never sent
		    a message to "C" in the first place. </t>
	</section>

	<section title="Special Use Addresses" anchor="special">
		<t> In <xref target="DSN-SMTP"/>, an SMTP extension was
		    defined to allow SMTP clients to request generation
		    of DSNs, and related information to allow such reports
		    to be maximally useful.  Section 5.2.7 of that document
		    explored the issue of the use of that extension where
		    the recipient is a mailing list.  This extension has
		    similar concerns which are covered here following that
		    document as a model. </t>

		<section title="Mailing Lists" anchor="special_lists">
			<t> Delivery to a mailing list service is considered
			    a final delivery.  Where this protocol
			    is in use, it is evaluated as per any normal
			    delivery: If the same mailing list has been
			    operating in place of the specified recipient
			    mailbox since at least the timestamp given
			    as the RRVS parameter, the message is delivered
			    to the list service normally, and is otherwise
			    not delivered. </t>

			<t> It is important, however, that the participating
			    MDA passing the message to the list service needs
			    to omit the RRVS parameter in either form (SMTP
			    extension or header field) when doing so.  The
			    emission of a message from the list service to
			    its subscribers constitutes a new message not
			    covered by the previous transaction. </t>
		</section>
		    
		<section title="Single-Recipient Aliases"
		         anchor="special_single">
			<t> Upon delivery of an RRVS-protected message to
			    an alias (acting in place of a mailbox) that
			    results in relaying of the message to a single
			    other destination, the usual RRVS check is
			    performed.  The continuous ownership test here
			    might succeed if a conventional user inbox was
			    replaced with an alias on behalf of that same
			    user, and this information is recorded someplace.
			    If the message is thus accepted, the relaying
			    MTA can choose to do one of the following:

			    <list style="numbers">
				<t> Do not include an RRVS parameter or header
				    field when relaying to the new address.
				    (RECOMMENDED) </t>

				<t> If the relaying system records the time
				    when the alias was established, independent
				    of confirming the validity of the new
				    destination address, it MAY add an RRVS
				    parameter for the new target address
				    that includes that time. </t>

				<t> If an explicit confirmation of the new
				    destination was done, it MAY add an RRVS
				    parameter for the new target address that
				    includes that time. </t>
			    </list> </t>

			<t> There is risk and additional administrative burden
			    associated with all but the first option in that
			    list which are believed to make them not worth
			    pursuing. </t>
		</section>
		    
		<section title="Multiple-Recipient Aliases"
			anchor="special_multi">
			<t> Upon delivery of an RRVS-protected message to
			    an alias (acting in place of a mailbox) that
			    results in relaying of the message to multiple
			    other destinations, the usual RRVS check is
			    performed as in <xref target="special_single"/>.
			    The MTA expanding such an alias then decides
			    which of the options enumerated in that section
			    is to be applied for each new recipient. </t>
		</section>
		    
		<section title="Confidential Forwarding Addresses"
			anchor="special_confid">
			<t> In the above cases, the original author could
			    receive message rejections, such as DSNs, 
			    from the ultimate destination, where the RRVS
			    check (or indeed, any other) fails and rejection
			    is warranted.  This can reveal the existence
			    of a forwarding relationship between the original
			    intended recipient and the actual final
			    recipient. </t>

			<t> Where this is a concern, the initial delivery
			    attempt is to be treated like a mailing list
			    delivery, with RRVS evaluation done and then
			    all RRVS information removed from the message
			    prior to relaying it to its true destination. </t>
		</section>
		    
		<section title="Suggested Mailing List Enhancements"
			anchor="lists_enh">
			<t> Mailing list services could store the timestamp
			    at which a subscriber was added to a mailing list.
			    This specification could then be used in
			    conjunction with that information in order to
			    restrict list traffic to the original subscriber,
			    rather than a different person now in possession
			    of an address under which the original subscriber
			    was added to the list.  Upon receiving a rejection
			    caused by this specification, the list service can
			    remove that address from further distribution. </t>

			<t> A mailing list service that receives a message
			    containing the header field defined here needs to
			    remove it from the message prior to redistributing
			    it, limiting exposure of information regarding
			    the relationship between the message's author
			    and the mailing list. </t>
		</section>
	</section>

	<section anchor="own" title="Continuous Ownership">
		<t> For the purposes of this specification, an address is
		    defined as having been under continuous ownership since a
		    given date-time if a message sent to the address at any
		    point since the given date would not go to anyone except
		    the owner at that given date-time.  That is, while an
		    address may have been suspended or otherwise disabled
		    for some period, any mail actually delivered would have
		    been delivered exclusively to the same owner.  It is
		    presumed that some sort of relationship exists between
		    the message sender and the intended recipient.
		    Presumably there has been some confirmation process
		    applied to establish this ownership of the receiver's
		    mailbox; however, the method of making such determinations
		    is a local matter and outside the scope of this
		    document. </t>

		<t> Evaluating the notion of continuous ownership is
		    accomplished by doing any query that establishes whether
		    the above condition holds for a given mailbox. </t>

		<t> Determining continuous ownership of a mailbox is a local
		    matter at the receiving site.  The only possible answers
		    to the continuous-ownership-since question are "yes",
		    "no", and "unknown"; the action to be taken in the
		    "unknown" case is a matter of local policy. </t>

		<t> For example, when control of a domain name is
		    transferred, the new domain owner might be unable to
		    determine whether the owner of the subject address has
		    been under continuous ownership since the stated date if
		    the mailbox history is not also transferred (or was not
		    previously maintained).  It will also be "unknown" if
		    whatever database contains mailbox ownership data is
		    temporarily unavailable at the time a message arrives for
		    delivery.  In this latter case, typical SMTP temporary
		    failure handling is appropriate. </t>

		<t> To avoid exposing account details unnecessarily, if the
		    address specified has had one continuous owner since it
		    was created, any confirmation date SHOULD be considered
		    to pass the test, even if that date is earlier than the
		    account creation date.  This is further discussed in
		    <xref target="security"/>. </t>
	</section>

	<section anchor="signatures" title="Digital Signatures">
		<t> This protocol mandates removal of the header field (when
		    used) upon delivery in all but exceptional circumstances.
		    Altering a message in this way will invalidate a digital
		    signature intended to guard against message modification in
		    transit, which can interfere with delivery. </t>

		<t> Section 5.4.1 of DomainKeys Identified Mail
		    <xref target="DKIM"/> proposes a strategy for selecting
		    header fields to sign.  Specifically, it advises including
		    in the signed portion of the message only those header
		    fields that comprise part of the core content of the
		    message.  As the header field version of this protocol is
		    ephemeral, it cannot be considered core content. </t>

		<t> Accordingly, applying digital signatures that attempt
		    to protect the content of this header field is
		    NOT RECOMMENDED. </t>
	</section>

	<section anchor="ar_defs" title="Authentication-Results Definitions">
		<t> <xref target="AUTHRES"/> defines a mechanism for
		    indicating, via a header field, the results of message
		    authentication checks.  <xref target="iana"/> registers
		    RRVS as a new method that can be reported in this way,
		    and corresponding result names.  The possible result
		    names and their meanings are as follows:

		    <list style="hanging">
			<t hangText="none:"> The message had no recipient
				mailbox timestamp associated with it, either
				via the SMTP extension or header field
				method; this protocol was not in use. </t>

			<t hangText="unknown:"> At least one form of this
				protocol was in use, but continuous ownership
				of the recipient mailbox could not be
				determined. </t>

			<t hangText="temperror:"> At least one form of this
				protocol was in use, but some kind of error
				occurred during evaluation that was transient
				in nature; a later retry will likely produce
				a final result. </t>

			<t hangText="permerror:"> At least one form of this
				protocol was in use, but some kind of error
				occurred during evaluation that was not
				recoverable; a later retry will not likely
				produce a final result. </t>

			<t hangText="pass:"> At least one form of this
				protocol was in use, and the destination
				mailbox was confirmed to have been under
				constant ownership since the timestamp
				thus provided. </t>

			<t hangText="fail:"> At least one form of this
				protocol was in use, and the destination
				mailbox was confirmed not to have been under
				constant ownership since the timestamp
				thus provided. </t>
		    </list> </t>

		<t> Where multiple recipients are present on a message,
		    multiple results can be reported using the mechanism
		    described in <xref target="AUTHRES"/>. </t>
	</section>
			
	<section title="Examples" anchor="examples">
		<t> In the following examples, "C:" indicates data sent
		    by an SMTP client, and "S:" indicates responses by the
		    SMTP server.  Message content is CRLF terminated, though
		    these are omitted here for ease of reading. </t>

		<section title="SMTP Extension Example" anchor="header_esmtp">
		    <t> <figure><artwork>
  C: [connection established]
  S: 220 server.example.com ESMTP ready
  C: EHLO client.example.net
  S: 250-server.example.com
  S: 250 RRVS
  C: MAIL FROM:&lt;sender@example.net&gt;
  S: 250 OK
  C: RCPT TO:&lt;receiver@example.com&gt; RRVS=2014-04-03T23:01:00Z
  S: 550 5.7.17 receiver@example.com is no longer valid
  C: QUIT
  S: 221 So long!
			</artwork></figure> </t>
		</section>

		<section title="Header Field Example" anchor="header_example">
		    <t> <figure><artwork>
  C: [connection established]
  S: 220 server.example.com ESMTP ready
  C: HELO client.example.net
  S: 250 server.example.com
  C: MAIL FROM:&lt;sender@example.net&gt;
  S: 250 OK
  C: RCPT TO:&lt;receiver@example.com&gt;
  S: 250 OK
  C: DATA
  S: 354 Ready for message content
  C: From: Mister Sender &lt;sender@example.net&gt;
     To: Miss Receiver &lt;receiver@example.com&gt;
     Subject: Are you still there?
     Date: Fri, 28 Jun 2013 18:01:01 +0200
     Require-Recipient-Valid-Since: receiver@example.com;
       Sat, 1 Jun 2013 09:23:01 -0700

     Are you still there?
     .
  S: 550 5.7.17 receiver@example.com is no longer valid
  C: QUIT
  S: 221 So long!
			</artwork></figure></t>
		</section>

		<section title="Authentication-Results Example"
		          anchor="ex_ar">
			<t> An example use of the Authentication-Results
			    header field used to yield the results of an RRVS
			    evaluation:

			<figure><artwork>
  Authentication-Results: mx.example.com; rrvs=pass
          smtp.rcptto=user@example.com
			</artwork></figure></t>

			<t> This indicates that the message arrived addressed
			    to the mailbox user@example.com, the
			    continuous ownership test was applied with the
			    provided timestamp, and the check revealed that
			    test was satisfied.  The timestamp is not
			    revealed. </t>
		</section>
	</section>

	<section anchor="security" title="Security Considerations">
	    <section anchor="sec_flares" title="Abuse Countermeasures">
		<t> The response of a server implementing this protocol
		    can disclose information about the age of an existing
		    email mailbox.  Implementation of countermeasures against
		    probing attacks is advised.  For example, an operator
		    could track appearance of this field with respect to a
		    particular mailbox and observe the timestamps being
		    submitted for testing; if it appears a variety of
		    timestamps is being tried against a single mailbox in short
		    order, the field could be ignored and the message silently
		    discarded.  This concern is discussed further in
		    <xref target="privacy"/>. </t>
	    </section>

	    <section anchor="sec_restrict" title="Suggested Use Restrictions">
		<t> If the mailbox named in the field
		    is known to have had only a single continuous owner
		    since creation, or not to have existed at all (under any
		    owner) prior to the date specified in the field, then the
		    field can be silently ignored and normal message handling
		    applied so that this information is not disclosed.  Such
		    fields are likely the product of either gross error or an
		    attack. </t>

		<t> A message author using this specification might restrict
		    inclusion of the header field such that it is only done
		    for recipients known also to implement this specification,
		    in order to reduce the possibility of revealing information
		    about the relationship between the author and the
		    mailbox. </t>

		<t> If ownership of an entire domain is transferred, the new
		    owner may not know what addresses were assigned in the past
		    by the prior owner.  Hence, no address can be known not
		    to have had a single owner, or to have existed (or not)
		    at all.  In this case, the "unknown" result is likely
		    appropriate. </t>
	    </section>

	    <section anchor="sec_false" title="False Sense of Security">
		<t> Senders implementing this protocol likely believe their
		    content is being protected by doing so.  It has to be
		    considered, however, that receiving systems might not
		    implement this protocol correctly, or at all.  Furthermore,
		    use of RRVS by a sending system constitutes nothing more
		    than a request to the receiving system; that system could
		    choose not to prevent delivery for some local policy,
		    legal or operational reason, which compromises the
		    security the sending system believed was a benefit to
		    using RRVS.  This could mean the timestamp information
		    involved in the protocol becomes inadvertently
		    revealed. </t>

		<t> This concern lends further support to the notion that
		    senders would do well to avoid using this protocol other
		    than when sending to known, trusted receivers. </t>
	    </section>
	</section>

	<section anchor="privacy" title="Privacy Considerations">
	    <section anchor="priv_probing" title="Probing Attacks">
		<t> As described above, use of this extension or header field
		    in probing attacks can disclose information about the
		    history of the mailbox.  The harm that can be done by
		    leaking any kind of private information is difficult to
		    predict, so it is prudent to be sensitive to this
		    sort of disclosure, either inadvertently or in response
		    to probing by an attacker.  It bears restating, then, that
		    implementing countermeasures to abuse of this capability
		    needs strong consideration. </t>

		<t> That some MSPs allow for expiration of account names when
		    they have been unused for a protracted period forces a
		    choice between two potential types of privacy
		    vulnerabilities, one of which presents significantly
		    greater threats to users than the other.  Automatically
		    generated mail is often used to convey authentication
		    credentials that can potentially provide access to
		    extremely sensitive information.  Supplying such
		    credentials to the wrong party after a mailbox ownership
		    change could allow the previous owner's data to be
		    exposed without his or her authorization or knowledge.
		    In contrast, the information that may be exposed to a
		    third party via the proposal in this document is limited
		    to information about the mailbox history.  Given that
		    MSPs have chosen to allow transfers of mailbox ownership
		    without the prior owner's involvement, the information
		    leakage from the extensions specified here creates far
		    fewer risks than the potential for delivering mail to the
		    wrong party. </t>
	    </section>

	    <section anchor="priv_envelope" title="Envelope Recipients">
		<t> The email To and Cc header fields are not required to be
		    populated with addresses that match the envelope recipient
		    set, and Cc may even be absent.  However, the algorithm in
		    <xref target="descr"/> requires that this header field
		    contain a match for an envelope recipient in order to be
		    actionable.  As such, use of this specification can
		    reveal some or all of the original intended recipient
		    set to any party that can see the message in transit or
		    upon delivery. </t>

		<t> For a message destined to a single recipient, this is
		    unlikely to be a concern, which is one of the reasons
		    use of this specification on multi-recipient messages is
		    discouraged. </t>
	    </section>

	    <section anchor="priv_risks" title="Risks with Use">
		<t> MDAs might not implement the recommendation to remove
		    the header field defined here when messages are delivered,
		    either out of ignorance or due to error.  Since user
		    agents often do not render all of the header fields
		    present, the message could be forwarded to another party
		    that would then inadvertently have the content of this
		    header field. </t>

		<t> A bad actor may detect use of either form of the RRVS
		    protocol and interpret it as an indication of high value
		    content. </t>
	    </section>
	</section>

	<section anchor="iana" title="IANA Considerations">
	  <section anchor="iana_esmtp" title="SMTP Extension Registration">
		<t> Section 2.2.2 of <xref target="MAIL"/> sets out the
		    procedure for registering a new SMTP extension.  IANA
		    is requested to register the SMTP extension using the
		    details provided in <xref target="descr_esmtp"/> of this
		    document. </t>
	  </section>

	  <section anchor="iana_header" title="Header Field Registration">
		<t> IANA is requested to add the following entry to the
		    Permanent Message Header Field Names registry, as per
		    the procedure found in <xref target="IANA-HEADERS"/>:

		<figure><artwork>
  Header field name: Require-Recipient-Valid-Since
  Applicable protocol: mail ([MAIL])
  Status: Standard
  Author/Change controller: IETF
  Specification document(s): [this document]
  Related information:
    Requesting review of any proposed changes and additions to
    this field is recommended.
		</artwork></figure> </t>
	  </section>

	  <section anchor="iana_esc" title="Enhanced Status Code Registration">
		<t> IANA is requested to register the following in the
		    Enumerated Status Codes table of the Simple Mail Transfer
		    Protocol (SMTP) Enhanced Status Codes Registry:

			<figure><artwork>
   Code:               X.7.17
   Sample Text:        Mailbox owner has changed
   Associated basic status code:  5
   Description:        This status code is returned when a message is
                       received with a Require-Recipient-Valid-Since
                       field or RRVS extension and the receiving
                       system is able to determine that the intended
                       recipient mailbox has not been under
                       continuous ownership since the specified date.
   Reference:          [this document]
   Submitter:          M. Kucherawy
   Change controller:  IESG
			</artwork></figure> </t>

		<t><figure><artwork>
   Code:               X.7.18
   Sample Text:        Domain owner has changed
   Associated basic status code:  5
   Description:        This status code is returned when a message is
                       received with a Require-Recipient-Valid-Since
                       field or RRVS extension and the receiving
                       system wishes to disclose that the owner of
                       the domain name of the recipient has changed
                       since the specified date.
   Reference:          [this document]
   Submitter:          M. Kucherawy
   Change controller:  IESG
			</artwork></figure> </t>
	  </section>

	  <section anchor="iana_ar" title="Authentication Results Registration">
		<t> IANA is requested to register the following in the 
		    "Email Authentication Methods" Registry:

		    <list style="hanging">
			<t hangText="Method:"> rrvs </t>

			<t hangText="Specifying Document:"> [this document] </t>

			<t hangText="ptype:"> smtp </t>

			<t hangText="Property:"> rcptto </t>

			<t hangText="Value:"> envelope recipient </t>

			<t hangText="Status:"> active </t>

			<t hangText="Version:"> 1 </t>
		    </list> </t>

		<t> IANA is also requested to register the following in the
		    "Email Authentication Result Names" Registry:

		    <list style="hanging">
			<t hangText="Codes:"> none, unknown, temperror,
				permerror, pass, fail </t>
			<t hangText="Defined:"> [this document] </t>
			<t hangText="Auth Method(s):"> rrvs </t>
			<t hangText="Meaning:"> <xref target="ar_defs"/>
			 	of [this document] </t>
			<t hangText="Status:"> active </t>
		    </list> </t>
		</section>
	</section>
</middle>

<back>
	<references title="Normative References">
		<reference anchor="ABNF">
			<front>
				<title>Augmented BNF for Syntax
				       Specifications: ABNF</title>

				<author
					fullname="D. Crocker"
					initials="D."
					surname="Crocker"
					role="editor">
					<organization>
						Brandenburg InternetWorking
					</organization>
				</author>

				<author
					fullname="P. Overell"
					initials="P."
					surname="Overell">
					<organization>
						THUS plc.
					</organization>
				</author>

				<date month="January" year="2008"></date>
			</front>

			<seriesInfo name="RFC" value="5234"></seriesInfo>
		</reference>

		<reference anchor="DATETIME">
			<front>
				<title>Date and Time on the Internet:
				       Timestamps</title>

				<author
					fullname="G. Klyne"
					initials="G."
					surname="Klyne">
					<organization>
						Clearswift Corporation
					</organization>
				</author>

				<author
					fullname="C. Newman"
					initials="C."
					surname="Newman">
					<organization>
						Sun Microsystems
					</organization>
				</author>

				<date month="July" year="2002"></date>
			</front>

			<seriesInfo name="RFC" value="3339"></seriesInfo>
		</reference>

		<reference anchor="IANA-HEADERS">
			<front>
				<title> Registration Procedures for Message
				        Header Fields </title>

				<author initials="G." surname="Klyne"
				        fullname="G. Klyne">
				</author>
				<author initials="M." surname="Nottingham"
				        fullname="M. Nottingham">
				</author>
				<author initials="J." surname="Mogul"
				        fullname="J. Mogul">
				</author>

				<date year="2004" month="September"/>
			</front>

			<seriesInfo name="BCP" value="90"/>
			<seriesInfo name="RFC" value="3864"/>
		</reference>

		<reference anchor="KEYWORDS">
			<front>
				<title>
					Key words for use in RFCs to
					Indicate Requirement Levels
				</title>

				<author fullname="Scott Bradner"
					initials="S."
					surname="Bradner">

					<organization>
						Harvard University
					</organization>
				</author>

				<date month="March" year="1997"/>
			</front>

			<seriesInfo name="BCP" value="14"/>
			<seriesInfo name="RFC" value="2119"/>
		</reference>

		<reference anchor="MAIL">
			<front>
				<title> Internet Message Format </title>

				<author initials="P." surname="Resnick"
					fullname="P. Resnick (editor)">
					<organization>
						Qualcomm, Inc.
					</organization>
				</author>

				<date month="October" year="2008" />
			</front>

			<seriesInfo name="RFC" value="5322" />
		</reference>

		<reference anchor="NTP">
			<front>
				<title> Network Time Protocol Version 4:
				        Protocol and Algorithms
				        Specification </title>

				<author
					fullname="D. Mills"
					initials="D."
					surname="Mills">
					<organization>
						U. Delaware
					</organization>
				</author>

				<author
					fullname="J. Martin"
					initials="J."
					surname="Martin"
					role="editor">
					<organization>
						ISC
					</organization>
				</author>

				<author
					fullname="J. Burbank"
					initials="J."
					surname="Burbank">
					<organization>
						JHU/APL
					</organization>
				</author>

				<author
					fullname="W. Kasch"
					initials="W."
					surname="Kasch">
					<organization>
						JHU/APL
					</organization>
				</author>

				<date month="June" year="2010"></date>
			</front>

			<seriesInfo name="RFC" value="5905"></seriesInfo>
		</reference>

		<reference anchor="ROLES">
			<front>
				<title> Mailbox Names For Common Services,
				        Roles And Functions</title>

				<author
					fullname="D. Crocker"
					initials="D."
					surname="Crocker">
					<organization></organization>
				</author>

				<date month="May" year="1997"></date>
			</front>

			<seriesInfo name="RFC" value="2142"></seriesInfo>
		</reference>

		<reference anchor="SMTP">
			<front>
				<title>Simple Mail Transfer Protocol</title>

				<author
					fullname="J. Klensin"
					initials="J."
					surname="Klensin">
					<organization></organization>
				</author>

				<date month="October" year="2008"></date>
			</front>

			<seriesInfo name="RFC" value="5321"></seriesInfo>
		</reference>
	</references>

	<references title="Informative References">
		<reference anchor="AUTHRES">
			<front>
				<title> Message Header Field for Indicating
				        Message Authentication Status </title>

				<author
					fullname="M. Kucherawy"
					initials="M."
					surname="Kucherawy">
					<organization/>
				</author>

				<date month="September" year="2013"></date>
			</front>

			<seriesInfo name="RFC" value="7001"></seriesInfo>
		</reference>

		<reference anchor="DKIM">
			<front>
				<title>
					DomainKeys Identified Mail (DKIM)
					Signatures
				</title>

				<author initials="D." surname="Crocker"
					fullname="D. Crocker" role="editor">
					<organization>
						Brandenburg InternetWorking
					</organization>
				</author>

				<author initials="T." surname="Hansen"
					fullname="T. Hansen" role="editor">
					<organization>
						AT&T Laboratories
					</organization>
				</author>

				<author initials="M." surname="Kucherawy"
					fullname="M. Kucherawy" role="editor">
					<organization>
						Cloudmark
					</organization>
				</author>

				<date year="2011" month="September"/>
			</front>

			<seriesInfo name="RFC" value="6376"/>
		</reference>

		<reference anchor="DSN">
			<front>
				<title> An Extensible Message Format for
				        Delivery Status Notifications </title>

				<author
					fullname="K. Moore"
					initials="K."
					surname="Moore">
					<organization>
						University of Tennessee
					</organization>
				</author>

				<author
					fullname="G. Vaudreuil"
					initials="G."
					surname="Vaudreuil">
					<organization>
						Lucent Technologies
					</organization>
				</author>

				<date month="January" year="2003"></date>
			</front>

			<seriesInfo name="RFC" value="3464"></seriesInfo>
		</reference>

		<reference anchor="DSN-SMTP">
			<front>
				<title> Simple Mail Transfer Protocol (SMTP)
				        Service Extension for Delivery Status
				        Notifications (DSNs) </title>

				<author
					fullname="K. Moore"
					initials="K."
					surname="Moore">
					<organization>
						University of Tennessee
					</organization>
				</author>

				<date month="January" year="2003"></date>
			</front>

			<seriesInfo name="RFC" value="3461"></seriesInfo>
		</reference>

		<reference anchor="EMAIL-ARCH">
			<front>
				<title> Internet Mail Architecture </title>
				<author initials="D." surname="Crocker"
				        fullname="D. Crocker">
					<organization>
						Brandenburg InternetWorking
					</organization>
				</author>
				<date month="July" year="2009" />
			</front>
			<seriesInfo name="RFC" value="5598" />
		</reference>

		<reference anchor="ESC">
			<front>
				<title> Enhanced Mail System Status
				        Codes </title>

				<author initials="G." surname="Vaudreuil"
				        fullname="G. Vaudreuil">
					<organization>
						Lucent Technologies
					</organization>
				</author>
				<date month="January" year="2003" />
			</front>
			<seriesInfo name="RFC" value="3463" />
		</reference>
	</references>

	<section anchor="thanks" title="Acknowledgments">
		<t> Erling Ellingsen proposed the idea. </t>

		<t> Reviews and comments were provided by
		    Michael Adkins,
		    Kurt Andersen,
		    Eric Burger,
		    Alissa Cooper,
		    Dave Cridland,
		    Dave Crocker,
		    Ned Freed,
		    John Levine,
		    Alexey Melnikov,
		    Jay Nancarrow,
		    Hector Santos,
		    Gregg Stefancik,
		    Ed Zayas, (others) </t>
	</section>
</back>

</rfc>
