SHA-Abdruck und Verschlüsselung von 256 Bits – was bedeuten die Hauptbegriffe der SSL/TLS-Zertifikate?
18.06.2018 | Petra Alm
Bei Ihrer Arbeit mit den SSL/TLS-Zertifikaten sind Sie bestimmt mehrmals auf die ziemlich geprägten Begriffe wie SHA-1 und SHA-2, Schlüssel von 256 oder 2048 Bits und ähnliche gestoßen. Sind Sie nicht sicher, was Sie sich unter diesen Ausdrücken eigentlich vorstellen sollen? Dann ist der folgende Artikel eben für Sie bestimmt. Außerdem macht er sie auch mit dem Prinzip der Entstehung der SSL/TLS-Zertifikate bekannt!
Wo überall finden wir 256 Bits?
Zuerst wiederholen wir uns, wo wir bei den SSL/TLS-Zertifikaten die magische Zahl 256 sehen können. Als die erste Gelegenheit nennen wir uns den Prozess der Verschlüsselung mit dem Zertifikat. Sie wissen bestimmt, dass die für die asymmetrische Verschlüsselung genutzten Schlüssel über die Länge von 2048 Bits verfügen. Diese Schlüssellänge wird Ihnen bei der Generierung der CSR-Anforderung angeboten, die den öffentlichen Schlüssel enthält. Mit der gleichen Länge ist auch der private Schlüssel ausgestattet. Von diesen zwei gleich langen Schlüsseln wird bei dem Aufbau der verschlüsselten Verbindung – Handshaking - ausgegangen, aber der eigentliche Datenaustausch zwischen dem Browser und Server selbst wird mit einem kürzeren, nur zeitweiligen symmetrischen Schlüssel mit der Länge 256 Bits verschlüsselt. Vielleicht fragen Sie, ob es sicher ist, den symmetrischen, nur 256 Bits langen Schlüssel zu nutzen, wenn das Zertifikat den asymmetrischen 2048-Schlüssel enthält? Die Antwort erfahren Sie demnächst!
Wir beweisen Ihnen, dass Sie 256 Bits ausreichend schützen werden!
Der zweite Augenblick, bei welchem Sie die Zahl 256 bemerken können, ist die Generierung der elektronischen Signatur, die in Ihrem SSL/TLS-Zertifikat enthalten ist. Die Zertifizierungsstelle stattet die von Ihnen gelieferte Zertifikatsanforderung (den CSR-Code) mit ihrer Unterschrift aus und das Ergebnis ist eben das SSL/TLS-Zertifikat selbst. Neben dem Signieren vonseiten der CA dient die Funktion SHA-256 auch zur Berechnung des Zertifikatsabdruckes. Im Detail des Zertifikats können Sie sie somit mehrmals treffen.
Hashfunktion SHA – welche Formen kann sie annehmen?
Die Abkürzung SHA bedeutet secure hashing algorithm und es handelt sich um eine mathematische Funktion, welche den Eingabedaten eine unikale Zahlenkette von einer festgelegten Länge zuordnen kann. Es gibt drei Versionen des SHA-Hash: SHA-1, SHA-2 und SHA-3. SHA-1 hat über die Zertifikate bis das Jahre 2011 geherrscht und SHA-2 ist seit dem Jahre 2016 der Standard. Vielleicht erinnern Sie sich noch an die Pflicht, die mit SHA-1 ausgestellten Zertifikate neuauszustellen. Das letzte mögliche Datum war hier der 31. Dezember 2015.
Die Hashfunktionen unterscheiden sich untereinander sowohl durch ihr Entstehungsprinzip (wie die Zieldaten abgebildet werden) als auch durch die Bitlänge des Ausgangs. Was die Länge betrifft, stellt SHA-1 einen Abdruck von 160 Bits dar, während wir im Fall von SHA-2 über eine Familie von Abdrücken sprechen können, weil hier mehrere Längen gehören. Mitglieder dieser Familie sind SHA-224, SHA-256, SHA-384 und SHA-512. 256 Bits sind ein Standard, ab und zu können wir aber auch auf ein SHA-2-Zertifikat von 384 Bits stoßen. Die 244-Bit-Version ist für die öffentlichen Zertifikate nicht ausreichend und die von 512 Bits wird vonseiten Software nur wenig unterstützt.
Die genaueste Bezeichnung wäre z.B. SHA-2 384 – also sowohl die Version des Algorithmus als auch die Länge des Abdruckes in Bits auszuschreiben. Weil aber die 256 Bits die gewöhnlichsten sind, können Sie sicher sein, dass wenn Sie die Bezeichnung SHA-2 sehen, handelt es sich um eben diese Länge.
Lässt sich die Standard-Verschlüsselung und Generierung von Abdrücken durchbrechen? Ja, aber…
Warum sind der Abdruck und die Verschlüsselung von 256 Bits ausreichend sicher? Ein Bit kann zwei Werte haben: 0 und 1. Falls der Schlüssel aus 256 Binärzeichen besteht (also aus Nullen und Einsen), kann er über 2256 seiner Formen verfügen. Die Menge der möglichen Werte (immer zwei) potenzieren wir mit der Anzahl von Bits und somit gelangen wir zu dem Ergebnis – zu der Gesamtmenge von unikalen Abdrücken – Hashes, oder binären Kombinationen für den kryptographischen Schlüssel.
Vorstellen können wir uns auch einen Schlüssel von zwei Bits. Ein solcher hätte 22 Möglichkeiten, also nur vier: 00, 01, 10, 11. Fall Sie sich unter der Aufgabe 2256 kein konkreteres Ergebnis vorstellen können, lösen wir für Sie diese Rechenübung gerne: Es handelt sich um 115,792,089,237,316,195,423,570,985,008,687,907,853,269,984,665,640,564,039,457,584,007,913,129,639,936 möglicher Ergebnisse, also bestimmt um mehr als genug – diese Ziffer lässt sich fast nicht aussprechen. Sollte diese Verschlüsselungsstärke mit dem schnellsten Computer der Welt durchgebrochen werden, würde dafür der Rechner eine Million Jahre benötigen. Der Angreifer müsste einfach unter allen diesen Kombinationen suchen, bevor er die richtige Lösung erraten würde. Ähnlich ist es bei der Hashfunktion: Je höher die Menge der möglichen Abdrücke ist (wir haben wieder 2256 Kombinationen), desto niedriger ist die Chance, dass zwei Eingabedaten einen gleichen Abdruck – Hash – erstellen und dass es zu dem sog. Kollisionsangriff kommt.
Aus dem Vergleich ist ersichtlich, dass 256 Bits momentan ausreichend sicher sind, sowohl für die Verschlüsselung, als auch für die Hashfunktion. Die derzeitige Sicherheit von SHA-2 bedeutet jedoch nicht, dass die Sicherheitsexperten die Hände in den Schoß gelegt haben und darauf warten, dass ein Problem auftaucht. Die Finalversion des Nachfolgers von SHA-2, „originell“ SHA-3 benannt, existiert bereits und es ist sicher, dass sie früher oder später zum Standard wird.
Quellen
What is 256-bit Encryption? How Safe is It?
The Difference Between SHA-1, SHA-2 and SHA-256 Hash Algorithms
Spezialistin für TLS-Zertifikate
DigiCert TLS/SSL Professional
e-mail: info(at)sslmarket.de