Der Windows-Zertifikatsmanager stellt den privaten Schlüssel irgendwie wieder her

2467
Ency

Das klingt vielleicht sehr seltsam, aber lassen Sie mich eine Situation erklären:
Ich habe meinen privaten PKI-Schlüssel verwendet, den Windows Certificate Storageich bei Token erhalten habe, also habe ich beschlossen, sie als Token zu laden und aus dem Windows-Speicher zu löschen. So weit, ist es gut.

Aber jetzt, wenn ich den Token-Schlüssel verwende, erscheint er in Windows Certificate Storage(das ist normal, da Sie hier auch Zertifikate von Chipkarten sehen können). Aber ich kann privaten Schlüssel exportieren! Und das ist definitiv falsch.

Ich habe versucht, das Token nur auf einem anderen Computer zu verwenden (auf dem der private Schlüssel nie wirklich gespeichert wurde), und der private Schlüssel kann nicht exportiert werden.

Hast du eine Ahnung, wie das passieren könnte? Und wie kann man einen privaten Schlüssel wirklich aus dem Speicher löschen? Oder warum wurden sie irgendwie wieder eingelagert?

0

1 Antwort auf die Frage

0
Ency

Ich bin nur "WOW" - ich würde dies auf keinen Fall als sicher bezeichnen - laut http://seclists.org/fulldisclosure/2006/Apr/164 werden private Schlüssel nicht gelöscht und bleiben OHNE Informationen darüber im System verwendet, um App in angehängter Verknüpfung zu verwenden, aber es funktioniert nicht, jedoch konnte ich private Schlüssel mit dem Hexa-Editor im Pfad identifizieren C:\Users\[USERNAME]\AppData\Roaming\Microsoft\Crypto\RSA\[UID]und sie dauerhaft aus dem System löschen. Ich bin immer noch schockiert, dass dies kein Fehler ist, sondern eine Funktion.

Wenn Sie ein Zertifikat installiert auf HD (dh die MS enhaced CSP verwendet wird ), dann nach Microsoft, können Sie es IExplorer, auf dem Entfernen mit Extras - Menü klicken, um Internetoptionen, dann klicken Sie auf den * Inhalt * Registerkarte und dann Klicken Sie auf Entfernen. Dies ist eine bekannte Aktion, die in http://www.microsoft.com/technet/prodtechnol/ie/reskit/6/part2/c06ie6rk.mspx?mfr=true beschrieben wird

Auf diese Weise entfernen Sie das Zertifikat effektiv, aber der private Schlüssel verbleibt in HD. Es gibt viele Szenarien, in denen dies ein Problem sein kann. Angenommen, Sie gehen zu einem Freund nach Hause, installieren eine pkcs12-Datei, die Ihr Zertifikat und Ihren privaten Schlüssel mit der Sicherheitsstufe "Mittel" (Standardeinstellung) enthält, dann verwenden Sie sie und wenn Sie Ihre Arbeit beendet haben, entfernen Sie das Zertifikat (aber NEIN Privat Schlüssel). Dann nimmt Ihr Freund Ihr Zertifikat (ist ein öffentliches Dokument) und installiert es, wobei Ihr privater Schlüssel für ihn arbeitet.

Das Programm cleancapi löscht die privaten Schlüssel, die von keinem Zertifikat verwendet werden. Quellcode: http://dwnl.nisu.org/dwnl?fic=cleancapi_0_2_src.zip Vorkompilierte Version: http://dwnl.nisu.org/dwnl?fic=cleancapi_0_2_bin.zip

Es ist nicht so sehr ein Fehler und eine Funktion. Sie benötigen Ihren privaten Schlüssel auch dann, wenn das entsprechende öffentliche Zertifikat gelöscht oder ungültig gemacht wurde oder abgelaufen ist. Ansonsten könnten Sie beispielsweise keine über das Zertifikat verschlüsselten Daten entschlüsseln. Ein Zertifikat ist als etwas völlig getrennt von einem privaten Schlüssel zu betrachten (zum Beispiel sammeln Sie viele Zertifikate ihrer Parteien, natürlich ohne ihren privaten Schlüssel). - Installieren Sie den privaten Schlüssel auf einem fremden Computer. * Das * ist die tatsächliche Sicherheitslücke (selbst wenn Sie ihn gelöscht haben, hat seine Box ihn möglicherweise lange im Hintergrund kopiert). Hagen von Eitzen vor 9 Jahren 0