www.wikidata.de-de.nina.az
Ein HMAC manchmal erweitert als keyed hash message authentication code Schlussel Hash Nachrichtenauthentifizierungscode oder hash based message authentication code Hash basierter Nachrichtenauthentifizierungscode ist ein Message Authentication Code MAC dessen Konstruktion auf einer kryptografischen Hash Funktion wie beispielsweise dem Secure Hash Algorithm SHA und einem geheimen Schlussel basiert 1 HMACs werden in RFC 2104 2 sowie im NIST Standard FIPS 198 spezifiziert und in RFC 4868 3 fur den Einsatz in IPsec erweitert Zudem konnen sie beispielsweise in den Protokollen TLS 4 und SSH 5 eingesetzt werden Inhaltsverzeichnis 1 Konstruktion 2 Entwurfsprinzipien 3 Sicherheit 4 Literatur 5 Weblinks 6 EinzelnachweiseKonstruktion BearbeitenDer HMAC wird aus der Nachricht M displaystyle M nbsp und einem geheimen Schlussel K displaystyle K nbsp mittels der Hash Funktion H displaystyle mathrm H nbsp nach RFC 2104 wie folgt berechnet 2 K displaystyle K nbsp wird durch Anhangen von Null Bytes padding auf die Blocklange B displaystyle B nbsp der Hash Funktion aufgefullt 2 6 das sind 64 Byte 512 Bit fur viele Hash Funktionen z B fur SHA 256 Fur SHA3 256 oder SHAKE256 ist B 136 displaystyle B 136 nbsp 1088 Bit Falls die Lange von K displaystyle K nbsp grosser als die Blocklange der Hash Funktion ist wird K displaystyle K nbsp durch H K displaystyle mathrm H K nbsp ersetzt 2 H M A C K M H K o p a d H K i p a d M displaystyle mathrm HMAC K M mathrm H Big K oplus opad mathrm H big K oplus ipad M big Big nbsp Die Werte o p a d displaystyle opad nbsp outer pad ein String und i p a d displaystyle ipad nbsp inner pad ein weiterer String sind dabei Konstanten 6 displaystyle oplus nbsp steht fur die bitweise XOR Operation und displaystyle nbsp fur die Verknupfung durch einfaches Zusammensetzen Konkatenation Nach RFC 2104 sind beide Konstanten outer pad und inner pad wie folgt definiert 2 o p a d 0 x 5 C 0 x 5 C B mal und i p a d 0 x 36 0 x 36 B mal displaystyle opad underbrace mathrm 0x5C dotso mathrm 0x5C text B mal text und ipad underbrace mathrm 0x36 dotso mathrm 0x36 text B mal nbsp Entwurfsprinzipien Bearbeiten nbsp Merkle Damgard Konstruktion Aus den Nachrichtenblocken wird durch wiederholte Anwendung der Kompressionsfunktion der Hashwert erzeugt Die auf den ersten Blick umstandlich anmutende Konstruktion resultiert aus der Tatsache dass die meisten alteren kryptographischen Hashfunktionen auf der Merkle Damgard Konstruktion beruhen also auf der Iteration einer Kompressionsfunktion So gibt es beispielsweise einen einfachen Angriff auf eine Konstruktion eines MACs als H K M displaystyle H K M nbsp Aufgrund der Struktur der Hashfunktion kann leicht zu einem beliebigen X displaystyle X nbsp und dem Hashwert H M displaystyle H M nbsp einer unbekannten Nachricht M der Hashwert H M X displaystyle H M X nbsp berechnet werden wenn die Finalisierungsfunktion fehlt oder leicht umkehrbar ist Damit kann aber auch H K M displaystyle H K M nbsp zu H K M X displaystyle H K M X nbsp erweitert werden length extension Angriff 7 Wenn die zugrundeliegende Hashfunktion als kollisionsresistent angenommen wird sind einfache MAC Konstruktionen moglich beispielsweise die Berechnung als H M K displaystyle H M K nbsp Die Konstruktion ist allerdings unsicher sobald eine Kollision gefunden ist denn wenn H M 1 H M 2 displaystyle H M 1 H M 2 nbsp dann ist aufgrund der Struktur unabhangig vom Schlussel K auch H M 1 K H M 2 K displaystyle H M 1 K H M 2 K nbsp 7 Die Idee der HMAC Konstruktion ist bei der Sicherheit nicht auf die Kollisionsresistenz der Hashfunktion sondern auf schwachere Annahmen zu vertrauen Aus diesem Grund ist ein auf MD5 basierender HMAC immer noch sicher obwohl fur MD5 bereits Kollisionen gefunden wurden Sicherheit BearbeitenFalls die zugrundeliegende Kompressionsfunktion eine pseudozufallige Funktion ist so ist auch die HMAC Konstruktion eine pseudozufallige Funktion 8 Da jede pseudozufallige Funktion auch ein guter MAC ist 9 ist die HMAC Konstruktion ebenfalls ein guter MAC Der einfachste Angriff auf einen HMAC ist es den zugrunde liegenden geheimen Schlussel K displaystyle K nbsp bspw mittels Brute Force zu erraten RFC 6151 wurde 2011 veroffentlicht um die Sicherheit von MD5 und HMAC MD5 zu bewerten Fur letzteres fasst es zusammen dass obwohl MD5 als kompromittiert anzusehen ist die aktuell bekannten Angriffe gegen HMAC MD5 keine praktische Sicherheitslucke darstellen wenn dieses als Message Authentication Code benutzt wird Dennoch fugt es hinzu dass fur neue Protokolldesigns HMAC MD5 nicht mehr benutzt werden sollte 10 Literatur BearbeitenWilliam Stallings Cryptography and Network Security Principles and Practice 5 Auflage Pearson Education publishing as Prentice Hall 2011 ISBN 978 0 13 705632 3 englisch International Edition Weblinks BearbeitenRFC 2104 HMAC Keyed Hashing for Message Authentication englisch RFC 2202 Test Cases for HMAC MD5 and HMAC SHA 1 englisch FIPS PUB 198 1 The Keyed Hash Message Authentication Code PDF 126 kB nist govEinzelnachweise Bearbeiten Stallings Cryptography and Network Security Principles and Practice S 399 400 a b c d e H Krawczyk M Bellare R Canetti RFC 2104 HMAC Keyed Hashing for Message Authentication englisch RFC 4868 Using HMAC SHA 256 HMAC SHA 384 and HMAC SHA 512 with IPsec Mai 2007 englisch T Dierks E Rescorla RFC 5246 The Transport Layer Security TLS Protocol Version 1 2 englisch The TLS record layer uses a keyed Message Authentication Code MAC to protect message integrity The cipher suites defined in this document use a construction known as HMAC described in HMAC which is based on a hash function Other cipher suites MAY define their own MAC constructions if needed T Ylonen C Lonvick RFC 4253 The Secure Shell SSH Transport Layer Protocol englisch The hmac algorithms are described in RFC2104 a b Im Sample Code im Appendix des RFC 2104 wird fur das inner pad 0x36 und fur das outer pad 0x5c verwandt a b Mihir Bellare Ran Canetti Hugo Krawczyk Keying Hash Functions for Message Authentication In Advances in Cryptology Crypto 96 Proceedings Lecture Notes in Computer Science Band 1109 Springer 1996 S 1 15 doi 10 1007 3 540 68697 5 1 englisch cseweb ucsd edu PDF Mihir Bellare New Proofs for NMAC and HMAC Security without Collision Resistance In Advances in Cryptology Crypto 2006 Proceedings Lecture Notes in Computer Science Band 4117 Springer 2006 S 602 619 doi 10 1007 11818175 36 englisch cseweb ucsd edu Mihir Bellare Oded Goldreich Anton Mityagin The Power of Verification Queries in Message Authentication and Authenticated Encryption 2004 englisch iacr org Sean Turner Lily Chen RFC 6151 Updated Security Considerations for the MD5 Message Digest and the HMAC MD5 Algorithms Marz 2011 englisch Abgerufen von https de wikipedia org w index php title HMAC amp oldid 237463361