Einleitung
FIPS wurde eigentlich nur von US-Behörden als Normenreihe entwickelt. Die Abkürzung steht für Federal Information Processing Standards. Verantwortlich ist das National Institute of Standards and Technology (NIST); die formale Freigabe erfolgt durch den US-Handelsminister.
Der Zweck war, einheitliche, überprüfbare Sicherheitsanforderungen für den Schutz sensibler, nicht als geheim eingestufter Regierungsdaten festzulegen. Dazu gehören sichere Schlüsselverwaltung, Zugriffsschutz, Selbsttests und – je nach Sicherheitsstufe – Schutz gegen physische Manipulation. US-Behörden erhielten damit einen gemeinsamen Maßstab für die Beschaffung kryptografischer Produkte.
Deutsche Unternehmen unterliegen keiner allgemeinen Pflicht, FIPS 140 einzuhalten. Der Standard richtet sich unmittelbar an US-Bundesbehörden und an kryptografische Module, die in deren Auftrag betrieben werden. Die DSGVO verlangt keine FIPS-Zertifizierung.
FIPS 140 erfasst die konkrete Umsetzung kryptografischer Funktionen in Software, Firmware oder Hardware. Dazu gehören folgende Bereiche; die Beispiele sind eine Auswahl aus den aktuellen NIST-Vorgaben für FIPS 140-3:
| Bereich | Beispiele zugelassener Verfahren |
|---|---|
| Verschlüsselung | AES, etwa mit GCM, CCM oder XTS für den jeweiligen Einsatzzweck |
| Hashfunktionen | SHA-256, SHA-384, SHA-512, SHA-3 |
| Nachrichtenauthentifizierung | HMAC, AES-CMAC, GMAC |
| Digitale Signaturen | RSA, ECDSA, EdDSA |
| Schlüsselvereinbarung und -transport | Zugelassene Verfahren auf Basis von Diffie-Hellman, ECDH und RSA |
| Schlüsselableitung | Beispielsweise HKDF unter den jeweiligen Vorgaben |
| Zufallszahlenerzeugung | Generatoren und Entropiequellen nach NIST SP 800-90 |
| Post-Quanten-Kryptografie | ML-KEM für Schlüsselkapselung; ML-DSA und SLH-DSA für Signaturen |
Die nachfolgende Tabelle fasst die Vorgaben nach Verfahren zusammen. Sie beschreibt die vorgegebene Sperrliste.
Alle genannten .NET-Typen gehören zum Namensraum System.Security.Cryptography.
| Verfahren | Betroffene .NET-Typen bzw. Einstellungen |
|---|---|
| MD5 – Hashfunktion | MD5, MD5CryptoServiceProvider |
| HMAC-MD5 – Nachrichtenauthentifizierung | HMACMD5 |
| SHA-1 – Hashfunktion | SHA1, SHA1Managed, SHA1CryptoServiceProvider |
| HMAC-SHA1 – Nachrichtenauthentifizierung | HMACSHA1 |
| RIPEMD-160 – Hashfunktion | RIPEMD160 |
| DES – symmetrische Verschlüsselung | DES, DESCryptoServiceProvider |
| RC2 – symmetrische Verschlüsselung | RC2, RC2CryptoServiceProvider |
| TripleDES / 3DES – symmetrische Verschlüsselung | TripleDES, TripleDESCryptoServiceProvider |