ハッシュ関数動向

2023年01月12日公開

ハッシュ関数動向

今回はハッシュ関数の動向について解説します。 
ハッシュ関数(アルゴリズム)は、どのようなものか良くは知らない方でも身近なところで活用されているテクノロジーです。
ホームページを閲覧する際のHTTPS通信であったり、本人確認などで利用される電子署名であったり、パスワードの秘匿化であったり様々です。

ハッシュ(関数)とは?

ハッシュとはどのようなものでしょうか。
ハッシュの振る舞いを体験するには、実際にHashMyFilesなどのソフトウェアを利用してみると良いかもしれません。
以下は、HashMyFilesを利用したハッシュ値導出の例です。
---
(1)メモ帳などのテキストエディタに任意の文字列を入力、保存しておきます
(2)HashMyFilesを起動し、上記(1)で作成したテキストファイルを取り込みます
(3)HashMyFilesにMD5、SHA-1、SHA-256などのハッシュ値が表示されます
(4)上記(1)で作成したファイルに文字列を追加(変更)して保存します
(5)上記(4)のテキストファイルを再度、HashMyFilesで取り込みます
(6)上記(3)で表示されたハッシュ値と異なることを確認します
---
このように、同じハッシュアルゴリズムであれば、テキストファイルの文字が増えても減ってもハッシュ値の長さは同じですが、テキストファイルが変更されるとハッシュ値も大きく変化することが分かりますね。

【参考URL】

ハッシュ関数はわずかな改ざんも検知

このようなハッシュの性質は、ファイルや文字列などの改ざん検知に利用されています。
上図のように、一見どの部分が変更(改ざん)されているか見分けがつかないテキストファイルであっても、ハッシュを通して値を確認することにより、改ざんを検出することができます。

このようにハッシュは、ITやセキュリティの様々なシーンにおいて活躍しており、ハッシュにも様々な種類があります。
ハッシュを含めた暗号にはどのような種類のものがあるかにつきましては、CRYPTRECのサイトにまとめられています。

【参考URL】

  •    CRYPTREC
      https://www.cryptrec.go.jp/index.html
  • SHA-1の危殆化と推奨される対応

    ハッシュ関数の中で、SHA-1(Secure Hash Algorithm -1)については、NIST(米国立標準技術研究所)など多くの機関から、危殆化により別のアルゴリズムに置き換えるように呼びかけられています。
    SHA-1は(多くの計算やリソースを必要としますが)すでに多くの研究者により衝突攻撃が確認されており、電子証明書等に利用されているハッシュ関数の移行が進められています。
    開発者やITを導入するお立場の方にとっては少し頭の痛い話となりますが、SHA-1が利用されていましたら徐々に移行を進めておきたいものです。

    【参考URL】