it-swarm-eu.dev

Schlüssel für symmetrische Verschlüsselungssitzungen in SSL / TLS

Diese Frage betrifft die im SSL/TLS-Protokoll verwendeten Sitzungssende- und -empfangsschlüssel. Ich verstehe, dass dieser Schlüssel eine symmetrische Verschlüsselung verwendet (DES, AES, BlowFish usw.). Ich frage mich, ob öffentlich-private Schlüsselpaare symmetrischen Schlüsseln in Bezug auf die Sicherheit des Schlüsselaustauschs überlegen sind. Warum sollten Sie für die Sitzung keine asymmetrische Verschlüsselung verwenden? Schlüssel auch?

dies ist eine Erweiterung einer bestehenden Frage: Sicherheit von PKI, Zertifikaten, Zertifizierungsstellen, Weiterleitungsgeheimnis

66
lurscher

3 Gründe (jetzt):

  1. Asymmetrische Verschlüsselung ist langsamer, viel langsamer als symmetrische Verschlüsselung. Größenordnungen langsamer.
  2. Bei gleicher Schlüssellänge ist asymmetrisch viel schwächer als symmetrisch, Bit für Bit. Daher benötigen Sie einen viel größeren Schlüssel, um einen gleichwertigen Schutz zu gewährleisten. Dies trägt auch zur in 1 genannten Langsamkeit bei.
  3. (Gemäß @ ThomasPornins Kommentar :) Asymmetrische Verschlüsselung bringt eine Zunahme der Ausgabegröße mit sich. Wenn Sie beispielsweise RSA verwenden, sind verschlüsselte Daten mindestens 10% größer als der Klartext. Symmetrische Verschlüsselung hat andererseits einen festen Overhead, selbst wenn Gigabyte an Daten verschlüsselt werden.
77
AviD

Asymmetrische Verschlüsselungsalgorithmen sind weitaus weniger effizient als symmetrische Algorithmen. Im Wesentlichen beinhaltet jede Verwendung der Verschlüsselung über asymmetrische Schlüssel die Verschlüsselung eines symmetrischen Sitzungsschlüssels, mit dem die eigentliche Nachricht verschlüsselt wird.

Beachten Sie neben den hilfreichen Hinweisen von AviD zur Schlüssellänge, dass Quanten-Computing-Angriffe, wenn sie möglich werden, alle gängigen Public-Key-Algorithmen (und damit SSL/TLS) unwirksam machen. Aber gerade AES-256 würde auch bei einem Quantencomputerangriff stark bleiben. Siehe Schlüsselgröße - Effekt von Quantum Computing-Angriffen - Wikipedia . Die Frage wäre dann, wie diese Schlüssel ausgetauscht und Vertrauen in sie aufgebaut werden können.

33
nealmcb

Dies ist ein Standardansatz, der als hybrides Kryptosystem bezeichnet wird. Symmetrische Kryptographie und asymmetrische Kryptographie haben jeweils ihre Stärken und Schwächen. Bestimmtes:

  • Mit der asymmetrischen Kryptografie kann jeder Nachrichten verschlüsseln, die nur ein Teilnehmer entschlüsseln kann, und jeder kann Nachrichten überprüfen, die nur ein Teilnehmer signiert haben kann.
  • Symmetrische Kryptographie ist viel schneller als asymmetrische Kryptographie. Wirklich viel.

Sicherheit ist bei der Wahl zwischen symmetrischer und asymmetrischer Kryptographie kein wirkliches Problem. Die asymmetrische Kryptographie löst Probleme, die die symmetrische Kryptographie nicht lösen kann. Für alles andere wird symmetrische Kryptographie verwendet, weil sie so viel schneller ist.

(Aufgrund der höheren Geschwindigkeit weist die symmetrische Kryptografie tendenziell einen höheren Sicherheitsabstand auf: Gemeinsame Schlüsselgrößen - 128-Bit-AES - sind groß genug, um alle derzeit auf der Erde vorhandenen Computer so lange zu betreiben, bis ein völlig neuer mathematischer Durchbruch eintritt Da das Universum existiert hat, besteht nur eine geringe Chance, dass die Verschlüsselung unterbrochen wird. Die asymmetrische Kryptografie wird aufgrund ihrer schlechten Leistung mit kleineren Rändern ausgeführt, und es gibt gelegentlich mathematische Verbesserungen bei den Cracking-Methoden, die häufig verwendete Schlüsselgrößen für einige Jahre in Ordnung machen, jedoch nicht unbedingt für ein paar Jahrzehnte. Aber dies ist ein zweitrangiges Problem im Vergleich zu den Fähigkeiten/Leistung Alternative.)

Hybride Kryptosysteme lösen das Dilemma, indem sie asymmetrische Kryptographie nur dort verwenden, wo sie benötigt wird:

  • Um die Signatur einer Nachricht zu überprüfen, lautet die Nachricht Hash , und die asymmetrische Kryptografie wird nur für den Hash verwendet, nicht direkt für die Nachricht variabler Länge.
  • Um einige Daten zu verschlüsseln, wird ein symmetrischer Sitzungsschlüssel generiert. Die asymmetrische Kryptographie wird verwendet, um diesen symmetrischen Schlüssel zwischen den Teilnehmern (dem Client und dem Server) zu teilen. Die "echten" Daten werden mit diesem symmetrischen Schlüssel verschlüsselt und authentifiziert .

In HTTPS, wie es üblicherweise im Web verwendet wird, verfügt der Server über einen öffentlichen Schlüssel, der Client jedoch nicht - jeder Browser kann den Server kontaktieren, dem Server ist es egal, wer der Client ist. ( Clientseitige Zertifikate werden dort verwendet, wo es sinnvoll ist .) Eine sehr übergeordnete und unvollständige Ansicht eines HTTPS-Sitzungsaufbaus lautet:

  1. Der Server sendet sein Zertifikat an den Client. Das Zertifikat enthält den öffentlichen Schlüssel des Servers und eine Signatur dieses öffentlichen Schlüssels durch ein Zertifizierungsstelle . Der Client überprüft, ob die Zertifizierungsstelle bekannt ist (Browser werden mit einer Liste der öffentlichen Schlüssel der Zertifizierungsstellen geliefert).
  2. Der Client und der Server vereinbaren die Auswahl eines symmetrischen Schlüssels so, dass ein Angreifer den Schlüssel nicht rekonstruieren kann, indem er lediglich den Datenverkehr überprüft oder ihn sogar modifiziert (oder zumindest aktiv) Der Angreifer wird erkannt und der Client oder Server bricht die Sitzung ab. Ein Diffie-Hellman-Schlüsselaustausch plus eine Signatur des Servers (damit der Client überprüfen kann, ob der Austausch mit dem Server und nicht mit einem Man-in-the-Middle-Angreifer durchgeführt wurde) ist eine Möglichkeit um den symmetrischen Schlüssel zu erzeugen. Es ist auch möglich, sich ausschließlich auf den privaten Schlüssel des Servers zu verlassen (auf Kosten der Nicht-Sicherstellung von Vorwärtsgeheimnis ).
  3. Bei jeder nachfolgenden Kommunikation wird dieser symmetrische Schlüssel verwendet.

Beachten Sie, dass ich oben viele Vereinfachungen vorgenommen habe. Weitere Informationen finden Sie unter: