Hogyan működik a Rijndael titkosítási algoritmus?
AES rövidítésként is ismert
A szigorúan bizalmas információk biztonságos továbbítása úgy, hogy illetéktelenek ne férhessenek hozzá, mindig is kihívást jelentett. A korai „titkos nyelvek” – például az egyszerű betűeltolások – a modern számítási kapacitással könnyedén feltörhetők. Napjainkban az adatokatkriptográfiai eljárásokkalvédjük, amelyek matematikailag pontosan definiáltak, és amelyek biztonságát nyilvánosan is vizsgálták.
Az ilyen eljárások egykulcsothasználnak, amelyet csak a küldő és a fogadó ismer. A titkosítás és a visszafejtés egytitkosítási algoritmustkövet – vagyis egy egyértelműen leírt matematikai eljárást.
Password Depotaz Ön bizalmas adatait aRijndaelalgoritmussal titkosítja, amelyetAES (Advanced Encryption Standard)néven szabványosítottak.
Az alábbiakban bemutatjuk az algoritmust, és technikai szempontból is elhelyezzük a megfelelő összefüggésben.
Advanced Encryption Standard (AES) – a Rijndael szabványosított változata
Az amerikaiNational Bureau of Standards(ma NIST)1977-ben szabványosította a 1977 den DESszabványt; ezt 2005-benvisszavontákmert már nem számított kellően biztonságosnak (NIST-közlemény). Utódjaként a NIST 2001-ben a következőt választotta: Rijndael és ebből szabványosította a következőt: Advanced Encryption Standard (AES) (FIPS 197).
Fontos: Az AES a Rijndael-család egy részhalmaza. Az AES a blokkméretet 128 bitben rögzíti és 128, 192 vagy 256 bites (NIST-megjegyzés, FIPS 197 (PDF)).
Az AES engedélyezett az amerikai kormányzati információk védelmére egészen a TOP SECRET szintig (lásd: CNSSP-15 Fact Sheet valamint az NSA aktuális CNSA-2.0-FAQ).
A Rijndael/AES működése (rövid áttekintés)
A Rijndael egy helyettesítéses–permutációs hálózatos titkosítási eljárás. Alapelvei a következők: bájtszintű helyettesítések, lineáris transzformációk és XOR-kapcsolatok.
A folyamat blokkszinten (128 bites „State“)
- Kulcsbővítés (Key Schedule): A kulcsból Nr + 1 körkulcs vezethető le (pl. 11 AES‑128 esetén, 13 AES‑192 esetén, 15 AES‑256 esetén). Forrás: FIPS 197.
- Kezdő kör: AddRoundKey – a nyílt szöveg blokkja (4×4 bájtos mátrixként) XOR művelettel kapcsolódik az első körkulcshoz.
- 1. … Nr. kör:
- SubBytes: Minden bájt egy S‑Box segítségével kerül helyettesítésre (multiplikatív inverz a következőben: GF(28) plusz affinná transzformáció a következő konstanssal:
0x63). Forrás: FIPS 197. - ShiftRows: a state-mátrix sorai ciklikusan eltolódnak.
- MixColumns: az oszlopok mátrixszorzással a következő felett keverednek: GF(28).
- AddRoundKey: XOR az adott körkulccsal.
- SubBytes: Minden bájt egy S‑Box segítségével kerül helyettesítésre (multiplikatív inverz a következőben: GF(28) plusz affinná transzformáció a következő konstanssal:
Megjegyzés: Az utolsó körben elmarad a(z) MixColumns. A körök száma 10/12/14 a következő kulcsméretek esetén: 128/192/256 bit (FIPS 197).
Az AES szoftverben, firmware-ben vagy hardverben implementálható (FIPS 197). A gyakorlati használathoz Működési módok használatos, pl. CBC, CTR vagy GCM (hitelesített titkosítás). Az ajánlások itt találhatók: NIST SP 800–38A és NIST SP 800–38D (GCM/GMAC).
Fontos pontosítás: Az AES egy szimmetrikus rejtjel az adatok titkosítására. A kulcscsere általában aszimmetrikus eljárásokkal ((EC)DH/RSA) történik. Az AES azonban biztonságosan tud kulcsokat becsomagolni („Key Wrap”) – lásd: NIST SP 800–38F.
Hivatalos specifikáció
A hivatkozás itt található: https://csrc.nist.gov/files/pubs/fips/197/final/docs/fips-197.pdf
Brute-Force-támadások
Brute-Force azt jelenti, hogy egy támadó az összes lehetséges kulcsot kipróbálja. Az olyan klasszikus eljárások, mint a(z) DES mindössze 56 bites kulcsaikkal ma már gyakorlatilag feltörhetők – ezért a NIST 2005-ben hivatalosan visszavonta (NIST).
A modern eljárások, mint például az AES 128/192/256 bites kulcsokkal ezzel szemben rendkívül nagy kulcstérrel rendelkeznek. A gyakorlatban kevésbé maga az algoritmus a döntő, hanem a kulcsszármaztatás jelszavakból és a mesterjelszó.
Password Depot a brute-force támadásokat egy további késleltetési funkcióval is nehezíti: a mesterjelszó hibás megadása után a program néhány másodpercig zárolva marad.
Összegzés: Helyes implementáció, megfelelő működési módok (pl. GCM) és elegendő kulcshossz mellett az AES a jelenlegi ismeretek szerint nagyon hosszú távon is biztonságosnak tekinthető.
További információk a következőről: brute-force támadások.
További források
- FIPS 197 – Advanced Encryption Standard (AES)
- FIPS 197 – PDF (eredeti specifikáció)
- NIST: az AES a Rijndael egy részhalmaza (128 bites blokkméret)
- NIST SP 800–38A – működési módok (ECB/CBC/CFB/OFB/CTR)
- NIST SP 800–38D – GCM/GMAC (hitelesített titkosítás)
- NIST SP 800–38F – AES Key Wrap
- CNSSP–15 adatlap – az AES alkalmazása titkos/szigorúan titkos információkhoz
- NSA: CNSA 2.0 GYIK – aktuális követelmények
- NIST: a DES visszavonása (háttérinformációk)
A brute-force támadások megértése
Tudja meg, miért döntő fontosságú a jelszó hossza, és hogyan védekezhet.
További információk a brute-force támadásokról