Standardisering av krypto i offentlig sektor



Like dokumenter
Vedlegg - om anvendelser og standarder Forprosjektrapport - Standarder for anvendelse av elektronisk ID med og i offentlig sektor

ECC i akademia vs. industrien

Standarder for sikker bruk av VPN med og i offentlig sektor

Standardisering av krypto i offentlig sektor. Standardiseringsrådsmøte (beslutningssak)

Forelesning 2: Kryptografi

BEDRE KRYPTERING AV WEB-TRAFIKK OG E-POST (TLS)

Nasjonal sikkerhetsmyndighet

1. Krypteringsteknikker

Anvendelsesområder for bruk av e-id med og i offentlig sektor- forprosjekt

Forelesning 4: Kommunikasjonssikkerhet

Kryptografi og nettverkssikkerhet

VEDLEGG 7 SIKKERHET 1. KRAV TIL SIKRING AV DATAFILER VED OVERFØRING TIL/FRA BANKEN

Kryptografi og nettverkssikkerhet

Eksamen i TMA4155 Kryptografi Intro Høst 2003 Løsningsskisse

Nasjonal sikkerhetsmyndighet

Forelesning 2: Kryptografi

GigaCampus Mobilitetskurs Del 2. Sesjon 4. Torsdag

Sondre Granlund Moen

Teori om sikkerhetsteknologier

Transportsikring av e-post rfc STARTTLS

Grunnleggende datakommunikasjon sikker datakommunikasjon fra offentlige nettsteder

Smartkort og Windows 2000

Elementær Kryptografi (Appendix A, Cryptography Basics, Building Secure Software)

Eksamen i emne TTM4135 Informasjonssikkerhet Løsningsforslag.

Vår referanse: A03 - G:17/173 Revisjon: 01 NASJONAL SIKKERHETSMYNDIGHET. Sikker informasjon i tiden etter en kvantedatamaskin KVANTERESISTENT KRYPTO

Veiledning i kryptering med Open PGP

Bevisbar sikkerhet. Kristian Gjøsteen. 2. mars 2005

Populærvitenskapelig foredrag Kryptering til hverdag og fest

Kryptogra og elliptiske kurver

TI GRUNNLEGGENDE TILTAK FOR SIKRING AV EGNE NETTVERK MED ET SPESIELT FOKUS PÅ MACSEC

Offentlig nøkkel kryptografi og RSA

Metoder for sikring av kommunikasjon, data og autentisering.

Kryptoløsninger I Hjemmekontor Og Mobile Klienter

Forelesning 3: Nøkkelhåndtering og PKI

Vedlegg A: Behandling i Standardiseringsrådet, HTTPS

NSMs kryptoaktiviteter

1. Sikkerhet i nettverk

Prosjektrapport HTTPS for offentlige webtjenester

PrENV : Sikkerhet for kommunikasjon i helsevesenet. Del 3 : Sikre datakanaler. Oversatt ved Kompetansesenter for IT i Helsevesenet

Autentiseringsløsninger i VPN og nøkkeldistribusjon

Teknologien: Fra digitale signaturer til offentlig-nøkkel infrastruktur

IT Grunnkurs. Nettverk. Foiler av Bjørn J. Villa, Førsteamanuensis II Presentert av Rune Sætre, Førstelektor

ID-Porten bruk av elektronisk ID i offentlige tjenester på nett

6105 Windows Server og datanett

Selmersenteret. ACT - Prosjektet. Kryptografer lærer å tenke som kriminelle. Oversikt

Fire behov for sikker kommunikasjon

Elektroniske spor. Innsynsrett, anonymitet. Personvernutfordringer. Innsynsrett. Informasjonsplikt og innsynsrett

Nasjonal sikkerhetsmyndighet

Database security. Kapittel 14 Building Secure Software. Inf329, Høst 2005 Isabel Maldonado

EKSAMENSOPPGAVE I TTM4135 INFORMASJONSSIKKERHET

Innholdsstandard (meldinger) ebxml-rammeverk (innpakking, adressering, transportkvittering, kryptering, autentisering, virksomhetssignatur)

Som en del av denne prosessen, når verten har startet og nøkkelfilene ikke er å finne, lages et nytt sett automatisk.

Forelesning 3: Nøkkelhåndtering og PKI

FORVENTNINGER TIL SIKKERHET I DET DIGITALE ROM

OFFENTLIG-NØKKELKRYPTOGRAFI

Innføring i blokkjedeteknologi. Slobodan Petrović, NTNU Gjøvik 14/

Symmetrisk En hemmelig nøkkel ( passord ) som brukes både ved kryptering og dekryptering.

PrENV : Sikkerhet for kommunikasjon i helsevesenet. Del 2 : Sikre dataobjekter. Oversatt ved Kompetansesenter for IT i Helsevesenet

Noen aspekter ved implementasjon og ytelse for kryptosystemer basert på elliptiske kurver

HØGSKOLEN I SØR-TRØNDELAG

NORSK EDIEL BRUKERVEILEDNING. bruk av SMTP. for. Versjon: 1.0 Revisjon: E Dato: 3. Mars 2008

6105 Windows Server og datanett

KRYPTO OG AKTUELLE PROBLEMSTILLINGER

FFI RAPPORT INFRASTRUKTUR FOR TILLITSHÅNDTERING I WINDOWS. WINDVIK Ronny, HALLINGSTAD Geir, VETLAND Stein Erik FFI/RAPPORT-2002/01014

Krav til kommunikasjonssikkerhet

Oppgaver til kapittel 19 - Kryptering og steganografi

Søker: Tage Stabell-Kulø Vesterliveien Tromsø

Limitations of IPsec, TLS/SSL, and SSH as VPN-solutions

Hvordan få tilgang til journalopplysning fra andre virksomheter

Utredning av behov for HTTPS i offentlig sektor. Tillit, tilgjengelighet, brukervennlighet og effektivisering

Standarder for en tjenesteorientert arkitektur

Tittel: Metode og enhet for randomisering av en hemmelig nøkkel for beskyttelse mot angrep fra supplerende kanaler

Difis felleskomponenter. Nokios

Vurdering av standarder fra NOSIP. Beslutningssak i det 25. standardiseringsrådsmøte

1. Cæsarchiffer er en av de enkleste krypteringsteknikkene. Hva går teknikken ut på?

Nasjonalt ID-kort og eid Sikker e-forvaltning

EKSAMENSOPPGAVE I TTM4135 INFORMASJONSSIKKERHET

Blåtann / (WPAN) Lars Strand (lars at unik.no) Andreas Tønnesen (andreto at unik.no)

Large Scale Single Sign-on Scheme by Digital Certificates On-the-fly

EKSAMEN I TTM4137 INFORMASJONSSIKKERHET i MOBILNETT

Arkivmessige forhold og elektroniske skjemaer Gjennomgang for Oslo kommune v/ Byarkivet

PRODUKTBESKRIVELSE INFRASTRUKTUR. NRDB Internett

Status for arbeidet med ID-Porten, eid i markedet

PKI og ikke-fornekting

Personvernerklæring. Nordix Data AS Gjeldende fra

Kryptografi, del 2. Aslak Bakke Buan, Ole Enge

Vedlegg 1 HAN Personvern et tillegg til utredningen «AMS + HAN om å gjøre sanntid måledata tilgjengelig for forbruker»

INF1040 Oppgavesett 14: Kryptering og steganografi

Transkript:

Direktoratet for forvaltning og IKT (Difi) Standardisering av krypto i offentlig sektor Vedlegg - Kryptografi og bruksområder Versjon 1.0 2011-07-22

Innhold 1 Teoretisk grunnlag 3 1.1 Kryptografi 3 1.2 Symmetrisk kryptografi 3 1.2.1 Strømchiffer 4 1.2.2 Blokkchiffer 4 1.2.3 Aktuelle algoritmer 4 1.2.4 Oppsummering symmetrisk kryptografi 5 1.3 Asymmetrisk kryptografi 6 1.3.1 Aktuelle algoritmer 7 1.3.2 Digital signering 7 1.3.2.1 Aktuelle algoritmer for digitale signaturer 8 1.3.3 Oppsummering asymmetrisk kryptografi 9 1.4 Hash-funksjoner 9 1.5 Nøkkeladministrasjon 11 1.5.1 Nøkkelgenerering 11 1.5.1.1 Diffie-Hellman key exchange 11 1.5.2 Nøkkeldistribusjon 12 1.5.2.1 Symmetrisk krypto nøkkeldistribusjon 12 1.5.2.2 Asymmetrisk krypto 14 2 Realiserte løsninger 15 2.1 TLS og SSL 15 2.2 IPsec 16 2.3 Andre realiserte løsninger 17 3 Anvendelsesområder og relevante standarder 18 3.1 Sikring av kommunikasjon (transportkrypto) 18 3.1.1 Aktuelle algoritmer 20 3.1.2 Relevante standarder og veiledninger 20 3.2 Sikring av lagret informasjon (lagringskrypto) 20 3.2.1 Aktuelle algoritmer 21 3.2.2 Relevante standarder og veiledninger 21 2011-07-22 Side 2 av 21

1 Teoretisk grunnlag I dette vedlegget følger en kort introduksjon til kryptografi inklusiv nøkkeladministrasjon, det blir identifisert aktuelle kryptoalgoritmer og nøkkellengder basert på internasjonale standarder og veiledninger. Realiserte løsninger blir også kort dekket. Videre blir det identifisert noen aktuelle anvendelsesområder for bruk av kryptografi med og i offentlig forvaltning, samt kort identifisert aktuelle kryptoalgoritmer og veiledninger for videre utredning. Alle standarder, veiledninger og andre dokumenter det refereres til i dette vedlegget, er omtalt mer grundig i hoveddokumentet «Standardisering av krypto i offentlig forvaltning». 1.1 KRYPTOGRAFI Kryptografi deles hovedsakelig inn i tre hovedkategorier; symmetrisk og asymmetrisk kryptografi, og hash-funksjoner. 1.2 SYMMETRISK KRYPTOGRAFI Ved symmetrisk kryptering bruker man samme nøkkel både til kryptering og dekryptering. Denne nøkkelen må utveksles mellom avsender og mottaker på en sikker måte. Figur 1 Tradisjonell symmetrisk krypto Figuren over illustrerer krypterings- og dekrypteringsprosessen i tradisjonell symmetrisk krypto. Klartekst kjøres igjennom en krypteringsmekanisme som benytter en bestemt algoritme og en bestemt nøkkel. Resultatet blir en chiffertekst. Denne blir på mottakersiden kjørt gjennom tilsvarende krypteringsmekanisme med identisk nøkkel. Resultatet blir den samme klarteksten. 2011-07-22 Side 3 av 21

Symmetrisk kryptering deles videre inn i to typer; blokkchiffer (eng. block cipher) og strømchiffer (eng. steam cipher). Blokkchiffer krypterer en blokk av et bestemt antall bits om gangen, mens strømchiffer krypterer ett og ett bit. 1.2.1 Strømchiffer Ved strømchiffer-kryptering blir en nøkkelstrøm (en bit-streng brukt som nøkkel) generert. Denne «sys» sammen bit for bit med klarteksten ved hjelp av en XOR-funksjon (Exclusive-OR). Denne nøkkelstrømmen kan genereres helt uavhengig av klarteksten (kalt synchronous stream cipher), eller den kan være avhengig av klarteksten (kalt self-synchronizing stream cipher). Strømchiffere er raskere enn blokkchiffere, og det er hovedsakelig synkronisert strømchiffer som blir brukt. Strømchiffer passer til miljøer med begrenset regnekapasitet, den lager mindre tilleggsdata (overhead) på overført trafikk og forplanter ikke bit-feil i trafikkoverføringen. 1.2.2 Blokkchiffer Anbefalte metoder og teknikker for bruk av strømchifferalgoritmer er gitt i rapporten ECRYPT II Yearly Report on Algorithms and Keysizes (2009-2010), og tilhørende prosjekt estream. Med symmetriske blokkchifferalgoritmer deles klarteksten først opp i blokker av en bestemt størrelse. Deretter krypteres en og en blokk med samme nøkkel. I blokkchifferalgoritmer vil en spesifikk klartekstblokk alltid gi den samme chifferteksten når samme nøkkel er brukt. Dette vil potensielt kunne gjøre det lettere for en angriper og dekryptere dataen, grunnet bl.a. at gjentagelser i klarteksten fører til tilsvarende gjentagelser i chifferteksten. Denne svakheten har blitt adressert bl.a. ved å innføre variable initialiseringsvektorer. Anbefalte metoder og teknikker (modes of operations) for bruk av blokkchifferalgoritmer er gitt i NIST SP 800-38A. 1.2.3 Aktuelle algoritmer Iht. NIST SP 800-21 er følgende symmetriske blokkchifferalgoritmer godkjente for kryptering og dekryptering i den offentlige forvaltning i USA; Advanced Encryption Standard (AES) og Triple Data Encryption Algorithm (TDEA). TDEA benytter den utgåtte standarden DES i tre operasjoner. ECRYPT II lister opp anbefalinger på hvilke algoritmer som er anbefalt brukt på helt generell basis. Kort om aktuelle algoritmer, samt to utgåtte algoritmer som ikke bør benyttes: - Data Encryption Standard (DES) o DES ble ferdigutviklet i 1977, og har siden gjennomgått flere forbedringer. Allikevel er DES ikke lenger god nok for beskyttelse av informasjon i den offentlige forvaltingen i USA, og den ble trukket tilbake som godkjent algoritme i 2005. DES benyttes imidlertid som godkjent komponentfunksjon i TDEA. - Triple Data Encryption (TDEA) o TDEA også kjent under navnet Triple DES, benytter seg av DES til å transformere dataen i tre operasjoner. Denne standarden er spesifisert i NIST SP 800-67 og algoritmen er kun støttet for offentlig bruk i USA frem til 2030. 2011-07-22 Side 4 av 21

o TDEA krypterer data i blokker á 64 bit, og benytter seg av tre nøkler som bør være matematisk uavhengige. Ved bruk av tre uavhengige nøkler kalles algoritmen three-key TDEA (3TDEA/3DES). Et annet alternativ er two-key TDEA (2TDEA/2DES) der den første og den siste nøkkelen er identisk og kun den midterste er uavhengig de andre. Denne metoden er fortsatt tillatt, men er ikke å anbefale. Andre nøkkelkombinasjoner skal ikke benyttes. http://csrc.nist.gov/publications/nistpubs/800-67/sp800-67.pdf - Advanced Encryption Standard (AES) o AES er spesifisert i standarden FIPS 197, ble utviklet for å erstatte DES. AES krypterer og dekrypterer i 128-bit blokker, og bruker nøkkellengder på 128, 192 eller 256 bit. Alle tre nøkkellengder er godkjente for bruk i offentlig forvaltning i USA, men størrelsen på nøkkellengden vil påvirke ytelsen til algoritmen. - Rivest Cipher 4 (RC4) http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf o RC4 er et eksempel på en strømchifferalgoritme og er mye benyttet i Secure Sockets Layer (SSL) og Wired Equivalent Privacy (WEP) kryptering. RC4 nøkkelhåndtering i WEP er brutt, og ECRYPT II fraråder bruk av RC4. 1.2.4 Oppsummering symmetrisk kryptografi Under er en liste over NISTs godkjente algoritmer for kryptering av ugradert informasjon, ref. NIST SP 800-21: Algoritme Nøkkellengde Bruk Standard Two-key Triple DES Encryption 112-bit Begrenset bruk fra 2011 til 2015 Ikke akseptabel etter 2015. NIST SP 800-67 ISO/IEC 18033-3 Two-key Triple DES Decryption 112-bit Kun for «arv-bruk» etter 2010 ANSI X3.92 Three-key Triple DES Encryption and Decryption 168-bit Godkjent AES-128 Encryption and Decryption 128-bit NIST FIPS 197 AES-192 Encryption and Decryption 192-bit Godkjent ISO/IEC 18033-3 AES-256 Encryption and 256-bit 2011-07-22 Side 5 av 21

Decryption ECRYPT II rapporten fra 2010 lister i tillegg opp følgende algoritmer som ikke anses som relevante opp mot de bruksområdene som er spesifisert. - Kasumi (128-bits nøkkel) brukes i UMTS og er spesifisert i 3GPP TS 35.203. - Blowfish (32- til 448-bits nøkkel) brukes i IPsec 1.3 ASYMMETRISK KRYPTOGRAFI Asymmetrisk kryptering kalles også offentlig nøkkel-kryptering (public key). Man benytter et nøkkelpar, én privat - og én offentlig nøkkel, som er matematisk relatert til hverandre. Den offentlige nøkkelen kan gjøres tilgjengelig for hvem som helst, og den private er kun kjent av nøkkelens eier. Selv om det er en matematisk sammenheng mellom de to nøklene, så kan ikke den ene utledes av den andre. Fordelen med asymmetrisk kryptografi er at man forenkler nøkkeldistribusjon. Den offentlige nøkkelen kan fritt distribueres. Validiteten (gyldighet og ekthet) på den offentlige nøkkelen må imidlertid kontrolleres og administreres. Asymmetrisk kryptering benyttes ofte for dataintegritet og i autentiserings- og ikke-benektingsmekanismer (f.eks. digitale signaturer), samt for å distribuere symmetriske nøkler. Figuren under illustrerer generell kryptering ved bruk av asymmetrisk kryptografi. Figur 2 - Tradisjonell asymmetrisk krypto Dersom Bob ønsker å sende en melding til Alice, kan han bruke Alice offentlige nøkkel til å kryptere meldingen. Alice, som har den private nøkkelen, er den eneste som kan dekryptere 2011-07-22 Side 6 av 21

meldingen. Selv om for eksempel Mike fanger opp meldingen, og er i besittelse av Alice offentlige nøkkel, kan han ikke dekryptere meldingen. Motsatt vei kan Alice kryptere en melding med sin private nøkkel. Alle som har Alice offentlige nøkkel kan da dekryptere meldingen. Siden det kun er Alice som har den private nøkkelen, kan andre da verifisere at meldingen faktisk er fra Alice. 1.3.1 Aktuelle algoritmer Rivest-Shamir-Adleman (RSA) ble patentert i 1977 av mennene med samme navn. RSA er et sett av protokoller som kan benyttes til flere formål; kryptering, digitale signaturer og nøkkeldistribusjon. Implementasjonen av RSA er beskrevet i Public-Key Cryptography Standard nummer 1 (PKCS#1). Bruk av elliptiske kurver til offentlig-nøkkel kryptografi ble introdusert i 1985 av Miller og Koblitz. Elliptisk kurve kryptografi tilbyr samme nivå av sikkerhet som tradisjonelle kryptosystemer som bruker mye lengre kryptografiske nøkler. Dette betyr at Elliptisk kurve kryptografi er mindre avhengig av regnekraft. Elliptisk kurve kryptografi har vært hindret av ulike restriksjoner relatert til patenter, og bruk av elliptiske kurver i kryptosystemer har hovedsakelig vært basert rundt digitale signaturer og nøkkelutveksling. 1.3.2 Digital signering En digital signatur er en elektronisk analogi til en skriftlig signatur, og brukes for å gi en mottager eller en tredjepart en verifikasjon på at informasjonen er knyttet til avsenderen/opphavsmannen. Dette kalles også ikke-benekting eller uavviselighet. Digitale signaturer vil også kunne verifisere om informasjon er endret. Dette kalles integritetsbeskyttelse. Eksempel på generering av en digital signatur: Figur 3 - Generering av en digital signatur 2011-07-22 Side 7 av 21

Ved generering av en digital signatur, genereres en kortrepresentasjon (hash) av data som skal signeres gjennom en en hash-funksjon (se kapittel 1.4). Kortrepresentasjonen krypteres med den private nøkkelen til den som skal signere. Resultatet blir en digital signatur som gjerne legges ved de signerte data. For å verifisere en digital signatur gjøres følgende: Figur 4 - Verifisering av en digital signatur Det genereres en kortrepresentasjon av de signerte data med den samme hash-funksjonen som ble benyttet ved signeringen. Signaturen dekrypteres med den offentlige nøkkelen, og den opprinnelige hash-verdien gjenskapes. Dersom disse hash-verdiene er identiske, er signaturen gyldig. 1.3.2.1 Aktuelle algoritmer for digitale signaturer FIPS 186-3, Digital Signature Standard (DSS) inneholder spesifikke metoder for generering og verifisering av digitale signaturer ved bruk av asymmetrisk kryptering, den spesifiserer nøkkellengder, samt ulike hash-funksjoner. Standarden omfatter tre algoritmer for digital signering: Digital Signature Algorithm (DSA), Elliptic Curve Digital Signature Algorithm (ECDSA) og RSA. DSS brukes i samsvar med FIPS 180-3 Secure Hash Standard (SHS). FIPS 186-3 er fritt tilgjengelig på NISTs sider: http://csrc.nist.gov/publications/fips/fips186-3/fips_186-3.pdf - Digital Signature Algorithm (DSA) 2011-07-22 Side 8 av 21

o DSA er digital signatur-standard for bruk i det offentlige i USA (FIPS 186-3). Denne standarden lister opp anbefalte nøkkellengder for bruk i ulike tidsperspektiv, samt andre dokumenter som spesifiserer selve implementeringen. - Elliptic Curve DSA (ECDSA) o o ECDSA er en variant av DSA som benytter seg av elliptisk kurve-kryptografi. Denne standarden ble utviklet for American National Standards Institute (ANSI) i 2005 og er gitt navnet ANS X9.62-2005. ANS X9.62 definerer metoder for å generere og verifisere digitale signaturer ved hjelp av ECDSA. FIPS 186-3 anerkjenner bruk av ECDSA til offentlig bruk i USA, basert på noen spesifiserte tilleggskrav angitt i standarden. - Rivest-Shamir-Adleman (RSA) o RSA, se kap. 1.3.1, kan også benyttes ifm. digital signering. 1.3.3 Oppsummering asymmetrisk kryptografi Algoritme Bruk Standard Digital Signature Algorithm (DSA) NIST FIPS 186-3 Elliptic Curve Digital Signature Algorithm (ECDSA) RSA Som for SHA Ref. NIST FIPS 180-3 ANSI X9.62 NIST FIPS 186-3 ANSI X9.31 PKCS #1 NIST FIPS 186-3 ISO/IEC 18033-2 1.4 HASH-FUNKSJONER En hash-funksjon er en matematisk funksjon som konverterer en mengde data, f.eks. en tekst, om til en kortrepresentasjon (hash-sum) med en spesifikk lengde. Uavhengig av størrelsen på dataen som skal konverteres, vil lengden på kortrepresentasjonen være den samme. Dersom bare ett bit endres i inn-dataen, vil kortrepresentasjonen forandres totalt. Lengden vil imidlertid være den samme. 2011-07-22 Side 9 av 21

Figur 5 - Hash-funksjon FIPS 180-3 spesifiserer fem godkjente implementeringer av Secure Hash Algorithm (SHA): Algoritme Bruk Standard Var godkjent ut 2010 SHA-1 Digital signatur (generering) Digital signatur (verifikasjon) Frarådet etter 2011 til 2013 Ikke tillat etter 2013 Ikke i bruk etter 2010 (kun arv) Andre bruksområder utenfor digital signering Godkjent NIST FIPS 180-3 ISO/IEC 10118-3 SHA-224 SHA-256 SHA-384 Godkjent for alle bruksområder SHA-512 2011-07-22 Side 10 av 21

ECRYPT II rapporten fra 2010 lister i tillegg opp følgende hash-funksjoner: - MD5 (støttes blant annet i TLS/SSL og IPsec), definert i RFC 1321. ECRYPT II anbefaler og fase ut MD5. - RIPEMD-160 (støttes i IPsec, OpenPGP, IEEE Std 1363), definert i ISO/IEC 10118-3 - RIPEMD-128 og Whirlpool. Definert i ISO/IEC 10118-3 1.5 NØKKELADMINISTRASJON I kryptografi har det fra tidenes morgen eksistert et vanskelig område vedrørende administrasjon av kryptografiske nøkler. En kryptografisk algoritme er bare så sikker som nivået av beskyttelse på krypteringsnøkkelen, og i symmetrisk kryptografi har nøkkelhåndtering alltid vært en stor utfordring. Asymmetrisk kryptografi eller offentlig nøkkel kryptering ble derfor sett på av mange som løsningen på nøkkelproblematikken i kryptografi. Dette er bare delvis sant, da asymmetrisk kryptografi også har betydelige utfordringer når det kommer til nøkkeladministrasjon. Nøkkeladministrasjon omfatter alle aspekter fra «krybbe til grav» rundt kryptografiske nøkler. Fra nøkkelgenerering, til nøkkeldistribusjon der en (eller flere) part(er) besitter en krypteringsnøkkel som må formidles til den part man ønsker å kommunisere med. Andre aspekter av nøkkeladministrasjon omfatter lagring av kryptografiske nøkler og avhending av nøkler, inklusiv annullering av utgåtte - og kompromitterte nøkler. NIST SP 800-57 deler nøkkeladministrasjon inn i følgende hovedområder, nøkkelgenerering, lagring av nøkler, nøkkeldistribusjon og avhending av nøkler. 1.5.1 Nøkkelgenerering Nøkkelgenerering kan hovedsakelige deles inn i to forskjellige metoder. En metode der den kryptografiske nøkkelen genereres på forhånd og distribueres via en sikker kanal (her må den parten som mottar nøkkelen ha tillit til at den som genererer nøkkelen og at nøkkelen er sikker). En annen metode er at den kryptografiske nøkkelen genereres som et resultat av to parters samhandling (Diffie-Hellman key exchange er et eksempel på slik nøkkelgenerering). Den første metoden innebærer også nøkkeldistribusjon, og et typisk eksempel her kan være bruk av RSA for å overføre en AES nøkkel. Generering av kryptografiske nøkler i forskjellige krypteringssystemer blir utført veldig forskjellig, men generelt består de av en avtalt nøkkellengde og blir generert ved hjelp av en eller annen form for Random Number Generator (RNG). RNG kan henholdsvis være software- eller hardwarebaserte, der hardware-baserte regnes som de beste og brukes for sterkere kryptering. Denne tilfeldige nummerrekkegeneratoren (bit-rekke) kan også bli brukt til å generere eventuelle Initialization Vectors (IVs) som blir brukt i krypteringsalgoritmen. 1.5.1.1 Diffie-Hellman key exchange I en Diffie-Hellman nøkkelutveksling skal to parter etablere en privat nøkkel over en offentlig kommunikasjonslinje, for eksempel internett. Denne nøkkelen kan videre brukes til å kryptere kommunikasjonen mellom partene ved hjelp av symmetrisk krypto. Nøkkelen blir generert ved at de to partene utveksler felles sikre primtall og generer en egen hemmelighet. De bruker så de utvekslede tallene sammen med deres egen hemmelighet til å regne ut en diskre logaritme som danner basisen for den private nøkkelen brukt til å sikre kommunikasjonen. Figur 6 viser forenklet hvordan den private nøkkelen blir utregnet av de to partene. 2011-07-22 Side 11 av 21

Figur 6 - Forenklet Diffie-Hellman matematikk Et problem med Diffie-Hellman nøkkelutvekslingen er at ingen av partene er autentiserte, slik at det er mulig for et man-in-the-middle angrep. Dette problemet kan løses på flere måter, typisk med å innføre en form for autentisering av partene. 1.5.2 Nøkkeldistribusjon Nøkkeldistribusjon gjøres forskjellig for symmetrisk og asymmetrisk krypto, ofte brukes en kombinasjon av disse for å sikre prosessen. Man kan for eksempel bruke asymmetrisk krypto og signaturer til autentisering av parter som trenger å distribuere symmetriske nøkler ved hjelp av en Diffie-Hellman nøkkelutveksling. En vanlig måte å distribuere kryptografiske nøkler på er ved hjelp av en tiltrodd tredjepart, eller å distribuere nøkler på forhånd via en annen sikker kommunikasjonskanal. Kerberos er et eksempel på en tiltrodd tredjepart, betegnet som en Key Distribution Center (KDC), som tilbyr autentisering og sikker nøkkeldistribusjon av symmetriske nøkler, ref. RFC 4120 The Kerberos Network Authentication Service (v5). 1.5.2.1 Symmetrisk krypto nøkkeldistribusjon I symmetrisk kryptografi må hver av partene som skal kommunisere inneha en felles hemmelig nøkkel. Denne vil normalt være statisk for en liten periode, men må byttes regelmessig for at sikkerheten skal opprettholdes. Styrken til kryptosystemet hviler i stor grad på hvordan selve nøkkeldistribusjonen gjøres. I symmetrisk kryptografi kan nøkkeldistribusjon mellom eksempelvis klient A og klient B foregå på følgende måter: 1. A kan velge/generere en nøkkel og fysisk overlevere denne til B. 2. En tiltrodd tredjepart kan velge/generere en nøkkel og fysisk levere denne til A og B. 3. Dersom A og B har en eksisterende kryptert forbindelse, så kan denne benyttes til å distribuere nye nøkkel. 4. Dersom A og B begge har en kryptert kanal til C, så kan C distribuere den nye nøkkelen gjennom de respektive forbindelsene. Alternativ 1 og 2 krever en manuell rutine. Dette kan f.eks. foregå med en kurer. En slik manuell rutine er tids- og kostnadskrevende, men kan fungere for kryptering av dedikerte og statiske en-tilen forbindelser (link). For mer dynamiske ende-til-ende krypteringer mellom ulike klienter, (mange- 2011-07-22 Side 12 av 21

til-mange forbindelser), blir denne jobben alt for omfattende og kostbar. Spesielt når det dreier seg om lange avstander mellom klientene. Alternativ 3 fungerer bra for alle typer forbindelse, men dersom en angriper skulle klare å få tak i en av nøklene, vil han automatisk også få tak i alle tidligere nøkler. Manuell rutine for distribusjon av link-forbindelser er derfor ønskelig, mens alternativ 4 er en god metode for nøkkeldistribusjon for mange-til-mange forbindelser. Figur 7 illustrerer en type implementasjonen av metoden i alternativ 4. Her benyttes to typer nøkler: - Sesjonsnøkkel: Når to endesystemer (klienter, terminaler, etc.) ønsker å kommunisere, opprettes en midlertidig logisk forbindelse. Under denne forbindelsen blir all data kryptert med en engangs-sesjonsnøkkel. Når sesjonen er over, blir denne nøkkelen destruert. - Permanent nøkkel: En permanent nøkkel benyttes i den hensikt å distribuere sesjonsnøkler. I figuren er følgende elementer med: - Key distribution center (KDC): Nøkkeldistribusjonssenteret avgjør hvem som har lov til å kommunisere med hverandre. Når tillatelse er gitt mellom to parter, utstedes en engangssesjonsnøkkel. - Front-end processor (FEP): Frontprosessoren utfører ende-til-endre krypteringen, og får sesjonsnøkkelen på vegne av sin klient eller terminal. Figur 7 - Nøkkelutveksling Stegne for å opprette en forbindelse som i figuren over er som følger: En klient ønsker å opprette en kryptert forbindelse med en annen klient, og sender en tilkoblingsforespørsel (steg ❶). FEP lagrer denne forespørselen, og tar videre kontakt med KDC for å be om å få opprette en forbindelse (steg ❷). Denne kommunikasjonen er kryptert med en hovednøkkel som bare disse to har. Dersom KDC godkjenner tilkoblingen, genererer og sender KDC sesjonsnøkkelen ut til hver av partene kryptert med hver sin permanente nøkkel (steg ❸). 2011-07-22 Side 13 av 21

FEP som initierte forespørselen kan nå sende tilkoblingsforespørselen til den andre klienten, og en kryptert forbindelse blir opprettet (steg ❹). All følgende kommunikasjon mellom klientene krypteres av FEP på hver side ved bruk av den tildelte sesjonsnøkkelen. 1.5.2.2 Asymmetrisk krypto I asymmetrisk kryptografi, med privat og offentlig nøkkel, er den offentlige nøkkelen tilgjengelig for andre parter, og meldinger krypteres ved å bruke denne offentlige nøkkelen. Kun den private nøkkelen kan benyttes for å dekryptere meldingen. Se kapittel 1.3 for mer informasjon. I praksis benyttes asymmetrisk krypto for å utveksle symmetriske kryptonøkler. 2011-07-22 Side 14 av 21

2 Realiserte løsninger Det finnes et utall realiserte løsninger som tilbyr sikkerhet ved bruk av kryptografiske metoder. Kryptografiske protokoller for beskyttelse av kommunikasjon med og i offentlig forvaltning kan deles inn et mindre knippe sentrale løsninger. - IPsec og IPv6 - TLS og SSL (https) - S/MIME - WS-Security - XML-Encryption (XML-Enc) IPsec og TLS/SSL er de mest brukte VPN teknologiene benyttet med og i offentlig forvaltning. 2.1 TLS OG SSL Transport Layer Security (TLS) og Secure Socket Layer (SSL) er kryptografiske protokoller som primært tilbyr ende-til-ende kryptering mellom en klient og en server. TLS og SSL benytter symmetrisk krypto til å kryptere nettverkstrafikken og Message Authentication Code (MAC) for dataintegritet. Endepunkts-autentisering (typisk av en server) tilbys også ved bruk av asymmetrisk krypto (sertifikater). TLS benytter to forskjellige metoder for nøkkelgenerering og nøkkeldistribusjon av de symmetriske nøklene brukt i en sesjon. De to metodene er enten Diffie-Hellman (DH) nøkkelgenerering eller RSA nøkkeltransport. I TLS Handshake protokollen blir det mellom klient og server avtalt hvilken krypteringsalgoritme og hash-funksjon som skal benyttes til den sikre kommunikasjonssesjonen. I tabellen under beskrives noen av de kryptoalgoritmer som blir støttet i TLS versjon 1.2. Brukte algoritmer Beskrivelse RSA RSA brukes i TLS til nøkkeldistribusjon og autentisering DSA DSA brukes i TLS til autentisering ECDSA ECDSA brukes i TLS til autentisering 2011-07-22 Side 15 av 21

RC4 RC4 brukes i TLS til transportkryptering Triple DES Triple brukes i TLS til transportkryptering AES AES brukes i TLS til transportkryptering MD5 MD5 brukes i TLS til meldingsautentisering (data integritet), som hashed MAC (HMAC) algoritme SHA SHA brukes i TLS til meldingsautentisering (data integritet), som hashed MAC (HMAC) algoritmer 2.2 IPSEC HTTP benytter TLS til å sikre kommunikasjon mellom klient og webserver. Denne kombinasjonen kalles HTTPS og er kanskje den mest utbredte implementasjonen av TLS. IPsec er en samling av protokoller designet for å sikre IP-basert nettverkskommunikasjon ved å tilby autentisering og kryptering. IPsec er i stor grad brukt til å etablere VPN-forbindelser, og er en integrert del av IPv6. IPsec tilbyr to sikkerhetsmekanismer; Authencitation Header (AH) sørger for autentisering og integritet beskyttelse av IP-pakke, og Encapsulating Security Payload (ESP) sørger for kryptering av IP-pakkene. (Disse sikkerhetsmekanismene er spesifisert i IETF RFC 4305). IPsec kan operere i to forskjellige moduser; i transport mode og tunnel mode. Tunnel mode kan beskrives som «IP-i- IP», og fungerer slik at den IPsec-beskyttede IP-pakken blir puttet inn i en ny IP-pakke. I Transport mode brukes det opprinnelige IP-hodet. Valg av kryptografiske algoritmer benyttet av IPsec blir forhandlet frem ved hjelp av for eksempel Internet Key Exchange (IKE), eller valg kan utføres manuelt. IPsec støtter blant annet følgende algoritmer: Brukte algoritmer Beskrivelse DES DES støttes i IPsec (men bør ikke brukes) Triple DES Triple brukes i IPsec til ESP kryptering AES AES brukes i IPsec til ESP kryptering og MAC MD5 MD5 brukes i IPsec til meldingsautentisering (data integritet), som hashed MAC (HMAC) algoritme SHA SHA brukes i IPsec til meldingsautentisering (data integritet), som hashed MAC (HMAC) algoritme 2011-07-22 Side 16 av 21

2.3 ANDRE REALISERTE LØSNINGER Andre realiserte løsninger for sikker samhandling med og i offentlig forvaltning inkluderer blant annet følgende sentrale kryptografiske protokoller (listen er ikke uttømmende): - S/MIME for e-post sikkerhet, - XML-Enc for kryptering av XML data, - WS-Security for sikring av SOAP baserte web servicer Disse kryptografiske protokollene, sammen med IPsec (og IPv6), TLS og SSL er meget sentrale protokoller for beskyttelse av sensitiv informasjon sendt til og fra offentlige forvaltningen. Videre finnes det et hav av protokoller og løsninger som baserer seg på kryptografi for å tilby diverse sikkerhetstjenester. Eksempelvis kan man nevne OpenPGP for en realisert løsning av offentlig nøkkel kryptografi, DNSSEC for sikkerhetstillegg til DNS, EFS for krypterte filsystemer, osv. Felles for disse løsningene er at de baserer seg på et knippe kryptografiske metoder og algoritmer. 2011-07-22 Side 17 av 21

3 Anvendelsesområder og relevante standarder Dette kapittelet prøver å sette bruken av kryptografi et mer praktisk perspektiv ved å illustrere ulike bruksområder/scenarioer der krypto tradisjonelt benyttes for konfidensialitets- og integritetssikring av informasjon, samt eventuell uavviselighet. Anvendelsesområdene identifisert er delt inn i to hovedområder; sikring av kommunikasjon (transportkrypto) og sikring av lagret informasjon (lagringskrypto). For hvert scenario er det listet opp en rekke aktuelle kryptografiske algoritmer som vil kunne understøtte sikkerhetstiltaket. Disse algoritmene er omtalt tidligere med henvisninger til standardene der disse er spesifiserte, samt NISTs anbefalinger for gyldighet og nøkkellengder. Videre vises det til relevante standarder og veiledninger for anvendelsesområdet. Ved å benytte seg av veiledningene og standardene utarbeidet NIST, kan man oppfylle de krav som stilles til beskyttelse av sensitiv ugradert informasjon i offentlig forvalting i USA. I mange tilfeller vil dette også være god nok beskyttelse for tilsvarende informasjon i Norge. Dog vil det i Norge kunne kreves en individuell godkjenning av en godkjenningsmyndighet for de ulike implementasjonene. 3.1 SIKRING AV KOMMUNIKASJON (TRANSPORTKRYPTO) Figur 8 viser sikring av konfidensialitet og integritet, samt eventuell uavviselighet, når informasjon skal overføres mellom sikre soner: Figur 8 Sikker overføring mellom sikre soner Denne anvendelsen karakteriseres av at data befinner seg i et sikkert miljø, og skal overføres til et annet sikkert miljø. Under overføringen skal det sikres mot innsyn i informasjonen (konfidensialitetssikring), og mottaker skal kunne verifisere om informasjonen har blitt endret under 2011-07-22 Side 18 av 21

overføringen (integritetssikring). Definisjonen av kravene til sikker sone kan være styrt av den enkelte organisasjons egne retningslinjer, eller det kan være styrt av nasjonale lover og forskrifter. Det legges til grunn at data kun er kryptert under overføring, og oppbevares i klartekst innenfor de sikre sonene. Typiske forsendelsesmåter vil være e-post, filoverføringer eller andre tjenester på nett (webservices). Hver enkelt melding kan krypteres i avsenderapplikasjon og dekrypteres i mottakerapplikasjon (meldingskryptering), eller kommunikasjonskanalen mellom sonene kan krypteres (transportkryptering). I dag ser man nødvendigheten av slike sikre kommunikasjonskanaler eksempelvis når ulike forvaltningsorganer skal kommunisere eller koble sammen sine nettverk, eller annen kommunikasjon eksempelvis mellom forvaltningen og departementene. Figur 9 illustrerer sikring av konfidensialitet og integritet, samt eventuell uavviselighet, når informasjon skal overføres til usikker sone: Figur 9 Sikker overføring til usikker sone Fjerntilgang kan gi tilgang til sentrale data fra hjemmekontor, hotellrom, internettkafeer etc. Etter dekryptering vil klartekstdata være tilgjengelig i et usikret miljø. Det usikrede miljø vil også kunne representere trusler mot nøkkeladministrasjon. Figur 10 viser sikring av konfidensialitet og integritet når informasjon skal overføres innenfor sikker sone: 2011-07-22 Side 19 av 21

Figur 10 - Sikker overføring innenfor sikker sone Som et tiltak mot bl.a. utro tjenere kan kryptering benyttes også innenfor sikker sone. Slike løsninger har krav til sikkerhetstiltak i forhold til tilgang til klartekstdata, administrasjon av krypteringsnøkler med mer. 3.1.1 Aktuelle algoritmer For å kunne realisere denne typen sikker overføring, er følgende algoritmer fra kapittel 1 aktuelle: TDEA, AES, RSA, DSA, ECDSA og SHA-2. 3.1.2 Relevante standarder og veiledninger Veiledningene fra NIST; SP 800-21, SP 800-113 og SP 800-77, er svært relevante sett opp mot disse bruksområdene. I tillegg kommer IETF RFC 5246 (TLS) og RFC 4301 (IPsec) med tilhørende RFCer. 3.2 SIKRING AV LAGRET INFORMASJON (LAGRINGSKRYPTO) Figur 11 illustrerer sikring av konfidensialitet og integritet, samt eventuell uavviselighet, når informasjon skal oppbevares i begrenset tid utenfor sikker sone: Figur 11 Sikker oppbevaring av informasjon utenfor sikker sone 2011-07-22 Side 20 av 21

Denne anvendelsen er karakterisert ved at data lagres i begrenset tid utenfor sikker sone. Dersom en enhet som lagrer informasjonen blir tapt eller kompromittert, skal det sikres mot at uvedkommende kan få innsyn i informasjonen. Videre skal det kunne verifiseres om informasjonen har blitt endret av uvedkommende. Typiske media for oppbevaring utenfor sikker sone er lagringsmedia i bærbare datamaskiner, mobiltelefoner (smarttelefoner) og eksterne lagringsenheter (eks. minnepinner). Figur 12 viser langtidslagring av kryptert informasjon: Figur 12 - Sikker langtidslagring av informasjon Ved langtidslagring av kryptert informasjon, må det tas hensyn til at nøkler kan gå tapt og at algoritmer blir kompromittert i lagringsperioden. Dette fordrer mekanismer for å kunne gjenskape informasjon ved tapte nøkler og for å kunne re-kryptere informasjon med sterkere algoritmer eller nøkkellengder. Det finnes flere måter å gjennomføre lagringskrypto, som for eksempel full diskkryptering, volum eller virtuell diskkryptering, eller fil-/mappekryptering. Det er også mulig å ha integritetssikring og uavviselighet på dataene for eksempel ved hjelp av digitale signaturer. 3.2.1 Aktuelle algoritmer For å kunne realisere denne typen sikker overføring, er følgende algoritmer fra kapittel 1 aktuelle: TDEA, AES, RSA, DSA, ECDSA og SHA-2. For langtidslagring er bruk av lange kryptografiske nøkler essensielt for å kunne beskytte informasjonen i mange år. 3.2.2 Relevante standarder og veiledninger NIST SP 800-111 Guide to Storage Encryption Technologies for End User Devices anses for dette bruksområdet som svært relevant. 2011-07-22 Side 21 av 21