SHA-1

読み:エスエイチエイ・ワン
読み:シャー・ワン
外語:SHA-1: Secure Hashing Algorithm 1 英語
品詞:名詞

一方向ハッシュ関数の一つ。原文の長さなどに関係なく、160ビットの固定長データ列(ハッシュ値)を生成する。現在は非推奨の古い技術である。

目次

同一性確認(改竄されてないことの確認)や認証などに利用されていた。

1996(平成8)年に有名な一方向ハッシュ関数MD5に弱点が発見されたため、NSANIST用にSHS(Secure Hash Standard)を考案し、この修正版が1994(平成6)年にSHAとなった。更に1995(平成7)年にこの修正版が公表されSHA-1と呼ばれている。

このような経緯からNISTの推奨する標準となり、この仕様はFIPS PUB 180-1として策定された。

しかし現在ではSHA-1にも弱点が見つかったためNISTは新たな仕様SHA-2を策定、SHA-1は非推奨となっている。

性質

このハッシュ値には、MD5と同様に次のような特徴がある。

  • ハッシュ値から原文を得ることはできない
  • 異なる原文から同一のハッシュ値が得られる可能性は非常に低い
  • 僅かな原文の差でも、出力されるハッシュ値は大きく異なったものになる

また、MD5と比較し、次のメリットがある。

  • ハッシュ値が160ビットに拡張された

問題点など

クラッキング

ラウンド数80回のフルスペックSHA-1は、ブルートフォースアタック(総当たり攻撃)においては、280回の演算が必要である。

しかし2005(平成17)年、支那の研究チームにより、ラウンド数80回のSHA-1を269回の演算で、ラウンド数58回のSHA-1を233回の演算で、衝突を発生させることが可能とされた。

この時点では、ある程度効率的な攻撃方法が見つかったという段階であり、具体的に衝突を起こす例が求まったわけではないが、SHA-1の安全性が大幅に低下したことは間違いがない。

NISTの対応

そこで、国立標準技術研究所(NIST)は、SHA-1に更に大きな問題が生じるより前に、対策を講じることにした。

SHA-1の新規の採用は縮小し、2010(平成22)年までにSHA-2、より具体的にはそのうちのSHA-256へと移行する、としており、これが俗に暗号アルゴリズムの2010年問題と呼ばれている。

ただ、移行先がMD5やSHA-1の延長上にあるSHA-2で本当に良いのかという議論があり、最終的にはDESに対するAES選定と同じように新規のハッシュ関数SHA-3を公募することとなった。

Freestart Collisionの発見

2015(平成27)年には、IV(初期化ベクトル)を都合の良い値に設定した上でSHA-1の全手順を実行する手順において、衝突を発生させるFreestart Collision(フリースタート衝突)が発見された

ラウンド数58回など手順を減らしたものではなく、ラウンド数80回の完全仕様のSHA-1でFreestart Collisionが発見されたのは、これが初めてとされている。

これですぐにSHA-1を使用した証明書の偽造が可能になるわけではない。MD5でもFreestart Collisionが発見されてから本物のCollisionが発見されるまで8年程度掛かっている。

しかしSHA-1の安全性が無くなるまで間もなくという所まで来ていることから、早急にSHA-2への移行を進める必要があるのは間違いのないことである。

関連するリンク
[CRYPTO-GRAM日本語版]解読されたSHA-1
用語の所属
ハッシュ関数
関連する用語
SHA-2
SHA-3
改竄
認証
TLS
NSA
MD5

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club