STARTTLS

STARTTLS（スタート・ティーエルエス）は、平文の通信プロトコルを暗号化通信に拡張する方法のひとつ。Opportunistic TLS（日和見TLS）あるいはExplicit TLS（明示的TLS）とも呼ばれる。

 特徴 
暗黙のTLS（またはSSL。以下単にTLS）では、暗号化通信のために専用のポートを割り当てなければならない。STARTTLSを利用すれば、専用のポート番号を割り当てずに、途中から平文の通信を暗号化通信に切り替えることができる。

TLSはアプリケーション中立である。例えば、TLS 1.2の仕様書である  では以下のように述べられている。

 プロトコルのSTARTTLS対応 
 プロトコル  用途  RFC  通常ポート (STARTTLS)  SSL  SSLポート SMTP  電子メール送信    25/587  SMTPS   465 POP3  電子メール受信    110  POP3S  995 IMAP  電子メール受信    143  IMAPS  993 NNTP  ネットニュース    119/433  NNTPS  563 LDAP  ディレクトリ・サービス    389  LDAPS  636 FTP  ファイル転送    21  FTPS  990 XMPP  インスタントメッセンジャー    5222    5223

このうち、POP3、IMAP、SMTPについては、 でSTARTTLSよりもImplicit TLS（暗黙のTLS、個別のポートを使用）の使用が推奨となっている。

 SMTPにおけるSTARTTLS 
TLSを使う方法は、TLSと同レイヤで動作するその他のプロトコルと同様であり、複数のTLSライブラリ実装でサポートされている。
TLSのSMTP拡張 () で、クライアント（以下ではCとする）とサーバ（以下ではSとする）がセキュアなセッションを開始するまでのやりとりは、例えば次のようになる。

   S: <TCPポート25番で接続要求を待つ>
   C: <接続をオープンする>
   S: 220 mail.example.org ESMTP service ready
   C: EHLO client.example.org
   S: 250-mail.example.org offers a warm hug of welcome
   S: 250 STARTTLS
   C: STARTTLS
   S: 220 Go ahead
   C: <TLSネゴシエーションを開始>
   C & S: <TLSのネゴシエーション>
   C & S: <ネゴシエーションの結果を確認>
   C: EHLO client.example.orgこの時点から暗号化通信が開始される（理解しやすいようにこの行を補った）。詳細はPaul Smithによる次のメーリングリストへの投稿を参照されたい（英文）。
   …

最後のEHLOコマンドはセキュアチャネルを通じて送られる。SMTP認証を利用する場合SMTPでは、認証は必須ではないことに注意。は、セキュアチャネルが開かれた後であれば、サーバからの応答をAUTH PLAINで送信しても問題ない。

2011年10月現在、STARTTLSをメール送信のために提供しているフリーメールサービスにはGmailとiCloudがある。

 限界 

両エンドが1対1でセッションを構築するTLSをメールの通信に利用しても、間欠的な通信や他のサーバによる中継を前提とした電子メール『マスタリングTCP/IP SSL/TLS編』、pp.408-409。では、ホップ間のセキュリティは確保することができるものの、
メール側でTLS経由を指示するような情報はなく、すべての中継でTLSが使われる保証をする方法がない『マスタリングTCP/IP SSL/TLS編』、p.406。
公開されるメールサーバの場合、TLS接続によって受信することを強制することはできず『マスタリングTCP/IP SSL/TLS編』、p.400。、平文で行われるSTARTTLSの部分を改竄してしまえば、あとの通信も平文で行われてしまう。2014年には、インターネットサービスプロバイダによるSTARTTLSの妨害も報告されている。
DNS偽装が行われた場合、全ホップのTLS接続を保ったまま中間者攻撃を成立させられる『マスタリングTCP/IP SSL/TLS編』、p.407。。
など、電子メールの完全性や機密性の担保、送信者認証などはいずれも実現することができない『マスタリングTCP/IP SSL/TLS編』、p.409。。電子メールに対してこれらの保護を適用するには、S/MIMEなど、上位層で行うことが必要となる『マスタリングTCP/IP SSL/TLS編』、p.451。。

 脚注 
 注釈 

 出典 

 参考文献 

 関連項目 
 TCP/IP
 Transport Layer Security（Secure Sockets Layer）
 暗号
 インターネット標準

 外部リンク 
 SMTP TLS Tests and Tools（TLS接続が可能かテストできるウェブサイト。"Receiver Test"をクリックしてメールアドレスを入力すると、メールアドレスをホストしているメールサーバで、本項で述べたSTARTTLSコマンド発行の様子を確認できる。英文）

Category:電子メールのプロトコル
Category:Transport Layer Security