Keď zadávaš heslo alebo číslo kreditnej karty na webovej stránke, ako môžeš vedieť, že nikto cudzí nevidí tieto údaje? Odpoveďou je HTTPS — protokol, ktorý zabezpečuje šifrovanú komunikáciu medzi tvojim prehliadačom a webovým serverom.
HTTP vs. HTTPS
HTTP (HyperText Transfer Protocol) je základný protokol webu. Dáta, ktoré prenáša, sú nešifrované — môže ich prečítať ktokoľvek, kto ich zachytí na ceste.
HTTPS (HTTP Secure) je verzia HTTP s šifrovaním. Všetky dáta sú zašifrované pomocou protokolu TLS (Transport Layer Security), takže zachytené pakety vyzerajú ako nezmyselné znaky.
Zámok vedľa adresy v prehliadači znamená, že stránka používa HTTPS. Kliknutím na neho si môžeš pozrieť certifikát a zistiť, kto ho vydal.
Ako funguje TLS (HTTPS)?
Proces nadviazania bezpečného spojenia — tzv. TLS handshake (podanie rúk) — prebieha v niekoľkých krokoch:
- Klient pozdraví server — prehliadač pošle, aké verzie TLS a šifrovacie algoritmy podporuje.
- Server odpovie — server vyberie algoritmy a pošle svoj certifikát (obsahuje verejný kľúč).
- Overenie certifikátu — prehliadač overí, že certifikát je platný a vydaný dôveryhodnou autoritou.
- Výmena kľúča — pomocou asymetrického šifrovania (napr. Diffie-Hellman) si obe strany bezpečne vymenia symetrický kľúč relácie.
- Šifrovaná komunikácia — všetky dáta sa od teraz šifrujú symetricky (AES) — to je rýchle a bezpečné.
Prehliadač Server
| |
|------- TLS ClientHello -------->|
|<------ TLS ServerHello ---------|
|<------ Certifikát (verejný kľúč)|
|------- Výmena kľúčov ---------->|
|<------- Potvrdenie -------------|
|====== Šifrovaná komunikácia =====|
Asymetrické šifrovanie (pomalé) sa použije iba na bezpečnú výmenu kľúča. Samotná komunikácia potom prebieha rýchlym symetrickým šifrovaním (AES). Takto sa skombinujú výhody oboch prístupov.
SSL/TLS certifikáty
Certifikát je digitálny dokument, ktorý potvrdzuje identitu webového servera. Obsahuje:
- Doménové meno webu (napr.
www.skola.sk) - Verejný kľúč servera
- Dátum platnosti
- Digitálny podpis certifikačnej autority (CA)
Certifikačná autorita (CA) je dôveryhodná organizácia (napr. Let's Encrypt, DigiCert), ktorá overí, že server skutočne vlastní danú doménu, a vydá certifikát.
Prehliadač obsahuje zoznam dôveryhodných CA. Ak certifikát vydala niektorá z nich, zobrazí sa zelený zámok.
Čo HTTPS chráni?
| Chráni | Príklady |
|---|---|
| Heslá | Prihlasovanie na web |
| Platobné údaje | Nákupy v e-shope |
| Osobné informácie | Formuláre, profily |
| Obsah stránok | Čo čítaš |
HTTPS len šifruje komunikáciu — neznamená, že samotný web je dôveryhodný alebo bezpečný. Aj podvodný phishingový web môže mať platný HTTPS certifikát. Vždy skontroluj, či je doménové meno správne (napr. paypal.com, nie paypa1.com).
Prečo je HTTPS dôležité aj pre bežné weby?
Aj keď web neprenáša heslá, HTTPS je dôležité:
- Súkromie: ISP (internet provider) nevidí, čo konkrétne čítaš
- Integrita dát: Útočník nemôže upraviť obsah stránky počas prenosu
- SEO: Google uprednostňuje HTTPS weby vo vyhľadávaní
- Dôvera: Prehliadače označujú HTTP weby ako „Nezabezpečené"
# Príklad HTTPS požiadavky v Pythone (knižnica requests)
import requests
# HTTPS požiadavka — dáta sú šifrované
odpoved = requests.get("https://www.example.com")
print(f"Status kód: {odpoved.status_code}")
print(f"Protokol: HTTPS (šifrované)")
# Overenie certifikátu
# requests automaticky overuje TLS certifikát
# Ak by bol certifikát neplatný, vyhodí výnimku
Cvičné príklady
Vysvetli, prečo HTTPS používa asymetrické šifrovanie na začiatku spojenia a potom prepne na symetrické šifrovanie.
Zobraziť odpoveď
Ak web má HTTPS a zelený zámok, znamená to, že je dôveryhodný? Vysvetli svoju odpoveď.