Cryptografische sleutels zijn een essentieel onderdeel van elk beveiligingssysteem. Ze doen alles, van data encryptie en decryptie tot gebruikersauthenticatie. Het lekken van een cryptografische sleutel kan leiden tot het instorten van de volledige beveiligingsinfrastructuur van een organisatie, waardoor een aanvaller gevoelige gegevens kan decoderen, zichzelf kan authenticeren als bevoorrechte gebruiker of toegang kan krijgen tot andere bronnen van vertrouwelijke informatie. Gelukkig kan goed beheer van sleutels en de bijbehorende componenten de veiligheid van vertrouwelijke informatie waarborgen.
Sleutelbeheer is het proces waarbij bepaalde standaarden worden ingesteld om de veiligheid van cryptografische sleutels binnen een organisatie te waarborgen. Sleutelbeheer houdt zich bezig met het aanmaken, uitwisselen, opslaan, verwijderen en vernieuwen van sleutels, evenals de toegang die leden van een organisatie tot sleutels hebben.
Symmetrische sleutels worden voornamelijk gebruikt om data-at-rest te versleutelen en te ontsleutelen, terwijl data-in-motion wordt versleuteld en ontsleuteld met asymmetrische sleutels. Symmetrische sleutels worden gebruikt voor data-at-rest, omdat symmetrische encryptie snel en eenvoudig te gebruiken is. Dit is handig voor clients die toegang hebben tot een database, maar is minder veilig.
Omdat er een complexere en veiligere encryptie nodig is voor data-in-transit, worden asymmetrische sleutels gebruikt.
Werking van symmetrische sleutelsystemen
Overzicht van hoe symmetrische sleutelsystemen werken, samen met de belangrijkste stappen die hierbij betrokken zijn:
- Een gebruiker neemt contact op met het opslagsysteem, een database, opslag, enz. en vraagt om gecodeerde gegevens
- Het opslagsysteem vraagt de data-encryptiesleutel (DEK) op bij de sleutelbeheerder-API, die vervolgens de geldigheid van de certificaten van de sleutelbeheerder-API en de sleutelbeheerder verifieert
- een veilige TLS Vervolgens wordt er een verbinding gemaakt en gebruikt de sleutelbeheerder een sleutelversleutelingssleutel (KEK) om de DEK te ontsleutelen, die via de API van de sleutelbeheerder naar de opslagsystemen wordt verzonden.
- De gegevens worden vervolgens gedecodeerd en als platte tekst naar de gebruiker verzonden
Werking van asymmetrische sleutelsystemen
Asymmetrische sleutelsystemen werken anders, omdat ze sleutelparen gebruiken. De stappen zijn als volgt:
- De verzender en de ontvanger valideren elkaars certificaten via hun privé-account. certificeringsinstantie (CA) of een externe validatie-autoriteit (VA)
- De ontvanger stuurt vervolgens zijn openbare sleutel naar de verzender, die de te verzenden gegevens versleutelt met een eenmalig te gebruiken symmetrische sleutel die wordt versleuteld door de openbare sleutel van de ontvanger en samen met de versleutelde sleutel naar de ontvanger wordt verzonden. plaintext
- De ontvanger ontsleutelt de eenmalige symmetrische sleutel met zijn eigen privésleutel en ontsleutelt vervolgens de gegevens met de ongecodeerde eenmalige sleutel.
Hoewel deze sleutelsystemen de gegevens veilig houden, zijn de cryptografische sleutels de grootste bron van beveiligingsproblemen voor een organisatie. sleutelbeheer van pas komt.
Om een sterke beveiliging en uniformiteit in alle overheidsorganisaties te garanderen, heeft het National Institute of Standards and Technology (NIST) een systeem opgezet Federale normen voor informatieverwerking (FIPS) en NIST-aanbevelingen, ook wel NIST-normen genoemd, voor gevoelige en niet-geclassificeerde informatie binnen overheidsorganisaties. Deze normen bevatten goedgekeurde beveiligingsmethoden voor alle overheidsgegevens die niet-geclassificeerd en gevoelig zijn.
Omdat deze standaarden zijn goedgekeurd voor alle gevoelige en niet-geclassificeerde gegevens van de overheid, zijn dit best practice-methoden voor cryptografische sleutelbeveiliging voor niet-gouvernementele bedrijven.
NIST-standaarden
Het eerste beveiligingsprobleem dat de NIST-normen beoordelen, zijn cryptografische algoritmen die worden gebruikt voor de encryptie van gegevens. Eerder in deze blog werden symmetrische en asymmetrische cryptografische algoritmen besproken, maar de NIST-normen keuren slechts enkele specifieke typen van deze algoritmen goed.
Voor symmetrische algoritmen zijn op blokcijfers gebaseerde algoritmen zoals AESen op hash-functies gebaseerde algoritmen, zoals SHA-1 of SHA-256, zijn goedgekeurd. Algoritmes gebaseerd op blokcijfers itereren door een reeks bits, blokken genaamd, en gebruiken verschillende bewerkingen, zoals XOR, om de blokken in een reeks rondes te permuteren, wat leidt tot de creatie van een cijfertekst.
Algoritmes gebaseerd op hashfuncties gebruiken hashes, eenrichtingsfuncties, om hashgegevens te genereren. Asymmetrische algoritmes worden echter allemaal geaccepteerd. NIST stelt echter dat "de privésleutel uitsluitend onder controle moet staan van de entiteit die het sleutelpaar "bezit".
Cryptografische hashfuncties, die geen cryptografische sleutels gebruiken, en Random Bit Generators (RBG's), die worden gebruikt voor het genereren van sleutelmateriaal, zijn ook goedgekeurd door NIST-normen. Een lijst met alle algoritmen die door NIST-normen zijn goedgekeurd, is te vinden in FIPS 180 en SP 800-90 voor respectievelijk hashfuncties en RBG.
NIST-normen bespreken ook hoe cryptografische sleutels gebruikt moeten worden. De belangrijkste aanbeveling is dat bij elke sleutelcreatie een unieke sleutel moet worden aangemaakt. Een sleutel mag niet voor zowel authenticatie als decodering worden gebruikt; een gebruiker moet voor elk gebruik een aparte sleutel hebben. NIST-normen geven advies over de cryptoperiode die moet worden ingesteld. Een cryptoperiode is de periode waarin een sleutel voor het opgegeven doel kan worden gebruikt voordat deze moet worden vernieuwd of, bij voorkeur, vervangen door een nieuwe sleutel.
Voor asymmetrische sleutelparen heeft elke sleutel zijn eigen cryptoperiode. De cryptoperiode van de sleutel die wordt gebruikt om een digitale handtekening te creëren, wordt de originator-gebruiksperiode genoemd, terwijl de andere cryptoperiode de ontvanger-gebruiksperiode wordt genoemd. NIST-normen suggereren dat de twee cryptoperiodes tegelijkertijd beginnen, maar de ontvanger-gebruiksperiode kan langer zijn dan de originator-gebruiksperiode, niet andersom.
Conclusie
Sleutelbeheer is een van de essentiële onderdelen van cyberbeveiliging en moet daarom worden uitgevoerd met alle best practices in gedachten. Gelukkig publiceert de overheid de NIST-normen, die de beste manieren aanbevelen om beveiligingsrisico's met betrekking tot cryptografische sleutels te minimaliseren.
De NIST-normen beschrijven hoe sleutels gebruikt moeten worden, welke cryptografische algoritmen goedgekeurd zijn voor overheidsdoeleinden en welke cryptoperioden voor sleutels ingesteld moeten worden. Naarmate de NIST-normen worden bijgewerkt, is het de moeite waard om deze bij te houden om ervoor te zorgen dat uw beveiligingssysteem altijd up-to-date is.
