0

Windows で AES 暗号化キーなどの機密データを安全に保存する方法はありますか? 自分のプログラムだけがデータを利用できるようにしたい。DPAPI (CryptProtectData / CryptUnprotectData) が他のユーザーのプロセスからのアクセスからデータを保護することは知っていますが、同じユーザーによって実行されると、望ましくないプログラムからは保護されません。

データを保護/保護解除するために呼び出しプロセス イメージ ファイルの情報 (イメージ ファイルのハッシュなど) を自動的に使用する API があることを期待していましたが、MSDN でそのような API を見つけることができませんでした。

4

1 に答える 1

3

いいえ、ありません。データはプログラムではなくユーザーに属します。

OS がユーザーの要求に応じて特定のプログラムの特権を制限することはある程度理にかなっています (プログラムはユーザーの総能力のサブセットのみを使用できます)。それを実行しているユーザー。

一般に、ユーザー アカウントで許可されていない操作をユーザーが実行するには、ユーザーの要求に応じて、より高い権限を持つサービスが操作を実行する必要があります。たとえば、このアプローチを使用して、ユーザーのプログラムに代わって復号化キーを使用し、そのユーザーの 1 日あたりの限られた量のデータのみを復号化できます。ただし、bless したプログラムをユーザーが使用する場合にのみ、ユーザーにキーを解放することはできません。サービス/リクエスト モデルであっても、ユーザーは任意のプログラムを使用してリクエストを行うことができます。

また、サービス自体は、十分な特権を持つユーザー (コンピューターの所有者) からデータを隠すことはできません。それが必要な場合は、サービスと秘密のデータを管理下のサーバーに保管する必要があります。

于 2015-05-22T22:27:03.020 に答える