TLS ja sen edeltäjä SSL ovat salausprotokollia, joiden tarkoituksena on tarjota tietoliikenneturvallisuus (luottamuksellisuus ja eheys joissakin tapauksissa ja kiistämättömyys toisissa tapauksissa) verkon välityksellä.
Yksisuuntaisessa TLS:ssä eli tavallisessa TLS:ssä X.509-palvelinvarmenne luodaan varmentajalla (CA, CA = CA = CA = CA = CA, CA = CA, CA = CA, CA = CA, CA = CA, CA = CA, CA = CA, CA = CA, CA = CA, CA = CA, CA = CA, CA = CA, CA = CA, CA = CA. Julkisen avaimen infrastruktuuri (PKI, Public Key Infrastructure) vastaa luottamuksen hallinnasta ja varmenteen (varmenteiden) jakelusta. Varmenteiden myöntäjillä on erittäin tärkeä rooli PKI:ssä. X.509-varmenne ei ole mitään muuta kuin tietoja palvelimesta ja palvelimen julkisesta avaimesta, jonka varmentaja on allekirjoittanut digitaalisesti.
Palvelin voidaan määrittää sallimaan yhteydet miltä tahansa asiakkaalta (kuten yksisuuntaisessa TLS:ssä) tai se voidaan määrittää pyytämään kaikkia asiakkaita, jotka yrittävät muodostaa yhteyden siihen, todentamaan itsensä. Jotta asiakas voisi todentaa itsensä, siihen tarvitaan siis asiakasvarmenne. Kaksisuuntaisessa TLS-todennuksessa eli TLS:ssä, jossa on asiakasvarmenteen todennus, myös asiakasvarmenne on mukana palvelinvarmenteen lisäksi todennusprosessin koventamiseksi. Kuten palvelinvarmenne, myös asiakasvarmenne sisältää perustiedot asiakkaan henkilöllisyydestä ja sen julkisesta avaimesta, ja varmenteen varmentajan digitaalinen allekirjoitus todentaa, että nämä tiedot ovat aitoja. Asiakasvarmenteen pitäisi olla sellaisen CA:n allekirjoittama, johon palvelin luottaa, ja on selvää, että molempien X.509-varmenteiden pitäisi olla olemassa ennen yhteyden muodostamista!
Yksi tapa TLS on riittävän turvallinen, kun sitä käytetään tunnistautumisen kanssa, minkä kohtaat, kun haluat kirjautua Gmailiin. Kun käytät Gmailin web-käyttöliittymää, käytät yksisuuntaista TLS:ää selaimen https-ominaisuuden kautta salasanasi lisäksi. Jos et käytä salasanaa, vain sinä voit todentaa, että olet ollut yhteydessä lailliseen palvelimeen, mutta Gmail-palvelin ei voi todentaa henkilöllisyyttäsi, joten emme voi sanoa, että yhteys on turvallinen. Jos Gmail tarjoaa kaksisuuntaisen TLS-yhteyden, voit helposti muodostaa yhteyden ilman salasanasi syöttämistä, ja yhteyttä pidetään turvallisena.
Kaksisuuntaisen TLS-yhteyden käyttämisen pääasiallinen tarkoitus olisi silloin, kun palvelimen pitäisi hyväksyä TLS-yhteyksiä vain rajoitetulta joukolta sallittuja asiakkaita. Esimerkkinä voi olla skenaario, jossa organisaatio haluaa rajoittaa TLS-yhteydet palvelimelle siten, että ne tulevat vain organisaation laillisilta kumppaneilta tai asiakkailta. Ehdottomasti asiakkaiden IP-valkoluettelo ei ole hyvä tietoturvakäytäntö, koska IP voidaan väärentää.
Yksinkertaistaaksemme kaksisuuntaisen TLS-kättelyn prosessia voimme sanoa
- Asiakas lähettää pyynnön päästä käsiksi palvelimella oleviin suojattuihin tietoihin.
2. Palvelin esittää X.509:nsä varmenteensa asiakkaalle.
3. Asiakas tarkistaa palvelimen varmenteen vahvistamalla palvelimen julkisen avaimen digitaalisen allekirjoituksen CA:n julkisella avaimella.
4. Jos viimeinen vaihe onnistuu, asiakas lähettää varmenteensa palvelimelle.
5. Asiakas lähettää varmenteensa palvelimelle. Palvelin tarkistaa asiakkaan varmenteen käyttäen samaa lähestymistapaa kuin vaiheessa 3.
6. Jos se onnistuu, palvelin antaa asiakkaalle pääsyn suojattuihin tietoihin.
Jos sinun on määritettävä Apache-verkkopalvelin käsittelemään kaksisuuntaista TLS:ää, tutustu tähän asiakirjaan: http://www.robinhowlett.com/blog/2016/01/05/everything-you-ever-wanted-to-know-about-ssl-but-were-afraid-to-ask/