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