Autoren: Jennifer Brady und Apurva Varalikar
Bisher haben wir den erwarteten Zeitplan für den geplanten FIPS 140-3-Übergang festgelegt (Key FIPS 140-3-Daten) und die wichtigsten Begriffe und Definitionen, die Sie kennen müssen (Teil 1: Wichtige Begriffe und Definitionen). Heute geht unsere Blogserie mit den Unterschieden zwischen FIPS 140-2 und FIPS 140-3 weiter. Dieser Beitrag befasst sich mit den einzelnen Abschnitten der ISO / IEC 19790 / ISO / IEC 24759 (die wir als FIPS 140-3 bezeichnen werden) und zeigt, wie sie den Abschnitten des FIPS 140-2-Standards und den aktuellen IGs zugeordnet sind und sich von diesen unterscheiden . Dieser Beitrag konzentriert sich auf die ersten drei Abschnitte von FIPS 140-2 und verwandten IGs sowie auf die Abschnitte 7.2-7.4 nach ISO / IEC 19790, nämlich die Kryptografiemodulspezifikation, die Schnittstellen und Rollen für Kryptografiemodule sowie die Abschnitte Dienste und Authentifizierung.
Spezifikation kryptografischer Module
Arten kryptografischer Module / kryptografische Grenzen
Der FIPS 140-2-Standard (herausgegeben 2001) wurde ursprünglich mit der Idee geschrieben, dass alle Module waren Hardwaremodule. Erst später wurden verschiedene Modultypen (Hybrid, Software und Firmware) hinzugefügt und in der IG definiert (IGs 1.9, 1.16 und 1.17). Darüber hinaus beschränkte FIPS 140-2 IG 1.9 Hybridmodule auf eine FIPS 140-2 Level 1-Validierung.
FIPS 140-3 umfasst das Hardwaremodul, das Firmware-Modul, das Softwaremodul, das Hybrid-Softwaremodul und Hybrid-Firmware-Modul. In Abschnitt 7.2.2 des Standards wird jeder Modultyp explizit definiert. Es gibt auch keine Einschränkung hinsichtlich der Stufe, auf der ein Hybridmodul im neuen Standard validiert werden kann. Dies sind großartige Neuigkeiten für Anbieter mit Hybridmodulen, die auf einer höheren Ebene als Stufe 1 validiert werden möchten!
Betriebsmodi
Zwei neue Begriffe; „Normalbetrieb“ und „Verschlechterter Betrieb“ wurden in FIPS 140-3 19790 eingeführt und im vorhergehenden Blog vermerkt.
Beim Normalbetrieb ist die gesamte Funktionalität eines kryptografischen Moduls verfügbar und / oder konfigurierbar. dh alle Algorithmen, Sicherheitsfunktionen und Dienste.
Verschlechterter Betrieb ist, wenn eine Teilmenge der Funktionalität verfügbar und / oder konfigurierbar ist, wenn ein Fehlerzustand neu konfiguriert wurde.
Wenn ein Modul einen verschlechterten Betrieb unterstützt, wird der verschlechterte Betrieb unterstützt Der Betriebsmodus kann nur aufgerufen werden, wenn das Modul einen Fehlerzustand verlässt. Was bedeutet das? Ein Mechanismus oder eine Funktion ist ausgefallen, und das Modul ist in den Fehlerzustand eingetreten und gibt eine Fehleranzeige aus. In einem Fehlerzustand kann das Modul, das diesen verschlechterten Betrieb unterstützt, in den verschlechterten Betriebsmodus übergehen und mit reduzierten Fähigkeiten weiterarbeiten. Im Folgenden finden Sie einige zusätzliche Anforderungen, die Sie bei der Vorbereitung Ihrer Module auf den neuen Standard berücksichtigen sollten. Das Modul muss Statusinformationen bereitstellen, wenn der herabgesetzte Betriebsmodus aufgerufen wird, die fehlgeschlagene Funktion isoliert werden muss, alle bedingten Selbsttests durchgeführt werden müssen, bevor eine kryptografische Funktion im herabgesetzten Modus verwendet wird, und nicht zuletzt. wenn im verschlechterten Betriebsmodus versucht wird, einen nicht betriebsbereiten Algorithmus, eine Sicherheitsfunktion oder einen Prozess zu verwenden; Die Dienste müssen angeben, dass ein solcher Versuch unternommen wurde.
Hier ist ein zusätzlicher Kommentar zum verschlechterten Betrieb, wie in FIPS 140-3 angegeben. Der letzte Satz in Abschnitt 7.2.4.3 lautet: „Wenn das Modul die vorbereitenden Selbsttests nicht besteht, darf das Modul nicht in einen beeinträchtigten Betrieb übergehen.“ Warten Sie, Sie sagen, ich dachte, die herabgesetzte Operation sollte verwendet werden, wenn etwas wie ein Selbsttest fehlschlägt, aber hier heißt es, dass Sie sie nicht eingeben können? Denken Sie daran, Sie können den herabgesetzten Modus nur aus einem Fehlerzustand heraus aufrufen Das Modul muss zuerst in den Fehlerzustand und dann in den herabgesetzten Betrieb wechseln und gleichzeitig die anderen oben beschriebenen Anforderungen erfüllen.
Zusätzliche Konzepte
Achten Sie auf den SP 800-140 Dokumente, die CMVP in den kommenden Monaten veröffentlichen wird, um zu prüfen, ob die IGs aus FIPS 140-2, die nicht in der Norm ISO 19790: 2012 / ISO 24759: 2014 behandelt wurden, in einer der Sonderpublikationen behandelt werden. Mehrere IGs aus Abschnitt 1 wird möglicherweise in ein webbasiertes CMVP-Verwaltungshandbuch aufgenommen, während andere weiterhin als IGs behandelt werden.
Schnittstellen für kryptografische Module
Im vorherigen Blog wurden die Arten von Schnittstellen angesprochen eingeführt im ISO-Dokument (HMI: Hardware-Modul-Schnittstelle, SFMI: Software- oder Firmware-Modul-Schnittstelle, HSMI : Hybrid Software Module Interface oder HFMI: Hybrid Firmware Module Interface), daher werden wir diese derzeit nicht diskutieren. Stattdessen werden wir die Eingabe- und Ausgabeschnittstellen berühren.
Traditionelle und neue Schnittstellen
Die FIPS 140-2 und FIPS 140-3 enthalten beide: die vier Dateneingaben der logischen Schnittstelle, die Datenausgabe, die Steuereingabe und die Statusausgabe. FIPS 140-3 führt eine fünfte Schnittstelle ein, die als Steuerausgangsschnittstelle bezeichnet wird. Eine Steuerausgangsschnittstelle wird für die Ausgabe von Befehlen verwendet. Signale und Steuerdaten werden verwendet, um den Betriebszustand zu steuern oder anzuzeigen. Diese Steuerausgabe kann Informationen sein, die an ein anderes kryptografisches Modul gesendet werden. Die Stromschnittstelle ist auch eine Schnittstelle, die für alle außer den Softwaremodulen erforderlich ist.
Vertrauenswürdiger Kanal
Ein weiteres in FIPS 140-3 eingeführtes Konzept ist das eines „vertrauenswürdigen Kanals“ ähnlich dem FIPS 140-2-Konzept eines „vertrauenswürdigen Pfades“ (Abschnitt 4.7.4 und IG 2.1). Es handelt sich um eine sichere Kommunikationsverbindung zwischen dem kryptografischen Modul und dem Endpunktgerät, das Daten an das Modul sendet und von diesem empfängt, um ungeschützte CSPs zu sichern.
Ähnlich wie beim FIPS 140-2 IG 2.1 Es gibt keine Anforderungen für die Verwendung eines vertrauenswürdigen Kanals für die Sicherheitsstufen 1 und 2 in FIPS 140-3. FIPS 140-3 stellt verschiedene Anforderungen an die Sicherheitsstufen 3 und 4, z. B.: Ungeschützte Klartext-CSPs, Schlüsselkomponenten und Authentifizierungsdaten, die bei der Übertragung zwischen dem Modul und einem Sender / Empfänger einen vertrauenswürdigen Kanal verwenden müssen. Der vertrauenswürdige Kanal muss unbefugte Änderungen, Ersetzungen und Offenlegungen verhindern. Dienste, die einen vertrauenswürdigen Kanal verwenden, müssen eine identitätsbasierte Authentifizierung verwenden, und das Modul muss eine Statusanzeige bereitstellen, wenn der vertrauenswürdige Kanal verwendet wird.
FIPS 140-3 stellt eine zusätzliche Anforderung für ein Modul, das einen vertrauenswürdigen Kanal verwendet, unter Sicherheitsstufe 4, die wir in den vorherigen FIPS 140-2 oder IG 2.1 nicht gesehen haben. Ein Level 4-Modul, das einen vertrauenswürdigen Kanal verwendet, muss für alle Dienste, die den vertrauenswürdigen Kanal verwenden, eine identitätsbasierte Multi-Faktor-Authentifizierung verwenden.
Rollen, Dienste und Authentifizierung
Rollen
Der FIPS 140-2-Standard (Abschnitt 4.3.1) verlangt, dass ein Modul sowohl eine Crypto Officer-Rolle als auch eine Benutzerrolle unterstützt, und die Unterstützung einer Wartungsrolle war optional. FIPS 140-3 hat immer noch dieselben drei Rollen, aber nur die Rolle des Kryptooffiziers ist erforderlich (Abschnitt 7.4.2). Die Benutzerrolle und die Wartungsrolle sind jetzt optional.
Dienste
Erforderliche Dienste
Der FIPS 140-2-Standard enthält drei erforderliche Dienste: Status anzeigen , Selbsttests durchführen und genehmigte Sicherheitsfunktionen ausführen (Abschnitt 4.3.2). Dieselben drei Dienste sind in FIPS 140-3 zusätzlich zu zwei zusätzlichen erforderlichen Diensten erforderlich: Anzeigen von Versionsinformationen für Module und Durchführen der Nullstellung (Abschnitt 7.4.3.1). Die „Versionsinformationen des Moduls anzeigen“ erfordern, dass das kryptografische Modul den Modulnamen / die Kennung und die Versionsinformationen ausgibt, die anhand eines Validierungszertifikats überprüft werden können. Die Spezifikationen des Nullisierungsdienstes sind in Abschnitt 7.9.7 definiert und werden in a behandelt zukünftiges Blog.
Bypass-Dienst
Sowohl FIPS 140-2 als auch FIPS 140-3 enthalten den optionalen Bypass-Dienst. FIPS 140-3 fordert ausdrücklich einen Bediener auf, der einen Bypass konfigurieren kann Die Fähigkeit im Modul muss eine autorisierte Rolle übernehmen. Während der FIPS 140-2-Standard diese Anforderung nicht ausdrücklich festlegte, war die am meisten angenommene Authentifizierung bei einer autorisierten Rolle erforderlich, da der Dienst verwendet werden konnte, um CSPs offenzulegen und / oder die Sicherheit der geschützten Informationen zu beeinträchtigen durch das Modul (IG 3.1).
Selbstinitiierte kryptografische Ausgabe
Eine neue Funktion, die in FIPS 140-3 behandelt wird, ist die „selbstinitiierte kryptografische Ausgabefunktion“. Hier kann das Modul kryptografische Operationen oder andere genehmigte Sicherheitsfunktionen ausführen, ohne dass der Bediener eingreifen muss. Der Crypto-Officer kann diese Funktion konfigurieren, während diese Konfiguration bei Neustarts möglicherweise dauerhaft bleibt. Zum Aktivieren des Dienstes sind zwei interne Aktionen erforderlich, und das Modul muss anzeigen, dass der Dienst aktiviert ist.
Laden von Software / Firmware
Das Laden von Software / Firmware wird im FIPS 140-2 behandelt Standard und in IG 9.7 im Rahmen des erforderlichen Selbsttests beim Laden von Software / Firmware. FIPS 140-2 behandelt es nicht als Dienstleistung, wie wir in FIPS 140-3 (Abschnitt 7.4.3.4) sehen. Zu den Anforderungen, die im Dokument angegeben sind, gehört, dass alle geladenen Software / Firmware von einer Validierungsbehörde validiert werden müssen, damit das Modul ein validiertes Modul bleibt. Hier muss die gesamte Datenausgabe gesperrt werden, bis die Software / Firmware erfolgreich abgeschlossen wurde. Der Software- / Firmware-Auslastungstest muss durchgeführt werden, bevor der Code ausgeführt wird. Das Modul darf den geladenen Code erst ausführen, wenn die vorbereitenden Selbsttests erfolgreich ausgeführt wurden, und nicht zuletzt müssen die Versionsinformationen des Moduls aktualisiert werden, um das Hinzufügen / Aktualisieren der Software / Firmware widerzuspiegeln.
Zusätzlicher Kommentar
Nicht authentifizierte Dienste werden in FIPS 140-3 nicht explizit behandelt. Daher müssen wir prüfen, ob dieses Konzept, das in der aktuellen IG 3.1 behandelt wird, übernommen wird in eines der SP800-140-Dokumente. Mehr dazu in zukünftigen Blogs.
Authentifizierung
FIPS 140-3 ähnelt FIPS 140-2 für die Authentifizierung auf den Sicherheitsstufen 1-3: (ISO 19790: Stufe 1 – keine Authentifizierungsanforderungen; Stufe 2 – minimale rollenbasierte Authentifizierung; Stufe 3 – identitätsbasierte Authentifizierung). Der größte Unterschied besteht darin, dass für Stufe 2 das Wort „Minimum“ hinzugefügt wurde, das der in IG 3.4 behandelten Klarstellung entspricht. Die Authentifizierung der Stufe 4 im ISO-basierten FIPS 140-3-Standard nimmt die Authentifizierung auf Eine Ebene, bei der nicht nur eine identitätsbasierte Authentifizierung erforderlich ist. Für die Authentifizierung der Ebene 4 muss sie identitätsbasiert sein.
In diesem Abschnitt sind einige zusätzliche Punkte zu beachten, nämlich FIPS 140-2 Die Stärke der vom Modul benötigten Authentifizierung wurde angegeben. Die Stärke ist nicht in FIPS 140-3 definiert, muss jedoch in der Sicherheitsrichtlinie des Moduls angegeben werden. Höchstwahrscheinlich wird jede Validierungsbehörde eine Authentifizierungsstärke in ihre zusätzliche Dokumentation aufnehmen.
Genehmigte Authentifizierungsmechanismen können nicht durch dokumentierte Verfahren oder Sicherheitsregeln (z. B. Richtlinien) implementiert werden. Dies bedeutet, dass Einschränkungen der Kennwortgröße vom Modul konfiguriert und durchgesetzt werden müssen. Dies kann sich auf die Funktionsweise mehrerer der aktuellen Module auswirken , Beachten Sie dies, wenn Sie Ihre Module auf ISO-Anforderungen vorbereiten.
Kurz
Es gibt viel zu lernen über die Unterschiede zwischen FIPS 140-2 und FIPS 140-3. Während es eine Vielzahl von Ähnlichkeiten gibt, gibt es auch einige Änderungen. Unsere Reihe zu diesem Thema wird fortgesetzt und mit jedem Beitrag einen neuen Bereich angesprochen. Wie immer können Sie sich bei Fragen direkt an uns wenden. Unser Team ist immer für Sie da.