これを可能にする基本インフラストラクチャが存在し、DNSベースの名前付きエンティティの認証(DANE)と呼ばれ、RFC6698で指定されています。これTLSA
は、エンドエンティティの証明書またはその公開キー、またはチェーン内のCAの1つを指定するリソースレコードによって機能します(実際には4つの異なるタイプがあります。詳細についてはRFCを参照してください)。
可決
しかし、DANEはまだ広く採用されていません。VeriSignはDNSSECとDANEの採用を監視し、その成長を追跡します。
比較のために、VeriSignによると、約270万のDNSゾーンが存在するため、すべてのゾーンの1%以上が少なくとも1つのTLSAレコードを持っています。
正式な答えを出すことはできません。なぜDANEなのか、私の推測は次のとおりです。
DANEは、証明書失効リスト(CRL)およびオンライン証明書ステータスプロトコル(OCSP)と同じ問題に悩まされています。提示された証明書の有効性を検証するには、第三者に連絡する必要があります。HannoBöck が、なぜこれが実際に大きな問題であるのか、良い概要を説明します。要するに、あなたが第三者に連絡できないとき、何をすべきかという問題です。この場合、ブラウザベンダーはソフトフェイル(許可)を選択しましたが、全体がかなり無意味になり、Chromeは最終的に2012年にOCSPを無効にすることを決定しました。
DNSSEC
おそらくDNSはCAのCRLおよびOCSPサーバーよりもはるかに優れた可用性を提供しますが、それでもオフライン検証を不可能にします。さらに、DANEは、DNSSECと組み合わせてのみ使用する必要があります。通常のDNSは認証されていないUDP上で動作するため、偽造やMITM攻撃などの傾向があります。DNSSECの採用はDANEの採用よりもはるかに優れていますが、ユビキタスではありません。
そして、DNSSECを使用すると、ソフトフェールの問題に再び遭遇します。私の知る限りでは、主要なサーバー/クライアントオペレーティングシステムはデフォルトで検証DNSSECリゾルバーを提供していません。
次に、失効の問題もあります。DNSSECには失効メカニズムがなく、代わりに短命のキーに依存します。
ソフトウェアサポート
参加するすべてのソフトウェアは、DANEサポートを実装する必要があります。
理論的には、これは暗号ライブラリの仕事であり、アプリケーション開発者は多くのことを行う必要はないと思うかもしれませんが、実際には、暗号ライブラリは通常プリミティブのみを提供し、アプリケーションは多くの構成とセットアップを自分で行う必要があります(そして残念なことに、物事を間違える多くの方法があります)。
たとえば、主要なWebサーバー(Apacheやnginxなど)がDANEを実装しているか、それを行う計画があるかどうかはわかりません。ここでは、Webサーバーが特に重要です。これは、Webテクノロジー上に構築されるものが増えているため、多くの場合、それらが最初に実装される場所であるためです。
CRL、OCSP、およびOCSP Staplingを比較として見ると、DANE導入のストーリーがどのように進むかを推測できる場合があります。OpenSSL、libnss、GnuTLSなどを使用するアプリケーションの一部のみがこれらの機能をサポートしています。Apacheやnginxのような主要なソフトウェアがそれをサポートするのに少し時間がかかり、再びHannoBöckの記事を参照すると、それは間違ってしまい、実装に欠陥がありました。PostfixやDovecotなどの他の主要なソフトウェアプロジェクトはOCSPをサポートしていませんそして、基本的にファイルシステム内のファイルを指す非常に限られたCRL機能を持っています(定期的に再読み込みする必要はないため、手動でサーバーをリロードする必要があります)。これらは頻繁にTLSを使用するプロジェクトであることに注意してください。次に、たとえばPostgreSQL / MySQLなど、TLSがあまり一般的ではなく、せいぜいCRLを提供するようなものを調べ始めることができます。
したがって、私は最新のWebサーバーでさえも実装しておらず、他のほとんどのソフトウェアはOCSPとCRLを実装することすらできていません。5年間のエンタープライズアプリケーションまたはアプライアンスで幸運を祈ります。
潜在的なアプリケーション
では、実際にどこでDANEを使用できますか?現在のところ、一般的なインターネット上ではありません。サーバーとクライアントを制御する場合は、オプションかもしれませんが、この場合、多くの場合、公開キー固定に頼ることができます。
SMTPは最長の期間、認証されたトランスポート暗号化を一切備えていなかったため、メール空間では、DANEが何らかの牽引力を得ています。SMTPサーバーは時々TLSを相互に使用していましたが、証明書の名前が実際に一致したことを確認しませんでした。現在、DANEを介してこれを確認し始めています。