Elliptische-Kurven-Kryptographie (ECC) bietet ein gleichwertiges Sicherheitsniveau und eine gleichwertige Sicherheitsart wie RSA (oder Diffie-Hellman) mit kürzeren Schlüsseln. Tabelle 1 vergleicht die aktuell effektivsten Schätzungen der Schlüssellängen für drei verschiedene Verschlüsselungsverfahren bei vergleichbarem Sicherheitsniveau gegen Brute-Force-Angriffe.
Bruteforcing, eine symmetrische Schlüsselchiffre wie AES, legt nahe, dass die Betrachtung des gesamten Schlüsselraums eine ganzzahlige Faktorisierung für einen Algorithmus wie RSA und die Lösung des digitalen Logarithmusproblems für einen Algorithmus wie ECC bedeutet. Diese Tabelle ist wesentlich aussagekräftiger, da die Prozesslasten von RSA und ECC bei vergleichbaren Schlüssellängen vergleichbar sind. Dies bedeutet, dass ein Sechstel des Verarbeitungsaufwands bei ECC erforderlich ist, um ein gleichwertiges Maß an kryptographisch Sicherheit, die wir normalerweise mit 1024-Bit-RSA erreichen.
| Symmetrische Verschlüsselung in Bits | RSA- und Diffie-Hellman-Schlüsselgröße in Bits | ECC-Schlüsselgröße in Bits |
|---|---|---|
| 80 | 1024 | 160 |
| 112 | 2048 | 224 |
| 128 | 3072 | 256 |
| 192 | 7680 | 384 |
| 256 | 15360 | 512 |
Tabelle 1: Beste Schätzungen der Schlüsselgrößen, die erforderlich sind, um mit drei verschiedenen Methoden ein gleichwertiges Sicherheitsniveau zu erreichen.
Da die Schlüssellängen deutlich kleiner sind, können Smartcards ECC-Algorithmen ohne mathematische Koprozessoren nutzen. Kontaktlose Smartcards funktionieren ausschließlich mit ECC, da andere Systeme zu viel Induktionsenergie benötigen. Da kürzere Schlüssellängen schnellere Handshake-Protokolle ermöglichen, wird ECC für die drahtlose Kommunikation zunehmend wichtiger. Aus denselben Gründen ist zu erwarten, dass ECC auch für drahtlose Sensornetzwerke unerlässlich wird.
ECDH-Kryptosystem
Elliptic Curve Diffie-Hellman (ECDH) ist eine Variante des Diffie-Hellman-Schlüsselaustauschalgorithmus für elliptische Kurven. Er legt fest, wie zwei Kommunikationspartner, A und B, Schlüsselpaare generieren und ihre öffentlichen Schlüssel über unsichere Kanäle austauschen können. Der Algorithmus bestimmt lediglich die Generierung der Schlüsselpaare; die Beziehung zwischen den Verschlüsselungsschlüsseln und den zu verschlüsselnden Daten wird vom Benutzer definiert. Nach dem Schlüsselaustausch werden üblicherweise symmetrische Verschlüsselungsverfahren eingesetzt. In der Praxis lässt sich das ECDH-Kryptosystem erfolgreich an verschiedene Datensicherheitslösungen anpassen.
ECDSA-Kryptosystem
Algorithmus für digitale Signaturen mit elliptischer Kurve (ECDSA) ECDSA ist ein analoges digitales Signaturverfahren für elliptische Kurven, vergleichbar mit DSA (Digital Signature Algorithm). Ähnlich wie DSA zielt ECDSA darauf ab, verifizierbare digitale Signaturen für Datennachrichten bereitzustellen. Der Autor signiert die Datennachricht mit seinem privaten Schlüssel. Die digitale Signatur wird dem Nachrichteninhalt hinzugefügt und kann mithilfe des öffentlichen Schlüssels des Autors frei validiert werden. Die Generierung der privaten Schlüssel ähnelt der des ECDH-Kryptosystems. Sind P und Q zwei Punkte auf einer elliptischen Kurve, so ist der private Schlüssel der diskrete Logarithmus m = log PQ.
Umsetzungsfragen
Implementierungsprobleme von Kryptosystemen auf Basis elliptischer Kurven können in vier abstrakte Kategorien unterteilt werden.
-
Die erste Kategorie umfasst technische Fehler in der Hardware- und Softwareimplementierung, wie z. B. fehlende Authentifizierung, unzureichender RAM- und Medienschutz, Fehler in Algorithmen, fehlerhafte Netzwerkinfrastruktur usw. Bei diesen Sicherheitsproblemen ist zu erwarten, dass sensible Informationen, einschließlich privater Verschlüsselungsschlüssel, in die Hände Dritter gelangen können, ohne dass versucht wird, die grundlegende Sicherheit des Kryptosystems zu umgehen, sondern indem die Daten direkt über die Sicherheitslücken in Hardware und Software ausgenutzt werden.
Dies ist das am häufigsten auftretende Implementierungsproblem und hat nichts mit der Sicherheit der Grundlagen eines Kryptosystems zu tun. Es ist auf unzureichende Softwaretests und Sicherheitsaudits des Computersystems zurückzuführen.
-
Das zweite Implementierungsproblem betrifft die Auswahl der zugrunde liegenden elliptischen Kurven und Primkörper. Es gibt Klassen schwacher elliptischer Kurven. Beispielsweise lässt sich das diskrete Logarithmusproblem für einen bestimmten Kurventyp in polynomieller Zeit lösen, wobei #E(Fp) = p – die Anzahl der Punkte auf einer Kurve entspricht der Anzahl der Elemente in einem endlichen Körper – gilt. Außerdem ist es wichtig, ausreichend große Untergruppen von E(Fp) auszuwählen, um die Berechnung diskreter Logarithmen mit Methoden wie der Pollard-p-Methode zu vermeiden.
Um die maximale Sicherheit des Kryptosystems zu gewährleisten, empfiehlt es sich, nachweislich zufällige elliptische Kurven und Primkörper zu verwenden, sodass die Ordnung der Gruppe #E(Fp) durch eine ausreichend große Primzahl n teilbar ist, wobei n > 2160.
-
Die dritte Art von Implementierungsproblemen betrifft die Leistung von E(Fp)-Gruppenoperationen wie Addition und Skalarmultiplikation. Es empfiehlt sich, Mersenne-Primzahlen zu verwenden, da diese die Skalarmultiplikation deutlich verbessern können. Dieses Ergebnis hängt mit der Prozessorarchitektur zusammen, die die effiziente Ausführung modularer arithmetischer Operationen mit der Binärdarstellung der Zahl ermöglicht, welche nahe an einer Zweierpotenz liegt. Darüber hinaus ist die Wahl des geeignetsten Koordinatensystems entscheidend für die Optimierung der Gruppenoperationen.
Je nach gewähltem Koordinatensystem kann die Performance von Gruppenoperationen variieren. So kann beispielsweise die Performance der Skalarmultiplikation durch die Verwendung des Jacobi-Koordinatensystems verbessert werden, wenn die Skalarmultiplikation mit einer geraden Zahl erfolgt (Punktverdopplung).
- Das vierte Implementierungsproblem betrifft die Verwaltung privater Schlüssel. Es muss sichergestellt werden, dass die privaten Schlüssel regelmäßig neu berechnet und ausgestellt werden. Die Verwendung konstanter privater Schlüssel erhöht das Risiko, dass diese von Dritten abgefangen werden, erheblich. Das typischste Beispiel ist der Diebstahl eines privaten Schlüssels aus dem Jahr 2010 im Zusammenhang mit dem Kryptosystem für Anwendungssignaturen der Sony PlayStation, bei dem für alle ausgestellten digitalen Signaturen ein und derselbe private Schlüssel verwendet wurde.
Vorteile von Kryptosystemen auf Basis elliptischer Kurven gegenüber dem RSA-Kryptosystem
-
Schlüsselgröße
Der Schlüssel eines auf elliptischen Kurven basierenden Kryptosystems benötigt deutlich weniger Speicherplatz, und dieses Verhältnis steigt mit zunehmendem Sicherheitsniveau rapide an. Beispielsweise ist ein RSA-Kryptosystem mit einer Schlüssellänge von 1024 Bit äquivalent zu einem Kryptosystem mit elliptischen Kurven und einer Schlüssellänge von 160 Bit.
-
Leistung kryptografischer Vorgänge
Kryptografische Operationen wie die Schlüssel- und Signaturgenerierung werden dank der kleineren Schlüssel deutlich schneller durchgeführt. So entspricht beispielsweise ein Elliptische-Kurven-Kryptosystem mit einer Schlüssellänge von 233 Bit dem RSA-Kryptosystem mit 2240 Bit. Im ersten Fall erfolgt die Schlüsselgenerierung etwa 40-mal schneller.
-
Ressourceneinsparungen
Aufgrund der kleineren Schlüsselgrößen können Algorithmen der auf elliptischen Kurven basierenden Kryptosysteme mit minimalen Ressourcen ausgeführt werden.
Nachteile von Kryptosystemen auf Basis elliptischer Kurven im Vergleich zum RSA-Kryptosystem
- Deutlich komplexere mathematische Hintergründe.
- Eine relativ große Gruppe schwacher elliptischer Kurven.
- Mangelnde Forschung.
Fazit
Trotz der jahrzehntelangen Geschichte der ECC besteht immer noch ein Mangel an Forschung. RSA Kryptosysteme werden umfassender untersucht. Ein erheblicher Mangel an Forschung ist einer der Hauptgründe für die geringe Popularität elliptischer Kurven-basierter Kryptosysteme. Man kann davon ausgehen, dass der Mangel an Forschung mit der relativ komplexen mathematischen Grundlage elliptischer Kurven und dem mangelnden Interesse der Systementwickler zusammenhängt. Es wird erwartet, dass elliptische Kurven in verschiedenen Implementierungen eine wachsende Rolle spielen werden.
Das Problem des diskreten Logarithmus ist algorithmisch komplexer als das Problem der Faktorisierung ganzer Zahlen und ermöglicht eine erhebliche Reduzierung der Größe des öffentlichen kryptografischen Schlüssels, wodurch verschiedene kryptografische Operationen beschleunigt werden.
Auf elliptischen Kurven basierende Kryptosysteme können effektiv in ressourcenarmen und energiebeschränkten Systemlösungen wie Smartcards, Mobilgeräten, Sensoren usw. eingesetzt werden.
