FairSSL - Vi gør SSL NEMT

Bliv nørd klog på SSL/TLS på 5 minutter

30 April 2018
image of ai engineers working (for a ai healthcare company)

Et par hurtige svar om hvad SSL/TLS-certifikater er

Hvorfor bruger man SSL-certifikater?

SSL/TLS-certifikater tilføjer to vigtige funktioner til online kommunikation:

1. Identitet på afsender

Hvis certifikatet indeholder det navn, du kommunikerer med, og din enhed stoler på udstederen, kan du være sikker på, at du taler med den rigtige server.
Data signeres også med certifikatet, så det ikke kan manipuleres undervejs.

2. Datahemmelighed

To parter, der aldrig har mødt hinanden før, kan oprette en sikker kanal over en usikker forbindelse (som internettet), uden at nogen kan aflytte den sikre kommunikation.

Det er teknisk muligt at kryptere uden et TLS-certifikat, men kun certifikatet sikrer, at du taler med den rigtige server.

Hvorfor vil internettet ikke virke uden SSL/TLS?

Uden SSL/TLS ville eneste mulighed være symmetrisk kryptering, hvor begge parter på forhånd skal have udvekslet en hemmelig kode – fysisk eller via en sikker kanal.

Det ville betyde, at du skulle møde fysisk op hos:

  • Banken
  • Webshoppen
  • Din arbejdsplads
    ...for at aftale en kode, før du kunne kommunikere sikkert.

Uden SSL/TLS:

  • Ville alle kunne aflytte din kommunikation
  • Ville alle kunne udgive sig for at være andre (man-in-the-middle)
  • Ville du ikke kunne oprette konti, handle online eller bruge tjenester som Facebook, Amazon, eBay osv.

Hvad indeholder et SSL/TLS-certifikat?

Et certifikat består altid af:

  • En privat nøgle (hemmelig, kun for ejeren)
  • En offentlig nøgle (tilgængelig for alle)

Derudover kan det indeholde:

  • Hvem certifikatet tilhører (f.eks. FairSSL ApS)
  • Hvem der må bruge det (f.eks. www.fairssl.dk)
  • Hvem der har udstedt det (f.eks. GlobalSign med SHA256-signatur)
  • Hvor man kan hente udstederens certifikat (URL eller filsti)
  • Hvor man kan tjekke om certifikatet er trukket tilbage (CRL/OCSP)
  • Hvad certifikatet må bruges til (e-mail, signering, server, klient, CA)
  • Gyldighedsperiode (fra og til)

Hvorfor har SSL-certifikater en udløbsdato?

  • Reducerer tiden en hacker har til at bryde nøglen
  • Tvinger til udskiftning af certifikater med potentielle fejl
  • Begrænser misbrug af stjålne certifikater (teoretisk – misbrug kan ske hurtigt)

Forskellen på betroet CA, intern CA og selvudstedt certifikat

Betroet offentlig CA

  • Udstedt af en CA som Comodo, GlobalSign, DigiCert
  • Signeret af et rod-certifikat, der er forudinstalleret i browsere og systemer
  • Skal overholde strenge krav fra CAB Forum

Intern CA

  • Udstedt af virksomhedens egen CA
  • Kræver installation af rod-certifikatet på alle klienter

Selvudstedt (self-signed)

  • Ikke tillid til certifikatet medmindre det manuelt installeres på hver klient

Relationen mellem HTTP, HTTPS og certifikater

  • HTTP: Protokol for kommunikation mellem browser og webserver
  • HTTPS: HTTP med SSL/TLS-lag ovenpå

Browseren sikrer:

  • At certifikatet er signeret af en gyldig kæde
  • At det ikke er udløbet eller trukket tilbage
  • At domænenavnet matcher certifikatet (SAN)
  • At en hemmelig nøgle kan udveksles sikkert

Hvordan bruges certifikatet til kryptering?

SSL/TLS bruger asymmetrisk kryptering til at udveksle en hemmelig nøgle:

  1. Browseren bruger serverens offentlige nøgle til at kryptere en hemmelighed
  2. Serveren dekrypterer med sin private nøgle
  3. Nu har begge parter den samme hemmelighed
  4. De skifter til symmetrisk kryptering for resten af sessionen

Certifikatet bruges kun til at etablere forbindelsen – ikke til selve datakrypteringen (undtagen ved f.eks. e-mail).

Hvorfor kaldes det stadig SSL, når det er TLS der bruges?

Selvom det i dag er TLS (en videreudvikling af SSL 3.0), der anvendes, bruges betegnelsen SSL stadig ofte, fordi det var den første udbredte standard for online kryptering.

Del på sociale medier