
第4回 これだけは知っておきたいアルゴリズム
〜ハッシュ関数・公開鍵暗号・デジタル署名編
神田 雅透NTT情報流通プラットフォーム研究所
情報セキュリティプロジェクト
主任研究員 博士(工学)
2006/7/11
前回の共通鍵暗号の紹介に引き続き、安全性・処理性能ともに優れていると国際的に認められ、米国政府標準暗号、欧州のNESSIEや日本のCRYPTREC(Cryptography Research & Evaluation Committees)での推奨暗号、ISO/IEC国際標準暗号、インターネット標準暗号などで共通して選定されているハッシュ関数・公開鍵暗号・デジタル署名について紹介する。
共通鍵暗号ではアルゴリズムそのものを代替わりさせることによって、より安全でより高速なものへと移行することが可能である。これに対して、ハッシュ関数、公開鍵暗号、デジタル署名ともに、アルゴリズムそのものを代替わりさせるというよりも、基本的にはほぼ同じ構成のままハッシュ長や鍵長を延ばすことによって安全性を高めるといった方が適当である。その結果、安全性向上と引き換えに処理性能の面では一般に劣化することになることに注意されたい。
主なハッシュ関数
第1回でも紹介したように、NISTはSHA-1を2010年末までに米国政府標準規格から外す意向であることをすでにアナウンスしている。実際に、2006年3月15日付けで、SHA-2(SHA-224/SHA-256/SHA-384/SHA-512の総称)を移行先としたハッシュ関数の変更について、以下のような指示を公式に行っている[参考文献1]。
- デジタル署名やタイムスタンプサービスなど、非衝突性の確保が必須のアプリケーションでの利用に際しては、できるだけ早急にSHA-2への移行を実施すること
- それ以外の利用においては原則として2010年末までに移行を実施すること
- 例外的に2010年以降もSHA-1の利用が認められるのは、メッセージ認証子を生成するHMACとしての利用、セッション鍵などの鍵導出関数としての利用、および疑似乱数生成手法としての利用に限られること。ただし、その場合でもできるだけSHA-2を利用することが望ましい
●SHA-224/SHA-256/SHA-384/SHA-512
SHA-256、SHA-384、SHA-512は2002年に、SHA-224は2004年に米国家安全保障局(NSA)が設計し、NISTが規格化した米国政府標準ハッシュ関数(FIPS 180-2[参考文献2])である。ハッシュ長は順に256ビット、384ビット、512ビット、224ビットであり、MD5/SHA-1同様、メッセージ拡張関数と圧縮関数とからなる構造をしている。
この4つのハッシュ関数を区分する場合、ハッシュ長による違いというよりも利用環境でのCPU基本演算系の違いという側面の方が大きい。つまり、32ビット演算系CPUでの利用を前提とする場合にはSHA-224とSHA-256を、64ビット演算系CPUでの利用を前提とする場合にはSHA-384とSHA-512を使うことが想定されている。
また、SHA-224とSHA-384は、(初期ベクトル値は異なるものの)それぞれSHA-256またはSHA-512と同様の演算をした後、それらのハッシュ値の一部(下位32ビットまたは128ビット)を切り捨てる形でハッシュ長を短くしているだけである(図1参照)。従って、処理性能では、SHA-224とSHA-256、SHA-384とSHA-512はほとんど変わらない。
![]() |
| 図1 SHA-224とSHA-256の違い(画像をクリックすると拡大します) |
安全性に関して、現時点では脆弱性は発見されていないものの、MD5/SHA-1の設計方法を踏襲している関係から今後のハッシュ関数の研究動向によっては脆弱性が発見される可能性はある。そのため、SHA-1からの移行先として、現時点ではSHA-256(だ円曲線暗号ではSHA-224を含む)の採用だけに限定される可能性がある。
●SHA-1
SHA-1は、1993年に設計されたSHA-0の規格修正版として、1995年にNSAが再設計し、NISTが規格化した米国政府標準ハッシュ関数である。ハッシュ長は160ビットである。
安全性に関しては、2005年2月に初めて衝突を見つける理論的な攻撃論文(攻撃計算量269)が発表され、同8月にはその攻撃方法がさらに改善された(攻撃計算量263)[参考文献3]。現時点では具体的な衝突例が明らかにされているわけではないが、攻撃方法の改善や計算機性能の向上などを考慮すれば、実際のSHA-1の衝突例が近いうちに発表される可能性は十分あると考えられている。
|
1/3
|
|
| Index | |
| これだけは知っておきたいアルゴリズム 〜ハッシュ関数・公開鍵暗号・デジタル署名編 |
|
| Page1 主なハッシュ関数 -SHA-224/SHA-256/SHA-384/SHA-512 -SHA-1 |
|
| Page2 公開鍵暗号とデジタル署名の今後 主な公開鍵暗号 -RSA PKCS#1 v1.5暗号/RSA-OAEP/RSA-KEM -PSEC-KEM |
|
| Page3 主なデジタル署名 -RSA PKCS#1 v1.5署名/RSA-PSS -DSA -ECDSA |
|
デファクトスタンダード暗号技術の大移行 バックナンバー
- 第1回 すべてはここから始まった〜SHA-1の脆弱化
- 第2回 暗号も国際標準化の時代へ
- 第3回 これだけは知っておきたいアルゴリズム〜共通鍵暗号
- 第4回 知っておきたいアルゴリズム〜ハッシュ・公開鍵暗号
- 第5回 鍵長をどのように選択していくか
- 最終回 システムの利用期間に見合った暗号技術の選択
| Security&Trust記事一覧 |
TechTargetジャパン
- Facebook タイムライン利用時の「鉄則」 (2012/2/9)
ユーザーインターフェイスの変更措置に伴い浮上した、Facebookの「過剰な情報提供」のリスクと対策とは - 無料サービスなら通信内容を記録してもいいの? (2012/1/13)
無料の公衆無線LANサービスが、ユーザーに無断で通信履歴を記録していたことが判明し、話題に - 攻撃はまるでレーザービーム (2011/12/26)
2011年に話題となった標的型攻撃は「人」という弱点ををねらい打ちにしました。では、人に教育さえしておけば防げるものなのでしょうか? - 見せたくないなら「持たせない」が鉄則! (2011/12/15)
逆コンパイル対策で難読化したのに、大事なデータが解析されちゃった? Androidアプリのセキュリティの道は深い
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -

