web-dev-qa-db-ja.com

Windows DPAPI暗号化キー管理を備えたBitLocker

免責事項:私はこの質問をServerFaultに投稿したことを理解していますが、そこで応答がありません。このフォーラムが、これを投稿して返信するのにより適切な場所になることを願っています。誤りがある場合はお知らせください。この投稿を削除します。

Hyper-V仮想マシン内からアクセス可能なiSCSI LUNに静止暗号化を適用する必要があります。

SAN上のLUNにiSCSIアクセスできるHyper-V仮想サーバーでWindows Server 2012を使用して、BitLockerを使用する実用的なソリューションを実装しています。 THIS POSTで定義されている「フロッピーディスクキーストレージ」ハックを使用することで、これを正常に実行できました。しかし、この方法は私には「気さく」に思えます。

私の継続的な調査で、Amazon Corporate ITチームが[〜#〜] whitepaper [〜#〜]を公開していることを発見しました。 「フロッピーディスクハック」のない、よりエレガントなソリューション。このホワイトペーパーの7ページで、BitLockerキーを安全に管理するためにWindows DPAPI暗号化キーの管理を実装したと述べています。これはまさに私がやろうとしていることですが、これを行うにはスクリプトを作成する必要があると彼らは述べましたが、スクリプトやスクリプトの作成方法に関するポインタさえ提供していません。

"スクリプトとサーバーのマシンアカウントDPAPIキーで保護されたキーストアファイル"を組み合わせて(= /// =) "スクリプトを作成する方法の詳細はありますか(ホワイトペーパーに記載されています) )BitLockerボリュームを管理して自動ロック解除するには?任意のアドバイスをいただければ幸いです。

4
bigmac

DPAPIは基本的に2つの方法で機能します。保護している情報は、マシンレベルまたはユーザーレベルで暗号化されます。

サービスとして実行している場合は、マシンレベルを使用する必要があります。ユーザーの下で実行している場合は、ユーザーレベルを使用できます。違いは、ユーザーレベルでは、ユーザーのパスワードが基本的にAPIに渡すデータの暗号化を提供することです。マシンレベルでは、ハードウェアまたはWindowsのインストールと関係があります(わかりません)。

誰かがコンピュータに物理的にアクセスできた場合、Windowsパスワードを知らない(または既にログインしている)ことなくBitLockerパスワードを解読することはできません。マシンレベルの暗号化では、少し弱いです。物理的にアクセスできる人なら誰でも鍵を入手できます。ただし、攻撃者が離れた場所にいるシナリオからは保護されます。

.NETでDPAPIを使用するためのリンクは次のとおりです。

http://msdn.Microsoft.com/en-us/library/system.security.cryptography.protecteddata.protect.aspx

そして、これがBitLocker Win32 APIのリンクです。

http://msdn.Microsoft.com/en-us/library/windows/desktop/aa376483.aspx

マネージド.NET FrameworkからアンマネージドWin32関数を呼び出す必要があるため、BitLocker APIの使用方法についていくつかの作業を行う必要があります。

3
John