9

.net v4 の System.Security.Cryptography.ProtectedData() および UnprotectData() メソッドを DataProtectionScope.LocalMachine スコープで使用して、ファイルを単一のマシンでのみ暗号化/復号化できるようにするというアイデアをテストしています。これが私がやっていることの一般的な考えです...

//Encrypt    
byte[] outBytes = ProtectedData.Protect(File.ReadAllBytes(fileIn), null, DataProtectionScope.LocalMachine);
File.WriteAllBytes(fileOut, outBytes);

//Decrypt    
byte[] outBytes = ProtectedData.Unprotect(File.ReadAllBytes(fileIn), null, DataProtectionScope.LocalMachine);            
File.WriteAllBytes(fileOut, outBytes);

これを行うときに期待される動作が得られることを確認するために多くのテストを行いましたが、同じマシン上のすべてのユーザーが上記のメソッド呼び出しを使用してファイルを暗号化/復号化できるという点で完全に機能しているようです。

私の質問は、誰かがこのメカニズムを使用して暗号化されたファイルを含むシステムのディスク イメージまたはクローン (Acronis、Ghost などを使用) を作成し、そのイメージを別のマシンに復元するとどうなるかということです。(一例として、IT 部門が 1 つのシステムを事前にロードし、それが同一のハードウェア構成を持つ多数のマシンのベース イメージになります)。別のハードウェアに復元された OS は、「元の」システムで暗号化されたファイルを復号化できますか? ハードウェアが異なるために復号化が失敗することを願っていますが、暗号化を実行するために必要なすべての情報がレジストリまたはファイル システムに存在する場合、復号化が機能することは理にかなっています。

明らかに、私はこれを自分でテストすることができましたが、今はそれを行うリソースが実際にはなく、他の誰かがすでに答えを知っているかどうかを無限に探しています. どんなアドバイスでも大歓迎です!

4

2 に答える 2

4

DataProtectionScope.LocalMachine私の答えは、明らかDataProtectionScope.CurrentUserに Active Directory またはその他のローミング ソースに格納されているキーを使用し、設計上明示的に単一の物理キーに関連付けられていないため、にのみ適用されます。

LocalMachineマシン キーはマシンの HDD に保存され、Windows インストールの「sysprep」段階を使用して生成されるため、コンピューターのクローンは同じファイルを開くことができます (これが、企業の Windows ロールアウトが同じシステム イメージを使用できますが、sysprep を実行している限り、各システムには独自のキーがあります)。

コンピューターはマシン キーを再作成できます (また、古いデータを復号化できるように古いキーを保持することもできます)。ただし、キーを再作成してから古いキーを削除する方法はわかりません。

ソース: http://www.windows-server-answers.com/microsoft/Security-Cryptography/30350079/local-machine-masterkey-in-dpapi.aspx

于 2012-11-30T20:31:08.920 に答える
0

良い質問です。マスター キーは ca ごとに自動的に再生成されるようです。90日。Passcape.comに非常に優れた分析があります。DPAPI セキュリティの心臓部は、SYSTEM ハイブの下のレジストリに格納されているシステムの SYSKEY にリンクされています。

CRYPT_PROTECT_REGENERATEフラグを指定したCryptProtectData () 呼び出しを使用して、クローン システムの DPAPI マスター キーを更新できるように見えるため、DPAPI 保護のユースケースはセキュリティ リスクを表しているようです。

私の意見では、DPAPI はローカル マシンのセキュリティには優れていますが (ただし、パスワードの回復に関する Epyx Forensics のこの投稿を参照してください)、特に制御できない場合は、クローン作成時に追加のセキュリティ対策を実装する必要があるでしょう。システムがどのように複製されるか。

この質問は、https://security.stackexchange.com/でより適切な回答が得られる可能性が高いため、そこでも質問することをお勧めします。

于 2012-11-30T20:35:04.503 に答える