Ich teste die Idee der Verwendung der System.Security.Cryptography.ProtectedData() - und UnprotectData() - Methoden von .net v4 mit dem DataProtectionScope.LocalMachine-Bereich aus, um sicherzustellen, dass eine Datei nur auf einem einzelnen Computer verschlüsselt/entschlüsselt werden kann. Hier ist die allgemeine Vorstellung von dem, was ich tue ...Wie behandelt DPAPI und ProtectedData.Protect() Disk Images/Clones in. Net 4?
//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);
Ich habe viele Tests durchgeführt, um sicherzustellen, dass ich das erwartete Verhalten bekommen, wenn dies zu tun und es scheint perfekt zu arbeiten, dass jeder Benutzer auf dem gleichen Die Maschine kann eine Datei mit den oben aufgeführten Methodenaufrufen verschlüsseln/entschlüsseln.
Meine Frage ist, was passiert, wenn jemand ein Disk-Image oder Klon (mit Acronis, Ghost, etc ...) eines Systems erstellt, das eine mit diesem Mechanismus verschlüsselte Datei enthält, und dieses Image dann auf einem anderen Rechner wiederherstellt? (Ein Beispiel dafür ist, dass die IT-Abteilung ein einzelnes System vorlädt, das dann zum Basis-Image für eine Armee von Maschinen mit identischen Hardwarekonfigurationen wird). Kann das wiederhergestellte Betriebssystem auf einer anderen Hardware die Datei entschlüsseln, die auf dem "ursprünglichen" System verschlüsselt wurde? Meine Hoffnung ist, dass die Entschlüsselung wegen der unterschiedlichen Hardware fehlschlägt, aber es könnte sinnvoll sein, dass, wenn alle notwendigen Informationen zur Ausführung des Kryptos in der Registrierung oder im Dateisystem vorhanden sind, es funktionieren würde.
Offensichtlich könnte ich das für mich selbst testen, aber ich habe nicht wirklich die Mittel, dies jetzt zu tun und habe endlos gesucht, um zu sehen, ob jemand da draußen die Antwort bereits kennt. Jeder Rat wird sehr geschätzt!