FIPS 140 (”Federal Information Processing Standard”) är en serie säkerhetsstandarder publicerade av den amerikanska regeringen som specificerar säkerhetskrav för utvärdering av kryptografiska moduler. FIPS 140-3 är den senaste versionen; denna iteration av FIPS har nödvändiga ändringar relaterade till design, implementering och drift av en kryptografisk modul.
Vad är FIPS 140-3?
FIPS 140-3 är en standard som utvecklats av National Institute of Standards and Technology (NIST) och Communications Security Establishment Canada (CSEC) för att definiera de krav som en kryptografisk modul ska uppfylla för att skydda känslig information.
FIPS 140-3 ersätter FIPS 140-2 och beskriver uppdaterade federala säkerhetskrav för kryptografiska moduler. De nya standarderna överensstämmer med ISO/IEC 19790:2012(E) och inkluderar modifieringar av bilagorna som är tillåtna enligt Valideringsprogram för kryptografiskt moduler (CMVP), som en valideringsinstans.
FIPS 140-3 trädde i kraft den 22 september 2019, vilket gör det möjligt för CMVP att börja acceptera valideringsinlämningar enligt det nya systemet från och med september 2020. CMVP fortsätter att validera kryptografiska moduler enligt Federal Information Processing Standard (FIPS) 140-2 Security Requirements for Cryptographic Modules fram till den 22 september 2021.
Status för FIPS 140-2
FIPS 140-2-moduler kan förbli aktiva i 5 år efter validering eller fram till den 21 september 2026, då FIPS 140-2-valideringarna flyttas till den historiska listan. Även på den historiska listan stöder CMVP köp och användning av dessa moduler för befintliga system. CMVP rekommenderar att köpare överväger alla moduler som visas på söksidan för validerade moduler och uppfyller deras krav för det bästa valet av kryptografiska moduler, oavsett om modulerna är validerade mot FIPS 140-2 eller FIPS 140-3.
Övergångsschema från FIPS 140-2 till FIPS 140-3
Tidpunkten för övergången visas nedan:
| Datum | Aktivitet |
|---|---|
| Mars 22, 2019 | FIPS 140-3-godkänd |
| September 22, 2019 | FIPS 140-3 ikraftträdandedatum Utkast till SP 800-140x (Offentliga kommentarer avslutades 12-9-2019) |
| Mars 20, 2020 | Publicering av SP 800-140x-dokument |
| May 20, 2020 | Uppdaterad CMVP-programhanteringsmanual för FIPS 140-2 |
| July 1, 2020 | Testarens kompetensprov uppdaterat för att inkludera FIPS 140-3 |
| September 21, 2020 | Implementeringsvägledning för FIPS 140-3 CMVP-hanteringsmanual för FIPS 140-3 |
| September 22, 2020 | CMVP accepterar FIPS 140-3-inlämningar |
| September 21, 2021 | CMVP slutar acceptera FIPS 140-2-inlämningar för nya valideringscertifikat |
| September 21, 2026 | Återstående FIPS 140-2-certifikat flyttas till den historiska listan |
Tabell: Övergångsschema
FIPS 140-3-godkända kryptografiska algoritmer:
När vi säger FIPS-godkänd algoritm syftar det generellt på en algoritm eller teknik som antingen specificeras i en FIPS or NIST rekommendation eller antagen i en FIPS- eller NIST-rekommendation (specificerad i en bilaga eller i ett dokument som hänvisas till i FIPS- eller NIST-rekommendationen).
Blockchifferalgoritmer:
Flera blockchifferalgoritmer har specificerats för användning av den federala regeringen. Godkännandestatusen för blockchifferkrypterings-/dekrypteringslägena anges i tabellen nedan:
| Algoritm | Status |
|---|---|
| Tvånyckel TDEA-kryptering | otillåtna |
| Tvånyckel TDEA-dekryptering | Äldre användning |
| Tre-nyckel TDEA-kryptering | Avvecklad till och med 2023 Inte tillåtet efter 2023 |
| Tre-nyckel TDEA-dekryptering | Äldre användning |
| SKIPJACK-kryptering | otillåtna |
| SKIPJACK-dekryptering | Äldre användning |
| AES-128 kryptering och dekryptering | Acceptabel |
| AES-192 kryptering och dekryptering | Acceptabel |
| AES-256 kryptering och dekryptering | Acceptabel |
Tabell: Godkännandestatus för symmetriska algoritmer som används för kryptering och dekryptering
Digitala signaturer:
Digitala signaturer används för att säkerställa ursprungsautentisering och dataintegritet. DSA, ECDSA och RSA är tillåtna, men endast med vissa parametrar. övergångsvägledning ger en praktisk sammanfattning, som visas nedan:
| Digital signaturprocess | Status |
|---|---|
| Generering av digitala signaturer | |
| <112 bitars säkerhetsstyrka: DSA: (L, N) ≠ (2048, 224), (2048, 256) eller (3072, 256) ECDSA: len(n) < 224 RSA: längd(n) < 2048 | otillåtna |
| ≥ 112 bitars säkerhetsstyrka: DSA: (L, N) = (2048, 224), (2048, 256) eller (3072, 256) ECDSA eller EdDSA: len(n) ≥ 224 RSA: längd(n) ≥ 2048 | Acceptabel |
| Verifiering av digital signatur | |
| < 112 bitars säkerhetsstyrka: DSA32: ((512 ≤ L < 2048) eller (160 ≤ N < 224)) ECDSA: 160 ≤ len(n) < 224 RSA: 1024 ≤ längd(n) < 2048 | Äldre användning |
| ≥ 112 bitars säkerhetsstyrka: DSA: (L, N) = (2048, 224), (2048, 256) eller (3072, 256) ECDSA och EdDSA: len(n) ≥ 224 RSA: längd(n) ≥ 2048 | Acceptabel |
Hashfunktioner:
En hashfunktion tar en grupp tecken (kallad en nyckel) och mappar den till ett värde av en viss längd (kallat ett hashvärde eller hash). Hashvärdet representerar den ursprungliga teckensträngen men är normalt mindre än originalet.
En hashfunktion används för att producera en kondenserad representation av dess indata, där den tar en indata av godtycklig längd och matar ut ett värde med en förutbestämd längd. Hashfunktioner används vid generering och verifiering av digitala signaturer, för nyckelderivering, för generering av slumptal, vid beräkning av meddelandeautentiseringskoder och för hash-only-applikationer.
Ocuco-landskapet Övergångsriktlinjer Dokumentet sammanfattar när SHA-1, SHA-2 etc. kan användas.
| Hash-funktion | Status |
|---|---|
| SHA-1 | |
| Generering av digitala signaturer | Ej tillåtet, förutom där det specifikt är tillåtet enligt NIST-protokollspecifik vägledning |
| Verifiering av digital signatur | Äldre användning |
| Icke-digitala signaturapplikationer | Acceptabel |
| SHA-2-familjen (SHA224, SHA-256, SHA-384, SHA-512, SHA-512/224 och SHA-512/256) | Acceptabel för alla hashfunktionsapplikationer |
| SHA-3-familjen (SHA3-224, SHA3-256, SHA3-384 och SHA3-512) | Acceptabel för alla hashfunktionsapplikationer |
| TupleHash och ParallelHash | Godtagbar för de ändamål som anges i SP 800-185 |
Tabell: Godkännandestatus för hashfunktioner
FIPS 140-2 jämfört med FIPS 140-3
| Specifikationer | FIPS 140-2 | FIPS 140-3 |
|---|---|---|
| Kryptografisk modul | FIPS 140-2-standarden (utgiven 2001) skrevs med tanken att alla moduler var hårdvarumoduler. Senare lades olika typer av moduler (hybrid, mjukvara och firmware) till och definierades i IG (IGs 1.9, 1.16 och 1.17). | FIPS 140-3 kommer att inkludera hårdvarumodulen, firmwaremodulen, mjukvarumodulen, hybrid-mjukvarumodulen och hybrid-mjukvarumodulen. |
| Kryptografisk gräns | FIPS 140-2 IG 1.9 begränsade hybridmoduler till en FIPS 140-2 nivå 1-validering | Det finns inte heller någon begränsning för på vilken nivå en hybridmodul kan valideras i den nya standarden. |
| roller | FIPS 140-2-standarden (avsnitt 4.3.1) kräver att en modul stöder både en kryptohandläggarroll och en användarroll, och stödet för en underhållsroll var valfritt. | FIPS 140-3 har fortfarande samma tre roller, men endast rollen som kryptoansvarig krävs (avsnitt 7.4.2). Användarrollen och underhållsrollen är nu valfria. |
| Autentisering | ISO 19790: Nivå 1 - inga autentiseringskrav Nivå 2 – minimal rollbaserad autentisering Nivå 3 – identitetsbaserad autentisering | ISO 19790: FIPS 140-3 liknar FIPS 140-2 för autentisering på säkerhetsnivåerna 1–3. Nivå 4 har också lagts till i FIPS 140-3. För nivå 4-autentisering måste den vara baserad på flerfaktoridentitet. |
Tabell: Godkännandestatus för symmetriska algoritmer som används för kryptering och dekryptering
Sammanfattning:
FIPS 140-3 har äntligen godkänts och lanserats som den senaste standarden för säkerhetsutvärdering av kryptografiska moduler. Den täcker ett brett spektrum av hot och sårbarheter eftersom den definierar säkerhetskraven från den inledande designfasen fram till den slutliga driftsättningen av en kryptografisk modul. FIPS 140-3-kraven är huvudsakligen baserade på de två tidigare existerande internationella standarderna ISO/IEC 19790:2012 "Säkerhetskrav för kryptografiska moduler" och ISO 24759:2017 "Testkrav för kryptografiska moduler".
FIPS 140-3 tidslinjer:

Tidslinjen: FIPS 140-3 tidslinjer:
Källor
www.nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-131Ar2.pdf
www.csrc.nist.gov/projects/cryptographic-module-validation-program
