1

安全な「1回限りの」ローカルファイルアクセスシステムを知っている人はいますか?または、どのように作成するのでしょうか。システムでデータを使用する場合は、データを読み取ることができなければならないことは理解していますが、データの利用方法を厳しく制限し、他の場所にコピーして使用する可能性を減らすことができると思います。

これらは私の要件です:

「安全な/暗号化された」データファイルをUSBスティック(読み取り専用のCD / DVDでもかまいませんが、読み取り/書き込みUSBまたはフロッピーの場合はより良い)に保存し、このファイルを1回読み取ることができるようにします(および主に1回のみ)、デコードされたブロックごとに、パスワードが入力された後。ファイルの内容はおそらく基本的なtext/xml(またはテキストでエンコードされたデータ)であり、主にシーケンシャルストリームとして読み取られます。データは(理想的には)通常のWindowsファイルアクセス方法で読み取ることができます。つまり、stdファイル、FSOオブジェクト(ストリームおよびテキストファイル)、すべてのBASIC PC(VB6 / VB.NET)ファイル処理方法、さらにはExcelテキスト(インポート)。はい、私はこれがおそらくオブジェクトを打ち負かすことを知っています(そのようなファイルはその後開く/保存することができるので)、しかし私はまだこの可能性を望んでいます。最後に、「アクセス」基準が満たされると、デバイスはそれ以上のアクセスを防ぎます。

データへのアクセスは、ローカルPCシステムでのみ行われます。LAN、デバイス共有はサポートされていません。デバイス上のデータは、通常の方法でコピーできないようにする必要があります。データは、可能であれば通常の方法を使用して、または必要に応じて特別なアプリケーションを使用してデバイスに書き込まれます。

物事を単純にするために、1つのパスワード、1つのファイル、1つの使用、および1つのユーザーだけが素晴らしいでしょうが、他の可能な拡張機能には次のものがあります。

  • 'n'を許可すると開きます
  • 複数のパスワードを持っている2人以上のユーザー、個別に行動する
  • サイロパスワード、アクセスを取得するためにさらに2人のユーザーが一緒に署名する(または、アクセスを取得するためにm人以上のユーザーから少なくともn人が一緒に署名する)
  • 最初のブロックを呼び出すアプリケーションとは関係なく、最初のブロックアクセス時にパスワードプロンプトを表示する必要があります
  • パスワードは埋め込み/自動である可能性があります
  • 指定されたマシン/mac/ ip / diskシリアル番号(または他のマシンコード)にアクセスを結び付けます
  • 指名されたプログラム/アプリケーションへのアクセスを結び付ける
  • 可能であれば、データファイルを削除して安全に上書きします

これを行う際の私の最初の推測は、stdリムーバブルデバイスドライバーの拡張(または置換)として表示される「疑似デバイス」ドライバーが必要であることを示唆しています。ドライバーは、各ファイルブロックをセクターごとに処理し、許可されていない場合は、さらにデコードされたブロックのサーバーを拒否します。デバイスは通常のディレクトリリストを提供するべきではありませんが、何らかの形式のコンテンツ要約がユーザーに提供される場合があります(オプション)。

DRMシステムとは異なり、私はいかなる形式のオンラインアクセス/認証も望んでいません(しかしそれを考慮します)、私は自己完結型のシステムを好みます。

私はそのようなデバイス/システムを長く懸命に探してきましたが、まだ見つけていません。ほとんどのデバイスとシステムツール(例:Iomega / ironkey)は、ファイルへのアクセスのロックを解除しているように見えますが、制限はありません。

パフォーマンスは問題ではありません。フロッピーの読み取り速度が遅い場合は問題ありません。Encyptionメソッドは不可知論者であり、適度に強力な40ビット以上(128ビット)であれば問題ありません。データが何であるか、またはその目的を伝えることはできません。誰かにデータを提供し、その使用を可能な限り制限し、彼らがそれを使って何ができるかを制限する方法が必要です。機密データを保護するための実際の要件であり、DRMやMP3/ビデオなどを対象としたものではありません。

私は「オフィス」開発者であり、デバイスドライバーやDRMにあまり詳しくありません。では、このようなプロジェクトをどこから始めればよいでしょうか。joe-publicが利用できるものはありますか?

ありがとう-ティム。

PS:更新

私は自分たちと特定の指定された単一のサービスプロバイダーとの間でデータを渡したいだけであることを指摘する必要があります。私たちが提供するデータを彼らにコピーしてほしくない。これは、「単一の」1回限りのプロセスをサポートするために一度使用され、その後で実行されます。データは「ストリーミング/読み取り」されるため、「消費」する必要があります。プロセスが失敗した場合、サービスプロバイダーにデータを再発行します。データは当社の所有物であり、販売/ライセンス供与されていません。

絶対確実な解決策はないことは承知していますが、リスクと報酬の比率によって、システムを壊そうとする偶然の試みを思いとどまらせる必要があります。データには明確な商業的価値はありません。

PPS:それは本当の要件です...あなたはどうしますか?

@eriksonsの思慮深い回答に対する賛成票から判断すると、皆さんは「不可能/気にしないでください」と言っていますが、データが私たちの希望に従って使用されることを個人的に監督することは別として、あなたはどうしますか?

4

2 に答える 2

4

エグゼクティブ サマリー: これは現実的な解決策ではありません。「一度だけ読む」必要がないように、プロセスを再考してください。

いくつかの企業 (Disappearing Inc. が頭に浮かびますが、少なくとも 1 つの競合相手がありました) は、90 年代後半に汎用ハードウェアで「自己破壊型」の電子メールを作成しようとしました。彼らは何百万ドルものドットコム ドルを費やして、実際には機能しないシステムを開発しました。

私が知っている唯一の潜在的な解決策は、Trusted Platform Module の使用です。これらは、米国政府が購入するすべてのコンピューターで必要とされるため、かなり一般的です。ただし、それらの機能は異なります。ソフトウェアがそれ自体で整合性チェックを実行できるようにする、リモート認証と呼ばれるものをサポートするものが必要です。この機能を使用すると、データ破壊ポリシーを適用するソフトウェアを作成できます。ただし、この機能が広く使用されているとは思いません。私のラップトップには TPM がありますが、これをサポートしていません。

また、マシンの機能を制限するために使用される可能性があるため、「トラステッド コンピューティング」に対して多くの敵意があることにも注意する必要があります。これは、自分の所有物を好きなように扱う権利を侵害しています。TPM は、企業や政府のマシンには適しているかもしれませんが、パーソナル コンピューターには適していません。

複数のユーザーにデータへのアクセスを許可する、複数のユーザーにデータへのアクセスを要求するなど、問題の他の側面はより簡単です。

複数のユーザーのデータの暗号化は通常、キーを生成し、その「コンテンツ暗号化キー」でデータを暗号化し、そのキー (比較的小さい) を「キー暗号化キー」(パスワードの場合もある) で暗号化することによって実現されます。それぞれの意図された受信者。

SO で学んだように、何人かのユーザーにパスワードの入力を求めることは、Shamir Secret Sharingを使用して安全に行うことができます。


質問へのコメント、特に「宛名ラベル印刷サービス」のアナロジーに基づいて、私の最初の回答はあまり関係がないと思います。

そのような場合、法的解決しか見えません。契約でのデータの保存を禁止します。契約違反で彼らを訴える価値があるなら、そうしてください。

暗号学的に言えば、私が考えられる最善の方法は、そのような「メーリング リスト」に、リストのコピーが特定のベンダーによって公開されたことを証明するのに役立つ情報を「透かし」にすることです。透かしが存在することを知ることは、意図的な開示を思いとどまらせる可能性があり、偶発的な開示の場合に迅速な解決を活用するのに役立つ可能性があります. これは、レコード内でステガノグラフィ技術を使用したり、コレクション内の偽のレコードを使用したりする可能性があります。

これを行うためのアルゴリズムはすでに存在しているかもしれませんが、私はこの分野に精通していません。「電子透かし」について調べると役に立つかもしれません。保護されたビデオとオーディオのアルゴリズムのみが表示されたとしても、おそらくこれらは他のメディアで動作するように適応される可能性があります.

于 2009-09-14T17:18:37.287 に答える