HTTPS

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

HTTPS (Hypertext Transfer Protocol Secure) je v informatice protokol umožňující zabezpečenou komunikaci v počítačové síti. HTTPS využívá protokol HTTP spolu s protokolem SSL nebo TLS. HTTPS je využíván především pro komunikaci webového prohlížeče s webovým serverem. Zajišťuje autentizaci, důvěrnost přenášených dat a jejich integritu. Standardní port na straně serveru je 443 TCP.

Protokol HTTPS byl v roce 1994 vyvinut společností Netscape Communications pro webový prohlížeč Netscape Navigator[1].

Všeobecně se doporučuje podporovat HTTPS místo nezabezpečeného HTTP pro všechny webové stránky.[2][3][4][5][6][7]

Princip funkce[editovat | editovat zdroj]

Bezpečnost komunikace zaručuje protokol SSL anebo novější TLS[8]. Pomocí asymetrické kryptografie je ověřena identita webového serveru, volitelně i klienta. Poté následuje dohoda na klíči pro symetrické šifrování samotné komunikace (z výkonnostních důvodů). Klíč pro symetrickou šifru je buď vybrán klientem a nebo dohodnut pomocí Diffieho-Hellmanovy výměny klíče pro dosažení dopředné bezpečnosti.

Pro SSL a TLS je zásadní infrastruktura veřejného klíče a X.509 certifikáty, díky nimž probíhá autentizace. Pro úspěšné ověření identity je nutná důvěra v zaslaný certifikát, která nejčastěji bývá zprostředkovaná některou z certifikačních autorit, jejichž certifikáty jsou v úložišti důvěryhodných certifikátů operačního systému nebo aplikace (například webového prohlížeče). Většina certifikačních autorit vystavuje certifikáty na komerční bázi (Symantec, Verisign, COMODO, Thawte a jiné), avšak existují i certifikační autority vystavující certifikáty bezplatně jako například Let's Encrypt, StartSSL a jiné. Do úložiště důvěryhodných certifikátů lze doinstalovat další certifikační autority.

Nepodaří-li se certifikát ověřit automaticky, je možné na uživatelův pokyn pokračovat bez ověření (ovšem se zvýšeným rizikem Man in the middle útoku) anebo ověření provést jiným způsobem manuálně.

Bezpečnost[editovat | editovat zdroj]

Míra bezpečnosti závisí na chování uživatele, na implementaci protokolů ve webovém prohlížeči a webovém serveru, správné konfiguraci a na důvěryhodnosti certifikačních autorit.

Výhody HTTPS[editovat | editovat zdroj]

  • ověření identity
  • důvěrnost přenášených dat
  • integrita obsahu
  • možnost využití HTTP/2 protokolu
  • drobné zvýhodnění ve vyhledávači Google[9][10]
  • jen nepatrný pokles výkonu u novějšího hardwaru [11][12]

Nevýhody HTTPS[editovat | editovat zdroj]

  • pokles výkonu u staršího hardwaru
  • potřeba certifikátu a jeho obnovování
  • neumožňuje blokování konkrétních URL pouze blokování celého webu
  • mírně složitější konfigurace webového serveru
  • možné komplikace u starších webových prohlížečů

Budoucnost[editovat | editovat zdroj]

Kryptografické algoritmy, které se dnes běžně používají v HTTPS, obecně neposkytují ochranu proti (dnes hypotetickým) kvantovým počítačům (např. algoritmus RSA svou bezpečnost odvozuje od složitosti faktorizace, kterou by však Shorův algoritmus na kvantovém počítači dokázal provádět v polynomiálním čase). Pokud by se tedy podařilo sestrojit prakticky použitelný kvantový počítač dostatečné kapacity, bezpečnost internetové komunikace by byla prolomena. Toto riziko se snaží eliminovat vývoj tzv. postkvantové kryptografie. Pokud však nějaký útočník dnes zaznamenává cizí internetovou komunikaci zabezpečenou HTTPS, tak by sice zatím neměl být schopen ji dešifrovat, avšak v budoucnu, jakmile budou k dispozici kvantové počítače, by tuto uloženou komunikaci mohl dešifrovat zpětně.[13]

Nasazení HTTPS[editovat | editovat zdroj]

Navzdory rozšířenému názoru, že HTTPS je nutné pouze pro weby pracující s citlivými údaji, je mnohými organizacemi[2][4][6][7] a odborníky[3][14][15] doporučeno používat HTTPS na všech webech. HTTPS představuje účinnou obranu proti vkládání nežádoucího obsahu (malware, nevyžádané reklamy...)[16][17] poskytovatelem internetového připojení či jiným útočníkem. Dalším významným důvodem pro nasazení HTTPS je možnost ukončení podpory HTTP ve webových prohlížečích a v důsledku toho odstranění rizika SSL-stripping útoku.

Prvním krokem pro nasazení HTTPS je získání certifikátu od některé z certifikačních autorit nebo vygenerování self-signed certifikátu. Poté následuje konfigurace web serveru, kde je důležitý zejména výběr šifrovacích sad. S konfigurací může pomoci online nástroj Mozilla SSL Configuration Generator. Bezpečnost webového serveru je vhodné otestovat. K tomuto účelu mohou být použity například online nástroje Qualys SSL Labs, CryptCheck nebo Observatory by Mozilla.

Po nasazení HTTPS je nutné pravidelně obnovovat certifikát, jehož platnost typicky může být od 1 do 3 let. V případě certifikační autority Let's Encrypt je platnost certifikátu pouze 90 dní, ale celý proces může být zautomatizován.[18]

Pokročilé možnosti zabezpečení[editovat | editovat zdroj]

Zabezpečení HTTPS je možné zvýšit některými technikami jakými jsou například HSTS, HPKP, CAA a TLSA záznamy v DNS (je vhodné mít DNSSEC).

Rozšíření HTTPS[editovat | editovat zdroj]

V červnu 2016 podporovalo HTTPS protokol jako výchozí 10,2 % webů ze seznamu Alexa top 1,000,000[19] a dle údajů Firefox Telemetry bylo načteno zabezpečeným protokolem 45 % webových stránek[20] (na začátku prosince 2017 již 66% stránek[21]).

Od ledna 2017 začal prohlížeč Chrome označovat webové stránky, které přijímají od uživatele citlivé informace bez použití HTTPS protokolu. Od této změny se očekává výrazný nárůst použití HTTPS.[6]

Reference[editovat | editovat zdroj]

  1. WALLS, Colin. Embedded Software: The Works. [s.l.] : Elsevier, 2006. 390 s. Dostupné online. ISBN 0750679549, 9780750679541. S. 344.  
  2. a b Why HTTPS Matters  |  Web  |  Google Developers. Google Developers [online].  [cit. 2017-02-17]. Dostupné online.  (anglicky) 
  3. a b Why We Encrypt - Schneier on Security. www.schneier.com [online].  [cit. 2017-02-17]. Dostupné online.  
  4. a b MORGAN, Cindy. IAB Statement on Internet Confidentiality | Internet Architecture Board [online]. [cit. 2017-02-17]. Dostupné online.  
  5. Securing the Web. www.w3.org [online].  [cit. 2017-02-17]. Dostupné online.  (anglicky) 
  6. a b c Moving towards a more secure web. Google Online Security Blog. . Dostupné online [cit. 2017-02-01]. (en-US) 
  7. a b Marking HTTP As Non-Secure - The Chromium Projects. www.chromium.org [online].  [cit. 2017-02-17]. Dostupné online.  
  8. RESCORLA, E.. HTTP Over TLS. tools.ietf.org [online].  [cit. 2017-02-17]. Dostupné online.  (anglicky) 
  9. Použití kanonických adres URL - Nápověda Search Console. support.google.com [online].  [cit. 2017-02-17]. Dostupné online.  (česky) 
  10. Google Starts Giving A Ranking Boost To Secure HTTPS/SSL Sites. Search Engine Land. 2014-08-07. Dostupné online [cit. 2017-02-17]. (en-US) 
  11. LANGLEY, Adam. ImperialViolet - Overclocking SSL. www.imperialviolet.org [online].  [cit. 2017-02-17]. Dostupné online.  (anglicky) 
  12. Analyzing HTTPS Performance Overhead. KeyCDN Blog. 2015-12-17. Dostupné online [cit. 2017-02-17]. (en-US) 
  13. How future quantum computers will threaten today's encrypted data
  14. KRČMÁŘ, Petr. HTTPS by mělo být všude - Root.cz. Root.cz. . Dostupné online [cit. 2017-02-17]. (česky) 
  15. Přednáška HTTPS všude. A proč vlastně? (F5 fórum). www.michalspacek.cz [online].  [cit. 2017-02-17]. Dostupné online.  (česky) 
  16. https://arxiv.org/pdf/1602.07128v1.pdf
  17. Verizon Injecting Perma-Cookies to Track Mobile Customers, Bypassing Privacy Controls. Electronic Frontier Foundation. 2014-11-03. Dostupné online [cit. 2017-02-17].  
  18. ACME Client Implementations - Let's Encrypt - Free SSL/TLS Certificates. letsencrypt.org [online].  [cit. 2017-02-17]. Dostupné online.  (anglicky) 
  19. HTTPS usage statistics on top websites. STATOPERATOR. . Dostupné online [cit. 2017-02-17]. (en-US) 
  20. Progress Towards 100% HTTPS, June 2016 - Let's Encrypt - Free SSL/TLS Certificates. letsencrypt.org [online].  [cit. 2017-02-17]. Dostupné online.  (anglicky) 
  21. Let's Encrypt on Twitter. Twitter. . Dostupné online [cit. 2017-12-08]. (anglicky) 

Související články[editovat | editovat zdroj]

Externí odkazy[editovat | editovat zdroj]