Mnoho komunikačních protokolů používá šifrování, aby se ujistil, že vaše připojení je bezpečné. Pochopení toho, co šifrování vlastně dělá a proč je důležité pro každého, je dobrý nápad, abyste věděli, před čím vás může ochránit a před čím ne.
Šifrování je matematický proces kódování dat pomocí šifrovací šifry a šifrovacího klíče. Zašifrovaná data nebo šifrovaný text lze dešifrovat zpět do původní podoby „prostého textu“ pouze pomocí dešifrovacího klíče.
S dobrým šifrovacím algoritmem by měl být šifrovaný text nerozeznatelný od náhodného šumu nebo nesmyslných hodnot. To znemožňuje určit, zda jsou data dokonce šifrovým textem, nebo zda jde pouze o šum. Tento design výrazně ztěžuje analýzu šifrovaného textu ve snaze jej dešifrovat bez potřeby dešifrovacího klíče prostřednictvím procesu zvaného dešifrování.
Tip: Šum je náhodný statický šum na pozadí, stejně jako sníh nebo statický náboj na některých starých televizorech, když nemají signál.
Symetrické vs asymetrické
U některých tříd šifrovacích algoritmů bude dešifrovací klíč stejný jako šifrovací klíč, v jiných se dva klíče liší. Když je dešifrovací klíč stejný jako šifrovací klíč, nazývá se to symetrické šifrování. V tomto případě lze šifrovací klíč považovat za heslo a každý, kdo má heslo, může šifrovat nebo dešifrovat data. AES je dobrým příkladem symetrického šifrovacího algoritmu, protože jedním z jeho použití je zabezpečení komunikace HTTPS na internetu.
Tip: HTTPS nebo Hypertext Transfer Protocol Secure je primární šifrovaný komunikační protokol používaný na internetu.
Asymetrické šifrování používá samostatný šifrovací a dešifrovací klíč, běžně se také nazývá kryptografie s veřejným klíčem. Šifrovací klíč je známý jako veřejný klíč a je publikován pro každého, kdo jej může použít k šifrování dat. Dešifrovací klíč je však znám jako soukromý klíč a jak název napovídá, je uchováván jako soukromý.
Tuto formu šifrování lze použít k zajištění toho, že pouze zamýšlený příjemce může dešifrovat a přečíst zašifrovanou zprávu. Běžným příkladem šifrovacího algoritmu s veřejným klíčem je RSA. RSA se také běžně používá v připojeních HTTPS, ale pouze proto, aby se oba počítače mohly bezpečně dohodnout na použití symetrického šifrovacího klíče.
Tip: Asymetrické šifrovací algoritmy se používají pomaleji než symetrické, které poskytují podobné úrovně zabezpečení. Proto se asymetrické šifrování používá pouze k odsouhlasení symetrického šifrovacího klíče v protokolech, které vyžadují rychlost a efektivitu, jako je HTTPS.
Tip: Jedna věc HTTPS nezaručuje, že se připojujete k webu, na který jste chtěli. To, co dělá, je zajistit, že připojujete web, který jste zadali do vyhledávacího pole. Pokud jste udělali překlep a omylem přešli na exanple.com, nikoli example.com, HTTPS potvrdí, že jste bezpečně připojeni k exanple.com. HTTPS pouze ověřuje, že vaše připojení k webovému serveru je bezpečné. HTTPS také neznamená, že web, ke kterému se připojujete, neobsahuje viry nebo jiný škodlivý software.
Bezpečnostní úrovně
Bezpečnost šifrovacího algoritmu se měří v bitech. Bity zabezpečení se týkají velikosti použitého šifrovacího klíče, a tedy toho, jak obtížné je uhodnout. Bohužel takto nelze přímo porovnávat bezpečnost symetrických a asymetrických algoritmů.
Symetrické šifrovací algoritmy, jako je AES, musí používat alespoň 128bitový šifrovací klíč, aby byly považovány za bezpečné, ačkoli se doporučuje 256bitový klíč. Asymetrické algoritmy musí používat alespoň 2048bitový klíč, aby byly považovány za bezpečné.
256bitový šifrovací klíč má 2^256 možných kombinací, což jsou dvě násobené 256krát. V plném znění jsou zde: 115,792,089,237,316,195,423,570,985,008,687,907,853,269,984,665,640,564,039,457,584,007,913,129,639,936 možné kombinace 256bitového šifrovacího klíče. Toto číslo je tak velké, že se zhruba rovná počtu atomů, které vědci předpovídají, že existují ve viditelném vesmíru.
Je nepochopitelně obtížné správně uhodnout klíč potřebný k dešifrování dat zašifrovaných 256bitovým klíčem. I kdybyste měli vyhrazený přístup k nejrychlejším superpočítačům a staletím času, stále by bylo statisticky nepravděpodobné, že byste správně uhodli dešifrovací klíč.
Proč je to důležité?
Při přihlašování na webové stránky zasíláte své uživatelské jméno a heslo nebo své bankovní spojení. Tyto údaje jsou soukromé a citlivé, pokud je má někdo jiný, mohl by se dostat k vašim účtům, vydávat se za vás, ukrást vám peníze a další.
Při použití protokolu HTTP ve formátu prostého textu může kdokoli v síti mezi vámi a webovým serverem zachytit a přečíst komunikaci, kterou odesíláte a přijímáte. To zahrnuje vaše hesla a další citlivé údaje. Ostatní uživatelé ve vaší domácí síti, váš ISP a další uživatelé na jakýchkoli veřejných Wi-Fi hotspotech, ke kterým se připojujete, by mohli být schopni provést tento typ útoku.
Pokud používáte komunikaci s webovým serverem a z webového serveru s ochranou HTTPS, vaše údaje jsou šifrované a nikdo jiný je nemůže číst. Toto šifrování udrží vaše hesla a další soukromá data v bezpečí při procházení internetu.
Šifrování však není důležité pouze pro soukromá nebo citlivá data; je to také užitečný nástroj ochrany osobních údajů. Může například zabránit vašemu poskytovateli internetových služeb, aby šmíroval vaše zvyky při procházení webu.
Šifrováním co největšího množství vaší komunikace bude méně zřejmé, kde se skrývají citlivá data, která by se útočníci mohli chtít pokusit ukrást. Jako takové se obecně doporučuje používat šifrování všude tam, kde je to možné, abyste zabezpečili vše, co děláte.
S moderním hardwarem a šifrovacími algoritmy přidává šifrování pouze nepostřehnutelné zpoždění, takže se nemusíte bát, že by zpomalilo vaše připojení k internetu.