TLS/SSLで使用するサーバー証明書の署名アルゴリズムが変わりつつある。脆弱性が見つかった「SHA-1」に代わって、「SHA-2」が使われ始めている。それに伴って一部のモバイル端末では、サイトアクセス時に警告が表示されるなどの変化が生じている。署名アルゴリズムの変更がモバイル端末に与える影響について紹介する。

 TLS/SSLで使用するサーバー証明書には認証局の電子署名が付加されている。電子署名には暗号アルゴリズムが複合的に用いられるが、主に改ざん検知の目的に利用されるのが、入力に対して固定長データ(ハッシュ値)を出力する暗号学的ハッシュ関数である。

 暗号学的ハッシュ関数には、(1)入力値からハッシュ値を容易に計算できる、(2)ハッシュ値から入力値を計算することが事実上不可能、(3)ある入力値に対するハッシュ値と同じハッシュ値になる別の入力値を見つけることが困難、(4)同じハッシュ値となる異なる入力値を見つけることが困難、という性質が求められる。(3)を弱衝突耐性、(4)を強衝突耐性と呼ぶ。

 これまで電子署名のハッシュ関数としては、160ビットのハッシュ値を出力する「SHA-1」が広く使われてきた。しかし2005年頃から、SHA-1には想定されたほどの強衝突耐性が無いことが複数の研究者によって指摘され始めた。これを受けて、認証局やブラウザーベンダーは、SHA-1を改良した安全性の高いハッシュ関数「SHA-2」への移行に向けた取り組みを進めている。

2017年1月がSHA-2移行の節目

 サーバー証明書のSHA-1からSHA-2への移行の大きな節目となるのが2017年1月1日である。この日以降、SHA-1版サーバー証明書の利用に様々な制限が課される予定だからである。

 例えば、認証局とWebブラウザーのベンダーで構成する業界団体「CA/ブラウザーフォーラム」は、有効期限が2017年1月1日を越えたSHA-1版サーバー証明書を2015年1月16日以降は発行しないように各認証局に呼びかけている。また、米マイクロソフトは、SHA-1版サーバー証明書を使ったサイトとのTLS/SSL通信を、2017年1月1日以降はWindowsで拒否することを表明している。