ハッシュ値の確認
ハッシュ値の確認
最初の記事ではハッシュ値を利用した改竄検知の簡単な説明を行い、実践編の前半ではLinuxやmacでどのようにハッシュ値を求めるのか簡単に説明しました。後半はWindowsの場合の確認方法です。
実践
ハッシュ値を調べるのは前回と同じ以下の画像です。前回の記事を読んでいない方はこの画像を右クリックして名前を付けて保存をしてください。ファイル名はTechPjin.jpgになっています。
この画像のハッシュ値は以下のようになっています。実際にこの値になるかどうか、試してみましょう。
MD5 | 6dd9017510f004eee94785ed92de69d1 |
---|---|
SHA1 | 193c77d245cd41abdefe102e8122b35f22afcdee |
Windowsの場合
Windowsの場合、そのままの状態ではMD5やSHA1を計算するツールが入っていません。そこで、ツールを導入して確かめることになります。さまざまなツールも出ていますので、信頼できるツールが見つかればそちらを利用しても構いません。こちらのサイトによれば、Windowsでもcertutilというコマンドが使えるようです。xpでは出来なかったと思うのですが、いつの間にか出来るようになったのですね。筆者も試してみました。←の方がツールをインストールしたり、パスを通したりしなくてよいので手軽かもしれません。なお、以下で紹介しているFCIVの使い方はそのまま残しておきます。(2016. 02.09.)
今回はMicroSoftのFCIV(File Checksum Integrity Verifier utility)というツールを利用します。※このツールは対象OSが古いです。筆者環境で動くことは確認しましたが、環境や対象ファイル次第で動かないことも考えられます。また、ご利用は自己責任でお願いします。
インストール
まずはツールをダウンロードします。microsoftのページ(https://support.microsoft.com/ja-jp/kb/841290)からダウンロードします。
「Windows-KB841290-x86-ENU.exe」というFCIVインストール用のファイルがダウンロードされます。これを管理者権限で実行します。ライセンスが聞かれますので確認の上問題がなければ「YES」を選択します。
インストールフォルダを聞かれるので、インストールしたいフォルダを選択してください。これでインストールは完了です。
パスの設定
インストールは終了しましたがこのままでは使い勝手が悪いので環境変数の設定をします。
※環境変数を変更する際は操作を間違えると最悪の場合コンピュータが起動しなくなることもあります。作業前に別途バックアップを取ることをお勧めします。よくわからない場合は環境変数やPATHについて調べてから作業することをお勧めします。十分注意をしたうえで自己責任で行ってください。
※※以下、画像の一部を伏せています。実際の画面では変数などが表示される場合があります。
「コントロールパネル」ー>「システム」と辿り、その中の「設定の変更」をクリックします。
「詳細設定」のタブの中の「環境変数」をクリックします。
環境変数の一覧の中から「path」という項目を選択し編集を押します。(PathやPATHなども同じです。大文字小文字は無視されます。)
すでに項目が入っているので、最後に;(セミコロン)を足して、その後ろにFCVIをインストールしたフォルダのパスを入力します(画像の場合、「C:Program Files (x86)FCIV」がFCIVのインストールフォルダ)。「;」を忘れると世にも恐ろしいことが起こるコンピュータの中の何かが動かなくなることがあります。
編集が出来たら「OK」を押して、環境変数の一覧画面に戻ります。もう一度「OK」を押すと環境変数の一覧画面が閉じます。もしこの時点で何か変だと思ったら下の画面で「キャンセル」を押せば環境変数の変更が破棄されます。何かおかしいと感じた場合は「キャンセル」してやり直してください。
「OK」を選択したら準備完了です。
実行
コマンドプロンプトを開いてfcivを動かします。動かし方は
fciv ファイル名 オプション
です。※Linuxの場合と同様、TechPjin.jpgのファイルをパス込みで指定するか、cdコマンドでTechPjin.jpgのファイルがあるディレクトリまで移動しないといけないので要注意です。
今回の場合、
fciv TechPjin.jpg -MD5
や
fciv TechPjin.jpg -md5
と入力するとTechPjin.jpgのMD5のハッシュ値がわかります。
// // File Checksum Integrity Verifier version 2.05. // 6dd9017510f004eee94785ed92de69d1 techpjin.jpg
同様に、
fciv TechPjin.jpg -SHA1
や
fciv TechPjin.jpg -sha1
と入力するとTechPjin.jpのSHA1のハッシュ値がわかります。
// // File Checksum Integrity Verifier version 2.05. // 193c77d245cd41abdefe102e8122b35f22afcdee techpjin.jpg
この値を、公開されているハッシュ値と比べれば改竄やファイルの破損の有無がわかることになります。
まとめ
これでWindowsでもハッシュ値の確認を取ることができました。実際にインターネットからファイルをダウンロードする場合、ダウンロードしたファイルのハッシュ値を調べ、ファイルのダウンロードページなどで公開されているハッシュ値※を比べて同じ値であれば、改竄されていないファイルだと判断できます。今後はぜひ試してみてください。
※ただし、最初の記事でも触れましたが、公開されているハッシュ値そのものが改竄されていないかどうか別途チェックしないといけません。
※※冒頭で書いた通り、現在のWindowsではFCIVを導入しなくてもハッシュ値の確認が行えるようです。