Junior
Ako funguje HTTPS?
sobes.tech AI
Odpoveď od AI
HTTPS (Hypertext Transfer Protocol Secure) je protokol, ktorý zabezpečuje bezpečnú prenos dát medzi klientom (napríklad prehliadačom) a serverom. Je založený na HTTP, ale používa šifrovanie na ochranu prenášaných informácií.
Práca HTTPS je založená na použití protokolu TLS (Transport Layer Security), ktorý sa predtým nazýval SSL (Secure Sockets Layer). TLS/SSL zabezpečuje tri kľúčové aspekty bezpečnosti:
- Šifrovanie: Dáta medzi klientom a serverom sú šifrované, čím sa stávajú nečitateľnými pre tretie strany.
- Integrita dát: Kontroluje sa, či dáta neboli počas prenosu zmenené.
- Autentifikácia: Server potvrdzuje svoju pravosť klientovi.
Proces nadväzovania HTTPS spojenia zahŕňa niekoľko etáp, nazývaných "TLS/SSL Handshake":
- Client Hello: Klient odosiela serveru "Client Hello", ktorý obsahuje:
- Verziu TLS, ktorú podporuje.
- Zoznam podporovaných algoritmov šifrovania (cipher suites).
- Náhodné číslo.
- Server Hello: Server odpovedá "Server Hello", vyberajúc z navrhnutých klientom:
- Verziu TLS.
- Jeden z algoritmov šifrovania.
- Náhodné číslo.
- Certifikát servera.
- Certificate: Klient dostáva certifikát servera a overuje jeho pravosť:
- Kontroluje digitálny podpis certifikátu pomocou verejného kľúča certifikačného centra (CA).
- Kontroluje platnosť certifikátu.
- Kontroluje, či doména v certifikáte zodpovedá tej, na ktorú sa obracia.
- Client Key Exchange: Klient generuje pre-master secret (kľúč), šifruje ho verejným kľúčom z certifikátu servera a odosiela serveru.
- Change Cipher Spec (Client): Klient oznamuje serveru, že je pripravený začať výmenu zašifrovaných dát.
- Finished (Client): Klient odosiela zašifrovanú správu s hashom všetkých predchádzajúcich správ Handshake na kontrolu integrity.
- Change Cipher Spec (Server): Server dešifruje pre-master secret pomocou svojho súkromného kľúča a generuje symetrické kľúče na šifrovanie relácie. Potom oznamuje klientovi, že je pripravený začať výmenu zašifrovaných dát.
- Finished (Server): Server odosiela klientovi zašifrovanú správu s hashom všetkých predchádzajúcich správ Handshake.
- Zašifrovaný prenos dát: Po úspešnom ukončení Handshake, klient a server používajú generované symetrické kľúče na symetrické šifrovanie všetkých nasledujúcich dát.
Týmto spôsobom HTTPS zabezpečuje chránený komunikačný kanál, čím robí webové prehliadanie bezpečnejším.