2

製造プロセスからのデータを定期的に記録するアプリケーションがあります (さまざまなサンプル レート、最小 1 秒、通常の最大は 10 分以上)。顧客は、データが変更されたかどうかを知りたがっています (所定の場所で変更された、レコードが追加された、またはレコードが削除された)。

データはバイナリ レコードとして記録されます。複数のデータ ストリームが存在する可能性があり、それぞれが独自のファイルに送信され、それぞれが独自のデータ形式を持ちます。データは1レコードずつ書き込まれており、監視用PCや工程がダウンしても製造が停止するとは限らないため、アーカイブ工程が継続する保証はありません。明らかに、実際に録音したものしか認証できませんが、録音が開始および停止する可能性があります。

そのデータを認証するためにどのような方法を使用できますか? 下位互換性を維持するために、別の「ログ」ファイルを使用してデータを検証したいのですが、それが可能かどうかはわかりません。直接的な回答を除いて、いくつかの提案を見つけるための検索用語の提案はありますか?

ありがとう!

4

2 に答える 2

1

必ずしもデジタル署名が必要だとは思いません。安全なハッシュ (SHA-256 など) で十分です。

各レコードが書き込まれるたびに、その安全なハッシュを計算し、ハッシュ値をログ ファイルに保存します。何らかのレコード ID がある場合は、それも保存します。ハッシュを対応するレコードと一致させる何らかの方法が必要です。

これで、ログ ファイルが改ざんされない限り、レコードの変更は検出可能になります。改ざんを困難にするには、ログ ファイルを定期的にハッシュし、そのハッシュとログ ファイル内のレコード数を安全な場所に送信します。理想的には、それぞれ別の人物の管理下にある複数の場所に送信します。

もう少し洗練されたアプローチは、ログ ファイルの単一のハッシュではなく、本質的にハッシュのバイナリ ツリーであるマークル ツリーを使用することです。次に、ツリー全体 (あまり大きくない) を保存し、「ルート」ハッシュをさまざまな場所に送信します。ルート ハッシュを使用すると、ツリーの整合性を検証できます。ツリーを使用すると、ログ ファイルの整合性を検証できます。また、整合性チェックが失敗した場合は、変更されたレコードを特定することもできます。

于 2009-10-22T04:43:50.057 に答える
0

代わりに、デジタル タイムスタンプを見ることができます。GuardTimeには、情報の整合性を保証する非常にスケーラブルな 1 秒精度のタイムスタンプをサポートするテクノロジがあります。

于 2009-11-30T09:49:23.767 に答える