← RFC Reference

RFC 7817: メール向けTLSサーバー識別確認の更新

Current Standard Transport Security Published March 2026
ELI5: HTTPS経由でウェブサイトに接続する場合、ブラウザはサーティフィケートがドメイン名と一致することを確認します。メールサーバーも、TLS経由で互いに接続する場合は同じことを行う必要があります。ただし、MXレコードを通じたメールルーティングはこれをより複雑にします。このRFCは、送信サーバーがサーティフィケートをチェックすべき正確な名前を定義します。

これが存在する理由

SMTPクライアントがリモートメールサーバーへのTLS接続を開始するとき(RFC 3207のSTARTTLSまたはRFC 8314の暗黙的TLS経由)、証明書を受け取ります。しかし、その証明書にはどのホスト名が表示される必要があるのでしょうか?

電子メールでは、受信者のドメインに直接接続しません。example.comのMXレコードを検索します。これはmail.hosting-provider.netを指している可能性があります。証明書にexample.commail.hosting-provider.netのどちらが表示されるべきでしょうか?答えは重要です。以下の理由により:

動作方法

RFC 7817は、サーバーがどのように検出されたかに応じて、クライアントがサーバーの証明書に対してチェックすべき参照識別子の明確な階層を定義しています:

識別チェック順序

  1. MXホスト名—サーバーがMX検索経由で見つかった場合、受信者ドメインではなくMXホスト名(例:mail.hosting-provider.net)に対して証明書をチェックします。
  2. 受信者ドメイン—MXレコードがなく、クライアントがドメイン自体のA/AAAAレコードにフォールバックする場合、受信者ドメインに対してチェックします。
  3. 明示的な構成—サーバーが手動で構成された場合(例:送信サーバー)、構成されたホスト名に対してチェックします。

TLS接続フロー

; ステップ1:受信者ドメインのMXを解決
dig example.com MX
example.com.  IN  MX  10 mail.provider.net.

; ステップ2:MXホストに接続、SMTPを開始
220 mail.provider.net ESMTP ready
EHLO sender.example.org
250-mail.provider.net
250-STARTTLS
STARTTLS
220 Go ahead

; ステップ3:TLSハンドシェイク—「mail.provider.net」に対して証明書をチェック
; 証明書SAN: DNS:mail.provider.net, DNS:*.provider.net
; マッチが見つかった→識別が確認された

重要な技術詳細

証明書マッチングルール

フィールド チェック 注釈
Subject Alternative Name (SAN) 優先 最初にSAN拡張内のDNS-IDエントリをチェック
Common Name (CN) フォールバック SAN DNS-IDエントリがない場合のみ(非推奨の実践)
ワイルドカード 左端のラベルのみ *.provider.netmail.provider.netにマッチしますがa.b.provider.netにはマッチしません

検出方法別の参照識別子

検出方法 証明書を照合
MX検索 MXホスト名 証明書はmail.provider.netにマッチする必要があります
A/AAAAフォールバック(MXなし) 受信者ドメイン 証明書はexample.comにマッチする必要があります
SRVレコード(RFC 6186 SRVターゲットホスト名 証明書はSRVターゲットにマッチする必要があります
手動構成 構成されたホスト名 証明書は管理者が設定したものにマッチする必要があります
MTA-STSポリシー(RFC 8461 ポリシー内のMXホスト名 ポリシーはどのMX名が受け入れられるかを制限します

DANEとの相互作用

DANE(RFC 7672)がデプロイされている場合、DNS内のTLSAレコードはMXホスト名の証明書または公開鍵をピン留めします。DANEは従来のCA検証よりも強い識別保証を提供します。これは認証局を信頼することに依存しないためです—ドメイン所有者はDNSSEC署名されたDNSで直接期待される証明書データを公開します。

一般的な誤り

配信性への影響

Related RFCs