Tilbake
7.5
Kryptering og autentisering

7.5 Kryptering og autentisering

Lær om symmetrisk/asymmetrisk kryptering, hashing, 2FA og digitale sertifikater.

60 min
8 oppgaver
KrypteringSymmetrisk krypteringAsymmetrisk krypteringHashing
Du leser den lesevennlige versjonen
Din fremgang i kapitlet
0 / 8 oppgaver

Den usynlige beskyttelsen

Hver gang du logger inn, sender en melding eller betaler med Vipps, bruker du kryptering uten å tenke over det. Uten kryptering ville all digital kommunikasjon vært som å sende postkort – hvem som helst underveis kunne lest innholdet.

Kryptering gjør lesbar klartekst om til uleselig chiffertekst ved hjelp av en matematisk algoritme og en nøkkel. Bare den som har riktig dekrypteringsnøkkel kan gjøre den lesbar igjen. Mennesker har gjort dette i tusenvis av år. Julius Cæsar brukte Cæsar-chifferet og erstattet hver bokstav med en lenger ut i alfabetet – med forskyvning 3 ble «ANGRIP» til «DQJULS». Under andre verdenskrig brukte tyskerne Enigma-maskinen, men Alan Turing og teamet ved Bletchley Park knekte koden, noe som ifølge mange historikere forkortet krigen med flere år. Moderne kryptering bygger på matematiske problemer som er lette i én retning, men ekstremt vanskelige å reversere – som å gange to store primtall versus å faktorisere produktet.

Den første hovedtypen er symmetrisk kryptering, som bruker samme nøkkel til å kryptere og dekryptere – som en safe med én nøkkel der både avsender og mottaker må ha en kopi. Den er rask og sterk (AES-256 regnes som uknuselig), og brukes i HTTPS, diskryptering og VPN. Men den har et stort problem: nøkkeldistribusjon. Hvordan får du trygt overlevert nøkkelen til mottakeren? Fanges den opp underveis, kan angriperen dekryptere alt. Og den skalerer dårlig – skal 100 personer kommunisere parvis, trengs nesten 5000 nøkler.

📝Oppgave Quiz 1

To nøkler og en enveisgate

Asymmetrisk kryptering løser nøkkeldistribusjonsproblemet med to nøkler som hører matematisk sammen: en offentlig nøkkel som kan deles fritt, og en privat nøkkel som holdes hemmelig. Data kryptert med den offentlige nøkkelen kan bare dekrypteres med den private. Slik fungerer det: mottakeren deler sin offentlige nøkkel fritt, avsenderen krypterer meldingen med den, og bare mottakeren – med sin private nøkkel – kan lese den. Selv om en angriper fanger opp meldingen og kjenner den offentlige nøkkelen, kan de ikke dekryptere den. Asymmetrisk kryptering brukes også til digitale signaturer: signerer du med din private nøkkel, kan alle verifisere med din offentlige at meldingen er fra deg og uendret. Ulempen er at den er rundt 1000 ganger tregere enn symmetrisk. Kjente algoritmer er RSA (basert på faktorisering av store tall) og ECC (samme sikkerhet med kortere nøkler). I praksis kombineres begge i HTTPS: asymmetrisk for å utveksle en symmetrisk sesjonsnøkkel, og deretter rask symmetrisk kryptering for selve dataene.

Dette muliggjør også ende-til-ende-kryptering (E2EE) i meldingsapper. Meldingene krypteres med mottakerens offentlige nøkkel på avsenderens enhet, og bare mottakerens private nøkkel kan dekryptere dem – derfor kan ikke engang tjenesteleverandøren lese dem.

En helt egen teknologi er hashing, som er fundamentalt forskjellig fra kryptering fordi den er enveis – du kan ikke gjenskape originaldataene fra hash-verdien. En god hash-funksjon er deterministisk (samme input gir alltid samme hash), har skredeffekt (minste endring gir helt annen hash) og fast størrelse uansett input. Hashing brukes til passordlagring: seriøse nettsteder lagrer aldri passordet i klartekst, men en hash av det. Når du logger inn, hashes passordet ditt og sammenlignes med den lagrede. Et salt – en tilfeldig streng lagt til før hashing – sørger for at to like passord får ulike hasher, og beskytter mot rainbow table-angrep. Hashing brukes også til filintegritet og signaturer. Vanlige algoritmer er SHA-256 og bcrypt (laget for passord), mens MD5 ikke lenger regnes som sikkert.

📝Oppgave Quiz 2

Å bevise hvem du er

Autentisering er å verifisere at en bruker er den de utgir seg for å være. Det bygger på tre faktorkategorier: noe du vet (passord, PIN), noe du har (mobil, sikkerhetsnøkkel) og noe du er (fingeravtrykk, ansikt). De fleste innlogginger bruker bare én faktor – passord – men passord kan stjeles gjennom phishing, lekkasjer eller brute force. Derfor finnes tofaktorautentisering (2FA), som krever to faktorer fra ulike kategorier. Et godt eksempel er å logge inn med passord og deretter en kode fra en autentiseringsapp. Vanlige kombinasjoner er passord + SMS-kode (enkelt, men SMS kan avlyttes), passord + autentiseringsapp (tryggere, kodene lages lokalt), passord + fysisk sikkerhetsnøkkel som YubiKey (sterkest), eller passord + biometri. Norske banker bruker BankID som en form for 2FA. En ny trend er passkeys – passordløs innlogging der biometri frigjør en privat nøkkel på enheten, motstandsdyktig mot phishing fordi nøkkelen aldri forlater enheten.

Men asymmetrisk kryptering reiser et nytt spørsmål: hvordan vet du at den offentlige nøkkelen du mottar, faktisk tilhører riktig person? En angriper kunne gi deg sin egen nøkkel og utgi seg for noen andre. Løsningen er digitale sertifikater og PKI. Et digitalt sertifikat binder en offentlig nøkkel til en identitet og inneholder eierens identitet og nøkkel, utsteders identitet, gyldighetstid og en digital signatur. Utstederen er en sertifikatautoritet (CA) – en pålitelig tredjepart som verifiserer identiteten og signerer sertifikatet. Når du besøker en HTTPS-side, sjekker nettleseren at sertifikatet er signert av en pålitelig CA, ikke er utløpt, og at domenet stemmer. Er alt OK, vises hengelåsen. Du bør aldri ignorere en sertifikatadvarsel. Let's Encrypt har gjort HTTPS gratis og utbredt, og bidratt til at HTTPS-bruken har steget fra rundt 40 % til over 95 % av all webtrafikk.

📝Oppgave Quiz 3

Oppsummering

Kryptering er den usynlige teknologien som beskytter oss, med en historie fra Cæsar-chifferet til moderne matematikk. Symmetrisk kryptering bruker samme nøkkel (rask, men nøkkeldistribusjon er problemet), mens asymmetrisk kryptering bruker et offentlig/privat nøkkelpar som løser nettopp det – og muliggjør digitale signaturer og ende-til-ende-kryptering. Hashing er en enveisfunksjon som beskytter passord, gjerne med salt.

Autentisering bygger på faktorene noe du vet, har og er, og 2FA kombinerer to av dem for langt sterkere beskyttelse. Til slutt sørger digitale sertifikater og sertifikatautoriteter for at du kan stole på at en offentlig nøkkel virkelig tilhører riktig server – grunnlaget for hengelåsen i HTTPS, som Let's Encrypt har gjort tilgjengelig for nesten hele webben.

Dette kapitlet er skrevet av Anthropics toppmodeller (Claude Opus og Claude Fable) og er foreløpig ikke manuelt gjennomgått — kvalitetskontrollen gjøres av uavhengige KI-agenter, og innmeldte feil rettes fortløpende. Funnet en feil? Meld fra, så retter vi den. Les mer om hvordan innholdet lages.