Vägledning för kryptografi är en fördjupning som beskriver förslag till riktlinjer för algoritmer, kryptografiska nycklar och hashfunktioner som erkänns och tillåts för användning.
Inledning
Denna vägledning beskriver förslag för hur kryptering och kryptografiska säkerhetsåtgärder kan implementeras inom er organisation och bör endast betraktas som vägledande. Beroende på dels informationsklassningen och övriga verksamhets-, omvärlds- och riskanalyser kan kryptografiska säkerhetsåtgärder som inte tas upp i denna vägledning behöva tillämpas. Det kan också vara så att striktare tillämpningar behöver göras än de föreslagna relationerna mellan KLASSAs konsekvensnivåer och nivåer av kryptografiska säkerhetsåtgärder. Ofta är den svagaste punkten i tillämpningen av kryptografiska säkerhetsåtgärder nyckelhanteringen, och därför bör alltid första prioritet vara att säkerställa en bra process med väl etablerade rutiner för nyckelhantering.
Med kryptografisk säkerhetsåtgärd avses att kryptografi tillämpas på ett sådant sätt att information skyddas med hänsyn till framförallt konfidentialitet och riktighet men även tillgänglighet. I praktiken kan kryptografiska säkerhetsåtgärder tillämpas vid exempelvis autentisering av användare, elektroniska underskrifter eller bevarande av hemlig information.
Utöver vad som tas upp i denna vägledning är även termer som PKI (eng. Public Key Infrastructure) och HSM (eng. Hardware Security Module) vanligt förekommande i samband med diskussion av kryptografiska säkerhetsåtgärder inom en organisation. Dessa aspekter tas inte upp explicit i denna vägledning men kan ofta vara nödvändiga att ha kännedom om för en fullständig förståelse för en organisations kryptografiska säkerhetsåtgärder. Vidare avser inte denna vägledning att förklara kryptografi eller delar utav den med undantag för några begreppsdefinitioner. Grundläggande kunskap om kryptografi kan vara nödvändigt för att tillgodogöra sig vägledningen fullt ut.
Definitioner
De begrepp och termer som presenteras i tabellen nedan är vanligt förekommande vid diskussion av kryptografi som säkerhetsåtgärd. Listan är inte uttömmande, för ytterligare begrepp och dess definitioner hänvisas till: SIS-TR 50:2015 - Terminilogi för informationssäkerhet.
Begrepp / Term | Definition / Beskrivning |
---|---|
Asymmetrisk kryptering | Kryptoteknik där olika nycklar används för kryptering och dekryptering |
Autentiseringsalgoritm | Algoritm som används för kryptografisk autentisering |
Autentiseringsnyckel | Nyckel som används i en autentiseringsalgoritm |
Hashfunktion | Funktion som avbildar en godtyckligt lång datasträng till en datasträng med fast värde |
Hashvärde/hashsumma | Värde som är resultatet av en hashfunktion |
Krypteringsnyckel | Varierbar information som används för kryptering och dekryptering vid symmetrisk kryptering |
Kryptografi | Metoder och principer för att skydda information mot oönskad insyn och manipulation |
Kryptografisk algoritm | Algoritm för beräkning av en kryptografisk funktion |
Nyckelhantering | Administrativa och tekniska metoder för skapande, förvaring, distribution, användning och förstöring samt eventuell certifiering av krypteringsnycklar och/eller privata nycklar |
Nyckelpar | Par bestående av en privat nyckel och en publik nyckel för användning inom asymmetrisk kryptering |
Privat nyckel | Den nyckel i ett nyckelpar som hålls hemlig |
Publik nyckel | Den nyckel i ett nyckelpar som inte hålls hemlig |
Signeringsnyckel | Privat nyckel som används för att skapa digitala signaturer |
Symmetrisk kryptering | Kryptoteknik där samma nyckel används för kryptering och dekryptering |
Tillförlitlighet | Mått på i vilken grad ett system levererar information av den kvalitet det säger sig leverera |
Relation till KLASSAs konsekvensnivåer
Det finns inget direkt samband mellan en klassningsnivå och valet av algoritm, protokoll och kryptografisk period. Fokus i denna vägledning ligger därför på att generell nyckelhantering, slumptalsgenerering och val av nyckelbärare uppfyller en tillräcklig nivå.
KLASSAs konsekvensnivå | Vägledande nivå för kryptografiska säkerhetsåtgärder |
---|---|
Av betydelse för Sveriges säkerhet (tidigare benämnd synnerligen allvarlig skada) | Nyckelhantering, val av protokoll, algoritmer, slumptal och kryptografisk period samt val av nyckelbärare bör motsvara nivå 4 * |
Allvarlig skada | Nyckelhantering, val av protokoll, algoritmer, slumptal och kryptografisk period samt val av nyckelbärare bör motsvara nivå 3 |
Betydande skada |
Nyckelhantering, val av protokoll, algoritmer, slumptal och kryptografisk period samt val av nyckelbärare bör motsvara nivå 2 |
Måttlig skada | Nyckelhantering, val av protokoll, algoritmer, slumptal och kryptografisk period samt val av nyckelbärare kan motsvara nivå 1 ** |
Försumbar skada | inget krav på kryptografiska säkerhetsåtgärder ** |
* Vid hantering av kryptografiska skyddsåtgärder för information med en konsekvens av betydelse för Sveriges säkerhet bör man beakta krav ställda på kryptografiska säkerhetsåtgärder i bland annat: Säkerhetsskyddsförordningen (2018:658), Försvarsmaktens föreskrifter om signalskyddstjänsten (FFS 2019:9) och Säkerhetspolisens föreskrifter om säkerhetsskydd (PMFS 2019:2)
** I många praktiska tillämpningar används kryptografiska säkerhetsåtgärder standardiserat även om konsekvensen bedöms som måttlig eller försumbar, i sådana fall kan kryptografiska säkerhetsåtgärder tillämpas ändå enligt organisations lägst acceptabla nivå.
Kryptografiska säkerhetsåtgärder
Nyckelhantering
Nyckelhantering eller livscykelhantering av krypteringsnycklar är en mycket viktig del för tilliten till informations konfidentialitet och integritet, vid oaktsam hantering av krypteringsnycklar finns det risk för att informationen röjs och att att dess riktighet kan komma att ifrågasättas. Det bör finnas en formell process med etablerade rutiner för beställning, skapande, tilldelning, distribution, förvaring, förnyelse, spärrande och destruering av krypteringsnycklar och nyckelpar.
Figur 1 - Översikt över nyckelhanteringens tre faser
Nivå / Fas | Skapande av krypteringsnyckel | Användning & Förvaring | Destruering * |
---|---|---|---|
Nivå 4 |
Beställning och skapande av krypteringsnycklar följer en etablerad rutin och bör innefatta:
|
Vid användning och förvaring av krypteringsnycklar finns det etablerade rutiner som täcker:
|
Vid destruering av krypteringsnycklar ska det finnas en etablerad rutin som säkerställer att krypteringsnycklar destrueras på ett sådant sätt att återskapande inte är möjligt. |
Nivå 3 |
Beställning och skapande av krypteringsnycklar följer en etablerad rutin och bör innefatta:
|
Vid användning och förvaring av krypteringsnycklar finns det etablerade rutiner som täcker:
|
Vid destruering av krypteringsnycklar ska det finnas en etablerad rutin som säkerställer att krypteringsnycklar destrueras på ett sådant sätt att återskapande inte är möjligt. |
Nivå 2 |
Beställning och skapande av krypteringsnycklar följer en etablerad rutin och bör innefatta:
|
Vid användning och förvaring av krypteringsnycklar finns det etablerade rutiner som täcker:
|
Vid destruering av krypteringsnycklar ska det finnas en etablerad rutin som säkerställer att krypteringsnycklar destrueras på ett sådant sätt att återskapande inte är möjligt. |
Nivå 1 |
Beställning och skapande av krypteringsnycklar följer en etablerad rutin och bör innefatta:
|
Vid användning och förvaring av krypteringsnycklar finns det etablerade rutiner som täcker:
|
Vid destruering av krypteringsnycklar ska det finnas en etablerad rutin som säkerställer att krypteringsnycklar destrueras på ett sådant sätt att återskapande inte är möjligt. |
* Att endast radera en krypteringsnyckel i ett system är sällan tillräckligt, information kan ofta återskapas med olika metoder. Krypteringsnycklarna eller hela det medium som dom förvarats på behöver oftast skrivas över flera gånger med slumpmässig information.
Dom olika nivåerna i standarderna FIPS 140-2, FIPS 140-3 och ISO/IEC 19790:2020 är i stort sett likadana, nivå 1 och 2 medger nyttjande av kryptografiska moduler och funktioner som finns i vanlig hård- och mjukvara medan nivå 3 och 4 kräver specifik och ändamålsenlig hård- och mjukvara, så kallad kryptografisk hårdvarumodul (ofta kallad efter sin engelska akronym: HSM, Hardware Security Module). Mer detaljer återfinns i respektive standard men dom innebär i korthet:
- Utnyttjande av standardhårdvaras (ex. PC eller server) inbyggda krypto-funktionalitet alternativt mjukvara utvecklad specifikt för att utföra kryptografiska funktioner.
- Kompletterar nivå 1 med: krav på plombering av hårdvara eller förvaring i låsta utrymmen samt minst någon typ av roll-baserad autentisering för att utföra en funktion.
- Kompletterar nivå 2 med: krav på att upptäcka manipuleringsförsök, förändringar i miljö (ex. spänning eller temperatur) samt möjlighet att självradera innehåll. Vidare krävs individbaserad autentisering för att utföra en funktion.
- Kompletterar nivå 3 med: krav på ett fullständigt omslutande fysiskt skydd av kryptomodulen samt möjlighet till omedelbar självradering vid upptäckta manipuleringsförsök, oavsett om hårdvaran är strömsatt eller ej. Vidare krävs individbaserad fler-faktors autentisering för att utföra en funktion.
Allmänna principer för nyckelhantering
Det bör inom organisation vara fastställt vilka roller som ska finnas och vara en del av den kryptografiska nyckelhanteringen, beroende på om man nyttjar egen PKI eller inte så kan antalet roller variera stort. En enkel och tydlig beställningsprocess bör vara etablerad för att underlätta arbetsflöden och dokumentation.
Skapande av krypteringsnyckel
Skapande av en krypteringsnyckel eller ett nyckelpar bör föregås av en formell beställning som specificerar vem och eventuellt vad som ska nyttja krypteringsnyckeln. Det bör även framgå vilken typ av nyckel som ska skapas, särskilt ställda krav och användningsområde. Generellt ska en nyckel eller ett nyckelpar endast användas för ett enda syfte.
Vid skapande av en krypteringsnyckel så bör en slumptalsgenerator användas som är konstruerad för att generera slumptal. För nivå 3 och 4 bör slumptalsgeneratorn vara validerad mot antingen FIPS 140-2, FIPS 140-3 eller ISO/IEC 19790:2020, vilket i praktiken oftast innebär nyttjande av en kryptografisk hårdvarumodul (eng. HSM, Hardware Security Module).
När nyckeln är skapad behöver den distribueras till den person eller system som ska nyttja den och det bör finnas rutin för att säkerställa att rätt mottagare tar emot nyckeln. Dessutom ska nyckelmaterialet ha adekvat skydd under distribution och förvaring som minst tillhandahåller motsvarande skydd som krävs för den skyddade informationen som nyckeln krypterar.
Användning av nycklar
Nycklar som används behöver oftast vara lättåtkomliga, samtidigt måste dom hanteras på ett sådant sätt att dom ständigt har adekvat skydd. Vanligast är att nycklar hanteras i RAM eller på en hårddisk i en dator eller server och för nivå 1 och 2 räcker det som regel att nyckelmaterial förvaras i RAM eller på en hårddisk som är inlåst eller under uppsikt. Säkerhetskopiering av nycklar är i de flesta fall nödvändig om man identifierat en risk för att kritisk eller viktigt information blir otillgänglig på grund av att nycklar förloras, skadas eller på annat sätt blir otillgängliga.
Destruering av nycklar
När en krypteringsnyckel inte längre ska användas ska den och eventuella kopior destrueras, det kan dock finnas eventuella krav på arkivering vilket påverkar hur och när en krypteringsnyckel ska destrueras. En privat nyckel ska destrueras omedelbart på ett sådant sätt att den inte går att återställa med varken digitala eller fysiska verktyg och metoder. Publika nycklar kan destrueras efter behov, de kan behövas en längre tid för att verifiera digitala signaturer eller elektroniska underskrifter.
Slumptalsgeneratorer och nyckelbärare
Slumptalsgeneratorer
Slumptal och slumptalsgeneratorer (eng. RBG, Random Bit Generator) som används för att skapa slumptal är en viktigt del i etableringen av krypteringsnycklar. Slumptalsgeneratorn kan användas tillsammans med en eller flera entropikällor för att öka slumpmässigheten av det genererade slumptalet. För lägre krav på kryptografiskt skydd (motsvarande nivå 1 eller 2) räcker oftast dom inbyggda slumptalsgeneratorerna.
Nyckelbärare
Nyckelbärare eller kryptografisk modul är det medium på vilket nyckelmaterial förvaras och hanteras, de kan vara byggda som både endast mjukvara eller en kombination av mjuk- och hårdvara. Nyckelbäraren behöver skyddas på ett sådant sätt att den kryptografiska säkerhetsåtgärden inte kan antas vara verkningslös. Detta kan ske genom exempelvis ytterligare kryptering med lämplig kryptografisk algoritm eller fysiskt skydd i en kryptografisk hårdvarumodul eller i en skyddad zon.
Val av algoritmer, slumptal och kryptografisk period
Att välja, kravställa och konfigurera rätt protokoll, tillåtna algoritmer, slumptal och kryptografisk period behöver genomföras för att kryptografiska säkerhetsåtgärder ska fylla en funktion. Det finns ingen direkt korrelation mellan val av protokoll, algoritm och kryptografisk period och nivån av kryptografiskt skydd. Detta medför att det är viktigt att valet av protokoll, algoritm och kryptografisk period görs med hänsyn till hur organisationens nyckelhantering fungerar.
Algoritmer
Det finns ett flertal algoritmer som lämpar sig olika bra för olika syften. Vanligast är att referera till symmetriska algoritmer, asymmetriska algoritmer och hashfunktioner. Äldre algoritmer som kan förekomma i systemkonfigurationer men som inte längre är tillräckligt säkra är exempelvis Data Encryprion Standard (DES, 3TDES) och Secure Hash Algorithm (SHA-1).
Algoritm | Funktion/Syfte | Möjliga nyckel- eller hashstorlekar | Rekommenderad kryptografisk period | Rekommenderad sista användning för nyckellängder * | |
---|---|---|---|---|---|
Nyckellängd | Årtal | ||||
Advanced Encryption Standard (AES) | Symmetrisk kryptering för skydd av information | 128-bitar, 192-bitar, 256-bitar |
≤ 2 år |
≥ 128 | ≤ 2026 |
RSA för Autentisering | Asymmetrisk kryptering för autentisering av entitet | 2048-bitar, 3072-bitar, 4096-bitar | ≤ 2 år |
2048 ≥ 3072 |
≤ 2022 ≤ 2026 |
RSA för digital signering | Asymmetrisk kryptering för digital signering | 2048-bitar, 3072-bitar, 4096-bitar | ≤ 2 år |
2048 ≥ 3072 |
≤ 2022 ≤ 2026 |
Elliptic Curve Diffie-Hellman (ECDH) Key Exchange | Asymmetrisk kryptering för autentisering av entitet | 160-bitar, 192-bitar, 224-bitar, 256-bitar, 320-bitar, 384-bitar, 512-bitar | ≤ 2 år |
≤ 256 ≥ 384 |
≤ 2022 ≤ 2026 |
Elliptic Curve Digital Signature Algorithm (ECDSA) | Asymmetrisk kryptering för digital signering | 160-bitar, 192-bitar, 224-bitar, 256-bitar, 320-bitar, 384-bitar, 512-bitar | ≤ 2 år |
≤ 256 ≥ 384 |
≤ 2022 ≤ 2026 |
Secure Hash Algorithm (SHA-2) | Hashfunktion för beräkning av en informationsmängds representation |
224-bitar, 256-bitar, 384-bitar, 512-bitar ** |
- |
≤ 224 ≥ 256 |
≤ 2022 ≤ 2026 |
Secure Hash Algorithm (SHA-3) | Hashfunktion för beräkning av en informationsmängds representation | 224-bitar, 256-bitar, 384-bitar, 512-bitar ** | - |
≤ 224 ≥ 256 |
≤ 2022 ≤ 2026 |
* Det rekommenderade sista året för användning är inte absolut, denna vägledning tillämpar den strängaste bedömningen, andra har gjort bedömningen att dom specificerade nyckellängderna bör vara adekvata till och även efter år 2030.
** Bit-storleken för hashalgoritmer avser inte en nyckelstorlek utan storleken på hashvärdet som representerar informationsmängden.
Kryptografisk period
En kryptografisk period avser den tidsperiod en specifik nyckel och algoritm får användas för att med bibehållen säkerhet kryptera data. I tabell 5 återges rekommenderade kryptografiska perioder för vanliga algortimer och nyckellängder där ingen överstiger 2 år. Förutsatt att man genomför en riskanalys och anpassar säkerhetsåtgärder kan den kryptografiska perioden mycket väl vara längre, till exempel för nyckelpar som används till rot- och utfärdandecertifikat i ett PKI. En mängd faktorer påverkar vilken längd på den kryptografiska perioden som bör tillämpas, bland annat:
- Den kryptografiska funktionens styrka (det vill säga kombinationen av algoritm och nyckellängd)
- Miljön i vilken ett system befinner sig (exempelvis en låst datahall eller ett öppet kontorslandskap)
- Personalomsättning av administratörer
- Skyddas information i kommunikation eller i vila
- Hotbild mot information
Vidare gäller även dessa generella punkter för val av kryptoperiod:
- Kortare kryptografisk period ger ökad säkerhet men också högre administrativ börda i de fall nyckeldistribution är en manuell process.
- Säkerhetsåtgärder för krypteringsnycklar i form av rutiner samt fysiskt och logiskt skydd av nycklar har större inverkan på den kryptografiska perioden än valet av algoritm och nyckelstorlek.
- Ju känsligare information som skyddas med kryptografiska skyddsåtgärder, desto kortare bör den kryptografiska perioden vara.
Referenser och hänvisningar
Informationssäkerhet, SIS/TK 318 (2015): Teknisk rapport SIS-TR 50:2015 - Terminologi för informationssäkerhet
Informationssäkerhet, SIS/TK 318 (2020): Svensk standard SS-EN ISO/IEC 19790:2020 Informationsteknik - Säkerhetstekniker - Säkerhetskrav för kryptomoduler (ISO/IEC 19790:2012)
Barker, E. (2019): NIST Special Publication 800-57 Part 1 Revision 5, Recommendation for Key Management: Part 1 - General
Barker, E., Dang, Q. (2015): NIST Special Publication 800-57 Part 3 Revision 1, Recommendation for Key Management: Part 3 - Application-Specific Key Management Guidance
National Institute of Standards and Technology (2002): FIPS PUB 140-2, Security Requirements for Cryptographic Modules
National Institute of Standards and Technology (2019): FIPS PUB 140-3, Security Requirements for Cryptographic Modules
- Senast ändrad: 2022-07-27 11:27