FIPS 140-3 is een Amerikaanse overheidsnorm die beveiligingseisen specificeert voor cryptografische modules, inclusief hardware- en softwarecomponenten. Deze beveiligingseisen zijn bedoeld om te garanderen dat cryptografische modules een minimaal beveiligingsniveau bieden ter bescherming van gevoelige informatie en transacties.
Enkele van de belangrijkste beveiligingsvereisten die in FIPS 140-3 zijn gespecificeerd, zijn onder meer:
-
Cryptografische modulespecificatie
Een gedetailleerde specificatie van de cryptografische module, inclusief de fysieke en logische grenzen, interfaces en beveiligingsfuncties.
-
Rollen en diensten
Een definitie van de rollen en diensten die door de cryptografische module worden aangeboden, inclusief sleutelbeheer, encryptieen authenticatie.
-
Cryptografische algoritmen
Een lijst met goedgekeurde cryptografische algoritmen die door de cryptografische module kunnen worden gebruikt, samen met specifieke vereisten voor sleutellengte, blokformaat en andere parameters.
-
Sleutelbeheer
Vereisten voor het genereren, opslaan en beschermen van cryptografische sleutels, inclusief beheer van de levenscyclus van sleutels en vernietiging.
-
Fysieke bewaking
Vereisten voor fysieke beveiligingsmaatregelen om de cryptografische module te beschermen tegen ongeautoriseerde toegang, manipulatie en diefstal.
-
Logische beveiliging
Vereisten voor logische beveiligingsmaatregelen om de cryptografische module te beschermen tegen aanvallen zoals malware, side-channel-aanvallen en ongeautoriseerde toegang.
-
Beveiligingstesten en -validatie
Vereisten voor het testen en valideren van de beveiliging van de cryptografische module, inclusief kwetsbaarheidstests, penetratietests en nalevingstesten.
Algemene vereisten voor elk niveau van FIPS 140-3
De onderstaande tabel geeft de algemene vereisten voor elk niveau van FIPS 140-3 weer
| Algemene eisen | |||
|---|---|---|---|
| Niveau 1 | Niveau 2 | Niveau 3 | Niveau 4 |
|
|
|
|
Tabel 1: Algemene vereisten van FIPS 140-3 voor elk niveau
Dit zijn de algemene vereisten voor elk niveau van FIPS 140-3. Er zijn echter veel specifieke vereisten voor elk niveau, en de vereisten voor elk niveau zijn behoorlijk gedetailleerd. Het doel van de standaard is om een kader te bieden voor het evalueren en certificeren van de beveiliging van cryptografische modules. De specifieke vereisten voor elk niveau zijn ontworpen om ervoor te zorgen dat de module een bepaald niveau van bescherming biedt tegen verschillende aanvallen.
FIPS 140-3 Beveiligingsvereisten voor elk niveau
FIPS 140-3 is een beveiligingsstandaard die de vereisten definieert voor cryptografische modules die gevoelige gegevens beschermen.
FIPS 140-3 niveau 1
Niveau 1 van FIPS 140-3 biedt het laagste beveiligingsniveau en is bedoeld voor gebruik in toepassingen met een laag risico. De beveiligingsvereisten voor niveau 1 zijn als volgt.
-
Cryptografische modulespecificatie
De module moet een beknopte specificatie bevatten waarin de cryptografische functies, interfaces en protocollen worden beschreven.
-
Rollen, services en authenticatie
De module moet de rollen, services en authenticatiemechanismen definiëren die nodig zijn voor een veilige werking.
-
Fysieke bewaking
De module moet fysieke beveiligingen hebben om bescherming te bieden tegen ongeautoriseerde toegang, diefstal of manipulatie.
-
Ontwerpborging
De module moet een uitgebreid ontwerpproces hebben ondergaan, inclusief beveiligingsanalyse en -testen.
-
Vermindering van aanvallen
De module moet maatregelen bevatten om aanvallen te voorkomen of te beperken, zoals software- of hardwarematige tegenmaatregelen.
-
Zelftests
De module moet zelftests uitvoeren om te garanderen dat deze correct functioneert en om pogingen tot manipulatie te detecteren
-
Ontwerp van de omgeving
De module moet zo ontworpen zijn dat deze onder verschillende omgevingsomstandigheden kan functioneren, zoals temperatuur, vochtigheid en elektromagnetische interferentie.
-
Cryptografisch sleutelbeheer
De module moet beveiligd zijn sleutelbeheer processen om ervoor te zorgen dat cryptografische sleutels veilig worden gegenereerd, opgeslagen en gebruikt.
FIPS 140-3 niveau 2
Niveau 2 van de FIPS 140-3-norm beschrijft de beveiligingsvereisten voor een cryptografische module die een matige beveiligingsgarantie biedt. Hieronder volgen de specifieke beveiligingsvereisten voor een cryptografische module om FIPS 140-3 niveau 2 te behalen.
-
Fysieke bewaking
De module moet fysiek beschermd zijn tegen ongeautoriseerde toegang, manipulatie en diefstal. Hij moet bestand zijn tegen omgevingsgevaren zoals brand, water en elektromagnetische interferentie.
-
Cryptografisch sleutelbeheer
De module moet beschikken over krachtige sleutelbeheermechanismen die de vertrouwelijkheid, integriteit en beschikbaarheid van cryptografische sleutels garanderen. De module moet sleutels beschermen tegen ongeautoriseerde toegang, wijziging en vernietiging.
-
Authenticatie en toegangscontrole
De module moet gebruikers authenticeren en de toegang beperken tot geautoriseerde gebruikers. Er moet een sterk wachtwoordbeleid en mechanismen zijn om brute-force-aanvallen te voorkomen.
-
Auditregistratie en rapportage
De module moet alle beveiligingsgerelateerde gebeurtenissen registreren en rapporten verstrekken aan geautoriseerde gebruikers. De module moet tevens mechanismen bevatten om auditlogs te beschermen tegen manipulatie of vernietiging.
-
Software beveiliging
De module moet ontworpen zijn met veilige softwarepraktijken die het risico op beveiligingsproblemen minimaliseren. De software moet worden getest op beveiligingslekken en kwetsbaarheden en regelmatig worden bijgewerkt met beveiligingsupdates en patches.
-
Communicatiebeveiliging
De module moet veilige communicatieprotocollen en encryptie gebruiken om gegevens tijdens de overdracht te beschermen. De module moet ook mechanismen bevatten om ongeautoriseerde toegang tot gegevens die via netwerken worden verzonden, te voorkomen.
-
Cryptografische algoritmen
De module moet goedgekeurde cryptografische algoritmen en standaarden gebruiken die NIST is gevalideerd. De module moet ook mechanismen bevatten om het gebruik van zwakke of verouderde cryptografische algoritmen te voorkomen.
FIPS 140-3 niveau 3
Niveau 3 van de FIPS 140-3-standaard beschermt tegen ongeautoriseerde toegang tot cryptografische modules en gevoelige informatie. Het is tevens het op twee na hoogste niveau van FIPS 140-3. Hieronder volgen de beveiligingsvereisten voor niveau 3.
-
Fysieke bewaking
De cryptografische module moet fysiek beveiligd zijn tegen ongeautoriseerde toegang, manipulatie, diefstal en beschadiging. De module moet ook bestand zijn tegen fysieke aanvallen, zoals boren, snijden en sonderen. De module moet zich in een beveiligde ruimte bevinden met toegangscontrole, videobewaking en inbraakdetectiesystemen.
-
Cryptografisch sleutelbeheer
De cryptografische module moet beschikken over een krachtig sleutelbeheersysteem dat de veilige generatie, opslag, distributie en vernietiging van cryptografische sleutels garandeert. Het sleutelbeheersysteem moet gebruikmaken van krachtige cryptografische algoritmen, zoals Advanced Encryption Standard (AES)en beschikken over belangrijke back-up-, herstel- en vernietigingsmechanismen.
-
Cryptografische bewerkingen
De cryptografische module moet cryptografische bewerkingen veilig en betrouwbaar uitvoeren. De module moet goedgekeurde cryptografische algoritmen en protocollen gebruiken, zoals Transport Layer Security (TLS), Secure Sockets Layer (SSL), en IPsec. De module moet ook beschikken over mechanismen voor foutdetectie en -correctie en cryptografische uitzonderingen en fouten afhandelen.
-
Zelftests en manipulatiebewijs
De cryptografische module moet beschikken over zelftests en manipulatiebeveiligingsmechanismen die ongeautoriseerde wijzigingen, manipulatie of vervanging van de hardware of software van de module detecteren en voorkomen. De zelftests moeten periodiek worden uitgevoerd en moeten controles omvatten op de integriteit en authenticiteit van de firmware, hardware en software van de module.
-
Ontwerpborging
De cryptografische module moet een sterke ontwerpgarantie hebben die garandeert dat aan de beveiligingsvereisten van de module wordt voldaan gedurende de gehele levenscyclus. Een onafhankelijke externe evaluator moet het ontwerp van de module beoordelen en verifiëren. De module moet worden getest aan de hand van een reeks beveiligingsvereisten zoals gedefinieerd in de FIPS 140-3-norm. De ontwerpgarantie vereist ook het gebruik van veilige coderingsmethoden, beveiligingstests en beveiligingsdocumentatie.
-
Veiligheidsmanagement
De cryptografische module moet beschikken over een krachtig beveiligingsbeheersysteem dat beleid, procedures en controles omvat voor het beheren van de beveiligingsrisico's van de module. Het beveiligingsbeheersysteem moet mechanismen omvatten voor het controleren, monitoren en rapporteren van beveiligingsgebeurtenissen en het reageren op beveiligingsincidenten en kwetsbaarheden.
FIPS 140-3 niveau 3 biedt sterke bescherming tegen fysieke en logische aanvallen en vereist een hoog niveau van sleutelbeheer, cryptografische bewerkingen, zelftests, manipulatiebewijs, ontwerpborging en beveiligingsbeheer. De beveiligingsvereisten voor niveau 3 zijn ontworpen om gevoelige informatie te beschermen en de integriteit en beschikbaarheid van de cryptografische module te behouden.
FIPS 140-3 niveau 4
Niveau 4 is het hoogste beveiligingsniveau dat in de norm is gedefinieerd en is bedoeld voor toepassingen waarbij de gevolgen van een beveiligingsfout ernstig zijn. Hieronder volgen de belangrijkste beveiligingsvereisten voor FIPS 140-3 Niveau 4.
-
Fysieke bewaking
De cryptografische module moet worden ondergebracht in een robuuste, fraudebestendige behuizing die bestand is tegen fysieke aanvallen, zoals boren, snijden of ponsen. De behuizing moet ook sensoren hebben om ongeautoriseerde toegang te detecteren en alarmen te activeren.
-
Cryptografisch sleutelbeheer
De module moet beschikken over een sterk, verifieerbaar en controleerbaar sleutelbeheersysteem dat de veilige generatie, opslag, distributie en vernietiging van cryptografische sleutels garandeert. De module moet tevens ondersteuning bieden voor het intrekken en herstellen van sleutels.
-
Gebruikersverificatie
De module moet beschikken over een robuust en veilig mechanisme voor gebruikersauthenticatie, zoals biometrische of smartcard-gebaseerde authenticatie, om ervoor te zorgen dat alleen bevoegd personeel toegang heeft tot de module.
-
Logische beveiliging
De module moet beschikken over robuuste logische beveiligingsmechanismen om ongeautoriseerde toegang, manipulatie of manipulatie van de cryptografische module of de gegevens ervan te voorkomen. Dit omvat veilig opstarten, veilige firmware-updates en veilige communicatieprotocollen.
-
Omgevingscontroles
De module moet onder verschillende omgevingsomstandigheden functioneren, zoals extreme temperaturen, vochtigheid en elektromagnetische interferentie. De module moet ook bestand zijn tegen stroompieken en storingen.
-
Levenscyclusondersteuning
De module moet beschikken over een uitgebreid mechanisme voor levenscyclusondersteuning, met inbegrip van regelmatige beveiligingsupdates, kwetsbaarheidsbeoordelingen en veilige verwijderingsprocedures.
FIPS 140-3 Niveau 4 definieert het hoogste beveiligingsniveau voor cryptografische modules en is bedoeld voor toepassingen waarbij de gevolgen van een beveiligingsfout ernstig zijn. De standaard definieert strikte beveiligingseisen op het gebied van fysieke beveiliging, cryptografisch sleutelbeheer, gebruikersauthenticatie, logische beveiliging, omgevingscontroles en levenscyclusondersteuning om het hoogste niveau van bescherming voor gevoelige gegevens en systemen te garanderen.
Vereisten voor cryptografische algoritmen voor elk niveau van FIPS 140-3
De FIPS 140-3-norm beschrijft vier beveiligingsniveaus (niveau 1-4), die elk een andere reeks vereisten voor cryptografische algoritmen specificeren
Hier zijn de cryptografische algoritmen die voor elk niveau vereist zijn
-
Niveau 1
Dit is het laagste beveiligingsniveau, waarvoor alleen basisversleuteling en sleutelbeheerfuncties nodig zijn. De cryptografische algoritmen die voor dit niveau vereist zijn, zijn onder andere AES (128-bits), Triple-DES (112-bits) en SHA-1.
-
Niveau 2
Dit niveau vereist extra fysieke beveiligingsfuncties ter bescherming tegen manipulatie of ongeautoriseerde toegang tot de cryptografische module. De vereiste cryptografische algoritmen voor dit niveau zijn onder andere AES (128-bits en 192-bits), Triple-DES (168-bits), SHA-2 (256-bits) en HMAC.
-
Niveau 3
Dit niveau vereist het hoogste niveau van fysieke beveiliging om ongeautoriseerde toegang te voorkomen en bescherming te bieden tegen aanvallen. De cryptografische algoritmen die hiervoor vereist zijn, zijn onder andere AES (256-bits), RSA (2048-bits), ECDSA (224-bits), SHA-2 (384-bits) en HMAC (met sleutels van minimaal 128 bits).
-
Niveau 4
Dit is het hoogste beveiligingsniveau en vereist de strengste fysieke en logische beveiligingsfuncties ter bescherming tegen geavanceerde aanvallen. De cryptografische algoritmen die voor dit niveau vereist zijn, zijn onder andere AES (256-bits), RSA (3072-bits), ECDSA (384-bits), SHA-3 (512-bits) en HMAC (met sleutels van minimaal 256 bits).
Conclusie
Samenvattend is FIPS 140-3 goedgekeurd en gelanceerd als de nieuwste standaard voor de beveiligingsevaluatie van cryptografische modules. Deze standaard bestrijkt een breed spectrum aan bedreigingen en kwetsbaarheden, aangezien het de beveiligingsvereisten definieert vanaf de initiële ontwerpfase tot aan de uiteindelijke operationele implementatie van een cryptografische module. De vereisten van FIPS 140-3 zijn voornamelijk gebaseerd op de twee reeds bestaande internationale normen ISO/IEC 19790:2012 "Beveiligingsvereisten voor cryptografische modules" en ISO 24759:2017 "Testvereisten voor cryptografische modules".
De FIPS 140-3-standaard biedt een kader voor het garanderen van de veiligheid van cryptografische modules die worden gebruikt in gevoelige toepassingen zoals bankieren, gezondheidszorg en overheid.
Voor meer informatie over FIPS 140-3, lees: Kennismaken met de nieuwe FIPS 140-3
