web-dev-qa-db-ja.com

ダウンロードのチェックサムを同じサーバーが提供する別のファイルと一致させる必要があるのはなぜですか?

重複の可能性:
署名されていないWebサイトからファイルをハッシュすると、誤った安心感がもたらされますか?

ダウンロード用のファイルを提供する多くのサーバーには、ダウンロードごとにチェックサムが提供されるファイルがあります。 例1例2

ダウンロードが成功した(ファイルが破損していない)ことを確認するために、これらのチェックサムを提供できることを理解しています。ただし、HTTPまたはFTPを介したファイルのダウンロードは非常に信頼できます。

しかし、なぜ悪意のあるファイルをダウンロードできないのですか?攻撃者がサーバー上のダウンロードを変更できる場合、それはサーバーが危険にさらされていることを意味します。したがって、攻撃者はそれらのMD5SUMSファイルも変更した可能性があります。

それで、チェックサムと元のダウンロードの両方が同じサーバーによって提供される場合、提供されたチェックサムを使用することが本当に必要ですか?

7
Benoit

実際、それらが同じサイトにある場合、実際のセキュリティ上の価値はありません。別のソースからのファイルが同じファイルであることを確認しようとする場合、これはセキュリティ値にすぎません(ただし、多くの一般的なエラー検出ハッシュに対する衝突攻撃が成功したために疑わしいかもしれません)。主な理由は、言及されていることは、送信が正常であったことを検証できることを確認することです。

6
AJ Henderson

MD5チェックサムは、「安全な」Webサイト(HTTPS)からMD5値を取得しながら、(おそらくミラーから)HTTPを介して大きなアーカイブをダウンロードすることです。この方法では、正しいMD5値を取得することに集中する必要があるだけですが、任意のメディアから任意のソースからアーカイブを取得できます(魚のような鏡、p2pネットワーク、CD/DVD、鳥のキャリアからダウンロード...ハッシュ値が一致する限り重要です)。ハッシュ値は集中セキュリティ要件への単なる方法であり、(おそらく)セキュリティを容易にするのに十分小さい値です。もちろん、これで問題が解決するわけではありません。ハッシュ値が本物であり、変更されていないかどうかを心配する必要があります。

MD5チェックサムは、悪意のない変更の検出にも優れています。コンピュータの不良RAM=(通常想定されているよりもはるかに一般的な発生))のため、少しフリップします。

4
Thomas Pornin

序文

この質問は、チェックサムテストを実行するために「必要性」/「なぜ必要なのか」を尋ねます。セキュリティコンテキストを想定しているためか、多分私は少し困っています。 「同じOriginの平文で送信されたハッシュ/チェックサムを使用することで、セキュリティがどのように向上するのか」というようなことを言っていると思いますか?

いいえ、それは安全性/セキュリティにあまり役立ちません

懐疑的/明るい質問ですでに述べたように、セキュリティの向上は多くの場合非常に制限されます。誰かが600MBのダウンロードを「途中の透明な男」としてその場で改ざんできる場合、その攻撃者は600MBファイルの改ざんに気付かないようにする適切なハッシュファイルを生成できます。

(それほどセキュリティに関連しない)理由「データの送信中にデータが破損する可能性がある」という理由もすでに述べられています。

ここでは、「非常に安全な機能」としてその新しい追加のポイントを挑発したくありませんが、その努力とコストの観点から攻撃を知覚した場合。攻撃者が1つまたは2つの時点で600MBのファイル(ダウンロードに時間がかかる)を改ざんできる可能性があります。ハッシュ/チェックサムファイル(@Thomas Porninが非常に適切に集中のセキュリティ要件を設定している)ファイルは、より迅速にダウンロードできます(数バイトのみ)。簡単に数回ダウンロードできます(異なる時点で)。 (ファイルが非常に小さいため)あなたの側からの大きな努力がなければ、攻撃者は常に何らかの方法で常に監視している必要があります。ハッシュがセキュリティを集中させるという事実は、「努力のバランス」をあなたの側にシフトさせるかもしれません。全体が(600MB * .isoとしましょう)3〜4回ダウンロードして、それが同じかどうか(つまり、データを改ざんする明白な兆候がないかどうか)を確認するだけではありませんが、ダウンロードを検討してください(非常に少しの費用)、異なる日付での複数のソースからのハッシュ。努力(ハッシュのおかげ)はあなたのためにほとんどありません。一方、攻撃者は(数バイトであっても)そこにいる必要があります。そうしないと、適切でないハッシュ/チェックサムが不一致を示す可能性があります。

もちろん、これは非常に薄く、小さな追加のセキュリティ(攻撃を成功させるために必要な労力が増加する可能性があるため)であると考えることもできますが、ハッシュを計算して送信できるため(数回、複数のソース)セキュリティの向上を促進できます。

multiple sourceに関して:与えられた例は次のように見ることができます

コンボ。 HTTP経由でISOをダウンロードして(送信を暗号化する計算能力を節約)、攻撃の可能性をある程度まで減らすためにHTTPS経由でHASH /チェックサムをダウンロードできます。

それについても言及します。ハッシュ値を含むだけでなく、公開鍵/秘密鍵の署名を使用してファイル署名が使用されることもよくあります。これは、信頼性または発行元を確認でき、(セキュリティの観点から)唯一のハッシュ値/チェックサムファイルに勝ります。

0