Tweezijdig SSL

Met tweezijdig SSL controleren zowel de client als server elkaar om er zeker van te zijn dat beide partijen een vertrouwde communicatie hebben. In dit wederzijdse authenticatie proces delen de client en de server de publieke certificaten met elkaar en op basis daarvan wordt de verificatie/validatie uitgevoerd. Deze techniek wordt vaak gebruikt om specifieke partijen toegang te geven tot een website of portaal, waarbij de website eigenaar bepaalt welke certificaten (en gebruikers) toegang krijgen.

Hoe werkt tweezijdig SSL?

De authenticatie berichtuitwisseling tussen client en server wordt een SSL-handshake genoemd en bestaat uit de volgende stappen:

  1. De client vraagt toegang tot de beveiligde bron op.
  2. De server reageert naar de client met het server certificaat. Op hetzelfde moment vraagt de server het publieke certificaat van de client op.
  3. De client verifieert het server certificaat en als deze goed is gekeurd verzend de client het client certificaat naar de server.
  4. De server verifieert de gegevens van de de client.
  5. Als deze zijn goedgekeurd, zal de server de client toegang geven tot de beveiligde bron die de client opvraagt.

Zoals beschreven in stap 4, valideert de server de client, wat het tweede gedeelte van het tweezijdige SSL proces is. Dit wordt meestal gedaan door ervoor te zorgen dat het client certificaat geldig is (niet verlopen en uitgegeven door een vertrouwde certificeringsinstantie), en dat de digitale handtekening van de client geldig is. De digitale handtekening wordt aangemaakt op basis van de private key van de client. Iedereen die de publieke sleutel (public key) heeft, kan de digitale handtekening valideren. (Maar alleen de client die de private key heeft kan een geldige ondertekening creëren.)

Tweezijdige SSL methoden

Er zijn verschillende methodes om deze authenticatie toe te passen. De meest gebruikte methode is client authenticatie gebaseerd op de vingerafdruk van het certificaat die geïnstalleerd staat op de client. De vingerafdruk van dit certificaat wordt opgeslagen op de server, zodat de server weet wie de authenticatie kan passeren.

Een andere manier om client authenticatie uit te voeren is op basis van de vertrouwde certificeringsinstantie. Voorbeeld; een vertrouwde certificeringsinstantie ondertekent een certificaat dat geïnstalleerd staat op de client. De server zal de certificeringsinstantie herkennen en keurt de authenticatie goed. Het minpunt van deze methode is dat iedereen die een certificaat heeft, dat ondertekend is door die certificeringsinstantie, toegang heeft tot jouw server.

Compatibiliteit

Om een tweezijdige SSL authenticatie op te zetten, heb je een certificaat nodig dat als sleutelgebruik TLS Web Client Authentication certificate heeft. Meestal gebruikt de website of het portaal een regulier SSL certificaat, en de client gebruikt een client certificaat. Beide certificaattypen bevatten het juiste sleutelgebruik.

point up