そのファイルは本物か?〔MD5 / SHA〕〜ごまかせないハッシュ値〜
【MD5ってなんやねん?】
ネットからファイルをダウンロードするときなど、ファイル名付近に「ランダムなよくわからない長い文字列」がセットで載せられていることがある。
大概がこのランダムな文字列の頭に「MD5」や「MD5SUM」などのよくわからん用語が付いていると思う。
これらの文字列は、MD5の「ハッシュ値」と呼ばれ、ただのランダムな文字列ではない。ある計算結果によって導きだされた16進数になっている。
使いようによっては非常に役に立つものなのだが、意味を知らなければ、せっかくハッシュ値が公開されていても全くの無用の産物だったりする。
【ハッシュ値とは?】
結論から言うと、「電子データ、ファイル、ドキュメント、数字などの文字列の羅列から『ある計算手続き』によって導きだされる値のこと」だ。
そして、この「計算手続き」によって得られるハッシュ値の特徴として、同一のデータ(ファイル)からは同一のハッシュ値が導きだされる。
ちなみに先に述べたMD5というのは、この「ある計算手続き」の「計算方式(アルゴリズム)の1つ」のことで、他にも、「SHA-1」「SHA256」などの「SHA系」などがある。
これら、ハッシュ値。
実はさまざまな所で、非常に重要な役割を担っている。
【どのようなことに使われるか?】
仮に元のデータ(ファイル)が「1bitでも違う」と「全く違うハッシュ値」になるため、
・ファイルの破損チェック
・電子署名
等に利用される。
性質上、ファイルの同一性の確認ができるため、「ファイルの改竄」「ニセモノ」や「騙り」等のチェックにも利用される。(※2)
ただし、オリジナルファイルのハッシュ値がわかればのことだが。
「オリジナルファイルのハッシュ値」と「手元にあるファイルのハッシュ値」を比較して、ハッシュ値が同一であれば、元のオリジナルファイルと全く同一である。逆にハッシュ値が違えば、ファイルはオリジナルと同一では無い。
【ハッシュ値の調べ方】
さて、このハッシュ値。
ユーザ自身が直接チェックすることも可能だ。
Linuxの場合は大概が標準状態でチェックできる。
コマンド打ちになりますけどね。
あるファイルのハッシュ値を調べるには、以下のコマンドを利用すれば調べられる。
md5ハッシュ値を調べたい場合は
$ md5sum ファイル名
sha1ハッシュ値を調べたい場合は
$ sha1sum ファイル名
とすれば良い。
Windowsの場合は、MSが「FCIV」というチェックツールを配布している。
「可用性とは、ファイル チェックサム整合性検証ユーティリティの説明」
http://support.microsoft.com/kb/841290/ja
しかし、vectorなどで配布されている「FastHash」などのフリーツールの方がずっと使いやすい。こちらの方がお薦めだ。
気になる方はぜひ確認してみてほしい。
※1
2014年現在、MD5やSHAはまだ有効だが、将来的には使えなくなる可能性はある。その時には違うハッシュ関数が出てくるだろうけれども。
※2
「ハッシュ値でウイルス感染をどうやって調べるの?」みたいな話をどこかで見かけたのだけれども、ハッシュ値でウイルス感染したかどうかは調べることは不可能だ。
ハッシュ値の比較でわかることは、そのデータ(ファイル)が「同一か、同一でないか」だけであって、同一で無い理由が、「ファイルの破損」なのか「ウイルス感染によるもの」なのか「改竄されたもの」なのかはわからない。
しかし、ハッシュ値が同一であれば、「ファイルの破損」や「ウイルス感染」、「改竄」等は無い、ということがわかるため、各チェックによく利用される。
※ 作成したDVD・BD ディスクの直接のハッシュチェック関連の話は
『BD関係のあれこれメモ with linux』
に少し載せてます。(Linux only)
〔関連ページ〕
・それは誰が保証するか?〔GnuPG(GPG)/電子署名〕〜ごまかせない署名〜
« 私がiPad/iPhoneなどのアップル製品を使わない理由 | トップページ | リスクセパレータ環境づくり(2):個人単位 シミュレート編 »
「Linux」カテゴリの記事
- IARシステムズ開発ツール:開発ホストをWindowsからLinuxへ(2020.07.04)
- 作業効率化:ウィンドウ操作〜仮想デスクトップ設定関連(KDE5)(2020.02.24)
- ログイン画面や待機画面の変更(KDE5)(2020.02.24)
- WindowsXPサポ終了(2014.4.9)〜Windows7サポ終了(2020.1.14)…その6年間の間に変わったこと…(2020.01.15)
「Windows」カテゴリの記事
「セキュリティ」カテゴリの記事
- こういった話に、どれだけ危機感を持って動いているのだろうか(2021.04.04)
- Lineのサーバの話って…(2021.04.03)
- セキュリティ情報:「Ripple20」TCP/IPライブラリ・ゼロデイ脆弱性(2020.06.23)
- セキュリティ:スマートスピーカー・ハッキング 〜Light Commands〜(2020.06.23)
- テレワークが広がる現況での危険な話〜マルウェア45%(2020.06.02)
この記事へのコメントは終了しました。
コメント