ベリサインのSSLサーバ証明書にMD2アルゴリズムが現役
このエントリーについては日本ベリサイン社へ問い合わせ、28日夜にお返事が届いていました。
「グローバル・サーバID」という製品はルート証明書をSHA-1で署名し直し、ブラウザのベンダーへ配布しているだけなので、MD2署名の証明書が出てくるのはブラウザベンダの責任である、とのことです。
私はFireFox3.6.3(Linux Ubuntu)で試していますが、Windows Vista SP2のIE8でもMD2でした。「グローバル・サーバID」は廉価版ということかもしれません。「セキュア・サーバID」という製品ならばルート証明書自体を変更しているので必ずSHA-1となる、とのことです。
きっかけとなったJava(JRE)のバージョン1.6.0.17は、MD2アルゴリズムを無効としただけで、MD2で署名されたベリサインのCAルート証明書が入っていなかった、と言うことでしょうか?
(6月28日 21時30分追記)
通販サイトなど、インターネットで一般的に用いられているSSLの証明書を作成するアルゴリズムはいくつかありますが、Java(JRE)のバージョン1.6.0.17でMD2というアルゴリズムが無効になったようです。リリースノートに「Disable MD2 in certificate chain validation 」とあります。
ところが、日本ベリサインの顧客事例に掲載されている小林製薬さんのサイト(www2.kobayashi.co.jp)のサーバ証明書は、ルート証明書の署名アルゴリズムがMD2となっています(冒頭のように、ブラウザに入っている証明書の署名がMD2である、ということのようです)。
日本ベリサインもMD2の危険性は当然知っており、2009年5月にSHA-1アルゴリズムへの変更を告知しています。「SSLサーバ証明書、コードサイニング証明書における認証局証明書(ルート認証局証明書、中間認証局証明書)の変更、およびメンテナンスのお知らせ」が5月13日付けで掲載されています。
2010年6月27日 21時10分頃、「https://www.verisign.co.jp/support/maintenance/announce20090408.html#0513」の画面キャプチャ。
ところが小林製薬さんのサーバ証明書は、有効期間が2010年3月11日からとなっており、SAH-1へ変更した後に発行されています。
MD2だとルートCA局証明書のメッセージダイジェストの詐称が容易なのだと思いますが、ルートCA局の秘密鍵まで偽造できるわけではないので安全性に問題はない、ということなのだとは思います。
ただ、社内の情報共有がイマイチ不十分な気がします。 日本ベリサイン社によるとブラウザのベンダーの対応が遅れていることが原因ですが、同社の対応も分かりにくいです。(6月28日 21時25分修正)
また、あのベリサインがMD2アルゴリズムを使用ということで、ちょっとビックリでした。
Javaをバージョンアップしたら、別の大して有名でないサイトの一部機能が使えなくなり、MD2のベリサインのルートCA証明書を知りました。そこでベリサインのサイトを調べていたら、他にもあったのね、と少し安心した次第です。
念のため、日本ベリサインには連絡しておきます。
おまけ(certs.zip)
おまけは、私のブラウザからエクスポートした「www2_kobayashi_co_jp」関係の証明書です。皆さんと同じであると期待しつつ。
| 固定リンク
この記事へのコメントは終了しました。
コメント