\r\n\r\n

チェックサムとは何ですか(そしてなぜ気にする必要がありますか)?

チェックサムとは、データの誤りをチェックするために使用される数字と文字の並びのことです。元のファイルのチェックサムがわかっている場合、チェックサムユーティリティを使用してコピーが同一であることを確認することができます...

チェックサムとは、データの誤りをチェックするために使用される数字と文字の並びのことです。元のファイルのチェックサムがわかっている場合、チェックサムユーティリティを使用して、コピーが同一であることを確認できます。

チェックサムの説明

チェックサムを生成するには、ファイルをアルゴリズムに落とし込むプログラムを実行する必要があります。このために使用される代表的なアルゴリズムには、MD5、SHA-1、SHA-256、SHA-512があります。

このアルゴリズムでは、暗号化ハッシュ関数を用いて、入力を受けて固定長の文字列(数字と文字の羅列)を生成する。入力ファイルは、1MBの小さなファイルでも4GBの大きなファイルでも、いずれにしても同じ長さのチェックサムで終わります。チェックサムは "ハッシュ "とも呼ばれます。

ファイルの小さな変更によって、チェックサムが大きく変化することがあります。例えば、ほとんど同じ内容の2種類のテキストファイルを作成したが、一方には感嘆符が、もう一方にはピリオドがある。Windows 10の内蔵チェックサムユーティリティを実行した結果、非常に異なるチェックサムが表示されました。ベースとなるファイルが1文字違うだけで、チェックサムの見た目が大きく変わってしまうのです。

チェックサムが有効な場合

チェックサムは、ファイルやその他のデータの転送または保存中に発生するエラーをチェックするために使用できます。例えば、ネットワークの問題でファイルが正しくダウンロードされなかったり、ハードディスクの問題でディスク上のファイルが壊れたりすることがあります。

元のファイルのチェックサムがわかっている場合は、チェックサムユーティリティまたはハッシュユーティリティを実行することができます。チェックサムが一致すれば、同じファイルであることが分かります。

コンピュータはチェックサム的な手法でデータに問題がないかをバックグラウンドでチェックしますが、これを自分で行うこともできます。例えば、Linuxディストリビューションでは、チェックサムを提供していることが多く、CDに焼いたりUSBドライブに入れる前に、LinuxのISOが正しくダウンロードされたことを確認することができます。また、チェックサムは、アプリケーションからドキュメント、メディアまで、他のあらゆる種類のファイルの整合性を検証するために使用することができます。元ファイルのチェックサムさえ分かればいい。

md5、sha-1、sha-256と何が違うのでしょうか?

チェックサムは、ファイルにエラーがないことを確認するのに便利な方法です。ダウンロードの問題やハードディスクの問題でランダムなエラーが発生した場合、わずかなエラーであってもチェックサムが異なってしまうのです。

しかし、これらの暗号ハッシュ関数は完全なものではありません。セキュリティ研究者が、MD5関数とSHA-1関数に「競合」があることを発見しました。つまり、同じMD5またはSHA-1ハッシュを生成する2つの異なるファイルを発見したが、それらは異なるものであったということである。

偶然に起こったとは考えにくいのですが、攻撃者はこの手法を使って、悪意のあるファイルを正規のファイルに偽装することができるのです。このため、MD5やSHA-1のサムだけでファイルの真偽を確認し、破損をチェックすることはできない。

SHA-256の衝突は報告されていないため、アプリケーションではMD5やSHA-1の合計ではなく、SHA-256の合計を作成するようになっています。 SHA-256はより強力で安全なアルゴリズムです。

チェックサムアルゴリズムの違いにより、異なる結果が得られる。ファイルは、異なるMD5、SHA-1、SHA-256チェックサムを持つことになります。元のファイルのMD5合計だけが分かっている場合、コピーのMD5合計を計算して一致するかどうかをチェックする必要があります。

関連記事:スマッシュ?SHA-1コリジョン攻撃とは何か解説

チェックサムの計算方法

生ファイルのチェックサムを知っていて、それをコンピュータ上で確認したい場合は、簡単にできます。windows、macOS、Linuxには、チェックサムを生成するユーティリティが組み込まれています。サードパーティ製のユーティリティは必要ありません。

関連: MD5、SHA-1、SHA-256ハッシュとその確認方法について教えてください。

Windowsでは、PowerShellのGet FileHashコマンドで、ファイルのチェックサムを計算することができます。使用するには、まずPowerShellを開きます。Windows 10の場合、スタートボタンを右クリックし、「Windows PowerShell」を選択します。また、スタートメニューで「PowerShell」を検索し、「Windows PowerShell」のショートカットをクリックしても起動することができます.

更新:getfilehashはwindows10に搭載されました。ただし、Windows 7では、PowerShell 4.0のアップデートをインストールする必要があります。

プロンプトで、Get FileHashと入力し、スペースバーを押してください。

チェックサムを計算したいファイルのパスを入力します。また、操作を簡単にするために、ファイルエクスプローラーウィンドウからPowerShellウィンドウにファイルをドラッグ&ドロップすると、自動的にそのパスが入力されます。

Enterキーを押してコマンドを実行すると、ファイルのSHA-256ハッシュが表示されます。ファイルのサイズやコンピューターの記憶速度によっては、この処理に数秒かかることがあります。

他の種類のチェックサムが必要な場合は、以下のようにコマンドの最後に適切な -Algorithm オプションを追加してください。

Get-FileHash C:\path\to\file.iso -Algorithm MD5 Get-FileHash C:\path\to\file.iso -Algorithm SHA1

計算されたチェックサムと元のチェックサムを比較する。チェックサムは、基本となるファイルにわずかな違いがある場合でも、かなり異なることがあるので、あまり詳しく見る必要はありません。

チェックサムが一致すれば、同一ファイルである。そうでない場合は、ファイルが破損しているか、単に2つの異なるファイルを比較している可能性があります。ファイルのコピーをダウンロードし、そのチェックサムが期待通りに一致しない場合は、再度ファイルのダウンロードをお試しください。

あなたが興味を持っているかもしれない記事

匿名者
匿名者

0 件の投稿

作家リスト

  1. admin 0 投稿
  2. 匿名者 0 投稿

おすすめ