„Da steht 256-Bit-Verschlüsselungsstärke… ist das gut?“
Die meisten Leute sehen den Begriff 256-Bit-Verschlüsselung die ganze Zeit und – wenn wir ehrlich sind – haben absolut keine Ahnung, was er bedeutet oder wie stark er ist. Sobald man über das oberflächliche „es verschlüsselt Daten und macht sie unlesbar“ hinausgeht, ist Verschlüsselung ein unglaublich kompliziertes Thema. Es ist keine leichte Lektüre. Die meisten von uns haben kein Buch über modulare Potenzierung auf dem Nachttisch neben dem Bett liegen.
Deshalb ist es verständlich, dass es eine gewisse Verwirrung gibt, wenn es um Verschlüsselungsstärken geht, was sie bedeuten, was „gut“ ist, usw. Es gibt keinen Mangel an Fragen zur Verschlüsselung – speziell zur 256-Bit-Verschlüsselung.
Die wichtigste davon: Wie stark ist eine 256-Bit-Verschlüsselung?
So, heute werden wir genau darüber sprechen. Wir erklären, was ein bisschen Sicherheit überhaupt ist, wir gehen auf die gängigste Form der 256-Bit-Verschlüsselung ein und wir sprechen darüber, was nötig wäre, um eine Verschlüsselung mit dieser Stärke zu knacken.
Lassen Sie es uns kurz machen.
Eine kurze Auffrischung zur Verschlüsselung im Allgemeinen
Wenn Sie etwas verschlüsseln, nehmen Sie die unverschlüsselten Daten, Klartext genannt, und führen eine algorithmische Funktion darauf aus, um ein Stück verschlüsselten Chiffretext zu erzeugen. Der Algorithmus, den Sie verwenden, wird Schlüssel genannt. Mit Ausnahme der öffentlichen Schlüssel bei der asymmetrischen Verschlüsselung muss der Wert des Schlüssels geheim gehalten werden. Der private Schlüssel, der mit diesem Stück Chiffretext verbunden ist, ist die einzige praktische Möglichkeit, ihn zu entschlüsseln.
Nun, das klingt alles unglaublich abstrakt, also lassen Sie uns ein Beispiel verwenden. Und wir lassen Bob und Alice außen vor, denn sie sind damit beschäftigt, Verschlüsselung in buchstäblich jedem anderen Beispiel im Internet zu erklären.
Lassen Sie uns mit Jack und Diane anfangen, und nehmen wir an, dass Jack Diane eine Nachricht schicken möchte, in der steht: „Oh ja, das Leben geht weiter.“
Jack wird seine Nachricht nehmen und einen Algorithmus oder eine Chiffre – den Chiffrierschlüssel – verwenden, um die Nachricht in einen Chiffretext zu verschlüsseln. Nun wird er sie an Diane weitergeben, zusammen mit dem Schlüssel, mit dem die Nachricht entschlüsselt werden kann, so dass sie wieder lesbar ist.
Solange niemand anderes den Schlüssel in die Hände bekommt, ist der Chiffriertext wertlos, da er nicht gelesen werden kann.
Wie funktioniert moderne Verschlüsselung?
Jack und Diane haben gerade Verschlüsselung in ihrer einfachsten Form demonstriert. Und während die Mathematik, die in primitiven Chiffren verwendet wurde, ziemlich einfach war – aufgrund der Tatsache, dass sie von einem Menschen ausgeführt werden musste -, hat das Aufkommen von Computern die Komplexität der Mathematik, die modernen Kryptosystemen zugrunde liegt, erhöht.
Aber die Konzepte sind immer noch weitgehend die gleichen.
Ein Schlüssel oder ein bestimmter Algorithmus wird verwendet, um die Daten zu verschlüsseln, und nur eine andere Partei mit Kenntnis des zugehörigen privaten Schlüssels kann sie entschlüsseln.
Anstatt einer schriftlichen Nachricht, die düster verkündet, dass das Leben auch nach dem Verlust der Freude weitergeht, tun Jack und Diane in diesem Beispiel am Computer „das Beste, was sie können“ (still „holdin‘ on to 16“ – sorry, das sind John-Mellencamp-Witze, die außerhalb der USA wahrscheinlich keinen Sinn ergeben). Die Verschlüsselung, die jetzt stattfindet, ist digital.
Jacks Computer verwendet seinen Schlüssel, der in Wirklichkeit ein extrem komplizierter Algorithmus ist, der aus den Daten abgeleitet wurde, die von Jacks und Dianes Geräten gemeinsam genutzt werden, um den Klartext zu verschlüsseln. Diane benutzt ihren passenden symmetrischen Schlüssel, um die Daten zu entschlüsseln und zu lesen.
Aber was wird da eigentlich verschlüsselt? Wie verschlüsselt man „Daten“?
Im ursprünglichen Beispiel waren es tatsächlich Buchstaben auf einem physischen Stück Papier, die in etwas anderes verwandelt wurden. Aber wie verschlüsselt ein Computer Daten?
Das geht auf die Art und Weise zurück, wie Computer eigentlich mit Daten umgehen. Computer speichern Informationen in binärer Form. 1’s und 0’s. Alle Daten, die in einen Computer eingegeben werden, sind so verschlüsselt, dass sie von der Maschine gelesen werden können. Es sind diese verschlüsselten Daten in ihrer Rohform, die verschlüsselt werden. Das ist tatsächlich ein Teil dessen, was in die verschiedenen Dateitypen eingeht, die von SSL/TLS-Zertifikaten verwendet werden, es hängt teilweise davon ab, welche Art von Verschlüsselungsschema Sie versuchen zu verschlüsseln.
Der Computer von Jack verschlüsselt also die verschlüsselten Daten und überträgt sie an den Computer von Diane, die den zugehörigen privaten Schlüssel verwendet, um die Daten zu entschlüsseln und zu lesen.
Auch hier gilt: Solange der private Schlüssel, Sie wissen schon, privat bleibt, bleibt die Verschlüsselung sicher.
Moderne Verschlüsselung hat das größte historische Hindernis für die Verschlüsselung gelöst: den Schlüsselaustausch. Historisch gesehen musste der private Schlüssel physisch weitergegeben werden. Schlüsselsicherheit war buchstäblich eine Frage der physischen Aufbewahrung des Schlüssels an einem sicheren Ort. Die Kompromittierung des Schlüssels machte nicht nur die Verschlüsselung hinfällig, sondern konnte auch zum Tod führen.
In den 1970er Jahren begann ein Trio von Kryptographen, Ralph Merkle, Whitfield Diffie und Martin Hellman, an einer Möglichkeit zu arbeiten, einen Verschlüsselungsschlüssel in einem unsicheren Netzwerk sicher weiterzugeben, wenn ein Angreifer zusieht. Theoretisch war es ihnen gelungen, aber sie waren nicht in der Lage, eine asymmetrische Verschlüsselungsfunktion zu entwickeln, die praktikabel war. Sie hatten auch keinen Mechanismus zur Authentifizierung (aber das ist ein ganz anderes Thema). Merkle hatte die erste Idee, aber sein Name wird nicht mit dem von ihnen erfundenen Schlüsselaustauschprotokoll in Verbindung gebracht – trotz der Proteste der beiden anderen Erfinder.
Etwa ein Jahr später schufen Ron Rivest, Adi Shamir und Leonard Adleman ein gleichnamiges Schlüsselaustauschverfahren auf Basis des Diffie-Hellman-Schlüsselaustauschs (RSA), das auch Ver-/Entschlüsselungs- und Authentifizierungsfunktionen enthielt. Dies ist relevant, weil es die Geburtsstunde einer ganz neuen Iteration der Verschlüsselung war: der asymmetrischen Verschlüsselung.
Sie gaben uns auch die bereits erwähnten Bob und Alice, was es, zumindest für mich, zu einer Art Aufguss macht.
Allerdings ist das Verständnis des Unterschieds zwischen symmetrischer und asymmetrischer Verschlüsselung der Schlüssel für den Rest dieser Diskussion.
Asymmetrische Verschlüsselung vs. symmetrische Verschlüsselung
Symmetrische Verschlüsselung wird manchmal auch als Verschlüsselung mit privatem Schlüssel bezeichnet, weil beide Parteien einen symmetrischen Schlüssel teilen müssen, der sowohl zum Verschlüsseln als auch zum Entschlüsseln von Daten verwendet werden kann.
Asymmetrische Verschlüsselung hingegen wird manchmal als Public-Key-Verschlüsselung bezeichnet. Ein besserer Weg, sich die asymmetrische Verschlüsselung vorzustellen, wäre, sie als Einwegverschlüsselung zu betrachten.
Im Gegensatz zu den beiden Parteien, die sich einen privaten Schlüssel teilen, gibt es ein Schlüsselpaar. Eine Partei besitzt einen öffentlichen Schlüssel, der verschlüsseln kann, die andere besitzt einen privaten Schlüssel, der entschlüsseln kann.
Asymmetrische Verschlüsselung wird vor allem als Mechanismus zum Austausch von symmetrischen privaten Schlüsseln verwendet. Dafür gibt es einen Grund: Asymmetrische Verschlüsselung ist historisch gesehen eine teurere Funktion aufgrund der Größe ihrer Schlüssel. Daher wird die Public-Key-Kryptografie eher als externer Schutzwall verwendet, um die Parteien zu schützen, während sie eine Verbindung herstellen, während die symmetrische Verschlüsselung innerhalb der eigentlichen Verbindung verwendet wird.
2048-Bit-Schlüssel vs. 256-Bit-Schlüssel
In SSL/TLS dient die asymmetrische Verschlüsselung einer sehr wichtigen Funktion. Sie ermöglicht es dem Client, die Daten zu verschlüsseln, die von beiden Parteien verwendet werden, um die symmetrischen Sitzungsschlüssel abzuleiten, die sie zur Kommunikation verwenden. Mit asymmetrischer Verschlüsselung könnte man niemals funktional kommunizieren. Während der öffentliche Schlüssel verwendet werden kann, um eine digitale Signatur zu verifizieren, kann er nichts entschlüsseln, was der private Schlüssel verschlüsselt, daher nennen wir asymmetrische Verschlüsselung „einseitig“.
Das größere Problem ist jedoch, dass die Schlüsselgröße die eigentlichen Ver- und Entschlüsselungsfunktionen teuer macht, was die CPU-Ressourcen angeht, die sie verschlingen. Das ist der Grund, warum viele größere Organisationen und Unternehmen, wenn sie SSL/TLS in großem Umfang einsetzen, die Handshakes auslagern: um Ressourcen auf ihren Anwendungsservern freizugeben.
Anstattdessen verwenden wir symmetrische Verschlüsselung für die eigentliche Kommunikation, die während einer verschlüsselten Verbindung stattfindet. Symmetrische Schlüssel sind kleiner und preiswerter in der Berechnung.
Wenn Sie also sehen, dass jemand einen privaten 2048-Bit-Schlüssel verwendet, meint er höchstwahrscheinlich einen privaten RSA-Schlüssel. Das ist ein asymmetrischer Schlüssel. Er muss ausreichend resistent gegen Angriffe sein, weil er eine so kritische Funktion ausführt. Auch, weil der Schlüsselaustausch der beste Angriffsvektor für die Kompromittierung einer Verbindung ist. Es ist viel einfacher, die Daten zu stehlen, die zur Erstellung des symmetrischen Sitzungsschlüssels verwendet werden, und ihn selbst zu berechnen, als den Schlüssel mit roher Gewalt zu knacken, nachdem er bereits in Gebrauch ist.
Das wirft die Frage auf: „Wie stark ist eine 256-Bit-Verschlüsselung?“ Wenn sie weniger robust ist als ein 2048-Bit-Schlüssel, ist sie dann noch ausreichend? Und wir werden das beantworten, aber zuerst müssen wir ein wenig mehr Boden bedecken, um den richtigen Kontext zu liefern.
Was genau ist ein „Bit“ an Sicherheit?
Es ist wirklich wichtig, dass wir über Bits der Sicherheit und den Vergleich der Verschlüsselungsstärke zwischen Algorithmen sprechen, bevor wir in eine praktische Diskussion darüber einsteigen, wie stark 256 Bits der Sicherheit tatsächlich sind, denn es ist kein 1:1-Vergleich.
Zum Beispiel ist ein 128-Bit-AES-Schlüssel, der die Hälfte der derzeit empfohlenen Größe ausmacht, ungefähr gleichwertig mit einem 3072-Bit-RSA-Schlüssel in Bezug auf die tatsächliche Sicherheit, die sie bieten.
Es ist auch wichtig, den Unterschied zwischen dem Sicherheitsanspruch und dem Sicherheitsniveau zu verstehen.
- Sicherheitsanspruch – Dies ist die Sicherheitsstufe, die das kryptografische Primitiv – die betreffende Chiffre oder Hash-Funktion – ursprünglich erreichen sollte.
- Sicherheitsstufe – Die TATSÄCHLICHE Stärke, die das kryptografische Primitiv erreicht.
Dies wird normalerweise in Bits ausgedrückt. Ein Bit ist eine Grundeinheit der Information. Es ist eigentlich ein Portmanteau von „Binärziffer“, was sowohl unglaublich effizient als auch nicht so effizient ist. Sicher, es ist einfacher, Bit zu sagen. Aber ich habe gerade einen ganzen Absatz damit verbracht, zu erklären, dass ein Bit im Grunde genommen eine 1 oder eine 0 im Binärformat ist, während der ursprüngliche Begriff das in zwei Worten erreicht hätte. Also, entscheiden Sie, ob es effizienter ist. Wie auch immer, wir werden nicht viel mehr Zeit auf die Binärsprache verwenden, als wir bereits getan haben, aber Ross hat vor ein paar Monaten einen tollen Artikel darüber geschrieben, den Sie sich ansehen sollten.
Also, Sicherheitslevel und Sicherheitsanspruch werden typischerweise in Bits ausgedrückt. In diesem Zusammenhang beziehen sich die Bits der Sicherheit, lassen Sie uns das als (n) bezeichnen, auf die Anzahl der Operationen, die ein Angreifer hypothetisch durchführen müsste, um den Wert des privaten Schlüssels zu erraten. Je größer der Schlüssel ist, desto schwieriger ist er zu erraten/zu knacken. Denken Sie daran, dass dieser Schlüssel aus 1en und 0en besteht, also gibt es zwei mögliche Werte für jedes Bit. Der Angreifer müsste 2n Operationen durchführen, um den Schlüssel zu knacken.
Das ist vielleicht ein bisschen zu abstrakt, deshalb hier ein kurzes Beispiel: Nehmen wir an, es gibt einen 2-Bit-Schlüssel. Das bedeutet, dass er 22 (4) Werte hat.
Das wäre für einen Computer trivial einfach zu knacken, aber wenn man anfängt, zu größeren Schlüsselgrößen zu kommen, wird es für einen modernen Computer unerschwinglich schwierig, den Wert eines privaten Schlüssels in einer vernünftigen Zeitspanne richtig zu erraten.
Aber bevor wir zur Mathematik kommen, lassen Sie uns noch einmal auf den Sicherheitsanspruch im Vergleich zur Sicherheitsstufe zurückkommen
Sicherheitsanspruch im Vergleich zur Sicherheitsstufe
Typischerweise, wenn Sie Verschlüsselung vermarktet sehen, sehen Sie den Sicherheitsanspruch, der beworben wird. Das ist die Sicherheitsstufe, die unter optimalen Bedingungen erreicht wird. Wir beschränken uns hier auf SSL/TLS und PKI, aber der Prozentsatz der Zeit, in der die optimalen Bedingungen gegeben sind, ist weit von 100 % entfernt. Fehlkonfigurationen sind an der Tagesordnung, ebenso wie die Beibehaltung der Unterstützung älterer Versionen von SSL/TLS und veralteter Cipher-Suites aus Gründen der Interoperabilität.
Im Kontext von SSL/TLS findet, wenn ein Client auf einer Website ankommt, ein Handshake statt, bei dem die beiden Parteien eine gemeinsam vereinbarte Cipher-Suite festlegen, die verwendet werden soll. Die tatsächliche Verschlüsselungsstärke hängt von den Parametern ab, die während des Handshakes festgelegt wurden, sowie von den Fähigkeiten des Servers und des Clients selbst.
In Everything Encryption By Patrick Nohe
Es passiert eine Menge unter der Haube, wenn Sie sich mit einer Website über HTTPS verbinden. In erster Linie müssen sich alle… die Hände schütteln…!
Manchmal bietet eine 256-Bit-Verschlüsselung nur ein Sicherheitsniveau von 128 Bit. Dies ist besonders häufig bei Hash-Algorithmen der Fall, die die Resistenz gegen zwei verschiedene Arten von Angriffen messen:
- Kollisionen – Wenn zwei verschiedene Daten den gleichen Hash-Wert erzeugen, nennt man das eine Kollision, die den Algorithmus bricht.
- PreImage-Resistenz – Wie resistent ist ein Algorithmus gegenüber einem Exploit, bei dem ein Angreifer versucht, eine Nachricht mit einem bestimmten Hash-Wert zu finden.
So hat zum Beispiel SHA-256 eine Kollisionsresistenz von 128 Bit (n/2), aber eine PreImage-Resistenz von 256 Bit. Offensichtlich unterscheidet sich das Hashing von der Verschlüsselung, aber es gibt auch viele Ähnlichkeiten, die es erwähnenswert machen.
So, wie stark ist 256-Bit-Verschlüsselung?
Auch das hängt vom verwendeten Algorithmus ab, und es variiert von asymmetrischer zu symmetrischer Verschlüsselung. Wie gesagt, das sind keine 1:1-Vergleiche. Tatsächlich ist das Sicherheitsniveau der asymmetrischen Verschlüsselung nicht wirklich so wissenschaftlich, wie es vielleicht den Anschein hat. Asymmetrische Verschlüsselung basiert auf mathematischen Problemen, die in eine Richtung leicht durchzuführen sind (Verschlüsselung), aber äußerst schwierig umzukehren sind (Entschlüsselung). Aus diesem Grund sind Angriffe auf asymmetrische Kryptosysteme mit öffentlichem Schlüssel typischerweise viel schneller als die Brute-Force-Suche nach dem Schlüsselraum, die symmetrische Verschlüsselungssysteme mit privatem Schlüssel plagt. Wenn man also über die Sicherheitsstufe von Public-Key-Kryptographie spricht, ist das keine feste Zahl, sondern eine Berechnung der rechnerischen Härte der Implementierung gegen den besten, derzeit bekannten Angriff.
Die Stärke einer symmetrischen Verschlüsselung ist etwas einfacher zu berechnen, was an der Art der Angriffe liegt, gegen die sie sich verteidigen muss.
Sehen wir uns also AES oder Advanced Encryption Standard an, der üblicherweise als Bulk-Chiffre mit SSL/TLS verwendet wird. Bulk-Chiffren sind die symmetrischen Kryptosysteme, die die eigentliche Sicherung der Kommunikation übernehmen, die während einer verschlüsselten HTTPS-Verbindung stattfindet.
Historisch gesehen gibt es zwei Varianten: Blockchiffren und Stromchiffren.
Blockchiffren zerlegen alles, was sie verschlüsseln, in Blöcke in Schlüsselgröße und verschlüsseln sie. Zum Entschlüsseln müssen die Blöcke wieder zusammengesetzt werden. Und wenn die Nachricht zu kurz oder zu lang ist, was in den meisten Fällen der Fall ist, müssen sie aufgebrochen und/oder mit Wegwerfdaten aufgefüllt werden, um sie auf die richtige Länge zu bringen. Padding-Angriffe sind eine der häufigsten Bedrohungen für SSL/TLS.
TLS 1.3 hat diese Art der Massenverschlüsselung aus genau diesem Grund abgeschafft, jetzt müssen alle Chiffren auf den Stream-Modus eingestellt werden. Stromchiffren verschlüsseln Daten in pseudozufälligen Strömen beliebiger Länge, sie gelten als einfacher zu implementieren und benötigen weniger Ressourcen. TLS 1.3 hat auch einige unsichere Stream-Chiffren, wie RC4, abgeschafft.
Langer Rede kurzer Sinn, es gibt heutzutage eigentlich nur noch zwei vorgeschlagene Bulkchiffren, AES und ChaCha20. Wir werden uns jetzt auf AES konzentrieren, weil ChaCha20 ein anderes Tier ist.
TLS 1.2 Empfohlene Chiffren
- TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305
TLS 1.3 Empfohlene Chiffren
- TLS_AES_256_GCM_SHA384
- TLS_CHACHA20_POLY1305_SHA256
- TLS_AES_128_GCM_SHA256
- TLS_AES_128_CCM_8_SHA256
- TLS_AES_128_CCM_SHA256
GCM steht für Galois Counter Mode, der es erlaubt, AES – das eigentlich eine Blockchiffre ist – im Stream-Modus laufen zu lassen. CCM ist ähnlich und kombiniert einen Zählermodus mit einer Nachrichtenauthentifizierungsfunktion.
Wie wir bereits beschrieben haben, können Sie AES im GCM- oder CCM-Modus mit 128-Bit-Schlüsseln laufen lassen und haben keine Probleme. Sie erhalten das Äquivalent von 3072-Bit RSA in Bezug auf die Sicherheitsstufe. In der Regel empfehlen wir jedoch 256-Bit-Schlüssel, damit Sie die maximale Rechenhärte für einen möglichst langen Zeitraum erhalten.
Sehen wir uns also diese 256-Bit-Schlüssel an. Ein 256-Bit-Schlüssel kann2256 mögliche Kombinationen haben. Wie wir bereits erwähnt haben, hätte ein Zwei-Bit-Schlüssel vier mögliche Kombinationen (und wäre mit einem Zwei-Bit-Knacker leicht zu knacken). Wir haben es hier jedoch mit Potenzierung zu tun, d. h. jedes Mal, wenn Sie den Exponenten n erhöhen, steigt die Anzahl der möglichen Kombinationen stark an. 2256 ist 2 x 2, x 2, x 2… 256 Mal.
Wie wir bereits besprochen haben, ist der beste Weg, einen Verschlüsselungsschlüssel zu knacken, das „Brute-Forcing“, was im Grunde genommen nur ein &-Fehler in einfachen Worten ist. Wenn die Schlüssellänge also 256 Bit beträgt, gibt es 2256 mögliche Kombinationen, und ein Hacker muss die meisten der 2256 möglichen Kombinationen ausprobieren, bevor er zu einem Ergebnis kommt. Es wird wahrscheinlich nicht nötig sein, alle auszuprobieren, um den Schlüssel zu erraten – typischerweise sind es etwa 50 % -, aber die Zeit, die dafür nötig wäre, würde weit über jede menschliche Lebensspanne hinausgehen.
Ein privater 256-Bit-Schlüssel hat 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 (das sind 78 Ziffern) mögliche Kombinationen. Kein Supercomputer auf dieser Erde kann das in einem vernünftigen Zeitrahmen knacken.
Selbst wenn Sie Tianhe-2 (MilkyWay-2), den schnellsten Supercomputer der Welt, verwenden, wird es Millionen von Jahren dauern, um eine 256-Bit-AES-Verschlüsselung zu knacken.
Diese Zahl schießt sogar noch weiter in die Höhe, wenn Sie versuchen herauszufinden, wie lange es dauern würde, einen privaten RSA-Schlüssel zu faktorisieren. Die Berechnung eines 2048-Bit-RSA-Schlüssels würde laut DigiCert 6,4 Quadrillionen Jahre (6.400.000.000.000.000 Jahre) dauern.
Niemand hat so viel Zeit.
Quantum Computing wird all das verändern
Jetzt wäre eigentlich ein guter Zeitpunkt, um ein wenig über Quantenverschlüsselung und die Bedrohung zu sprechen, die sie für unsere modernen kryptographischen Primitive darstellt. Wie wir gerade besprochen haben, arbeiten Computer binär. 1en und 0en. Und die Art, wie Bits auf modernen Computern funktionieren, ist, dass sie einen bekannten Wert haben müssen, sie sind entweder eine 1 oder eine 0. Punkt. Das bedeutet, dass ein moderner Computer immer nur einmal raten kann.
Offensichtlich schränkt das stark ein, wie schnell er Kombinationen bruteforcen kann, um einen privaten Schlüssel zu knacken.
Quantum Computer werden keine solchen Einschränkungen haben. Nun, zwei Dinge: Erstens ist Quantencomputing noch etwa 7-10 Jahre von der Realisierbarkeit entfernt, wir sind also noch weit davon entfernt. Einige CAs, wie DigiCert, haben damit begonnen, digitale Post-Quantum-Zertifikate auf IoT-Geräten zu platzieren, die eine lange Lebensdauer haben werden, um zu versuchen, sie präventiv gegen Quantencomputer abzusichern, aber abgesehen davon befinden wir uns immer noch in der Forschungsphase, wenn es um quantensichere Verschlüsselung geht.
Das Problem ist, dass Quantencomputer keine Bits verwenden, sondern Quantenbits oder Qubits. Ein Quantenbit kann sowohl eine 1 als auch eine 0 sein, dank eines Prinzips, das Superposition genannt wird, was etwas komplizierter ist, als wir uns heute ansehen werden. Qubits geben Quantencomputern die Möglichkeit, ihre Brute-Force-Angriffe zu potenzieren, was die rechnerische Härte, die durch die Potenzierung mit dem kryptographischen Primitiv gegeben ist, effektiv aufhebt. Ein Computer mit vier Qubits kann effektiv in vier verschiedenen Positionen (22) gleichzeitig sein. Es ist wieder 2n, also kann ein Quantencomputer mit n Qubits 2n Kombinationen gleichzeitig ausprobieren. Bristlecone, der 72 Qubits hat, kann 272 (4.722.366.482.869.645.213.696) Werte auf einmal ausprobieren.
Auch davon sind wir noch weit entfernt und der Quantencomputer müsste herausfinden, wie er den Shor-Algorithmus erfolgreich ausführen kann, ein weiteres Thema für einen anderen Tag, also ist dies noch weitgehend theoretisch.
Allerdings erscheinen plötzlich 4,6 Billiarden Jahre nicht mehr als so lange Zeit.
Lassen Sie uns einpacken…
256-Bit-Verschlüsselung ist im Jahr 2019 ein ziemlicher Standard, aber die Erwähnung von 256-Bit-Verschlüsselung bezieht sich nicht immer auf dasselbe. Manchmal wird mit 256-Bit-Verschlüsselung nur eine Sicherheitsstufe von 128 Bit erreicht. Manchmal sind Schlüsselgröße und Sicherheitsstufe untrennbar miteinander verbunden, während manchmal das eine nur zur Annäherung an das andere verwendet wird.
Die Antwort auf die Frage „Wie stark ist eine 256-Bit-Verschlüsselung?“ lässt sich also nicht mit einer klaren Antwort beantworten. Zumindest nicht immer.
Im Kontext von SSL/TLS bezieht sich die Frage jedoch meist auf dieAES-Verschlüsselung, bei der 256 Bit wirklich 256 Bit bedeuten. Und zumindest im Moment ist diese 256-Bit-Verschlüsselung noch ausreichend stark.
Bis ein Angreifer mit einem modernen Computer in der Lage ist, einen symmetrischen 256-Bit-Schlüssel zu knacken, wird er nicht nur verworfen worden sein, sondern Sie werden wahrscheinlich auch das SSL/TLS-Zertifikat ersetzt haben, mit dem er generiert wurde.
Lange Rede, kurzer Sinn: Die größte Bedrohung für Ihre Verschlüsselung und Ihre Verschlüsselungsschlüssel ist immer noch Missmanagement, die Technologie dahinter ist solide.