InfoGuard Cyber Security & Cyber Defence Blog

Crypto Agility: Auf dem Weg zur automatisierten High-Level-Infrastruktur

Geschrieben von Markus Pfister | 06. Jun 2024

Krypto-Agilität erfordert Transparenz über den Einsatz der Kryptografie in einer Organisation und die Fähigkeit, Probleme zeitnah erkennen und beheben zu können. Krypto-agile Lösungen ermöglichen es einem Unternehmen, veraltete Krypto-Assets zu ersetzen, ohne die bestehende Systeminfrastruktur zu beeinträchtigen. In diesem zweiten Teil unserer Blogserie erfahren Sie, wie Sie Ihre IT-Architektur technisch aufrüsten und dank Automation Krypto-Agilität in Ihrem Sicherheitssystem implementieren können.

Die CEO Frau Stachelig und CISO Herr Mehlwurm haben die Laubhaufen AG konsequent auf den «Q-Day» vorbereitet und sind für den anstehenden Austausch von Algorithmen gut aufgestellt.

Wie sich die Führungsigel mit dem gesamtheitlichen Nutzen und der Planung einer krypto-agilen IT-Umgebung detailliert auseinandergesetzt haben, darüber haben wir im ersten Teil dieser zweiteiligen Blogserie berichtet. Die Erkenntnis: Krypto-Agilität beschreibt die Fähigkeit, schnell und flexibel auf sich ändernde kryptografische Anforderungen zu reagieren. Sie fokussieren sich nun auf die Sichtbarkeit und die Vorgänge bezüglich der Unternehmens-Krypto-Assets.

Aus diesem Grund haben Frau Stachelig (CEO) und Herr Mehlwurm (CISO) der Architektin, Frau Stoppel, den Auftrag erteilt, sich diesbezüglich einen Überblick über den heutigen Stand der Krypto-Agilität zu verschaffen.

Der Crypto-Agility-Markt nimmt Fahrt auf

Wie bei der Millennium-Umstellung zwingt der «Q-Day» (als externes Ereignis) die Unternehmen zum Handeln. Mit dem markanten Unterschied, dass das Datum im Fall des «Q-Days» (noch) nicht bekannt ist.

Es gibt eine Reihe von Produkten, die ein unterschiedliches Set der genannten Bedürfnisse adressieren. Es ist zu erwarten, dass entsprechend der hohen Dynamik in diesem Bereich weitere innovative Entwicklungen folgen werden.

Bereits etabliert ist das Key Management Interoperability Protocol (KMIP). Dieses wird von vielen Herstellern bzw. kryptografischen Devices unterstützt. KMIP erlaubt die Verwaltung von Keys gemäss den im NIST Dokument beschriebenen Zuständen (z. B. Active, Compromised, Deactivated). Darüber haben wir im ersten Teil – Crypto Agility rückt die IT-Architektur ins Rampenlicht – berichtet. Zudem werden Aktionen bei Statusübergängen zwischen den definierten Zuständen beschrieben.

KMIP ist eine Komponente, mit welcher Crypto Agility implementiert werden kann. Dies wird durch den Vergleich der Definitionen von Crypto Agility und KMIP deutlich. Crypto Agility ist der «Leitgedanke», der unter anderem mit Hilfe von KMIP umgesetzt wird.

 

Crypto Agility als «Leitgedanke» KMIP als Komponente für die Umsetzung

KMIP als Komponente für die Umsetzung Krypto-Agilität beschreibt die Fähigkeit eines Sicherheitssystems, schnell zwischen Verschlüsselungsmechanismen zu wechseln, und konzentriert sich auf die Sichtbarkeit und die dynamische Bewegung der Krypto-Assets einer Organisation.

Ein erweiterbares Kommunikationsprotokoll, das Nachrichtenformate für die Manipulation kryptografischer Schlüssel auf einem Schlüsselverwaltungsserver definiert. Zudem können über KMIP kryptografische Operationen wie Ver- und Entschlüsseln usw. durchgeführt werden.

Tabelle 1 Definition Crypto Agility und KMIP

Ein High-Level-Blick auf die Crypto-Agility-Architektur

Frau Stoppel wäre nicht die Architektin der Laubhaufen AG, wenn sie keine High-Level-Architektur für die Krypto-Agilität entworfen hätte. Dazu hat sie recherchiert. Sie erklärt, dass die nachstehend beschriebenen Features in Bezug auf Krypto-Agilität wünschenswert wären:

 

Abbildung 1: Crypto Agility High Level Architecture

 

Die Nummern in der Grafik sind im folgenden Text referenziert.

Das Zauberwort für Krypto-Agilität heisst Zentralisierung

Ein Weg, den Aufwand für das Testen und Deployen von Krypto-Assets zu verringern, ist, weniger Krypto-Assets betreiben zu müssen. Dies kann durch zentralisierte Services erreicht werden, die kryptografische Funktionen mittels eines Krypto-Services zur Verfügung stellen. Frau Stoppel betont: Zentralisierung ist der Kernpunkt der Crypto-Agility-Architektur.

Crypto Agility als Prozess

Die Annahme, dass alle Anwendungen und Systeme für kryptografische Operationen, wie Ver- und Entschlüsseln, über ein API auf den Krypto-Service zugreifen können, ist nicht realistisch. Die Einführung von Crypto Agility ist ein kontinuierlicher Prozess, bei welchem immer mehr Anwendungen und Systeme eingebunden werden.

Funktionen des Krypto-Services

Der Krypto-Service erbringt zentralisiert folgende Funktionen:

  • Zentrale Kryptografie-Services wie Ver- und Entschlüsseln, Signieren usw.
  • Verwaltung und sichere Speicherung der von den Algorithmen verwendeten kryptografischen Geheimnisse (1).
  • Kommunikation mit kryptografischen Devices (2), die als «Backend» fungieren.
  • Bereitstellen einer Library. Diese wird von Anwendungen mit dem Ziel genutzt, die Funktionen des Krypto-Services über ein API aufrufen zu können (3).

Automatisiertes Zertifikatsmanagement

Zertifikate haben die Eigenschaft, dass sie regelmässig erneuert werden müssen. Die gängigen Root-Zertifikate sollten von den Herstellern der Betriebssysteme regelmässig aktualisiert werden. Wie steht es jedoch mit Zertifikaten, mit denen ein End-Point (Device) oder ein User seine Identität beweist, Meldungen verschlüsselt oder Dokumente signiert? Um das Zertifikatsmanagement zu automatisieren, muss der Krypto-Service mit einer PKI zur Erstellung und Erneuerung von Zertifikaten (4) kommunizieren.

Inventarisierung der Krypto-Assets

Für die Compliance unterstützt der Krypto-Service das Erstellen von Auswertungen, indem die Krypto-Assets inventarisiert werden. Das Inventar dient als Input für die Konfiguration und das Monitoring. Zu einem späteren Zeitpunkt kann es als Grundlage für das Crypto Bill of Material (CBOM) dienen (5). Mehr zum Thema Inventarisierung und CBOM finden Sie im ersten Teil dieser Blogserie.

Ausfallsicherheit durch Redundanz

Ausfallsicherheit wird durch Redundanz des Krypto-Services gewährleistet (6). Ebenso können Backend-Devices wie HSM redundant ausgelegt sein.

Programmierschnittstellen zur Optimierung von Krypto-Services

Anstatt Inventar und Monitoring unabhängig zu implementieren, besteht für den Krypto-Service aus Architektursicht die Möglichkeit, diese Dienste über eine Programmierschnittstelle von bereits bei der Laubhaufen AG implementierten Komponenten zu beziehen. Wie weit diese Integrationsmöglichkeiten für die eingesetzten Produkte gehen, muss die Laubhaufen AG abklären (7).

Für die Software-Verteilung können bestehende Lösungen verwendet werden (8).

Vorteile der zentralen Krypto-Service-Ausführung

Frau Stoppel fährt in ihren Ausführungen fort: Ein grosser Nutzen besteht darin, dass der Krypto-Service die kryptografischen Funktionen zentral ausführt und die kryptografischen Geheimnisse sicher innerhalb des Krypto-Services gespeichert sind.

Idealfall: Krypto-Service ist für alles zuständig

Um einer zentralisierten Administration der kryptografischen Geheimnissee näher zu kommen, werden diese im Krypto-Service verwaltet (9). Somit ist der Krypto-Service für das Life Cycle Management der kryptografischen Geheimnisse verantwortlich (10) oder delegiert dieses z. B. für Zertifikate an eine PKI (13). Auf den kryptografischen Geheimnissen basierende Operationen werden von dem Krypto-Service selbst oder einem angeschlossenen kryptografischen Device durchgeführt. Der Krypto-Service speichert die kryptografischen Geheimnisse in einem Hardware Security Module (11).

Realität: Dezentrale Kryptografie

Oft stehen dem Ansatz, dass der Krypto-Service für alles zuständig ist, Einschränkungen entgegen:

  • Eine Anwendung oder ein System kann bzw. darf nicht mit einem Krypto-Service kommunizieren.
  • Das Auslagern von Kryptografie-Funktionen wäre mit einer nicht akzeptablen Performance-Einbusse verbunden.

Kryptografische Anwendungen beziehen Schlüssel

Der Krypto-Service erlaubt Anwendungen, Schlüssel zu beziehen. Diese sind dann «extrahierbar» und verlassen die Security Boundary des Krypto-Services. Damit steuert die Anwendung das Key Management, z. B. die Erneuerung eines Schlüssels, selbst (12).

Sicherstellung der Identität durch Trusted Plattform Module

«Wie wird Identität sichergestellt?» Das fragen sich Frau Stachelig (CEO) und Herr Mehlwurm (CISO) angesichts der vielen Informationen auch gerade. Frau Stoppel fährt jedoch unbeirrt weiter: Die Beantwortung der Frage nach dem «wer bin ich?» bedingt, dass einer Anwendung, einem Device z. B. IoT, eine Identität «mitgegeben» wird. Für Laptops und Server wird die Identität in einem Trusted Plattform Module («Endorsement Key») abgelegt.

Für User, Anwendungen und Services kommen meist Zertifikate zum Einsatz. Diese werden als Files oder, besser, in einem HSM gespeichert. Die Verwaltung von Zertifikaten kann vom Krypto-Service durch eine Schnittstelle zu einer PKI unterstützt werden (13).

Der CISO ist für eine Automatisierung Feuer und Flamme

Die Führungsigel wünschten zum Schluss des ersten Blogteils, die Vorgehensschritte «Beheben der Vulnerability» und «Testen und Deployen» zu automatisieren. Der Krypto-Service vereinfacht diese, zumindest im Idealfall, durch den zentralisierten Ansatz.

 

Vorgehensschritt Ohne Crypto Agility Mit Crypto Agility

Beheben der Vulnerability

Je nach Vulnerability dezentral vorgenommen:

  • Ersatz des kryptografischen Geheimnisses.
  • Ersatz des kryptografischen Algorithmus.

Anpassung von Konfigurationen.
Zentral vorgenommen:

  • Ersatz Library durch SW-Verteilung.
  • Korrektur Anwendungscode durch SW-Verteilung.

Weitere Tätigkeiten:

  • Definieren von «Exceptions» für nicht patchbare Devices.

Je nach Vulnerability zentral vorgenommener:

  • Ersatz des kryptografischen Geheimnisses.
  • Ersatz des kryptografischen Algorithmus.

Anpassung von Konfigurationen.

Zentral vorgenommen:

  • Ersatz Library durch SW-Verteilung.
  • Korrektur Anwendungscode durch SW-Verteilung.

    Weitere Tätigkeiten:
  • Nachführen der nicht mit Crypto Agility verwalteten Komponenten.
  • Definieren von «Exceptions» für nicht patchbare Devices.

Testen und Deployen

Manuelles Testen und Deployment der Patches oder Konfigurations-Anpassungen.

Im Idealfall ist für den Ersatz eines kryptografischen Geheimnisses oder eines Algorithmus nur der Test der zentralen Funktion notwendig.

Tabelle 2 Vergleich Vorgehen mit und ohne Crypto Agility

Herr Mehlwurm (CISO) hat gerade die Zuversicht gewonnen, sich bei der nächsten «Hot Mission» auf die kritischen Aspekte fokussieren zu können. Er ist begeistert und ist der Meinung, dass die Laubhaufen AG keinesfalls auf Krypto-Agilität verzichten sollte.

Geht es Ihnen auch so? Dann empfehlen wir Ihnen die Umsetzungsmassnahmen mit einem Crypto Agility Assessment massgeschneidert auf Ihre IT-Architektur prüfen zu lassen.

Etwas später im IT-Stand-Up-Meeting der Führungsigel

Die CEO möchte von der Architektin zusätzliche Argumente, warum sich die Implementierung von Crypto Agility bei der Laubhaufen AG lohnt.

Frau Stoppel erklärt, dass sich mit Crypto Agility folgende Problembereiche entschärfen lassen:

 

Problembereich Entschärfung durch Crypto Agility

Technische Komplexität

Crypto Agility erleichtert die Integration neuer kryptografischer Algorithmen und das Auswechseln von Schlüsseln.

Mangelnde Fachkenntnisse

Kryptografie ist nicht das Spezialgebiet der durchschnittlichen IT-Abteilung. Der Krypto-Service schützt die IT bezüglich Programmierung und Betrieb vor der hohen Komplexität.

Zentralisierung

Crypto Agility zentralisiert die Aufgaben, womit diese nur an einer Stelle und nicht x-fach dezentral anfallen.

Sicherheitsprüfungen und Compliance

Das Asset Management in Verbindung mit Monitoring Reports erlaubt, jederzeit Sicherheitsprüfungen vorzunehmen.

Quantenresistenz

In Zukunft werden neue kryptografische Algorithmen notwendig werden. Crypto Agility unterstützt die Einführung der neuen Algorithmen in der IT-Umgebung.

Ausfallsicherheit

Ein redundant ausgelegter Krypto-Service hilft, Ausfallzeiten zu reduzieren.

Akzeptanz

Je weniger die Entwicklung und der Betrieb mit der Komplexität von Kryptografie zu tun haben, um so grösser ist die Akzeptanz der Lösung.

Tabelle 3 Nutzen von Crypto Agility

Das Kleingedruckte in der kryptografischen Reiseplanung

In diesem komplexen und sehr dynamischen Thema gibt es einige Punkte, die noch nicht ideal gelöst werden können oder zumindest einen Kompromiss notwendig machen. Auch dazu hat sich Frau Stoppel Gedanken gemacht.

Key Rotation

Werden Keys rotiert, muss dies für die Anwendung transparent sein. Das heisst, die Anwendung sucht einen Key mit dem Namen «Stachel» und erhält die neueste Version dieses Keys. Ältere Versionen sollen ebenfalls auffindbar sein, abhängig vom Zustand des Keys nach dem NIST-Modell.

Im einfachen Fall können kryptografische Geheimnisse wie Keys oder Zertifikate nach der Rotation bzw. Erneuerung direkt genutzt werden. In komplexeren Fällen wie einem verschlüsselten Fileshare oder einer Datenbank müssen die Daten mit dem alten Key entschlüsselt und mit dem neuen verschlüsselt werden. Hier ist ein Automatismus schwierig zu implementieren.

Key Wrapping zur Sicherung der Krypto-Agilität

Frau Stoppel hat erfahren, dass kryptografische Geheimnisse extrahierbar, d. h. den Krypto-Service verlassen können. In diesem Fall müssen diese auf einem sicheren Weg zum kryptografischen Device oder zur Anwendung übertragen werden.

Ausserdem hat sie herausgefunden, dass dazu verschlüsselte Übertragungskanäle dienen. Oft wird zusätzlich Key Wrapping eingesetzt. Dabei wird der übertragene Schlüssel mit einem dem Client oder der Anwendung bereits bekannten Schlüssel «eingepackt» (wrapped) und von der Anwendung wieder ausgepackt.

Transport Layer Security (TLS)

Die Kommunikation zwischen Device und dem Krypto-Service muss gesichert sein. Dies erfolgt mittels Transportverschlüsselung (TLS). Wird Mutual Authentication verwendet, bei der die Krypto-Agilitäts-Lösung den Client und umgekehrt identifiziert, müssen beide über das gültige Zertifikat des Gegenübers verfügen.

Device kann kein TLS

Doch welche Möglichkeiten stehen den Igeln der Laubhaufen AG zur Verfügung, wenn ein Device keine Transportverschlüsselung beherrscht oder über eine veraltete TLS-Version verfügt, die sich auf dem Device nicht updaten lässt?

TLS Proxy als Notnagel

Dabei wird dem Device ein TLS-Proxy vorgeschaltet, über welchen die TLS-Verbindungen laufen. Damit können Legacy-(IoT)-Geräte, die nicht TLS-fähig sind, geschützt werden. Herr Mehlwurm machte sich bezüglich dem Messgerät, mit welchem die Abmessungen der Fertiglaubhaufen automatisch geprüft wurden, grosse Sorgen.

Weil der TLS-Proxy eine zentrale, von möglichst vielen Anwendungen genutzte Komponente ist, reduziert sich der Aufwand bei Anpassungen an TLS-Libraries, Cipher-Suite Konfigurationen und Schlüsseln drastisch (14).

Effiziente Verwaltung geschlossener Devices

Devices, die in sich geschlossen sind und keinen Zugriff auf die Konfiguration erlauben, sind schwieriger zu handhaben. Diese Devices können ebenfalls hinter einem TLS-Proxy platziert werden (14).

Sichere Kryptografie in IoT: Herausforderungen und Lösungen

Verwendet ein Device einen Crypto Chip, dessen Firmware nicht geändert werden kann, oder ist dieser ein geschlossenes System ohne Management-Schnittstelle, ist guter Rat teuer. Dies kann z. B. bei älteren IoT-Geräten vorkommen. Hier bleibt nur das manuelle Updaten, falls dies überhaupt möglich ist. Alternativ kann auch hier als «Notnagel» ein TLS-Proxy vor diesen Devices platziert werden (14).

Da die Hersteller das Problem erkannt haben, stehen für neuere IoT Devices, oft auch als «Edge Computing» bezeichnet, Libraries zur Verfügung, mit welchen das IoT Device über eine Management-Schnittstelle im Netzwerk erreichbar ist. Selbstverständlich muss diese Schnittstelle den Sicherheitsanforderungen entsprechen. Werden IoT Devices beschafft oder selbst entwickelt, soll die Integration mit einem Krypto-Service möglich sein (15). Die in den Devices verwendeten Crypto Chips sollten zudem über eine Zertifizierung verfügen.

Kryptografische Geheimnisse im Code

Dieses Szenario sollte dank den Security-Awareness-Kampagnen der Laubhaufen AG für Entwickler*innen eigentlich nicht vorkommen. Ein mit entsprechenden Patterns konfigurierter Code Checker kann im Code eingebettete kryptografische Geheimnisse identifizieren (16).

Kryptografie und die Cloud

In einer Cloud-Umgebung wie z. B. Azure sind «Key Vaults» in Form von HSM fixer Bestandteil der Security-Architektur. Services wie VPN oder Protokolle wie TLS werden als Transportverschlüsselung angeboten und verwendet. Eine Cloud-Architektur, die aus «Plug and Play»-Komponenten besteht, kann die Anforderungen von Crypto Agility gut erfüllen, weil auf zentrale Komponenten, die «Services» erbringen, zurückgegriffen wird.

Cloud Stack ist nicht gleich Cloud Stack. Zwischen den Architekturen bestehen Unterschiede (17). Bevor die Entscheidung für einen Cloud Provider bzw. dessen Cloud Stack getroffen wird, sollten Abklärungen bezüglich der Architektur erfolgen. Dies schliesst das Setup bezüglich Crypto Agility ein.

Eigene Kryptografie

Kryptografie übt auf Software-Entwickler*innen eine grosse Faszination aus. Es existieren erstaunlich viele selbst entwickelte kryptografische Algorithmen und Bibliotheken, die vermeintlich bessere Ergebnisse erzielen als die standardmässig verwendeten.

Ohne durch eine Vertiefung dieses Themas den Rahmen dieses Blogartikels sprengen zu wollen, empfiehlt Frau Stoppel, die Finger aus folgenden Gründen von eigens erstellten Algorithmen zu lassen:

  • Die Implementierung der standardmässig eingesetzten Algorithmen ist (meist) öffentlich zugänglich und wurde x-fach von Expert*innen aus der Community geprüft.
  • Kryptografie ist von der Mathematik und Theorie her schwierig. Das heisst, Entwickler*innen sollten sehr genau wissen, was sie tun.

Die Wartung eigener Kryptografie-Libraries artet spätestens dann, wenn niemand mehr da ist, der den Code versteht, in einen Albtraum aus.

Implementierung von Krypto-Agilität: Was aus Architektursicht zu beachten ist

Gebiet Kommentar
Komplexität
 In einer gewachsenen IT-Architektur kann vom Legacy Device bis zur Cloud-Umgebung alles vorhanden sein. Je heterogener die Zusammensetzung, um so komplexer wird die Umsetzung von Crypto Agility.
(Nicht) Proprietäre Lösungen
Die verwendeten Komponenten sollten über offene Schnittstellen verfügen. Damit ist gewährleistet, dass der Nutzen der Zentralisierung zum Tragen kommt.
Schlüsselrotation
Es sollten möglichst alle im Unternehmen verwendeten kryptografischen Geheimnisse durch den Krypto-Service erzeugt und rotiert werden können. Dies kann durch Delegation an eine spezialisierte Komponente wie ein HSM erfolgen.
Skalierung
Der Krypto-Service sollte sich den Anforderungen bezüglich des Durchsatzes und den Ausfallzeiten anpassen können.

Tabelle 4 Aus Architektursicht zu beachtende Punkte

Fazit: Was die Führungsigel mitnehmen

Die Ausführungen von Frau Stoppel (Architektin) und die Begeisterung von Herrn Mehlwurm (CISO) erleichterten der CEO den Entscheid, das Thema Crypto Agility aktiv anzugehen.

Frau Stachelig fasste die wichtigsten Aspekte einer auf Krypto-Agilität ausgerichteten IT-Umgebung folgendermassen zusammen:

  • Krypto-Agilität erleichtert die Integration neuer kryptografischer Algorithmen und das Auswechseln von Schlüsseln, Zertifikaten usw.
  • Der Krypto-Service schirmt die IT bezüglich Programmierung und Betrieb vor der inhärent hohen Komplexität ab.
  • Krypto-Agilität zentralisiert die Verarbeitung.
  • Das Asset Management in Verbindung mit Monitoring Reports erlaubt, entdeckte Schwachstellen risikobasiert einzuordnen.

Als ersten Umsetzungsschritt beschlossen die Igel, die IT-Architektur der Laubhaufen AG anzupassen, um den Anforderungen von Crypto Agility gerecht zu werden. Doch die Igel stellten fest, dass das nicht so einfach war wie gedacht. Sie wurden nachdenklich.

Frau Stoppel wollte nicht bereits im ersten Umsetzungsschritt aufgeben und hat sich beim Account-Management-Team von InfoGuard nach Möglichkeiten für die Laubhaufen AG erkundigt.

Crypto Agility Assessment: Schützen Sie Ihre Krypto-Assets

Wir haben Frau Stoppel zu einem Crypto Agility Assessment geraten, das ihr die Umsetzung einer krypto-agilen Umgebung massgeblich erleichtert und folgende Leistungen umfasst:

  • Analysieren der «Crypto Agility Readiness» der IT-Architektur
  • Stärken-Schwächen-Profil
  • Definieren der Entwicklungs- und Optimierungsmöglichkeiten, inklusive Priorisierung
  • Kryptografische Bestandesaufnahme zur Erkennung und Beseitigung von Schwachstellen
  • Umfassender Plan für die Transition in Richtung Krypto-Agilität
  • Unterstützung bei der Suche und Auswahl geeigneter Produkte  

Interessieren auch Sie sich für eine krypto-agile IT-Umgebung? Dann lassen Sie sich von unserem Account-Management-Team ein Crypto Agility Assessment erstellen. Bereiten Sie sich frühzeitig auf den «Q-Day» vor und schützen Sie schon heute Ihre Krypto-Assets. 
Hat Sie unser Artikel zu neuen Umsetzungsideen inspiriert? Dann melden Sie sich für die Blog-Updates an, damit Sie alle weiteren Blogartikel direkt in Ihre Inbox erhalten.