Was ist AES?
Wissen Sie, wie oft Sie heute AES, den Advanced Encryption Standard, benutzt haben? Falls nicht, ist es wahrscheinlich, dass Sie damit in guter Gesellschaft sind. Gleichermaßen wahrscheinlich ist es, dass Sie ihn heute schon öfter als einmal verwendet haben. Zumindest, wenn Sie mit dem Smartphone im WLAN angemeldet waren, Ihre Mails abgerufen, im Internet gesurft oder beim Einkaufen bargeldlos bezahlt haben.
Herkunft und Entwicklung des AES
Die Notwendigkeit Daten zu verschlüsseln, wurde spätestens mit der Verbreitung des Internets auch außerhalb von Militär und Geheimdiensten erkannt. Um eine Kompatibilität beim Austausch von Daten zu erreichen, kamen dafür nur standardisierte Verfahren in Frage. Lange Zeit verwendete man den DES (Data Encryption Standard), an dessen Entwicklung der amerikanische Geheimdienst NSA beteiligt war. Aufgrund der durch DES verwendeten Schlüssellänge von 56 Bit, galt dieser in den neunziger Jahren zunehmend als unsicher, da die steigende Rechenleistung der Computeranlagen Brute-Force-Attacken ermöglichte. Daher schrieb das NIST (National Institute of Standards and Technology) einen Wettbewerb zur Entwicklung des Nachfolgers aus. Diesen Wettbewerb gewannen im Jahr 2000 die belgischen Kryptologen Joan Daemen und Vincent Rijmen mit ihrem Rijndael-Algorithmus, der seitdem als AES Standard in der Kryptografie ist.
Ein paar Grundlagen zur Verschlüsselung
Bei der Verschlüsselung von Daten wird ein geheimer Schlüssel auf den klartextlichen Datenbestand angewendet, beispielsweise durch eine bitweise XOR-Verknüpfung. Wenn nachvollziehbar ist, welcher Klartext einem verschlüsselten Datenbestand an bestimmten Stellen zugrunde liegt, reichen derart simple Operationen nicht aus. So haben Dateien häufig spezifische Header und es wäre einfach, den Schlüssel durch erneute Anwendung der XOR-Operation mit dem bekannten Bitmuster zurückzurechnen. Daher werden komplexe Algorithmen angewendet.
Zusätzlicher Schutz kann durch die Anwendung einer Blockchiffre erzielt werden. Dabei erfolgt die Verschlüsselung auf festgelegte Block- und Schlüssellängen. Die Blöcke können auch nach bestimmten Kriterien vermischt werden, wodurch es schwieriger ist, Rückberechnungen anhand von bekanntem Klartext durchzuführen. Dies bedingt, dass der letzte Block zumeist aufgefüllt werden muss, sofern die Dateigröße nicht zufällig ein Vielfaches der Blockgröße ist. Die Menge der aufgefüllten Bits sind das Padding.
Man unterscheidet symmetrische Verschlüsselung, bei der für die Ver- und Entschlüsselung der gleiche Schlüssel Anwendung findet, und asymmetrische Verschlüsselung. Bei dieser wird ein öffentlicher Schlüssel für die Verschlüsselung verwendet und ein geheimer Schlüssel für die Entschlüsselung. Wenn der Absender durch jedermann verifizierbar sein soll, kann dies auch umgekehrt angewendet werden. Beide Verfahren sind kombinierbar. Dies ist sinnvoll, wenn der Schlüssel für die symmetrische Verschlüsselung zwischen den Kommunikationspartnern getauscht werden muss.
Mehr Details zu AES
AES verwendet eine Schlüssellänge von 128, 196 oder 256 Bit. Er verschlüsselt symmetrisch und ist eine Blockchiffre. Die Verschlüsselung erfolgt in mehreren Runden, wobei zwischen den Runden eine Vertauschung der Datenblöcke erfolgt und jeweils ein eigener Rundenschlüssel verwendet wird. In den Runden werden die Daten innerhalb der Blöcke mit festgelegten Operationen durchmischt, z.B. durch Verschieben (ShiftColumns) oder Mischen (MixColumns). Zur Entschlüsselung werden die gleichen Aktionen in umgekehrter Reihenfolge durchgeführt. Der Standard ist frei von Patentrechten und darf durch jedermann verwendet werden.
Welche Anwendungen nutzen AES?
Die bekanntesten Datei- und Dateisystemverschlüsselungsprogramme verwenden AES, darunter TrueCrypt/VeraCrypt, Bitlocker, dm-crypt und BoxCryptor.
Insbesondere wenn es um die verschlüsselte Übertragung von Daten geht, führt kein Weg an AES vorbei. TLS (Transport Layer Security) und sein Vorgänger SSL (Secure Sockets Layer) verschlüsseln mit dem AES. HTTPS (Hypertext Transport Protocol Secure), das Standard-Protokoll des Word Wide Web, nutzt wiederum TLS/SSL. Auch Mailclients, wie Thunderbird und Microsoft Outlook sowie der plattformunabhängige Standard PGP (Pretty Good Privacy) setzen auf TLS.
Die Nutzung von VPN-Verbindungen (Virtual Private Network) beinhaltet in den meisten Fällen ebenfalls den AES. Die Verschlüsselung innerhalb des WLANs wird bei WPA2 oft mittels AES implementiert. WPA2 verwendet das CCMP (Counter Mode with Cipher Block Chaining Message Authentication Code Protokoll), welches auf AES basiert.
Zur Beschleunigung des AES sind von Intel sowie von AMD entsprechende Befehlssatzerweiterungen in ihre Prozessoren implementiert worden. Auch Betriebssysteme wie Windows und Linux unterstützen AES, Smartcards (z.B. EC-Karten und SIM-Karten) verwenden AES zur Verschlüsselung.
Welche Stärken und Schwächen hat AES?
Eine Stärke des AES ist, ressourcenarm zu arbeiten. Dies macht es erst möglich, ihn auf leistungsschwachen Prozessoren von Smartcards einzusetzen. Weiterhin ist der Algorithmus auch zwei Jahrzehnte nach seiner Einführung noch als sicher anzusehen. Es gibt bislang keinen praktisch relevanten Angriff auf den Algorithmus selbst. Brute-Force-Angriffe sind mit heutigen Rechenkapazitäten noch keine ernste Bedrohung für AES, sofern die Schlüssellänge und verwendete Passwörter ausreichend komplex gewählt werden.
Tatsächliche Probleme treten nur bei fehlerhafter Implementierung oder bei Angriffen auf den Übertragungsweg auf. So sind bei symmetrischen Verschlüsselungsverfahren grundsätzlich Man-in-the-Middle-Angriffe möglich.
Andere Verschlüsselungsalgorithmen
Insbesondere die Mitbewerber der Ausschreibung für den AES, Serpent und Twofish, sind als alternativer Algorithmus anwendbar. So zum Beispiel in TrueCrypt/VeraCrypt und dm-crypt. Der Secure Hash Algorithmus (SHA, in den Versionen 1 bis 3) findet Anwendung bei der verschlüsselten Übertragung von Daten.
Da AES aber nach wie vor durch Kryptologen als sicher angesehen wird, besteht keine grundsätzliche Notwendigkeit für Alternativen.
- Über den Autor
- Aktuelle Beiträge
Daniel Faust ist Redakteur im Content-Team der Biteno und betreut den Blog der Biteno GmbH.