Frage Warum sollte ein privater Schlüssel nicht wörtlich oder im Klartext auf dem lokalen Computer gespeichert werden?


Ich habe das gelesen:

http://msdn.microsoft.com/en-us/library/tswxhw92(VS.80).aspx 

Der erste Satz sagt: "Asymmetrische private Schlüssel sollten niemals wörtlich oder im Klartext auf dem lokalen Computer gespeichert werden."

Was ist das Problem damit? Und wie löst ein Schlüsselbehälter es?

Der Grund, warum ich frage, ist, dass ich ein asymmetrisches Schlüsselpaar generieren möchte. Die Anwendung, die ich schreibe, wird Informationen verschlüsseln, die sie mit dem öffentlichen Schlüssel an mich zurücksendet. Ich dachte daran, das öffentliche / private Schlüsselpaar in unserem Quellcodeverwaltungssystem zu speichern, damit es gesichert wird. Sollte ich das nicht tun? Wenn nicht, wie sollte ich den privaten Schlüssel speichern, damit er zuverlässig gesichert werden kann?

Vielen Dank.   -scott

Aktualisieren: Bedeutet "nie" im zitierten Satz nie wirklich? Oder bedeutet es, dass ich keine Schlüssel zur Quellcodeverwaltung speichern sollte, außer wenn ich nicht bereit bin, das Risiko einzugehen, dass ein Hacker die Schlüssel möglicherweise von unserem Quellcodeverwaltungssystem oder von einem daraus entnommenen Backup abrufen kann.


5
2018-06-15 10:21


Ursprung


Antworten:


Ja, das "nie" im zitierten Satz bedeutet wirklich noch nie.

Wenn der Schlüssel im Klartext gespeichert wird, kann jeder, der Zugriff auf diese Datei hat, Ihren Schlüssel lesen oder duplizieren und ihn dann verwenden, um sich als Sie zu imitieren. Wenn Sie diese Datei aus irgendeinem Grund auf dem Bildschirm anzeigen (den Schlüssel nachschlagen, die falsche Datei öffnen, andere Informationen in der Datei bearbeiten usw.), kann jeder, der vorbeigeht, es sehen, es möglicherweise auswendig lernen und es zur Imitation verwenden Sie.

Ein privater Kryptoschlüssel ist ein nicht geteiltes Geheimnis. Wenn Sie es nicht nicht freigegeben und geheim halten, kann es seine Aufgabe nicht richtig erledigen.


4
2018-06-15 11:11



Eine übliche Lösung besteht darin, private Schlüssel in dem Schlüsselbund z.B. indem Sie ein Passwort-basiertes Verschlüsselungsschema verwenden.

Der private Schlüssel wird benötigt, um mit dem öffentlichen Schlüssel verschlüsselte Bits zu entschlüsseln und umgekehrt. Da der öffentliche Schlüssel per Definition öffentlich ist, möchten Sie sein privates Gegenstück geheim halten.

Insbesondere wenn Public-Key-Crypto für digitale Signaturen verwendet wird, ist es wichtig, den privaten Schlüssel geheim zu halten. Die Möglichkeit, digitale Signaturen zu erstellen, die mit Ihrem öffentlichen Schlüssel verifiziert werden können, beweist im Wesentlichen, dass derjenige, der die Signatur erstellt hat, Zugriff auf Ihren privaten Schlüssel hat.

Wenn Sie sicherstellen können, dass niemand außer Ihnen oder der Software, der Sie vertrauen, auf Dateien auf Ihrem Computer zugreifen kann, müssen Sie Ihre privaten Schlüssel nicht verschlüsseln. Aber das sind harte Annahmen.


3
2018-06-15 10:46



Weil ein böswilliger Benutzer Ihren Schlüssel lesen kann, wenn er Ihre Dateien in die Hände bekommt. Nicht sicher, was der Schlüsselcontainer tut, aber ich würde vermuten, dass er die Schlüssel verschlüsselt, bevor er sie in eine Datei schreibt.


2
2018-06-15 10:24