Welche Verschlüsselungsparameter verwendet CryptProtectData?

Wie allseits bekannt, funktionieren die Funktionen CryptProtectData und CryptUnprotectData nur bei ein und dem selben User.

Auf manchen Seiten die man bei google findet steht, dass die SID des gerade angemeldeten Users miteinbezogen wird.

Wie ich meinem User die selbe SID geben kann, habe ich im Thread ERLEDIGT SID für User ändern (Benutzer-ID manuell belegen) schon behandelt und versucht.

Das Entschlüsseln hat aber, trotz der selben SID, noch immer nicht funktioniert.

Was wird noch miteinbezogen beim Verschlüsseln mit CryptProtectData außer die SID?
Computername ist auch der selbe, Win-NT-Username ist auch der selbe.
Ich frage micht, was noch dahinter stecken könnte?
Macht es eine Unterscheidung von auf einem Domänen-betriebenen Rechner verschlüsselt, und auf einem Workgroup-betriebenen Rechner entschlüsselt wird?

Manche Homepages schreiben etwas von einem "Machine-Key" der miteingearbeitet wird. Nur was ist der Machine-Key, wenn nicht SID und Computername? Was ist noch charakteristisch für eine Machine?
Wenn man bedenkt, er darf sich nicht verändern, da ja sonst das Entschlüsseln auf dem selben PC auch nicht mehr funktionieren würde.

Microsoft selbst schreibt von "Logon credentials":
http://msdn.microsoft.com/en-us/library/aa380261.aspx

Typically, only a user with logon credentials that match those of the encrypter can decrypt the data. In addition, decryption usually can only be done on the computer where the data was encrypted. However, a user with a roaming profile can decrypt the data from another computer on the network.

Was ist genau damit gemeint?
 
Danke! Sehr interessante Links die du gepostet hast.

Man braucht also gar nicht die SID, sondern in erster Linie muss der richtige Masterkey im Profil sein

Muss ich mir nochmal in Ruhe durchlesen...
 
Mit folgender Konstellation hat es bei mir funktioniert:

  1. Mit newsid die SID des Rechners anpassen
  2. Einen Nutzer anlegen, der die gleiche RID hat wie der erstellende Benutzer
  3. Die Datei mit dem Masterkey* aus dem Verzeichnis %userdir%\Anwendungsdaten\Microsoft\Protect\%SID\ in das entsprechende Verzeichnis des anderen Nutzers kopieren
  4. RDP-Datei verwenden
    [/list=1]
    *Das ist die Datei mit der Hexadezimalzahlenfolge als Dateiname, ggf. gibt es davon mehrere.

    Damit in einen Nutzeraccount einzubrechen ist denkbar schwierig, denn um an den Masterkey heranzukommen muss man sowieso die Rechte haben um auf das Profil des Nutzers zuzugreifen.

    hth
    Jürgen
 
Zurück
Oben