TLS og dets forgænger, SSL, er kryptografiske protokoller, der giver kommunikationssikkerhed (fortrolighed og integritet i nogle tilfælde og ikke-afvisning i andre tilfælde) over et netværk.

I envejs-TLS, eller almindelig TLS, oprettes X.509-servercertifikatet af et nøglecenter, som klienten kan stole på, når den ønsker at oprette forbindelse. Public Key Infrastructure (PKI) er ansvarlig for tillidsstyring og distribution af certifikatet/certifikaterne. Certifikatmyndigheder (CA’er) spiller en meget vigtig rolle i PKI. Et X.509-certifikat er intet andet end nogle oplysninger om serveren og serverens offentlige nøgle, der er digitalt signeret af en CA.

En server kan konfigureres til at tillade forbindelser fra alle klienter (som i envejs-TLS), eller den kan konfigureres til at bede alle klienter, der forsøger at oprette forbindelse til den, om at blive autentificeret. Så for at en klient kan autentificere sig, kræver det et klientcertifikat. I tovejs-TLS-godkendelse, også kendt som TLS med klientcertifikat-godkendelse, er klientcertifikatet også involveret ud over servercertifikatet for at skærpe godkendelsesprocessen. Ligesom et servercertifikat indeholder et klientcertifikat grundlæggende oplysninger om klientens identitet, dens offentlige nøgle, og den digitale signatur fra en certificeringsmyndighed på dette certifikat bekræfter, at disse oplysninger er autentiske. Klientcertifikatet skal være underskrevet af en CA, som serveren har tillid til, og det er indlysende, at begge X.509-certifikater skal eksistere før forbindelsen!

En måde TLS er sikker nok, når du bruger det med autentificering, noget du står over for, når du vil logge ind på Gmail. Når du bruger Gmails webgrænseflade, bruger du envejs-TLS via en browser https-funktion ud over din adgangskode. Hvis du ikke bruger din adgangskode, er det kun dig selv, der kan bekræfte, at du har fået forbindelse til en legitim server, men Gmail-serveren kan ikke bekræfte din identitet, så vi kan ikke sige, at forbindelsen er sikker. Hvis Gmail tilbyder tovejs-TLS, kan du nemt oprette forbindelse uden at indtaste din adgangskode, og forbindelsen betragtes som sikker.

Den vigtigste hensigt med at bruge en tovejs-TLS-forbindelse er, når en server kun skal acceptere TLS-forbindelser fra en begrænset gruppe af tilladte klienter. Et eksempel kan være et scenario, hvor en organisation ønsker at begrænse TLS-forbindelser til en server til kun at komme fra organisationens legitime partnere eller kunder. Absolut IP whitelisting for klienterne er ikke en god sikkerhedspraksis, fordi IP’en kan forfalskes.

For at forenkle processen med 2-vejs TLS handshake kan vi sige

  1. En klient sender en anmodning om adgang til beskyttede oplysninger på serveren.

2. Serveren præsenterer sin X.509 certifikat til klienten.

3. Klienten verificerer serverens certifikat ved at validere den digitale signatur af serverens offentlige nøgle ved hjælp af CA’s offentlige nøgle.

4. Hvis det sidste trin er vellykket, sender klienten sit certifikat til serveren.

5. Serveren verificerer klientens certifikat ved hjælp af den samme fremgangsmåde som i trin 3.

6. Hvis det lykkes, giver serveren klienten adgang til de beskyttede oplysninger.

Hvis du skal konfigurere en Apache-webserver til at håndtere tovejs-TLS, skal du konsultere dette dokument: http://www.robinhowlett.com/blog/2016/01/05/everything-you-ever-wanted-to-know-about-ssl-but-were-afraid-to-ask/

Articles

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.