Šifrovanie AES-256 vysvetlené: čo to znamená pre vaše dáta
AES-256 vysvetlené: ako šifra funguje, prečo záleží na 256-bitových kľúčoch, čo pridáva režim GCM a čo skontrolovať, keď aplikácia tvrdí, že používa šifrovanie AES-256.
AES-256 je Advanced Encryption Standard s 256-bitovým kľúčom, štandardizovaný NIST ako FIPS 197 v roku 2001. Ide o symetrický šifrovací algoritmus používaný americkou vládou pre utajované informácie, bankami pre finančné transakcie a bezpečnostnými aplikáciami pre ochranu dát v pokoji aj pri prenose. AES-256 má 2^256 možných kľúčov: číslo väčšie ako odhadovaný počet atómov v pozorovateľnom vesmíre. Žiadny známy útok tento priestor kľúčov výpočtovo neznižuje.
Tento sprievodca vysvetľuje, čo AES-256 skutočne robí, prečo záleží na veľkosti kľúča, čo znamenajú rôzne režimy (ECB, CBC, GCM) a na čo sa zamerať, keď aplikácia tvrdí, že používa šifrovanie AES-256.
Čo AES vlastne robí
AES je symetrická bloková šifra. „Symetrická" znamená, že ten istý kľúč šifruje aj dešifruje. „Bloková šifra" znamená, že spracováva dáta v blokoch pevnej veľkosti 128 bitov (16 bajtov).
Algoritmus vezme vaše dáta (prostý text), skombinuje ich s kľúčom a prostredníctvom série matematických transformácií vytvorí premiešaný výstup (šifrový text). Tieto transformácie: substitúcia, posun, miešanie a pridanie kľúča, sa opakujú po pevný počet kôl. AES-256 používa 14 kôl.
Každé kolo aplikuje štyri operácie:
- SubBytes: Každý bajt je nahradený pomocou pevnej substitučnej tabuľky (S-box), čím sa zavedenie nelinearita.
- ShiftRows: Bajty v každom riadku sú posunuté o rôzne posuny, čím sa dáta rozložia do pozícií.
- MixColumns: Stĺpce sú zmiešané prostredníctvom maticového násobenia v konečnom poli, čím sa zmeny rozptýlia v bajtoch.
- AddRoundKey: Kľúč kola (odvodený z hlavného kľúča) sa XORuje s dátami.
Po 14 kolách je prostý text dôkladne premiešaný. Obrátenie týchto operácií so správnym kľúčom obnoví pôvodné dáta. Bez kľúča je šifrový text na nerozoznanie od náhodného šumu.
Prečo záleží na 256 bitoch
Číslo „256" v AES-256 odkazuje na dĺžku kľúča: 256 bitov. To určuje počet možných kľúčov, ktoré musí útočník vyskúšať, aby prelomil šifrovanie hrubou silou.
| Veľkosť kľúča | Možné kľúče | Čas prelomenia hrubou silou (bilión pokusov/s) |
|---|---|---|
| 56 bitov (DES) | 7,2 x 10^16 | približne 20 hodín |
| 128 bitov (AES-128) | 3,4 x 10^38 | 10^13 rokov (10 biliónov rokov) |
| 256 bitov (AES-256) | 1,16 x 10^77 | 10^51 rokov |
Pre porovnanie: vesmír je približne 1,38 x 10^10 rokov starý. Prelomenie AES-256 hrubou silou by trvalo približne 10^41-krát dlhšie ako vek vesmíru, a to aj pri bilióne pokusov za sekundu.
AES-128 je už výpočtovo neprevediteľné prelomiť hrubou silou. AES-256 poskytuje ďalšiu rezervu voči budúcim pokrokom v oblasti výpočtovej techniky, vrátane kvantových počítačov. Groverov algoritmus (kvantový útok) efektívne halvuje dĺžku kľúča, čím sa AES-256 redukuje na ekvivalent AES-128, ktorý je stále neprevediteľný. AES-128 by bol redukovaný na 64-bitovú efektívnu bezpečnosť, čo je potenciálne zraniteľné. Preto bezpečnostne kritické aplikácie preferujú AES-256.
Režimy AES: prečo záleží
Samotné AES šifruje iba jeden 128-bitový blok naraz. Pre skutočné dáta (fotografie, dokumenty, videá) potrebujete „prevádzkový režim", ktorý spracováva dáta väčšie ako 16 bajtov. Režim určuje, ako sú bloky reťazené dohromady, a má zásadné bezpečnostné dôsledky.
ECB (Electronic Codebook): nepoužívať
Každý blok je šifrovaný nezávisle s rovnakým kľúčom. Identické bloky prostého textu vytvárajú identické bloky šifrového textu. Tým dochádza k úniku vzorov v dátach. Klasická ukážka: šifrovanie bitmapového obrázka pomocou ECB zachováva štruktúru obrázka v šifrovom texte, takže obsah zostáva rozpoznateľný. ECB je v štandarde zahrnutý, ale nikdy by nemal byť používaný pre dáta, ktoré majú štruktúru alebo opakujúce sa vzory.
CBC (Cipher Block Chaining): starší štandard
Každý blok je pred šifrovaním XORovaný s predchádzajúcim šifrovým textom. To eliminuje únik vzorov ECB. CBC bol štandardným režimom po desaťročia, ale pre väčšinu aplikácií ho nahradil GCM. CBC vyžaduje náhodný inicializačný vektor (IV) a neposkytuje vbudovanú autentifikáciu.
GCM (Galois/Counter Mode): súčasný štandard
GCM kombinuje šifrovanie v čítačovom režime s overením Galoisovho poľa. Poskytuje overené šifrovanie: šifruje dáta A vytvára overovací tag, ktorý deteguje akúkoľvek úpravu šifrového textu. Ak je zmenený jediný bit, dešifrovanie zlyhá, namiesto vytvorenia poškodeného prostého textu.
NIST štandardizoval GCM v SP 800-38D (2007). Je to odporúčaný režim pre nové implementácie.
AES-256-GCM je AES s 256-bitovým kľúčom v režime Galois/Counter. To by mali používať bezpečnostne kritické aplikácie a čo Vaultaire používa pre šifrovanie obsahu fotografií a súborov.
| Režim | Únik vzorov | Overovanie | Aktuálne odporúčanie |
|---|---|---|---|
| ECB | Áno (závažný) | Nie | Nepoužívať |
| CBC | Nie | Nie (vyžaduje samostatný MAC) | Starší; prijateľné s HMAC |
| GCM | Nie | Áno (vbudované) | Odporúčané pre nové implementácie |
Čo AES-256 znamená pre ukladanie fotografií
Keď aplikácia trezoru fotografií tvrdí „šifrovanie AES-256", mali by platiť tri veci:
Obsah súboru je šifrovaný pomocou AES-256. Surové dáta fotografie (pixely, metadáta, miniatúra) sú transformované na šifrový text pomocou 256-bitového kľúča.
Každý súbor používa jedinečný inicializačný vektor (IV). Ak sú dve identické fotografie šifrované rovnakým kľúčom, šifrový text by mal byť odlišný. To vyžaduje jedinečný IV na súbor. Bez toho môže štatistická analýza odhaliť vzory.
Režim poskytuje overovanie (GCM alebo ekvivalent). Bez overovania by útočník mohol upraviť šifrový text bez detekcie. Dešifrovaný výsledok by bol poškodené dáta, nie chyba.
Čo „AES-256" na marketingovej stránke nehovorí
AES-256 je nevyhnutný, ale nie postačujúci. Niekoľko kritických faktorov určuje, či šifrovanie skutočne chráni vaše dáta:
Odvádzanie kľúča je podstatné. Ako je generovaný 256-bitový kľúč? Ak je odvodený zo 4-ciferného PIN pomocou slabého KDF, efektívna bezpečnosť sú 4 číslice (10 000 kombinácií), nie 256 bitov. Silná implementácia používa PBKDF2 s vysokým počtom iterácií alebo Argon2 s vhodnými parametrami pamäte/času. Vaultaire používa PBKDF2 s HMAC-SHA512 a odvodzuje kľúč zo vzoru na mriežke 5x5 s miliardami možných vstupov.
Uloženie kľúča je podstatné. Kde kľúč žije? Ak je kľúč uložený v prostom texte v sandboxe aplikácie, môže ho prečítať akýkoľvek malvér s prístupom k súborom. Správne uloženie kľúča používa hardvérovo podporované mechanizmy ako Apple Secure Enclave, kde kľúče existujú v dedikovanom koprocesore s vlastnou šifrovanou pamäťou.
Čo je šifrované, je podstatné. Niektoré aplikácie šifrujú obsah súborov, ale ponechávajú názvy súborov, miniatúry a metadáta nešifrované. Súdny znalec nemusí vidieť vašu fotografiu, ale vidí „dovolenka-plaza-2025.jpg" v zozname súborov. Komplexné šifrovanie pokrýva metadáta samostatne.
Životný cyklus kľúča je podstatný. Je kľúč zmazaný z pamäte po zatvorení aplikácie? Ak kľúč v pamäti pretrváva, mohol by ho extrahovať výpis pamäte. Vaultaire maže kľúče z pamäte pri každom zatvorení aplikácie a vyžaduje čerstvé zadanie vzoru pri každom spustení.
AES-256 v praxi: kto ho používa
| Subjekt | Prípad použitia | Režim |
|---|---|---|
| Americká vláda (NSA) | Utajované informácie | GCM (alebo CTR so samostatným overovaním) |
| Apple (iCloud ADP) | Koncové šifrovanie iCloud | GCM |
| Signal | Šifrovanie správ | CBC (s HMAC pre overovanie) |
| Banky | Šifrovanie finančných transakcií | GCM |
| 1Password | Trezor hesiel | GCM |
| Vaultaire | Trezor fotografií a súborov | GCM |
| VeraCrypt | Šifrovanie disku | XTS (optimalizované pre diskové bloky) |
Časté omyly
„Vojenské šifrovanie" nič konkrétne neoznačuje. Marketingové stránky túto frázu používajú, pretože znie pôsobivo. AES-256 používajú armády. Rovnako tak AES-128. Fráza vám nehovorí nič o režime, odvádzaní kľúča, uložení kľúča ani o tom, čo skutočne šifruje.
„256-bitové šifrovanie" nemusí znamenať AES-256. Iné šifry tiež používajú 256-bitové kľúče (ChaCha20, Twofish, Serpent). Skontrolujte, ktorý algoritmus je špecifikovaný. AES-256-GCM je súčasný štandard.
AES-256 nechráni pred slabým heslom. Ak je vaše heslo „1234" a odvádzanie kľúča je slabé, šifrovanie je efektívne 4-ciferné bez ohľadu na silu šifry. Reťaz sa pretrhne na najslabšom článku.
AES-256 nechráni dáta pri použití. Keď si prezeráte fotografiu, musí byť dešifrovaná v pamäti. V tom momente existuje v prostom texte v RAM. Správne implementácie toto okno minimalizujú a dešifrované dáta rýchlo mažú.
Najčastejšie otázky
Možno AES-256 prelomiť?
Žiadny známy útok AES-256 neprelomí redukciou celého priestoru kľúčov. Najznámejší útok (biclique attack od Bogdanova, Khovratovica a Rechbergera, 2011) redukuje AES-256 z 2^256 operácií na 2^254.4: teoretické zlepšenie, ktoré je výpočtovo v praxi bezvýznamné. AES-256 zostáva neprelomiteľný.
Je AES-256 odolný voči kvantovým počítačom?
V zásade áno. Groverov kvantový algoritmus halvuje efektívnu dĺžku kľúča: AES-256 sa stáva ekvivalentom 128-bitovej bezpečnosti voči kvantovým útokom. AES-128 by bol redukovaný na 64-bitovú efektívnu bezpečnosť, čo je potenciálne zraniteľné. NIST odporúča AES-256 pre dlhodobú bezpečnosť voči pokrokom v oblasti kvantových počítačov.
Aký je rozdiel medzi AES-128 a AES-256?
AES-128 používa 128-bitový kľúč (10 kôl). AES-256 používa 256-bitový kľúč (14 kôl). Oba sa považujú za bezpečné voči súčasným útokom. AES-256 poskytuje väčšiu rezervu voči budúcim pokrokom, najmä kvantovým počítačom. AES-256 je približne o 40 % pomalší ako AES-128 kvôli ďalším kolám, ale hardvérová akcelerácia to na moderných zariadeniach robí zanedbateľným.
Spomaľuje šifrovanie AES-256 môj telefón?
Znateľne nie. Moderné iPhone obsahujú dedikovanú hardvérovú akceleráciu AES v Secure Enclave a procesore. Šifrovanie alebo dešifrovanie fotografie trvá milisekundy. AES je špeciálne navrhnutý pre efektívnosť hardvérovej implementácie.
Ako zistím, či aplikácia skutočne používa AES-256?
Skontrolujte bezpečnostnú dokumentáciu aplikácie, nie len marketingovú stránku. Hľadajte: konkrétny algoritmus a režim (AES-256-GCM, nie len „AES" alebo „256-bitový"), metódu odvádzania kľúča (PBKDF2, Argon2), mechanizmus uloženia kľúča (Secure Enclave, hardvérovo podporovaný) a či sú šifrované aj metadáta. Aplikácie s otvoreným zdrojovým kódom umožňujú nezávislé overenie.
Záver
AES-256 je zlatý štandard symetrického šifrovania, štandardizovaný NIST, používaný vládami a finančnými inštitúciami a odolný voči všetkým známym útokom vrátane kvantových počítačov. Pri hodnotení aplikácií, ktoré tvrdia, že používajú šifrovanie AES-256, sa dívajte za šifru: skontrolujte režim (GCM), odvádzanie kľúča (PBKDF2/Argon2 s vysokým počtom iterácií), uloženie kľúča (hardvérovo podporované) a ktoré dáta sú skutočne šifrované (obsah aj metadáta).
Vaultaire používa AES-256-GCM pre šifrovanie súborov, PBKDF2 s HMAC-SHA512 pre odvádzanie kľúča, ChaCha20 pre šifrovanie metadát a Apple Secure Enclave pre správu kľúčov. Šifrovanie nie je marketingový jazyk. Je to matematika.