Szimmetrikus titkosítás: hogyan működik az AES?
Szimmetrikus titkosításnál ugyanaz a titkos kulcs védi és fejti vissza az adatot. Értsd meg az AES, a nonce/IV és az authenticated encryption szerepét.
Röviden
Szimmetrikus titkosításnál a küldő és a fogadó ugyanazt a titkos kulcsot használja. Nagy mennyiségű adat védelmére gyors és hatékony, ezért modern protokollokban – például TLS-ben – a tényleges adatforgalom tipikusan szimmetrikus kulcsokkal történik.
Egy titkos kulcs, két irány
A szimmetrikus modell egyszerű: a plaintext és a titkos kulcs bemegy az algoritmusba, az eredmény ciphertext. A visszafejtéshez ugyanarra a titkos kulcsra van szükség. Ez gyors, de felveti a kulcs biztonságos megosztásának problémáját.
Plaintext → kulcs → ciphertext → kulcs → plaintext
Plaintext
→
Toy kulcs: 37
Ciphertext – oktatási XOR-demó
51 4c 51 4e 4a 56 05 e6 99 5f 40 4b 40 51
Az XOR itt csak a kulcs hatását szemlélteti. Valódi adathoz szabványos authenticated encryption kell, például AES-GCM.
Mi az az AES?
Az AES egy széles körben használt blokkos titkosító szabvány 128 bites blokkmérettel és 128, 192 vagy 256 bites kulccsal. Önmagában az AES blokkművelet nem mondja meg, hogyan titkosítsunk tetszőleges hosszúságú adatfolyamot; ehhez működési mód és megfelelő paraméterezés kell.
Modern alkalmazásnál gyakori választás az AES-GCM, amely nemcsak titkosít, hanem hitelesítési taget is ad, így az illetéktelen módosítás észlelhető.
Mi az a nonce vagy IV?
A nonce/IV célja, hogy ugyanazzal a kulccsal ismételt titkosítások se ugyanúgy nézzenek ki. Bizonyos módoknál – például GCM – ugyanazzal a kulccsal a nonce újrahasználata súlyos biztonsági hibához vezethet. Ezért a nonce kezelése a protokoll része, nem dekoratív extra.
Gyakori hibák
- ECB mód használata strukturált adatra.
- Nonce/IV újrahasználata olyan módban, ahol tilos.
- Titkosítás integritásvédelem nélkül.
- Kulcs beégetése kliensoldali JavaScriptbe vagy publikus repositoryba.
Ne „AES-t” válassz, hanem komplett, hitelesített konstrukciót és biztonságos kulcskezelést. Az algoritmus neve önmagában nem írja le a rendszer biztonságát.
Gyakori kérdések
Az AES-256 mindig jobb, mint az AES-128?
Nem automatikusan. Mindkettő erős modern választás lehet; a rendszer biztonságát gyakran inkább a kulcskezelés, a mód, a nonce-kezelés és az implementáció dönti el.
Források és szabványok
Biztonsági témánál az elsődleges szabvány és a karbantartott szakmai útmutató fontosabb, mint egy véletlen implementációs példa. Az alábbi forrásokból érdemes továbbmenni.
Kapcsolódó ByBence