TLS och dess föregångare SSL är kryptografiska protokoll för att tillhandahålla kommunikationssäkerhet (konfidentialitet och integritet i vissa fall och icke-avvisande i andra fall) över ett nätverk.

I envägs-TLS, eller vanlig TLS, skapas X.509-servercertifikatet av en certifikatutfärdare som klienten kan lita på när den vill ansluta. Public Key Infrastructure (PKI) ansvarar för förtroendehantering och distribution av certifikatet/certifikaten. Certifikatmyndigheter spelar en mycket viktig roll i PKI. Ett X.509-certifikat är inget annat än information om servern och serverns offentliga nyckel som är digitalt signerad av en certifikatutfärdare.

En server kan konfigureras så att den tillåter anslutningar från vilken klient som helst (som i envägs-TLS) eller så kan den konfigureras så att den ber alla klienter som försöker ansluta sig till den att bli autentiserade. För att en klient ska kunna autentisera sig krävs alltså ett klientcertifikat. Vid dubbelriktad TLS-autentisering, även kallad TLS med autentisering med klientcertifikat, används även klientcertifikatet utöver servercertifikatet för att stärka autentiseringsprocessen. Precis som ett servercertifikat innehåller ett klientcertifikat grundläggande information om klientens identitet, dess offentliga nyckel och en certifikatutfärdares digitala signatur på certifikatet bekräftar att informationen är autentisk. Klientcertifikatet bör undertecknas av en CA som servern litar på och det är uppenbart att båda X.509-certifikaten bör finnas före anslutningen!

Ett sätt som TLS är tillräckligt säkert på är när du använder det med autentisering, något som du ställs inför när du vill logga in på Gmail. När du använder Gmails webbgränssnitt använder du envägs-TLS via webbläsarens https-funktion utöver ditt lösenord. Om du inte använder ditt lösenord är det bara du som kan verifiera att du är ansluten till en legitim server, men Gmail-servern kan inte verifiera din identitet så vi kan inte säga att anslutningen är säker. Om Gmail erbjuder tvåvägs-TLS kan du enkelt ansluta till den utan att ange ditt lösenord och anslutningen anses säker.

Den huvudsakliga avsikten med att använda en tvåvägs-TLS-förbindelse skulle vara när en server endast ska acceptera TLS-anslutningar från en begränsad grupp av tillåtna klienter. Ett exempel kan vara ett scenario där en organisation vill begränsa TLS-anslutningar till en server till att endast komma från organisationens legitima partner eller kunder. Att definitivt ange IP-vitlistor för klienterna är inte en bra säkerhetsmetod eftersom IP-adressen kan förfalskas.

För att förenkla processen med tvåvägs TLS-handskakning kan vi säga

  1. En klient skickar en begäran om åtkomst till skyddad information på servern.

2. Servern presenterar sin X.509 certifikat till klienten.

3. Klienten verifierar serverns certifikat genom att validera den digitala signaturen av serverns offentliga nyckel med hjälp av CA:s offentliga nyckel.

4. Om det sista steget är framgångsrikt skickar klienten sitt certifikat till servern.

5. Servern verifierar klientens certifikat med samma tillvägagångssätt som i steg 3.

6. Om det lyckas ger servern klienten tillgång till den skyddade informationen.

Om du behöver konfigurera en Apache-webbserver för att hantera tvåvägs-TLS kan du läsa det här dokumentet: http://www.robinhowlett.com/blog/2016/01/05/everything-you-ever-wanted-to-know-about-ssl-but-were-afraid-to-ask/

Articles

Lämna ett svar

Din e-postadress kommer inte publiceras.