Transport Layer Security
Transport Layer Security (TLS) i njegov sada već zastarjeli prethodnik, Secure Sockets Layer (SSL) kriptografski su protokoli dizajnirani da osiguraju sigurnost komunikacije preko računarskih mreža. Nekoliko verzija protokola se naširoko koriste na servisima kao što su web, e-mail, instant poruke, i IP telefonija (VoIP). Web-sajtovi mogu koristiti TLS da bi osigurali komunikaciju između svojih servera i internet-preglednika . TLS protokol ima za cilj pružanje privatnosti i integriteta podataka između dvije ili više računarskih aplikacija. Kada je neka komunikacija osigurana TLS-om, naprimjer između klijenta (internet preglednik) i servera (npr. Wikipedia.rog), onda bi trebala imati neka od sljedećih svojstava: Veza je privatna (ili sigurna) jer se simetrična kriptografija koristi za enkripciju prenesenih podataka. Ključevi za enkripciju se stvaraju jedinstveno za svaku vezu i temelje se na zajedničkoj tajni koja je dogovorena na početku sesije (tzv. TLS handshake - rukovanje). Server i klijent uspostavljaju vezu i određuju koji algoritam enkripcije i kriptografske ključeve će koristiti prije prijenosa prvog bajta podataka. Pregovaranje te zajedničke tajne je sigurno sa obje strane, i nemoguće je saznati od strane napadača. Nijedan napadač ne može mijenjati komunikaciju u toku dogovaranja komunikacije bez da bude detektovano). Identitet strana koje komuniciraju može se autentifikovati pomoću kriptografije javnog ključa . Ova provjera autentifikacije može se učiniti neobaveznim, ali se obično zahtijeva za barem jednu od strana (obično server). Veza je pouzdana jer svaka prenesena poruka uključuje provjeru integriteta poruke pomoću koda za provjeru autentičnosti poruke kako bi se spriječilo neotkriveno gubljenje ili promjenu podataka tokom prijenosa. TLS je predloženi Internet Engineering Task Force (IETF) standard, prvi put definiran 1999. godine, a trenutna verziju TLS 1.3 je definirao IETF RFC 8446 TLS i SSL se ne uklapaju u bilo koji od OSI slojeva ili TCP/IP modela. Kako TLS samo osigurava neki transportni protokol (kao što je TCP) može se smatrati da se pokreće preko transportnog sloja. Također, pruža enkripciju za neke više slojeve što bi obično trebala biti funkcija prezentacijskog sloja. Većina aplikacija ipak koristi TLS kao da je transportni sloj, ali posao uspostavljanja i upravljanjem konekcije je u rukama aplikacije.