Certifikační autority jsou jedním z nejdůležitějších základních kamenů pro zabezpečení internetu. Certifikační autorita je někdo, komu všichni důvěřují, a to na začátku, kdy nikdo nedůvěřuje nikomu jinému. Úkolem této certifikační autority (neboli CA) je pak zajistit, aby byla mezi servery a klienty vytvořena důvěra ještě před navázáním komunikace přes internet. certifikační autorita je důležitá nejen pro protokol HTTPS používaný prohlížeči a webovými aplikacemi, ale také pro šifrované e-maily, podepsané aktualizace softwaru, sítě VPN a mnoho dalšího. Vezmeme si prototypický příklad protokolu HTTPS a seznámíme se s certifikační autoritou právě v tomto kontextu. I když výsledek můžete extrapolovat na jakoukoli jinou softwarovou sadu.

Internet je nedůvěryhodný komunikační kanál. Když odesíláte nebo přijímáte informace ze starého webu HTTP http://www.example.com v prohlížeči, může se v polovině cesty k paketům stát spousta věcí.

  1. Zlý aktér může komunikaci zachytit, zkopírovat data pro sebe a pak je znovu poslat kanálem směrem k vám nebo serveru, se kterým jste komunikovali. Bez vědomí obou stran jsou informace kompromitovány. Musíme zajistit, aby komunikace byla soukromá.
  2. Zlý aktér může informace upravit v průběhu jejich odesílání kanálem. Bob mohl poslat zprávu „x“, ale Alice by od Boba obdržela „y“, protože špatný aktér zprávu zachytil a upravil ji. Jinými slovy, integrita zprávy je ohrožena.
  3. Nakonec, a to je nejdůležitější, musíme zajistit, aby osoba, se kterou hovoříme, byla skutečně tím, za koho se vydává. Vraťme se k doméně example.com. Jak se můžeme ujistit, že server, který nám odpověděl, je skutečně oprávněným držitelem adresy www.example.com? V kterémkoli bodě sítě může dojít k chybnému přesměrování na jiný server. Za převod názvu domény, například www.example.com, na IP adresu ve veřejném internetu je někde zodpovědný systém DNS. Váš prohlížeč však nemá možnost ověřit, zda DNS převedl IP adresu.

První dva problémy lze vyřešit šifrováním zprávy před jejím odesláním přes internet na server. Tedy přechodem na protokol HTTPS. Poslední problém, problém identity, je však tím, kde do hry vstupuje certifikační autorita.

Zahájení šifrovaných relací HTTP

Hlavním problémem šifrované komunikace přes nezabezpečený kanál je „Jak ji zahájíme?“

Úplně první krok by zahrnoval výměnu šifrovacích klíčů, které si obě strany, váš prohlížeč a server, budou vyměňovat přes nezabezpečený kanál. Pokud pojem klíče neznáte, představte si je jako opravdu dlouhé náhodně vygenerované heslo, kterým budou vaše data před odesláním přes nezabezpečený kanál zašifrována.

Pokud se klíče posílají přes nezabezpečený kanál, může ho kdokoli odposlouchávat a v budoucnu ohrozit zabezpečení relace HTTPS. Navíc, jak můžeme věřit, že klíč odesílaný serverem, který se prohlašuje za www.example.com, je skutečně skutečným vlastníkem tohoto doménového jména? Můžeme mít šifrovanou komunikaci se záškodníkem, který se vydává za legitimní web, a nepoznáme rozdíl.

Problém zajištění identity je tedy důležitý, pokud chceme zajistit bezpečnou výměnu klíčů.

Certifikační autority

Možná jste slyšeli o službách LetsEncrypt, DigiCert, Comodo a několika dalších, které nabízejí certifikáty TLS pro název domény. Můžete si vybrat tu, která vyhovuje vašim potřebám. Nyní musí osoba/organizace, která vlastní doménu, nějakým způsobem prokázat své certifikační autoritě, že má nad doménou skutečně kontrolu. To lze provést buď vytvořením záznamu DNS s jedinečnou hodnotou v něm, jak požaduje certifikační autorita, nebo můžete na svůj webový server přidat soubor s obsahem určeným certifikační autoritou, certifikační autorita pak může tento soubor přečíst a potvrdit, že jste platným vlastníkem domény.

Poté s certifikační autoritou vyjednáte certifikát TLS, jehož výsledkem je soukromý klíč a veřejný certifikát TLS vydaný pro vaši doménu. Zprávy zašifrované vaším soukromým klíčem pak mohou být dešifrovány veřejným certifikátem a naopak. Tomuto postupu se říká asymetrické šifrování

Klientské prohlížeče, například Firefox a Chrome (někdy i operační systém), mají znalosti o certifikačních autoritách. Tyto informace jsou v prohlížeči/zařízení zapečeny od samého počátku (tj. při jejich instalaci), takže vědí, že mohou určitým certifikačním autoritám důvěřovat. Když se nyní pokusí připojit k webu www.example.com přes protokol HTTPS a uvidí certifikát vydaný například společností DigiCert, prohlížeč to může skutečně ověřit pomocí lokálně uložených klíčů. Ve skutečnosti je zde ještě několik dalších mezikroků, ale toto je dobrý zjednodušený přehled toho, co se děje.

Teď, když lze důvěřovat certifikátu poskytnutému serverem www.example.com, je tento použit k vyjednání jedinečného symetrického šifrovacího klíče, který se používá mezi klientem a serverem po zbytek jejich relace. Při symetrickém šifrování se k šifrování i dešifrování používá jeden klíč, který je obvykle mnohem rychlejší než jeho asymetrický protějšek.

Nuance

Pokud vás myšlenka TLS a zabezpečení internetu oslovila, můžete se na toto téma podívat hlouběji a prozkoumat LetsEncrypt a jejich bezplatnou certifikační autoritu TLS. Celá tato finta je mnohem minucióznější, než je uvedeno výše.

.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.