logo Homepage
+  NewbieContest
|-+  News» News Informatique/Hardware/Tuning» RIP Sha-1
Username:
Password:
Pages: [1]
  Imprimer  
Auteur Fil de discussion: RIP Sha-1  (Lu 7092 fois)
Erylanor
Newseur
Profil challenge

Classement : 350/54276

Néophyte
**
Hors ligne Hors ligne
Messages: 10


Voir le profil
« le: 24 Avril 2017 à 10:23:01 »

Salut les cocos,

(rappel : une fonction de hachage est une fonction qui transforme un message de taille quelconque en un message de taille fixe. Le principe est qu'il est facile de fabriquer le hash d'une donnée, mais il est très difficile de reconstruire le message à partir du hash)

Le Sha-1 a fait son temps car tout comme le MD5, cette fonction de hachage n'est plus sécurisée. Le Sha-1 est une fonction de hachage cryptographique de la NSA sur 160 bits, et depuis déjà quelques années, on remettait en cause la fiabilité de cette fonction. Le 23 février 2017, google à annoncé avoir trouvé une collision (c'est-à dire deux données ont le même résultat par la fonction de hachage).
Les conséquences sont que le Sha-1 va être progressivement remplacé par d'autres fonctions plus sécurisées, comme le Sha-2 ou Sha-3 (très originaux comme noms). En outre, chrome n'accepte plus les certificats Sha-1 et firefox a prévu de les arrêter fin 2017.

Pourquoi c'est pas bien une collision ?
Parce que l'on peut faire des attaques en partant d'une collision. Un exemple sera plus parlant qu'un long discours :
M crée deux documents d1 et d2 ayant le même hash (c'est une collision). M envoie le document d1 à A, qui accepte et signe le hash et envoie la signature à M. M attache la signature de d1 à d2, et envoie le d2 à B. B croit alors que A a signé le document, alors que ce n'est pas vrai.

Il y a un exemple de deux pdf ayant le même Sha-1 mais étant différents : https://shattered.it

Tchüs,
Ryl
Journalisée
harvey

Profil challenge

Classement : 12/54276

Membre Senior
****
Hors ligne Hors ligne
Messages: 316


Voir le profil WWW
« #1 le: 24 Avril 2017 à 12:01:13 »

J'aurais bien dit "le petit sha est mort", mais la vanne a été faite 12 000 fois depuis 2005...
Journalisée

L'entropie vient en mangeant.
lovenunu
Beta testeur

Profil challenge

Classement : 21/54276

Membre Complet
*
Hors ligne Hors ligne
Messages: 171


Voir le profil
« #2 le: 25 Avril 2017 à 07:11:57 »

google à annoncé avoir trouvé une collision

Je me trompe surement (je suis pas très fort en hash), mais si on essaye d'obtenir tous les sha-1 (donc des nombres de 160 bits) de toutes les valeurs possibles de 168 bits, il y aura obligatoirement des valeurs avec les mêmes signature non ?

La "force" d'un algo de hash n'est-il pas la difficulté de calculer une valeur possible à partir d'un hash ?
« Dernière édition: 25 Avril 2017 à 08:32:53 par lovenunu » Journalisée

Tant pis je remplacerai ma nuit par une sieste.
pixis
Administrateur

Profil challenge

Classement : 16/54276

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 664


Voir le profil WWW
« #3 le: 25 Avril 2017 à 09:06:13 »

Du coup il suffit de calculer le condensat de toutes les valeurs possibles de 160 bits + une valeur.

Je rappelle seulement que ça fait la bagatelle de 10^48 condensats à calculer, soit mille milliards de milliards de milliards de milliards de milliards de valeurs. Alors oui, il "suffit" de tous les calculer. Mais c'est là que le bât blesse, ça prend du temps... 

Ensuite, un bon algo de hachage est un algo qui a le moins de collisions possible (tout en cherchant à avoir une emprunte la plus petite possible), qui doit être le plus homogène possible, et qui produit une emprunte complètement différente lorsqu'un seul bit est changé en entrée. Le but étant de minimiser le risque de collision, ainsi que rendre la recherche de collisions difficile.

Donc la "force" d'un algo de hachage, c'est de rendre la recherche de collision difficile, de ce que j'ai compris (et lu)
Journalisée

Newbie Contest Staff :
Pixis
Statut :
Administrateur
Blog :
hackndo
harvey

Profil challenge

Classement : 12/54276

Membre Senior
****
Hors ligne Hors ligne
Messages: 316


Voir le profil WWW
« #4 le: 25 Avril 2017 à 09:36:50 »

google à annoncé avoir trouvé une collision

Je me trompe surement (je suis pas très fort en hash), mais si on essaye d'obtenir tous les sha-1 (donc des nombres de 160 bits) de toutes les valeurs possibles de 168 bits, il y aura obligatoirement des valeurs avec les mêmes signature non ?

La "force" d'un algo de hash n'est-il pas l'impossibilité de calculer une valeur possible à partir d'un hash ?

En fait, il y a une très bonne probabilité d'obtenir une collision avec 2^80 hashes environ (et en général avec 2^(N/2) pour un espace de 2^N). C'est un compromis temps-mémoire, l'inconvénient par rapport au brute-force est qu'il faut aussi stocker environ 2^80 hashes en mémoire. Voir "attaque des anniversaires".
Ce qui est intéressant, c'est la comparaison entre l'efficacité de l'attaque et celle des anniversaires, qui fonctionne avec n'importe quelle fonction. SHAttered utilise 2^63 calculs de sha1, soit "seulement" 2^17 fois moins que l'attaque théorique. Si la puissance globale des ordinateurs continue d'augmenter, il se peut en effet que l'attaque des anniversaires devienne praticable pour sha1 (raison pour laquelle les fonctions plus récentes ont un espace plus grand).


La nécessité d'avoir une fonction de hachage résistante aux collisions dépend du cadre dans lequel on l'utilise. Quand il s'agit d'authentifier des données, c'est très important. Cf. https://fr.wikipedia.org/wiki/R%C3%A9sistance_aux_collisions , notamment:
Citation
dans certains systèmes de signature numérique, une autorité atteste de l'authenticité d'un document en publiant une signature à clé publique sur une valeur de hachage du document ; s'il est possible de produire deux documents avec la même valeur de hachage, un attaquant pourrait obtenir d'une autorité une attestation d'authenticité sur un document, et ensuite prétendre que l'autorité a attesté de l'authenticité d'un autre document
Certaines attaques informatiques requièrent une collision. On fait authentifier un "bon" document, puis on utilise un document malicieux avec la même signature en le faisant passer pour le premier (c'est ce qu'explique Erylanor).
« Dernière édition: 25 Avril 2017 à 09:49:14 par harvey » Journalisée

L'entropie vient en mangeant.
Erylanor
Newseur
Profil challenge

Classement : 350/54276

Néophyte
**
Hors ligne Hors ligne
Messages: 10


Voir le profil
« #5 le: 25 Avril 2017 à 12:57:37 »

En fait, il y a une très bonne probabilité d'obtenir une collision avec 2^80 hashes environ (et en général avec 2^(N/2) pour un espace de 2^N). C'est un compromis temps-mémoire, l'inconvénient par rapport au brute-force est qu'il faut aussi stocker environ 2^80 hashes en mémoire. Voir "attaque des anniversaires".
Pour continuer sur cette lancée, je dirais qu'on parle d'attaque sur une fonction de hashage (hachage ?) dès que l'on a moyen de trouver une collision en moins que 2^(n/2) (l'attaque la plus naïve). Par exemple, sur le Sha-1, Wang Xiaoyun (après avoir trouvé une collision sur le Sha-0) avait trouvé en 2005 une attaque en 2^68. C'est beaucoup mieux que le 2^80 (=2^(n/2)), mais c'est compliqué à mettre en pratique (surtout avec la puissance de calcul de 2005), mais ça explique que le Sha-1 était déjà à l'agonie même si on avait pas trouvé de collision.
Mais en effet, avec SHAttered en 2^63, on a fini par trouver une collision.

De manière générale, l'utopie d'une fonction de hachage est qu'il n'y ait pas d'attaque plus efficace que celle des anniversaires (2^(n/2)).
Journalisée
lovenunu
Beta testeur

Profil challenge

Classement : 21/54276

Membre Complet
*
Hors ligne Hors ligne
Messages: 171


Voir le profil
« #6 le: 26 Avril 2017 à 07:46:48 »

En fait, il y a une très bonne probabilité d'obtenir une collision avec 2^80 hashes environ (et en général avec 2^(N/2) pour un espace de 2^N). C'est un compromis temps-mémoire, l'inconvénient par rapport au brute-force est qu'il faut aussi stocker environ 2^80 hashes en mémoire. Voir "attaque des anniversaires".
Ce qui est intéressant, c'est la comparaison entre l'efficacité de l'attaque et celle des anniversaires, qui fonctionne avec n'importe quelle fonction. SHAttered utilise 2^63 calculs de sha1, soit "seulement" 2^17 fois moins que l'attaque théorique. Si la puissance globale des ordinateurs continue d'augmenter, il se peut en effet que l'attaque des anniversaires devienne praticable pour sha1 (raison pour laquelle les fonctions plus récentes ont un espace plus grand).

Merci harvey pour ton explication, je ne connaissais pas l'attaque des anniversaires , mais du coup ce qui vient de se passer pour sha-1 devient plus clair.

De manière générale, l'utopie d'une fonction de hachage est qu'il n'y ait pas d'attaque plus efficace que celle des anniversaires (2^(n/2)).

Bon bah, au boulot
Journalisée

Tant pis je remplacerai ma nuit par une sieste.
Erylanor
Newseur
Profil challenge

Classement : 350/54276

Néophyte
**
Hors ligne Hors ligne
Messages: 10


Voir le profil
« #7 le: 27 Avril 2017 à 09:14:43 »

Tiens ça pourrait être cool de faire une épreuve (genre S03ncryp710n) avec le code d'une fonction de hashage en clair et où il faudrait trouver une collision (avec une attaque) pour valider.

EDIT : il faudrait peut-être que je regarde les épreuves de prog avant
« Dernière édition: 27 Avril 2017 à 11:07:39 par Erylanor » Journalisée
lovenunu
Beta testeur

Profil challenge

Classement : 21/54276

Membre Complet
*
Hors ligne Hors ligne
Messages: 171


Voir le profil
« #8 le: 27 Avril 2017 à 10:48:20 »

Tiens ça pourrait être cool de faire une épreuve (genre S03ncryp710n) avec le code d'une fonction de hashage en clair et où il faudrait trouver une collision (avec une attaque) pour valider.

C'est marrant je crois qu'il existe déjà ce chall, mais pas en crypto :p
Journalisée

Tant pis je remplacerai ma nuit par une sieste.
harvey

Profil challenge

Classement : 12/54276

Membre Senior
****
Hors ligne Hors ligne
Messages: 316


Voir le profil WWW
« #9 le: 27 Avril 2017 à 12:19:27 »

Il y a ThunderHash sur w3challs qui utilise ce principe (source).
Mais sur NC, je ne vois pas. Tu nous la ferais ?
Journalisée

L'entropie vient en mangeant.
Stockage
Administrateur

Profil challenge

Classement : 7/54276

Membre Complet
*****
Hors ligne Hors ligne
Messages: 178

"Tant qu'on ne choisit pas tout reste possible"


Voir le profil WWW
« #10 le: 27 Avril 2017 à 12:26:42 »

Il y a également Collision sur Pwnable qui part de la même idée.
+1 pour ce type d'épreuve sur NC, ça pourrait être fun
Journalisée

Newbie Contest Staff :
Stockage
Statut :
Administrateur
Citation :
Attendez, il s'est reincarné en tricycle !
the lsd
Administrateur

Profil challenge

Classement : 190/54276

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 3096

poulping for fun & profit


Voir le profil WWW
« #11 le: 27 Avril 2017 à 14:09:05 »

Faut pas hésiter hein les gars

Enjoy

The lsd
Journalisée

Newbie Contest Staff :
The lsd - Th3_l5D (IRC)
Statut :
Administrateur
Citation :
Cartésien désabusé : je pense, donc je suis, mais je m'en fous !
Pages: [1]
  Imprimer  
 
Aller à: