HTTPS Del 1

Hva er HTTPS og hvorfor er det viktig?

Alle nettsider overføres via en protokoll som kalles HTTP. Denne protokollen sender i utgangspunktet trafikken i klartekst over linja og alle som lytter kan dermed plukke opp trafikken og se hva du surfer på. Eksempelvis når du sitter på et åpent trådløst nettverk på kafeen eller flyplassen vil dette være en triviell øvelse for noen med litt erfaring innen feltet.

Man kan argumentere at siden du bare surfer på itpro.no(!), så gjør det ikke noe om noen vet hva du surfer på. Du har jo tross alt ingenting å skjule. Men en annen konsekvens av å sende ting i klartekst er at ondsinnede aktører kan endre på innholdet før det når frem til deg, uten at du har noe som helst måte å finne ut av det på. Det tillater for eksempel at internettleverandører kan putte inn reklame på nettsider som ellers ikke har det, eller at en ondsinnet aktør putter inn en kode som gjør de i stand til å overta din maskin. Muligheten er mange. Spesielt for den slemme.

HTTPS derimot, er den samme protokollen, men S står for “secure”. Det betyr i praksis at kommunikasjonen er kryptert. Hvis nå noen skulle plukke opp trafikken vil de bare se en hel masse data som ikke vil gi noe mening for dem. Dette er hele grunnlaget for at vi trygt kan bruke nettbank og andre tjenester som overfører sensitive data.

Du som bruker vil åpenbart ikke at noen andre skal rappe pengene dine fra nettbanken, eller poste ting fra din konto på sosiale medier. I tillegg til å ivareta brukerens sikkerhet, har nettstedeier flere grunner til å ta i bruk HTTPS:

  1. Rangering i søkeresultater. Google straffer sider uten kryptering ved å liste disse lavere i sine søkeresultater. Dette vil følgelig gi lavere besøkstall.
  2. Ikke skremme vekk brukerne. Chrome, Firefox og flere andre nettlesere har gått fra å gi en positivt ladet indikasjon på at sider har HTTPS til å gi en negativ indikasjon på nettsider som ikke har det.
  3. “Alle” bruker det. HTTPS har nå blitt så utbredt at de som ikke har det kan bli oppfattet som utdaterte eller useriøse.
Adressefeltet i Chrome når man besøker sider uten HTTPS

Hva skal til for å bruke HTTPS på internett?

La oss ta for oss to ting som HTTPS skal løse:

  1. Kryptering av kommunikasjon mellom nettleser og server
  2. Verifikasjon av domenenavn, altså en garanti for at det som står i adresselinja er det du får servert.

Punkt 1 kunne teknisk sett latt seg løse med bare to parter. Eksempelvis din nettleser og snill-side-med-https.no. Ingen på veien mellom de to partene vil kunne forstå noe av trafikken når den først er i gang. Punkt 2 derimot, lar seg ikke gjøre med bare to parter. Det ville ikke vært noen måte for din nettleser å trygt avgjøre om den snakker med snill-side-med-https.no eller slem-side-med-https.no.

Punkt 2 løses ved hjelp av en tredjepart, kjent som “Certificate Authority” eller CA. En nettstedeier som ønsker HTTPS må først bevise for CA at de eier nettsiden. Et slikt bevis kan for eksempel være at de må legge ut en tekstfil på sitt domene med en kode som CA bestemmer. Når dette er gjennomført utsteder CA et digitalt signert sertifikat til eieren av nettsiden som igjen brukes på serveren som et bevis på at nettstedet eier domenenavnet. Denne tredelingen beskrevet her kalles gjerne for en “Public Key Infrastructure”, eller PKI.

Den siste biten av puslespillet er en liste over alle godkjente CA samt tilhørende sertifikater, som nettlesere har innebygget. Når nettleseren nå går til en side med HTTPS, så vil den bli presentert med et digitalt signert sertifikat. Ved hjelp av den innebygde listen av CA kan den nå på en sikker måte verifisere at nettsiden er det den gir seg ut for å være.

Konklusjon

Bruken av HTTPS har de siste årene vært i en veldig stigende trend, blant annet takket være tilgjengeligheten av gratis sertifikater gjennom den automatiserte tjenesten Let’s Encrypt. I nyere tid har også norske Buypass begynt å tilby gratis sertifikater på samme måte som Let’s Encrypt. Google har også vært en sterk pådriver for kryptering av nettbasert trafikk. Allerede i 2014 startet de å rangere sider levert over HTTPS høyere enn de som kun er tilgjengelig over HTTP. I tillegg har de brukt sin nettleser, Chrome, for å gradvis venne brukere til at HTTPS er den nye standarden.

HTTPS gir en trygg kommunikasjonskanal mellom bruker og server. Det er dog ingen garanti for at nettsiden i seg selv er til å stole på. Dette er dessverre en ganske vanlig misforståelse og et helt annet tema.

I del to skal vi se litt nærmere på CA og sertifikattyper.