In diesem Artikel, dem zweiten in einer 3-teiligen Serie zur symmetrischen Schlüsselverschlüsselungstechnologie, untersuchen wir die Entwicklung symmetrischer Schlüsselverschlüsselungsalgorithmen und die Bandbreite der heute verfügbaren Algorithmen sowie ihre Stärken und Schwächen sowie die Bedeutung der Krypto-Agilität.,
DES-Algorithmus-Familie
Der ursprüngliche DES (Data Encryption Standard)-Blockchiffrieralgorithmus, auch bekannt als DEA (Data Encryption Algorithm), wurde Anfang der 1970er Jahre von IBM entwickelt und veröffentlicht (mit kleinen Änderungen) als Standard von der US-Regierung in 1977, schnell zu einem De-facto-internationalen Standard.
Mit einer Schlüssellänge von nur 56 Bit (plus 8 Paritätsbits) wurde jedoch in den 1990er Jahren klar, dass es mit modernen Computern, die nach Moores Gesetz an Macht wuchsen, nicht mehr ausreichend gegen Brute-Forcing des Schlüssels abgesichert war., So wurde Triple-DES (auch bekannt als TDES, TDEA oder 3DES) 1998 mit einem Bündel von 3 Schlüsseln eingeführt, was eine Nennstärke von 168 Bit ergibt, jedoch zum Preis langsamer Leistung. Optional kann die Schlüssellänge auf 112 Bit reduziert werden, indem zwei der Schlüssel gleich sind – dies wird manchmal als 2DES oder 2TDEA bezeichnet; Dies ist jedoch nicht schneller und ein 112-Bit-Schlüssel gilt nicht mehr als sicher.
Triple-DES ist heute noch weit verbreitet, insbesondere in der Finanzindustrie, obwohl viele Anwendungen Triple-DES aufgrund seiner schlechten Leistung übersprungen haben und stattdessen direkt von DES zu AES gingen., Obwohl ein 168-Bit-Schlüssel immer noch als stark gilt, wird er für neue Anwendungen nicht mehr empfohlen, da er eine kleine Blockgröße (64 Bit) verwendet. Dies macht es anfällig für den sogenannten“ Sweet 32 “ – Angriff, was bedeutet, dass der Schlüssel beschädigt werden kann, wenn mehr als 232 Datenblöcke verschlüsselt werden, ohne den Schlüssel zu ändern. Angesichts des hohen Datenvolumens, das von modernen Systemen gespeichert oder übertragen wird, bedeutet dies, dass der Schlüssel häufig gewechselt werden muss, was unpraktisch ist.,
RC algorithmus familie
Die ersten mitglieder der RC algorithmus familie, RC2 und RC4 (aka ARC4 oder ARCFOUR), wurden entwickelt durch Ron Rivest (von RSA ruhm) in 1987. RC2 ist eine 64-Bit-Blockchiffre, die eine Schlüssellänge von bis zu 128 Bit unterstützt, obwohl sie ursprünglich nur für den US-Export mit einem 40-Bit-Schlüssel genehmigt wurde. RC4 ist eine Stream-Chiffre, die sehr weit verbreitet ist (z. B. im SSL/TLS-Protokoll und frühen Wi-Fi-Sicherheitsstandards). Weder RC2 noch RC4 gelten heute jedoch als sicher.,
RC5 ist eine Blockchiffre mit variabler Blockgröße (32, 64 oder 128 Bit), variabler Schlüssellänge (bis zu 2.040 Bit) und variabler Anzahl von Runden (bis zu 255). Dies ermöglicht einen Kompromiss zwischen Leistung und Sicherheit und wird bei Verwendung geeigneter Parameter immer noch als sicher angesehen. Es wurde später modifiziert, um RC6 mit einer festen Blockgröße von 128 Bit als Kandidat für den Advanced Encryption Standard zu produzieren – siehe unten. RC5 und RC6 sind jedoch nicht weit verbreitet, da sie patentiert sind.,
Rijndael algorithmus familie (AES)
EINE teilmenge der Rijndael algorithmus familie von block chiffren wurde als Advanced Encryption Standard (AES) in 2001 zu ersetzen DES, nach einem wettbewerb durch die US National Institute of Standards and Technology (NIST). Es ist heute allgemein als AES-Algorithmus bekannt und verfügt über eine Blockgröße von 128 Bit und drei Schlüssellänge: 128, 192 oder 256 Bit. Die Anzahl der Runden variiert je nach Schlüssellänge.,
AES ist heute der symmetrische Algorithmus der Wahl für die meisten Anwendungen und wird sehr häufig verwendet, meist mit 128-oder 256-Bit-Schlüsseln, wobei letztere Schlüssellänge sogar als stark genug angesehen werden, um militärische STRENG GEHEIME Daten zu schützen. Beachten Sie, dass unter der Annahme, dass es keine bekannten Schwächen in einem Algorithmus gibt, ein einzelner 128-Bit-Schlüssel heute oder in absehbarer Zukunft Milliarden von Jahren dauern wird, um Brute Force mit klassischer Computertechnologie zu verwenden (siehe Quantencomputer unten).,
Andere symmetrische Algorithmen
Viele andere Blockchiffren wurden im Laufe der Jahre entwickelt, wie Blowfish, IDEA und CAST-128 (auch bekannt als CAST5). Die meisten älteren Algorithmen sind jedoch durch Blockgrößen-und/oder Schlüssellangenbeschränkungen sowie (in einigen Fällen) Sicherheitsprobleme und/oder Patentbeschränkungen begrenzt und hatten daher außerhalb einer oder zweier spezifischer Anwendungen relativ wenig Erfolg.
Für die Teilnahme am AES-Wettbewerb wurden eine Reihe von Block-Chiffren entwickelt, wie Twofish, Serpent, MARS und CAST-256., Viele davon sind immer noch sehr gut, obwohl Rijndael schließlich aufgrund einer Kombination aus Sicherheit, Leistung und anderen Faktoren ausgewählt wurde, so dass diese selten verwendet werden.
Es gibt auch viele Beispiele für andere Stream-Chiffren.
Einige Regierungen entwickeln ihre eigenen nationalen Algorithmen, sei es für militärische oder kommerzielle Zwecke. Die US National Security Administration (NSA) hat im Laufe der Jahre viele Algorithmen entwickelt, obwohl die Details der meisten geheim bleiben. Andere relativ bekannte Beispiele für nationale Algorithmen sind Magma (auch bekannt als GOST 28147-89) und Kuznyechik (auch bekannt als GOST R 34.,12-2015) in Russland, SM1 und SM4 in China und SAMEN in Südkorea.
Derzeit wird viel über leichtgewichtige Algorithmen geforscht, die für die Implementierung in kostengünstige mobile Geräte und Internet-of-Things-Anwendungen (IoT) geeignet sind, bei denen typischerweise eine begrenzte CPU-Leistung, ein begrenzter Speicher und/oder eine begrenzte Leistung verfügbar sind.
Quantencomputer
Wenn groß angelegtes Quantencomputing verfügbar wird, möglicherweise in etwa 10 Jahren, wird es einen großen Einfluss auf die Kryptographie haben. Insbesondere die heute überwiegend verwendeten asymmetrischen Algorithmen werden effektiv gebrochen., Glücklicherweise scheint der Einfluss auf symmetrische Algorithmen weniger stark zu sein-Grovers Algorithmus hat den Effekt, die Schlüssellänge zu halbieren, so dass AES-128 eine effektive Stärke hat, die einem 64-Bit-Schlüssel entspricht, und AES-256 wird auf die Stärke eines 128-Bit-Schlüssels reduziert. Dies bedeutet, dass AES-256 (soweit wir heute wissen) immer noch sicher im Bereich des Quantencomputers eingesetzt werden kann.
Crypto-agility
Wie wir gesehen haben, sind keine Algorithmen perfekt – kryptografische Angriffe werden nur stärker, wenn neue Tools und Techniken entwickelt werden., Algorithmen, die einst als stark galten, sind heute auf einem Heim-PC leicht zu brechen. Selbst die besten Algorithmen von heute werden durch Quantencomputer geschwächt. Neue Algorithmen werden weiterhin entwickelt, um die Sicherheit zu verbessern und neue Anwendungen mit spezifischen Anforderungen wie IoT anzusprechen.
Die Geschichte hat jedoch gezeigt, dass das Ändern von Algorithmen schwieriger als erwartet sein kann, da alte Algorithmen immer noch gut verwendet werden, nachdem sie nicht mehr als sicher gelten.
Sie müssen nur MD5, SHA1, DES, 2TDEA, RC4, RSA-1024 usw. betrachten, um zu sehen, wie schmerzhaft und langwierig der Prozess sein kann.,
Das problem ist die Interoperabilität. Wenn ganze Ökosysteme um einen bestimmten Algorithmus herum aufgebaut wurden, so wie die Finanzindustrie um DES und Triple-DES herum aufgebaut wurde, erfordert dies die Zusammenarbeit von Nationen, Branchen, Normungsgremien und Anbietern über viele Jahre, um Veränderungen zu bewirken. Hardware, Software, Protokolle müssen alle aktualisiert werden. Es gibt enorme finanzielle Auswirkungen, insbesondere dort, wo vorhandene Infrastruktur ersetzt werden muss.,
Quantum Computing droht in den nächsten 5-10 Jahren einen großen Umbruch zu schaffen, und Unternehmen, die nicht auf dem hinteren Fuß bleiben wollen, müssen jetzt mit der Planung beginnen. Alle neuen Anwendungen sollten mit Blick auf „Krypto-Agilität“ entwickelt werden – dh die Möglichkeit, Algorithmen über einfache, schmerzlose Software-Upgrades zu wechseln. Idealerweise sollte dieser Prozess zentral gesteuert und verwaltet werden, um nicht jede einzelne Anwendung einzeln erreichen zu müssen, um sie zu aktualisieren.,
Im letzten Artikel dieser Serie werden wir uns mit der Verwendung von Verschlüsselungsmodi mit symmetrischen Blockchiffren befassen, einschließlich der Notwendigkeit von Auffüll-und Initialisierungsvektoren.
Literatur
- 3DES ist Offiziell im Ruhestand (2018), von Jasmine Henry
- Trends in der Kryptographie, Teil 1 – – Algorithmen und Verschlüsselung (2018), von Rob Stubbs
- Quanten-Computing und seine Auswirkungen auf die Kryptographie (2018), von Rob Stubbs
- Was ist Krypto-Agilität?, (2018), von Jasmine Henry
- Schritte zum erreichen crypto agility to get prepared for quantum computing (2019), by Terry Anton
- Erreichen Agile Kryptographie-Management mit Crypto-Service-Gateway (CSG) (2019), von Rob Stubbs
- Was ist ein Crypto-Abstraktionsschicht? (2018), by Chris Allen
- Drehen Kryptographie in einem Service – Teil 1 (2018), von Rob Stubbs
Titelbild: „Flur“ mit freundlicher Genehmigung ofKai Pilger (pexels.com, CC BY 2.0)
Schreibe einen Kommentar