原文:ftp://ftp.rfc-editor.org/in-notes/rfc2554.txt
原文との対訳として読みたい方へ:このページをローカルに保存して、スタイルシートの original クラスの display 属性を none から block に変更してみてください。
サイト内関連リンク:RFC 2821 SMTP , RFC 2822 インターネットメッセージフォーマット
This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited. この文書はインターネットコミュニティのためのインターネット標準トラックプロトコルについて述べており、改良に向けての議論と提案を求めている。このプロトコルの標準化の状態と状況は "Internet Official Protocol Standards" (STD 1)を参照してほしい。この文書の配布は無制限である。
Copyright (C) The Internet Society (1999). All Rights Reserved.
This document defines an SMTP service extension [ESMTP] 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]. この文書は SMTP サービス拡張 [ESMTP] のひとつを定義する。このサービス拡張は、SMTP クライアントがサーバーに認証メカニズムを提示し、認証プロトコルの交換を行い、オプションで後続のプロトコル対話のためのセキュリティレイヤを交渉するためのものである。この拡張は「単純認証とセキュリティレイヤ」(Simple Authentication and Security Layer) [SASL] のプロファイルである。
In examples, "C:" and "S:" indicate lines sent by the client and server respectively. 文書中の例に使用されている "C:"・"S:" は、それぞれクライアント・サーバーが送信した行を表す。
The key words "MUST", "MUST NOT", "SHOULD", "SHOULD NOT", and "MAY" in this document are to be interpreted as defined in "Key words for use in RFCs to Indicate Requirement Levels" [KEYWORDS]. 文書中のキーワード "MUST"、"MUST NOT"、"SHOULD"、"SHOULD NOT"、"MAY" は、"Key words for use in RFCs to Indicate Requirement Levels" [KEYWORDS] で定義されている通りに解釈される。
Examples:
S: 220 smtp.example.com ESMTP server ready
C: EHLO jgm.example.com
S: 250-smtp.example.com
S: 250 AUTH CRAM-MD5 DIGEST-MD5
C: AUTH FOOBAR
S: 504 Unrecognized authentication type.
C: AUTH CRAM-MD5
S: 334
PENCeUxFREJoU0NnbmhNWitOMjNGNndAZWx3b29kLmlubm9zb2Z0LmNvbT4=
C: ZnJlZCA5ZTk1YWVlMDljNDBhZjJiODRhMGMyYjNiYmFlNzg2ZQ==
S: 235 Authentication successful.
例:
S: 220 smtp.example.com ESMTP server ready
C: EHLO jgm.example.com
S: 250-smtp.example.com
S: 250 AUTH CRAM-MD5 DIGEST-MD5
C: AUTH FOOBAR
S: 504 Unrecognized authentication type.
C: AUTH CRAM-MD5
S: 334
PENCeUxFREJoU0NnbmhNWitOMjNGNndAZWx3b29kLmlubm9zb2Z0LmNvbT4=
C: ZnJlZCA5ZTk1YWVlMDljNDBhZjJiODRhMGMyYjNiYmFlNzg2ZQ==
S: 235 Authentication successful.
AUTH=addr-spec
Examples:
C: MAIL FROM:<e=mc2@example.com> AUTH=e+3Dmc2@example.com
S: 250 OK
例:
C: MAIL FROM:<e=mc2@example.com> AUTH=e+3Dmc2@example.com
S: 250 OK
The following error codes may be used to indicate various conditions as described. さまざまな状況を表すために以下のエラーコードが使用される。
432 A password transition is needed
432 A password transition is needed
(パスワードの変更が必要)
This response to the AUTH command indicates that the user needs to transition to the selected authentication mechanism. This typically done by authenticating once using the PLAIN authentication mechanism. 認証メカニズムの変更が必要であることを表している。典型的には認証メカニズム PLAIN による認証の後に返される。
534 Authentication mechanism is too weak
534 Authentication mechanism is too weak
(認証メカニズムが弱すぎる)
This response to the AUTH command indicates that the selected authentication mechanism is weaker than server policy permits for that user. サーバーポリシーによってそのユーザーに許可されているものより弱いメカニズムが選択されたことを表している。
538 Encryption required for requested authentication mechanism
538 Encryption required for requested authentication mechanism
(要求された認証メカニズムには暗号化が必要)
This response to the AUTH command indicates that the selected authentication mechanism may only be used when the underlying SMTP connection is encrypted. 暗号化された SMTP 接続を使用している場合にのみ許可されている認証メカニズムが選択されたことを表している。
454 Temporary authentication failure
454 Temporary authentication failure
(一時的な認証失敗)
This response to the AUTH command indicates that the authentication failed due to a temporary server failure. サーバーの一時的な障害により認証が失敗したことを表している。
530 Authentication required
530 Authentication required
(認証が必要)
This response may be returned by any command other than AUTH, EHLO, HELO, NOOP, RSET, or QUIT. It indicates that server policy requires authentication in order to perform the requested action. サーバーポリシーにより、要求された操作の実行には認証が必要であることを表している。このレスポンスは、AUTH・EHLO・HELO・NOOP・RSET・QUIT 以外のコマンドによって返される可能性がある。
The following syntax specification uses the augmented Backus-Naur Form (BNF) notation as specified in [ABNF]. 以下の文法仕様では、[ABNF] で規定されている拡張バッカス記法(augmented Backus-Naur Form (BNF))を使用している。
Except as noted otherwise, all alphabetic characters are case- insensitive. 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. 別途注記がない限り、アルファベットの大文字・小文字は区別されない。トークン文字列の定義に使用されている大文字・小文字はすべて見やすさのためのものであり、実装は大文字・小文字を区別せずにこれらの文字列を受け入れなければならない(MUST)。
UPALPHA = %x41-5A ;; Uppercase: A-Z
LOALPHA = %x61-7A ;; Lowercase: a-z
ALPHA = UPALPHA / LOALPHA ;; case insensitive
DIGIT = %x30-39 ;; Digits 0-9
HEXDIGIT = %x41-46 / DIGIT ;; hexidecimal digit (uppercase)
hexchar = "+" HEXDIGIT HEXDIGIT
xchar = %x21-2A / %x2C-3C / %x3E-7E
;; US-ASCII except for "+", "=", SPACE and CTL
xtext = *(xchar / hexchar)
AUTH_CHAR = ALPHA / DIGIT / "-" / "_"
auth_type = 1*20AUTH_CHAR
auth_command = "AUTH" SPACE auth_type [SPACE (base64 / "=")]
*(CRLF [base64]) CRLF
auth_param = "AUTH=" xtext
;; The decoded form of the xtext MUST be either
;; an addr-spec or the two characters "<>"
base64 = base64_terminal /
( 1*(4base64_CHAR) [base64_terminal] )
base64_char = UPALPHA / LOALPHA / DIGIT / "+" / "/"
;; Case-sensitive
base64_terminal = (2base64_char "==") / (3base64_char "=")
continue_req = "334" SPACE [base64] CRLF
CR = %x0C ;; ASCII CR, carriage return
CRLF = CR LF
CTL = %x00-1F / %x7F ;; any ASCII control character and DEL
LF = %x0A ;; ASCII LF, line feed
SPACE = %x20 ;; ASCII SP, space
UPALPHA = %x41-5A ;; 大文字: A-Z
LOALPHA = %x61-7A ;; 小文字: a-z
ALPHA = UPALPHA / LOALPHA ;; 大文字・小文字を区別されない
DIGIT = %x30-39 ;; 数字 0-9
HEXDIGIT = %x41-46 / DIGIT ;; 16 進数(大文字)
hexchar = "+" HEXDIGIT HEXDIGIT
xchar = %x21-2A / %x2C-3C / %x3E-7E
;; "+"・"="・SPACE・CTL を除く US-ASCII
xtext = *(xchar / hexchar)
AUTH_CHAR = ALPHA / DIGIT / "-" / "_"
auth_type = 1*20AUTH_CHAR
auth_command = "AUTH" SPACE auth_type [SPACE (base64 / "=")]
*(CRLF [base64]) CRLF
auth_param = "AUTH=" xtext
;; xtext のデコードされた書式は、addr-spec または
;; "<>" のどちらかでなければならない(MUST)。
base64 = base64_terminal /
( 1*(4base64_CHAR) [base64_terminal] )
base64_char = UPALPHA / LOALPHA / DIGIT / "+" / "/"
;; 大文字・小文字が区別される
base64_terminal = (2base64_char "==") / (3base64_char "=")
continue_req = "334" SPACE [base64] CRLF
CR = %x0C ;; ASCII CR, 改行
CRLF = CR LF
CTL = %x00-1F / %x7F ;; すべての ASCII 制御文字と DEL
LF = %x0A ;; ASCII LF, 復帰
SPACE = %x20 ;; ASCII SP, 空白
[ABNF] Crocker, D. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", RFC 2234, November 1997.
[CRAM-MD5] Klensin, J., Catoe, R. and P. Krumviede, "IMAP/POP AUTHorize Extension for Simple Challenge/Response", RFC 2195, September 1997.
[ESMTP] Klensin, J., Freed, N., Rose, M., Stefferud, E. and D. Crocker, "SMTP Service Extensions", RFC 1869, November 1995.
[ESMTP-DSN] Moore, K, "SMTP Service Extension for Delivery Status Notifications", RFC 1891, January 1996.
[KEYWORDS] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
[SASL] Myers, J., "Simple Authentication and Security Layer (SASL)", RFC 2222, October 1997.
[SUBMIT] Gellens, R. and J. Klensin, "Message Submission", RFC 2476, December 1998.
[RFC821] Postel, J., "Simple Mail Transfer Protocol", STD 10, RFC 821, August 1982.
[RFC822] Crocker, D., "Standard for the Format of ARPA Internet Text Messages", STD 11, RFC 822, August 1982.
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. 安全ではないネットワークを通してサーバーへの暗号トンネルを得るためにクライアントがこの拡張を使用する場合、その接続が互いに認証され暗号化されていないときにはメールを送信しないように構成する必要がある。さもなければ攻撃者は SMTP 接続をハイジャックし、サーバーが認証をサポートしていないように見せかけたり、すべての AUTH コマンドを失敗させたりすることで、クライアントのメールを盗聴することができるだろう。
Before the SASL negotiation has begun, any protocol interactions are performed in the clear and may be modified by an active attacker. For this reason, clients and servers MUST discard any knowledge obtained prior to the start of the SASL negotiation upon completion of a SASL negotiation which results in a security layer. SASL の交渉が開始される前のプロトコル対話はすべて平文で行われるため、攻撃者によって改謬される可能性がある。そのためクライアントとサーバーは、セキュリティレイヤをもたらした SASL の交渉が始まる前に取得したすべての情報を破棄しなければならない(MUST)。
This mechanism does not protect the TCP port, so an active attacker may redirect a relay connection attempt to the submission port [SUBMIT]. The AUTH=<> parameter prevents such an attack from causing an relayed message without an envelope authentication to pick up the authentication of the relay client. このメカニズムは TCP ポートを保護しない。そのため、サブミッションポート [SUBMIT] への接続を攻撃者がリダイレクトする可能性がある。パラメータ AUTH=<> は、そのような攻撃がリレークライアントの認証を補足しようとしてエンベロープ認証なしにメッセージをリレーするのを妨ぐ。
A message submission client may require the user to authenticate whenever a suitable SASL mechanism is advertised. Therefore, it may not be desirable for a submission server [SUBMIT] to advertise a SASL mechanism when use of that mechanism grants the client no benefits over anonymous submission. 適当な SASL メカニズムを通知されたとき、それがどのようなものであれ、メッセージ投入クライアントはユーザーに認証を要求する可能性がある。そのため、ある SASL メカニズムが匿名のメール投入に対してまったく効果を持たないのであれば、サブミッションサーバー [SUBMIT] がそのような SASL メカニズムを通知するのは望ましくないかもしれない。
This extension is not intended to replace or be used instead of end- to-end message signature and encryption systems such as S/MIME or PGP. This extension addresses a different problem than end-to-end systems; it has the following key differences: この拡張は、例えば S/MIME や PGP などの、エンドツーエンドのメッセージ署名・暗号システムを置き換えたり、その代替として使用することを目的としたものではない。この拡張とエンドツーエンドの手法とは異なる問題を扱う。これら二つの間には以下のような重要な違いがある。
Additional security considerations are mentioned in the SASL specification [SASL]. さらなるセキュリティ考察は SASL 仕様 [SASL]に記述されている。
John Gardiner Myers Netscape Communications 501 East Middlefield Road Mail Stop MV-029 Mountain View, CA 94043 EMail: jgmyers@netscape.com
Copyright (C) The Internet Society (1999). All Rights Reserved.
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.
The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.