SHA-1、SHA-2の読み方とは?そもそもハッシュアルゴリズムとは何か?

最近暗号系の業界で騒がれているSHA-1(シャーワン)、SHA-2(シャーツー)とは一体なんなんでしょう。

超簡単に軽くまとめてみました。

Ads by Google

SHA-1、SHA-2、ハッシュアルゴリズムとは何か?

image

ハッシュアルゴリズムと言われてもピンとくる人はまずいないと思います。

最近特にSSL系などではこのハッシュアルゴリズムの移行がすすめられていて少々騒がしいようなのですが、そもそもハッシュアルゴリズムとはなんなのでしょうか。

ハッシュアルゴリズムとは

  • ハッシュ関数
  • 一方向ハッシュ関数
  • 要約関数
  • 拇印アルゴリズム

などとも呼ばれている関数のことで、このハッシュアルゴリズムで生成したハッシュ値は

  • メッセージダイジェスト
  • 拇印
  • フィンガープリント
  • メッセージ要約

などと呼ばれています。

なんで、たくさん呼び方あるんだよ、、、という感じですがほんと困っちゃいますね。

ハッシュ関数は何に使われるのか?

ハッシュ関数の利用用途は、検索の高速化やデータ比較処理の高速化、改ざん検知などですが、一番なじみがあるのは改ざん検知ですかね。

たとえば、インターネット上からデータをダウンロードすることがあると思いますが、そのデータが本当に自分がダウンロードしたいものかはわからないですよね。

「これがその書類です」

とアップロードされていたとしても、誰かがそのファイルをすり替えてしまっていたら気づきようがありません。

その際に、そのファイルと共にハッシュ値を表示しておくと、ダウンロードした側はそのファイルからハッシュ値を出して、そのハッシュ値を比較することで本当にアップロードされたファイルかどうかの確認ができるわけです。

いろいろあるハッシュ関数

ハッシュ関数にもいろいろありまして、主なものとしては、MD系とSHA系です。

MD

MDは、「Message Digest Algorithm」の略で、ロナルド・リベストという人が開発したものです。

MD2からMD5までがあり、すべて128ビット(16バイト)のハッシュ値を生成できます。

でも、MDはすでに衝突性が確認されているので安全性は低下しています。

SHA

SHAは「Secure Hash Algorithm」の略で、3種類のシリーズがあります。

それぞれSHA-1、SHA-2、SHA-3と呼ばれています。

SHA-1:160ビット(20バイト)のハッシュ値を生成する

SHA-2:SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256の6つのバリエーションがあります。

ハッシュ長はそれぞれ224、256、384、512ビットとなっています。

SHA-512/224、SHA-512/256は512を切り詰めて224や256にしているものです。

SHA-3:SHA3-224、SHA3-256、SHA3-384、SHA3-512のバリエーションがあります。

ハッシュ長は、SHA-2同様224、256、384、512ビットです。

SHA-1も安全性が低下していて、現在SHA-1からSHA-2(SHA256)への移行が進められています。

これが今業界がざわついている理由です。

ちなみにSSL/TLSサーバ証明書にもこの技術が使われていますが、使われ方はかなり限定的です。

証明書を発行する認証局がユーザの公開鍵へデジタル署名をする(証明書を発行する)際にハッシュアルゴリズムが使われています。

認証局ではユーザの公開鍵へ認証局の秘密鍵でデジタル署名をする前に、ハッシュ値をハッシュアルゴリズムを使って生成し、その生成されたハッシュ値にデジタル署名をしています。

そして、SSL/TLS通信を開始する際のハンドシェイクで、発行された証明書が信頼された認証局から発行されているかどうかの検証時にこのハッシュ値で照合します。

ここで使われているのが、サーバ証明書に使われている署名アルゴリズムのことです。

超ざっくり説明ですみません。

あとはセッションが確立した後のメッセージ認証にも使われているのですが、それはサイファースイート側のものなので、証明書の署名アルゴリズムとは無縁の話ですね。

とにかく、暗号にハッシュは欠かせない、ということは間違いないですね。(とんでもない締めかたでごめんなさい)

保存

最新のIT関連情報を入手するならキーマンズネット

最新のIT関連情報を入手するならキーマンズネット無料会員登録


保存

Ads by Google

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

Ads by Google

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA