Lær om symmetrisk/asymmetrisk kryptering, hashing, 2FA og digitale sertifikater.
Kryptering og autentisering
Kvar gong du loggar inn på ei nettside, sender ei melding eller betalar med Vipps, brukar du kryptering utan å tenkje over det. Kryptering er den usynlege teknologien som gjer det trygt å handle på nett, kommunisere privat og verne sensitive data. Utan kryptering ville all digital kommunikasjon vore som å sende postkort – kven som helst undervegs kunne lese innhaldet.
I dette kapittelet skal vi forstå dei grunnleggjande prinsippa bak kryptering og autentisering. Vi skal sjå korleis symmetrisk og asymmetrisk kryptering fungerer, kvifor hashing er viktig for passordtryggleik, korleis tofaktorautentisering vernar kontoane dine, og korleis digitale sertifikat gjer HTTPS mogleg.
Menneske har brukt kryptering i tusenvis av år. Allereie i antikken utvikla ein metodar for å skjule meldingar:
- Cæsar-chifferet (ca. 100 f.Kr.): Julius Cæsar erstatta kvar bokstav med ein bokstav eit fast tal plassar lenger ut i alfabetet. Med forskyving 3 blir A til D, B til E, osv. Meldinga «ANGRIP» blir «DQJULS».
- Enigma-maskina (1920–1940-talet): Tyskarane brukte den elektromekaniske Enigma-maskina til å kryptere militær kommunikasjon under andre verdskrigen. Den britiske matematikaren Alan Turing og teamet hans ved Bletchley Park klarte å knekke Enigma-koden, noko som ifølgje mange historikarar forkorta krigen med fleire år.
- Moderne kryptering (1970-talet–i dag): Med datamaskiner vart det mogleg å bruke avanserte matematiske algoritmar. DES (1977) og AES (2001) vart standardar for symmetrisk kryptering. RSA (1977) revolusjonerte feltet med asymmetrisk kryptering basert på primtalsfaktorisering.
I dag er kryptering ein integrert del av all digital kommunikasjon. Algoritmane er baserte på matematiske problem som er enkle i éi retning men ekstremt vanskelege å reversere – som å multiplisere to store primtal kontra å faktorisere produktet.
Korleis det fungerer
1. Avsendar tek klarteksten og krypterer han med nøkkelen → chiffertekst
2. Chifferteksten blir sendt over nettverket (trygt – han er uleseleg utan nøkkelen)
3. Mottakar dekrypterer chifferteksten med den same nøkkelen → klartekst
Fordelar
- Rask: Symmetrisk kryptering er svært effektiv for store datamengder
- Enkel: Éin nøkkel gjer det enkelt å implementere
- Sterk: Moderne algoritmar som AES-256 er praktisk umoglege å knekke med dagens teknologi
Ulemper
- Nøkkeldistribusjon: Korleis får du trygt overlevert nøkkelen til mottakaren? Viss nøkkelen blir fanga opp undervegs, kan angriparen dekryptere alt
- Skalering: Viss 100 personar skal kommunisere sikkert med kvarandre parvis, trengst 4 950 unike nøklar
Vanlege algoritmar
- AES (Advanced Encryption Standard): Den mest brukte symmetriske algoritmen i dag. Brukar nøkkellengder på 128, 192 eller 256 bit. AES-256 blir rekna som uknuseleg med dagens teknologi
- ChaCha20: Eit raskt alternativ til AES, brukt i nokre TLS-implementasjonar og meldingsappar
AES blir brukt mellom anna i HTTPS (for sjølve datakrypteringa), BitLocker (Windows-diskryptering), FileVault (Mac-diskryptering) og dei fleste VPN-tenester.
- Offentleg nøkkel (public key): Kan delast fritt med alle
- Privat nøkkel (private key): Blir halden strengt hemmeleg
Data som blir kryptert med den offentlege nøkkelen kan berre dekrypterast med den tilhøyrande private nøkkelen, og omvendt.
Korleis det fungerer (kryptering)
1. Mottakar genererer eit nøkkelpar og deler sin offentlege nøkkel fritt
2. Avsendar krypterer meldinga med den offentlege nøkkelen til mottakaren
3. Den krypterte meldinga blir sendt over nettverket
4. Mottakar dekrypterer med sin private nøkkel – berre mottakar kan lese meldinga
Sjølv om angriparen fangar opp den krypterte meldinga og kjenner den offentlege nøkkelen, kan dei ikkje dekryptere meldinga utan den private nøkkelen.
Digitale signaturar
Asymmetrisk kryptering blir òg brukt for digitale signaturar – ein måte å bevise identiteten til avsendaren:
1. Avsendar signerer meldinga med sin private nøkkel
2. Kven som helst kan verifisere signaturen med den offentlege nøkkelen til avsendaren
3. Signaturen beviser at meldinga verkeleg kjem frå avsendar og ikkje er endra
Fordelar
- Inga nøkkeldeling nødvendig: Den offentlege nøkkelen kan delast fritt
- Skalering: Kvar brukar treng berre eitt nøkkelpar
- Digitale signaturar: Gjer identitetsverifisering mogleg
Ulemper
- Langsam: Mykje tregare enn symmetrisk kryptering (ca. 1000 gonger)
- Nøkkellengd: Krev mykje lengre nøklar for tilsvarande tryggleik
Vanlege algoritmar
- RSA: Den mest kjende asymmetriske algoritmen, basert på vanskane med å faktorisere store tal. Brukar typisk 2048- eller 4096-bit nøklar
- ECC (Elliptic Curve Cryptography): Gir tilsvarande tryggleik som RSA med kortare nøklar, og er dermed raskare. Blir brukt stadig meir i moderne system
I praksis blir asymmetrisk og symmetrisk kryptering brukt saman i det som blir kalla hybridkryptering. HTTPS er eit godt døme:
Problem: Symmetrisk kryptering er rask men krev ein felles nøkkel. Asymmetrisk kryptering løyser nøkkeldelinga men er langsam.
Løysing – hybridkryptering:
1. TLS-handtrykk (asymmetrisk):
- Nettlesaren koplar seg til serveren
- Serveren sender sitt digitale sertifikat med sin offentlege nøkkel
- Nettlesaren verifiserer sertifikatet
- Nettlesaren og serveren brukar asymmetrisk kryptering til å forhandle fram ein sesjonsnøkkel (ein tilfeldig symmetrisk nøkkel)
2. Dataoverføring (symmetrisk):
- All vidare kommunikasjon blir kryptert med den avtalte sesjonsnøkkelen (AES)
- Symmetrisk kryptering er rask nok for kontinuerleg dataoverføring
- Sesjonsnøkkelen er unik for dette sambandet og blir forkasta når sesjonen blir avslutta
Resultat: Asymmetrisk kryptering løyser nøkkelproblemet (trygg nøkkelutveksling), og symmetrisk kryptering gir farten som trengst for sjølve dataoverføringa. Saman gir dei det beste frå begge verder.
Eigenskapar ved ein god hash-funksjon
- Deterministisk: Same input gir alltid eksakt same hash-verdi
- Einveg: Det er praktisk umogleg å finne input frå hash-verdien
- Skredeffekt: Sjølv den minste endring i input gir ein heilt annleis hash
- Kollisjonsmotstand: Det er ekstremt usannsynleg at to ulike input gir same hash
- Fast storleik: Hash-verdien har alltid same lengd, uansett storleik på input
Døme
Lat oss sjå SHA-256-hashing i aksjon:
- Input: Hei → Hash: a4c4b3c88e... (64 heksadesimale teikn)
- Input: hei → Hash: 7f83b1657f... (heilt annleis – berre endra stor til liten H)
- Input: Ei heil bok på 500 sider → Hash: Framleis 64 heksadesimale teikn
Bruksområde for hashing
1. Passordlagring:
Ansvarlege nettstader lagrar aldri passordet ditt i klartekst. I staden lagrar dei ein hash av passordet. Når du loggar inn, blir passordet du skriv inn hasha og samanlikna med den lagra hashen. Viss dei er like, er passordet rett.
I tillegg blir eit salt brukt – ein tilfeldig streng som blir lagt til passordet før hashing. Saltet gjer at to brukarar med same passord får ulike hash-verdiar, og vernar mot førehandsberekna angrep (rainbow tables).
2. Filintegritet:
Når du lastar ned ei fil, kan du samanlikne hashen til fila med den oppgitte hash-verdien for å verifisere at fila ikkje er endra eller korrupt undervegs.
3. Digitale signaturar:
I staden for å signere ei heil melding (som kan vere stor), blir det rekna ein hash av meldinga, og hashen blir signert med den private nøkkelen.
Vanlege hash-algoritmar
- SHA-256: Del av SHA-2-familien, brukt i TLS, Bitcoin og filverifisering
- SHA-3: Nyare standard, designa som backup i tilfelle SHA-2 viser veikskapar
- bcrypt: Spesielt designa for passordlagring, med innebygd salt og justerbar vanskegrad
- MD5: Eldre algoritme som ikkje lenger blir rekna som sikker (kollisjonar er funne), men blir framleis brukt for filsjekksummar
Dei tre faktorane
1. Noko du veit (kunnskapsfaktor): Passord, PIN-kode, tryggleiksspørsmål
2. Noko du har (besittingsfaktor): Mobiltelefon, tryggleiksnøkkel, smartkort, eingongskode-brikke
3. Noko du er (biometrisk faktor): Fingeravtrykk, andletsgjenkjenning, iris-skanning, stemmegjenkjenning
Einfaktorautentisering
Dei fleste innloggingar brukar berre éin faktor – passord (noko du veit). Problemet er at passord kan stelast gjennom phishing, datalekkasjar eller brute force-angrep. Viss passordet blir kompromittert, er kontoen uverna.
Tofaktorautentisering (2FA)
2FA krev to ulike faktorar frå minst to kategoriar. Vanlege kombinasjonar:
- Passord + SMS-kode: Du loggar inn med passord og tek imot ein eingongskode på SMS. Enkelt men SMS kan avlyttast (SIM-swapping).
- Passord + autentiseringsapp: Appar som Google Authenticator eller Microsoft Authenticator genererer tidsavgrensa eingongskodar (TOTP). Tryggare enn SMS fordi kodane blir genererte lokalt på telefonen.
- Passord + fysisk tryggleiksnøkkel: Ei USB-eining (t.d. YubiKey) som blir kopla til datamaskina. Den sterkaste forma for 2FA fordi nøkkelen ikkje kan kopierast digitalt.
- Passord + biometri: Fingeravtrykk eller andletsgjenkjenning som andre faktor.
Multifaktorautentisering (MFA)
MFA brukar to eller fleire faktorar og er i dag standard for mange tenester. Norske bankar krev til dømes BankID med passord (noko du veit) og mobil/kodebrikke (noko du har) – ei form for 2FA.
Passordlaus autentisering
Ein ny trend er passkeys – passordlaus autentisering basert på asymmetrisk kryptering. I staden for passord brukar du biometri (fingeravtrykk/andlet) for å frigje ein privat nøkkel som er lagra sikkert på eininga di. Serveren har berre den offentlege nøkkelen. Passkeys er motstandsdyktige mot phishing fordi den private nøkkelen aldri forlèt eininga.
Asymmetrisk kryptering løyser nøkkelproblemet, men skaper eit nytt spørsmål: Korleis veit du at den offentlege nøkkelen du tek imot verkeleg høyrer til rett person? Ein angripar kan i teorien gi deg sin eigen offentlege nøkkel og gi seg ut for å vere nokon andre. Løysinga er digitale sertifikat og PKI (Public Key Infrastructure).
Kva er eit digitalt sertifikat?
Eit digitalt sertifikat er eit elektronisk dokument som bind ein offentleg nøkkel til ein identitet. Sertifikatet inneheld:
- Identiteten til eigaren: Domenenamn, organisasjon, land
- Den offentlege nøkkelen til eigaren
- Identiteten til utstedaren: Sertifikatautoriteten som garanterer sertifikatet
- Gyldigheitstid: Start- og sluttdato
- Digital signatur: Signaturen til sertifikatautoriteten som bevis på ektheita
Sertifikatautoritetar (CA)
Ein sertifikatautoritet (Certificate Authority) er ein påliteleg tredjepart som verifiserer identiteten til den som ber om eit sertifikat, og utstedar signerte digitale sertifikat. Det finst eit hierarki av CA-ar:
- Rot-CA (Root CA): Dei mest pålitelege CA-ane, innebygde i nettlesarar og operativsystem
- Mellomliggjande CA: Utstedde av rot-CA-ar, brukte til å utstede sertifikat til nettsider
- Sluttsertifikat: Sertifikata som faktisk blir brukte av nettsider
Sertifikat i praksis
Når du besøkjer ei HTTPS-side:
1. Serveren sender sitt digitale sertifikat til nettlesaren
2. Nettlesaren sjekkar at sertifikatet er signert av ein påliteleg CA
3. Nettlesaren sjekkar at sertifikatet ikkje er utløpt
4. Nettlesaren sjekkar at domenenamnet matchar sertifikatet
5. Viss alt er OK, blir hengelåsikonet vist og sambandet blir kryptert
Viss noko er gale med sertifikatet, viser nettlesaren ei åtvaring som «Sambandet er ikkje sikkert». Du bør aldri ignorere slike åtvaringar, spesielt ikkje på sider der du oppgir sensitiv informasjon.
Let's Encrypt
Let's Encrypt er ein gratis, automatisert sertifikatautoritet som har demokratisert HTTPS. Før Let's Encrypt måtte nettsideeigarar betale for sertifikat, noko som førte til at mange små nettsider ikkje brukte HTTPS. I dag utstedar Let's Encrypt sertifikat til over 300 millionar nettsider og har vore ein viktig faktor i at HTTPS-bruken har auka frå ca. 40 % til over 95 % av all webtrafikk.
Slik fungerer det forenkla:
1. Kvar brukar har eit nøkkelpar (offentleg + privat)
2. Meldinga blir kryptert med den offentlege nøkkelen til mottakaren
3. Berre den private nøkkelen til mottakaren kan dekryptere meldinga
4. Serverane til tenesteleverandøren ser berre kryptert data
Appar med E2EE: Signal (sterkast tilrådd), WhatsApp, iMessage, Telegram (i «hemmeleg chat»-modus).
Appar utan E2EE: Vanleg SMS, Facebook Messenger (standard), Slack, e-post (med mindre du brukar PGP).
E2EE er kontroversielt fordi styresmakter argumenterer for at det gjer det vanskelegare å etterforske kriminalitet, medan personvernforkjemparar meiner det er nødvendig for demokrati og ytringsfridom.
Du kan sjølv undersøkje digitale sertifikat i nettlesaren:
1. Gå til ei HTTPS-nettside (t.d. www.nrk.no)
2. Klikk på hengelåsikonet i adressefeltet
3. Klikk på Sertifikat eller Vis sertifikat
4. Du kan sjå:
- Kven sertifikatet er utstedt til (domenenamnet)
- Kven som utstedte det (sertifikatautoriteten)
- Gyldigheitsperioden
- Den offentlege nøkkelen og krypteringsalgoritmen
Prøv å samanlikne sertifikata til ulike nettsider – du vil sjå at dei brukar ulike CA-ar og ulike nøkkellengder.
Kva er hovudskilnaden mellom symmetrisk og asymmetrisk kryptering?
Kva er hashing?
Kvifor lagrar seriøse nettstader passord som hash-verdiar i staden for i klartekst?
Kva av desse er eit døme på tofaktorautentisering (2FA)?
Forklar korleis HTTPS brukar hybridkryptering for å sikre kommunikasjonen mellom nettlesar og server. Skildr stega i TLS-handtrykket og forklar kvifor ein brukar både asymmetrisk og symmetrisk kryptering.
Kva er rolla til ein sertifikatautoritet (CA) i HTTPS?
Samanlikn tre ulike metodar for tofaktorautentisering: SMS-kode, autentiseringsapp (TOTP) og fysisk tryggleiksnøkkel (t.d. YubiKey). Vurder tryggleik, brukarvenlegheit og praktiske forhold for kvar metode. Kva ville du tilrådd for ei bedrift, og kvifor?
Kva er ende-til-ende-kryptering (E2EE), og kvifor kan ikkje tenesteleverandøren lese meldingane dine?
Oppsummering
I dette kapittelet har du lært:
- Kryptering: gjer klartekst til uleseleg chiffertekst.
- Symmetrisk vs. asymmetrisk: same nøkkel mot nøkkelpar.
- Hashing: einvegsfunksjon, brukt til passord.
- Autentisering: einfaktor, tofaktor (2FA) og multifaktor.
- Digitale sertifikat: utstedde av sertifikatautoritetar (CA).
Nøkkelomgrep
| Omgrep | Forklaring |
|---|---|
| Kryptering | Å gjere informasjon uleseleg utan nøkkel |
| Symmetrisk kryptering | Same nøkkel til kryptering og dekryptering |
| Hashing | Einvegsfunksjon, t.d. for passord |
| 2FA | Tofaktorautentisering |
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.