📆 25. července 2018 📂 HTTPS, šifrování, Chrome

Včera, na moje narozeniny, vyšla nová verze Chrome 68, která začala označovat všechny weby na HTTP jako Not secure, česky Nezabezpečeno (pěknej dárek, díky!). Zatím teda jen s šedým (i) v kroužku, bez červeného vykřičníku. Spousta hojně navštěvovaných českých webů ale není připravena. A jak jsme se vlastně dostali až sem a co nás čeká?

Not secure | www.ceskatelevize.cz/moje-ct/

Web České televize v Chrome 68

Zatímco Chrome již označuje weby na HTTP vcelku viditelně, tak ostatní prohlížeče to mají stále na kliknutí, jako např. Firefox. Ten bude v agresivnějším označování stránek načtených nezabezpečeným protokolem HTTP pravděpodobně brzy Chrome následovat (o konkrétním datumu ale nevím), podobně jako Safari.

www.ceskatelevize.cz Connection Is Not Secure

Web České televize ve Firefoxu 61

Mezi „velkými“ českými weby, které neumí HTTPS nebo na něj uživatele nepřesměrují, najdete např.:

Seznam dalších padesáti českých webů, kterým je nějaké Not secure šumák (a jejich návštěvníci je taky moc nezajímají) sestavil Troy Hunt a Scott Helme a najdete ho na webu Why No HTTPS?. Najdete tam samozřejmě i jiné země, třeba Slovensko. Předpokládám, že ty weby na HTTPS nakonec dřív nebo později přejdou, ale je k tomu potřeba nemalého úsilí celého odvětví.

Jaká byla cesta?

Popravdě řečeno, měli na to docela dost času, když se podíváme na to, jak přechod na „HTTPS všude“ vypadal z pohledu Google:

Srpen 2014: Google oznamuje, že HTTPS přidává nějaké (v podstatě zanedbatelné) bodíky pro jejich vyhledávač – dobrej tah, šli na to od lesa. Trochu víc se tomu věnuje Pavel Ungr ve svém aktualizovaném článku.

Září 2016: Google píše, že od ledna 2017 bude Chrome zobrazovat Not secure na stránkách načtených přes HTTP s políčkem pro zadání hesla nebo platební karty.

Přihlašovací stránky v Chrome 53: login.example.com; v Chrome 56: (i) Not secure | login.example.com

Chrome zobrazuje Not secure na HTTP stránkách s políčkem pro zadání hesla nebo platební karty od ledna 2017 (zdroj)

Duben 2017: vychází zpráva, že od října 2017 bude Chrome označovat jako Not secure všechny stránky načtené po HTTP, pokud na nich uživatel začne cokoliv vyplňovat. Stránky načtené přes HTTP v Incognito režimu budou jako Not secure označené všechny.

HTTP stránky v Chrome 58: example.com; v Chrome 62 při zadávání dat nebo v Incognito režimu: (i) Not secure | example.com

Od října 2017 jste mohli vidět Not secure na HTTP stránkách při zadávání dat nebo v Incognito režimu (zdroj)

Únor 2018: dozvídáme se, že od července bude Chrome označovat všechny stránky načtené přes HTTP jako Not secure, zatím jen s šedým (i).

HTTP stránky v Chrome 64: example.com; v Chrome 68: (i) Not secure | example.com

Od včerejška zobrazuje Chrome text Not secure na všech HTTP stránkách (zdroj)

No a tak jsme tu, v červenci roku 2018. Dobrá práce a díky všem, kteří nás až sem dostali! Před pár lety jsem si to nedokázal představit a myslel jsem, že se toho nedožiju. Když o tom mluvím na školení HTTPS (13. září 2018 Praha), tak normálně dostávám husí kůži.

Mimochodem, Google si ty datumy necucá z prstu, ale sledují počty načtených stránek na HTTPS a podle toho změny dělají. V USA je 84 % všech stránek v Chrome načtených přes HTTPS, v Japonsku 66 %. Kdyby ta procenta byla nižší, tak by takové změny nedělali, protože by to znamenalo, že uživatel uvidí Not secure příliš často a začne to ignorovat. Ve Firefoxu jsou procenta načtených stránek po HTTPS podobná.

Je důležité si uvědomit, že stránka není web, takže když někdo používá celej den jeden web, např. Facebook nebo Gmail, tak všechny načtené stránky budou po HTTPS, ale pořád je to jen pár webů. Nedávno jsem zkusil odhadnout kolik českých webů je na HTTPS a vyšlo mi 20–30 %.

Co nás čeká dál?

září tohoto roku uvidíte na HTTPS stránkách v Chrome šedý rámeček místo zeleného a zmizí nápis Secure. No a nakonec zmizí i ten šedý zámek.

HTTPS stránky v Chrome 69: 🔒 example.com; finální stav: example.com

Od září zmizí Secure a zámeček zešedne a nakonec zmizí taky (zdroj)

říjnu se v Chrome změní šedé (i) v kroužku před Not secure na červený trojúhelník s vykřičníkem, když uživatel začne na stránce načtené přes nezabezpečený protokol HTTP něco vyplňovat.

HTTP stránky finální stav: ⚠ Not secure | example.com

Ve finále budou všechny stránky na HTTP označené červeným ⚠ Not secure (zdroj)

Finální stav, zatím bez konkrétního datumu, bude takový, že stránky načtené přes HTTPS nebudou mít žádné extra označení, zatímco ty načtené po HTTP budou mít Not secure s červeným trojúhelníkem. A tak to má být, HTTPS je normální a je potřeba všude, i na obyčejném statickém webu. A co vy, už máte web na HTTPS?

Budoucnost je tu

Některé změny uvedené výše si můžete vyzkoušet již dnes.

Chcete vidět finální červené ⚠ Not secure? Změňte nastavení chrome://flags/#enable-mark-http-as na „actively dangerous“.

Nelíbí se vám text Secure a chtěli byste jen zámeček? Nebo si chcete vyzkoušet, jak se (ne)změní vaše chování, když neuvidíte vedle zámečku i název firmy, tedy když tzv. EV certifikáty nebudou mít žádné zvláštní označení? Zkuste různé volby v chrome://flags/#simplify-https-indicator.

Přijde vám https:// v adresním řádku zbytečné? A co to www? Zapnutím chrome://flags/#omnibox-ui-hide-steady-state-url-scheme-and-subdomains to můžete skrýt. Tohle nastavení na Macu vyžaduje mít zapnuté MacViews, to prý uděláte pomocí chrome://flags/#secondary-ui-md.

Podobná nastavení najdete i ve Firefoxu v about:config: přeškrtnutý zámeček pro všechny stránky na HTTP nastavíte pomocí security.insecure_connection_icon.enabled (a pomocí security.insecure_connection_icon.pbmode.enabled jen pro privátní okno), nápis Not Secure pro takové stránky pak povolíte zapnutím security.insecure_connection_text.enabled (Not Secure jen v privátním okně zapnete pomocí security.insecure_connection_text.pbmode.enabled).

Pamatujte, že tato nastavení se mohou změnit nebo mohou být zcela odstraněna bez předchozího varování.


Mohlo by vás také zajímat

Michal Špaček

Vyvíjím webové aplikace, zajímá mě jejich bezpečnost. Nebojím se o tom mluvit veřejně, hledám hranice tak, že je posouvám. Chci naučit webové vývojáře stavět bezpečnější a výkonnější weby a aplikace.

Veřejná školení

Zvu vás na následující školení, která pořádám a vedu:

Bezpečnost PHP aplikací
(11.–12. září 2018 Praha)

HTTPS pro vývojáře a správce
(13. září 2018 Praha)

English