Mnoho lidí vnímá jako pravdivou jednoduchou rovnici: HTTPS znamená bezpečné připojení. Pokud to tak jednoduché není, co to tedy doopravdy znamená?
Ve zkratce: Jak funguje SSL
Abychom se mohli v této problematice zorientovat, je zapotřebí se alespoň rychle a velmi zjednodušeně podívat na internetovou komunikaci.
Při navázání jakéhokoliv spojení přes internet – například při prohlížení webu nebo třeba odesílání e-mailu – sítí putuje velké množství informací. Posílají si je klient (například internetový prohlížeč) a server (třeba ten, na kterém běží internetová stránka, kterou chceme navštívit). Informace zahrnují prakticky všechen obsah, který na webové stránce vidíme, ale také to, co tam sami děláme.
Jelikož ale v síti mezi klientem a cílovým serverem stojí řada dalších síťových prvků, je potřeba spojení mezi hlavními účastníky této komunikace nějak zabezpečit. Jinak by ji mohl někdo „odposlouchávat“, nebo do ní dokonce vstoupit a předstírat, že je jedním z původních účastníků komunikace.
To by mohlo mít velmi negativní následky – počínaje ukradenými hesly k e-mailům či bankovním účtům a konče třeba u státní nebo industriální špionáže. Proto je důležité internetovou komunikaci a data, která se skrz ní přenáší, nějakým způsobem chránit.
Právě o to se starají také protokoly, kterým se obecně říká SSL.
Otázka jména – SSL nebo TLS?
Ačkoliv se zažila zkratka SSL jako obecné označení pro kryptografické protokoly pro ochranu internetové komunikace, SSL (Secure Sockets Layer) byl původně název jednoho konkrétního protokolu. Ten už byl ale ve většině aplikací nahrazen modernějším protokolem TLS (Transport Layer Security). Jako obecné označení kryptoprotokolů se ale stále často používá zkratka SSL. Zvyk je prostě železná košile.
Protokoly SSL existují ze dvou důvodů. Zaprvé zaručují identifikaci. Díky SSL mají klient i server jistotu, že komunikují opravdu spolu navzájem a ne s někým, kdo se za jednu ze stran vydává.
A zadruhé zajišťují šifrování komunikace – zařídí domluvu šifrovacího algoritmu, bezpečnou výměnu klíčů a tvorbu společného tajemství, které pak klient i server používají k šifrování komunikace.
To, že se nějaký z rodiny protokolů SSL v komunikaci se serverem používá, pozná při brouzdáním internetem i laik – v adresním řádku prohlížeče stojí na začátku místo zkratky protokolu HTTP zkratka HTTPS (tedy Hypertext Transfer Protocol Secure, někdy také HTTP over SSL). Neznamená to tedy, že je klient při prohlížení v bezpečí – to protokol prostě zaručit nemůže – ale znamená to alespoň fakt, že je komunikace šifrovaná a tedy odolnější vůči odposlouchávání.
Chcete SSL certifikát?
SSL certifikáty od certifikované autority Certum zařizujeme volitelně k našim službám a staráme se i o hlídání jejich splatnosti. Vyzkoušejte třeba naše nové VPS servery s SSL certifikátem.
SSL certifikáty
Certifikáty jsou klíčovým prvkem bezpečné komunikace
Jakou roli tedy v SSL protokolech hrají konkrétně ony certifikáty?
Poměrně důležitou – bez certifikátů by nemohly fungovat.
Díky certifikátům si mohou klient a server důvěřovat, ať už se k sobě někdy v minulosti připojovali nebo ne. Funguje to podobně jako mít s někým společného kamaráda. Potřebujete třeba pomoct s autem, ale neznáte dobrého mechanika? Váš nejlepší kamarád možná nějakého osobně zná a jako společný přítel obou stran vám pomůže vyměnit si s mechanikem kontakty. A také se za vás oba svým způsobem také zaručí – za mechanika, že je spolehlivý a za vás, že s vámi nebudou žádné problémy a za opravu zaplatíte.
Jiným příkladem může být třeba diplom z vysoké školy. Univerzita vám vydala certifikát o tom, že jste zvládli své studium a že tedy rozumíte svému oboru. Když pak hledáte zaměstnání třeba jako jaderný fyzik, nemusí zaměstnavatel prověřovat, že znáte všechny potřebné náležitosti kolem atomu. Důvěřuje vaší univerzitě a jejímu úsudku (a certifikátu), důvěřuje tedy i vám a vaším znalostem.
Podobně je tomu právě u SSL certifikátů. Roli univerzity nebo společného kamaráda, který nás představí mechanikovi, zastupují takzvané kořenové certifikační autority. To jsou společnosti, kterým důvěřuje velké množství účastníků internetového provozu. Jejich funkcí je prověřovat servery a vydávat jejich majitelům certifikáty (v některých případech, například u interních serverů firmy, musí mít platný certifikát dokonce i klient, jinak se s ním server odmítne spojit – ten pak ale vydává sama firma).
Každý počítač už při instalaci operačního systému dostane seznam některých certifikačních autorit. Díky tomu je pak schopný komunikovat s velkým množstvím legitimních serverů, protože si prostě jen při návštěvě každého z nich ověří, zda jejich certifikát vydala některá z těchto autorit.
Certifikáty obsahují bezpečnostní prvky proti falšování, takže každý účastník komunikace by měl být schopen automaticky ověřit, zda je certifikát pravý.
Kromě toho v sobě nesou informaci, ke kterému serveru patří – takže si můžete ověřit, že komunikujete opravdu se serverem domény vlastnící certifikát. Také obsahují datum vydání a datum, do kterého bude certifikát platit – certifikáty je potřeba obnovovat, aby mohla být důvěra v ně zachována. A v neposlední řadě certifikáty obsahují také veřejný klíč vlastníka, který umožňuje zahájení šifrované komunikace.
Veřejný a soukromý klíč
Veřejný klíč je jedním z páru klíčů používaných při šifrované komunikaci. Slouží k zašifrování zpráv, ale nelze pomocí něj zprávy přečíst. Jelikož je volně dostupný, kdokoliv vám může poslat zašifrovanou zprávu, ale nemůže číst nic, co k němu nechcete dostat. Odšifrovat zprávu můžete jen vy svým soukromým klíčem, který nikdy nikomu žádnými kanály nesdělujete. Metodě, kdy se pro šifrování a odšifrování komunikace používají odlišné klíče, se říká asymetrická kryptografie.
Starat se o bezpečnost internetu je povinností všech
Proč si tedy SSL certifikát zařídit, pokud jsem vlastníkem serveru?
Důvody jsou celkem jednoduché.
Pokud provozujete webovou stránku, na které zacházíte s citlivými údaji, měli byste se postarat o to, aby je při cestě sítí od klienta k vašemu serveru někdo neodcizil. Komunikaci o citlivých údajích je tedy nutné šifrovat a SSL protokoly a potažmo SSL certifikáty se o toto postarají. Citlivým údajem se v tomto případě může rozumět už třeba i pouhé přihlašovací jméno a heslo. Česká legislativa klade na zpracovatele osobních údajů povinnost zajistit, aby nedošlo k jejich zneužití – pokud tedy na svých webových stránkách třeba přijímáte objednávky s adresami klientů, potřebujete přenos těchto informací zabezpečit.
Jestli s citlivými údaji nezacházíte a na vlastním serveru si vedete třeba jen svůj kuchařský či firemní blog, přesto byste měli pořízení SSL certifikátu zvážit. Do zabezpečení internetu totiž stále více začínají mluvit velké organizace jako třeba Microsoft a Google. Obě společnosti (a mnoho dalších) už se vyjádřily, že je pro ně komunikace zabezpečená SSL protokoly velmi důležitá. Google se dokonce nechal slyšet, že bude už od letošního roku brát zabezpečení serveru jako jeden z faktorů, pomocí kterého určí pořadí stránek ve vyhledávání. Vaše stránky by se tedy mohly naráz propadnout z prvních pozic ve vyhledávání Googlu třeba až někam ke dvacáté straně, kde vás žádní čtenáři nebo zákazníci hledat nebudou.
Používání SSL certifikátů, zejména takzvaných certifikátů rozšířené validace, kromě toho vzbuzuje mezi uživateli větší důvěru než nezabezpečené stránky. Lidé jsou více ochotni provést s vámi obchod a svěřit vám své údaje, pokud vědí, že s nimi budete nakládat bezpečně.
Na nic tedy nečekejte. Pořízení SSL certifikátu je jednoduché a nezabere vám mnoho času, výsledek ale pomůže vám i ostatním uživatelům internetu.
Je všechno kolem certifikátů růžové? Není a je
Princip certifikátů pro SSL komunikaci bývá někdy vystavován kritice – zejména kvůli vysokým cenám, které si některé certifikační autority účtují. Přestože ceny certifikátu byly v minulosti vysoké, v dnešní době je možné je pořídit od důvěryhodných autorit relativně levně. Kromě toho existují i řešení s certifikáty úplně zdarma – jako například Let’s Encrypt, na který se podíváme v některém z budoucích článků.
Za slabou stránku certifikátů bývá někdy také považováno vydávání nesprávným subjektům. Přihodilo se to nedávno třeba i Googlu, který odhalil francouzskou vládní agenturu, která neprávem používala certifikát vydávající se právě za amerického giganta, aby mohla špehovat své zaměstnance. Na takové podvodníky se ale velmi brzy přijde a certifikát je jim odebrán. Existuje proto ještě protokol pro ověřování revokace – před použitím certifikátu pošle prohlížeč dotaz certifikační autoritě, která ve svých záznamech ověří, zda je kontrolovaný certifikát ještě platný.
Možná jste kromě těchto kritiků také v minulosti zaregistrovali v médiích zprávy o některých typech útoku, které dokázaly využít některých nedostatků SSL protokolů. Pravda je taková, že jako u každého fungujícího způsobu zabezpečení existují lidé, kteří se jej snaží prolomit. Každý kvalitní sejf prostě ponouká mnoho kasařů, aby se jej pokusili pokořit. Stejně je tomu u SSL. Najít nějakou slabinu v protokolech nebo certifikátech se snaží mnoho hackerů. Občas se to některým i podaří, například jako v případě známého Heartbleed bugu. Tyto chyby jsou ale velmi rychle opravovány a protokoly podléhají stálému vývoji.
Některé z těchto útoků (jako právě třeba Drown) navíc využívají chyb v dávno zastaralých verzích protokolu, které by už dnes servery vůbec neměly podporovat. Pokud se tedy o své servery dobře staráte – nebo je svěřujete někomu, kdo se o ně dobře stará za vás – možnost podobných útoků se minimalizuje. Naopak se zásadně zvedá úroveň bezpečnosti komunikace s vaším serverem. Pokud to tak ještě neděláte, rozhodně SSL certifikáty začněte používat.
SSL certifikáty u MasterDC
Všem zákazníkům k pronajatým službám nabízíme možnost objednání SSL certifikátu od certifikované autority Certum, který vyřídíme obratem. Pohlídáme za vás i dobu platnosti certifikátu a před jejím vypršením vás upozorníme. Pokud u nás máte server se správou, postaráme se i o instalaci certifikátu. Zařizujeme také certifikáty Let’s Encrypt, které jsou zdarma. SSL certifikát si můžete zařídit například k virtuálním serverům (VPS), které u nás nově běží na platformě KVM.