ハッシュ値の確認
ハッシュ値の確認
最初の記事ではハッシュ値を利用した改竄検知の簡単な説明を行い、実践編の前半ではLinuxやmacでどのようにハッシュ値を求めるのか簡単に説明しました。後半はWindowsでFCIVを利用してmd5やSHA1の値を確認しました。最後に、Windowsで使えるというcertutilコマンドを紹介します。
※なお、本記事はこちらのブログ(Eiji James Yoshidaの記録)を参考に執筆させていただきました。
Windowsでの確認方法
ハッシュ値を調べるのは前回と同じ以下の画像です。前回の記事を読んでいない方はこの画像を右クリックして名前を付けて保存をしてください。ファイル名はTechPjin.jpgになっています。
この画像のハッシュ値は以下のようになっています。実際にこの値になるかどうか、試してみましょう。
MD5 | 6dd9017510f004eee94785ed92de69d1 |
---|---|
SHA1 | 193c77d245cd41abdefe102e8122b35f22afcdee |
実践
コマンドプロンプトを開いて以下のコマンドを入力します。※例によって、ハッシュ値を調べたいファイル(今回の場合、TechPjin.jpg)があるフォルダで実行するか、パスを含めたファイル名でファイルを指定してください。
certutil -hashfile <ファイル名> <ハッシュ関数名>
早速使ってみましょう
MD5
>certutil -hashfile TechPjin.jpg MD5 MD5 ハッシュ (ファイル TechPjin.jpg): 6d d9 01 75 10 f0 04 ee e9 47 85 ed 92 de 69 d1 CertUtil: -hashfile コマンドは正常に完了しました。
SHA1
>certutil -hashfile TechPjin.jpg SHA1 SHA1 ハッシュ (ファイル TechPjin.jpg): 19 3c 77 d2 45 cd 41 ab de fe 10 2e 81 22 b3 5f 22 af cd ee CertUtil: -hashfile コマンドは正常に完了しました。
筆者環境ではコマンド中のMD5やSHA1は小文字(md5やsha1)にしても大丈夫でした。
FCIVを利用した場合と比べると値は同じです。2桁区切りで表示されるため、元の値と比較しづらくなったかもしれませんが、見やすくなっているとも言えます。というか、そもそもフォーマットの問題なんだから気にしなければおk
わざわざツールを入れてパスを通すのが面倒くさい慣れていない、という人にはこちらのやり方がおすすめです。
この値を、公開されているハッシュ値と比べれば改竄やファイルの破損の有無がわかることになります。
まとめ
今回はOSごとのハッシュ値の確認方法の紹介しました。。実際にインターネットからファイルをダウンロードする場合、ダウンロードしたファイルのハッシュ値を調べ、ファイルのダウンロードページなどで公開されているハッシュ値※を比べて同じ値であれば、改竄されていないファイルだと判断できます。今後はぜひ試してみてください。
※ただし、最初の記事でも触れましたが、公開されているハッシュ値そのものが改竄されていないかどうか別途チェックしないといけません。