Attaque par extension de longueur
Les attaques par extension de longueur permettent à un attaquant de forger un Hash(Clé secrète||Donnée légitime||Donnée malveillante) à partir d’un Hash(Clé secrète||Donnée légitime) et de la longueur connue de (Clé secrète||Donnée légitime). L’attaque utilise le condensat de sortie légitime pour reconstruire l’état interne de la fonction de hachage. À partir de là , il est trivial d’alimenter la fonction de hachage avec la donnée malveillante à ajouter puis de produire un nouveau condensat tout aussi valide. Les fonctions de hachage cryptographiques vulnérables sont celles basées sur la construction de Merkle-Damgård telles que MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512. Cependant SHA-512/224 et SHA-512/256 ne sont pas touchées puisque leur condensat final en sortie est tronqué rendant très difficile la reconstitution de leur état interne. En effet, il s’avère que 100% de l’état nécessaire pour poursuivre un hachage se trouve dans le condensat complet et non tronqué de ces algorithmes. Autrement dit, étant donné un condensat composé d’une chaîne de caractères avec un préfixe inconnu faisant office de clé secrète, un attaquant peut concaténer à cette chaîne une nouvelle chaîne puis recalculer un nouveau condensat qui contient toujours le préfixe inconnu. Ainsi, un condensat SHA-2 utilisé comme Message Authentication Code est une copie complète de l’état du hachage du préfixe, de sa donnée et de son padding. Passons à la pratique avec un exemple concret issu du billet de blog de Sylvain Kerkour, Breaking SHA-256: length extension attacks in practice . ...
Présentation des fonctions de hachage SHA-2
Secure Hash Algorithm 2 est une famille de fonctions de hachage cryptographique composée de six membres. Leur différence immédiatement visible est la taille de leur condensat. On rappelle que, comme pour toute fonction de hachage cryptographique, son objectif est simple : à partir d’une donnée de taille quelconque en entrée, elle produit un condensat de taille fixe tout en répondant aux Propriétés fondamentales d’une fonction de hachage cryptographique . SHA-2 est formellement défini et adopté par le standard FIPS 180-4 du NIST. ...
Propriétés fondamentales d'une fonction de hachage cryptographique
Les fonctions de hachage cryptographique sont des primitives cryptographiques omniprésentes lorsqu’il s’agit de vérifier l’intégrité de messages et de fichiers, de générer et de vérifier des signatures numériques ou de vérifier la correspondance de mots de passe, entre autres. Ces fonctions sont déterministes car bâties à l’origine pour répondre à trois propriétés fondamentales que nous allons étudier : Résistance à la préimage, Résistance à la seconde préimage, Résistance aux collisions. Image et préimage d’une fonction Débutons par expliciter la notion d’image. Soit \(\small X \longrightarrow Y\) une fonction de l’ensemble de définition (domain) \(\small X\) à l’ensemble d’arrivée (codomain) \(\small Y\). Pour un élément \(\small x\) dans \(\small X\), l’unique élément \(\small f(x)\) qui lui est relié dans \(\small Y\) est appelé image de \(\small x\) par \(\small f\). On dit alors que \(\small x\) est un antécédent de \(\small f(x)\) par \(\small f\). Ainsi, la totalité des images des éléments de l’ensemble de définition \(\small X\) est appelée “ensemble image” de la fonction, notée \(\small f(X)\). Notons, qu’un élement de l’ensemble d’arrivée peut avoir plusieurs antécédents. Expliqué autrement, l’ensemble de définition \(\small X\), est l’ensemble des valeurs possibles telles que \(\small f(x)\) existe. Tandis que l’ensemble image \(\small f(X)\) est l’ensemble des valeurs obtenables en appliquant \(\small f\) aux éléments de \(\small X\). Avec un schéma, tout s’éclaircit ! ...
Qualité et protection des moyens d'authentification
Le mot de passe constitue l’un des piliers majeurs de la sécurité informatique. C’est pourquoi tant de pirates essayent de l’obtenir par des moyens toujours plus imaginatifs et complexes. Il représente le vecteur “ce que je sais” qui, combiné à un nom d’utilisateur, suffit pour s’authentifier sur la plupart des ordinateurs et systèmes d’information. Finalement, un mot de passe ne permet pas de donner directement des droits d’accès, mais d’assurer l’imputabilité lors de l’usage de ces droits. ...
Échange de clés Diffie-Hellman
La méthode Diffie-Hellman d’échange de clés est utilisée afin de générer un secret commun entre deux correspondants à travers un canal public potentiellement sur écoute. Publiée en 1976 par les biens nommés Whitfield Diffie et Martin Hellman, c’est la première référence connue du public à proposer l’idée d’une clé privée associée à une clé publique afin d’apporter, à terme, la confidentialité des échanges. Une application concrète de la cryptographie asymétrique était née. Bien que réputée moins performante que la cryptographie symétrique, elle ne nécessite pas l’établissement d’un canal de confiance entre les pairs pour échanger un secret commun. ...