web-dev-qa-db-ja.com

作成後にファイルが変更されたかどうかを確認できないのはなぜですか?

私の理解では、ファイルが作成されてから変更されているかどうかを確認することは不可能です。具体的には、写真がキャプチャされてから変更されているかどうかを確認できるかどうか疑問に思っていました。ただし、「 写真のメタデータが変更されたかどうかを検出する方法は? 」という質問によると、そうではありません。

悲しいことに、画像(またはそのことについてのファイル)がいつ作成されたかを証明することは不可能です。 (作成者が希望する場合)第三者のタイムスタンプサーバーからファイルに署名することにより、ファイルが特定の時間より前に存在したことを証明することができます(署名時にファイルが存在したことを第三者が証明するため)しかし、そのような情報は自動的に可能ではなく、簡単に取り除くことができます。

私はITセキュリティ担当者でもあります。ユーザーが私の知っている最新のテクノロジーでファイルを作成しているシステムをユーザーが制御している場合、ファイルの作成日を証明する安全な方法はありません。最善の策は、ロックされたクロックを備えたデバイスであり、ユーザーがアクセスしてはならない非表示のキーストアがあり、これに基づいて署名を作成することで、ユーザーが独自の署名を偽造できないようにすることができます。まだデバイスに常駐しているため、入手するのが難しい場合でも、必要なすべての情報が手元にあるため、誰かが破壊する可能性は依然としてあります。

この説明は、DRMが機能しない理由(ユーザーにロックとキーを与えることができない)にいくらか似ているように感じますが、それでも説明は明確ではありません。また、これは TLS/SSLが機能する方法 とは異なると思います。前述のケースでは、ファイルが変更された回数に関する情報なしでファイルを提供することをソースが信頼しています。

12
Seanny123

あなたが拒絶しているものを考えると、あなたは技術的なものよりも哲学的な答えのほうが欲しいと思うでしょう。

ファイルはビットの個別のコレクションです。関連性と意味は人間によってこれらのビットにオーバーレイされますが、最終的には単なるビットです。あなたが持っているビットがいくつかの未知の以前の状態で同じシーケンスにあるかどうかをどのように決定することが可能でしょうか?回答:信頼できる方法でその状態を保存し、比較の手段として使用できます。

これが、TLS/SSLがサードパーティのCAを使用して証明書を検証する理由であり、ファイルにデジタル署名することが役立つ理由です。それらは、状態を比較するための信頼できる手段を提供します。完璧ではありませんが、正しく実行すれば非常に効果的です。

35
schroeder

あなたが無人島にいると想像してください。私はあなたに米国憲法の印刷物を渡します。それは正確なコピーであると主張します(言葉は変わりません)。それと比較するものがないので、それを検証する方法はありませんよね?

@schroederが言うように、デジタルファイル(およびそのメタデータ)は単なるビットのコレクションです。あなたの前にあるビットが最初に書かれたときと同じシーケンスにあるかどうかをどのように判断しますか?まあ、あなたは比較するドキュメントのいくつかの「ベースライン」バージョンが必要です。このベースラインを提供する多くの暗号化ツールがあります: ハッシュMACsデジタル署名 、そして最後に タイムスタンピングサーバー 実際にあなたが探しているものに最も近いかもしれません。

信頼できるタイムスタンプは、ドキュメントの作成および変更時刻を安全に追跡するプロセスです

しかし最終的には、ファイルの作成時に元のファイルのコピーが何らかの形式の暗号に送信されない限り、比較のためのベースラインのない無人島のシナリオになります。

21
Mike Ounsworth

あなたは否定的なことを証明しようとしているからです。つまり、ファイルは時間Xの前には存在せず、時間Xの後でファイルは変更されなかったということです。

利用可能な物理メディアが存在しなかった場合を除いて、特定の期間の前、後、または特定の期間にファイルのビットが特定の方法で注文されるのを妨げるものは何もありません。これには、ファイル「コンテンツ」および関連するメタデータが含まれます。

ですから、1996年にあなた(またはあなたが若すぎると知っている人)が最後のアベンジャーズ映画を真新しいMacで手作業で組み立てなかったことを誰も証明できません。メタデータが言っている映画のファイルを提示するとは1996年に作成されましたが、ファイルを構成するビットとメタデータの配置に基づいて除外することはできません。偽造したからといって、そうしたわけではありません。 OTOH、ファイルを偽造する能力は、あなたがされなかったそれを偽造したという賢明な証拠にはありません。

あなたが著作権訴訟を勝ち取ろうとしているなら、あなたがそれを偽造しなかったことを証明するために何か他のものが必要です-1996年にそれを見たことを誓う他の誰か、あなたが証明できるそのコピーは1996年から来たもので、これ以降はアクセスできません。

最後に、いずれの方法でも、数学的な証明という意味での証明について話しているのではなく、存在することもできないこともあることに注意してください。それは極めて可能性が低いと言うことができます、それが起こったことの証拠が提示されなかったと言うことができますが、それが起こらなかったことを示すことはできません。

1
jmoreno

事実上すべての写真がキャプチャ中またはキャプチャ後に変更されることを指摘しておくことは価値があります。おかしな(まあ、実際にはおかしくない)逸話として、同じことが ドキュメントをスキャンする の場合の完全に自明ではない方法の場合にも当てはまります。

ほぼすべての写真(RAWデータを保存する場合を除き、プロの写真の外では非常に珍しい)は、畳み込みフィルターと曲線の調整(および、場合によっては、複数のキャプチャを1つに混合するなど)さまざまな露出、動き補償など)。

また、圧倒的多数の写真(「実質的にすべて」ではないが、実際にはほとんど)はJPEGで圧縮されています。これは、技術的および事実的に変更です(技術的には、表現が異なる限り、事実上、解凍された信号が100%同一ではないためです) )。 JPEGが法的な証拠として(元の写真ではないため)認められるかどうかについて、ここで10〜12年前に議論がありました。私は実際にその議論から何が得られたのか学んだことがありません...

それに加えて、時間と場所のデータを含むメタデータは画像データと共に保存され、写真が撮影されてからディスクに保存されてから30〜60秒後に追加される場合があります(たとえば、パナソニックTZクラスのカメラでは、 GPSセンサーはかなり遅いです、これはほとんど定期的に起こります)。

そうは言っても、編集された写真が編集されたであることを示すことはしばしば可能です。これは、通常、編集プロセスは高倍率(解像度と強度の両方)では完全ではなく、通常の圧縮アーティファクトと一致しないアーティファクト、または近くの場所と比較したグラデーションの違いを表示できるためです。

ただし、それはpositiveを証明しているのに対し、写真が改ざんされていないことを証明すると、negativeこれは、絶対的な確実性では定義上不可能です(証拠の欠如は欠如の証拠ではありません)。

デジタル証明書は多少役立ちますが、証明書と署名者に与えられる信頼と同じくらい良いです。結局のところ、信頼できる証明書を使用して、完全に偽の写真に署名することもできます。
あなたの証言(または他の人の評判の良い証言)と合わせて、これは通常十分十分ですが、もちろん、100%確実ではありません。 。

1
Damon