2009-06-15 3 views
5

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

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

Der erste Satz sagt: „Asymmetric private Schlüssel 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?

Danke. -scott

Update: Sagt "nie" in dem zitierten Satz wirklich nie. 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.

+0

s/Hacker/gefeuert oder verärgert Mitarbeiter/und Sie haben das häufigere Szenario. – MSalters

Antwort

4

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

Wenn der Schlüssel im Klartext gespeichert ist, dann kann jeder mit Zugriff auf diese Datei können Sie Ihren Schlüssel lesen oder kopieren, verwenden Sie es dann 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.

+0

Hmm. Ich muss es irgendwo aufbewahren. Ich denke nicht, dass irgendjemand es auswendig lernen wird, weil es lang und sehr zufällig ist - es gibt keine Chance, dass ich mich daran erinnern könnte. Also, ich denke immer noch, dass es auf Platte gehen muss. Ich muss nur sicherstellen, dass die Festplatte nicht in die Hände von Bösewichten fällt. Ich nehme an, ich könnte es verschlüsseln, um es zu speichern, aber dann habe ich immer noch das Problem, was mache ich mit dem Schlüssel, mit dem ich es zu verschlüsseln. –

+1

Ja, es muss irgendwo gespeichert werden und Sie sind am richtigen Ort gelandet mit der Schlussfolgerung, dass Sie es in einer verschlüsselten Form speichern sollten. Der Schlüssel zur Entschlüsselung besteht in der Regel in Form einer Passphrase, die vom Benutzer beim Programmstart eingegeben wird. –

2

Weil ein böswilliger Benutzer Ihren Schlüssel lesen kann, wenn er/sie 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.

3

Eine übliche Lösung besteht darin, private Schlüssel im Schlüsselbund zu verschlüsseln, z. indem Sie ein Passwort-basiertes Verschlüsselungsschema verwenden.

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

Vor allem, wenn öffentliche Schlüssel Krypto 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 garantieren können, dass niemand außer Ihnen, oder Software, die Sie vertrauen, Dateien auf Ihrem Computer zugreifen können, brauchen Sie nicht Ihre privaten Schlüssel zu verschlüsseln. Aber das sind harte Annahmen.

+0

Sprechen Sie darüber, die privaten Schlüssel mit einem Passwort zu verschlüsseln, das im menschlichen Gedächtnis gespeichert ist? –

+0

@ Scott Langham: Ja, oder eher wie eine längere Passphrase. Natürlich ist das nicht die einzige Form des Schutzes.Sie teilen die privaten Schlüssel nicht mit anderen Personen, sondern speichern sie an einem Ort, der nicht leicht zugänglich ist. Z.B. durch den Schutz des Betriebssystems wie Dateisystemberechtigungen oder spezielle Keystore-Komponenten. – laalto

Verwandte Themen