HTTPS je v informatice nadstavba síťového protokolu HTTP, která umožňuje zabezpečit spojení mezi webovým prohlížečem a webovým serverem před odposloucháváním, podvržením dat a umožňuje též ověřit identitu protistrany. HTTPS používá protokol HTTP, přičemž přenášená data jsou šifrována pomocí SSL nebo TLS a standardní port na straně serveru je 443.
Princip funkce
Protokol HTTPS využívá asymetrické šifrování. Obě strany si před zahájením komunikace vygenerují pár klíčů (privátní a veřejný). Při zahájení komunikace si vymění veřejné klíče, které by obě strany měly ověřit pomocí jiného komunikačního kanálu. Ověření může proběhnout kontrolou výtahu (otisk, miniatura, hash) veřejného klíče u protistrany například pomocí telefonu nebo lze použít princip přenosu důvěry, kdy nám protistrana předá veřejný klíč, který je digitálně podepsaný (nejlépe certifikační autoritou, které důvěřujeme a jejíž veřejný klíč máme v důvěryhodném úložišti, např. THAWTE, VeriSign, RapidSSL, GeoTrust, ...).
Zatímco samotné šifrování ochrání komunikaci před odposloucháváním, bez ověření autenticity veřejných klíčů jsou komunikující strany vystaveny riziku útoku Man in the middle.
Za certifikáty vydané certifikačními autoritami, které mají svůj veřejný klíč v úložišti, které je dodáváno s webovým prohlížečem, je nutné platit. Existuje však možnost vytvoření certifikátu, který si vydavatel sám sobě podepíše (anglicky self-signed certificate), avšak v takovém případě musí protistrana přidat do úložiště veřejný klíč sama (a ověřit ho jinak).
Omezení
Míra bezpečnosti
Míra bezpečnosti závisí zejména na chování uživatele při přístupu na zabezpečené stránky (při ověřování klíčů) a na verzi a korektnosti použité implementace šifrovacího algoritmu jak ve webovém prohlížeči, tak ve webovém serveru.
Virtuální webové servery
Při navázání spojení pomocí HTTPS je veškerá komunikace ihned od počátku šifrována pomocí SSL/TLS, není možné včas serveru sdělit, s jakým doménovým jménem (resp. virtuálním serverem) chceme pracovat (stejně jako s pomocí řádku Host: u protokolu HTTP). Proto pro HTTPS spojení standardně nelze vytvářet více virtuálních webových serverů na jediné IP adrese (a portu), které jsou rozlišeny pouze doménovým jménem. Proto je v RFC-3546 definováno rozšíření Server Name Indication (SNI), které je implementováno do FireFoxu 2.0, Opery 8, Mozilly 1.8 a Internet Exploreru 7. S pomocí tohoto rozšíření lze vytvářet na jedné IP adrese (a portu) více virtuálních webových HTTPS serverů, které jsou rozlišeny doménovým jménem (anglicky name-based virtual host).
Vynucené komerční certifikáty
Internet Explorer 7 zvýšil úroveň vypisovaných varování, když nejsou certifikáty registrovány. Původně oznamovalo problém vyskakovací okno, nyní je přes celou plochu prohlížeče zobrazeno varování, které doporučuje nepoužívat problematickou internetovou stránku. Do tohoto varování jsou však zahrnuty i (nekomerční) certifikáty, které nejsou registrovány u certifikačních autorit, které Microsoftu platí za umístění jejich veřejného klíče v úložišti prohlížeče. Chování Internet Exploreru tak nutí správce serverů kupovat komerční certifikáty pro jejich webové servery za cenu 10 až 1200 USD za rok.
Zdroj: Wikipedia