Praktická kryptológia (28. časť) HMAC

0
Mechanizmus autentifikácie obsahu správ pomocou symetrických kľúčov a kryptografických hašovacích funkcií (Keyed-Hash Message Authentication Code) je detailne opísaný v správe RFC 2104 z februára 1997 a takisto v dokumente FIPS PUB 198-1, ktorý bol publikovaný o pár rokov neskôr, v júli 2008. HMAC je rozšírenie, resp. špecifický typ konštrukcie výpočtu autentifikačného kódu (kontrolného súčtu) správ, pri ktorom sa využíva niektorá zo schválených kryptografických hašovacích funkcií (v súčasnosti napr. SHA-256, SHA-3...) v kombinácii so zdieľaným tajným kľúčom. HMAC HMAC sa používa na autentifikáciu obsahu správ a takisto na zabezpečenie ich integrity napr. v rámci TLS/SSL (https web browsing), ale aj na overovanie používateľských prístupov, názvu poštových schránok, generovanie CAPTCHA, zabezpečený prenos súborov a mnohé ďalšie účely. HMAC sa vypočítava z obsahu správ, resp. vstupného textu pomocou niektorej zo známych hašovacích funkcií a tajného kľúča. Vypočítaný HMAC sa zvyčajne posiela spolu so správou/súborom. Príjemca vykoná vlastný výpočet HMAC pomocou rovnakého (symetrického) kľúča a porovná ho s prijatým HMAC. V prípade kľúča hovoríme o zdieľanom tajnom (shared secret) kľúči, ktorého ochrana je kriticky dôležitá. Pretože HMAC využíva jednosmerné (irreversible) hašovacie funkcie, sám osebe je to takisto jednosmerný algoritmus. To znamená, že zo známeho HMAC nemožno vypočítať pôvodnú správu. HMAC má oproti klasickému MAC rozdielnu konštrukciu. Zatiaľ čo schéma MAC je definovaná ako MAC(správa) = f(kľúč + správa), základná schéma HMAC je definovaná ako HMAC(správa) = f(kľúč1 + f(kľúč2 + správa)). V prípade MAC teoreticky možno nájsť dve rozdielne správy, ktorých MAC sú totožné (vzniká tzv. kolízia). V prípade HMAC táto teoretická možnosť odpadá, resp. doposiaľ nebola matematicky dokázaná. HMAC sa zvyčajne označuje prívlastkom názvu použitej hašovacej funkcie, ako napr. HMAC-SHA256, HMAC-SHA3…). Veľkosť použitého kľúča nie je obmedzená, ale príliš krátke kľú ...

Marek Sopko

Všetky autorove články
kryptologia digitalnagramotnost hmac seriál