共有秘密キーをWindowsに安全に保存したいが、このキーに潜在的に異なるユーザーアカウントで実行されているアプリケーションからアクセスできるようにする。 OSXでは、適切なACLを使用してキーをシステムキーチェーンに配置して、キーへのアクセスをキーの使用を必要とするさまざまなアプリケーションだけに制限します。Windows 7相当のOS Xシステムキーチェーン
セキュリティ保護されたストレージ(CryptProtectData()
とCryptUnprotectData()
)を使用すると、特定のユーザー用に暗号化された秘密を保存できますが、特定のプロセスのキーへのアクセスを制限することはできません。さらに、CryptProttectData
を使用して、異なるユーザーによるアクセスのためにデータを保護する方法はありません。
私の唯一の選択肢は、(1)鍵データを安全にCryptProtectData()
で保存し、(2)WCFエンドポイント経由で鍵データを公開し、私のサービスで認証/承認を処理するWindowsサービスです。これは非常に重い(エラーが発生しやすくなります)。これは私の唯一の選択肢ですか?