180 likes | 409 Views
MAC algoritmus a jeho modifikácie. Lukáš Krnáč. MAC ( Message authentication code ). Autentizačný kód správy Využíva tajný kľúč Slúži na: -ochranu integrity správy -nepopierateľnosti pôvodu správy Vyššie zabezpečenie oproti hašovacím funkciám Nedá sa použiť ako digitálny podpis.
E N D
MAC algoritmus a jeho modifikácie Lukáš Krnáč
MAC (Messageauthenticationcode) Autentizačný kód správy Využíva tajný kľúč Slúži na: -ochranu integrity správy -nepopierateľnosti pôvodu správy Vyššie zabezpečenie oproti hašovacím funkciám Nedá sa použiť ako digitálny podpis
Princíp MAC: -ak by útočník zmenil správu, musel by zmeniť aj MAC hodnotu, čo však bez znalosti tajného kľúča nie je možné
Princíp MAC: MAC= Ck (M) C – MAC funkcia K – tajný kľúč (rovnaký pre obe strany) M – vstupná správa MAC – autentizačný kód Otázka: Prečo sa MAC algoritmus nedá použiť ako digitálny podpis?
Typy MAC algoritmov: • Založené na princípe hašovacích funkcií (HMAC): HMAC-MD5 • HMAC-RIPEND160 • HMAC-SH1 • HMAC-SH256 • HMAC-SH384 • Využívajúce blokové režimy šifrovania: • CBC-MAC • CMAC • OMAC • OMAC1
HMAC (keyed-hashmessageauthenticationcode) • Vychádza zo základných hašovacích funkcií (ako napríklad SHA-1, MD5) v kombinácii s tajným kľúčom • Používa sa v protokoloch IPsec SSL/TLS Definícia:
NMAC (Nested MAC) • Jednoduchšia verzia HMAC • Definícia: K1=vnútorný kľúč K2=vonkajší kľúč Používa tiež známe hašovacie funkcie (NMAC-SH1,NMAC-MD5,...) V praxi sa až tak nepoužíva
CBC-MAC (CipherBlockChaining) • Základ tvorí bloková šifra • Text sa na začiatku rozdelí do X blokov s rovnakou dĺžkou • Každý blok sa sčíta (XOR) s predchádzajúcim výsledkom a znova sa zašifruje • Vysledný kód sa pripojí k správe
Princíp CBC MAC: k – tajný kľúč mx – jednotlivé bloky správy E – šifrovacia funkcia
CMAC (Cipher-based MAC) • Odstraňuje nedostatky CBC-MAC • Je bezpečný aj pre premenlivé dĺžky reťazcov • Jadrom je XCBC (modifikácia CBC) • Sú potrebné až 3 kľúče – túto nevýhodu odstraňuje OMAC (One-key CBCMAC)
Postup CMAC: Vytvorenie l bitov CMAC kódu zo správy m pomocou b-bitovej blokovej šifry E a kľúča k Vytvorenie kľúčov k1 a k2: • Vypočítajte dočasnú hodnotu k 0 = E k (0). • Ak MSB ( k 0 ) = 0, potom sa k 1 = k 0<<1, inak k 1 = ( k 0<<1) ⊕ C , kde C je konštanta • Ak MSB ( k 1 ) = 0, potom k 2 = k 1 «1, inak k 2 = ( k 1 «1) ⊕ C .
Postup CMAC: • Rozdeľte správy do b -bitových blokov m = m 1 ∥ ∥ ... m n -1 ∥ m n ", kde m 1 , ..., m n -1 sú kompletné bloky.(Prázdna správa je považovaná za jeden neúplný blok). • Ak m n je kompletný blok potom m n = k 1 ⊕ m n, inakm n = k 2 ⊕ ( m n '∥ 10 ... 0 2 ). • Nech c 0 = 00 ... 0 2 . • Pre i = 1, ..., n , vypočítať c i = E k ( c i -1 ⊕ m i ). • Výstup t = MSB ℓ ( c n ).
Použitie: • MAC algoritmy sa využívajú všade kde je potrebné okrem kontroly integrity dát aj overovanie aj autenticity zdroja (napr.: v bankovníctve) • Nevýhoda: komunikovať môžu iba vopred dohodnutý užívatelia ktorý majú tajný kľúč
Zdroje: • http://en.wikipedia.org/wiki/CMAC • http://isis.poly.edu/courses/cs6903-s09/Lectures/lecture9.pdf • http://cs.wikipedia.org/wiki/HMAC • http://en.wikipedia.org/wiki/Message_authentication_code • http://www.princeton.edu/~achaney/tmve/wiki100k/docs/HMAC.html • http://www.comtel.cz/cz/?s=vyuka&l=mat&page=3