All Articles

Kernel-unabhängige FIPS-Images

Dimitri John Ledkov, leitender Ingenieur

Chainguard FIPS-Images sind jetzt für die Bereitstellung auf jedem Linux-Kernel verfügbar. Zuvor mussten Entwickler dedizierte Hardware und virtuelle Maschinen (VMs) mit dem im FIPS-Modus konfigurierten Host-Kernel bereitstellen. In nativen oder gemeinsam genutzten Cloud-Umgebungen erhöhte diese Anforderung die betriebliche Komplexität erheblich, indem sie eine Abhängigkeit von einer begrenzten Anzahl von FIPS-fähigen Kerneln erzwang. Für Engineering- und Sicherheitsteams bedeutete dies, teure Legacy-Software zu patchen und zu warten. Für Compliance-Teams bedeutete dies zusätzliche Hindernisse auf dem Weg zur Erreichung und Aufrechterhaltung der Einhaltung kritischer Vorschriften.

Chainguard FIPS Images beseitigt diese Reibung mit einem neuartigen Design, das eine Kernel-Entropiequelle durch eine Benutzeroberfläche ersetzt. Diese Implementierung ermöglicht es Entwicklern, FIPS-Workloads mit einem der neuesten Kernel-, Hardware- und Instanztypen bereitzustellen. Chainguard FIPS Images schalten somit die Möglichkeit frei, FIPS-Workloads auf Entwicklermaschinen, bestehenden CI/CD-Bereitstellungen und sogar auf leicht verfügbaren, nicht von FIPS verwalteten Cloud-Angeboten auszuführen. All dies kann unter Verwendung der neuesten Benutzerlaufzeiten wie NodeJS, Python, Go, PHP, .NET und C/C++ erfolgen.

Mit Chainguard können Sie bessere und sicherere Software erstellen, indem Sie Workloads auf der neuesten Hardware, den leistungsfähigsten Instanztypen und den neuesten Anwendungslaufzeiten bereitstellen. Chainguard Images bieten all diese Flexibilität bei gleichzeitiger Aufrechterhaltung von null CVEs unter unserem SLA, der Bereitstellung von FIPS-Compliance und der Beseitigung redundanter Investitionen in FIPS-spezifische Betriebssysteme.

In diesem Artikel werden wir uns näher mit dem „gestrigen Design“ von FIPS-Bereitstellungen befassen und was Chainguard tut, um die Bereitstellung von FIPS heute zu erleichtern.

Generischer FIPS Yesterday

Kryptographischer Schutz beruht auf der sicheren Implementierung eines vertrauenswürdigen Algorithmus und eines Zufallsbitgenerators, der nicht vernünftigerweise mit einer höheren Genauigkeit als der Zufallswahrscheinlichkeit vorhergesagt werden kann. Um diese Implementierungen zu zertifizieren, betreibt das National Institute of Standards and Technology (NIST) ein kryptografisches Zertifizierungsprogramm namens Cryptographic Module Validation Program (CMVP). CMVP bestätigt, dass die Implementierung den unten aufgeführten relevanten Standards entspricht.

  • Für die Algorithmus-Implementierung erfordert CMVP die strikte Einhaltung der FIPS-Standards. Daher müssen FIPS-Module innerhalb einer selbst verifizierten kryptografischen Grenze liegen.

  • Für Zufallsbitgeneratoren erfordert CMVP die strikte Einhaltung der SP 800-90B-Empfehlungen und ermöglicht es Entropiequellen, sich entweder innerhalb oder außerhalb der kryptografischen FIPS-Grenze zu befinden.

Um diese Konformitätsanforderung zu erfüllen, greifen Container traditionell auf die SP 800-90B-konforme Entropiequelle zu, die von einem zertifizierten Kernel bereitgestellt wird. Siehe Abbildung 1 für eine grafische Darstellung dieser Kombination.

Figure 1. A Traditional System for Achieving FIPS Compliance When Running Containers

Es gibt ein Hauptproblem bei diesem Design: Während Containeranwendungen Zugriff auf die Kernel-Entropiequelle benötigen, verwenden sie nicht das Kernel-FIPS-Modul. Das obige Design schafft unnötigerweise eine Abhängigkeit von einer zweiten kryptografischen FIPS-Grenze, was zu doppelten Wartungs- und Zertifizierungsbemühungen führt.

Dieses Design, das die Aufrechterhaltung der kryptografischen FIPS-Grenzen auf Kernel-Ebene erfordert, führt zu erheblichen Reibungsverlusten für Anbieter, die FIPS-konforme Workloads für moderne Cloud-native Anwendungen bereitstellen. Erstens sind nur sehr wenige Versionen des Linux-Kernels zertifiziert. Zweitens sind die Zeitpläne für die Linux-Kernel-Zertifizierung oft lang und mühsam.

Letztendlich führt dies zu einer sehr begrenzten Auswahl an zertifizierten Laufzeiten und kompatibler zugrunde liegender Hardware, auf die Entwickler aufbauen können. In der Praxis bedeutet dies, dass ein zertifizierter Kernel eines bestimmten Anbieters über 5 Jahre alt sein kann. Veraltete Kernel haben in der Regel keine Unterstützung und Optimierungen für die neueste Generation von Hardware und sind oft inkompatibel mit den neuesten Cloud-Instanztypen. Es bedeutet auch, dass bei Beibehaltung desselben Anbieters die Anwendungslaufzeiten ebenso veraltet und anfällig sind.

Chainguard FIPS Today

Chainguard hat eine sauberere Lösung eingeführt und implementiert, bei der das FIPS-Modul und die Entropiequelle SP 800-90B gemeinsam im Benutzerbereich des Containerbilds angeordnet werden können. Dies macht einen zertifizierten Linux-Kernel für die meisten Workloads überflüssig und rationalisiert den Engineering-Aufwand für Workload-Bereitstellungen. Aus diesem Grund werden Chainguard FIPS-Bilder jetzt mit einer zertifizierten Entropiequelle des Benutzerbereichs SP 800-90B ausgeliefert. Siehe Abbildung 2 für eine grafische Darstellung dieses neuen kernelunabhängigen FIPS.

Figure 2. A Kernel-Independent FIPS Implementation for Chainguard Images

Unter Chainguards neuartigem Design kann das Container-Image für eine bestimmte FIPS-Anwendung vollständig in sich geschlossen, minimal und distroless sein. Jedes Behälterbild wird sowohl mit einem zertifizierten FIPS-Modul als auch mit einer zertifizierten SP 800-90B-Entropiequelle geliefert. Dieses Container-Image kann auf jeder benutzerbestätigten Betriebsumgebung bereitgestellt werden, einschließlich der neuesten Generationen von Hardware- und Host-Kernel-Versionen.

Darüber hinaus ist Chainguards Design für die Mehrheit der Programmiersprachen-Ökosysteme wie Python, NodeJS, Go, .NET, PHP und C/C++ und andere verfügbar. Die Standardbibliothek in dem jeweiligen Ökosystem verwendet OpenSSL, das selbst zur Laufzeit für die Verwendung eines zertifizierten FIPS-Moduls und einer zertifizierten SP 800-90B-Entropiequelle konfiguriert wurde. Kurz gesagt, dieses Design ermöglicht FIPS-konforme Kryptographie bei Verwendung der meisten Programmiersprachen-Ökosysteme. Hier finden Sie die Zertifizierungen von Chainguard.

Die Mehrheit unserer FIPS-Bilder sind jetzt kernelunabhängige FIPS-Bilder, einschließlich:

… und viele andere Anwendungen, die auf diesen Sprachökosystemen aufbauen. Schauen Sie sich unseren vollständigen Katalog mit über 300 Chainguard FIPS-Bildern an, um zu sehen, was wir anbieten.

Entwickler können alle diese Container über eine Vielzahl von Bereitstellungen und Anwendungsfällen ausführen:

 

  • Entwickler-Workstations

  • Vorhandene CI/CD-Pipelines

  • Bereitstellungen, die eine FIPS-Zertifizierung erfordern, wie FedRAMP und DoD

Mit einer einheitlichen Codebasis, Abhängigkeiten und Bereitstellung können Sie FIPS standardmäßig ohne den mühsamen zusätzlichen Aufwand erreichen.

Einschränkungen

Es gibt einige Workloads, die eine Kernel SP 800-90B Entropiequelle oder ein Kernel FIPS-Modul erfordern. Dazu gehören unter anderem: Chainguard FIPS-Bilder, die Java versenden (AUGUST 2025 BEARBEITEN: Dies ist nicht mehr der Fall, da wir kernelunabhängige FIPS-Bilder für Java angekündigt haben), k8s CNI-Plugins, LUKS2-Vollplattenverschlüsselung und StrongSwan VPN. Diese Anwendungsfälle erfordern weiterhin einen Kernel im FIPS-Modus.

Vollständig Open-Source-Lösung

Bei der Implementierung unseres kernelunabhängigen FIPS-Designs stützte sich Chainguard auf unsere kommerziellen Partnerschaften und starke Bindungen zur Open-Source-Community. Wir haben uns auf vollständig Open-Source-Software verlassen und unsere Implementierung in die Community eingebracht. Die technische Arbeit, die es OpenSSL ermöglichte, die Jitter Entropy Library zu verwenden, wurde von Chainguard zum OpenSSL-Projekt in Version 3.4.0 unter einer freizügigen Apache-2.0-Lizenz beigetragen. Die Jitter Entropy-Bibliothekstechnologie wird von der Mehrheit der FIPS Linux-Kernel verwendet, um als SP 800-90B Entropiequelle zu zertifizieren.

Dank des OpenSSL-Supportvertrags konnten wir die Rebranding-Zertifizierung des OpenSSL FIPS-Moduls mit dem Acumen-Zertifizierungslabor erreichen. Zusammen mit dem Atsec-Zertifizierungslabor konnten wir die Entropiequelle SP 800-90B in Rekordzeit zertifizieren.

Letztendlich hat Chainguard eine FIPS-Container-Image-Implementierung in Produktionsqualität erstellt, die vollständig Open-Source ist.

Chainguard FIPS-Images: Keine Kompromisse Erforderliche

Chainguard FIPS-Images sind eine ideale Lösung für die Bereitstellung von SaaS-, On-Premise- und physischen Edge-Geräten. Chainguard ermöglicht es Entwicklern, ihre Codebasen und Laufzeitabhängigkeiten zwischen kommerziellen und FIPS-Produktlinien zu vereinheitlichen und ihre Wahl des Linux-Kernels zu standardisieren. Engineering-Organisationen sind nicht mehr verpflichtet, Kompromisse zwischen der Auswahl der neuesten und besten Software, kompatibler Hardware und dem Erreichen der FIPS-Compliance einzugehen.

Auf unserer Mission, die sichere Quelle für Open Source zu werden, werden wir es einfacher machen, bessere Software zu entwickeln. Das bedeutet, Kernel schneller zu aktualisieren, in der Nähe der Hauptdistributionsversion zu bleiben und den Kernel standardmäßig zu sichern.

Schauen Sie sich unseren vollständigen Katalog mit über 300 Chainguard FIPS-Bildern an und kontaktieren Sie uns, wenn Sie mehr erfahren möchten!

Share this article

Related articles

Want to learn more about Chainguard?