Defininition: SSL vs. TLS

SSL/TLS-kryptering er kryptering og sikkerhedsfunktioner, der bruges til at beskytte data, når de sendes over et netværk mellem en klient (fx en browser) og en server. I dag taler man næsten altid om TLS, mens SSL er en ældre navnebetegnelse, som primært hører fortiden til.

SSL (Secure Sockets Layer) og TLS (Transport Layer Security) har samme overordnede idé: De etablerer en beskyttet forbindelse, så oplysninger ikke kan læses af uvedkommende undervejs, og så kommunikationen kan opdages, hvis den ændres.

Enkelt model: hvad der sker, før data sendes

Når en klient skal forbinde til en server, gennemføres et “håndtryk” (handshake). Under håndtrykket aftales kryptografiske parametre (fx hvilke algoritmer der skal bruges), og der etableres nøgler til den efterfølgende krypterede kommunikation.

Når forbindelsen er etableret, bruger systemet typisk symmetrisk kryptering til selve dataoverførslen. Samtidig sørger TLS for dataintegritet, så ændringer i transit kan afsløres. Resultatet er, at snoopere på netværket ikke bare kan læse trafikken, og at manipulering bliver vanskeligere og normalt synlig for modparten.

Hvad SSL/TLS typisk beskytter – og hvad det ikke gør

SSL/TLS beskytter primært data i transit mellem klienten og serveren. Det betyder, at hvis du forbinder til en tjeneste via en korrekt opsat TLS-forbindelse, er indholdet af den udveksling typisk krypteret, og der findes kontroller for integritet.

Men SSL/TLS er ikke en “alt-i-en” sikkerhedsløsning. Kryptering af forbindelsen erstatter ikke:

  • Sikkerhed på brugerens enhed (fx malware kan stadig påvirke dig).
  • Rigtig konfiguration af tjenesten (forkerte indstillinger kan svække beskyttelsen).
  • Sikkerhed på applikationsniveau (TLS beskytter transporten, men ikke nødvendigvis logik, adgangskontrol eller sårbarheder i selve softwaren).

Derudover afhænger “hvem du taler med” af certifikat- og tillidsopsætningen. Hvis tillid er forkert, kan en klient ende med en forbindelse til en uventet part. Det præcise udfald afhænger af implementering og opsætning, så det er vigtigt at forstå, hvad der testes lokalt i din browser/klient.

Forskelle og grænser: TLS-versioner, kompatibilitet og undtagelser

Da TLS er efterfølgeren til SSL, vil nye systemer typisk bruge TLS. I praksis kan du dog støde på systemer, hvor der stadig findes historisk kompatibilitet. Det kan ændre hvilke funktioner der faktisk er i spil.

En vigtig grænse er, at ikke alle TLS-konfigurationer giver samme beskyttelsesniveau. Moderne opsætninger vælger normalt stærkere algoritmer og deaktiverer ældre, mindre sikre muligheder. Omvendt kan ældre eller dårligt konfigurerede systemer give en svagere forbindelse.

Der findes også situationer, hvor forbindelsen ikke beskytter hele “oplevelsen” på samme måde, selv om der er TLS. Fx kan en mellemkomponent inspicere trafik i bestemte opsætninger; om det sker, afhænger af arkitektur og politik. Derfor bør du se TLS som en beskyttelse af transporten, ikke som en garanti for alt, hvad der sker før og efter.

Sådan kan du selv kontrollere det i praksis

Du kan verificere nogle grundlæggende signaler i din browser ved at kigge efter, at forbindelsen bruger TLS (ofte angivet via padlock/“https” og sikkerhedsdetaljer). Derudover kan du i sikkerheds-/certifikatvisningen typisk se oplysninger om certifikatet og forbindelsens krypteringsdetaljer.

Hvis dit mål er at forstå risici, så fokusér på tre kontrolpunkter:

  1. Er der en aktiv TLS-forbindelse?
  2. Ser certifikatet ud til at være udstedt til den rette tjeneste, og stemmer tilliden?
  3. Er konfigurationen moderne nok til at undgå svage protokoller/algoritmer?

Hvis du vil sammenligne SSL og TLS i en konkret sammenhæng, så gør det med selve forbindelsesoplysningerne i din klient. Uden kendskab til version og konfiguration siger “SSL/TLS” alene ikke nok om det faktiske sikkerhedsniveau.