Asymmetrische Verschlüsselungsverfahren
Eine sehr nützliche und wichtige Eigenschaft bei der asymmetrischen Verschlüsselung ist das Vorhandensein von zwei verschiedenen, aber trotzdem zusammengehörigen Schlüsseln. Mit dem ersten Schlüssel kann in der Verschlüsselungsanwendung die Klartext-Nachricht von einem Absender verschlüsselt werden. Anders als bei der symmetrischen Verschlüsselung ist es nun nicht mehr möglich, den Schlüsseltext wieder mit diesem Schlüssel zurück zu gewinnen. Für den Prozess der Entschlüsselung wird ein zweiter Schlüssel benötigt, der „Private-Key“, der sich nur im Besitz des Empfängers der Nachricht befindet. Der öffentlich bekannte Schlüssel wird auch als „Public-Key“ bezeichnet. Es ist entscheidend, dass er nicht dazu verwendet werden kann, den Schlüssel zur Entschlüsselung daraus abzuleiten.
Da jeder, also auch potentielle Angreifer, Zugriff auf den öffentlichen Schüssel haben, ist es möglich, jeden beliebigen Klartext zu verschlüsseln. Erfüllt ein so genanntes Public-Key-Verfahren diese beiden Bedingungen, gibt es keinen Grund mehr, den Schüssel zur Verschlüsselung geheim zu halten.
„One-way trap door“-Funktionen
Da vom Grundsatz her der geheime Schlüssel immer aus dem öffentlichen Schlüssel ableitbar ist, werden für Public-Key-Verfahren Algorithmen gewählt, die auf der Lösung von Problemen der Komplexitätstheorie beruhen. Idealerweise handelt es sich um Funktionen, bei denen sich der eine Rechenweg, die Verschlüsselung, einfach berechnen lässt, aber die Entschlüsselung ohne den privaten Schlüssel unendlich komplex ist, d.h. praktisch nicht gelöst werden kann. Das kann z.B. mit Exponentialfunktionen und diskreten Logarithmen geschehen oder auf dem Problem der Faktorisierung von Produkten zweier großer Primzahlen beruhen. Derartige Funktionen werden auch als „one-way trap door“-Funktionen bezeichnet. Bei „one-way“-Funktionen oder Einwegfunktionen handelt es sich um Funktionen, deren Funktionswert „leicht“ zu berechnen ist, während die Berechnung der Inversen „schwierig“ oder sogar „unmöglich“ ist. Die Begriffe „leicht“, „schwierig“ und „unmöglich“ sollen den rechnerischen Aufwand beschreiben und hängen somit vom Entwicklungsstand der jeweiligen Computergeneration ab. Daher sind die Schlüssel auch deutlich länger als bei symmetrischen Verschlüsselungsverfahren. Gibt es zu einer „one-way“-Funktion einen Parameter bzw. Schlüssel, mit dem die inverse Transformation „leicht“ zu berechnen ist, so spricht man von einer „one-way trap door“-Funktion. Die „trap door“ stellt also eine Art Hintertür zur Berechnung durch den legitimen Benutzer dar. Publik-Key-Verfahren werden oft mit Schnapptüren verglichen. Jeder kann die Türe zuschlagen, aber nur die Person mit dem Schlüssel ist in der Lage, die Türe wieder zu öffnen.
Digitale Signatur
Eine wichtige Anwendung des Public-Key-Verfahrens ist die digitale Signatur. Das Verfahren ist mit dem Public-Key-Verfahren möglich, da sowohl der öffentliche als auch der private Schlüssel genutzt werden kann, um Informationen zu „verschlüsseln“. Die digitale Signatur ist also nichts anderes als eine „Verschlüsselung“ mit dem privaten Schlüssel. Nur der legitime Besitzer des privaten Schlüssels kann diese digitale Signatur durchführen. Daher ermöglicht sie die Authentisierung des Kommunikationspartners. Ein anderer großer Vorteil ist, dass die Integrität des Dokuments sichergestellt werden kann, da Veränderungen während der Übertragung zu Fehlern bei der Entschlüsselung führen würden. Die erfolgreich durchgeführte Überprüfung ist der Beweis für die Authentizität der digitalen Signatur und für die Integrität des Dokuments. Mit dem Prinzip der digitalen Signatur steht somit ein Äquivalent zur handgeschriebenen Unterschrift in der elektronischen Welt zur Verfügung. Das bekannteste Public-Key-Verfahren ist das RSA-Verfahren, mit dem gleichzeitig digital signiert und verschlüsselt werden kann.
RSA-Verfahren
Es wurde 1978 von Ron Rivest, Adi Shamir und Leonard Adleman entwickelt und findet seine Verwendung bei der Verschlüsselung, digitaler Signatur und beim Key Management. Es basiert auf dem Problem, dass das Produkt zweier großer Primzahlen nur schwer in seine Faktoren zu zerlegen ist. Welches sind die Faktoren von 377? Das Produkt aus den Primzahlen 13 und 29 ergibt gerade 377. Sind die Primzahlen bekannt, ist die Berechnung einfach. Natürlich müssen die verwendeten Zahlen hinreichend groß sein. In binärer Darstellung sollten die verwendeten Primzahlen eine Länge zwischen 512 und 2048 Bit haben.
Gesetzliche Anforderungen an Schlüssellängen
Neben den technischen Möglichkeiten bestimmt auch der Gesetzgeber, welche Verschlüsselungsverfahren als sicher gelten, wobei dieser i.d.R. recht allgemeine Anforderungen formuliert, die per Verordnung konkretisiert werden. In Deutschland sind diese im Signaturgesetz (SigG) sowie in Anlage 1 Abschnitt I Nr. 2 der Signaturverordnung (SigV) niedergelegt. Ob ein Verschlüsselungsverfahren und die zugehörigen Parameter als sicher gelten können, legt danach die Bundesnetzagentur (BNetzA) fest. Für die technische Überprüfung ist das Bundesamt für Sicherheit in der Informationstechnik (BSI) zuständig, das internationale Standards zugrunde legt und mit Experten aus Wirtschaft und Wissenschaft zusammenarbeitet. Die BNetzA veröffentlicht die Ergebnisse regelmäßig im Bundesanzeiger. Dort findt sich eine Liste geeigneter Verfahren mit ihren Schlüssellängen sowie Angaben zum Zeitraum des sicheren Einsatzes und Empfehlungen für den Einsatz längerer Schlüssel (siehe Abb. 4 – Empfehlungen für Schlüssellängen vom BSI am Beispiel des RSA-Verfahrens).
Hybride Verfahren bei der Verschlüsselung
Symmetrische Verfahren sind deutlich schneller und effizienter als asymmetrische. Problematisch bei symmetrischer Verschlüsselung ist das Schlüsselmanagement. In der Praxis werden daher die positiven Eigenschaften der symmetrischen und asymmetrischen Verschlüsselung in einem hybriden Verfahren kombiniert. Dafür wird eine Nachricht mit einem zufällig erzeugten symmetrischen Schlüssel verschlüsselt. Dieser Schlüssel wird nur einmalig verwendet und wird daher als Sitzungsschlüssel (Session Key) bezeichnet. Um den Sitzungsschlüssel nun sicher zum Kommunikationspartner zu bekommen, wird dieser mit dem öffentlichen Schlüssel von diesem verschlüsselt. Dann können verschlüsselte Nachricht und der mit dem öffentlichen Schlüssel verschlüsselte Sitzungsschlüssel zusammen über einen unsicheren Transportkanal zum Empfänger gesendet werden. Dieser entschlüsselt zunächst den Sitzungsschlüssel mit seinem privaten Schlüssel, um dann mit diesem die eigentliche Nachricht zu entschlüsseln. Das hybride Verfahren wird unter anderem bei IPSec und PGP verwendet.