Kort svar

HTTPS er ganske enkelt HTTP sendt inde i en TLS-krypteret forbindelse. TLS sørger for tre ting: fortrolighed (ingen kan læse trafikken), integritet (ingen kan ændre den undervejs) og identitet (du taler med den rigtige server, verificeret via dens certifikat). Det HTTPS ikke gør, er at garantere at sitet er ærligt, sikkert bygget eller fri for malware.

HTTP + TLS = HTTPS

Almindelig HTTP sender alt i klartekst over port 80 — enhver på vejen (et offentligt WiFi, en internetudbyder) kan læse og ændre det. HTTPS lægger HTTP oven på et TLS-lag på port 443. Først udfører klient og server en TLS handshake, der etablerer en krypteret kanal; derefter sendes de helt normale HTTP-requests og -svar inde i den kanal. Forskellen på SSL og TLS — de to navne for protokollen — dækker vi i SSL vs TLS.

De tre ting HTTPS beskytter

  • Fortrolighed: Alt indhold — URL-stier, cookies, formulardata, svar — krypteres. En aflytter ser kun hvilket domæne og hvilken IP du forbinder til, ikke indholdet.
  • Integritet: TLS opdager enhver ændring af data undervejs. En internetudbyder kan ikke indsætte reklamer, og en angriber kan ikke ændre det downloadede script.
  • Identitet: Serverens certifikat bevises udstedt til netop det domæne af en betroet CA — så du ved at du taler med den rigtige server og ikke en mellemmand.

Hvad er forskellen på HTTP og HTTPS i praksis?

Egenskab HTTP HTTPS
Standardport80443
KrypteringIngen (klartekst)TLS
Manipulation undervejsMuligOpdages
Server-identitetIkke verificeretVerificeret via certifikat

Hvad HTTPS IKKE garanterer

Her bliver det vigtigt — for hænglåsen bliver ofte misforstået:

  • At sitet er ærligt. En phishing-side kan have et fuldt gyldigt certifikat. Hænglåsen siger "forbindelsen til denne server er krypteret", ikke "denne server er til at stole på".
  • At serveren er sikkert bygget. HTTPS beskytter trafikken på vejen, men siger intet om SQL-injektion, svage passwords eller fejlkonfiguration på serveren.
  • At indholdet er fri for malware. En fil kan downloades sikkert over HTTPS og stadig være ondsindet.
  • At dine data er sikre efter de når serveren. HTTPS beskytter transporten, ikke hvordan serveren opbevarer dine data bagefter.

Tving altid HTTPS

At tilbyde HTTPS er ikke nok hvis HTTP stadig svarer — en angriber kan fange det første ukrypterede besøg. Redirect alt til HTTPS og signalér til browseren at den aldrig må bruge HTTP igen med HSTS:

# nginx — redirect HTTP til HTTPS
server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;
}

Tilføj derefter HSTS-headeren på HTTPS-serveren, så browseren husker at bruge HTTPS automatisk fremover.

Hvordan CertControl holder HTTPS sundt

HTTPS afhænger af ét skrøbeligt element: certifikatet. Udløber det, eller serveres kæden forkert, brydes hele beskyttelsen — og brugeren ser en advarsel i stedet for hænglåsen. CertControl scanner jeres endpoints udefra, validerer certifikat, kæde og protokol, tjekker at HTTP redirecter til HTTPS, og advarer før noget af det fejler.

Ofte stillede spørgsmål

Betyder hænglåsen at sitet er sikkert?

Nej. Hænglåsen betyder kun at forbindelsen til serveren er krypteret, og at serverens certifikat er gyldigt. Den siger intet om hvorvidt sitet er ærligt, sikkert bygget eller fri for malware — en phishing-side kan sagtens have et gyldigt certifikat.

Hvad er forskellen på HTTP og HTTPS?

HTTPS er HTTP sendt inde i en TLS-krypteret forbindelse. HTTP sender alt i klartekst på port 80; HTTPS krypterer det på port 443 og verificerer serverens identitet via et certifikat.

Kan en aflytter se hvilke sider jeg besøger over HTTPS?

Indholdet — stier, formularer, cookies — er krypteret. En aflytter kan dog stadig se hvilket domæne og hvilken IP du forbinder til (bl.a. via DNS og SNI), men ikke hvad du gør på sitet.

Hvorfor skal jeg redirecte HTTP til HTTPS?

Fordi en angriber ellers kan opfange det første ukrypterede HTTP-besøg, før browseren skifter til HTTPS. En 301-redirect plus HSTS sikrer at browseren altid bruger HTTPS.

Beskytter HTTPS mine data efter de når serveren?

Nej. HTTPS beskytter kun data under transporten mellem klient og server. Hvordan serveren opbevarer og håndterer dine data bagefter er et helt separat spørgsmål om server-sikkerhed.