Was ist der Unterschied zwischen Public-Key-Verschlüsselung und digitalen Zertifikaten?

Was ist der Unterschied zwischen Public-Key-Verschlüsselung und digitalen Zertifikaten?

Ich habe einen Artikel über IPsec gelesen und darin werden immer wieder Public-Key-Verschlüsselung und digitale Zertifikate erwähnt, um zwei Netzwerke (Gateways) oder Hosts über ein Netzwerk zu authentifizieren. Ich weiß, dass Public-Key-Verschlüsselung bedeutet, dass ein Host einen öffentlichen Schlüssel hat und wenn er IP-Pakete an den anderen Host sendet, dieser Host einen privaten Schlüssel hat, der zum Dekodieren des mit dem Paket gesendeten öffentlichen Schlüssels verwendet wird. Wenn er ihn also dekodieren kann, handelt es sich um eine sichere Verbindung. Es scheint, dass ein digitales Zertifikat dasselbe tut. Sie registrieren es bei einer Zertifizierungsstelle und diese gibt Ihnen einen öffentlichen Schlüssel. Wenn Sie mit einem anderen Host kommunizieren, dekodiert dieser Host den öffentlichen Schlüssel und gleicht ihn mit dem privaten Schlüssel ab, um die Sicherheit zu gewährleisten. Warum Public-Key-Verschlüsselung verwenden? Warum nicht einfach ein digitales Zertifikat verwenden?

Antwort1

Die Public-Key-Verschlüsselung ist eineVerfahrenEin Zertifikat ist einStück Information; es tut nichts von selbst. Daher können Sie einen öffentlichen Schlüssel durch ein Zertifikat ersetzen, aber Sie können den öffentlichen Schlüssel nicht ersetzenVerschlüsselungmit Zertifikat.

Zertifikate sind außerdem einVerlängerungvon öffentlichen Schlüsseln; sie enthalten einen öffentlichen Schlüssel zusammen mit Informationen darüber, wem er gehört und wer ihn ausgestellt hat. Die Aussage „Verwenden Sie einfach ein Zertifikat anstelle eines öffentlichen Schlüssels“ ist also falsch.

Einige Protokolle (wie OpenPGP oder TLS) verwenden Zertifikate, weil sie die Informationen in Zertifikaten nutzen; normalerweise um sicherzustellen, dass es sich um ein „echtes“ Zertifikat handelt und nicht nur um etwas, das an Ort und Stelle erfunden wurde. Dies ist nicht für die Verschlüsselung wichtig, sondern fürAuthentifizierung.

Andere Protokolle (wie IPSec oder SSH) können beides verwenden – entweder die manuelle Konfiguration öffentlicher Schlüssel für jeden Benutzer und Host oder die automatische Überprüfung von Zertifikaten anhand der darin gespeicherten Namen.

(Tatsächlich wird Public-Key-Verschlüsselung in modernen TLS- oder SSH-Systemen nur sehr wenig verwendet. Denken Sie daran, dass sie viel langsamer ist als die symmetrische Verschlüsselung, und daher entscheiden sich beide Enden einfach für einen zufälligensymmetrischSchlüssel für die Sitzung und verwenden Sie ihn, um den Großteil der Daten mit AES oder RC4 oder Ähnlichem symmetrisch zu verschlüsseln. In der Vergangenheit generierte eine Seite den Sitzungsschlüssel, verschlüsselte ihn mit dem öffentlichen Schlüssel der anderen Seite und schickte ihn hinüber, wo er mit dem privaten Schlüssel entschlüsselt wurde. Jetzt verwenden jedoch beide Seiten DH oder ähnliche Protokolle, um den Sitzungsschlüssel zu berechnen, und der einzige Zweck öffentlicher Schlüssel besteht darin, die von beiden Seiten gesendeten Berechnungen zu authentifizieren.)

verwandte Informationen