One document matched: draft-myers-smtp-auth-05.txt
Differences from draft-myers-smtp-auth-04.txt
Network Working Group J. Myers
Internet Draft: SMTP Authentication February 1997
Document: draft-myers-smtp-auth-05.txt
SMTP Service Extension
for Authentication
Status of this Memo
This document is an Internet Draft. Internet Drafts are working
documents of the Internet Engineering Task Force (IETF), its Areas,
and its Working Groups. Note that other groups may also distribute
working documents as Internet Drafts.
Internet Drafts are draft documents valid for a maximum of six
months. Internet Drafts may be updated, replaced, or obsoleted by
other documents at any time. It is not appropriate to use Internet
Drafts as reference material or to cite them other than as a
``working draft'' or ``work in progress``.
To learn the current status of any Internet-Draft, please check the
1id-abstracts.txt listing contained in the Internet-Drafts Shadow
Directories on ds.internic.net, nic.nordu.net, ftp.isi.edu, or
munnari.oz.au.
A revised version of this draft document will be submitted to the RFC
editor as a Proposed Standard for the Internet Community. Discussion
and suggestions for improvement are requested. This document will
expire before July 1996. Distribution of this draft is unlimited.
1. Introduction
This document defines an extension to the SMTP service whereby an
SMTP client may indicate an authentication mechanism to the server,
perform an authentication protocol exchange, and optionally negotiate
a security layer for subsequent protocol interactions. This
extension is a profile of the Simple Authentication and Security
Layer [SASL].
Myers [Page 1]
Internet Draft SMTP Authentication 26 February 1997
2. Conventions Used in this Document
In examples, "C:" and "S:" indicate lines sent by the client and
server respectively.
The following terms are used in this document to signify the
requirements of this specification.
1) MUST, or the adjective REQUIRED, means that the definition is an
absolute requirement of the specification.
2) MUST NOT that the definition is an absolute prohibition of the
specification.
3) SHOULD means that there may exist valid reasons in particular
circumstances to ignore a particular item, but the full implications
MUST be understood and carefully weighed before choosing a different
course.
4) SHOULD NOT means that there may exist valid reasons in particular
circumstances when the particular behavior is acceptable or even
useful, but the full implications SHOULD be understood and the case
carefully weighed before implementing any behavior described with
this label.
5) MAY, or the adjective OPTIONAL, means that an item is truly
optional. One vendor may choose to include the item because a
particular marketplace requires it or because the vendor feels that
it enhances the product while another vendor may omit the same item.
An implementation which does not include a particular option MUST be
prepared to interoperate with another implementation which does
include the option.
"Can" is used instead of "may" when referring to a possible
circumstance or situation, as opposed to an optional facility of the
protocol.
3. The Authentication service extension
(1) the name of the SMTP service extension is "Authentication"
(2) the EHLO keyword value associated with this extension is "AUTH"
(3) The AUTH EHLO keyword contains as a parameter a space separated list
of the names of supported SASL mechanisms.
Myers [Page 2]
Internet Draft SMTP Authentication 26 February 1997
(4) a new SMTP verb "AUTH" is defined
(5) No additional parameters are added to either the MAIL FROM or RCPT
TO commands.
4. The AUTH command
AUTH mechanism [initial-response]
Arguments:
a string identifying a SASL authentication mechanism.
an optional base64-encoded response
Restrictions:
after an AUTH command has successfully completed, no more AUTH com-
mands may be issued in the same session. After a successful AUTH
command completes, a server MUST reject any further AUTH commands
with a 503 reply.
Discussion:
The AUTH command indicates an authentication mechanism to the
server. If the server supports the requested authentication mecha-
nism, it performs an authentication protocol exchange to authenti-
cate and identify the user. Optionally, it also negotiates a secu-
rity layer for subsequent protocol interactions. If the requested
authentication mechanism is not supported, the server rejects the
AUTH command with a 504 reply.
The authentication protocol exchange consists of a series of server
challenges and client answers that are specific to the authentica-
tion mechanism. A server challenge, otherwise known as a ready
response, is a 334 reply with the text part containing a BASE64
encoded string. The client answer consists of a line containing a
BASE64 encoded string. If the client wishes to cancel an authenti-
cation exchange, it issues a line with a single "*". If the server
receives such an answer, it MUST reject the AUTH command by sending
a 501 reply.
The optional initial-response argument to the AUTH command is used
to save a round trip when using authentication mechanisms that are
defined to send no data in the initial challenge. When the initial-
response argument is used with such a mechanism, the initial empty
challenge is not sent to the client and the server uses the data in
the initial-response argument as if it were sent in response to the
empty challenge. If the initial-response argument to the AUTH com-
mand is used with a mechanism that sends data in the initial chal-
lenge, the server rejects the AUTH command with a 535 reply.
Myers [Page 3]
Internet Draft SMTP Authentication 26 February 1997
If the server cannot BASE64 decode the argument, it rejects the AUTH
command with a 501 reply. If the server rejects the authentication
data, it SHOULD reject the AUTH command with a 535 reply. Should
the client successfully complete the authentication exchange, the
SMTP server issues a 235 reply.
The service name specified by this protocol's profile of SASL is
"smtp".
If a security layer is negotiated through the SASL authentication
exchange, it takes effect immediately following the CRLF that con-
cludes the authentication exchange for the client, and the CRLF of
the success reply for the server.
The server is not required to support any particular authentication
mechanism, nor are authentication mechanisms required to support any
security layers. If an AUTH command fails, the client may try
another authentication mechanism by issuing another AUTH command.
In other words, the client may request authentication types in
decreasing order of preference.
The BASE64 string may in general be arbitrarily long. Clients and
servers MUST be able to support challenges and responses that are as
long as are generated by the authentication mechanisms they support,
independent of any line length limitations the client or server may
have in other parts of its protocol implementation.
Examples:
S: 220 smtp.andrew.cmu.edu ESMTP server ready
C: EHLO jgm.pc.cc.cmu.edu
S: 250-smtp.andrew.cmu.edu
S: 250 AUTH=SKEY
C: AUTH FOOBAR
S: 504 Unrecognized authentication type
C: AUTH SKEY c21pdGg=
S: 334 OTUgUWE1ODMwOA==
C: BsAY3g4gBNo=
S: 235 S/Key authentication successful
Myers [Page 4]
Internet Draft SMTP Authentication 26 February 1997
5. Formal Syntax
The following syntax specification uses the augmented Backus-Naur
Form (BNF) notation as specified in [RFC822].
Except as noted otherwise, all alphabetic characters are case-insen-
sitive. The use of upper or lower case characters to define token
strings is for editorial clarity only. Implementations MUST accept
these strings in a case-insensitive fashion.
ATOM_CHAR ::= <any CHAR except atom_specials>
atom_specials ::= "(" / ")" / "{" / SPACE / CTLs / "%" / "*" /
<"> / "\"
auth_command ::= "AUTH" SPACE auth_type [SPACE base64]
*(CRLF base64) CRLF
auth_type ::= 1*ATOM_CHAR
base64 ::= *(4base64_CHAR) [base64_terminal]
base64_char ::= "A" / "B" / "C" / "D" / "E" / "F" / "G" / "H" /
"I" / "J" / "K" / "L" / "M" / "N" / "O" / "P" /
"Q" / "R" / "S" / "T" / "U" / "V" / "W" / "X" /
"Y" / "Z" /
"a" / "b" / "c" / "d" / "e" / "f" / "g" / "h" /
"i" / "j" / "k" / "l" / "m" / "n" / "o" / "p" /
"q" / "r" / "s" / "t" / "u" / "v" / "w" / "x" /
"y" / "z" /
"0" / "1" / "2" / "3" / "4" / "5" / "6" / "7" /
"8" / "9" / "+" / "/"
;; Case-sensitive
base64_terminal ::= (2base64_char "==") / (3base64_char "=")
CHAR ::= <any 7-bit US-ASCII character except NUL,
0x01 - 0x7f>
continue_req ::= "334" SPACE base64 CRLF
CR ::= <ASCII CR, carriage return, 0x0C>
CRLF ::= CR LF
CTL ::= <any ASCII control character and DEL,
0x00 - 0x1f, 0x7f>
Myers [Page 5]
Internet Draft SMTP Authentication 26 February 1997
LF ::= <ASCII LF, line feed, 0x0A>
SPACE ::= <ASCII SP, space, 0x20>
6. References
[SASL] Myers, J., "Simple Authentication and Security Layer",
draft-myers-auth-sasl-XX.txt, Carnegie Mellon.
[RFC821] Postel, J., "Simple Mail Transfer Protocol", RFC 821, August
1982.
[RFC822] Crocker, D., "Standard for the Format of ARPA Internet Text
Messages", RFC 822, August 1982.
7. Security Considerations
Security issues are discussed throughout this memo.
If a client uses this extension to get an encrypted tunnel through an
insecure network to a cooperating server, it needs to be configured
to never send mail to that server when the connection is not mutually
authenticated and encrypted. Otherwise, an attacker could steal the
client's mail by hijacking the SMTP connection and either pretending
the server does not support the Authentication extension or causing
all AUTH commands to fail.
This extension does not provide a defined mechanism for authentica-
tion using a plaintext password. This omission is intentional.
This extension is not intended to replace or be used instead of end-
to-end message signature and encryption systems such as PEM or PGP.
This extension addresses a different problem than end-to-end systems;
it has the following key differences:
(1) it is generally useful only within a trusted enclave
(2) it protects the entire envelope of a message, not just the mes-
sage's body.
(3) it authenticates the message submission, not authorship of the
message content
Myers [Page 6]
Internet Draft SMTP Authentication 26 February 1997
(4) it can give the sender some assurance the message was delivered
to the next hop in the case where the sender mutually authenti-
cates with the next hop and negotiates an appropriate security
layer.
Additional security considerations are mentioned in the SASL
specification [SASL].
8. Author's Address:
John G. Myers
220 Palo Alto Ave, Apt 102
Palo Alto, CA 94301
Email: jgm@cmu.edu
Myers [Page 7]
| PAFTECH AB 2003-2026 | 2026-04-23 23:35:19 |