Tilbake
3.4

3.4 Digital signatur, hash og PKI

Digital signatur (senderens private nøkkel signerer), hash for integritet, og PKI/sertifikater — inkludert at signatur **ikke** gir konfidensialitet.

50 min
8 oppgaver
Digital signaturhashPKI
Din fremgang i kapitlet
0 / 8 oppgaver

Forkunnskaper — sist du var her

Dette kapitlet bygger på kap. 3.3. Her er det du trenger, ferdig oppfrisket:

1. Nøkkelparet. Hver part har en offentlig nøkkel som kan deles med alle, og en privat nøkkel som aldri forlater eieren. Det som krypteres med den ene, kan bare dekrypteres med den andre.

2. Retningen for en hemmelig melding:

Alice krypterer med   ->  Bobs OFFENTLIGE nøkkel
Bob dekrypterer med   ->  Bobs PRIVATE nøkkel

Begge nøklene tilhører mottakeren. I dette kapitlet snus dette: signering bruker avsenderens nøkler.

3. Målene som er i spill, fra kap. 3.1:

MålSpørsmålet
KonfidensialitetKan uvedkommende lese det?
IntegritetEr innholdet uendret?
AutentisitetEr det virkelig den vi tror?
UavviselighetKan avsenderen nekte for det?

4. Mellommannsangrep fra kap. 3.2: kryptering alene er ikke nok, fordi angriperen kan sette opp sin egen krypterte forbindelse og utgi seg for motparten. Sertifikatene i dette kapitlet er svaret på nettopp det.
Notasjons- og konstruksjonsliste

Løkke 1 — Hash: et fingeravtrykk av innholdet (~12 min)

Du laster ned en programfil på 900 MB. Hvordan vet du at den ikke er endret underveis — at ingen har puttet noe inn i den?

Du kunne sammenlignet den med originalen byte for byte, men da måtte du jo lastet ned originalen igjen.

Løsningen er å regne ut et lite fingeravtrykk av fila, og bare sammenligne fingeravtrykkene. Det er en hash-verdi, og den er byggesteinen under både signaturer og passordlagring.

Hash-verdi

En kort verdi med fast lengde, regnet ut fra innholdet i en fil eller melding.

Tre egenskaper gjør den nyttig:

1. Samme innhold gir alltid samme verdi. Verdien kan derfor sammenlignes.
2. Endres innholdet med så mye som ett bit, endres verdien fullstendig. Det er dette som avslører endringer.
3. Verdien kan ikke regnes tilbake til innholdet. Funksjonen går bare én vei.

Lengden er fast uansett hvor stort innholdet er: en tekst på tre bokstaver og en fil på 900 MB gir hash-verdier av nøyaktig samme størrelse.

Målet den tjener: integritet.

Den faste feilslutningen: å tro at en hash skjuler innholdet. Den gjør ikke det. Fila er nøyaktig like lesbar med hash-verdi som uten — hash-verdien er noe som kommer i tillegg. Dette er felle #9.

✏️Eksempel 1: Hva en hash faktisk avslører

En nedlastingsside oppgir en hash-verdi ved siden av programfila. Du laster ned fila, regner ut hash-verdien selv og sammenligner. Hva har du bevist hvis verdiene stemmer — og hva har du ikke bevist?

Dette har du bevist: at fila du lastet ned, er bit for bit identisk med den fila hash-verdien ble regnet ut fra. Ingen har endret noe underveis, og nedlastingen har ikke blitt korrupt.

Det er integritet.

Dette har du IKKE bevist, i tre punkter:

1. At fila er hemmelig. Selvsagt ikke — alle kan laste den ned og lese den. Hash gir ikke konfidensialitet.
2. At fila er trygg. Hash-verdien sier bare at innholdet er uendret. Var det skadevare i utgangspunktet, er det fortsatt skadevare, og hash-verdien stemmer perfekt.
3. At hash-verdien selv er ekte. Dette er det viktigste. En angriper som kontrollerer nettsiden, kan endre både fila og den oppgitte hash-verdien. Da stemmer de fortsatt overens.

Konklusjonen: en hash alene beskytter mot feil og forvanskning underveis, ikke mot en angriper som kontrollerer kilden.

Hva som løser det siste problemet: at hash-verdien signeres med utgiverens private nøkkel. Da kan du kontrollere at hash-verdien kommer fra rett avsender, og angriperen kan ikke lage en ny signatur uten den private nøkkelen. Det er nettopp digital signatur, som kommer i neste løkke.

📝Oppgave 1

(Innsteg — hash.) Hvilket sikkerhetsmål tjener en hash-verdi, og hvilket tjener den ikke? Begrunn begge deler.

Løkke 2 — Signaturen: den motsatte retningen (~14 min)

Nå kommer den ene operasjonen som ser ut som en feil, og som likevel er hele poenget.

I kap. 3.3 lærte du at det å kryptere med sin egen private nøkkel gir en melding alle kan lese. Det virket ubrukelig.

Det er det ikke. Det er nettopp fordi alle kan lese den — med din offentlige nøkkel — at de også kan kontrollere at det var deg. Ingen andre kunne ha laget noe som lar seg åpne med din offentlige nøkkel.

— naturlig pausepunkt —

📜Digital signatur — retning og virkemåte
Retningen, som er motsatt av hemmelig melding:

Alice signerer med   ->  Alices PRIVATE nøkkel
Bob validerer med    ->  Alices OFFENTLIGE nøkkel

Begge nøklene tilhører avsenderen. Mottakerens nøkler er ikke involvert i det hele tatt.

Slik gjøres det i praksis, fire steg:

1. Alice regner ut hash-verdien av meldingen.
2. Alice krypterer hash-verdien — ikke hele meldingen — med sin private nøkkel. Resultatet er signaturen.
3. Alice sender meldingen og signaturen.
4. Bob regner ut hash-verdien av meldingen selv, dekrypterer signaturen med Alices offentlige nøkkel, og sammenligner de to verdiene.

Hvorfor bare hash-verdien signeres: asymmetrisk kryptering er treg, og hash-verdien er liten uansett hvor stor meldingen er. En signatur på en fil på 900 MB tar like kort tid som på en tekstmelding.

Hva du oppnår, og hva du ikke oppnår:

MålOppnådd?Hvorfor
IntegritetJaEndres meldingen, stemmer ikke hash-verdiene lenger
AutentisitetJaBare Alice har den private nøkkelen
UavviselighetJaAlice kan ikke nekte — ingen andre kunne laget signaturen
KonfidensialitetNeiMeldingen sendes i klartekst, og alle kan lese den

Den siste raden er felle #4, og den er fagets mest testede enkeltinnsikt. En digital signatur skjuler ingenting. Vil du ha både hemmelighold og signatur, må du gjøre begge deler: signere med din private nøkkel og kryptere med mottakerens offentlige.
Validering av en signatur

Å kontrollere at en signatur er ekte, ved å bruke avsenderens offentlige nøkkel.

Mottakeren gjør to ting og sammenligner:

1. Regner ut hash-verdien av meldingen slik den ble mottatt.
2. Dekrypterer signaturen med avsenderens offentlige nøkkel, og får ut hash-verdien slik den var da den ble signert.

Stemmer de to? Da er meldingen uendret, og den kom fra den som eier den private nøkkelen.

Stemmer de ikke? Da er enten meldingen endret underveis, eller signaturen laget av noen andre. Hvilken av delene, kan man ikke se — og det trenger man heller ikke: begge deler betyr at meldingen ikke skal stoles på.

✏️Eksempel 2: Eksamensform — hva gir en signatur?

Svarform F2, altså sant/usant-matrise: Alice sender en signert melding til Bob. Vurder hver påstand.

a) Bob kan kontrollere at meldingen kom fra Alice.

b) Ingen andre enn Bob kan lese meldingen.

c) Bob kan oppdage om meldingen er endret underveis.

d) Alice kan senere nekte for å ha sendt meldingen.

a) Sann. Signaturen lar seg validere med Alices offentlige nøkkel, og bare den som har hennes private nøkkel, kunne laget den. Det er autentisitet.

b) Usann. Dette er felle #4, fagets mest testede enkeltinnsikt. Meldingen sendes i klartekst; signaturen kommer i tillegg. Alle som fanger opp meldingen, kan lese den — og det må de kunne, for ellers kunne de heller ikke regne ut hash-verdien og kontrollere signaturen.

c) Sann. Bob regner ut hash-verdien selv og sammenligner med den signerte. Er meldingen endret med ett bit, stemmer ikke verdiene. Det er integritet.

d) Usann. Det er nettopp det signaturen hindrer. Bare Alice har sin private nøkkel, så bare hun kan ha laget signaturen. Det er uavviselighet.

Fasit: a sann, b usann, c sann, d usann.

Mønsteret å ta med seg: en signert melding gir tre av fire mål — integritet, autentisitet og uavviselighet. Det ene den ikke gir, er konfidensialitet.

Om formen: rad b og d er begge formulert slik at riktig svar er «usant», men av motsatt grunn: b) påstår en egenskap signaturen ikke har, mens d) benekter en egenskap den har. Les hver rad for seg.

📝Oppgave 2
Sjanger H

Kari signerer et dokument digitalt og sender det til Ola. Velg ett alternativ per delspørsmål.

a) Kari signerer med …

1. Olas offentlige nøkkel · 2. Karis private nøkkel · 3. Karis offentlige nøkkel · 4. Olas private nøkkel

b) Ola validerer signaturen med …

1. Karis offentlige nøkkel · 2. Karis private nøkkel · 3. Olas private nøkkel · 4. Olas offentlige nøkkel

📝Oppgave 3
Sjanger H

Kryss av alle målene en digital signatur gir, og begrunn hvert av de fire.

a) Konfidensialitet

b) Autentisitet

c) Uavviselighet

d) Integritet

📝Oppgave 4
Sjanger H

Alice vil sende Bob en melding som både er hemmelig og bevislig kommer fra henne. Hvilke to operasjoner må hun gjøre, og med hvilke nøkler?

Løkke 3 — Sertifikater: hvem eier egentlig nøkkelen? (~12 min)

Det er ett hull igjen, og det er stort.

Du validerer en signatur med «Alices offentlige nøkkel». Men hvordan vet du at nøkkelen du har, faktisk er Alices? En angriper kan ha sendt deg sin egen offentlige nøkkel og påstått at den er Alices. Da vil alt validere pent — mot feil person.

Det samme gjelder nettbanken: nettleseren din får en offentlig nøkkel fra tjeneren. Hvem sier at den tilhører banken?

Svaret er digitale sertifikater.

Digitalt sertifikat

Et dokument som binder en offentlig nøkkel til en identitet — et navn, et domene, en virksomhet.

Sertifikatet er selv signert av en betrodd tredjepart, en sertifikatutsteder. Signaturen gjør at sertifikatet ikke kan forfalskes uten utstederens private nøkkel.

Når nettleseren din kobler seg til en nettbank, får den bankens sertifikat. Den kontrollerer utstederens signatur, og hvis den stemmer, vet den at den offentlige nøkkelen faktisk tilhører banken.

Problemet sertifikatet løser: at en offentlig nøkkel i seg selv ikke sier noe om hvem den tilhører. Uten sertifikater ville en angriper kunne levere sin egen nøkkel og utgi seg for hvem som helst — nettopp mellommannsangrepet fra kap. 3.2.

Den faste feilslutningen: å tro at et sertifikat krypterer noe. Det gjør det ikke. Det bekrefter en tilhørighet, og krypteringen skjer med nøkkelen sertifikatet bekrefter.

PKI — offentlig nøkkelinfrastruktur

Systemet av sertifikatutstedere, sertifikater og regler som gjør det mulig å stole på offentlige nøkler i praksis.

Forkortelsen står for public key infrastructure, og den glosses her fordi den brukes i oppgavetekster.

De tre delene du bør kunne:

1. Utstederne kontrollerer identiteten til den som ber om et sertifikat, og signerer det.
2. Tillitskjeden går fra en rot-utsteder som nettleseren stoler på i utgangspunktet, ned til det enkelte sertifikatet.
3. Tilbaketrekking gjør at et sertifikat kan erklæres ugyldig før det utløper — for eksempel hvis den private nøkkelen kommer på avveie.

Svakheten i systemet er at det hviler på tillit til utstederne. Blir en utsteder kompromittert, kan angriperen få utstedt sertifikater i andres navn.

Den praktiske konsekvensen: en sertifikatadvarsel i nettleseren betyr at denne kjeden ikke går opp. Da skal du ikke klikke deg forbi.

✏️Eksempel 3: Hva sertifikatet faktisk beviser

Du besøker en nettbutikk du aldri har brukt før. Nettleseren viser hengelås og et gyldig sertifikat. Hva har du fått bekreftet, og hva har du ikke fått bekreftet?

Dette har du fått bekreftet, i tre punkter:

1. At du snakker med den som eier domenet som står i sertifikatet — ikke med en mellommann.
2. At trafikken er kryptert, slik at ingen på veien kan lese den.
3. At en betrodd utsteder har kontrollert at nøkkelen hører til dette domenet.

Det er autentisitet, konfidensialitet og integritet på selve forbindelsen.

Dette har du IKKE fått bekreftet:

- At butikken er hederlig. Et sertifikat sier ingenting om hvem som står bak, om varene finnes, eller om pengene dine kommer tilbake. En svindler kan skaffe seg et fullt gyldig sertifikat til sitt eget domene.
- At domenet ikke ligner på et annet. Et domene som ligner på et kjent navn, kan ha sitt eget gyldige sertifikat. Sertifikatet bekrefter at du er på det domenet som står der — ikke at det er det domenet du trodde du skulle til.

Konklusjonen: sertifikatet svarer på spørsmålet «snakker jeg med den jeg tror?», ikke på «kan jeg stole på dem?».

Eksamensrelevansen: en fast distraktor er å hevde at HTTPS eller et sertifikat gjør en nettside «trygg». Den riktige formuleringen er at forbindelsen er sikret og motparten identifisert.

📝Oppgave 5
Sjanger H

Vurder hver påstand som sann eller usann, og begrunn hver rad.

#PåstandSant/usant
aEt sertifikat binder en offentlig nøkkel til en identitet
bEt sertifikat krypterer trafikken mellom nettleser og tjener
cEt gyldig sertifikat garanterer at nettstedet er hederlig
dSertifikatet er signert av en betrodd utsteder

Løkke 4 — To begreper til, og eksamensformen (~12 min)

To begreper hører hjemme i denne delen av seksjonen, og begge dukker opp i faktaoppgaver: nulldagssårbarhet og trojaner.

Deretter en siste gjennomgang av selve eksamensformen, der de tre fellene #4, #5 og #9 møtes i samme sett.

Nulldagssårbarhet

En svakhet i programvare som er ukjent for leverandøren, og som det derfor ikke finnes noen rettelse for.

Navnet kommer av at leverandøren har hatt null dager på seg til å lukke hullet når det først blir utnyttet.

Hvorfor den er farlig: alle de vanlige tiltakene forutsetter at svakheten er kjent. Sikkerhetsoppdateringer hjelper ikke mot noe som ikke er oppdaget, og antivirus kjenner ikke igjen et angrep ingen har sett før.

Det som fortsatt virker, er tiltak som ikke avhenger av å kjenne trusselen: minste privilegium, overvåking av unormal oppførsel, og segmentering som begrenser skaden.

Den faste feilslutningen: å tro at et oppdatert system er trygt mot alt. Oppdatering lukker de kjente hullene, og det er svært mye — men ikke alt.

Trojaner

Et program med en skjult skadelig funksjon, pakket inn i noe som ser nyttig ut.

Brukeren installerer det frivillig, i den tro at det er et spill, et verktøy eller en oppdatering. Den skadelige delen kjører i bakgrunnen.

Kjennetegnet er innpakningen, ikke hva skaden består i. En trojaner kan inneholde en tastelogger, en bakdør eller et løsepengevirus.

Skillet mot virus og orm: viruset fester seg til en vertsfil, ormen sprer seg selv over nett. Trojaneren gjør ingen av delene — den blir båret inn av brukeren selv. Hele skadevaretypologien behandles sist i denne delen.

✏️Eksempel 4: Eksamensnivå — de tre fellene i ett sett

Svarform F1. Kryss av alle påstandene som stemmer.

a) En digital signatur gir uavviselighet.

b) En hash-verdi gjør innholdet uleselig for uvedkommende.

c) En hemmelig melding krypteres med mottakerens offentlige nøkkel.

d) En signatur valideres med avsenderens private nøkkel.

e) En signert melding kan leses av alle som fanger den opp.

a) Riktig. Bare avsenderen har sin private nøkkel, så bare hun kan ha laget signaturen. Hun kan derfor ikke nekte for det i ettertid.

b) Galt — felle #9. En hash-verdi kommer i tillegg til innholdet og skjuler ingenting. Den avslører endringer, altså integritet. Innholdet er nøyaktig like lesbart som før.

c) Riktig. Dette er retningsregelen for hemmelighold: begge nøklene tilhører mottakeren.

d) Galt — felle #5. Validering bruker avsenderens offentlige nøkkel. Den private har bare avsenderen selv, og hadde mottakeren hatt den, ville hele poenget falt bort. Påstanden snur retningen.

e) Riktig — dette er felle #4 formulert som en sann påstand. Signaturen gir ikke konfidensialitet. Meldingen sendes i klartekst, og alle kan lese den. Merk hvordan samme innsikt kan stå både som en sann og som en usann rad, avhengig av formuleringen.

Fasit: a, c og e.

Om formen: de tre gale og sanne alternativene fordeler seg over de tre fellene #4, #5 og #9 — akkurat som et virkelig sett gjerne gjør. Har du de tre reglene klare, avgjør du hele oppgaven på et minutt:

1. Signatur gir alt unntatt konfidensialitet.
2. Hemmelighold bruker mottakerens nøkler; signering bruker avsenderens.
3. Hash gir integritet, aldri konfidensialitet.

📝Oppgave 6
Eksamensnivå, sjanger H

Vurder hver påstand som sann eller usann, og begrunn hver rad.

#PåstandSant/usant
aDet er hash-verdien, ikke hele meldingen, som signeres
bEn digital signatur skjuler innholdet i meldingen
cEn hash-verdi kan regnes tilbake til innholdet
dEndres meldingen med ett bit, feiler valideringen

📝Oppgave 7
Eksamensnivå, sjanger H

Kryss av alle påstandene som stemmer, og begrunn hvert av de fem.

a) I en hemmelig melding tilhører begge nøklene mottakeren.

b) I en digital signatur tilhører begge nøklene avsenderen.

c) Mottakeren validerer en signatur med sin egen private nøkkel.

d) Vil du ha både hemmelighold og signatur, må to operasjoner gjøres.

e) En signatur laget med avsenderens offentlige nøkkel kan valideres av alle.

📝Oppgave 8
Eksamensnivå, sjanger H

En nedlastingsside oppgir en hash-verdi ved siden av en programfil. Kryss av alle påstandene som stemmer, og begrunn hvert av de fem.

a) Stemmer hash-verdien, er fila garantert fri for skadevare.

b) Stemmer hash-verdien, er fila uendret siden verdien ble regnet ut.

c) En angriper som kontrollerer nettsiden, kan endre både fila og hash-verdien.

d) Hash-verdien gjør fila utilgjengelig for uvedkommende.

e) Signeres hash-verdien av utgiveren, blir kontrollen sterkere.

Begrepsbank til eksamen

Begrepsbanken er flashcard- og repetisjonsstoff — den gjentar det du nettopp har lest. Hopp trygt over ved førstegangslesing; tidsanslaget for kapitlet gjelder kjernestoffet.

De to retningene side om side
HEMMELIG MELDING til Bob:
  krypter med    ->  Bobs OFFENTLIGE dekrypter med  ->  Bobs PRIVATE

DIGITAL SIGNATUR fra Alice:
  signer med     ->  Alices PRIVATE valider med    ->  Alices OFFENTLIGE

Hemmelighold bruker mottakerens nøkler. Signering bruker avsenderens.

Kontrollen på eksamen: i hver operasjon brukes bare ett nøkkelpar. Blander et alternativ begge parters nøkler, er det galt.

Signatur gir ikke konfidensialitet

En digital signatur gir integritet, autentisitet og uavviselighet — men ikke konfidensialitet.

Meldingen sendes i klartekst, og signaturen kommer i tillegg. Alle kan lese meldingen, og de må kunne det: uten tilgang til innholdet kan de ikke regne ut hash-verdien og kontrollere signaturen.

Dette er felle #4, og den er fagets mest testede enkeltinnsikt. Vil du ha begge deler, må du signere og kryptere.

Hash-verdiens tre egenskaper

1. Samme innhold gir alltid samme verdi — derfor kan verdier sammenlignes.
2. Ett endret bit gir en helt annen verdi — derfor avsløres endringer.
3. Verdien kan ikke regnes tilbake — funksjonen går bare én vei.

Lengden er fast uansett innholdets størrelse: tre bokstaver og 900 MB gir like store hash-verdier.

Målet den tjener: integritet. Aldri konfidensialitet.

Hvorfor bare hash-verdien signeres

Asymmetrisk kryptering er treg, og hash-verdien er liten uansett hvor stor meldingen er.

Derfor signeres hash-verdien i stedet for innholdet: en signatur på en fil på 900 MB tar like kort tid som på en tekstmelding.

Konstruksjonen virker fordi hash-verdien er følsom: endres meldingen med ett bit, stemmer ikke lenger den signerte verdien med den mottakeren regner ut.

Validering steg for steg

Mottakeren gjør to ting og sammenligner:

1. Regner ut hash-verdien av meldingen slik den ble mottatt.
2. Dekrypterer signaturen med avsenderens offentlige nøkkel, og får hash-verdien slik den var ved signering.

Stemmer de to, er meldingen uendret og fra rett avsender.

Stemmer de ikke, kan man ikke se hvilken av delene som sviktet — og det trengs heller ikke: begge betyr at meldingen ikke skal stoles på.

Hva en gyldig signatur beviser
SlutningGyldig?
Meldingen er uendret siden signeringenJa
Meldingen kommer fra eieren av den private nøkkelenJa
Avsenderen kan ikke nekte for å ha sendt denJa
Ingen andre kan lese meldingenNei
Innholdet er sant eller ufarligNei

De to siste radene er de viktigste å ha klare. En signatur sier noe om opphav og uendrethet — ingenting om hemmelighold, og ingenting om innholdets kvalitet.
Signatur pluss kryptering

Vil du ha både hemmelighold og bevis for avsender, må to operasjoner gjøres:

1. signer med    ->  din egen PRIVATE nøkkel
2. krypter med   ->  mottakerens OFFENTLIGE nøkkel

Mottakeren gjør det motsatte i motsatt rekkefølge: dekrypterer med sin private, og validerer med din offentlige.

Til sammen er fire nøkler i bruk, to fra hvert nøkkelpar. Rekkefølgen «signer først, krypter etterpå» gjør at også signaturen er skjult for utenforstående.

Digitalt sertifikat

Et dokument som binder en offentlig nøkkel til en identitet, og som selv er signert av en betrodd utsteder.

Problemet det løser: en offentlig nøkkel sier ingenting om hvem den tilhører. Uten sertifikater kunne en angriper levert sin egen nøkkel og utgitt seg for hvem som helst.

Den faste feilslutningen: å tro at sertifikatet krypterer. Det bekrefter en tilhørighet; krypteringen skjer med nøkkelen det bekrefter.

Sertifikatutsteder

Den betrodde tredjeparten som kontrollerer identiteten til den som ber om et sertifikat, og signerer det med sin egen private nøkkel.

Nettleseren din har en liste over rot-utstedere den stoler på i utgangspunktet, og kontrollerer hvert sertifikat mot en kjede opp til en av dem.

Svakheten: hele systemet hviler på tillit til utstederne. Blir en utsteder kompromittert, kan angripere få sertifikater i andres navn.

PKI

Systemet av sertifikatutstedere, sertifikater og regler som gjør det praktisk mulig å stole på offentlige nøkler. Forkortelsen står for public key infrastructure.

Tre deler å kunne: utstederne som kontrollerer og signerer, tillitskjeden fra rot-utsteder ned til det enkelte sertifikatet, og tilbaketrekking som gjør at et sertifikat kan erklæres ugyldig før det utløper.

Tilbaketrekking er nødvendig nettopp fordi private nøkler kan komme på avveie.

Hva et sertifikat IKKE beviser

Sertifikatet svarer på «snakker jeg med den jeg tror?», ikke på «kan jeg stole på dem?».

En svindler kan skaffe seg et fullt gyldig sertifikat til sitt eget domene. Et domene som ligner på et kjent navn, kan ha sitt eget gyldige sertifikat.

Den faste distraktoren: at HTTPS eller hengelåsen gjør en nettside «trygg». Riktig formulering: forbindelsen er sikret og motparten identifisert.

Sertifikatadvarsel

Nettleserens melding om at tillitskjeden ikke går opp — sertifikatet er utløpt, selvsignert, utstedt til et annet navn, eller signert av en ukjent utsteder.

Det betyr at du ikke kan vite hvem du snakker med. Nettopp den situasjonen et mellommannsangrep skaper.

Derfor skal en slik advarsel ikke klikkes bort, særlig ikke på et åpent nett. Det er det ene stedet der kryptering alene ikke hjelper deg.

Hash som integritetskontroll ved nedlasting

En hash-verdi oppgitt ved siden av en fil lar deg kontrollere at nedlastingen er bit for bit identisk med originalen.

Det beskytter mot: forvanskning underveis, avbrutte nedlastinger, endring hos en mellommann.

Det beskytter ikke mot: en angriper som kontrollerer selve nettsiden og kan endre både fila og den oppgitte verdien.

Løsningen på det siste er å signere hash-verdien: da kan ingen lage en gyldig verdi uten utgiverens private nøkkel.

Uendret er ikke det samme som trygg

En hash-verdi som stemmer, beviser at innholdet ikke er endret. Den sier ingenting om hva innholdet er.

Var det skadevare i fila fra starten, er den der fortsatt, og hash-verdien stemmer perfekt.

Dette er et fast alternativ i oppgaver om hash, og det er alltid galt: integritet handler om uendrethet, ikke om godhet.

Enveisegenskapen

At en hash-verdi ikke kan regnes tilbake til innholdet den ble laget av.

Dette er grunnen til at hash kan brukes til passordlagring: systemet lagrer hash-verdien i stedet for passordet, og kan kontrollere et innlogget passord uten noen gang å ha lagret det.

Mekanikken, og hvorfor hash alene ikke er nok uten salt, behandles i neste kapittel.

Nulldagssårbarhet

En svakhet som er ukjent for leverandøren, og som det derfor ikke finnes noen rettelse for.

Navnet kommer av at leverandøren har hatt null dager på seg til å lukke hullet.

Hvorfor den er farlig: sikkerhetsoppdateringer og antivirus forutsetter at svakheten er kjent. Det som fortsatt virker, er tiltak som ikke avhenger av å kjenne trusselen — minste privilegium, overvåking av unormal oppførsel, og segmentering.

Trojaner

Et program med en skjult skadelig funksjon, pakket inn i noe som ser nyttig ut.

Kjennetegnet er innpakningen, ikke hva skaden består i: en trojaner kan inneholde en tastelogger, en bakdør eller et løsepengevirus.

Skillet mot de andre typene: viruset fester seg til en vertsfil, ormen sprer seg selv over nett, og trojaneren blir båret inn av brukeren selv.

Hvorfor «alle kan lese» er nødvendig for signaturen

Mottakeren må regne ut hash-verdien av meldingen for å kunne sammenligne den med den signerte verdien.

Det forutsetter at mottakeren har hele meldingen i klartekst.

Derfor er det ikke en svakhet at en signert melding kan leses — det er en forutsetning for at kontrollen skal være mulig i det hele tatt. Vil du skjule innholdet, krypterer du i tillegg.

Feilvariant: validering med feil nøkkel

Validerer du med mottakerens nøkler i stedet for avsenderens, kontrollerer du ingenting — mottakerens nøkkelpar har ingen tilknytning til signaturen.

Og en «signatur» laget med avsenderens offentlige nøkkel ville vært verdiløs: alle har den nøkkelen, så hvem som helst kunne laget den.

Poenget med en signatur er at bare én person kan produsere den, og at alle kan kontrollere den.

Signatur mot håndskrevet underskrift

En håndskrevet underskrift er den samme uansett hva dokumentet inneholder, og kan i prinsippet klippes og limes.

En digital signatur er regnet ut fra innholdet. Endres én bokstav i dokumentet, blir signaturen ugyldig.

Derfor gir den digitale signaturen både autentisitet og integritet, mens den håndskrevne bare peker på hvem som skrev under.

De tre reglene som avgjør sjanger H

1. Signatur gir alt unntatt konfidensialitet — integritet, autentisitet og uavviselighet (felle #4).
2. Hemmelighold bruker mottakerens nøkler; signering bruker avsenderens (felle #5).
3. Hash gir integritet, aldri konfidensialitet (felle #9).

Tre setninger, og de avgjør praktisk talt hver eneste oppgave i sjangeren. Skriv dem i margen før du begynner.

Hvorfor et sertifikat løser mellommannsproblemet

Et mellommannsangrep går ut på at angriperen leverer sin egen offentlige nøkkel og utgir seg for motparten. Kryptering alene stopper det ikke — du får en pent kryptert forbindelse til feil part.

Sertifikatet binder nøkkelen til en identitet, og bindingen er signert av en utsteder nettleseren stoler på.

Angriperen kan ikke lage et gyldig sertifikat for bankens domene uten utstederens private nøkkel — og det er derfor angrepet stopper der.

Tilbaketrekking av sertifikat

At et sertifikat erklæres ugyldig før det utløper.

Den viktigste grunnen er at den private nøkkelen har kommet på avveie. Da må sertifikatet trekkes tilbake, ellers kan den som har nøkkelen, fortsette å opptre som eieren.

Dette er den praktiske grunnen til at en privat nøkkel på avveie er så alvorlig: den kan ikke «tas tilbake», bare erklæres ugyldig — og alt som ble signert i mellomtiden, er i tvil.

Hva HTTPS gir, presist formulert
EgenskapGir HTTPS det?
Trafikken kan ikke leses av utenforståendeJa
Trafikken kan ikke endres underveisJa
Du snakker med den som eier domenetJa
Nettstedet er hederligNei
Innholdet på siden er santNei

De tre første er konfidensialitet, integritet og autentisitet. De to siste er vurderinger ingen teknologi kan gi deg.
Repetisjon — sitter signaturen?

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.

Skolesaga er en uavhengig læringsressurs og er ikke tilknyttet eller godkjent av Universitetet i Oslo. Dette er ikke offisielt studiemateriell. Les mer.