第572回:SHA-2 とは

大和 哲
1968年生まれ東京都出身。88年8月、Oh!X(日本ソフトバンク)にて「我 ら電脳遊戯民」を執筆。以来、パソコン誌にて初歩のプログラミング、HTML、CGI、インターネットプロトコルなどの解説記事、インターネット関連の Q&A、ゲーム分析記事などを書く。兼業テクニカルライター。ホームページはこちら
(イラスト : 高橋哲史)


 「SHA-2」は、“ハッシュ関数”と呼ばれる、データの縮約技法の1つです。縮約とはデータや数式を短くまとめることです。つまり文章で言えば“要約”にあたる言葉になるでしょうか。

 現在、最も多く使用されているハッシュ関数「SHA-1」の次にあたる世代とされています。「SHA-1」「SHA-2」ともアメリカ国立標準技術研究所(NIST)によって、アメリカ政府標準のハッシュ関数(SHS、Secure Hash Standard)として採用されています。

データを守るために用いられるハッシュ関数

 ハッシュ関数は、あるデータを入力すると、縮約によって、長さを揃えた別のデータを出力することが特長です。この特性を生かし、たとえばあるデータや文書を縮約し、これらのデータが改変されていないかどうか、確認することが可能です。

 コンピュータのセキュリティ上、脅威となる攻撃の特徴の1つに、本来そこにあるデータや文字列の改変が挙げられます。

 つまり、コンピュータ上や通信経路で、悪意のある攻撃が行われた場合、データが改変されます。そこでハッシュ関数を使っていると、改変されていないデータと比べて、改変されたデータからは異なる値が算出されます。こうして、データが改ざんされたことがわかるわけです。

 携帯電話を含めたコンピュータでは、通販サイトなどへログインする場合などに、IDやパスワードといった認証データを送受信します。この“他人に見られたり、改変されたりしては困るデータ”をやり取りする際には、「SSL通信」という通信方法を行われます。

 このSSL通信で、データを送信する先が正しい相手かどうか、保証するための証明書がやり取りされます。この証明書のやり取りには、従来、先述した「SHA-1」が使われていましたが、近年、「SHA-2」が使われるようになってきています。そこで、これまでSHA-2の証明書を使った通信に非対応だった携帯電話については、ファームウェアのアップデートを行い、「SHA-2」へ対応させるようになってきました。

 本誌でもauの携帯電話での更新についてお伝えしており、これまでに、あわせて62機種のauの携帯電話向けにソフトウェア更新の提供を行ったことが紹介されています。

より強固なセキュリティを実現する「SHA-2」

 インターネット上の“セキュリティの鍵”として、それまで最も多く使われていた「SHA-1」が、次世代の「SHA-2」に切り替えられて、さまざまな箇所で採用されるようになってきている理由は、「SHA-1」に脆弱性があり、セキュリティ上の鍵を破ることが可能になったためです。

 SHA-1では、元データを160ビットのデータに縮約します。かつてはこの長さで十分だとされてきたのですが、2005年、この縮約技術が中国の暗号技術者たちによって、破れることが証明されました。これによって、この脆弱性によるリスクが指摘されるようになり、次世代の「SHA-2」への移行が進んだのです。

 「SHA-1」の160ビットより長いハッシュ値として、224ビット、256ビット、384ビット、512ビットの4種類の縮約方法が作り出され、それぞれ縮約結果のビット長に合わせて、SHA-224、SHA-256、SHA-384、SHA-512と名づけられました。これらの4つのSHAハッシュ関数を総称して「SHA-2」と呼んでいます。




(大和 哲)

2012/7/17 11:39