Was ist AES-Verschlüsselung und wie funktioniert sie?

In einer Welt, in der bösartige Hacker nach Möglichkeiten suchen, Daten zu stehlen oder zu zerstören, ist die Verschlüsselung zu einem essentiellen Teil der digitalen Welt geworden. Verschlüsselung ist eine Methode zum Schutz von Daten, indem sie so verwürfelt werden, dass nur autorisierte Personen mit dem geheimen Schlüssel sie entschlüsseln und lesen können. AES ist ein Verschlüsselungsalgorithmus, den VPN-Dienstleister und Regierungsbehörden weit verbreitet nutzen, um Daten zu schützen. Dieser Artikel befasst sich mit der AES-Verschlüsselung und ihrer Funktionsweise.

Was ist AES-Verschlüsselung?

Es gibt zwei Hauptarten von Verschlüsselung: Symmetrische und asymmetrische. Asymmetrische Verschlüsselung verwendet zwei verschiedene Schlüssel (privat und öffentlich), um Daten zu verschlüsseln und zu entschlüsseln, während symmetrische Verschlüsselung einen einzigen Schlüssel für die Verschlüsselung und Entschlüsselung verwendet. Der Advanced Encryption Standard (AES) gehört zur Kategorie der symmetrischen Verschlüsselung. Er ist ein Teilbereich der Rijndael-Familie von symmetrischen Blockchiffren, entwickelt von Vincent Rijmen und Joan Dae im Jahr 1998, daher der Name „Rijndael“.

AES ist eine iterative Chiffre, die auf dem Substitution Permutation Network (SPN) Algorithmus basiert. Der SPN-Algorithmus ist eine Klasse von Blockchiffren, die Runden einer wiederholten Serie mathematischer Operationen beinhaltet. Aufgrund dieser Verschlüsselungsrunden ist AES eine ausgesprochen starke Chiffre. AES hat drei verschiedene Typen, abhängig von der Länge der Verschlüsselungsschlüssel. Dazu gehören AES-128, AES-192 und AES-256.

Die Schlüssellänge bestimmt die Stärke jedes dieser AES-Typen; je länger die Länge, desto stärker die Verschlüsselung. Der 128-Bit und 192-Bit AES-Verschlüsselungschiffre haben jeweils 3,4 x 10^{38} und 6,2 x 10^{57} mögliche Schlüsselkombinationen. AES-256 ist die robusteste Chiffre und hat 1,1 x 10^{77} mögliche Schlüsselkombinationen. Trotz der unterschiedlichen Schlüssellängen bleibt die Blockgröße von AES immer gleich – 128 Bit.

Warum wurde AES entwickelt?

Frühere Verschlüsselungscodes waren einfacher und konnten mit genügend Zeit und den richtigen Werkzeugen von jedem geknackt werden. Mit dem technologischen Fortschritt hatten Hacker bessere Tools zur Verfügung, um Verschlüsselungscodes zu bekämpfen. Es wurde klar, dass Verschlüsselungscodes komplexer sein mussten als der damals existierende Data Encryption Standard (DES). 

Wie AES ist auch DES ein symmetrischer Schlüsselalgorithmus. IBM entwickelte DES in den 1970er Jahren und das US-amerikanische National Bureau of Standards (NBS) übernahm es als Standard-Verschlüsselungscode für die Verschlüsselung von sensiblen Regierungsinformationen. Aufgrund seiner Übernahme durch das NBS und die US-Regierung wurde DES in verschiedenen Sektoren akzeptiert. Es weckte auch das Interesse der akademischen Gemeinschaft, was wiederum das Interesse an der Erforschung der Kryptographie anregte. Jahrzehntelang erwies sich DES als unaufhaltsam, bis die DESCHALL-Gruppe es im Juni 1997 öffentlich knackte.

Im folgenden Jahr gelang es dem DES-Knacker der Electronic Frontier Foundation (EFF) in 56 Stunden dasselbe zu tun. 1999 dauerte es weniger als 24 Stunden, einen DES-Schlüssel zu brechen. Diese bedeutsamen Ereignisse zeigten, dass es mit zunehmender Rechenleistung und technologischem Fortschritt nur eine Frage der Zeit sein würde, bis das Knacken von DES einfach zu bewerkstelligen ist. Außerdem überstieg die DES-Schlüssellänge nicht 56 Bit, im Vergleich zum übermächtigen 256-Bit-AES.

2001 gab das National Institute of Standards and Technology (NIST) die Einführung des AES-Verschlüsselungscodes bekannt, aufgrund seiner allgemeinen Leistungsfähigkeit. Leistungstechnisch stellt es eine Verbesserung gegenüber DES dar, ist einfach zu implementieren und extrem schwer zu knacken.

Wie funktioniert die AES-Verschlüsselung zum Schutz Ihrer Daten?

Das Verstehen des AES-Verschlüsselungsalgorithmus kann schwierig sein, wenn man keinen entsprechenden mathematischen Hintergrund hat. Dennoch werden wir versuchen, den Prozess für Sie zu vereinfachen, um ein grundlegendes Verständnis davon zu erlangen, wie er funktioniert. Der AES-Verschlüsselungsalgorithmus verschlüsselt und entschlüsselt Daten in Blöcken von 128 Bits. Trotz der Variation in der Schlüssellänge ändert sich die Blockgröße nicht. 

Der AES-Verschlüsselungsalgorithmus kombiniert einen geheimen Schlüssel (128, 192 oder 256-Bit-Schlüssel) mit Klartext (sensible Daten, die Sie verschlüsseln möchten) um ein Chiffrat zu erzeugen. Das AES-Chiffrat verwendet eine Reihe von mathematischen Transformationen (Substitution-Permutation), die den geheimen Schlüssel und den Klartext nutzen. Bevor irgendeine Operation durchgeführt wird, wird der Klartext in eine 4 x 4-Matrix von sechzehn Bytes oder 128 Bits aufgeteilt (ein Byte entspricht 8 Bits), da AES Daten in Bitblöcken verschlüsselt. 

Der AES-Algorithmus verwendet Substitution-Permutation mit mehreren Durchläufen, um Klartextdaten in ein finales Chiffrat umzuwandeln. Die Schlüsselgröße bestimmt die Anzahl der Durchläufe. Eine 128-Bit Schlüsselgröße hat zehn Durchläufe, eine 192-Bit Schlüsselgröße hat zwölf Durchläufe und eine 256-Bit Schlüsselgröße hat vierzehn Durchläufe. Werfen wir nun einen Blick auf die in dem Prozess der Umwandlung von Klartextdaten in Chiffratdaten involvierten Operationen. 

1. Schlüsselerweiterung und AddRoundKey

In dieser Operation verwendet AES den Rijndael-Schlüsselplan, um aus dem primären Geheimschlüssel neue 128-Bit Rundenschlüssel (Teilschlüssel) zu erzeugen. Das heißt, es wird der ursprüngliche Geheimschlüssel verwendet, um eine Schlüsselserie für jede Runde der Verschlüsselungsoperation zu erstellen. In der AddRoundKey-Operation wird jedes Byte des aktuellen Datenzustands mit einem Byte des aktuellen Rundenschlüssels mittels einer bitweisen XOR-Operation vermischt. 

2. SubBytes (Byte-Substitution)

In dieser Operation wird der 16-Byte-Block durch eine Rijndael-Substitutionsbox (S-Box) geführt, um einen alternativen Wert für jedes Byte zu liefern. Jedes Byte wird nach Regeln substituiert, die durch die vordefinierten Rijndael S-Boxen vorgegeben sind. Die S-Box nimmt einen Wert und ersetzt ihn durch einen anderen Wert. Der Prozess ist weitaus komplizierter, aber dadurch wird das Knacken des AES-Chiffrats mit den weltweit verfügbaren Rechenressourcen nahezu unmöglich.  

3. ShiftRows

Die ShiftRows-Operation verschiebt alle Zeilen in einem 16-Byte-Block außer der ersten. Sie ist einfacher zu verstehen als die SubBytes-Operation. Die erste Zeile bleibt unverändert. Die zweite Zeile verschiebt sich um ein Byte nach links, die dritte Zeile um zwei Bytes und die vierte Zeile um drei Bytes. 

4. MixColumns

Diese Operation transformiert jede Spalte im 16-Byte-Block linear. Aufgrund der Komplexität dieser Operation werden wir nicht zu sehr darauf eingehen. Mit Hilfe der Matrixmultiplikation und der XOR-Bitweise-Addition multipliziert diese Operation jede Spalte mit einer vorgegebenen 4 x 4 Matrix, was zu einer neuen Spalte und einem neuen Block führt. 

Reihenfolge der Operationen

Jede Datenmenge, die AES verschlüsselt, muss durch jede der oben genannten Operationen gehen. Diese Operationen werden mehrmals wiederholt, abhängig von der Anzahl der erforderlichen Runden. Ein 128-Bit-Schlüssel benötigt zehn Runden, ein 192-Bit-Schlüssel zwölf Runden und ein 256-Bit-Schlüssel vierzehn Runden. Im Folgenden betrachten wir die Reihenfolge, in der diese Operationen zur Verschlüsselung von Daten durchgeführt werden. 

1. Schlüsselerweiterung

2. Hinzufügen der Runde

3. Die folgenden Operationen werden in der unten aufgeführten Reihenfolge für 9, 11 oder 13 Runden durchgeführt:

SubBytes

Verschieben der Reihen (ShiftRows)

Mischen der Spalten (MixColumns)

AddRound hinzufügen

4. Die folgenden Operationen finden in der letzten Runde (10., 12. oder 14., abhängig von der Länge des geheimen Schlüssels) statt: 

SubBytes

Verschieben der Reihen (ShiftRows)

AddRound hinzufügen

AES-Verschlüsselung entschlüsseln

Wir haben gesehen, wie AES Daten verschlüsselt, aber wie entschlüsselt es Daten? Der Entschlüsselungsprozess ist einfach. Durch Umkehrung aller Schritte, die im Verschlüsselungsprozess involviert sind, werden Daten entschlüsselt. Lassen Sie uns ansehen, wie der Prozess aussehen würde, wenn wir Daten entschlüsseln würden. 

1. Die folgenden Operationen finden in der letzten Runde (10., 12. oder 14., abhängig von der Länge des Geheimschlüssels) statt:

Inverse AddRound

Inverse ShiftRows

Inverse SubBytes

2. Die folgenden Operationen werden in der unten angegebenen Reihenfolge für 9, 11 oder 13 Runden durchgeführt:

Inverse AddRound

Inverse MixColumns

Inverse ShiftRows

Inverse SubBytes

Inverse AddRound

Gibt es Sicherheitsprobleme bei der AES-Verschlüsselung?

Obwohl es bisher keine erfolgreichen Angriffe auf die AES-Verschlüsselung gegeben hat, kann eine falsche Implementierung dazu führen, dass Hacker eine Schwachstelle entdecken und ausnutzen. Da Kryptographen ständig nach Schwachstellen in AES suchen, gab es einige erfolgreiche theoretische und seitliche Angriffe. Schauen wir uns einige davon an.

1. Bekannter-Schlüssel Unterscheidungsangriff

Im Jahr 2009 gelang es, die 8-Runden-Version von AES-128 mit einem bekannten Schlüssel-Unterscheidungsangriff zu knacken. Da AES-128 jedoch zehn Verschlüsselungsrunden hat, ist es dennoch undurchdringlich. Außerdem muss ein Angreifer den Verschlüsselungsschlüssel kennen, was unwahrscheinlich ist.

2. Seitenkanalangriffe

Seitenkanalangriffe funktionieren nur, wenn jemand die AES-Verschlüsselung nicht korrekt implementiert, da sie auf durchgesickerter Information basieren. Der Angreifer achtet auf Datenleckagen wie elektromagnetische Informationen, Stromverbrauch, Timing-Informationen usw., um Informationen aus dem Algorithmus zu sammeln. AES ist gegen diese Art von Angriff nicht vollständig immun.

3. Andere Angriffe

Zu den anderen Angriffen, die Kryptographen versucht haben einzusetzen, um die AES-Verschlüsselung zu brechen, gehören Schlüsselrückgewinnungsangriffe und verwandte Schlüsselangriffe. In beiden Fällen zielt der Angreifer auf den Verschlüsselungsschlüssel. Bei einem Schlüsselrückgewinnungsangriff muss der Angreifer mindestens ein Paar verschlüsselter und entschlüsselter Nachrichten haben. Bei einem verwandten Schlüsselangriff muss der Angreifer die Beziehung zwischen zwei verschiedenen Schlüsseln kennen. Diese Angriffe funktionieren nur bei Systemen, die AES nicht korrekt umsetzen, und stellen keine bedeutenden Bedrohungen dar.

Schlussfolgerung

Der Hauptgrund, warum Sicherheitsbehörden und führende VPN-Dienste die AES-Verschlüsselung verwenden, liegt in ihrer Immunität gegen Angriffe. Abgesehen davon, dass sie praktisch unknackbar ist, zeichnet sich der Advanced Encryption Standard durch Schnelligkeit, Vielseitigkeit und einfache Implementierung aus. Im Vergleich zu anderen Verschlüsselungsarten wie DES verbraucht AES auch weniger Speicher. Man kann sie zudem mit anderen Sicherheitsprotokollen kombinieren, um ein hohes Sicherheitsniveau zu gewährleisten.