Der Advanced-Encryption-Standard AES

1997 gab es von der amerikanischen Normungsbehörde NIST eine Ausschreibung für einen neuen symmetrischen Verschlüsselungsstandard, der DES ablösen sollte.

Aber warum?

Bis heute ist kein Angriff auf DES gefunden, der schneller ist als ein Brute-Force-Angriff.

Gründe für die Ausschreibung eines neuen Standards

Zweifelhafte Rolle der NSA bei der Entwicklung von DES

Die National Security Agency (NSA) war bei der Entwicklung von DES involviert. Kritiker fürchteten, dass es eine Hintertür bei DES geben könnte, von der nur die NSA weiß, um die Bürger überwachen zu können.

Verschlüsselung hat viel mit Vertrauen zu tun. Ein normaler Verbraucher kann die Sicherheit eines Algorithmus nicht beurteilen. Er muss einer weltweitn Community vertrauen können, die die Algorithmen entwickelt hat, versucht hat, diese zu brechen und über die Sicherheit wacht.

Dieses Vertrauen wurde DES nicht (mehr) entgegen gebracht.

Hoher Rechenaufwand für Triple-DES

DES drei Mal hinter einander angewandt macht DES sicherer. Man nennt dies Triple-DES. Jedoch ist dies mit einem hohen Rechenaufwand verbunden. Es wurde deshalb ein Algorithmus gesucht, der weniger Ressourcen braucht.

Wunsch nach Skalierbarkeit

DES hat einen großen Nachteil: Die Schlüssellänge ist nicht variabel, der Nutzer kann also nicht entscheiden, wie sicher die Verschlüsselung sein soll. Der neue Algorithmus sollte skalierbar sein.

Skalierbar bedeutet, dass der Nutzer bei der Verschlüsselung bestimmen kann, wie sicher diese ist, also Parameter wie Schlüssellänge und Blockgröße festlegen kann.

Zum Ablauf des Verfahrens

Es gab 15 Einreichungen von Verschlüsselungs-Algorithmen. Diese durchliefen mehrere Runden in denen sie von Experten bewertet und öffentlich kommentiert wurden. Dies alles war öffentlich, damit dem neuen Algorithmus vertraut werden kann. In diesen Runden wurde die Auswahl immer kleiner.

Es gewann der Rijndal-Algorithmus von Daemen und Rijmen. Dieser Algorithmus sollte dann noch einmal öffentlich kommentiert werden. Die Verlierer hatten natürlich eine hohe Motivation, den Gewinnern den "Speck madig zu machen", also eine Sicherheitslücke zu finden. Es wurde jedoch nichts gefunden.

Zum Algorithmus

Der Rijndal-Algorithmus hat - wie auch DES - mehrere Runden. Die Rundenzahl ist hier im Gegensatz zu DES variabel. Der Nutzer bestimmt die Blockgröße, d.h. wie groß die Blöcke sind, auf die der Algorithmus angewandt wird. Weiter bestimmt er auch die Schlüssellänge

Der Algorithmus ist also skalierbar.

Der Schlüssel

Es sind Schlüssellängen von 128, 192, 256 Bit möglich. Im Fall von 256 Bit wären dies 32 Byte, also 32 zweistellige Hexadezimalzahlen, z.B.

AF 09 B1 DE 0A 86 12 BC AC DF D1 BA C2 6B 87 9B
DA 6C 7E 93 EF 1A B2 5A 93 7D E5 C2 77 23 90 0A

Wer kann sich das merken? Ich jedenfalls nicht!

Hier haben wir also die berühmte Gratwanderung zwischen Sicherheit und Komfort. Uns den Schlüssel zu merken, wäre das sicherste, aber das schafft wohl kaum einer. Ihn auf Papier zu notieren, in einem Tresor zu verwahren und jedes Mal abzutippen, wenn wir auf die verschlüsselte Datei zugreifen wollen, wäre nervig!

Die häufigste Lösung für dieses Problem ist, den Schlüssel auf der Festplatte zu speichern.

Tun wir das unverschlüsselt, ist das eine große Sicherheitslücke, sobald jemand Zugriff auf die Festplatte hat, ist die Verschlüsselung nichts wert. Dies könnte durch einen Trojaner oder einen anderen Hacker-Angriff geschehen. Oder aber jemand aus dem persönlichen Umfeld greift auf die Daten zu.

Deshalb wird der Schlüssel verschlüsselt und der Schlüssel wird durch eine Passphrase geschützt, die man sich merken kann.

Im Alltag - AES mit dem Programm Veracrypt: Schlüsselverwaltung

Bei dem anwenderfreundlichen Programm Veracrypt, das Container mit AES-Verschlüsselung erstellt, merken wir nichts von all dem. Der Hexadezimal-Schlüssel wird automatisch erstellt, während wir von dem Programm aufgefordert werden, den Mauszeiger zu bewegen, damit das Programm ein paar Zufallsbits erhält. Der Hexadezimal-Schlüssel wird nirgends angezeigt. Er wird automatisch verschlüsselt auf der Festplatte gespeichert, geschützt mit der Passphrase, die wir eingeben sollen.

Wichtig ist für uns nur, zu wissen, dass wir die Sicherheit des Verfahrens zunichte machen können, indem wir eine Passphrase wählen, die leichter zu erraten ist als dieser 128-, 192- oder 256-Bit-Schlüssel.

Starke und schwache Passphrasen

Es gibt starke und schwache Passwörter. Schwach sind Wörter, die im Duden vorkommen, Buchstabenreihen auf der Tastatur, wie QWERTZUIOPÜ. Das können Programme, die so geschrieben sind, dass sie Passwörter erraten, herausfinden.

Ein starkes Passwort ist möglichst kryptisch. Dies kann man z.B. so bilden:

Man denkt sich einen Satz aus, der für einen selbst gut einprägsam ist. Z.B. "Die klassischen kryptographischen Verfahren sind die vor 1950, wie Caesar und Vigenère."

Hiervon nimmt man die ersten Buchstaben: DkkVsdv'50,wCVè.

Hierbei habe ich jeden Anlass genutzt, um Zahlen und Sonderzeichen mit hinein zu nehmen, denn diese machen das Passwort sicherer.

Nun muss man sich nur den Satz merken und nach welcher Logik man hier noch Ziffern und Sonder-, Satzzeichen hinein gebracht hat.

Wichtig!! Das Passwort muss stark sein, sonst ist es die Schwachstelle. Es wäre ja unsinnig, wenn sich Informatiker und Mathematiker auf der ganzen Welt darum bemühen, Verschlüsselungs-Algorithmen sicher zu machen und dann kann eine Datei entschlüsselt werden, nur weil die Passphrase, mit der der der Schlüssel geschützt ist, ganz leicht erraten werden kann! Dann nützt die Sicherheit des Algorithmus nichts mehr.

Ein anderes Verfahren, mit dem man sehr lange und sichere Passphrasen erstellen kann, die man sich trotzdem merken kann, wird bei auf eff.org erklärt

AES im Alltag

In beruflichen Zusammenhängen muss man Daten verschlüsseln, z.B. Lehrer dürfen die Noten ihrer Schüler nicht unverschlüsselt auf einem Rechner haben, mit dem sie auch ins Internet gehen.

Als Schüler hat man vielleicht das Bedürfnis ein Tagebuch am Rechner zu schreiben, zu dem niemand Zugang hat.

Doch wie macht man das?

Hierfür gibt es einfach zu bedienende Programme wie z.B. Veracrypt, das AES benutzt.

Man erstellt einen verschlüsselten Container und kann diesen dann wie einen USB-Stick benutzen. Der verschlüsselte Container ist einfach ein Laufwerk, auf dem man Daten speichern kann. Das ist überhaupt kein Hexenwerk und man muss hierfür kein Computernerd sein! Das bekommt jeder hin.

Wichtig ist nur die Sache mit der Passphrase zu wissen, wie weiter oben erklärt.

Video-Anleitungen zu Veracrypt

Aufgabe 1

Deine Mutter will sensible Daten durch Verschlüsselung schützen. Was kannst du ihr dazu erklären? Worauf muss sie achten?

Aufgabe 2

Gib Beispiele an, wofür Veracrypt geeignet ist und wofür nicht. Begründe.

Aufgabe 3

Erläutere, warum es so wichtig ist, dass das Ausschreibungsverfahren für AES für die Öffentlichkeit transparent war.

Aufgabe 4

Berechne den Angriff eines Brute-Force-Angriffs auf AES-verschlüsselte Daten mit Schlüssellänge 256 Bit, wenn man davon ausgeht, dass es möglich ist 100 Schlüssel pro Sekunde zu probieren.

Kannst du dir einen clevereren Angriff vorstellen?

Nun kommen die asymmetrischen Verfahren.