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[1], 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[2] 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[3].
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.[4] 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[5]. 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.[6]
Oryginalna specyfikacja, której autorami byli Jeff Hodges[7] z PayPal, Collin Jackson[8] oraz Adam Barth[9] została wydana 18 września 2009.[10]
Specyfikacja HSTS bazuje na oryginalnej pracy Jacksona i Barth'a jak opisano w ich artykule : “ForceHTTPS: Protecting High-Security Web Sites from Network Attacks”[11].
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)[12].
Gdy witryna sieci web[13] mandatuje użycie Polityki HSTS do użytkowników, zgodne aplikacje użytkowników zachowują się, jak następuje:[14]
- 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 (t.zn. certyfikat SSL serwera jest niezaufany), pokazany zostanie komunikat o błędzie i użytkownik nie będzie w stanie skorzystać z witryny.[15]
Polityka HSTS pomaga chronić użytkowników sieci przed niektórymi pasywnymi (Nasłuch) i aktywnymi atakami.[16] Przy stosowaniu Polityki HSTS dla danej witryny przez preglą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".
- ↑ Jeff Hodges, Jackson, Collin, Barth, Adam: Section 5.2. HSTS Policy. [w:] RFC 6797 [on-line]. Listopad 2012. [dostęp 21 listopada 2012].
- ↑ 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 Oct 2012. [dostęp 2 Oct 2012].
- ↑ Re: [HASMAT "STS" moniker (was: IETF BoF @IETF-78 Maastricht: HASMAT...)]. 30 June 2010. [dostęp 22 July 2010].
- ↑ Strict Transport Security -06. 18 grudnia 2009. [dostęp 23 grudnia 2009].
- ↑ Jeff Hodges's homepage. [dostęp 26 Aug 2011].
- ↑ Collin Jackson's homepage. [dostęp 8 Mar 2011].
- ↑ Adam Barth's homepage. [dostęp 8 Mar 2011].
- ↑ Strict Transport Security -05. 18 wrzesień 2009. [dostęp 19 listopad 2009].
- ↑ ForceHTTPS: Protecting High-Security Web Site from Network Attacks. April 2008. [dostęp 19 November 2009].
- ↑ Jeff Hodges, Steinguebl, Andy: The Need for Coherent Web Security Policy Framework(s). 29 październik 2010. [dostęp 21 listopad 2012].
- ↑ Nations, Daniel. "Web Applications: What is a Web Application?". About.com. Z 21 listopada 2012.
- ↑ Hodges, Jeff; Jackson, Collin; Barth, Adam (Listopad 2012)."Section 5. HSTS Mechanism Overview". RFC 6797. IETF. Z 30 czerwca 2014 roku.
- ↑ Hodges, Jeff; Jackson, Collin; Barth, Adam (Listopad 2012). "Sekcja 12.1. No User Recourse". RFC 6797. IETF. Z 30 czerwca 2014 roku.
- ↑ Hodges, Jeff; Jackson, Collin; Barth, Adam (Listopad 2012). "Sekcja 2.3. Model Zagrożeń (Threat Model)". RFC 6797. IETF. Z 21 listopada 2012 roku.