Share to: share facebook share twitter share wa share telegram print page

Attaque par extension de longueur

En cryptographie et sécurité des systèmes d'information, une attaque par extension de longueur est un type d'attaque où l'attaquant utilise le hash Hash(message1) et la longueur de message1 pour calculer Hash(message1message2) avec un message2 contrôlé par l'attaquant, sans avoir à connaître le contenu de message1. Les algorithmes tels que MD5, SHA-1 et la plupart des versions de SHA-2 qui sont basés sur la construction de Merkle-Damgård sont vulnérables à ce type d'attaque[1],[2],[3]. Les versions tronquées de SHA-2, comprenant SHA-384 et SHA-512/256 n'y sont pas vulnérables[4], tout comme l'algorithme SHA-3[5].

Lorsqu'une fonction de hachage basée sur la Construction de Merkle-Damgård est utilisée en tant que code d'authentification de message avec la construction H(secretmessage)[1], et que le message et la longueur du secret sont connus, une attaque par extension de longueur permet à un attaquant d'inclure des informations supplémentaires à la fin du message et produire un hash valide sans connaître le secret. Comme HMAC n'est pas conçu selon la construction de Merkle-Damgård, les hashs produits avec HMAC ne sont pas vulnérables à l'attaque par extension de longueur[6].

Explication

Les fonctions de hachage vulnérables à cette attaque prennent un message comme valeur d'entrée et l'utilisent pour transformer leur état interne. Après le traitement du message, le condensé du message (hash) est généré en renvoyant l'état interne de la fonction. Il est possible de reconstruire l'état interne à partir du hash, qui peut alors être utilisé pour traiter d'autres données. De cette façon, quelqu'un peut agrandir le message et calculer le hash qui est une signature valide pour le nouveau message.

Exemple

Un serveur qui gère un service de livraison de gaufres proposant plusieurs saveurs à un utilisateur géolocalisé pourrait être implémenté pour gérer des requêtes d'après le format suivant :

Donnée originale: count=10&lat=37.351&user_id=1&long=-119.827&waffle=eggo
Signature originale: 6d5f807e23db210bc254a28be2d6759a0f5f5d99

Le serveur prendrait la requête en compte (livrer dix gaufres "eggo" à l'adresse donnée pour l'utilisateur "1") seulement si la signature est valide pour l'utilisateur. La signature utilisée ici est un code d'authentification de message, signé avec une clé inconnue de l'attaquant. (Cet exemple est aussi vulnérable à une attaque par rejeu, en envoyant la même requête et la même signature une nouvelle fois.)

Il est possible pour l'attaquant de modifier la requête, dans cet exemple la gaufre demandée passe de "eggo" à "liege." C'est faisable en abusant de la flexibilité du format du message car un contenu dupliqué dans la requête HTTP prendra seulement en compte la dernière valeur.

Nouvelle donnée: count=10&lat=37.351&user_id=1&long=-119.827&waffle=eggo&waffle=liege

Afin de signer ce nouveau message, l'attaquant aurait besoin de connaître la clé qui a été utilisée pour signer le message original, et générer une nouvelle signature en générant un nouveau code d'authentification de message. Mais avec une attaque par extension de longueur, il est possible d'entrer le hash (la signature originale) dans l'état de la fonction de hachage, et reprendre où la requête originale s'était terminée, tant que la longueur de la requête originale est connue. Dans cette requête, la longueur de la clé d'origine était 14 octets, ce qui aurait pu être trouvé en essayant plusieurs requêtes frauduleuses supposant différentes longueurs de clé, et constater quelle longueur constitue une requête que le serveur accepte comme étant valide.

Le message donné à la fonction de hachage est souvent remplis, car de nombreux algorithmes travaillent avec des données d'entrée dont les longueurs sont des multiples de longueurs prédéfinies. Le contenu de ce remplissage est toujours spécifié par la fonction de hachage utilisée. L'attaquant doit inclure tous ces bits de remplissage dans ses messages frauduleux avant de les aligner avec l'état interne de la fonction de hachage du message original. Ainsi, l'attaquant construit un message différent en suivant les règles de remplissage:

Nouvelle donnée: count=10&lat=37.351&user_id=1&long=-119.827&waffle=eggo\x80\x00\x00
          \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
          \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
          \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
          \x00\x00\x00\x02\x28&waffle=liege

Ce message inclut le remplissage qui a été ajouté au message original dans la fonction de hachage avant la donnée frauduleuse (ici, un 0x80 suivi par des 0x00s et la longueur du message, 0x228 = 552 = (14+55)*8, qui est la longueur de la clé plus la longueur du message original). L'attaquant sait que l'état correspondant au hash de la paire clé/message pour le message original est identique à celui du nouveau message jusqu'au dernier "&". L'attaquant connaît le hash à ce moment-là, c'est-à-dire l'état interne de la fonction de hachage. Il est alors trivial de lancer l'algorithme de hachage, ajouter les derniers caractères, et générer un nouveau hash pour signer son nouveau message sans la clé originale.

Nouvelle signature: 0e41270260895979317fff3898ab85668953aaa2

En combinant la nouvelle signature et la nouvelle donnée dans une nouvelle requête, le serveur va considérer la requête frauduleuse comme une requête valide car sa signature est la même que si elle avait été générée avec le mot de passe de l'utilisateur.

Références

  1. a et b Hoàng , « MD5 Length Extension Attack Revisited - Vũ's Inner Peace » [archive du ], (consulté le )
  2. Thai Duong et Juliano Rizzo, « Flickr's API Signature Forgery Vulnerability », (consulté le )
  3. Christopher Meyer, « Hash Length Extension Attacks », (consulté le )
  4. Michael Bostrom, « size_t Does Matter: Hash Length Extension Attacks Explained », (consulté le )
  5. Keccak Team, « Strengths of Keccak - Design and security » (consulté le ) : « Unlike SHA-1 and SHA-2, Keccak does not have the length-extension weakness, hence does not need the HMAC nested construction. Instead, MAC computation can be performed by simply prepending the message with the key. »
  6. Nate Lawson, « Stop using unsafe keyed hashes, use HMAC », (consulté le )

Read other articles:

William DieterleDieterle pada 1946LahirWilhelm Dieterle(1893-07-15)15 Juli 1893Ludwigshafen, Kekaisaran JermanMeninggal9 Desember 1972(1972-12-09) (umur 79)Ottobrunn, Jerman BaratPekerjaanSutradara, pemeran, pengarah drama, pemeran dramaTahun aktif1911–1966Suami/istriCharlotte Hagenbruch (1896–1968) William Dieterle (15 Juli 1893 – 9 Desember 1972) adalah seorang sutradara dan pemeran asal Jerman, yang berkarya di Hollywood sepanjang sebagian besar masa kariernya...

 

Reserve force of the South Korean military This article includes a list of general references, but it lacks sufficient corresponding inline citations. Please help to improve this article by introducing more precise citations. (April 2014) (Learn how and when to remove this template message) You can help expand this article with text translated from the corresponding article in Korean. (January 2023) Click [show] for important translation instructions. Machine translation, like DeepL or G...

 

Lee Hae-inHae-in di Bandara Incheon pada September 2016Informasi latar belakangLahir4 Juli 1994 (umur 29)Masan, Provinsi Gyeongsang Selatan, Korea SelatanGenreK-popPekerjaanPenyanyiAktrisTahun aktif2016–sekarangLabelElephant Media LOEN EntertainmentArtis terkaitI.B.IProduce 101Idol School Nama KoreaHangul이해인 Alih AksaraI Hae-inMcCune–ReischauerRi Haein Lee Hae-in (lahir 4 Juli 1994) adalah seorang penyanyi dan aktris Korea Selatan. Ia melakukan debut dalam grup vokal perempuan ...

Pour un article plus général, voir Métro de Rotterdam. Plan du réseau métropolitain rotterdamois depuis 2019. La station Hoek van Holland-Strand ne sera ouverte qu'en 2022. Plan du réseau métropolitain rotterdamois de 2011 à 2019 La liste des stations du métro de Rotterdam, est une liste alphabétique et exhaustive des stations réseau du métro de Rotterdam aux Pays-Bas. Ce réseau compte cinq lignes de métro : les lignes A, B, C, D et E[1]. Légende A station de métro sur la...

 

Overview of religion in Cameroon Religion in Cameroon (2020)[1]   Christianity (59.7%)  Islam (20.2%)  Traditional faiths (19.0%)  Others / None (1.1%) Our Lady of Victories Cathedral in the capital Yaoundé Part of a series on theCulture of Cameroon History People Languages Mythology Cuisine Religion Art Literature Music Media Cinema Sport Monuments World Heritage Sites Symbols Flag Coat of arms National anthem  Cameroon portalvte Chri...

 

Salix inamoena Біологічна класифікація Царство: Рослини (Plantae) Клада: Судинні рослини (Tracheophyta) Клада: Покритонасінні (Angiosperms) Клада: Евдикоти (Eudicots) Клада: Розиди (Rosids) Порядок: Мальпігієцвіті (Malpighiales) Родина: Вербові (Salicaceae) Рід: Верба (Salix) Вид: S. inamoena Біноміальна назва Salix inamoenaHand.-M...

American mobster John A. GottiGotti (middle), Thomas Cacciopoli (left), and John Cavallo in an FBI surveillance photoBornJohn Angelo Gotti (1964-02-14) February 14, 1964 (age 59)Queens, New York, U.S.Other namesJunior Gotti, Teflon Jr., Deadlock Don, DumbfellaOccupation(s)Crime boss, authorSpouse Kimberly Albanese ​(m. 1990)​Children6Parent(s)John GottiVictoria DiGiorgioRelativesVictoria Gotti (sister)Peter Gotti (uncle)Richard V. Gotti (uncle)Gene Gotti...

 

This article includes a list of references, related reading, or external links, but its sources remain unclear because it lacks inline citations. Please help to improve this article by introducing more precise citations. (November 2017) (Learn how and when to remove this template message)2010 compilation album by Various ArtistsKompakt: Total 11Compilation album by Various ArtistsReleased23 August 2010GenreMicrohouse, minimal technoLength2:33:00LabelKompaktKompakt Total series chronol...

 

Variety of grape Flame Seedless grapes The Flame Seedless (Vitis vinifera)[1] is a vigorous,[clarification needed] heavy-bearing table grape cultivar that keeps well in storage. It is a hybrid of Thompson Seedless, Cardinal, and several other Vitis vinifera cultivars. It produces large clusters of medium-large red grapes with a sweet flavor. Flame Seedless requires a long growing season. As such, the plants fare poorly in cool, damp zones. However, its good qualities, especial...

В Википедии есть статьи о других людях с такой фамилией, см. Круглов; Круглов, Николай.Николай Иванович Круглов Дата рождения 6 декабря 1916(1916-12-06) Место рождения село Ивашево, Богородский уезд, Российская империя Дата смерти 5 февраля 2001(2001-02-05) (84 года) Место смерти горо...

 

Untuk film dengan nama yang mirip, lihat: Kereta Hantu Manggarai, film yang juga diproduksi tahun 2008. Kereta Setan ManggaraiSutradara Nanang Istiabudi Produser Sagar Mahtani Ditulis oleh Kumar Pareek Dhiyute PemeranVera Lasut Ocke Mulyawan Ferry Agustian Nelly Yustikarini Renaldo ThompsonDistributorMM CreationsTanggal rilis18 Maret 2008Durasi100 MenitNegara Indonesia Bahasa Indonesia Situs webhttp://keretasetanmanggarai.com/ Kereta Setan Manggarai merupakan sebuah film horor Indonesia yang ...

 

Długość 125 km Mapa Droga ekspresowa SH1 na mapie Albanii Przebieg trasy Legenda w użyciu   projekt, budowa, konieczność modernizacji węzeł drogowy typu WA węzeł drogowy typu WB skrzyżowanie rondo przejście granicznepunkt poboru opłat (PPO) stacja poboru opłat (SPO) most / wiadukt / estakada prom rzeka – brak przeprawy przejazd kolejowo-drogowy tunel parking z bufetem stacja paliw restauracja hotel / motel lub inne miejsce noclegowe drogowy odcinek lotniskowy roboty budow...

Рік Тигра УкраїнаНомінал 5 гривеньМаса 15,55 / 16,81[1] гДіаметр 33,0 ммГурт рифленийМетал срібло 925 пробиРоки карбування 2010Аверс Реверс У Вікіпедії є статті про інші значення цього терміна: Рік тигра. «Рік Ти́гра» — пам'ятна срібна монета номіналом 5 гривень, випу�...

 

Japanese professional wrestler Not to be confused with Asuka (wrestler, born 1998) or Lioness Asuka. AsukaAsuka in 2018Birth nameKanako UraiBorn (1981-09-26) September 26, 1981 (age 42)[1][2]Osaka, Japan[1][2]Alma materOsaka University of Arts Junior CollegeProfessional wrestling careerRing name(s)Asuka[3]Kana[2]Kana-hime[4]Princess Kana[5]Ramen Woman[6]Skull Reaper Kana[7]Tomoe Gozen[8]Billed height1...

 

Romanian physician and politician Cristian Silviu BușoiMEPMember of the European ParliamentIncumbentAssumed office 2 July 2019ConstituencyRomania Personal detailsBorn (1978-03-01) 1 March 1978 (age 45)Drobeta-Turnu Severin, RomaniaPolitical partyNational Liberal Party (PNL) Cristian Silviu Bușoi (born March 1, 1978) is a Romanian physician and politician. A member of the National Liberal Party (PNL), he was a member of the Romanian Chamber of Deputies for Timiș County from 2004 to...

Yugioh Duel monsters character Fictional character Seto KaibaYu-Gi-Oh! characterSeto Kaiba as illustrated by Kazuki Takahashi alongside his Blue-Eyes White DragonFirst appearanceYu-Gi-Oh! chapter 9Created byKazuki TakahashiVoiced byJapanese:Hikaru Midorikawa (first series)Kenjirō Tsuda (second series)Kiyomi Yazaki (second series, younger)English:Eric StuartIn-universe informationRelativesYounger brother: Mokuba Kaiba Adoptive father: Gozaburo Kaiba Adoptive brother: Noah KaibaNationalityJapa...

 

British bobsledder Mica McNeillMica McNeill in Altenberg in 2019Personal informationCitizenshipBritishBorn (1993-09-25) 25 September 1993 (age 30)Consett, County Durham, EnglandYears active2010–SportSportBobsleighAchievements and titlesOlympic finals2018, 2022 Medal record Representing  Great Britain Winter Youth Olympics 2012 Innsbruck 2-woman Junior Bobsleigh World Championships 2017 Winterberg 2-woman Bobsleigh World Cup 2022 Sigulda 2-woman Mica McNeill (born 25 September...

 

Political party in Israel Not to be confused with Green Party (Israel). The Greens הירוקים‎Leader1997-2011: Pe'er VisnerFounded1997Election symbolרק‎Websitewww.green-party.co.ilPolitics of IsraelPolitical partiesElections The Greens (Hebrew: הַיְּרוּקִים, romanized: HaYerukim) is a minor political party in Israel that emphasizes environment protection and quality of life. It was founded and formerly headed by Pe'er Visner. Although the party was never rep...

Election 1861 Vermont gubernatorial election ← 1860 September 3, 1861 (1861-09-03) 1862 →   Nominee Frederick Holbrook Andrew Tracy Benjamin H. Smalley Party Republican Democratic Peace Democrat Popular vote 33,152 5,722 3,190 Percentage 77.5% 13.4% 7.5% Governor before election Erastus Fairbanks Republican Elected Governor Frederick Holbrook Republican Elections in Vermont Federal government Presidential elections 1792 1796 1800 1804 1808 1812 1...

 

Questa voce o sezione contiene informazioni riguardanti un mezzo di trasporto in produzione, atteso o annunciato. Il contenuto potrebbe cambiare radicalmente non appena maggiori informazioni saranno disponibili. Per favore, non aggiungere speculazioni alla voce. CRAIC CR929Prototipo di CRAIC C929 al Paris Air Show del 2017DescrizioneTipoAereo di linea Equipaggio2 piloti +gli assistenti di volo Progettista Comac UAC Costruttore CRAIC Data primo volo CR929-500 : TBD CR929-600 : TBD CR...

 
Kembali kehalaman sebelumnya