Symmetrische Verschlüsselungsverfahren

Grundlagen der Kryptographie

Besitzen alle an der Ver- und Entschlüsselung beteiligten Instanzen den gleichen kryptographischen Schlüssel, wird von symmetrischer Verschlüsselung gesprochen. Um Verschlüsselungsverfahren nutzbar und sicher zu machen, werden mehrere elementare Verschlüsselungsverfahren mit verschiedenen kryptographischen Eigenschaften in Kombination angewendet. Diese so genannten Produktverschlüsselungen haben das Ziel, kryptographisch stärker d.h. schwerer zu brechen zu sein, als jede ihrer Einzelverschlüsselungen. Eine der häufigsten Produktverschlüsselungen ist die iterative Verknüpfung von nichtlinearen Substitutionen und Permutationen. Vertreter der Produktverschlüsselung sind z.B. Data Encryption Standard (DES), Advanced Encryption Standard (AES) und International Data Encryption Algorithmus (IDEA). Dabei spielt heute insbesondere der AES Algorithmus eine besondere Rolle.

Advanced Encryption Standard (AES)

Der AES Algorithmus wurde im Rahmen eines Wettbewerbs vom National Institute of Standards and Technology (NIST) im September 1997 entwickelt. Ziel des Wettbewerbs war es, einen Verschlüsselungsalgorithmus als neuen Standard für die nächsten 20 Jahre zu finden, der zum einen nicht lizenzpflichtig sein sollte und zum anderen, für die nächsten Jahre eine gute praktische Sicherheit gewährleisten sollte.
Da die Entwicklung neuer Verfahren sehr schwierig ist, werden diese in der Regel der Kryptologengemeinde, die aus mehreren hundert Mathematikern aus aller Welt besteht, vorgestellt. Erst, wenn es nach ca. 5 Jahren keiner geschafft hat, das Verfahren zu brechen, gilt es als praktisch sicher. Von den 21 Algorithmen, die bei dem Wettbewerb eingereicht wurden, genügten lediglich 15 den hohen Anforderungen an Sicherheit, Leistungsfähigkeit, Effizienz, Implementierbarkeit, Flexibilität und Patentfreiheit bzw. Lizenzfreiheit. Sicherheit bezieht sich dabei auf die Tatsache, dass der Algorithmus nicht durch Analyseverfahren geknackt werden kann. Leistungsfähigkeit drückt aus, dass die Transformationen sehr schnell erfolgen, wohingegen die Effizienz etwas über die dabei verbrauchten Ressourcen wie CPU und Speicher ausdrückt. Algorithmen müssen sowohl in kleinen Hardwaremodulen, z.B. für den Einsatz in Embedded Geräten, als auch in Software, z.B. fürs Online-Banking, implementierbar sein. Damit ein Algorithmus die Chance hat, sich als weltweiter Standard durchzusetzen, muss er weiterhin noch ohne Einschränkungen verwendbar sein und somit nicht mit Patenten belegt sein, die eventuell lizenzpflichtig werden könnten.
Nur diese 15 Algorithmen wurden deshalb weiter evaluiert, und gerade einmal fünf davon kamen in die letzte Runde. Am 2. Oktober 2000 entschied sich das Komitee des Wettbewerbs für den Rijndael Algorithmus vom Forschungslabor der belgischen Universität Leuven. Dies war eine kleine Sensation, da zum ersten Mal ein europäischer Algorithmus zu einem US-Standard wurde und damit auch für die amerikanische Sicherheit verantwortlich ist. Der AES hat in den letzten Jahren den DES ersetzen. Jedoch ist dieser Ersetzungsprozess sehr aufwendig und mit hohen Kosten verbunden, da er Anpassungen bei Hard- und Software in den etablierten Anwendungen zur Folge hat.
Der AES Algorithmus mit seiner variablen Schlüssellänge von 128, 192 und 256 Bit verspricht für lange Zeit die praktische Sicherheit aufrecht zu erhalten. Der AES sichert unter anderem bei Anwendungen wie S/MIME, das wir von der Verschlüsselung von E-Mails kennen, IPSec und SSL zur Verschlüsselung innerhalb von Netzwerken und Electronic-Cash, die Vertraulichkeit und Integrität der Daten.

Verwaltung von Schlüsseln (Key-Management)

Eine besondere Herausforderung ist das Key Management, also die Verwaltung der benötigten Schlüssel. Schlüssel durchlaufen einen Zyklus von der Erzeugung, über die Verteilung bis zur Installation (Speicherung) und müssen zudem noch regelmäßig und sicher gewechselt werden. Wie aber soll man den nötigen Schlüssel sicher über unsichere Kommunikationswege, wie das Internet, austauschen und dann den Schlüssel auch noch regelmäßig wechseln? Eine Lösung ist es sicherlich, den Schlüssel versiegelt per Kurier zum Bestimmungsort zu befördern (siehe Abb. 2). Diese Herangehensweise stößt jedoch schnell an seine Grenzen. Würde man mit jedem Kommunikationspartner einen symmetrischen Schlüssel vereinbaren, benötigt man bei n Partnern n*(n-1)/2 Schlüssel. Bei 1000 Partnern sind das 499500 Schlüssel mit ihren Lebenszyklen. Eine Verwendung für eine Massenanwendung, wie z.B. zur Verschlüsselung von E-Mails zwischen Kommunikationspartnern im Internet, wäre damit wohl ausgeschlossen.

Schlüsselerzeugung:
Jeder Angreifer hat die Möglichkeit, den Schlüssel zu raten und damit aus den verschlüsselten Daten die Daten im Klartext zu berechnen. Wenn der Anwender z.B. seinen eigenen Vornamen verwendet, ist dies für den Angreifer ganz einfach. Aus diesem Grund sollen die Schlüssel mit Hilfe von guten echten Zufallszahlengeneratoren berechnet werden. Weitere Aspekte bei der Schlüsselgenerierung sind: Gütekriterien an eine Streuung, Periodizität und Gleichverteilung.
Schlüsselspeicherung:
Selbst die Verwahrung des Schlüssels ist nicht ganz trivial. Schlüssel genügen den Eigenschaften einer Zufallszahl und sind als solche leicht im Speicherbereich eines Computers durch ihre Entropie-Eigenschaft zu finden. Daher müssen sie zusätzlich durch eine Verschlüsselung geschützt werden oder besser gleich in einer Sicherheitsumgebung verwahrt werden. Für den Einsatz durch natürliche Personen werden so genannte Personal Security Environments (PSE) verwendet. Darunter fallen z.B. SmartCards, USB-Token, usw. Der geheime Schlüssel wird auf der SmartCard gespeichert und verlässt zu keiner Zeit diese sichere Umgebung. Der Zugriff ist nur dem legitimen Besitzer erlaubt, welcher sich gegenüber der SmartCard durch PIN-Eingabe authentifizieren kann. Die SmartCard enthält neben den Schüsseln auch die Algorithmen, um die Verschlüsselungsoperationen direkt durchzuführen können.
Schlüsselwechsel:
Für die Administration von Rechnersystemen und Netzwerken sind zudem Policies notwendig, die angeben, wie häufig Schüssel im Betrieb ausgewechselt werden müssen. Dies hängt stark von der verwendeten Anwendung und deren Umfeld ab und kann z.B. zwischen ein Mal am Tag und ein Mal im Jahr schwanken. Diese Policies müssen im laufenden Management- und Sicherheitsprozess erarbeitet und an die Bedürfnisse regelmäßig angepasst werden.
Schlüsselverteilung:
Ein schwieriger und daher wichtiger Punkt ist die Verteilung von Schlüsseln zwischen den Kommunikationspartnern. Bei Anwendungen mit höchsten Anforderungen an die Sicherheit wird dazu oft ein vertrauenswürdiger Bote verwendet, der den Schlüssel vom Ort der Erzeugung zu den Einsatzorten bringt (siehe Abb. 2). Dies ist auf Grund von Kosten- und Zeitfaktoren nur für sehr spezielle Anwendungen, wie z.B. die sichere Kommunikation der Regierungschefs, realisierbar. Aus diesem Grund werden unterschiedliche Key-Management-Protokolle für die verschiedenen Sicherheitsanwendungen, wie z.B. bei IPSec, TLS und S/MIME eingesetzt. Jedoch bleibt die Schlüsselverteilung eine der größten Herausforderungen bei der symmetrischen Verschlüsselung.

Vor- und Nachteile symmetrischer Verschlüsselung

Symmetrische Verschlüsselungsverfahren werden für die schnelle Verschlüsselung von Daten verwendet. Ein weiterer Vorteil ist, dass sich die symmetrischen Verschlüsselungsverfahren gut sowohl in Hard- und Software realisieren lassen. Das AES Verfahren kann z.B. 100 MBit/s mit einer Softwarerealisierung auf einem gängigen PC ermöglichen. Zusätzlich ist der Durchsatz bei der Verwendung von Hardware-Modulen um ca. Faktor 10 besser als bei Software. Außerdem sind die wichtigsten symmetrischen Verfahren lizenz- und rechtefrei in ihrer Verwendung und sie sind daher in vielen Standards enthalten. Wie wir gesehen haben, gehört die Verwaltung der Schlüssel zu der großen Herausforderung bei symmetrischen Verfahren.