Co je šifrování AES?
AES v kryptografii označuje Advanced Encryption Standard, rychlý, efektivní a bezpečný algoritmus šifrování certifikovaný americkým Národním institutem pro standardy a technologie (NIST). Jde o šifru se symetrickým klíčem, která používá stejný klíč k šifrování i dešifrování dat. To je poměrně rychlé, takže je ideální pro šifrování velkého množství dat v klidovém stavu.
Díky své síle a spolehlivosti je AES jedním z nejoblíbenějších a nejběžnějších typů šifrování používaných v zabezpečení bezdrátových sítí, při šifrování dat a šifrování disků, v online platebních systémech, v cloudovém úložišti, při správě hesel a dokonce i ve vládních a vojenských aplikacích. Americká vláda používá šifrování AES k ochraně svých utajovaných informací, což přispělo k jeho popularitě.

Je algoritmus AES bezpečný?
Ano. V roce 2000, po velmi důkladném(nové okno) a otevřeném výběrovém procesu, NIST oznámil, že AES (do té doby známý jako algoritmus Rijndael, který vytvořili Vincent Rijmen a Joan Daemen) nahradí DES jako jeho doporučený(nové okno) „neutajovaný, veřejně zveřejněný algoritmus šifrování schopný chránit citlivé vládní informace hluboko do příštího století“.
Podle NIST jsou všechny délky klíče algoritmu AES považovány za „dostatečné“ k ochraně utajovaných informací až do úrovně „Secret“. Pro informace stupně „Přísně tajné“ se vyžaduje AES-192 nebo AES-256.

Útoky hrubou silou
Nejzákladnější formou útoku možnou proti jakékoli šifře šifrování je útok hrubou silou, který spočívá ve zkoušení každé možné kombinace klíče, dokud není nalezena ta správná.
Frontier(nové okno) je nejvýkonnější veřejně známý superpočítač na světě. I kdyby celý svůj výkon věnoval lámání AES-128 hrubou silou, stále by potřeboval přibližně 10–12 bilionů let k vyčerpání všech možných kombinací pro AES-128. To je mnohem déle než stáří vesmíru. Takže i při nižších bitových velikostech je AES vysoce odolný vůči útokům hrubou silou z běžných počítačů.
AES-256 je 340 bilionů-bilionů-bilionů-bilionůkrát (2¹²⁸krát) obtížnější prolomit hrubou silou než AES-128.
Zatímco Groverův algoritmus(nové okno) teoreticky snižuje bezpečnost symetrických klíčů proti kvantovým hrozbám(nové okno) na polovinu, stále jsou vůči kvantovým útokům poměrně odolné, zejména při použití 256bitového klíče.
Útoky na klíče
V průběhu let kryptografové publikovali řadu teoretických útoků na klíče AES, ale všechny jsou buď v praxi neproveditelné, nebo jsou účinné pouze proti implementacím AES, které používají snížený počet kol (viz níže).
Nejúspěšnějším pokusem byl teoretický biclique attack(nové okno) publikovaný v roce 2011, který může zkrátit čas potřebný k prolomení AES hrubou silou na čtvrtinu. Přesto by prolomení AES hrubou silou na jakémkoli současném nebo předvídatelném hardwaru počítačů stále vyžadovalo miliardy let.
Žádný známý útok na klíč není v praxi účinný proti správně implementovanému AES-128 nebo vyššímu.
Postranní útoky
Postranní útok se snaží snížit počet kombinací potřebných k úspěšnému útoku hrubou silou hledáním stop z počítače provádějícího výpočty šifrování. Stopy lze získat zkoumáním:
- Časování – jak dlouho počítači trvá provedení operace
- Elektromagnetické úniky
- Zvukové stopy
- Vizuální stopy (zachycené pomocí kamery s vysokým rozlišením).
Zejména útoky na časování cache se ukázaly jako poměrně účinné při úspěšném prolomení AES. V nejvýznamnějším příkladu dokázali výzkumníci v roce 2016 obnovit(nové okno) klíč AES-128 s použitím „pouze asi 6–7 bloků prostého textu nebo šifrového textu (teoreticky by stačil i jediný blok)“.
Ke zmírnění hrozby postranních útoků však lze udělat řadu věcí:
- Správně implementované AES může zabránit způsobům, jakými může docházet k úniku dat.
- Hardware, který integruje instrukční sadu AES, dále snižuje plochu útoku postranních útoků na AES.
- K narušení vztahu mezi daty chráněnými AES a jakýmikoli uniklými daty, která by mohla být shromážděna pomocí postranního útoku, lze použít techniky randomizace.
V mnoha případech postranní útoky vyžadují, aby útočník měl těsnou blízkost k zařízení nebo fyzický přístup k zařízení při dešifrování dat, ačkoli vzdálené útoky jsou možné, pokud je v zařízení nainstalován škodlivý software, zejména v případě útoků založených na časování.
Jak AES funguje
AES je bloková šifra, která šifruje a dešifruje data v blocích o 128 bitech pomocí 128bitových, 192bitových nebo 256bitových klíčů. Jak bylo uvedeno dříve, k šifrování i dešifrování dat se používá stejný klíč. AES používající 128bitový klíč se často označuje jako AES-128 a obdobně i AES-192 a AES-256.

Data se šifrují pomocí několika kol, z nichž každé se skládá ze série matematických operací.
Proces začíná použitím algoritmu rozvrhu klíčů Rijndael k odvození série nových klíčů kol z původního tajného klíče. Tomu se říká rozšíření klíče.
Každé kolo se pak skládá z jedné nebo více (nebo kombinace) následujících operací:
1. Add RoundKey: Provede se operace XOR(nové okno), která kombinuje data určená k zašifrování (šifrový text) s každým klíčem kola.

2. Sub Bytes: K dalšímu promíchání dat se používá substituční tabulka. Představte si v principu jednoduché substituční šifry, které jste jako děti používali, když jste každé písmeno ve zprávě nahradili písmenem, které je v abecedě o pevný počet míst dál.

3. Shift Rows: Každý 128bitový blok dat se skládá ze 16bitového bloku 4 × 4. Tato operace posouvá každý bajt v řádku bloku doleva o určitý offset.

4. MixColumns: Na každý sloupec v bloku se provede další invertovatelná lineární transformace.

Tato série transformací tvoří jedno kolo, které se pak nad daty opakuje po určitý počet kol v závislosti na velikosti klíče:
- AES-128 — 10 kol
- AES-192 — 12 kol
- AES 256 — 14 kol
K dešifrování dat se všechny kroky použité k jejich šifrování jednoduše provedou v opačném pořadí. To vyžaduje původní tajný klíč k obrácení procesu pomocí každého inverzního klíče kola.
Proč je AES-256 preferováno před AES-192 nebo AES-128?
Prolomení AES-128 hrubou silou by s ohledem na současné i předvídatelné technologie trvalo déle než stáří vesmíru. Legendární kryptograf Bruce Schneier dokonce tvrdil(nové okno), že AES-128 může být díky silnějšímu rozvrhu klíčů — algoritmu, který počítá všechny klíče kol z původního tajného klíče — silnější než AES-256.
Přesto se AES-256 stalo de facto zlatým standardem pro šifrování se symetrickým klíčem. Často se na něj pohlíží (i když poněkud kontroverzně) jako na silnější volbu, protože jeho větší velikost klíče signalizuje dodatečnou bezpečnostní rezervu, takže šifrovaná data zůstanou v bezpečí, i kdyby byl nalezen způsob, jak algoritmus dramaticky oslabit. Tento argument nabyl na síle s tím, jak se potřeba odolnosti vůči postkvantovým hrozbám stává naléhavější.
AES-CBC vs. AES-GCM
Ještě poměrně nedávno se AES obvykle používalo v režimu cipher block chaining (CBC), kde je každý blok prostého textu před zašifrováním XORován s předchozím blokem šifrového textu. Při použití v režimu CBC je k ověření dat vyžadován hashovací algoritmus HMAC(nové okno), například HMAC-SHA256.
Stále častěji se však AES používá v režimu Galois/counter (GCM), který využívá režim čítače(nové okno) šifrování. Hlavní výhodou je, že k ověření dat používá Galoisovo pole(nové okno) bez potřeby externího algoritmu. Je proto efektivnější než použití samostatného autentizačního algoritmu, který může mít vysokou výpočetní režii.
Přestože je AES-CBC s ověřením HMAC obecně považováno za bezpečné, CBC je potenciálně zranitelné vůči padding útokům(nové okno), jako je POODLE(nové okno). GCM nikoli.
Hardwarově akcelerované AES
Většina moderních procesorů obsahuje Advanced Encryption Standard New Instructions (AES-NI(nové okno)), sadu hardwarových instrukcí, která provádí operace AES přímo na procesoru. Díky tomu je AES mnohem rychlejší a zároveň to pomáhá předcházet postranním útokům založeným na časování, protože operace probíhají uvnitř zabezpečených výpočetních jednotek procesoru, takže útočník může využít méně pozorovatelných časových odchylek.
Proton a AES
AES ve velké míře používáme k zabezpečení produktů Proton:
Události a kontakty jsou zabezpečeny pomocí AES-256 v kombinaci s ECC pro výměnu klíčů, aby bylo zajištěno Vaše soukromí prostřednictvím koncového šifrování.
Proton VPN se zaměřuje hlavně na rychlý a efektivní protokol VPN WireGuard® (který používá ChaCha20), ale připojení OpenVPN používají AES-256.
Proton Pass ukládá hesla, poznámky, identity a další položky do Vašeho zabezpečeného trezoru pomocí AES-256.
Proton Drive šifruje všechny nahrané soubory koncově pomocí AES-256 a používá ECC pro výměnu klíčů. Proton Docs a Proton Sheets také používají AES-256 s výměnou klíčů založenou na ECC, i když se jejich implementace šifrování liší od obecného schématu šifrování souborů v Proton Drive.
Proton Mail ukládá e-maily a přílohy pomocí AES-256 prostřednictvím standardu OpenPGP. Dokonce i Váš soukromý klíč, který odemyká Vaše e-maily, je před uložením na server zašifrován pomocí AES-256.
Proton Meet používá Messaging Layer Security (MLS) k šifrování zvuku, videa a chatových zpráv, čímž zajišťuje dopředné utajení (PFS) a bezpečnost po kompromitaci (PCS) pro veškerou komunikaci. Všechna data schůzek jsou koncově šifrovaná pomocí AES-256-GCM.
Zmírnění útoků na šifrování AES
Bezpečnost je jen tak silná jako její nejslabší článek, kterým je obvykle Vaše heslo. To znamená, že hrozbu pro data šifrovaná pomocí AES představují také praktiky sociálního inženýrství, phishingové útoky a keyloggery(nové okno). Takže i když se používá AES, měli byste přijmout následující opatření:
- Používejte šifrovaného správce hesel
- Používejte hardwarové bezpečnostní klíče (například YubiKey) jako další vrstvu ochrany
- Pokud jste součástí organizace, provádějte pravidelná bezpečnostní školení zaměstnanců, abyste předešli phishingovým útokům
Převezměte kontrolu nad svými daty
Proton byl vytvořen tak, aby chránil vaše data od samého začátku. Díky koncovému šifrování, aplikacím s otevřeným zdrojovým kódem a nezávislým auditům zůstávají vaše informace vaše.
Často kladené otázky o šifrování AES
- Co je lepší: AES vs. DES?
- Co je lepší: AES vs. RSA?
- Jak silné je zabezpečení AES?


