M 2.164 Auswahl eines geeigneten kryptographischen Verfahrens

Verantwortlich für Initiierung: IT-Sicherheitsbeauftragter

Verantwortlich für Umsetzung: IT-Sicherheitsbeauftragter

Die Auswahl eines kryptographischen Verfahrens zerfällt in die beiden Teilaufgaben

Bevor Anwender sich auf bestimmte Verfahren festlegen, sollte sie genaue Vorstellungen davon haben, welche Anforderungen sie an Vertraulichkeit und Authentizität der bearbeiteten Daten in jedem "Punkt" seines informations­verarbeitenden Systems stellen.

Auswahl von kryptographischen Algorithmen

Bei der Auswahl von kryptographischen Algorithmen ist zunächst zu klären, welche Art kryptographischer Verfahren benötigt werden, also symmetrische, asymmetrische oder hybride Verfahren, und dann sind geeignete Algorithmen, also solche mit entsprechender Mechanismenstärke auszuwählen. Aktuelle Empfehlungen zur Auswahl kryptographischer Verfahren gibt das BSI in der technischen Richtlinie BSI TR 02102-1.

Verschlüsselungsverfahren

Authentisierungsverfahren

Hashverfahren

Bei der Kryptoanalyse von Hash-Funktionen hat es seit etwa 2005 große Fortschritte gegeben. SHA-1 ist daher als Legacy-Mechanismus zu betrachten und darf nicht mehr als kollisionsresistente Hashfunktion angesehen werden. Sein Einsatz im Kontext der HMAC-Konstruktion zur symmetrischen Nachrichtenauthentisierung ist aber unkritisch

Geeignete Algorithmen sind vor allem die neueren SHA-2 Versionen (SHA-256, SHA-384, SHA-512), und der neu entwickelte Standard SHA-3 bei einer Hashlänge ab 256 Bit. Diese Hashfunktionen sind für Anwendungen mit höheren Anforderungen an die Kollisionresistenz ausgelegt..

Der Hash-Algorithmus MD5 ist veraltet und weist massive Schwächen auf, die auch bereits anhand praktischer Beispiele demonstriert werden konnten. MD5 sollte deshalb nicht mehr verwendet werden. Auch RIPEMD-160 wird nicht mehr empfohlen.

Auswahlkriterien

Mechanismenstärke / Schlüssellänge

Ein wesentliches Kriterium für die Auswahl von kryptographischen Verfahren ist ihre Mechanismenstärke. Bei symmetrischen Verfahren sollte insbesondere die Schlüssellänge ausreichend groß sein. Je größer die verwendete Schlüssellänge bei einem kryptographischen Verfahren ist, desto länger dauert es, ihn z. B. durch eine Brute-Force-Attacke zu berechnen. Andererseits werden die Verfahren bei der Verwendung längerer Schlüssel langsamer, so dass immer zu überlegen ist, welche Schlüssellänge unter Nutzen-/Leistungsgesichtspunkten angemessen ist. Als Faustregel für gute Verfahren (AES, HMAC-SHA-2/3, Serpent,...) und normalen Schutzbedarf gilt derzeit, dass die eingesetzten Schlüssel mindestens 100 Bit lang sein sollten. Bei Verwendung von Blockchiffren sollten nicht ideal zufällig verteilte Daten in einem geeigneten authentisierten Verschlüsselungsmodus wie dem GCM-Modus oder durch Kombination eines Blockchiffriermodus wie CBC, CFB, oder Counter-Modus mit einem sicheren MAC-Verfahren wie CMAC oder HMAC im Encrypt-then-MAC-Modus verschlüsselt werden (nähere Informationen hierzu finden sich in Kapitel 2 der TR-02102-1).

Bei asymmetrischen Verfahren sollte die Mechanismenstärke so gewählt werden, dass die Lösung der zu Grunde liegenden mathematischen Probleme einen unvertretbar großen bzw. praktisch unmöglichen Rechenaufwand erfordert (die zu wählende Mechanismenstärke hängt daher vom gegenwärtigen Stand der Algorithmik und der Rechentechnik ab). Gegenwärtig kann davon ausgegangen werden, dass man mit etwa 2 hoch 100 Operationen derzeit noch "auf der sicheren Seite" ist. Von maßgeblichen Experten wird vorhergesagt, dass 1024 Bit RSA-Moduli mit einem Aufwand von circa 2 hoch 70 Operationen faktorisierbar sind, und der Aufwand der besten generischen Algorithmen für das diskrete Logarithmusproblem in einer Gruppe der Ordnung 160 Bit liegt in der Größenordnung 2 hoch 80. Da der Aufwand von 2 hoch 80 Operationen mit Fortschreiten der Rechentechnik allmählich in den Bereich des technisch Machbaren gerät, sollten Algorithmen mit 80 Bit Sicherheitsniveau bei Neuentwicklungen nicht mehr verwendet werden und auf längere Sicht ganz abgelöst werden. Minimal gefordert sind

Für langfristige Sicherheitsanwendungen sollten 2048 Bit RSA-Moduli bzw. Untergruppenordnungen von mindestens 224 Bit eingesetzt werden. Beispiele für geeignete elliptische Kurven findet man im Internet unter www.ecc-brainpool.org.

Es sollten keine "unbekannten" Algorithmen verwendet werden, d. h. es sollten Algorithmen eingesetzt werden, die veröffentlicht sind, die von einem breiten Fachpublikum intensiv untersucht worden sind und von denen keine Sicherheitslücken bekannt sind. Häufig bieten Hersteller Sicherheitsprodukte an mit neuen Algorithmen, die "noch viel sicherer und noch viel schneller" sein sollen als andere Algorithmen. Aber vor der Verwendung von unbekannten Algorithmen aus Quellen, deren kryptographische Kompetenz nicht ausreichend nachgewiesen ist, kann nur gewarnt werden.

Symmetrische oder hybride Verfahren?

Aus Performancegründen werden für Verschlüsselungszwecke keine reinen Public-Key-Implementierungen eingesetzt. Alle gängigen Implementierungen von Public-Key-Kryptographie nutzen hybride Verfahren (siehe auch M 3.23 Einführung in kryptographische Grundbegriffe).

In Anwendungen mit großen oder offenen Nutzergruppen empfiehlt sich meist die Verwendung eines hybriden Verfahrens (wegen der Vorzüge für das Schlüsselmanagement). Bei kleinen, geschlossenen Nutzergruppen (insbesondere natürlich bei einem einzelnen Benutzer) kann man sich auf symmetrische Verfahren beschränken. Bei Einsatz hybrider Verfahren ist es sinnvoll, die Stärken des symmetrischen und des asymmetrischen Anteils aufeinander abzustimmen. Da mit dem asymmetrischen Verfahren vor einem Schlüsselwechsel in der Regel viele Schlüssel für das symmetrische Verfahren überschlüsselt werden, sollte der asymmetrische Algorithmus eher etwas stärker ausgelegt werden. Das bedeutet bei Verwendung eines symmetrischen Verfahrens mit 128 Bit Sicherheit (z.B. AES-GCM mit 128 Bit Schlüssellänge) die Verwendung von RSA-Moduln einer Länge von etwa 3000 Bit und von elliptischen Kurven mit Punktordnung ab 2 hoch 256.

Ein zusätzliches Sicherheitsziel, das bei bestimmten asymmetrischen Schlüsseleinigungsverfahren wie z. B. Diffie-Hellman Schlüsselaustausch (DH) oder dessen auf elliptischen Kurven realisierte Varianten (EC-DH) erreicht werden kann, ist Perfect Forward Secrecy (PFS). Das bedeutet, dass ein Angreifer nur dann unkomprimittierte vergangene Schlüsselaushandlungen brechen kann, wenn er das darunterliegende "harte" mathematische Problem lösen kann. Das spätere Aufdecken von Langzeitschlüsseln hat also keine negativen Folgen für die Sicherheit früherer Schlüsselaushandlungen. PFS ist anstrebenswert, setzt aber die Verfügbarkeit hochwertiger Zufallsquellen voraus.

Die verwendeten Cipher-Suiten sollten Perfect Forward Secrecy (PFS) unterstützen, insbesondere bei TLS (siehe Technische Richtlinie des BSI TR-02102-1 "Kryptographische Verfahren: Kryptographische Algorithmen und Schlüssellängen").

Realisierbarkeit von technischen Anforderungen

Die Chiffrieralgorithmen müssen so beschaffen sein, dass die technischen Anforderungen, insbesondere die geforderte Performance, durch eine geeignete Implementation erfüllt werden können. Hierunter fallen Anforderungen an die Fehlerfortpflanzung (z. B. falls über stark rauschende Kanäle gesendet wird), aber auch Anforderungen an Synchronisationsoverhead und Zeitverzögerung (z. B. falls "Echtzeit"-Verschlüsselung von großen Datenmengen erfordert wird).

Beispiel: Sprachverschlüsselung bei ISDN

Für die Planung eines Kommunikationsnetzes ist eine Reihe von Parametern zu berücksichtigen, die einen Einfluss auf die zu erwartende Sprachqualität haben und sich in Form von Rauschen, Knacken, Nebensprechen oder Pfeifen bemerkbar machen. Zu solchen Einflussfaktoren zählen beispielsweise die eingesetzten Verschlüsselungsverfahren. Um eine zufrieden stellende Sprachqualität erzielen zu können, müssen alle Einrichtungen längs eines Übertragungsweges betrachtet und bewertet werden.

Eine isolierte Betrachtungsweise einer Einzelkomponente ist zwar aufgrund der Verkopplung aller relevanten Einzeleffekte als nicht gerechtfertigt anzusehen, dennoch ist die Kenntnis der Einflussfaktoren jeder Einzelkomponente (z. B. der Kryptokomponente) wichtig. Hieraus können sowohl die Rahmenbedingungen für die Realisierung als auch für die Auswahl abgeleitet werden.

Das Verhalten einer Verschlüsselungskomponente wird dabei hauptsächlich durch folgende Faktoren charakterisiert:

Gerade bei einer Sprachverschlüsselung (Echtzeitdienst) machen sich die vorgenannten Einflussfaktoren in einer Erhöhung der Ende-zu-Ende-Laufzeit, in Laufzeitschwankungen sowie in einer höheren Fehlerrate negativ bemerkbar, d. h. in einer Qualitätsminderung, die messtechnisch ermittelt und der Kryptokomponente zugeordnet werden kann.

Andere Einflussfaktoren

Manche kryptographische Algorithmen (z. B. IDEA) sind patentiert, für ihren Einsatz in kommerziellen Anwendungen (wozu auch der behördliche Bereich zählt) sind eventuell Lizenzgebühren zu entrichten.

Veröffentlichungen der Bundesnetzagentur

Die Bundesnetzagentur veröffentlicht regelmäßig im Bundesanzeiger eine Übersicht über die Algorithmen, die zur Erzeugung von Signaturschlüsseln, zum Hashen zu signierender Daten oder zur Erzeugung und Prüfung qualifizierter elektronischer Signaturen als geeignet angesehen werden können. Diese Veröffentlichungen können auch vom Webserver der Bundesnetzagentur (www.bundesnetzagentur.de) herunter geladen werden. Sie können zusätzliche Hinweise zur Auswahl liefern.

Prüffragen: