Što je TLS? Sigurnosno šifriranje transportnog sloja objašnjeno na običnom engleskom jeziku

Ako želite povjerljiv razgovor s nekim koga poznajete, možda se osobno nađete i nađete privatno mjesto za razgovor.

Ali ako želite podatke slati povjerljivo putem Interneta, možda ćete morati razmotriti još nekoliko razmatranja.

TLS ili Transport Layer Security odnosi se na protokol. "Protokol" je riječ koja znači, "način na koji smo se dogovorili da ovdje nešto radimo", više-manje.

Dio "transportnog sloja" TLS-a jednostavno se odnosi na komunikaciju od hosta do hosta, kao što je interakcija klijenta i poslužitelja, u modelu paketa internetskih protokola.

TLS protokol pokušava riješiti ove temeljne probleme:

  • Kako da znam da ste ono za što se kažete?
  • Kako mogu znati da ova vaša poruka nije promijenjena?
  • Kako možemo sigurno komunicirati?

Evo kako funkcionira TLS, objašnjeno na jednostavnom engleskom jeziku. Kao i kod mnogih uspješnih interakcija, započinje rukovanjem.

Upoznavanje s tobom

Osnovni postupak TLS rukovanja uključuje klijenta, poput vašeg web preglednika, i poslužitelja, poput onog koji hostira web stranicu, uspostavljajući neka osnovna pravila za komunikaciju.

Počinje s klijentom koji pozdravlja. Doslovno. Zove se ClientHello poruka.

Poruka ClientHello govori poslužitelju koju verziju i šifru TLS protokola podržava.

Iako "šifrirani paket" zvuči kao otmjena nadogradnja hotela, odnosi se samo na skup algoritama koji se mogu koristiti za zaštitu komunikacije.

Poslužitelj, u slično nazvanoj poruci ServerHello , odabire verziju protokola i skup šifri koje će koristiti od ponuđenih izbora. Mogu se poslati i drugi podaci, na primjer ID sesije , ako poslužitelj podržava nastavak prethodnog rukovanja.

Ovisno o odabranom skupu šifri, klijent i poslužitelj razmjenjuju daljnje informacije kako bi uspostavili zajedničku tajnu.

Ovaj postupak često mijenja izmjenu s asimetrične kriptografije na simetričnu kriptografiju s različitim razinama složenosti. Istražimo ove koncepte na općoj razini i uvidimo zašto su oni važni za TLS.

Asimetrični počeci

Ovo je asimetrija:

Asimetrična kriptografija jedna je od metoda kojom možete izvršiti provjeru autentičnosti . Kada se autentificirate, odgovarate na temeljno pitanje: "Kako mogu znati da ste ono za što se kažete?"

U asimetričnom kriptografskom sustavu koristite par ključeva da biste postigli provjeru autentičnosti. Ove su tipke asimetrične. Jedan je ključ vaš javni ključ, koji je, kao što pretpostavljate, javan. Drugi je vaš privatni ključ, koji - pa, znate.

Tipično, tijekom TLS rukovanja, poslužitelj će pružiti svoj javni ključ putem svog digitalnog certifikata, koji se ponekad još naziva i SSL certifikatom , iako TLS zamjenjuje zastarjeli protokol Secure Sockets Layer (SSL).

Digitalne potvrde pružaju i provjeravaju pouzdane treće strane poznate kao Certificate Authority (CA), što je sam po sebi cijeli članak.

Iako bilo tko može šifrirati poruku pomoću vašeg javnog ključa, samo vaš privatni ključ tada može dešifrirati tu poruku.

Sigurnost asimetrične kriptografije oslanja se samo na to da vaš privatni ključ ostaje privatan, otuda i asimetrija.

Također je asimetrično u smislu da se radi o jednosmjernom putovanju. Alice vam može slati poruke šifrirane vašim javnim ključem, ali niti jedan od vaših ključeva neće vam pomoći da pošaljete šifriranu poruku Alice.

Simetrične tajne

Asimetrična kriptografija također zahtijeva više računarskih resursa od simetrične kriptografije.

Stoga, kada TLS rukovanje započne asimetričnom razmjenom, klijent i poslužitelj će koristiti ovu početnu komunikaciju za uspostavljanje zajedničke tajne, koja se ponekad naziva i ključem sesije . Ovaj je ključ simetričan, što znači da obje strane koriste istu zajedničku tajnu i moraju održavati tu tajnu kako bi enkripcija bila sigurna.

Korištenjem početne asimetrične komunikacije za uspostavljanje ključa sesije, klijent i poslužitelj mogu se osloniti na to da su ključ sesije poznati samo njima. Do kraja sesije oboje će koristiti isti zajednički ključ za šifriranje i dešifriranje poruka, što ubrzava komunikaciju.

Sigurne sesije

TLS rukovanje može koristiti asimetričnu kriptografiju ili druge pakete šifri za uspostavljanje zajedničkog ključa sesije. Jednom kada je ključ sesije uspostavljen, dio rukovanja je završen i sesija započinje.

Sjednici je trajanje šifrirane komunikacije između klijenta i poslužitelja. Tijekom tog vremena poruke se šifriraju i dešifriraju pomoću ključa sesije koji imaju samo klijent i poslužitelj. To osigurava sigurnu komunikaciju.

Integritet razmijenjenih podataka održava se pomoću kontrolne sume. Poruke razmijenjene pomoću ključeva sesije imaju priložen kôd za provjeru autentičnosti (MAC). To nije isto što i MAC adresa vašeg uređaja. MAC se generira i provjerava pomoću ključa sesije.

Zbog toga bilo koja strana može otkriti je li poruka promijenjena prije nego što je primljena. Ovo rješava temeljno pitanje: "Kako mogu znati da ova vaša poruka nije narušena?"

Sesije mogu namjerno završiti zbog prekida veze ili zbog toga što klijent predugo ne radi. Kada sesija završi, mora se ponovno uspostaviti novim rukovanjem ili putem prethodno uspostavljenih tajni nazvanih ID-jevima sesija koje omogućuju nastavak sesije.

TLS i vi

Sažmimo:

  • TLS je kriptografski protokol za pružanje sigurne komunikacije.
  • Postupak stvaranja sigurne veze započinje rukovanjem.
  • Rukovanje uspostavlja zajednički ključ sesije koji se zatim koristi za zaštitu poruka i osiguravanje integriteta poruka.
  • Sjednice su privremene i nakon završetka moraju se ponovno uspostaviti ili nastaviti.

Ovo je samo površinski obrada vrlo složenih kriptografskih sustava koji pomažu u zaštiti vaše komunikacije. Za više detalja o temi, preporučujem istraživanje skupova šifri i različitih podržanih algoritama.

TLS protokol ima vrlo važnu svrhu u vašem svakodnevnom životu. Pomaže osigurati vašu e-poštu obitelji, vaše mrežne bankarske aktivnosti i vezu putem koje čitate ovaj članak.

Komunikacijski protokol HTTPS šifriran je pomoću TLS-a. Svaki put kad vidite tu malu ikonu brave na svojoj URL traci, iz prve ruke imate sve koncepte o kojima ste upravo pročitali u ovom članku.

Dakle, sada znate odgovor na posljednje pitanje: "Kako možemo sigurno komunicirati?"