Network Working Group Y. YONEYA, Ed.
Internet-Draft K. Fujiwara, Ed.
Expires: September 7, 2006 JPRS
March 6, 2006
Downgrading mechanism for Internationalized eMail Address (IMA)
draft-yoneya-ima-downgrade-01.txt
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
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 Internet-Draft will expire on September 7, 2006.
Copyright Notice
Copyright (C) The Internet Society (2006).
Abstract
Traditional mail system handles only US-ASCII characters in SMTP
envelope and mail headers. The Internationalized eMail Address (IMA)
is implemented by allowing UTF-8 characters in SMTP envelope and mail
headers. To deliver IMA through IMA incompliant environment, some
sort of converting mechanism (i.e. downgrading) is required. This
document describes requirements for downgrading, SMTP session
downgrade, header downgrade and implementation consideration.
YONEYA & Fujiwara Expires September 7, 2006 [Page 1]
Internet-Draft IMA Downgrade March 2006
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Downgrade Requirements . . . . . . . . . . . . . . . . . . . . 4
3.1. Timing and conditions of downgrading . . . . . . . . . . . 4
3.2. Mail Header Downgrading . . . . . . . . . . . . . . . . . 4
3.3. Requirements . . . . . . . . . . . . . . . . . . . . . . . 4
4. SMTP Downgrading . . . . . . . . . . . . . . . . . . . . . . . 5
5. SMTP DATA/Header downgrading . . . . . . . . . . . . . . . . . 6
5.1. Downgrading with MIME encapsulation . . . . . . . . . . . 6
5.2. Header conversion . . . . . . . . . . . . . . . . . . . . 8
6. Implementation consideration . . . . . . . . . . . . . . . . . 8
6.1. MUA . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
6.2. MDA Requirements . . . . . . . . . . . . . . . . . . . . . 9
7. Security considerations . . . . . . . . . . . . . . . . . . . 9
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 9
10. Normative References . . . . . . . . . . . . . . . . . . . . . 9
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 12
Intellectual Property and Copyright Statements . . . . . . . . . . 13
YONEYA & Fujiwara Expires September 7, 2006 [Page 2]
Internet-Draft IMA Downgrade March 2006
1. Introduction
Traditional mail system which is defined by [RFC2821] and [RFC2822]
allows US-ASCII characters in SMTP envelop and mail headers. IMA
proposal [IMA-Framework],[IMA-UTF8], [IMA-SMTPext] allows UTF-8
characters in SMTP envelop and mail headers.
Carrying IMA from sender to recipients requires all components on the
mail delivery route are IMA compliant. Otherwise IMA can't be
delivered. To solve the problem, this document describes downgrade
mechanism that enables delivering IMA by converting it to
corresponding US-ASCII representation on current mail delivery
system. Not only SMTP envelope, but also UTF-8 in mail headers MUST
be converted to US-ASCII.
Converting IMA to US-ASCII SHOULD base on algorithmic method which is
proposed by [IMA-SMTPext].
Downgrading in IMA consists from following two parts:
o SMTP session downgrade
o header downgrade
In this document, requirements for downgrading is described in
section Section 3, SMTP session downgrade is described in Section 4,
and header downgrade is described in Section 5.
2. Terminology
This document assumes a reasonable understanding of the protocols and
terminology of the core email standards as documented in [RFC2821]
and [RFC2822].
Much of the description in this document depends on the abstractions
of "Mail Transfer Agent" ("MTA") and "Mail User Agent" ("MUA").
However, it is important to understand that those terms and the
underlying concepts postdate the design of the Internet's email
architecture and the "protocols on the wire" principle. That email
architecture, as it has evolved, and the "wire" principle have
prevented any strong and standardized distinctions about how MTAs and
MUAs interact on a given origin or destination host (or even whether
they are separate).
The final ("delivery") MTA stores Mail messages in a "message store"
or resends messages where the receiver has assigned. In this
document, this function is called Mail Delivery Agent(MDA).
In this document, an address is "all-ASCII" if every character in the
YONEYA & Fujiwara Expires September 7, 2006 [Page 3]
Internet-Draft IMA Downgrade March 2006
address is in the ASCII character repertoire [ASCII]; an address is
"non-ASCII" if any character is not in the ASCII character
repertoire. The term "all-ASCII" is also applied to other protocol
elements when the distinction is important, with "non-ASCII" or
"internationalized" as its opposite.
The key words "MUST", "SHALL", "REQUIRED", "SHOULD", "RECOMMENDED",
and "MAY" in this document are to be interpreted as described in RFC
2119 [RFC2119].
3. Downgrade Requirements
3.1. Timing and conditions of downgrading
This section describes timing and conditions of downgrading.
o Timing: SMTP client detects SMTP server doesn't support "IEmail"
option at EHLO. [IMA-SMTPext]
o Conditions: SMTP client detects UTF-8 is included in SMTP envelope
or mail headers.
Note that SMTP client SHOULD check headers in outgoing SMTP DATA
whether they include 8bit (UTF-8) data.
3.2. Mail Header Downgrading
Target of downgrading elements in mail headers (SMTP data) are below:
Originator address(es): IMA in From, Reply-To and Sender and their
Resent- headers MUST be target of downgrading.
Destination address(es): IMA in To and Cc and their Recent- headers
MUST be target of downgrading.
IDs: IDs such as Message-ID, In-Reply-To and Referenece MUST NOT be
target of downgrading.
other headers: UTF-8 in other headers such as Subject and Received
SHOULD be target of downgrading.
3.3. Requirements
1. Downgrading MUST be performed only once.
2. Upgrading MUST be performed at minimized place such as final
destination like receipient MUA.
3. Downgrading and upgrading MUST be automated.
4. Downgrading and upgrading MUST be easy and lightweight as it is
possible to do with MTA like 8BITMIME encapsulation.
5. Downgrade and upgrade method MUST be defined clearly.
YONEYA & Fujiwara Expires September 7, 2006 [Page 4]
Internet-Draft IMA Downgrade March 2006
6. Downgrading and upgrading MUST preserve all header information.
7. Downgrading MUST support sender authentication header checking
such as SPF and DomainKeys/DKIM.
8. Downgrading occurrence MUST be recorded.
4. SMTP Downgrading
Downgrading MUST be performed in each SMTP session. Target of
downgrading elements in SMTP envelope are below:
o MAIL FROM:
o RCPT TO:
Downgrading in SMTP envelope uses ALT-ADDR and ATOMIC option proposed
in [IMA-SMTPext].
MUA of mail sender MUST append ALT-ADDR or ATOMIC option to all
envelope from (MAIL FROM) and envelope to (RCPT TO) to denote
alternative US-ASCII address when sending mail.
When MUA/MTA is transfering mail and finds its envelope is IMA, it
MUST decide to bounce or downgrade if receiving MTA is IMA
incompliant.
Further, even if no downgrading is performed for envelope from/to,
MUA/MTA SHOULD downgrade headers including UTF-8. This is described
in next session.
MTA MAY downgrade messages that envelope from/to of IMA have ALT-ADDR
with alternative US-ASCII address or ATOMIC is "y".
MTA generates alternative US-ASCII address when ALT-ADDR option is
not specified and ATOMIC is "y".
Alternative US-ASCII address generation algorithms are below:
domain-part: Punycode/IDNA
local-part: Punycode without normalization. Prefix MUST be assigned
by IANA (which is not "xn--").
MTA replaces IMA with specified or generated alternative US-ASCII
address. Then appends replaced information with IMA-Downgraded-From
and IMA-Downgraded-To header in mail header (outgoing SMTP DATA).
IMA-Downgraded-From: <IMA> <US-ASCII>
IMA-Downgraded-To: <IMA> <US-ASCII>
Note that when downgrading, not to disclose whole recipient address,
MUA/MTA SHOULD make SMTP connection per each receipient address.
YONEYA & Fujiwara Expires September 7, 2006 [Page 5]
Internet-Draft IMA Downgrade March 2006
Also note that by appending IMA-Downgraded-From/To headers, MUA/MTA
MUST perform SMTP/Header downgrading. This is described in next
section.
Downgraded envelope to is parsed only in MDA and delived to final
mailbox.
Case study: SPF check
SPF checks envelope from's domainname and smtp connection IP address.
If ALT-ADDR's domainname is Punycode/IDNA of IMA domainname, it is
equal to SPF/IMA (need to define). In this case, SPF check will be
performed correctly. Otherwise, more detailed consideration is
required.
5. SMTP DATA/Header downgrading
In this section, two methods for SMTP DATA/Header downgrading is
proposed. One is to encapsulate whole data, and other is to
translate header by header.
5.1. Downgrading with MIME encapsulation
This downgrade method requires new MIME 'Content-Type:' which express
EAI(Email Address Internationalization). This document assumes
'Content-Type: Message/EAI' existence.
Downgrade/Encoding
* If mail header contains UTF-8 data, downgrade whole message to
be MIME encoded. Whole message becomes new MIME part (Message/
EAI).
* Originator Addresses (From, Sender, etc.), Destination
Addresses (To, CC, etc.), IDs (Message-ID, etc.), Subject, Date
headers are copied from original header.
* If From header contains IMA, it is replaced with downgraded
Envelope-from.
* If To or CC headers contain IMA, they are replaced with single
downgraded envelope-to as To header.
* If Subject header contains UTF-8, it is rewrited to a certain
message or encoded by RFC2047.
* Message-ID, Date headers are preserved.
As a result, new body contains one MIME part (Message/EAI).
YONEYA & Fujiwara Expires September 7, 2006 [Page 6]
Internet-Draft IMA Downgrade March 2006
Encoding example
Message-Id: MESSAGE_ID
Mime-Version: 1.0
Content-Type: Multipart/Mixed;
boundary="--Next_Part(unique_string)--"
Content-Transfer-Encoding: 8bit
Subject: DOWNGRADED_SUBJECT
From: DOWNGRADED_FROM
To: DOWNGRADED_TO
Date: DATE
----Next_Part(unique_string)--
Content-Type: Message/EAI
Content-Transfer-Encoding: 8bit
Content-Disposition: inline
ENTIRE_ORIGINAL_MAIL
IMA-Downgraded-From: <IMA> <DOWNGRADED_FROM>
IMA-Downgraded-To: <IMA> <DOWNGRADED_TO>
Received: ...
Received: ...
Message-Id: MESSAGE_ID
Mime-Version: 1.0
Subject: UTF-8_SUBJECT
From: IMA
To: IMA
Date: DATE
MAIL_BODY
----Next_Part(unique_string)----
Figure 1
Upgrade/Decode
* If mail message contains only one MIME part and its Content-
Type is 'Message/EAI', it may be downgraded. To check if
downgraded, compare mail body's message-id and MIME part's
message-id. If message-ids are same, it is downgraded message.
Then, treat MIME part as entire mail message.
* When checking trace field, checker SHOULD check Received header
both in wrapping headers and headers in encapsulated part.
Case study: DomainKeys/DKIM
DomainKeys/DKIM checker performs upgrade/decode downgraded message
first.
YONEYA & Fujiwara Expires September 7, 2006 [Page 7]
Internet-Draft IMA Downgrade March 2006
Pros:
* MTA does not need to decode each headers carefully.
* Whole headers can be submitted AS IS.
Cons:
* IMA from/to can not distinguish from encoded mail headers.
* IMA incompliant MUA can not treat encoded message.
5.2. Header conversion
Define conversion method to US-ASCII for all headers which contains
IMA.
Each header has its own downgrading method. Basically, MIME encoding
of RFC 2047. Receipient/Sender addresses and Received headers which
may contain IMA need special processing.
Downgrading mail addresses in mail header: Extract every addr-spec
[RFC2822] of mailboxes from mail headers including UTF-8. For
each addr-spec, if it includes UTF-8, convert it into ACE with the
same method described in Section 4. Original IMA SHOULD remain as
a comment encoded by base64 of MIME with UTF-8 tag. Note that
some special characters in addr-spec MUST be escaped. If mailbox
elements except for addr-spec include UTF-8, those MUST be encoded
by base64 with UTF-8 tag.
Downgrading other data: Encode UTF-8 part of headers by base64 of
MIME with UTF-8 tag.
Pros:
* IMA incompliant MUA can display mail body except for original
IMA from/to.
Cons:
* Implementation is difficult because MUA/MTA must parse each
header and encode it by defined method.
* Hard to preserve whole information AS IS. Therefore, to check
DomainKeys/DKIM requires special consideration.
6. Implementation consideration
6.1. MUA
IMA compliant MUA MUST implement downgrade mechanism for sending.
MUA MAY encode UTF-8 in Subject header with the same encoding of body
part while downgrading.
IMA compliant MUA MUST decode downgraded mail and MUST show IMA on
display.
YONEYA & Fujiwara Expires September 7, 2006 [Page 8]
Internet-Draft IMA Downgrade March 2006
6.2. MDA Requirements
This section describes downgrading in MDA.
1. MDA MUST NOT convert downgraded header to UTF-8.
2. Record Return-Path header in ACE form.
3. Perform downgrading for each Storage/Back-end-Process. If and
only if MDA knows MUA is IMA compliant, then no downgrading is
performed.
4. If MDA detects that SMTP recipient address is downgraded IMA,
then MDA MUST decode IMA and perform the same processing as if it
were IMA. MDA MAY normalize or canonicalize local-part before
processing it.
7. Security considerations
See the extended security considerations discussion in [IMA-
Framework]
8. IANA Considerations
To distinguish downgraded IMA in ACE form, it MUST have ACE-Prefix.
The ACE-Prefix MUST be differ from IDNA ACE-Prefix to avoid possible
confusion. IANA will assign IMA ACE-Prefix when RFC is published.
9. Acknowledgements
John Klensin, Harald Alvestrand, Yangwoo Ko, YAO Jiankang, Jeff Yeh,
James Seng and JET members.
10. Normative References
[ASCII] American National Standards Institute (formerly United
States of America Standards Institute), "USA Code for
Information Interchange", ANSI X3.4-1968, 1968.
ANSI X3.4-1968 has been replaced by newer versions with
slight modifications, but the 1968 version remains
definitive for the Internet.
[Hoffman-IMAA]
Hoffman, P. and A. Costello, "Internationalizing Mail
Addresses in Applications (IMAA)", draft-hoffman-imaa-03
(work in progress), October 2003.
[IMA-Constraints]
YONEYA & Fujiwara Expires September 7, 2006 [Page 9]
Internet-Draft IMA Downgrade March 2006
Klensin, J., "Internationalization in Internet
Applications: Issues, Tradeoffs, and Email Addresses",
draft-klensin-ima-constraints-00 (work in progress),
Febrary 2006.
[IMA-Framework]
Klensin, J. and Y. Ko, "Overview and Framework for
Internationalized Email", draft-klensin-ima-framework-01
(work in progress), February 2006.
[IMA-SMTPext]
Yao, J., Ed., "SMTP extension for internationalized email
address", draft-yao-smtpext-02 (work in progress),
Febrary 2006.
[IMA-UTF8]
Yeh, J., "Internationalized Email Headers",
draft-yeh-ima-utf8headers-01 (work in progress),
February 2006.
[JET-IMA] Yao, J. and J. Yeh, "Internationalized eMail Address
(IMA)", draft-lee-jet-ima-00 (work in progress),
June 2005.
[Klensin-emailaddr]
Klensin, J., "Internationalization of Email Addresses",
draft-klensin-emailaddr-i18n-03 (work in progress),
July 2005.
[RFC1123] Braden, R., "Requirements for Internet Hosts - Application
and Support", STD 3, RFC 1123, October 1989.
[RFC1651] Klensin, J., Freed, N., Rose, M., Stefferud, E., and D.
Crocker, "SMTP Service Extensions", RFC 1651, July 1994.
[RFC2047] Moore, K., "MIME (Multipurpose Internet Mail Extensions)
Part Three: Message Header Extensions for Non-ASCII Text",
RFC 2047, November 1996.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2821] Klensin, J., "Simple Mail Transfer Protocol", RFC 2821,
April 2001.
[RFC2822] Resnick, P., "Internet Message Format", RFC 2822,
April 2001.
YONEYA & Fujiwara Expires September 7, 2006 [Page 10]
Internet-Draft IMA Downgrade March 2006
[RFC3490] Faltstrom, P., Hoffman, P., and A. Costello,
"Internationalizing Domain Names in Applications (IDNA)",
RFC 3490, March 2003.
[RFC3492] Costello, A., "Punycode: A Bootstring encoding of Unicode
for Internationalized Domain Names in Applications
(IDNA)", RFC 3492, March 2003.
[RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO
10646", STD 63, RFC 3629, November 2003.
YONEYA & Fujiwara Expires September 7, 2006 [Page 11]
Internet-Draft IMA Downgrade March 2006
Authors' Addresses
Yoshiro YONEYA (editor)
JPRS
Chiyoda First Bldg. East 13F, 3-8-1 Nishi-Kanda
Chiyoda-ku, Tokyo 101-0065
Japan
Phone: +81 3 5215 8451
Email: yone@jprs.co.jp
Kazunori Fujiwara (editor)
JPRS
Chiyoda First Bldg. East 13F, 3-8-1 Nishi-Kanda
Chiyoda-ku, Tokyo 101-0065
Japan
Phone: +81 3 5215 8451
Email: fujiwara@jprs.co.jp
YONEYA & Fujiwara Expires September 7, 2006 [Page 12]
Internet-Draft IMA Downgrade March 2006
Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Disclaimer of Validity
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM 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.
Copyright Statement
Copyright (C) The Internet Society (2006). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights.
Acknowledgment
Funding for the RFC Editor function is currently provided by the
Internet Society.
YONEYA & Fujiwara Expires September 7, 2006 [Page 13]