Der Algorithmenkatalog – Kriterien und Entwicklungen

Ordnungsmerkmale

erschienen in: <kes> 2007#1, Seite 56

Rubrik: BSI Forum

Schlagwort: Elektronische Signaturen

Zusammenfassung: Die für qualifizierte elektronische Signaturen gemäß dem deutschen Signaturgesetz (SigG) geeigneten Algorithmen und Parameter werden durch den so genannten Algorithmenkatalog [1] festgelegt. Fortschritte in der Kryptographie machen eine alljährliche Anpassung dieser Angaben nötig. Der folgende Aufsatz erläutert die generellen Kriterien für diesen Anpassungsprozess und die konkreten gegenwärtigen Entwicklungen.

Autor: Von Dr. Georg Illies, BSI

Seit 1998 veröffentlicht die Bundesnetzagentur (BNetzA, die frühere RegTP) jedes Jahr im Bundesanzeiger die "Bekanntmachung zur elektronischen Signatur nach dem Signaturgesetz und der Signaturverordnung" [1], für die sich die Bezeichnung "Algorithmenkatalog" eingebürgert hat. Rechtsgrundlage ist dabei Anlage 1 Abschnitt 1 Nr. 2 der deutschen Signaturverordnung (SigV): In dem von der BNetzA zu veröffentlichenden Papier sind geeignete Algorithmen und Parameter für qualifizierte elektronische Signaturen jeweils für einen Mindestzeitraum der folgenden sechs Jahre aufzuführen, und die Veröffentlichung hat nach den Angaben des BSI und unter Beteiligung von Experten aus Wirtschaft und Wissenschaft zu erfolgen.

In der Praxis erstellt das BSI seine Angaben in einem transparenten Prozess: Ein Entwurf der Angaben wird jeweils im Sommer des Vorjahres zur Diskussion ins Internet gestellt und einige Wochen später, gegebenenfalls modifiziert, an die BNetzA, die verantwortliche Behörde im Sinne der SigV, übergeben. Daraufhin findet im Herbst bei der BNetzA eine Expertenanhörung statt, in der kritische Punkte der BSI-Angaben diskutiert werden, was zu weiteren Modifikationen führen kann. Schließlich veröffentlicht die BNetzA den Algorithmenkatalog ungefähr zum Jahreswechsel.

Qualifizierte elektronische Signaturen sind mit sicheren Signaturerstellungseinheiten (typischerweise Chipkarten) generierte und auf so genannten qualifizierten Zertifikaten (einer eigens dafür eingerichteten verlässlichen PKI) beruhende Public-Key-Signaturen. Sie stellen einen rechtlich gleichwertigen Ersatz der "händischen Unterschrift" für elektronische Dokumente dar. Durch das deutsche Signaturgesetz (SigG) und die Signaturverordnung (SigV) ist geklärt, was juristisch unter einer solchen qualifizierten elektronischen Signatur zu verstehen ist und welche Anforderungen zu erfüllen sind. Für eine Einführung in technische und rechtliche Aspekte der qualifizierten elektronischen Signatur sei auf [2] verwiesen.

Der Dynamik der Entwicklung in der Kryptographie trägt die SigV durch Anlage 1 Abschnitt 1 Nr. 2 Rechnung, in der die oben erläuterte jährliche Neuveröffentlichung der Anforderungen an Algorithmen und Parameter vorgeschrieben ist. Konkret werden im Algorithmenkatalog neben den eigentlichen Signaturalgorithmen zusammen mit ihren geeigneten Parametern (insbesondere Mindestschlüssellängen) auch geeignete Hash-Funktionen und Anforderungen an die Zufallszahlenerzeugung (vgl. Kasten) aufgeführt.

Generelle Kriterien

Es lassen sich fünf generelle Kriterien für die Angaben zum Algorithmenkatalog nennen:

Nach Anlage 1 Abschnitt 1 Nr. 2 SigV sollen "... nichtfeststellbare Fälschungen ... mit an Sicherheit grenzender Wahrscheinlichkeit" auszuschließen sein. Diese sehr strenge Vorgabe, "Moores Gesetz" (d. h. ständig billiger werdende Hardwareleistung), sowie Fortschritte in der Kryptanalyse machen ein ausreichend großes Sicherheitspolster erforderlich, wenn man über mehrere Jahre hinaus die Sicherheit der Algorithmen garantieren will, das heißt die Mindestschlüssellängen müssen deutlich über dem liegen, was derzeit praktisch gebrochen werden kann, wenn auch unerwartete neue Angriffsmethoden durch das Sicherheitspolster abgefangen werden sollen.

Der Zeitraum, der dabei im Auge behalten werden muss, ist in Wirklichkeit länger als die sechs Jahre, über die im Algorithmenkatalog explizite Aussagen zu machen sind. Das liegt auch an der Forderung nach Stabilität und Kalkulierbarkeit der Anforderungen, die für die Planungssicherheit bei Herstellern und Kunden wichtig ist: Einerseits sollte nach Möglichkeit eine Aussage der Form "Schlüssellänge X bietet ein ausreichendes Sicherheitsniveau bis mindestens zum Datum Y" später nicht revidiert werden müssen. Andererseits ist es durchaus wünschenswert, dass Anforderungen, die im Algorithmenkatalog aufgeführt sind, über mehrere Jahre stabil bleiben können, das heißt eine jährliche Erhöhung einer Mindestschlüssellänge, wie sie bei RSA und DSA zwischen 2007 und 2010 durch [1] festgelegt ist, sollte eher eine Ausnahme sein (s. u.).

Dabei sollte das Sicherheitsniveau aller Bestandteile (Hash-Funktionen, Signaturalgorithmus, Zufallszahlenerzeugung) ungefähr gleich sein, da ein Signatursystem nicht stärker ist, als seine schwächste Komponente. Darüber hinaus dürfen die Auflagen aber auch nicht unangemessen hoch sein, sondern sollten durch den Stand der kryptographischen Forschung gerechtfertigt sein.

----------Anfang Textkasten----------

Inhalt des Algorithmenkatalogs

Zur Signaturerstellung benötigt man eine Hash-Funktion, einen Public-Key-Signaturalgorithmus und Zufallszahlengeneratoren. Es werden jeweils zulässige Verfahren und Parameter mit ihren Eignungszeiträumen angegeben, von der Art "die Hash-Funktion RIPEMD-160 ist bis Ende 2010 geeignet" oder "RSA-Moduln der Bitlänge mindestens 1024 Bit sind bis Ende 2007 geeignet" und so weiter.

Hash-Funktionen
Aufgeführt sind die 160-Bit-Hash-Funktionen SHA-1 und RIPEMD-160 (beide ab Anfang 2011 generell nicht mehr verwendbar) sowie die Funktionen der SHA-2 Familie (SHA-224, SHA-256, SHA-384, SHA-512) für langfristige Sicherheit.
Signaturalgorithmen
RSA (inklusive verschiedener Padding-Verfahren, s. Haupttext), DSA, ECDSA, ECGDSA (auf elliptischen Kurven beruhende Verfahren) und einige weitere Verfahren.
Zufallszahlengeneratoren
Anforderungen an Pseudozufallszahlengeneratoren (AIS 20 und benötigte Seed-Längen) und an echte Zufallsgeneratoren (AIS 31).

Die derzeit noch üblichen Signaturkarten verwenden SHA-1 und RSA mit Schlüssellänge 1024 Bit und PKCS#1 Padding-Verfahren (vgl. Haupttext).

----------Ende Textkasten----------

Seit der ersten Veröffentlichung eines Algorithmenkatalogs 1998 wurde ein Sicherheitsniveau von 280 für alle Komponenten als generelles Kriterium zu Grunde gelegt. Das bedeutet grob gesprochen, dass der Arbeitsaufwand für einen Angreifer mindestens so groß sein sollte wie für das Durchprobieren von circa 280 verschiedenen Eingabewerten für übliche symmetrische Primitive, also etwa die Hash-Funktion SHA-1.

Da schon das Durchprobieren von 260 Eingabewerten als ungefähre obere Schranke für die praktische Durchführbarkeit eines Angriffs galt, war das Sicherheitsniveau 280 eine angemessene Vorgabe, um ein genügendes Sicherheitspolster zu erreichen. Aufgrund der seitdem erfolgten Fortschritte der Hardwareleistung empfiehlt das BSI schon seit zwei Jahren, dieses allgemeine Sicherheitniveau ab Anfang 2010 auf 2100 anzuheben. Außer bei Hash-Funktionen (s. u.), die augenblicklich eine schwache Stelle im Algorithmenkatalog darstellen, ist diese Empfehlung inzwischen im Algorithmenkatalog umgesetzt worden.

Für asymmetrische Primitive (RSA, DSA und Signaturen auf Basis elliptischer Kurven) ist es durchaus nichttrivial und kontrovers diskutiert worden, welche Schlüssellängen welchem Sicherheitsniveau entsprechen. Das Problem liegt darin, dass der Arbeitsaufwand vom verwendeten Angriffs-Algorithmus abhängt. Wir greifen hier RSA als wichtigstes Beispiel heraus.

RSA-Signaturen

Die derzeit besten bekannten Angriffsalgorithmen gegen RSA sind Zahlkörpersieb-Faktorisierungsverfahren. Aber auch wenn man nur Aussagen über diese Angriffsverfahren machen möchte, benötigt man eine Reihe von Hypothesen. Eine seriöse Analyse in dieser Richtung ist [3], die in Diskussionen über RSA-Schlüssellängen eine große Rolle spielt und deren Vorhersagen bisher (größenordnungsmäßig) den tatsächlich eingetretenen Fortschritten entsprechen. Allerdings berücksichtigen solche Analysen nicht die Möglichkeit von Spezialhardware-Ansätzen (wie zum Beispiel TWIRL von Tromer/Shamir). Außerdem könnten neue Ideen für Faktorisierungsalgorithmen unerwartete Sprünge in der Entwicklung bewirken. Eine Warnung in dieser Richtung stellt der 2002 gefundene (für Signaturen irrelevante) polynomielle Primzahlalgorithmus von Agrawal/Kayal/Saxena dar.

Die neuen Kollisionsangriffe gegen die Hash-Funktion SHA-1 sind erst recht eine Lektion, dass man für unerwartete Fortschritte gewappnet sein sollte. Diese nötige Vorsicht ist der Grund, warum der Algorithmenkatalog bezüglich RSA bis zu einem gewissen Grad über die Angaben von [3] hinausgeht. Der derzeitige offizielle Faktorisierungsrekord ist übrigens die Faktorisierung einer Zahl mit 200 Dezimalstellen [4], was einer Bitlänge von etwa 664 entspricht.

Das BSI hatte 2001 empfohlen, die bis Ende 2007 ausreichende RSA-Mindestschlüssellänge von 1024 Bit ab Anfang 2008 auf 2048 Bit zu erhöhen. Es zeigte sich dann aber im weiteren Verlauf, dass diese Erhöhung nur schrittweise vollzogen werden konnte. Die Mindestschlüssellängen ab Anfang 2008 sind nun: 1280 Bit bis Ende 2008, 1536 Bit bis Ende 2009, 1728 Bit bis Ende 2010, 1976 Bit bis mindestens Ende 2012. Damit kann nun seit dem Algorithmenkatalog 2006 die angestrebte Erhöhung mit einigen Jahren Verspätung als vollzogen betrachtet werden (die gegenüber 2048 etwas kleinere Zahl 1976 hat technische Gründe). Nach gegenwärtigem Kenntnisstand dürfte eine Erhöhung der RSA-Schlüssellängen auch für den Algorithmenkatalog 2008 nicht nötig werden, das heißt eine Mindestschlüssellänge von 1976 Bit sollte voraussichtlich bis Ende 2013 ausreichen. Dagegen stellen Hash-Funktionen augenblicklich das eigentliche Problem dar.

Für RSA-Signaturen benötigt man außerdem ein Padding-Verfahren, mit dem aus dem Hash-Wert der Nachricht (160 Bit für SHA-1) ein Bitstring von der Länge des Schlüssels (also z. B. 1024 Bit) gebildet wird. Das derzeit übliche Verfahren wird im PKCS#1v1.5 beschrieben. Es gibt Überlegungen im BSI, dass dieses Verfahren ab Anfang 2013 oder Anfang 2014 nicht mehr zulässig sein sollte.

Hash-Funktionen

Anfang 2005 veröffentlichte eine Arbeitsgruppe um die chinesische Kryptologin X. Wang einen Kollisionsangriff gegen die bis dahin (auch international) überwiegend verwendete Hash-Funktion SHA-1 mit einem Aufwand von 269 statt der geforderten 280. Ende 2005 wurde von der gleichen Arbeitsgruppe ein Angriff mit einem Aufwand von nur 263 angekündigt. Auch wenn letzteres Resultat noch nicht als bestätigt angesehen werden kann und konkrete Kollisionen erst recht noch nicht vorliegen, gilt SHA-1 damit als gebrochen. Für eine ausführlichere Darstellung dieser Problematik und ihrer Auswirkungen auf qualifizierte elektronische Signaturen sei auf [5] verwiesen.

SHA-1 sollte daher baldmöglichst nicht mehr für das Signieren von Dokumenten verwendet werden (bis Ende 2007 nach den Angaben des BSI). Solange SHA-1 für Signaturen "im Feld" verwendet wird, liegt man deutlich unter einem Sicherheitsniveau von 280. Hierbei ist also zum ersten Mal, seit der Algorithmenkatalog herausgegeben wird, eine Rücknahme einer Eignungsaussage nötig geworden, was eine sehr unangenehme Situation darstellt.

Für qualifizierte Zertifikate sehen die Dinge dagegen weniger dramatisch aus. Kollisionen lassen sich hierbei wegen des relativ starren Formats von einem Angreifer kaum zu einer Fälschung nutzen, wenn die Zertifikate SigG/SigV-konform erstellt und gewisse technische Auflagen beachtet werden. Zur SigG/SigV-konformen Erstellung gehört insbesondere, dass das Schlüsselpaar auf der Chipkarte zufällig erzeugt wird. Mit den technischen Voraussetzungen ist vor allem gemeint, dass ein geeignetes Format, konkret X.509 nach der ISIS-MTT-Spezifikation, verwendet wird und der Angreifer eine unzureichende Kenntnis der vorn im Zertifikat stehenden Seriennummer besitzt. Unter diesen Voraussetzungen kann SHA-1 für qualifizierte Zertifikate deutlich länger verwendet werden.

Die zweite 160-Bit-Hash-Funktion RIPEMD-160 ist bislang nicht gebrochen. Allerdings muss auch bei ihr die weitere Entwicklung genau beobachtet werden. Alternativen für langfristige Sicherheit sind im Algorithmenkatalog augenblicklich nur die Hash-Funktionen der SHA-2-Familie. Das US-amerikanische National Institute of Standards and Technology (NIST) hat aber einen Prozess zur Standardisierung neuer Hash-Funktionen ähnlich wie bei der Blockchiffre AES (Advanced Encryption Standard) initiiert, der im Rahmen von öffentlichen Workshops durchgeführt wird. Nach dem NIST-Zeitplan ist allerdings erst 2012 mit diesem neuen Hash-Standard zu rechnen.

Vergleich im EU-Umfeld

Ein in etwa mit dem deutschen Algorithmenkatalog vergleichbares Papier [6] wird in Österreich von der dortigen Rundfunk- und Telekom-Regulierungs-GmbH (RTR) und dem A-SIT "Zentrum für sichere Informationstechnologie – Austria" herausgegeben, die Schlüssellängen sind nur teilweise etwas niedriger. In den meisten anderen europäischen Ländern gibt es dagegen kein entsprechendes Dokument. Es lässt sich generell sagen, dass die deutsche Signaturgesetzgebung ein vergleichsweise hohes Sicherheitsniveau erfordert. In vielen anderen europäischen Staaten wird der vom European Telecommunication Standards Institute (ETSI) erstellte TS 102176 [7] als Richtschnur herangezogen, dessen Anforderungen bislang allerdings insbesondere bezüglich RSA deutlich niedriger sind als die des deutschen Algorithmenkatalogs.

Fazit

Der Algorithmenkatalog legt die Anforderungen an Algorithmen und Parameter für qualifizierte elektronische Signaturen fest. Zurzeit liegt das Hauptaugenmerk bei den jährlichen Anpassungen auf den aktuellen Kollisionsangriffen gegen Hash-Funktionen, die eine teilweise Revision früherer Eignungsaussagen erforderlich gemacht haben.

Literatur

[1]
Bundesnetzagentur (BNetzA), Bekanntmachung zur elektronischen Signatur nach dem Signaturgesetz und der Signaturverordnung, [externer Link] www.bundesnetzagentur.de/enid/Veroeffentlichungen/Algorithmen_sw.html
[2]
BSI, [externer Link] Grundlagen der elektronischen Signatur, SecuMedia-Verlag, Gau-Algesheim, 2006, ISBN 978-3-922746-74-4
[3]
A. K. Lenstra, E. R. Verheul, Selecting Cryptographic Key Sizes, Journal of Cryptology 14 (2001), S. 225
[4]
BSI Pressemitteilung, Forscher stellen neuen Weltrekord auf: Zahl RSA200 zerlegt, [externer Link] www.bsi.bund.de/presse/pressinf/090505primzahl.htm
[5]
G. Illies, W. Schindler, Kollisionsangriffe gegen Hash-Funktionen – Auswirkungen und Stand der Entwicklung, <kes> 2005#5, S. 58
[6]
RTR-GmbH und A-SIT, Empfohlene Algorithmen und Parameter für elektronische Signaturen, [externer Link] www.signatur.rtr.at/de/repository/rtr-algorithms-20060403.html
[7]
European Telecommunications Standards Institute (ETSI), TS 102 176-1 Electronic Signatures and Infrastructures (ESI), Algorithms and Parameters for Secure electronic Signatures; Part 1: Hash functions and asymmetric algorithms, Juli 2005, [externer Link] http://webapp.etsi.org/workprogram/Report_WorkItem.asp?WKI_ID=21358