HTTPS představuje účinnou zbraň jak zabezpečit web či eshop a ochránit jeho uživatele. Neposkytovat dnes toto šifrování znamená vystavovat návštěvníky stránek řadě rizik.
Kdysi dávno, když internet sloužil pouze k akademickým a vojenským účelům, vzniklo pro přenos dat něco, čemu se říká HTTP. Informatici mají takovou zvláštní vlastnost říkat všemu, co slouží pro komunikaci protokol. To je to „P“ na konci, „HT“ na začátku je zkratka pro „Hypertext“ a druhé „T“ je zkratka pro „Transport“, celý název tedy je „Hypertext Transfer Protocol“. Tento protokol má na starost komunikaci mezi vámi a serverem, kde se nachází web.
Velmi brzy se však našli zlí duchové, kteří odposlouchávali a měnili cizí komunikaci. Snažili se například získat citlivé informace jako údaje o kreditní kartě, přihlašovací údaje, osobní data apod. Odborně se takovým duchům říká „Man-in-the-middle“, často se setkáte se zkratkou MITM. Inu komunikaci bylo potřeba zabezpečit a to informatici, protože nemají velkou fantazii, vyřešili přilepením slovíčka „Secure“, to je to „S“ na konci HTTPS, tedy „Hypertext Transfer Protocol Secure“.
A teď vážně. Hlavní rozdíl mezi HTTP a HTTPS je ten, že pokud někdo odchytí pomocí programů k tomu určených vaši komunikaci přes HTTP, uvidí ji čitelnou v celé své kráse. Zatím co HTTPS používá poměrně složité matematické operace pro šifrování, k tomu, aby případní útočníci v případě odchycení komunikace viděli jenom hromadu nesrozumitelných dat. Možná vám pořád není jasné k čemu přesně je to dobré, ale věřím, že to objasní následující příklad.
Dobrou ukázkou pro nás bude největší český eshop Alza.cz a situace, kterou na svém blogu popsal Petr Soukup. Je sice zhruba rok stará, nicméně dokonale demonstruje problémy při použití nezabezpečeného spojení, kdy jsou všechny informace poslané serveru čitelné.
Petr celkem jednoduchým způsobem, který si osvojí každý student vysoké školy se zaměřením na IT, získal session cookie. (Soubor tvořený prohlížečem v němž se uchovávají data o aktivitě uživatele.) To mu následně umožnilo, aby simuloval přihlášení do eshopu účtem odposlechnutého zákazníka. Jinými slovy si tak mohl zjistit cokoliv o jeho osobních údajích, objednávkách a pokud měl nešťastník u Alzy uloženou platební kartu, pak šlo i nakupovat za jeho peníze.
Na nezabezpečeném spojení je tak velmi riskantní se přihlašovat, protože stejně jako je čitelná session cookie, lze přečíst i vaše přihlašovací jméno a heslo. V kombinaci s tím, že hodně lidí má pro více účtů stejné heslo jsou důsledky nedozírné.
Většinou stačí zavolat na zákaznickou linku společnosti, která se vám o web stará a říct ji, že chcete zabezpečené spojení. Oni se o vše postarají a vám pak jen pošlou fakturu k proplacení. Pojďme si, ale říct trochu víc o tom, jak to fuguje.
Bohužel nestačí jen „zapnout“ HTTPS pomocí nějakého přepínače a začít šifrovat spojení. Pokud by to bylo takhle jednoduché, výše zmíněným útokům „Man-in-the-middle“ by se stejně zabránit nedalo, protože identita protějšku by stále mohla být falešná. K ověření identity se v počítačové bezpečnosti používají takzvané certifikáty vystavované důvěryhodnými společnostmi. Celá počítačová bezpečnost je, podobně jako ta „lidská“ založena na důvěře. To jak fungují certifikáty a co je důvěryhodná certifikační autorita je už trochu jiné čtení.
Zabezpeční HTTPS, nebo jiné práce na webu? Vývojáři Modrého ducha k vašim službám!
V zásadě můžeme zabezpečení webu rozdělit na čtyři úrovně. Podrobnější informace o konkrétních způsobech ověření certifikátu popsal hezky Jindřich Zechmeister na svém blogu.
První úrovní je nezabezpečený web, jehož rizika jsme si řekli v úvodu článku. Typicky ho poznáte tak, že v místě, kde píšete webovou adresu nemáte žádný zámeček a před adresou je uvedeno ono „http://“ nebo vůbec nic.
Adresový řádek nezabezpečeného webu
Druhou úrovní je zapnuté šifrování s neplatným certifikátem. Certifikát může být neplatný z mnoha důvodů: vypršela jeho platnost, nebyl vystaven certifikační autoritou nebo může být podvržený. Z tohoto důvodu je tato úroveň považována stále za velmi nebezpečnou, ale pokud víte, co děláte nemusí to být nutně špatně. Prohlížeče vás na to vždy upozorní. Bohužel lidé se toto varování z určitých důvodů naučili ignorovat.
Varovné oznámení, které se zobrazí v prohlížeči při přístupu na stránku s neplatným certifikátem.
Třetí úrovní je šifrovaný přenos HTTPS se standardním certifikátem. Toto zabezpečení je postačující skoro pro všechny případy na internetu. Typicky na této úrovni budete mít před adresou zelený zámeček a „https://“.
Adresový řádek webu s platným https certifikátem
Čtvrtou, tedy poslední a nejvyšší úrovní zabezpečení je přenos přes HTTPS s certifikátem s rozšířeným ověřením. Svoje uplatnění najde zejména ve finančním sektoru, kde se nakládá s velmi citlivými údaji. Proti předchozímu případu tuto úroveň poznáte, že k zelenému zámečku přibude zelený pruh s názvem organizace.
Adresový řádek webu s platným https certifikátem s rozšířeným ověřením
Na závěr bych rád dodal, že obrázky jsou ilustrační a podle konkrétního prohlížeče a operačního systému se podoba jednotlivých prvků může trochu lišit.
Bezpečnému surfování zdar!
Praktický
Inspirující
Zábavný
Nic moc