HTTP Strict Transport Security

HTTP Strict Transport Security(HSTS) je vinformaticebezpečnostní mechanismus, který chrání síťovou komunikaci meziwebovým prohlížečemawebovým serverempředdowngrade útokya zjednodušuje ochranu protiúnosu spojení(tzv.cookie hijacking). Mechanismus umožňuje, aby webový server vynutil v prohlížeči komunikaci pouze pomocí šifrovanéhoHTTPSpřipojení a vyloučil tím přenos dat nezabezpečenýmHTTP protokolem. HSTS definujeRFC 6797. Webový server aktivuje HSTS pomocí HTTP hlavičkyStrict-Transport-Security,která svou hodnotou definuje časový úsek, po který může prohlížeč přistupovat k serveru výhradně zabezpečeně.
Specifikace HSTS byla schválena 2. října 2012 a následně publikována 19. listopadu 2012 jakoRFC 6797. Původně autoři odeslali návrh jakoInternet-Draft17. června 2010. V rámci diskuze nad návrhem bylo jméno změněno ze „Strict Transport Security“ (STS) na „HTTP Strict Transport Security“ (HSTS). Důvodem pro změnu bylo, že jde o specifickou záležitost HTTP protokolu(název v HTTP hlavičce zůstalStrict-Transport-Security).
Server implementuje HSTS politiku tím, že odesílá hlavičku přes HTTPS připojení (HSTS hlavičky odeslané pomocí HTTP jsou ignorovány).Server může například odeslat hlavičku, která určí, že všechny budoucí dotazy na danou doménu budou používat jen HTTPS připojení po dobu jednoho roku:Strict-Transport-Security: max-age=31536000; includeSubDomains; preload.
Pokud webová aplikaceposkytne HSTS politiku user agentovi, agent se chová následovně:
HSTS pomáhá chránit webové aplikace proti některým pasivním (odposlechy) a aktivním síťovýmútokům.Díky HSTS mechanismu má útočník, který využíváman-in-the-middleútok, velmi sníženou šanci, že odchytí nějaké žádosti či požadavky odeslané mezi uživatelem a webovou aplikací.
Technologie HSTS dokáže odstranit problémy se SSL-strippingman-in-the-middleútokem, který byl poprvé publikovánMoxie Marlinspikemv roce 2009 na BlackHat Federal talk pod názvem „New Tricks For Defeating SSL In Practice“.SSL-stripping útoky (naSSLaTLS) transparentně převádějí zabezpečenéHTTPSpřipojení na nezabezpečené HTTP připojení. Uživatel uvidí, že jeho připojení je nezabezpečené, ale v zásadě neví, zda by připojení mělo být zabezpečené nebo ne. Mnoho stránek nevyužívá TLS/SSL, proto není žádný způsob jak zjistit, zda je připojení v nezabezpečeném HTTP kvůli útoku nebo jen proto, že stránky nevyužívají TLS/SSL.
HSTS řeší tento problémtak, že prohlížeči sdělí, že by připojení k serveru mělo vždy využívat TLS/SSL. HSTS hlavička může být útočníkem odstraněna, pokud uživatel na stránku přistupuje poprvé. ProhlížečeGoogle ChromeaMozilla Firefoxse snaží tomuto předcházet tak, že poskytuje předem načtený seznam HSTS sítí.Toto řešení bohužel nelze použít pro všechny stránky vInternetu. Více níže v kapitole „Omezení“.
HSTS také pomáhá předcházetkrádeži přihlašovacích HTTP cookiespomocí rozšířeného nástrojeFiresheep(pluginpro Firefox).
Jelikož je HSTS časově omezeno, je citlivý například na útoky, které posouvají systémový čas cílového počítače využitím falešnýchNTPpaketů.
Původní požadavek zůstává nechráněn proti aktivním útokům, pokud se použije nezabezpečený protokol (HTTP) nebo pokudURIpro původní požadavek byla získána přes nezabezpečený kanál.To samé platí v případě, kdy poprvé přistupujeme na stránky po uplynutí doby stanovené HSTS politikoumax-age(tato doba by měla být nastavena na několik dní nebo měsíců v závislosti na aktivitě a chování uživatele). Google Chrome a Mozilla Firefox řeší toto omezení pomocí „STS preloaded list“, což je seznam obsahující známé sítě, které podporují HSTS.Tento seznam je distribuován s prohlížečem, díky čemuž využívá zabezpečené připojení pro sítě v seznamu již při prvním přístupu. Avšak, jak již bylo zmíněno, toto řešení nedokáže pokrýt všechny stránky na internetu. Možným řešením by mohlo být využitíDNSzáznamů pro deklarování HSTS politiky a přistupovat k nim zabezpečeně pomocíDNSSEC.
Ani využitím „STS preloaded list“ nemůže HSTS předcházet pokročilým útokům proti TLS jako je napříkladBEASTneboCRIME.
Při nasazení HSTS je nutné udržovat platný certifikát, v opačném případě se webová stránka může stát nedostupnou. Poté, co kvůli neschválení rozpočtuUSAmuselo asi 800 000 zaměstnanců nastoupit dovolenou, do 21. ledna 2019 nebylo obnoveno přes 130 TLS certifikátů vládních webů, přičemž stránky, které jsou v seznamu STS preloaded list se tak staly úplně nedostupnými, protože v tomto případě prohlížeč neumožní přidání výjimky.
V tomto článku byl použitpřekladtextu z článkuHSTSna anglické Wikipedii.