HTTP Strict Transport Security
HTTP Strict Transport Security (HSTS) – mechanizm bezpieczeństwa sieci, który chroni strony przed atakami takimi, jak wymuszone zmniejszenie poziomu protokołu oraz przechwytywanie sesji. Dzięki niemu do serwerów można połączyć się tylko za pomocą przeglądarek, korzystających z bezpiecznych połączeń HTTPS[a], natomiast nigdy nie dopuszcza on połączeń na bazie niezabezpieczonego protokołu HTTP. HSTS jest uznawany za standardowy protokół przez IETF; został opisany w dokumencie RFC 6797 ↓.
O stosowaniu polityki HSTS[1] serwer informuje użytkownika za pomocą pola znajdującego się w nagłówku odpowiedzi HTTP o nazwie „Strict-Transport-Security
”. Polityka HSTS określa czas, w którym użytkownik może być połączony z serwerem tylko poprzez bezpieczne połączenie[2].
Historia specyfikacji
Specyfikację HSTS opublikowano jako RFC 6797 ↓ w dniu 19 listopada 2012 po tym, jak została zaaprobowana do proponowanego standardu RFC 2 października 2012 przez IESG.[3] Początkowo autorzy wydali ją 17 czerwca 2010. Nazwa specyfikacji została zmieniona ze „Strict Transport Security” (STS) na „HTTP Strict Transport Security”, ponieważ odnosiła się ona tylko do protokołu HTTP[4]. Mimo tego, pole nagłówka odzewu (ang. response header field) HTTP sprecyzowane w specyfikacji HSTS pozostaje nazwane „Strict-Transport-Security”.
Ostatnia tzw. „społecznościowa wersja” specyfikacji, nazywanej wtedy „STS”, została opublikowana 18 grudnia 2009, z poprawkami wniesionymi na podstawie opinii użytkowników[5].
Oryginalna specyfikacja, której autorami byli Jeff Hodges[6] z PayPal, Collin Jackson[7] oraz Adam Barth[8] została wydana 18 września 2009.[9]
Specyfikacja HSTS bazuje na oryginalnej pracy Jacksona i Barth’a jak opisano w ich artykule: “ForceHTTPS: Protecting High-Security Web Sites from Network Attacks”[10].
Ponadto HSTS jest realizacją aspektu całościowej wizji poprawy bezpieczeństwa w internecie, którą zaproponowali Jeff Hodges oraz Andy Steingruebl w artykule z 2010 roku The Need for Coherent Web Security Policy Framework(s)[11].
Gdy witryna sieci Web[12] wymusza użycie polityki HSTS do użytkowników, zgodne aplikacje użytkowników zachowują się, jak następuje[13]:
- Automatycznie zamieniają wszystkie niezabezpieczone odniesienia do witryny na połączenia chronione (Na ten przykład, http://example.pl/jakas/strona/ zmieni się w https://example.pl/jakas/strona/ przed nawiązaniem połączenia.)
- Jeżeli bezpieczeństwo połączenia nie może zostać zapewnione (np. certyfikat SSL serwera jest niezaufany), pokazany zostanie komunikat o błędzie i użytkownik nie będzie w stanie skorzystać z witryny[14].
Polityka HSTS pomaga chronić użytkowników sieci przed niektórymi pasywnymi (nasłuch) i aktywnymi atakami[15]. Przy stosowaniu polityki HSTS dla danej witryny przez przeglądarkę, możliwość przechwytywania zapytań i odpowiedzi pomiędzy witryną a użytkownikiem w ataku pośrednictwa została drastycznie zmniejszona.
- ↑ HTTPS oznacza protokół HTTP, wykorzystujący szyfrowanie Transport Layer Security (TLS/SSL). Zabezpieczone w ten sposób połączenia HTTP są określane w standardzie URI jako „https”, natomiast taką „kombinację” często określa się mianem „protokołu HTTPS”.
- ↑ RFC 6797 ↓, Section 5.2. HSTS Policy.
- ↑ Piotr Bratkowski: HSTS, czyli HTTP Strict Transport Security. sierpień 2013. [dostęp 19 maja 2016].
- ↑ [websec Protocol Action: 'HTTP Strict Transport Security (HSTS)' to Proposed Standard (draft-ietf-websec-strict-transport-sec-14.txt)]. 2 październik 2012. [dostęp 2 październik 2012].
- ↑ Jeff Hodges: Re: [HASMAT „STS” moniker (was: IETF BoF @IETF-78 Maastricht: HASMAT...)]. 30 czerwca 2010. [dostęp 22 lipca 2010].
- ↑ Strict Transport Security -06. 18 grudnia 2009. [dostęp 23 grudnia 2009].
- ↑ Jeff Hodges’s homepage. [dostęp 26 sierpnia 2011].
- ↑ Collin Jackson’s homepage. [dostęp 8 Marca 2011].
- ↑ Adam Barth’s homepage. [dostęp 8 Marca 2011].
- ↑ Strict Transport Security -05. 18 września 2009. [dostęp 19 listopada 2009].
- ↑ ForceHTTPS: Protecting High-Security Web Site from Network Attacks. kwiecień 2008. [dostęp 19 listopada 2009].
- ↑ Jeff Hodges, Steinguebl, Andy: The Need for Coherent Web Security Policy Framework(s). 29 października 2010. [dostęp 21 listopada 2012].
- ↑ Nations, Daniel. „Web Applications: What is a Web Application?”. About.com. Z 21 listopada 2012.
- ↑ RFC 6797 ↓, Section 5. HSTS Mechanism Overview.
- ↑ RFC 6797 ↓, Sekcja 12.1. No User Recourse.
- ↑ RFC 6797 ↓, Sekcja 2.3. Model Zagrożeń (Threat Model).
Linki zewnętrzne
Bibliografia
- J. Hodges , C. Jackson , A. Barth , HTTP Strict Transport Security (HSTS), RFC 6797, IETF, listopad 2012, DOI: 10.17487/RFC6797, ISSN 2070-1721, OCLC 943595667 (ang.).