Šifrování AES-256 vysvětleno: co to znamená pro vaše data
AES-256 vysvětleno: jak šifra funguje, proč záleží na 256bitových klíčích, co přidává režim GCM a co zkontrolovat, když aplikace tvrdí, že používá šifrování AES-256.
AES-256 je Advanced Encryption Standard s 256bitovým klíčem, standardizovaný NIST jako FIPS 197 v roce 2001. Jde o symetrický šifrovací algoritmus používaný americkou vládou pro utajované informace, bankami pro finanční transakce a bezpečnostními aplikacemi pro ochranu dat v klidu i při přenosu. AES-256 má 2^256 možných klíčů: číslo větší než odhadovaný počet atomů v pozorovatelném vesmíru. Žádný známý útok tento prostor klíčů výpočetně zredukovatelný neučiní.
Tento průvodce vysvětluje, co AES-256 skutečně dělá, proč záleží na velikosti klíče, co znamenají různé režimy (ECB, CBC, GCM) a na co se zaměřit, když aplikace tvrdí, že používá šifrování AES-256.
Co AES vlastně dělá
AES je symetrická bloková šifra. "Symetrická" znamená, že stejný klíč šifruje i dešifruje. "Bloková šifra" znamená, že zpracovává data v blocích pevné velikosti 128 bitů (16 bajtů).
Algoritmus vezme vaše data (prostý text), zkombinuje je s klíčem a prostřednictvím série matematických transformací vytvoří přeházenou výstup (šifrový text). Tyto transformace: substituce, posun, míchání a přidání klíče, se opakují po pevný počet kol. AES-256 používá 14 kol.
Každé kolo aplikuje čtyři operace:
- SubBytes: Každý bajt je nahrazen pomocí pevné substituční tabulky (S-box), čímž je zavedena nelinearita.
- ShiftRows: Bajty v každém řádku jsou posunuty o různé posuny, čímž se data rozloží do pozic.
- MixColumns: Sloupce jsou smíchány prostřednictvím maticového násobení v konečném poli, čímž se změny rozptýlí v bajtech.
- AddRoundKey: Klíč kola (odvozený z hlavního klíče) se XORuje s daty.
Po 14 kolech je prostý text důkladně přeházen. Obrácení těchto operací se správným klíčem obnoví původní data. Bez klíče je šifrový text nerozeznatelný od náhodného šumu.
Proč záleží na 256 bitech
Číslo "256" v AES-256 odkazuje na délku klíče: 256 bitů. To určuje počet možných klíčů, které musí útočník vyzkoušet, aby prolomil šifrování hrubou silou.
| Velikost klíče | Možné klíče | Čas prolomení hrubou silou (bilion pokusů/s) |
|---|---|---|
| 56 bitů (DES) | 7,2 x 10^16 | přibližně 20 hodin |
| 128 bitů (AES-128) | 3,4 x 10^38 | 10^13 let (10 bilionů let) |
| 256 bitů (AES-256) | 1,16 x 10^77 | 10^51 let |
Pro srovnání: vesmír je přibližně 1,38 x 10^10 let starý. Prolomení AES-256 hrubou silou by trvalo přibližně 10^41krát déle než stáří vesmíru, a to i při bilionu pokusů za sekundu.
AES-128 je již výpočetně neproveditelné prolomit hrubou silou. AES-256 poskytuje další rezervu vůči budoucím pokrokům v oblasti výpočetní techniky, včetně kvantových počítačů. Groverův algoritmus (kvantový útok) efektivně halvuje délku klíče, čímž se AES-256 redukuje na ekvivalent AES-128, který je stále neproveditelný. AES-128 by byl redukován na 64bitovou efektivní bezpečnost, což je potenciálně zranitelné. Proto bezpečnostně kritické aplikace preferují AES-256.
Režimy AES: proč záleží
Samotné AES šifruje pouze jeden 128bitový blok najednou. Pro skutečná data (fotografie, dokumenty, videa) potřebujete "provozní režim", který zpracovává data větší než 16 bajtů. Režim určuje, jak jsou bloky řetězeny dohromady, a má zásadní bezpečnostní důsledky.
ECB (Electronic Codebook): nepoužívat
Každý blok je šifrován nezávisle se stejným klíčem. Identické bloky prostého textu vytvářejí identické bloky šifrového textu. Tím dochází k úniku vzorů v datech. Klasická ukázka: šifrování bitmapového obrázku pomocí ECB zachovává strukturu obrázku v šifrovém textu, takže obsah zůstává rozpoznatelný. ECB je v standardu zahrnut, ale nikdy by neměl být používán pro data, která mají strukturu nebo opakující se vzory.
CBC (Cipher Block Chaining): starší standard
Každý blok je před šifrováním XORován s předchozím šifrovým textem. To eliminuje únik vzorů ECB. CBC byl standardním režimem po desítky let, ale pro většinu aplikací ho nahradil GCM. CBC vyžaduje náhodný inicializační vektor (IV) a neposkytuje vestavěné ověřování.
GCM (Galois/Counter Mode): současný standard
GCM kombinuje šifrování v čítačovém režimu s ověřením Galoisova pole. Poskytuje ověřené šifrování: šifruje data A vytváří ověřovací tag, který detekuje jakoukoliv úpravu šifrového textu. Pokud je změněn jediný bit, dešifrování selže, namísto vytvoření poškozeného prostého textu.
NIST standardizoval GCM v SP 800-38D (2007). Je to doporučený režim pro nové implementace.
AES-256-GCM je AES s 256bitovým klíčem v režimu Galois/Counter. To by měly používat bezpečnostně kritické aplikace a co Vaultaire používá pro šifrování obsahu fotografií a souborů.
| Režim | Únik vzorů | Ověřování | Aktuální doporučení |
|---|---|---|---|
| ECB | Ano (závažný) | Ne | Nepoužívat |
| CBC | Ne | Ne (vyžaduje samostatný MAC) | Starší; přijatelné s HMAC |
| GCM | Ne | Ano (vestavěný) | Doporučeno pro nové implementace |
Co AES-256 znamená pro ukládání fotografií
Když aplikace trezoru fotografií tvrdí "šifrování AES-256", měly by platit tři věci:
Obsah souboru je šifrován pomocí AES-256. Surová data fotografie (pixely, metadata, miniatura) jsou transformována na šifrový text pomocí 256bitového klíče.
Každý soubor používá jedinečný inicializační vektor (IV). Pokud jsou dvě identické fotografie šifrovány stejným klíčem, šifrový text by měl být odlišný. To vyžaduje jedinečný IV na soubor. Bez toho může statistická analýza odhalit vzory.
Režim poskytuje ověřování (GCM nebo ekvivalent). Bez ověřování by útočník mohl upravit šifrový text bez detekce. Dešifrovaný výsledek by byl poškozená data, nikoliv chyba.
Co "AES-256" na marketingové stránce neříká
AES-256 je nutný, ale ne postačující. Několik kritických faktorů určuje, zda šifrování skutečně chrání vaše data:
Odvození klíče je důležité. Jak se generuje 256bitový klíč? Pokud je odvozen ze 4místného PIN pomocí slabého KDF, efektivní zabezpečení je 4 číslice (10 000 kombinací), nikoli 256 bitů. Silná implementace využívá PBKDF2 s vysokým počtem iterací nebo Argon2 s odpovídající pamětí a časovými parametry. Používá Vaultaire PBKDF2 s HMAC-SHA512 a 600 000 iterací k odvození klíče místního úložiště ze zvoleného vzoru 5x5 a soli zařízení. PBKDF2 zdražuje každý odhad; nezvýší entropii vzoru na 256 bitů.
Důležité je úložiště klíčů. Kde žije klíč? Pokud je klíč uložen v prostém textu v karanténě aplikace, může jej číst malware s přístupem k souboru. od Applu Secure Enclave podporuje specifické operace s neexportovatelnými klíči, nikoli libovolné klíče AES dodané aplikací. Designy symetrických klíčů mohou místo toho spoléhat na Keychain a Data Protection, takže dokumentace by měla uvádět přesné API a třídu ochrany spíše než říkat pouze „hardwarově zálohované“.
Co je šifrováno, je podstatné. Některé aplikace šifrují obsah souborů, ale ponechávají názvy souborů, miniatury a metadata nešifrované. Soudní znalec nemusí vidět vaši fotografii, ale vidí "dovolena-plaz-2025.jpg" v seznamu souborů. Komplexní šifrování pokrývá metadata samostatně.
Klíčový životní cyklus je důležitý. Jak dlouho zůstává dešifrovaný klíčový materiál k dispozici? Když se Vaultaire zamkne nebo zavře, zruší svůj aktivní trezor a stav hlavního klíče a vyžaduje nové odemknutí. Symetrické bajty klíče nutně existují v paměti aplikace, když je otevřený trezor, a Swift a iOS nenechte aplikaci prokázat, že každá přechodná kopie byla přepsána.
AES-256 v praxi: kdo ho používá
| Subjekt | Případ použití | Režim |
|---|---|---|
| Americká vláda (NSA) | Utajované informace | GCM (nebo CTR se samostatným ověřováním) |
| Apple (iCloud ADP) | Koncové šifrování iCloud | GCM |
| Signal | Šifrování zpráv | CBC (s HMAC pro ověřování) |
| Banky | Šifrování finančních transakcí | GCM |
| 1Password | Trezor hesel | GCM |
| Vaultaire | Trezor fotografií a souborů | GCM |
| VeraCrypt | Šifrování disku | XTS (optimalizováno pro diskové bloky) |
Časté omyly
"Vojenské šifrování" nic konkrétního neoznačuje. Marketingové stránky tuto frázi používají, protože zní působivě. AES-256 používají armády. Stejně tak AES-128. Fráze vám neříká nic o režimu, odvozování klíče, uložení klíče ani o tom, co skutečně šifruje.
"256bitové šifrování" nemusí znamenat AES-256. Jiné šifry také používají 256bitové klíče (ChaCha20, Twofish, Serpent). Zkontrolujte, který algoritmus je specifikován. AES-256-GCM je současný standard.
AES-256 nechrání před slabým heslem. Pokud je vaše heslo "1234" a odvozování klíče je slabé, šifrování je efektivně 4ciferně bezpečné bez ohledu na sílu šifry. Řetěz se přetrhne na nejslabším článku.
AES-256 nechrání data při použití. Když si prohlížíte fotografii, musí být dešifrována v paměti. V tu chvíli existuje v prostém textu v RAM. Správné implementace toto okno minimalizují a dešifrovaná data rychle mažou.
Nejčastější otázky
Lze AES-256 prolomit?
Žádný známý útok AES-256 neprolomí redukcí celého prostoru klíčů. Nejznámější útok (biclique attack od Bogdanova, Khovratoviche a Rechbergera, 2011) redukuje AES-256 z 2^256 operací na 2^254.4: teoretické zlepšení, které je výpočetně v praxi bezvýznamné. AES-256 zůstává neprolamitelný.
Je AES-256 odolný vůči kvantovým počítačům?
V zásadě ano. Groverův kvantový algoritmus halvuje efektivní délku klíče: AES-256 se stává ekvivalentem 128bitové bezpečnosti vůči kvantovým útokům. AES-128 by byl redukován na 64bitovou efektivní bezpečnost, což je potenciálně zranitelné. NIST doporučuje AES-256 pro dlouhodobou bezpečnost vůči pokrokům v oblasti kvantových počítačů.
Jaký je rozdíl mezi AES-128 a AES-256?
AES-128 používá 128bitový klíč (10 kol). AES-256 používá 256bitový klíč (14 kol). Oba jsou považovány za bezpečné vůči současným útokům. AES-256 poskytuje větší rezervu vůči budoucím pokrokům, zvláště kvantovým počítačům. AES-256 je přibližně o 40 % pomalejší než AES-128 kvůli dalším kolům, ale hardwarová akcelerace to na moderních zařízeních činí zanedbatelným.
Zpomaluje šifrování AES-256 můj telefon?
Při běžném používání neznatelně. Moderní procesory Apple poskytují hardwarovou akceleraci pro AES prostřednictvím systémových kryptografických knihoven. To neznamená, že operace AES aplikace běží uvnitř Secure Enclave. Čas stále závisí na velikosti souboru, zařízení, úložišti a implementaci, takže tvrzení o zabezpečení by se mělo spoléhat spíše na měření než na univerzální hodnotu v milisekundách.
Jak zjistím, zda aplikace skutečně používá AES-256?
Zkontrolujte bezpečnostní dokumentaci aplikace, nejen její marketingovou stránku. Hledejte konkrétní algoritmus a režim, hierarchii klíčů, parametry odvození, přesné Keychain nebo Secure Enclave použití, zpracování nonce, cestu obnovy a zda jsou metadata také šifrována. Open source kód a nezávislé audity usnadňují ověření těchto tvrzení.
Závěr
AES-256 je zlatý standard symetrického šifrování, standardizovaný NIST, používaný vládami a finančními institucemi a odolný vůči všem známým útokům včetně kvantových počítačů. Při hodnocení aplikací, které tvrdí, že používají šifrování AES-256, se dívejte za šifru: zkontrolujte režim (GCM), odvozování klíče (PBKDF2/Argon2 s vysokým počtem iterací), uložení klíče (hardwarově podporované) a která data jsou skutečně šifrována (obsah a metadata).
Vaultaire používá AES-256-GCM pro obsah souboru, záhlaví, metadata, indexy a miniatury. PBKDF2 s HMAC-SHA512 odvozuje klíč místního úložiště ze vzoru a celého zařízení Keychain sůl; tento klíč rozbalí náhodný hlavní klíč používaný pro šifrování souborů. Symetrické operace probíhají v procesu aplikace CryptoKit, zatímco iOS Keychain a Data Protection chrání stav obnovení, když je zařízení uzamčeno. Úplná hierarchie je zdokumentována v bezpečnostní model.