Message Authentcaton Code (MAC) Szenaro: Integrtät und Authentztät mttels MACs. Alce und Bob bestzen gemensamen Schlüssel k. Alce berechnet für m enen MAC-Tag t als Funkton von m und k. Alce sendet das Tupel (m, t) an Bob. Bob verfzert, dass t en gültger Tag für m st. Defnton Message Authentcaton Code (MAC) En Message Authentcaton Code (MAC) besteht aus den ppt Alg. 1 Gen: k Gen(1 n ) 2 Mac: Be Engabe von k und m 0, 1} berechne t Mac k (m). 3 Vrfy: Be Engabe (m, t) und Schlüssel k berechne 1 falls t en gültger MAC für m st Vrfy k (m, t) =. 0 sonst Es glt Vrfy(m, Mac k (m)) = 1 für alle m und k. Krypto I - Vorlesung 09-03.12.2012 MAC, Fälschen enes MACs, Scherer MAC fester und varabler Länge 103 / 172
Scherhetsspel Mac-forge Spel Scherhet von MACs Mac-forge Se Π en MAC mt Scherhetsparameter n und Angrefer A. 1 k Gen(1 n ) 2 (m, t) A Mack( ) (1 n ). Se Q de Menge aller Mac k ( )-Anfragen von A an sen Orakel. 1 falls Vrfy(m, t) = 1 und m / Q 3 Mac-forge A,Π (n) =. 0 sonst Defnton Scherhet enes MACs En MAC Π heßt exstentell unfälschbar gegenüber adaptv gewählten Angrffen bzw. kurz scher falls für alle ppt Angrefer A glt Ws[Mac-forge A,Π (n) = 1] negl(n). Krypto I - Vorlesung 09-03.12.2012 MAC, Fälschen enes MACs, Scherer MAC fester und varabler Länge 104 / 172
Scherhetsspel Mac-forge Mac forge A,Π (n) k Gen(1 n ) t = Mac k (m ) Ausgabe: 1 f Vrfy pk (m,t) = 1 0 else 1 n m t (m,t) A m M = 1,...,q Berechne: (m, t) m M\m } Krypto I - Vorlesung 09-03.12.2012 MAC, Fälschen enes MACs, Scherer MAC fester und varabler Länge 105 / 172
Replay Angrffe Szenaro: Replay Angrff Alce schckt an hre Bank ene authentserte Zahlungsanwesung (m, t) über 100 Euro zugunsten Bob s Konto. Aufgrund der MAC-Scherhet kann Bob den Betrag ncht ändern. De MAC-Scherhet verhndert ncht, dass Bob (m, t) abfängt und deselbe Nachrcht (m, t) wetere Male an de Bank versenden. Abhlfe: Verwenden Nummererung oder Zetstempel. Serennummer: Berechnen MAC von m für endeutge. MAC-Scherhet: A kann ncht MAC für m berechnen. Zetstempel: Sender berechnet MAC von Systemzet m. Empfänger verfzert, dass de Systemzet aktuell st. Krypto I - Vorlesung 09-03.12.2012 MAC, Fälschen enes MACs, Scherer MAC fester und varabler Länge 106 / 172
Konstrukton enes scheren MACs fester Länge Algorthmus MAC Π MAC fester Länge Se F ene Pseudozufallsfunkton mt Blocklänge n. Wr konstrueren enen MAC für Nachrchten m 0, 1} n. 1 Gen: Wähle k R 0, 1} n. 2 Mac: Für m, k 0, 1} n berechne t := F k (m). 3 Vrfy: Für (m, t) 0, 1} n 0, 1} n und k 0, 1} n 1 falls t = F k (m) Ausgabe =. 0 sonst Krypto I - Vorlesung 09-03.12.2012 MAC, Fälschen enes MACs, Scherer MAC fester und varabler Länge 107 / 172
Scherhet von Π MAC Satz Scherhet von Π MAC Se F ene Pseudozufallsfunkton. Dann st Π MAC scher. Bewes: Se A en Angrefer für Π MAC mt Erfolgsws ǫ(n). Wr konstrueren Unterscheder U für Pseudozufallsfunktonen. Algorthmus Unterscheder U EINGABE: 1 n, O : 0, 1} n 0, 1} n mt O = F k ( ) oder O = f( ). 1 (m, t) A Mac( ), beantworte Mac(m )-Anfragen mt t := O(m ). 2 Se Q de Menge aller von A gestellten Mac( )-Anfragen. 1 falls t = O(m ), m / Q, Interpretaton: O = F k ( ) AUSGABE =. 0 sonst, Interpretaton: O = f( ) Krypto I - Vorlesung 09-03.12.2012 MAC, Fälschen enes MACs, Scherer MAC fester und varabler Länge 108 / 172
Scherhet von Π MAC O F k,f} Ausgabe Unterscheder D t = O(m ) Ausgabe: O = F k f O(m) = t O = f else 1 n m t (m,t) A q, m M Q = m 1,m q } Berechne: (m, t) m M\Q Krypto I - Vorlesung 09-03.12.2012 MAC, Fälschen enes MACs, Scherer MAC fester und varabler Länge 109 / 172
Scherhet von Π MAC Fall 1: O = F k ( ), d.h. das Orakel st ene Pseudozufallsfunkton. Dann st de Vertelung für A dentsch zum Protokoll Π MAC. Damt glt Ws[U F k( ) (n) = 1] = Ws[Mac-forge A,ΠMAC (n) = 1] = ǫ(n). Fall 2: O = f( ), d.h. das Orakel st ene echte Zufallsfunkton. Se Π das Protokoll Π MAC mt f( ) statt F k ( ). Für alle m / Q st t = f(m) unform vertelt n 0, 1} n. Damt glt Ws[U f( ) (n) = 1] = Ws[Mac-forge A,Π (n) = 1] = 1 2 n. Aus der Pseudozufällgket von F k folgt für alle ppt U negl(n) Ws[U F k ( ) (n) = 1] Ws[U f( ) (n) = 1] = ǫ 1 2 n. Damt folgt ǫ negl(n)+ 1 2 n = negl(n) für alle ppt Angrefer A. Krypto I - Vorlesung 09-03.12.2012 MAC, Fälschen enes MACs, Scherer MAC fester und varabler Länge 110 / 172
Von fester zu varabler Länge Zel: Konstruere MAC für m = m 1... m l für varable Blockzahl l. Überlegungen zu ener scheren MAC-Konstrukton: MAC des XOR der Blocks, d.h. t := Mac k ( l =1 m ). Problem: Tag t st z.b. gültg für m 1 m 2 m 3... m l. MAC jeden Blocks, d.h. t = t 1...t l für t := Mac k (m ). Problem: t = t 2 t 1 t 3...t l st gültg für m = m 2 m 1 m 3... m l. MAC mt Block-Serennummer, d.h. t := Mac k ( m ). Problem: t = t 1... t l 1 st gültg für m = m 1...m l 1. MAC mt Nachrchtenlänge, d.h. t := Mac k (l m ). Problem: Seen t = t 1...t l, t = t 1...t l gültg für m, m. Dann st t 1 t 2...t l gültg für m 1 m 2...m l, d.h. wr können Tags kombneren. MAC mt Nachrchten-Serennummer: t := Mac k (r l m ). Wr benötgen pro Nachrcht m enen endeutgen Identfkator r. Krypto I - Vorlesung 09-03.12.2012 MAC, Fälschen enes MACs, Scherer MAC fester und varabler Länge 111 / 172
Scherer MAC für Nachrchten varabler Länge Algorthmus MAC Π MAC2 varabler Länge Se Π = (Gen, Mac, Vrfy ) en MAC für Nachrchten der Länge n. 1 Gen: k Gen(1 n ) 2 Mac: Se k 0, 1} n und m = m 1...m l (0, 1} n 4) l. Wähle r R 0, 1} n 4 und berechne t Mac k (r l m ) für = 1,...,l, mt Koderungen l, 0, 1} n 4. Ausgabe des Tags t = (r, t 1...t l ). 3 Vrfy: Für (m, t) = (m 1... m l, r, t 1,...,t l ) 1 falls Vrfy k Ausgabe = (r l m, t ) = 1 für = 1,...,l. 0 sonst Anmerkung: Benötgenl < 2 n 4, sonst kann l ncht mt n 4 Bts kodert werden. Krypto I - Vorlesung 09-03.12.2012 MAC, Fälschen enes MACs, Scherer MAC fester und varabler Länge 112 / 172
Scherhet von Π MAC2 Satz Scherhet von Π MAC2 Se Π scher. Dann st Π MAC2 ebenfalls scher. Bewes: Se A en Angrefer für Π MAC2 mt Erfolgsws ǫ(n). Wr konstrueren enen Angrefer A für Π. Algorthmus Angrefer A EINGABE: 1 n, Orakel Mac k ( ). 1 Beantworte Mac k (m 1...m l )-Anfragen von A we folgt: Wähle r R 0, 1} n 4 und berechne t = Mac k (r l m ) für = 1,...,l. 2 (m, t) = (m 1... m l, r, t 1...t l ) A Mack( ) (1 n ). AUSGABE: Ncht-angefragtes r l m mt gültgem Tag t, falls en solches n (m, t) exstert. Krypto I - Vorlesung 09-03.12.2012 MAC, Fälschen enes MACs, Scherer MAC fester und varabler Länge 113 / 172
Scherhet von Π MAC2 Mac forge A,Π (n) k Gen (1 n ) t (j) Mac k( m (j) ) Q =,j m(j) 1 n m (j) t (j) A r (j) R 0,1} n/4 m (j) = r (j) l m (j) 1 n m (j) für = 1,...,l t (j) t (j) = (r (j), t (j) (j) 1,..., t l ) Suche en ncht (m,t) angefragtes A Wähle Q M mt Q = m (1),...,m (q) }, m (j) = m (j) 1,...,m(j) l und m (j) 0,1} n 4. Berechne t = (r,t 1,...,t l ) für en m / Q m := r l m Ausgabe: 1, falls Vrfy k( m,t ) = 1 und m / Q ( m,t ) mt gültgem Tag t n (m,t). Krypto I - Vorlesung 09-03.12.2012 MAC, Fälschen enes MACs, Scherer MAC fester und varabler Länge 114 / 172