Navigation und Service

BSI-Projekt: Entwicklung einer sicheren Kryptobibliothek

Empfehlung: Das BSI empfiehlt die Nutzung von Botan 3.6.1 oder Botan 3.7.1-RSCS1 für Anwendungen mit erhöhtem Sicherheitsbedarf.

Hintergrund

Kryptografische Bibliotheken werden häufig als Kernkomponenten in Sicherheitsanwendungen eingesetzt. Sie sind dort zum Erreichen der Sicherheitsziele von zentraler Bedeutung. In der Umsetzung ist eine Kryptobibliothek sehr anspruchsvoll und fehlerträchtig - sowohl in der Auswahl geeigneter Verfahren als auch in der Implementierung. Es sind immer wieder schwerwiegende Probleme bei den verbreiteten Kryptobibliotheken (z.B. OpenSSL) aufgetreten, die die Sicherheit der darauf aufbauenden Anwendungen erheblich beeinträchtigen können.

Vor diesem Hintergrund hat das BSI das Projekt "Sichere Implementierung einer allgemeinen Kryptobibliothek" mit dem Auftragnehmer Rohde & Schwarz Cybersecurity GmbH durchgeführt. Ziel des Projekts war die Bereitstellung einer quelloffenen, sicheren, übersichtlichen, kontrollierbaren und gut dokumentierten Kryptobibliothek, die für möglichst viele Einsatzszenarien geeignet ist und auch in Anwendungen mit erhöhtem Sicherheitsbedarf eingesetzt werden kann.

Auf Basis einer Analyse bestehender Open Source Kryptobibliotheken wurde Botan als geeignete Grundlage für die weitere Entwicklung ausgewählt. Im Rahmen des Projektes wurde Botan anschließend tiefergehend kryptografisch untersucht und gefundene Mängel wurden behoben.

Weiterhin gehörten eine Verbesserung der Testsuite, eine erhöhte Resistenz gegen Seitenkanalangriffe durch geeignete Software-Gegenmaßnahmen sowie eine verbesserte Dokumentation zum Umfang des Projektes. Das Projekt wurde 2017 beendet und mit dem Release der Botan-Version 2.4.0-RSCS1 auf github abgeschlossen.

Botan steht unter der Simplified BSD Lizenz und kann somit sowohl für offene als auch für kommerzielle Anwendungen verwendet werden.

Zusammenfassung des Projektes Sichere Implementierung einer allgemeinen Sichere Implementierung einer allgemeinen Kryptobibliothek - Projektzusammenfassung.

Botan 3.x und Post-Quanten-Kryptografie

Das Nachfolgeprojekt "Pflege und Weiterentwicklung der Kryptobibliothek Botan" mit dem Auftragnehmer Rohde & Schwarz Cybersecurity GmbH lief seit Anfang 2022 und wurde im März 2025 beendet. Im ersten Projektjahr wurde zunächst die aktuelle Entwicklungsversion von Botan (die masterbranch auf GitHub) dem bewährten Analyse- und Prüfprozess unterzogen sowie dabei entdeckte Mängel behoben. Die Ergebnisse sind bereits unmittelbar in das Open-Source-Projekt eingeflossen. Danach wurden Post-Quanten-Verfahren und eine hybride Schlüsseleinigung in TLS 1.3 implementiert.

Die zuletzt im Rahmen des Projektes geprüfte Version ist Botan 3.7.1-RSCS1 und ist auf GitHub über das Repository von Rohde & Schwarz Cybersecurity verfügbar. Dieses Release enthält alle vom BSI in der TR-02102 empfohlenen Post-Quanten-Verfahren: die Schlüsselkapselungsverfahren FrodoKEM, Classic McEliece und ML-KEM sowie die Post-Quanten-Signaturverfahren ML-DSA, SLH-DSA sowie XMSS und HSS/LMS.

Die vorherige Version Botan 3.6.1 kann ebenfalls verwendet werden, enthält jedoch noch nicht Classic McEliece. Nicht empfohlen ist die Verwendung von Botan 3.7.1 (ohne den Zusatz RSCS1).

Der Unterschied zwischen Botan 3.7.1. und Botan-3.7.1-RSCS1 besteht ausschließlich in der Implementierung des ECDH Schlüsselaustauschverfahrens, die in Botan 3.7.1 nicht standardkonform ist (siehe auch den entsprechenden Pull Request auf GitHub).