SSL証明書の方式が2013年から2017年にかけて変更計画が進んでいるのはご存知でしょうか?

おそらくサーバーエンジニアであれば、SHA-1移行時期である去年も、そして今年もチェックしていると思います。

SHA-1の脆弱性

https://ja.wikipedia.org/wiki/SHA-1#.E6.94.BB.E6.92.83

SHA-1に限らず、すべての暗号方式は破られるリスクがあります。しかし必要な試行回数が現実世界で無意味なほど大きければ、それを破ろうと試みるものは少なく、破ったところで、突破コストが数十億円かかったり、数年間の計算期間が必要なら意味がない行為となります。

SHA-1は2005年から理論値(2の80乗)以下で解読可能と報告されていましたが、SHA-1の信頼性を覆すほどではなかったようです。現在でもSHA-1の強度は「破られる可能性がある」レベルで容易に破れるわけではありません。

2012年時点では250万ドルのコストが掛かりました。しかし、2015年時点では7万ドル〜15万ドルで「悪い国が機密を盗む」といったレベルなら費用対効果があるところまで状況は緊迫しています。

2015年にThe SHAppeningと命名されたアプローチでGPUクラスタ利用により低コストで衝突問題を計算可能な事が判明したのです。

現在、どれだけ低コストで高速なシステムが組めるかという事は、スパコンが24時間で作られる動画(上)やIllinois students build 33 teraflop cluster from GPUs(動画:下)などの例でもわかるかと思います。

SHA-1が使えなくなると、どうなるか?

多くのモダンブラウザや、モダン携帯OS(スマホOS含む)はSHA-2対応が進んでいます。が、組み込み端末や古いOSではSHA-2に対応していないため「セキュリティエラーが出ます。」

SSL証明書の更新でAndroid2.3以下がセキュリティエラーになる

SHA-1の証明書期限と予測のズレ

SHAの移行スケジュールについては「SSL SHA-1 証明書の受付終了と SHA-2 証明書への移行について(Cyber Trust)」が詳しいです。常にアップデートされているため、計画の参考資料として十分役に立ちます。

SHA-1の最終期限は2017年の1月です。これがロードマップでしたが、先に挙げたように突破コストが低下しているため、より早い速度で破られて深刻な問題を引き起こす可能性が出てきました。

Microsoft

マイクロソフト、SHA-1廃止の前倒しに言及
MicrosoftはSHA-1証明書のサポート終了日を2016年6月に前倒しする可能性について同社ブログで言及した。

Mozila(Firefox)

Firefox、SHA-1対策を前倒し検討
最近の研究者らの発表によって、SHA-1は当初の想定よりも早い段階でその安全性を失う可能性が高いことが示された。

依然としてSHA-1を使用したSSL証明書が100万近く観測
512-GPUクラスタを使うことでフルバージョンのSHA-1におけるコリジョンが49日から78日で発見可能という最新の研究成果を取り上げ、業界内で策定した2017年までにSHA-1を廃止するとした当初の計画はもはや遅いと説明している。

Google

サーバー証明書の有効期間満了日が 2016 年 1 月 1 日以降かつサーバー証明書、中間 CA 証明書、クロスルート証明書の中に SHA-1 証明書が含まれている場合、アドレスバーのアイコン表示が変わります。

GoogleがWebでのSHA-1の利用停止を急ぐ理由

かつてChromeはMD5のサポートを2011年まで廃止できませんでした。MD5の信頼性が低いことが最初に指摘されてから16年経っていました。

SHA-1を使った証明書の偽造を防ぐには、SHA-1のサポートを廃止するしか方法がありません。悪性の腫瘍と同じで、すべて取り除かなければならないのです。これがGoogleが急ぐ理由です。

2018年まで実際に攻撃を受ける可能性は無いとして、CAがGoogleのスケジュールを抗議していた(2014/8)ようですが、実際には2016年早期に破られる可能性が高いのが現状です。

おそらくMD5の偽造証明書が発見された時に「MD5証明書のサポート」を即座に停止できなかった事への反省が、今のGoogleの計画の基になっていると思われます。「証明書の偽造を防ぐには、サポートを廃止するしか方法が無い」は至言でしょう。

An attack on SHA-1 feels plenty viable to me
SHA-1 collision would cost $2M in 2012, $700K in 2015, $173K in 2018, and $43K in 2021.

SHA-1 の衝突問題は2012年に200万ドル、2015には70万ドル、2018には17.3万ドル、2021年には4.3万ドルまで低下すると言われている。

現在のSHA-1の状況は?

2014年当時、SHA-1が80%近く残っていましたが、現在では20%弱に減少しているようです。脆弱性の対応状況は SSL Pulseで確認できます。

2014年11月
14.23.59

2015年11月
14.24.14

もし、あなたの使っているサーバがSHA-1を使用しているか調べたいならSHA1 & Google Chrome CheckerSHAAAAAAAAAAAAAにURLを入れて確認できます。

Chromeなら最新版ではSHA-1の証明書の場合、鍵マークがつかなくなります。SSLサポートされてい無いのと同じ扱いです。大手銀行のいくつかは未だ SHA-1のため、鍵マークの無い状態になります。

まとめのまとめ

2016年はSHA-1による実犯罪発生に注視すべきと言えるでしょう。

もし、そのような事件が起きたらSSL通信でも危険がある事を確認し、特に重要な場面では最新の証明書に移行する事をお勧めします。

そのためにも、早めの移行計画とアナウンス(対応してい無い端末ではエラーになる旨)の準備が必要ですね。