Individual submission M. Kucherawy
Internet-Draft Sendmail, Inc.
Intended status: Informational April 17, 2009
Expires: October 19, 2009
Indicating Message Authentication System Parameters
draft-kucherawy-sender-auth-caps-01
Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and 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 October 19, 2009.
Copyright Notice
Copyright (c) 2009 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents in effect on the date of
publication of this document (http://trustee.ietf.org/license-info).
Please review these documents carefully, as they describe your rights
and restrictions with respect to this document.
Kucherawy Expires October 19, 2009 [Page 1]
Internet-Draft Message Authentication System Parameters April 2009
Abstract
This memo defines simple extensions to IMAP, POP3 and SMTP to permit
a user's message reading software (Mail User Agent, or MUA) to
determine the properties of its environment with respect to available
message authentication services.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. SMTP AUTHSERV Extension . . . . . . . . . . . . . . . . . . . 6
3.1. Description . . . . . . . . . . . . . . . . . . . . . . . 6
3.2. Framework for the AUTHSERV SMTP Extension . . . . . . . . 6
3.3. Details . . . . . . . . . . . . . . . . . . . . . . . . . 6
4. IMAP AUTHSERV Capability . . . . . . . . . . . . . . . . . . . 8
5. POP3 AUTHSERV Capability . . . . . . . . . . . . . . . . . . . 9
6. Using DNS to Advertise Authentication Service . . . . . . . . 10
7. Conformance and Usage Requirements . . . . . . . . . . . . . . 11
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12
8.1. SMTP Extension Registration . . . . . . . . . . . . . . . 12
8.2. IMAP Extension Registration . . . . . . . . . . . . . . . 12
8.3. POP3 Extension Registration . . . . . . . . . . . . . . . 12
9. Security Considerations . . . . . . . . . . . . . . . . . . . 13
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 14
10.1. Normative References . . . . . . . . . . . . . . . . . . . 14
10.2. Informative References . . . . . . . . . . . . . . . . . . 14
Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 15
Appendix B. Examples . . . . . . . . . . . . . . . . . . . . . . 16
B.1. Example use of SMTP extension . . . . . . . . . . . . . . 16
B.2. Example use of IMAP extension . . . . . . . . . . . . . . 17
B.3. Example use of POP3 extension . . . . . . . . . . . . . . 18
Appendix C. Public Discussion . . . . . . . . . . . . . . . . . . 19
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 20
Kucherawy Expires October 19, 2009 [Page 2]
Internet-Draft Message Authentication System Parameters April 2009
1. Introduction
The message header field defined in [AUTH-RESULTS] can be used to
relay to MUAs or other internal filtering agents the results of
message authentication efforts performed by upstream Mail Transport
Agents (MTAs). As messaging is generally not secure by default,
there exist some vectors for allowing forgeries of that header field
through to user agents or filters which might then take inappropriate
action. (See the Security Considerations section of that memo for
details.)
Part of the work required to secure those vectors involves securing
the channel between MTAs and user agents such that the contents of
the header field can be trusted. Another important need is to handle
the configuration of that channel as automatically as possible.
There are two important facilities needed toward this end:
1. An [SMTP] extension: User agents can contact upstream MTAs within
their administrative domains to see if those MTAs are conforming
to the security requirements of [AUTH-RESULTS], and possibly also
determine what token(s) those MTAs use when generating
Authentication-Results header fields.
2. [IMAP] and/or [POP3] extensions: User agents can contact their
message store servers to determine what token(s) authorized MTAs
use when generating the authentication results header fields,
which also implicitly notifies the MUA that the administrative
domain conforms to the security requirements of [AUTH-RESULTS].
Kucherawy Expires October 19, 2009 [Page 3]
Internet-Draft Message Authentication System Parameters April 2009
2. Definitions
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 RFC2119.
An "MTA" is a Mail Transfer Agent, or any agent which uses [SMTP] or
its extensions to format and transport a message.
An "MDA" is a Mail Delivery Agent (also sometimes referred to as
"LDA" or Local Delivery Agent), or any agent which has access to
receive a message from an MTA and write it into the receiving user's
"inbox".
An "MUA" is a Mail User Agent, or any software which retrieves and
displays messages on behalf of a user. It may use [IMAP] or [POP3].
A "border MTA" is an MTA which acts as a gateway between the general
Internet and the users within an organizational boundary.
An "intermediate MTA" is an MTA which handles messages after a border
MTAs and before a delivery MTA.
+-----+ +-----+ +------------+
| MUA |-->| MSA |-->| Border MTA |
+-----+ +-----+ +------------+
|
|
V
+----------+
| Internet |
+----------+
|
|
V
+-----+ +-----+ +------------------+ +------------+
| MUA |<==| MDA |<==| Intermediate MTA |<==| Border MTA |
+-----+ +-----+ +------------------+ +------------+
Generally it is assumed that the work of applying message
authentication schemes takes place at a border MTA or a delivery MTA.
This specification is written with that assumption in mind. However,
there are some sites at which the entire mail infrastructure consists
of a single host. In such cases, such terms as "border MTA" and
"delivery MTA" may well apply to the same machine or even the very
same agent. It is also possible that message authentication could
take place on an intermediate MTA. Although this document doesn't
Kucherawy Expires October 19, 2009 [Page 4]
Internet-Draft Message Authentication System Parameters April 2009
specifically include such cases, they are not meant to be excluded
from this specification.
See [I-D.DRAFT-CROCKER-EMAIL-ARCH] for further discussion on e-mail
system architecture.
In the figure shown above, the double-lines indicate the portions of
the transport of a message where this protocol would be applied.
Note also that the Local Mail Transfer Protocol [LMTP] could benefit
from a similar extension.
"authserv-id" is imported from [AUTH-RESULTS].
Kucherawy Expires October 19, 2009 [Page 5]
Internet-Draft Message Authentication System Parameters April 2009
3. SMTP AUTHSERV Extension
3.1. Description
This section defines a new [SMTP] extension which enables user agents
and downstream filters to interrogate an MTA as to whether or not it
conforms to the security requirements of [AUTH-RESULTS]. In
particular, it reveals (a) that it conforms to that memo's
requirements, and (b) what "authserv-id" that MTA uses when adding
Authentication-Results header fields to messages inbound.
3.2. Framework for the AUTHSERV SMTP Extension
Per the requirements of [SMTP], the framework for the AUTHSERV
Extension is as follows:
1. The name of the SMTP service extension is "Authserv-ID";
2. The SMTP buffer length is extended by 256 bytes on servers
offering this service extension;
3. The EHLO keyword value associated with the extension is AUTHSERV;
4. The parameter used with the AUTHRES EHLO keyword is an
"authserv-id" as defined above, and is optional;
5. No additional parameters are added to the MAIL command;
6. No additional parameters are added to the RCPT command;
7. No additional SMTP verbs are defined by this extension; and
8. The next subsection discusses how support for the extension
affects the behaviour of a server and client SMTP session.
3.3. Details
If an MTA is compliant with that specification, it SHOULD use this
extension to advertise the "authserv-id" it uses when generating new
Authentication-Results header fields. An MUA can then use SMTP to
query the upstream MTA by issuing an EHLO command to determine
whether or not the MTA implements the specification in the header
field memo and also what "authserv-id" it should expect. Once the
presence or absence of this information is determined by the MUA, it
would simply issue a QUIT command and disconnect.
The SMTP server MAY choose not to include the "authserv-id" token in
use if there is some practical reason to do so. In this case, the
Kucherawy Expires October 19, 2009 [Page 6]
Internet-Draft Message Authentication System Parameters April 2009
server is simply announcing that it conforms to the remaining
security issues discussed in [AUTH-RESULTS].
This SMTP extension adds no new SMTP functionality per se. Rather,
it simply provides a means for an MUA attempting to implement
[AUTH-RESULTS] to acquire important security information about its
environment.
Kucherawy Expires October 19, 2009 [Page 7]
Internet-Draft Message Authentication System Parameters April 2009
4. IMAP AUTHSERV Capability
A new [IMAP] capability called AUTHSERV is defined.
Prior to authentication, it has no value associated with it, i.e. the
capability reported is simply "AUTHSERV". After authentication, it
always has a value associated with it, namely the "authserv-id"
string used within the administrative domain represented by the IMAP
server to declare validated authentication results, i.e. it becomes
"AUTHSERV=authserv-id".
The [ABNF] defining the capability's syntax is as follows:
authserv-cap := AUTHSERV [ "=" authserv-id ]
The advertisement of this capability to a client
1. MAY be considered by the client to be a statement that the
administrative domain is compliant with the security requirements
of [AUTH-RESULTS]; and
2. in the post-authentication form, contains the "authserv-id"
string which will be present on all Authentication-Results header
fields which the client can use when determining courses of
action based on the results of prior message authentication
efforts.
Kucherawy Expires October 19, 2009 [Page 8]
Internet-Draft Message Authentication System Parameters April 2009
5. POP3 AUTHSERV Capability
The formal definition, per [POP3-CAPA]:
CAPA tag: AUTHSERV
Arguments: "authserv-id" string used within the administrative
domain
Added commands: none
Standard commands affected: none
Announced states / possible differences: both / yes (see below)
Commands valid in states: n/a
Specification reference: this document
Discussion: A new [POP3] capability called AUTHSERV is defined. It
MUST have a value associated with it in the TRANSACTION state,
namely the "authserv-id" string used within the administrative
domain represented by the POP3 server to declared validated
authentication results. It MUST NOT have a value in the
AUTHENTICATION state. The advertisement of this capability to a
client
1. MAY be considered by the client to be a statement that the
administrative domain is compliant with the security
requirements of [AUTH-RESULTS]; and
2. contains the "authserv-id" string which will be present on all
Authentication-Results header fields which the client could
use when determining courses of action based on the results of
prior message authentication efforts.
Kucherawy Expires October 19, 2009 [Page 9]
Internet-Draft Message Authentication System Parameters April 2009
6. Using DNS to Advertise Authentication Service
An ADMD can place the "authserv-id" token in a text resource record
(TXT) for MUAs to query. For this purpose, the label "_authservid"
is reserved in the DNS namespace at the same location as the top of
the ADMD.
The name for the label "_authservid" was chosen because any domain
name that includes it as one of its labels cannot be a valid host
name. There will never be any accidental overlap with a valid domain
name. Further, it is safe to create a rule that says that a TXT DNS
record that comes from a domain name that includes a "_authservid"
label will always have the content defined in this document.
Kucherawy Expires October 19, 2009 [Page 10]
Internet-Draft Message Authentication System Parameters April 2009
7. Conformance and Usage Requirements
Section 3, Section 4 and Section 5 are each individual specifications
containing proposals supporting the goals specified in Section 1 and
in [AUTH-RESULTS]. Use of them in any combination (other than
"none") constitutes minimal conformance to this specification and
support of the header field memo.
Kucherawy Expires October 19, 2009 [Page 11]
Internet-Draft Message Authentication System Parameters April 2009
8. IANA Considerations
This section discusses actions requested by IANA, per
[IANA-CONSIDERATIONS].
8.1. SMTP Extension Registration
IANA is requested to register the AUTHSERV extension to SMTP,
referencing this memo as its defining document.
8.2. IMAP Extension Registration
This document constitutes registration of the AUTHSERV IMAP
capability in the imap4-capabilities registry.
8.3. POP3 Extension Registration
This document constitutes registration of the AUTHSERV POP3
capability in the pop3-extension-mechanism registry.
Kucherawy Expires October 19, 2009 [Page 12]
Internet-Draft Message Authentication System Parameters April 2009
9. Security Considerations
This memo serves to address some of the security considerations
within [AUTH-RESULTS]. In particular, the focus of this memo is to
provide the means to determine automatically whether the
administrative domain in which an MUA finds itself is (or claims to
be) conformant with the security considerations of that memo, and
furthermore to acquire a key piece of information to be used in
carrying out the work described there. It is not an attempt to
resolve any of those considerations, other than simplifying to some
extent the work of configuring MUAs, thus leaving fewer places for
misconfigurations to occur and security problems to form.
Consult that document for further discussion of security issues.
Kucherawy Expires October 19, 2009 [Page 13]
Internet-Draft Message Authentication System Parameters April 2009
10. References
10.1. Normative References
[ABNF] Crocker, D. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", RFC 5234, January 2008.
[IMAP] Crispin, M., "Internet Message Access Protocol - Version
4rev1", RFC 3501, March 2003.
[POP3-CAPA]
Gellens, R., Newman, C., and L. Lundblade, "POP3 Extension
Mechanism", RFC 2449, November 1998.
[SMTP] Klensin, J., "Simple Mail Transfer Protocol", RFC 5321,
October 2008.
10.2. Informative References
[AUTH-RESULTS]
Kucherawy, M., "Message Header Field for Indicating
Message Authentication Status", RFC 5451, April 2009.
[I-D.DRAFT-CROCKER-EMAIL-ARCH]
Crocker, D., "Internet Mail Architecture",
draft-crocker-email-arch (work in progress), May 2007.
[IANA-CONSIDERATIONS]
Alvestrand, H. and T. Narten, "Guidelines for Writing an
IANA Considerations Section in RFCs", RFC 2434,
October 1998.
[LMTP] Meyers, J., "Local Mail Transport Protocol", RFC 2033,
October 1996.
[POP3] Meyers, J. and M. Rose, "Post Office Protocol - Version
3", RFC 1939, May 1996.
Kucherawy Expires October 19, 2009 [Page 14]
Internet-Draft Message Authentication System Parameters April 2009
Appendix A. Acknowledgements
The author wishes to acknowledge the following for their review and
constructive criticism of this proposal: Alexey Melnikov
Kucherawy Expires October 19, 2009 [Page 15]
Internet-Draft Message Authentication System Parameters April 2009
Appendix B. Examples
This section presents some examples of the use of these extensions.
In all cases, "C:" represents a transmission by the client and "S:"
represents a transmission by the server.
B.1. Example use of SMTP extension
An example use of the AUTHSERV SMTP extension:
C: (establishes connection to SMTP server)
S: 220 server.example.com ESMTP; Fri, 10 Oct 2008 13:52:37 -0700 (PDT)
C: EHLO myname.example.com
S: 250-ENHANCEDSTATUSCODES
S: 250-PIPELINING
S: 250-8BITMIME
S: 250-SIZE
S: 250-DSN
S: 250-DELIVERBY
S: 250-AUTHSERV authserver.example.com
S: 250 HELP
C: QUIT
S: 221 server.example.com closing connection
S: (closes connection channel)
The client has connected to the SMTP server and issued the EHLO
command to determine whether or not the SMTP server claims to support
the requirements of the header memo. From this the client learns
that in fact it does conform, and furthermore knows what
"authserv-id" will be used by this MTA when communicating
authentication results.
Kucherawy Expires October 19, 2009 [Page 16]
Internet-Draft Message Authentication System Parameters April 2009
B.2. Example use of IMAP extension
An example use of the AUTHSERV IMAP capability (server replies
wrapped here for legibility):
C: (establishes connection to IMAP server)
S: * OK IMAP server IMAP4rev1 ready
C: x CAPABILITY
S: * CAPABILITY CAPABILITY IMAP4 IMAP4rev1 UIDPLUS
AUTHSERV
S: x OK CAPABILITY COMPLETED
(authentication takes place)
C: x CAPABILITY
S: * CAPABILITY CAPABILITY IMAP4 IMAP4rev1 UIDPLUS
AUTHSERV=authserv.example.com
S: x OK CAPABILITY COMPLETED
(session continues)
The client connects and requests capabilities, immediately learning
that this administrative domain complies with the security
requirements of the header memo. After authentication, the client
issues a second request for capabilities at which point the local
"authserv-id" in use is revealed.
Kucherawy Expires October 19, 2009 [Page 17]
Internet-Draft Message Authentication System Parameters April 2009
B.3. Example use of POP3 extension
An example use of the AUTHSERV POP3 capability (server replies
wrapped here for legibility):
C: (establishes connection to IMAP server)
S: +OK POP3 server ready
C: CAPA
S: +OK Capability list follows
S: TOP
S: USER
S: SASL CRAM-MD5
S: RESP-CODES
S: AUTHSERV
S: .
(authentication takes place)
C: CAPA
S: +OK Capability list follows
S: TOP
S: USER
S: SASL CRAM-MD5
S: RESP-CODES
S: AUTHSERV authserv.example.com
S: .
(session continues)
The client connects and requests capabilities, immediately learning
that this administrative domain complies with the security
requirements of the header memo. After authentication, the client
issues a second request for capabilities at which point the local
"authserv-id" in use is revealed.
Kucherawy Expires October 19, 2009 [Page 18]
Internet-Draft Message Authentication System Parameters April 2009
Appendix C. Public Discussion
[REMOVE BEFORE PUBLICATION]
Public discussion of this proposed specification is handled via the
mail-vet-discuss@mipassoc.org mailing list. The list is open.
Access to subscription forms and to list archives can be found at
http://mipassoc.org/mailman/listinfo/mail-vet-discuss.
Kucherawy Expires October 19, 2009 [Page 19]
Internet-Draft Message Authentication System Parameters April 2009
Author's Address
Murray S. Kucherawy
Sendmail, Inc.
6475 Christie Ave., Suite 350
Emeryville, CA 94608
US
Phone: +1 510 594 5400
Email: msk+ietf@sendmail.com
Kucherawy Expires October 19, 2009 [Page 20]