Banner Aktuelle IT-Sicherheit Online-Schulungen Rabatt
Artikel kostenlos lesen

Technische Richtlinien des BSI zur Kryptografie

Das BSI gibt seit 2008 Richtlinien mit Empfehlungen zur Nutzung kryptografischer Primitive im Rahmen der TR-02102 heraus. Sie enthalten zum einen allgemeine kryptografische Empfehlungen, welche die wesentlichen, heute praxisrelevanten Aspekte der Entwicklung kryptografischer Anwendungen umfassen sollen. Zum anderen geben sie konkrete Empfehlungen, wie bestimmte kryptografische Protokolle eingesetzt und konfiguriert werden sollen. Der vorliegende Artikel beschreibt die Geschichte und die heutige Rolle dieser TR und aktualisiert damit die entsprechende Übersicht aus [3]

Lesezeit 10 Min.

Zu Beginn gab es nur einen Teil (den heutigen Teil 1) der technischen Richtlinie, in dem allgemeine kryptografische Empfehlungen zur Wahl von Schlüssellängen und kryptografischen Verfahren gegeben wurden. Diese Empfehlungen richteten sich primär an die Entwickler neuer kryptografischer Anwendungen. Was den Teil 1 betrifft, hat sich diese Ausrichtung bis heute im Wesentlichen erhalten. Andere Zielgruppen haben in der Regel nur begrenzten Einfluss auf die Wahl der von ihnen genutzten kryptografischen Verfahren und teilweise auch der Schlüssellängen.

Am Anfang des laufenden Jahrzehnts zeigte sich, dass die technische Richtlinie (TR) die veränderten Rahmenbedingungen, unter denen kryptografische Techniken eingesetzt werden, nicht mehr ausreichend widerspiegelte. Dem wurde einerseits mit einer grundlegenden Überarbeitung der TR im Jahr 2012 begegnet und andererseits mit einer inhaltlichen Erweiterung, die mit einer Aufteilung der Richtlinie in zunächst zwei und heute vier Teile einherging. Während die TR-02102-1 weiterhin grundlegende Empfehlungen zur Wahl von kryptografischen Verfahren und Schlüssellängen enthält, geben die anderen Richtlinien der Serie praktische Hinweise zur Einrichtung kryptografischer Protokolle, wie sie zum Beispiel für Systemadministratoren von Interesse sein können. Konkret befassen sich der Teil 2 mit der Nutzung von Transport-Security Layer (TLS), der Teil 3 mit Internet Key Exchange (IKE) sowie IPsec und Teil 4 mit Secure Shell (SSH).

Seit 2016 werden alle Teile dieser technischen Richtlinie auch in englischer Sprache veröffentlicht und erreichen damit einen internationalen Anwender- und Leserkreis. Das Interesse an den kryptografischen Richtlinien des BSI ist angesichts der doch vergleichsweise spezialisierten technischen Themen, die sie behandeln, relativ hoch: Die BSI-Webseite verzeichnet hierzu monatlich vierstellige Downloadzahlen.

Zielsetzung der TR

Allgemein haben die vier Teile der TR-02102 empfehlenden Charakter. Bei Einhaltung der Empfehlungen soll eine Entwicklung oder Konfiguration kryptografischer Systeme möglich sein, die dem jeweiligen Stand der Technik entspricht. Es gibt aber kein formelles Zertifizierungsschema, das eine in einem kryptografischen System möglicherweise de facto bestehende Konformität zu den technischen Richtlinien bestätigen würde. Auch im Rahmen von Zulassungsverfahren des BSI sind Abweichungen von den Empfehlungen der technischen Richtlinie entsprechend möglich, wenn sie hinsichtlich ihrer Notwendigkeit und hinsichtlich der in dem jeweiligen Produkt erreichten Sicherheitseigenschaften hinreichend begründet werden können.

Solche Abweichungen müssen nicht nachteilig für die Sicherheit einer Anwendung sein: Es gibt viele kryptografische Verfahren, die als sicher gelten und die relativ gut untersucht sind, die aber nicht in der TR-02102 als empfohlen aufgeführt sind, weil diese sich auf die praxisrelevantesten Verfahren konzentriert. Die Empfehlungen der TR-02102 entsprechen hier eher einem kryptografischen Bausatz mit vorgefertigten, als sehr solide bekannten Teilen, denn einer Enzyklopädie der derzeit als sicher zu bewertenden Verfahren.

Kryptografische Richtlinien anderer Staaten gehen in dieser Frage zum Teil einen anderen Weg. Das entsprechende Dokument der französischen Agence Nationale de la Sécurité des Systèmes d’Information (ANSSI) setzt zum Beispiel stärker auf abstrakte Regeln, innerhalb derer eine Auswahl geeigneter Mechanismen grundsätzlich frei erfolgen kann. Konkrete Instanziierungen dieser Regeln werden aber auch dort benannt. Während also die TR-02102 zum Beispiel die Verwendung der Blockchiffre AES empfiehlt, schreibt der Annex B1 des Référentiel Général de Sécurité die Verwendung einer Blockchiffre vor, die eine Schlüssellänge größer 100 Bit hat und für die keine Attacken besser als das Durchprobieren aller Schlüssel bekannt sind. Allerdings benennt das Dokument dann den AES als eine Blockchiffre, die diesen Ansprüchen derzeit genügt. Im Ergebnis gibt es hier nur relativ kleine Unterschiede.

Auch die thematische Ausrichtung etwa von Lehrbüchern aus dem Bereich der Kryptografie ist eine andere als die der technischen Richtlinien, da die Vermittlung der wissenschaftlichen Grundlagen zu den behandelten Problemen den Rahmen der TR-02102 deutlich sprengen würde.

Wirkung der TR

Auch wenn die TR-02102 insgesamt lediglich Empfehlungen enthält, gibt es doch Kontexte, in denen diese Empfehlungen verbindlich werden können. Ein Beispiel dafür ist etwa der „Mindeststandard des BSI für den Einsatz des SSL/TLS-Protokolls durch Bundesbehörden“. Dieser wurde erstmals im Jahr 2014 nach § 8 Abs. 1 Satz 1 BSI-Gesetz (BSIG) herausgegeben und macht die aktuell gültige Fassung der TR-02102-2 für Bundesbehörden verbindlich.

Eine indirekte Wirkung ergibt sich in manchen Situationen auch daraus, dass weitere technische Richtlinien des BSI die TR-02102 referenzieren und selbst in ihrem Anwendungsbereich verbindlich sein können. Ein Beispiel hierfür ist die TR-03116, die in vier Teilen verbindliche Vorgaben für die Verwendung kryptografischer Mechanismen in Projekten der Bundesregierung definiert. Für die Bewertung der zugrunde liegenden kryptografischen Verfahren stützt sich die TR-03116 auf die TR-02102.

In der Vergangenheit war auch der Algorithmenkatalog der Bundesnetzagentur de facto eng an die TR-02102 gekoppelt. Aufgrund der Aufhebung des Signaturgesetzes ist er allerdings Anfang 2017 letztmalig erschienen.

Die TR-02102 hat erheblichen Einfluss auf Zulassungs- und Zertifizierungsverfahren. Für Zulassungen liefert die TR-02102 dem Hersteller eine Richtschnur, etwa zur Parametrisierung von kryptografischen Verfahren. Dies ersetzt aber nicht eine Gesamtwürdigung des Produkts durch Experten im Rahmen des Zulassungsverfahrens. Bei Zertifizierungsverfahren nach den Common Criteria im deutschen Zertifizierungsschema wird kryptografischen Algorithmen und Mechanismen ein Sicherheitsniveau von mindestens 100 Bit zugebilligt (üblicherweise im Zertifizierungsreport), wenn sie den Empfehlungen der TR-02102 folgen.

Darüber hinaus erreichen das BSI immer wieder Anfragen von Entwicklern oder Systemadministratoren zur Umsetzung von Anforderungen der TR-02102 in ihren Projekten. Hierfür steht ein entsprechendes Funktionspostfach zur Verfügung (tr02102@bsi.bund.de). Die TR-02102 entfaltet also durchaus auch dort eine gewisse Wirkung, wo ihre Anwendung durch gesetzliche Regelungen nicht vorgeschrieben wird.

Sicherheitsziele und Inhaltsübersicht

Grundsätzlich wird in der TR-02102-1 ein Sicherheitsniveau von 100 Bit angestrebt, für einen Einsatzzeitraum ab 2022 eines von 120Bit. Das bedeutet, dass kein bekannter Angriff auf empfohlene Verfahren existieren darf, dessen Aufwand geringer ist als der Brute-Force-Angriff auf eine idealisierte Blockchiffre mit dieser Schlüssellänge.

Der Hintergrund einer solchen Definition eines Sicherheitsziels ist, dass fast alle kryptografischen Verfahren durch Angreifer mit unbeschränkter Rechenleistung und Speicherplatz gebrochen werden können. Die Sicherheit kryptografischer Verfahren wird daher üblicherweise durch den Aufwand quantifiziert, den ein Angreifer nach dem jeweils aktuellen wissenschaftlichen Kenntnisstand betreiben müsste, um einen Angriff erfolgreich durchführen zu können.

Dieser Aufwand bewegt sich bei den Empfehlungen der TR-02102 deutlich jenseits des praktisch umsetzbaren Bereichs: Die größten tatsächlich durchgeführten, öffentlich bekannten kryptografischen Berechnungen (die Berechnungen partieller Urbilder für SHA-2 durch das Bitcoinnetzwerk) entsprechen insgesamt heute (Stand 2018) in etwa der Lösung eines 88-Bit-Problems. Ein generisches 100-Bit-Problem ist um einen Faktor von etwa 4000 schwieriger.

Bei der Einschätzung des Sicherheitsniveaus eines kryptografischen Primitivs werden derzeit Attacken unter Verwendung von Quantencomputern noch nicht berücksichtigt. Solche Angriffe sind zwar vor allem im Hinblick auf weit verbreitete Public-Key-Verfahren prinzipiell bekannt, aber es wird derzeit nicht davon ausgegangen, dass kryptografisch relevante Quantencomputer innerhalb des Vorhersagezeitraums der technischen Richtlinien verfügbar sein werden.

Es wird allgemein empfohlen, vertrauliche Daten bei der Übertragung über ein Netzwerk nicht nur zu verschlüsseln, sondern auch hinsichtlich ihrer Integrität zu schützen. Bei einer Verwendung symmetrischer Kryptografie bedeutet das die Nutzung einer Betriebsart oder einer Kombination von Betriebsarten, die Authentisierung und Verschlüsselung miteinander kombinieren.

Zur Erledigung der grundlegenden Aufgaben eines Verschlüsselungs-, Signatur- oder Authentisierungsverfahrens werden sehr gut untersuchte, kryptografisch solide Primitive empfohlen: so etwa im Bereich Blockchiffren der AES, im Bereich der asymmetrischen Kryptografie Verfahren basierend auf dem RSA- und dem Diffie-Hellman-Problem in endlichen Körpern oder auf elliptischen Kurven. Für Anwendungen, die eine kryptografische Hashfunktion benötigen, werden SHA-2 und SHA-3 jeweils mit Hashlängen größer oder gleich 256 Bit empfohlen.

Die Empfehlungen für die Auswahl der Schlüssellängen für diese Grundbausteine werden aus dem allgemeinen Sicherheitsziel einer Mindestsicherheit von 100 Bit (beziehungsweise 120 Bit ab dem Jahr 2022) abgeleitet, wobei ein gewisser Spielraum für künftige Verbesserungen von Angriffen einberechnet wird. Derzeit wird etwa für einen EC-Diffie-Hellman-Schlüsseltausch die Verwendung von 256-Bit-Kurven empfohlen, obwohl das Sicherheitsziel von 100 Bit gegenüber bekannten Angriffen, die auf generische Kurven anwendbar sind, bereits mit 200-Bit-Kurven erreichbar wäre. Damit wird der Tatsache Rechnung getragen, dass einerseits die Effektivität der tatsächlich besten Angriffe auf ein kryptografisches Verfahren nicht sicher eingeschätzt werden kann und zweitens Sicherheitsparameter, die von vielen Nutzern gemeinsam genutzt werden (zum Beispiel also die Basisparameter einer elliptischen Kurve), besonders lohnende Untersuchungsobjekte darstellen.

In den folgenden Teilen der TR-02102 werden – aufbauend auf den Empfehlungen der TR-02102-1 – Vorgaben für die sichere Verwendung spezifischer kryptografischer Protokolle abgeleitet. Hierbei stehen neben der richtigen Wahl der Schlüssellängen und sonstigen Sicherheitsparameter der implementierten Protokolle die Wahl sicherer Ciphersuiten und die Verhinderung spezifischer Attacken gegen die Protokolle im Vordergrund. Grundsätzlich soll verhindert werden, dass isolierte Kompromittierungen eines Systems die Sicherheit der vermittelten Verbindungen langfristig schwächen. Dies wird erreicht, indem konsequent die Nutzung von Ciphersuiten mit „Perfect Forward Secrecy“ empfohlen wird, solange nicht zwingende Gründe für die Nutzung einer Konfiguration ohne diese Eigenschaft sprechen.

Anwendungen und Grenzen

Die Empfehlungen in den technischen Richtlinien sind in erster Linie als Hilfestellung bei der Auswahl sicherer kryptografischer Verfahren zu sehen. Soll beispielsweise eine Software eine Funktion zum Erstellen einer elektronischen Signatur erhalten, so kann die TR-02102-1 eine Übersicht über die zur Zeit als sicher betrachteten Verfahren geben. Daraus kann nun ein konkretes Verfahren ausgewählt werden. Hinzu kommen zum Verfahren passende Empfehlungen für die zu verwendende Schlüssellänge, eine geeignete Hashfunktion und sonstige relevante Sicherheitsparameter, zum Beispiel zur Auswahl einer elliptischen Kurve. Empfehlungen zu solchen Fragen sind in erster Linie für Entwickler kryptografischer Systeme nützlich.

Die Teile 2 bis 4 richten sich hingegen eher an Administratoren, die kryptografische Protokolle beziehungsweise fertige Implementierungen dieser Protokolle einsetzen wollen. Ein Beispiel für ein solches Anwendungsszenario ist die Konfiguration eines Webservers für die Nutzung von TLS: Der Administrator kann hierbei eine Vielzahl von Einstellungen vornehmen, welche die Sicherheit seiner Nutzer teils dramatisch beeinflussen können. Die TR-02102-2 listet hierfür konkrete Ciphersuiten und Schlüssellängen auf, aber gibt auch Hinweise zu anderen sicherheitsrelevanten Themen, etwa zur Wahl von geeigneten Zufallsgeneratoren und bestimmten Attacken.

An Grenzen stoßen die technischen Richtlinien, wenn es um die Bewertung konkreter Implementierungen geht. Die Sicherheitsbewertung einer kryptografischen Implementierung ist ein sehr komplexes Problem, bei dem in der Regel auf Kenntnisse unterschiedlicher Experten zurückgegriffen werden muss. Relevant für die Bewertung eines kryptografischen Gesamtsystems können neben der Sicherheit der eingesetzten kryptografischen Verfahren etwa der Themenkomplex der Endpunktsicherheit, die Sicherheit der kryptografischen Implementierungen gegen Seitenkanalangriffe und Fault-Attacken, eine mögliche Umgehbarkeit des Kryptosystems und grundlegend auch schon die bloße Korrektheit der Implementierung sein. Jedes einzelne dieser Themen geht deutlich über den Rahmen einer technischen Richtlinie hinaus. Aus diesem Grund kann auch für Zulassungsverfahren die TR-02102 nur als Richtschnur für die Grundkonzeption des Systems dienen.

Dennoch kann die Kompatibilität von Implementierungen zur TR-02102 geprüft werden. Im Rahmen einer Sicherheitsanalyse der OpenSSL-Bibliothek [1] wurden etwa verschiedene Sicherheitsaspekte von OpenSSL auch unter dem Blickwinkel einer TR-Konformität untersucht.

Fazit

Die kryptografischen technischen Richtlinien des BSI können dem Nutzer eine grundsätzliche Orientierung bei der Auswahl sicherer kryptografischer Verfahren und bei der Konfiguration kryptografischer Lösungen vermitteln. Ihre Ausrichtung hat sich dabei seit ihrer Einführung von einer reinen Orientierung auf Entwickler in Richtung der Bedürfnisse von Administratoren (Konfiguration von Anwendungen) verlagert. Der an Entwickler gerichtete Teil 1 der TR-02102 definiert dabei weiterhin die Grundbausteine und die grundsätzlichen Sicherheitsziele, auf deren Grundlage in den anderen Teilen der TR-02102 die Auswahl empfohlener Verfahren erfolgt.

Die Beteiligung von Experten an der Entwicklung oder auch dem Ausrollprozess eines kryptografischen Systems kann eine Beachtung der TR-02102 nicht ersetzen, da die Sicherheit eines kryptografischen Gesamtsystems von vielen Faktoren beeinflusst wird, die nicht in den eingesetzten Algorithmen liegen, und weil außerdem die Sicherheitsziele und Einsatzbedingungen eines bestimmten Systems auch dazu führen können, dass selbst bei Verwendung für sich genommen kryptografisch sicherer Komponenten doch noch Sicherheitslücken etwa auf Protokollebene entstehen. Eine Berücksichtigung der TR-02102 durch die Entwickler oder Konfiguratoren eines kryptografischen Systems vom Beginn der Arbeit an dem System an kann aber die Aufgabe eines solchen Experten sehr erleichtern, weil er oder sie zumindest die Sicherheit der genutzten kryptografischen Mechanismen und der verwendeten grundlegenden Sicherheitsparameter dann leichter einschätzen kann.

Literatur

[1] BSI, Kryptografische Verfahren: Empfehlungen und Schlüssellängen, BSI TR-02102, www.bsi.bund.de/DE/Publikationen/TechnischeRichtlinien/tr02102/index_htm.html

[2] BSI, Quellcode-basierte Untersuchung von kryptographisch relevanten Aspekten der OpenSSL-Bibliothek, November 2015, www.bsi.bund.de/DE/Publikationen/Studien/OpenSSL-Bibliothek/opensslbibliothek.html

[3] Dr. Aron Gohr, Dr. Peter Birkner, Krypto-Richtlinien im praktischen Einsatz, BSI Forum / 2015# 2, S. 33

Diesen Beitrag teilen: