SSL certifikáty: jejich slabiny může odstranit blockchain
O SSL certifikátech jsme v Masteru už pár článků napsali. Důležitost šifrovaných dat a ověřené identity stránek ovšem stále roste a najdeme už jen málo adres, které by na začátku URL neměly ikonku zámečku. Pojďme se proto podívat, jaký je stav SSL certifikátů podle nejnovějších Google analýz a jestli existuje lepší způsob zabezpečení než SSL.
Protokol HTTPS a ikonka zámečku v URL značí, že je komunikace prohlížeče s prohlíženým webem zabezpečená. Co to znamená? Ve chvíli, kdy navážete jakékoli spojení přes internet, putuje mezi vámi – klientem – a serverem značné množství dat, které obsahuje nejen veškeré informace o stránce, ale i o tom, co na ní děláte. Tato data procházejí přes několik síťových prvků a jsou proto lehce napadnutelná. Tedy byla – do příchodu SSL certifikátů. Protokolů, které jednak zaručují identifikaci účastníků komunikace, jednak celou komunikaci šifrují. Tvrdit o stránce, že je zabezpečená, ale není úplně přesné. Pro útočníky sice není snadné data přečíst, stále se však umí dostat k soukromému klíči, který data šifruje. Jak přesně šifrování dat probíhá a proč je důležité jsme už shrnuli v článku Vysvětlení SSL certifikátů: Co jsou, jak fungují a proč je používat.
Jedním z problémů SSL certifikátů byly dříve některé certifikační autority, které si účtovaly neadekvátní cenu. Dnes už je tomu jinak a přelomovým okamžikem pro SSL protokoly bylo spuštění projektu Let’s Encrypt. Díky němu se SSL začaly prosazovat. Svědčí o tom i Google statistiky z roku 2016, které jsme shrnuli v článku Adopce SSL se daří: Google odhalil lichotivé statistiky o používání SSL protokolů. Od té doby se používání SSL certifikátů ještě více rozmohlo.
Co je Let’s Encrypt?
Let’s Encrypt je otevřená certifikační autorita, která vydává certifikáty zdarma a automaticky. Odstraňuje manuální tvorbu, ověřování, instalaci i obnovování. Celý proces implementace SSL zjednodušuje.
Přechodu na HTTPS se dlouho bránila řada serverů, na nichž běžela česká i zahraniční média. V mnoha případech byly problémem reklamní agentury. Spousta z nich totiž neposílala reklamy přes šifrované spojení. Ani to už ale neplatí a většina velkých médií dnes běží na zabezpečených URL adresách.
Množství šifrovaných dat, které proteče Googlem, se od ledna 2014 do ledna 2020 zvedlo o více než 40 %. Google intenzivně pracuje na tom, aby byly všechny jeho produkty a služby šifrované. Šifrování provozu Google Disku a Gmailu se drží na 100 %. Šifrování provozu služeb jako mapy, reklamy, kalendář nebo YouTube se už před několika lety přehouplo přes hranici devadesáti procent a stále úspěšně roste. Na základě soukromých zdrojů společnost zveřejnila i přehled o využívání SSL protokolů u 100 dalších nejnavštěvovanějších webů k říjnu 2017.
Srovnání šifrovaného provozu v roce 2016 a 2019
Procentuální podíl šifrovaného provozu v jednotlivých zemích v roce 2016 a 2019 podle statistik společnosti Google.
I SSL certifikáty mají své mouchy
Certifikáty SSL vydávají certifikační autority, které by měly zaručit, že je certifikát udělen skutečnému vlastníkovi serveru. Jejich centralizovaná správa má ale jistá úskalí, a tak se už párkrát stalo, že byl omylem vydaný falešný certifikát anebo došlo k nesprávné validaci. V takových případech pak přicházíte na server, který se zdá být zabezpečený, bez obav na něm provedete třeba transakci, ale vaše osobní informace místo k serveru putují přímo do rukou útočníka.
Šifrování dat funguje na principu asymetrické kryptografie. K přečtení zašifrovaných dat je nezbytné znát soukromý klíč, který se za žádných okolností nezveřejňuje. Zařízení, které zná soukromý klíč, dokáže mezi klienta a server vstoupit, komunikaci odposlouchávat, nebo se za jeden ze subjektů vydávat. Jedná se o tzv. man-in-the-middle útoky na kryptografii.
Aby mohli hackeři soukromý klíč ukrást, musí se nejprve dostat k serveru, na němž je klíč uložený. Docílí toho pomocí malwaru. Existuje několik stovek programů, které jsou navrženy konkrétně pro získávání privátních klíčů a certifikátů.
S problémem začala už před několika lety bojovat společnost Google, která vytvořila projekt Certificate Transparency. V rámci projektu se všechny certifikáty vydané všeobecně uznávanými certifikačními autoritami ukládají, díky čemuž je výrazně jednodušší rozpoznat nedůvěryhodný certifikát. Prohlížeč Chrome dokonce přestal považovat za bezpečné certifikáty vydané subjektům, které nesouhlasily s evidencí konkrétního SSL do databáze Certificate Transparency.
SSL certifikáty bez starostí
Ke službě Managed server získáte v MasterDC jako doplňkovou službu SSL od certifikované autority Certum nebo devadesátidenní certifikáty Let’s Encrypt. Instalaci SSL certifikátů i jejich správu máme díky vlastnímu skriptu automatizovanou.
Jak s tím souvisí blockchain?
Odstranění centrálních certifikačních autorit ze systému udělování SSL protokolů by mohlo vyřešit jejich největší zranitelnost. Vhodná decentralizovaná technologie už navíc existuje a dokonce se vynořilo pár projektů, které ji ve spojení s SSL testují. Blockchain, primárně známý jako účetní kniha kryptoměn, umožňuje obejít třetí stranu a snížit rizika napadení údajů. Všechny položky se ukládají pod přesnými adresami a jmény vlastníků, a jelikož do záznamů v blockchainu už není možné zasahovat, totožnost serveru je zaručena.
Například v rámci projektu EmerCoin implementovali vývojáři protokol emcSSL využívající technologii blockchain pro ověření identity připojovaného klienta. Protokol slouží jako náhrada hesla na webové stránce, nenahrazuje tedy doménový certifikát. Krádež hesla je pro útočníky komplikovanější, jelikož heslo nikdy nepřekročí hranici uživatelského zařízení. K získání hesla je proto nutné odcizit zařízení samotné. Používání tohoto typu certifikátu sice je bezpečnější, ale poměrně nepraktické pro uživatele – musí totiž disponovat vlastním certifikátem pro jednotlivá zařízení, z nichž se připojuje.
Také projekt REMME používá open-source protokol s implementací blockchainu. Jeho vývojáři otevřeně přiznali, že útok na hlavní centrum, v němž se ukládají soukromé klíče a veškeré informace o subjektech, je možný. Jelikož ho ale spravují stovky síťových uzlů a hackeři nemají jen jeden vstupní bod, na rozdíl od centralizovaných institucí, stává se pro ně útok na takovou infrastrukturu nákladný a výsledek vloženému úsilí ani výdajům neodpovídá.
Autoři projektu REMME ale nikde neuvedli, jak konkrétně je možné vytvořit lepší alternativu k současné správě a distribuci klíčů. Aby tento systém fungoval, bude navíc potřeba i jeho podpora ze strany prohlížečů. Zatím se tedy jedná pouze o koncept.
Co z toho plyne pro SSL protokoly?
SSL certifikáty zajišťují důvěru mezi klientem a serverem. Blockchain by mohl zaručit, že tuto důvěru nikdo nenaruší. K implementaci blockchainu je ale spousta certifikačních autorit a hostingových providerů oprávněně skeptická. Jen malé procento z nich je ochotné riskovat a začít využívat ne příliš otestovanou technologii, která je teprve v zárodku. Pravděpodobnost, že blockchain skutečně pronikne do SSL protokolů, je velmi nízká a tento nápad je zatím spíše experimentem. SSL certifikáty jsou stále nejefektivnějším způsobem, jak chránit osobní informace klientů, kteří k vašim serverům přistupují.