Notable Changes in NSS 3.27 CA certs. - Removal of 'Equifax Secure Certificate Authority'

某メールサーバ宛TLSでエラー発生

確認してみます。

3つ送られた証明書の最後の証明書のi:のCA証明書が無いのでエラーになっているようです。確かにNSS 3.27で削除された(コード)ようですが念のためコピペして食わせて確認してみます。

keyidを、該当FreeBSD機のPostfixに指定しているCA証明書ファイル /usr/local/share/certs/ca-root-nss.crt を覗くと確かにありません。NSS 3.26搭載機では見つかるので、ついでにその削除されたCA証明書をコピペしてfingerprintを確認します。

を゛、

というわけで削除されたCA証明書一覧のひとつであることが確認できます。Equifaxというお古い名前が気になるので2番目の証明書も確認します。

先ほどのCA証明書ファイルに該当keyidのCA証明書が存在しているようです。

というわけでチェーンは途中で完成しているはずです。Postfix側の設定でしょうか。

3番目の証明書についてRapidSSLのサイトを見るとすぐにIntermediate CA Certificates: RapidSSL SHA-2 (under SHA-1 Root) CA Bundleというページが見つかります。先ほど送られてきていた2番目と3番目の証明書と同じです。またCA証明書の説明では、

Root 1 – Equifax Secure Certificate Authority
Description: This root CA was the root used for all non-EV GeoTrust SSL Certificates up until July 22, 2010. This root will be needed to validate GeoTrust SSL certificates for many years to come and may still be used as part of a cross certification to ensure legacy applications continue to trust GeoTrust certificates

とのことなので、せいぜい古いガラケーくらいでしょうか。

こんなのやら、ジオトラスト クイックSSL プレミアム クロスルート対応によるスマートフォンへの対応強化のお知らせの経緯

「GeoTrust Global CA」が搭載されていない一部のスマートフォン(Android, Windows Mobile等)において、接続時にエラーメッセージが表示される等の事象が報告されたため、今回米国シマンテック・コーポレーションと協議し、クロスルート設定用証明書の提供開始を決定いたしました。これによって、より広く普及する「Equifax Secure Certificate Authority」による署名検証が可能となります。

を見ると2011年の時点での一部のスマホ対応強化だそうです。

IoTがもてはやされている昨今SSL/TLSを搭載をうたいつつもなぜかCA証明書を搭載していなかったりする機器もある一方、まじめにあたりまえにCA証明書を焼き焼きした機器の方が将来使えなくなり、結果「検証不備」の方がええやん、とかいうしょうもない流れにならないようにするためにはコストかけてファームウェアのアップデート手順を作りこむのか(バグの無いプログラムは無いし期待している期限より前にCAがやられちゃうことだってあるので、本来はそうしないといけない)、苦労するくらいならTLS搭載しないけどモバイルキャリアは信頼した上でSORACOM Beamのようなソリューションを採用するのか。何年か後には何が主流になっているのでしょう。最近telnet宛のスキャンが急増していて何年も昔に戻ったような感覚がします。調べてませんがこれもIoT狙いでしょうか、それともどっかのルータの何かが見つかったのでしょうか。(そんなとこのようで。Mirai botnet やら レコーダ ですか。honeypot抱えてらっしゃる方は該当初期パスワードの急増を観測していることでしょう。IoT機器も高機能になっているし常時接続多いし、なのに手抜き多いしこれからはこっちですよね。)

話を戻して、エラーとなった宛先のメールサーバと同じワイルドカード証明書を共用webサーバでも利用しているようで、こちらも3個の証明書を送ってきていますが、各ブラウザは2個目の証明書がCA証明書ストアの中のCA証明書で署名されているのでチェーン完成として扱っています。

いくつかのOSのopensslコマンドで試していてEquifaxのCA証明書を削除してもちゃんとチェーン完成となるものがあり、おかげで次のことがわかりました。

OpenSSL 1.0.2jでCA証明書ファイルにNSS 3.27使用(Equifax無し)、-trusted_first無し、中間CA証明書2個入り(Equifax入り)を-untrustedに渡してverifyが成功する理由が不明(コード見ても-trusted_firstオプションは必要に見える)なのは見なかったことにして、OpenSSLのバージョンがOS付属の古いものの場合やLibreSSLを使用している場合(LibreSSLはその後BoringSSL同様の更新がされています)に最初のエラーが起こるという結果でした。さて、そろそろ期限のFreeBSD達もいたり、組み合わせもいろいろでCApath指定だと証明書をばらかしたり、新旧混在環境ではSHA1だけでなくMD5のハッシュのシンボリックリンクもまだ必要だったりLibreSSLにはc_rehashが無かったりとか、あちこちどう対応していきましょうか…

古いスマホは切り捨ててEquifaxがissuerの証明書を尻尾に付けて送るのやめるという英断をしていただけるといろいろ楽になれる気がするのでどうぞよろしくお願い申し上げます。

コメントを残す

メールアドレスが公開されることはありません。