STARTTLSコマンドを送信して応答を受信した後、クライアントに何が起こりますか?

STARTTLSコマンドを送信して応答を受信した後、クライアントに何が起こりますか?

IMAP の STARTTLS コマンドが正確にどのように動作するか、送信時に何が起こるかを理解しようとしています。クライアントとしてログインプロセスの前に「STARTTLS」コマンドを送信し、「OK start TLSネゴシエーション」という応答を受信した後、お客様として変更される事項はありますか?さらに進む通信(例えば、要求と応答の形式、いくつかの追加情報など)?私は低レベルではなくAPIレベルについて話しています。

ベストアンサー1

このSTARTLSプロセスはクライアントとサーバーに暗号化された接続ネゴシエーションを開始するように指示するので、すべての追加データはTLS(SSL、Close Enough)暗号化されます。これにより、ユーザーがトラフィック(ユーザー名、パスワードなど)をスニッフィングするのを防ぐことができます。

これで、一部のサーバーは他のサービスを提供するように構成できます。たとえば、IMAPサーバーは通常の接続ではLOGINコマンドを許可しませんが、TLS暗号化接続では許可できます。

我々は違いを見ることができます。この例では、通常の IMAP 接続について以下を表示します。

* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS LOGINDISABLED] Dovecot ready.

「LOGINDISABLED」部分を参照してください。

TLSを介して同じサーバーに接続する場合

* CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN

これで「AUTH」が利用可能になり、ログインを試すことができます。

IMAPは、このように動作する唯一のサービスではありません。たとえば、通常の接続のSMTPは次のよ​​うになります。

250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN

そしてTLSを使う

250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN

もう一度AUTH新しいコマンドを使用できます。

おすすめ記事