Vous venez de télécharger Keepass un gestionnaire de mots de passe open-source et vous souhaitez vérifier que le programme reçu est bien l’original développé par Dominik Reichl. Pour cela vous avez récupéré l’empreinte cryptographique du programme sur le site officiel de Keepass (https://keepass.info/integrity.html). Pour une sécurité optimale, quelle fonction de hachage devez-vous utiliser ?
[A] AES
[B] MD5
[C] SHA1
[D] SHA256
Il y a dans l’examen CISSP des questions relativement faciles où l’on peut répondre rapidement sans prendre le risque de se tromper. C’est le cas de cette question et sur les quelques 105 participants sur Linkedin, seulement 6 personnes ont donné une mauvaise réponse.
AES est un algorithme de chiffrement symétrique qui ne permet pas d’effectuer des opérations de hachage. Pour rappel, une fonction de hachage est une fonction qui permet d’associer à tout contenu une empreinte cryptographique imprévisible de taille fixe. La taille de l’empreinte étant déterminée par l’algorithme choisi. Pour qu’une fonction de hachage soit considérée comme sûre, elle doit générer une empreinte cryptographique avec une longueur suffisante et résister à 2 types d’attaques : les attaques de préimage et les attaques par collisions. L’attaque de préimage consiste à retrouver (en un temps raisonnable) un contenu à partir de son empreinte. L’attaque par collision consiste à trouver (en un temps raisonnable) deux contenus distincts qui génèrent la même empreinte.
La fonction de hachage MD5 n’est pas recommandée car elle est vulnérable aux attaques par collisions. Les premières attaques réussies datent de 2004 et une équipe de chercheurs a même démontré en 2008 la possibilité de créer de faux certificats X509 (https://www.win.tue.nl/hashclash/rogue-ca).
Des chercheurs ont également démontré en 2017 (https://shattered.io) que la fonction de hachage SHA1 était également vulnérable aux attaques par collisions.
La fonction de hachage SHA256 fait partie d’une série d’algorithmes standardisés par le NIST en 2002 (FIPS 180-2) et développés par la NSA avec plusieurs longueurs d’empreintes possibles : SHA-224 (224 bits), SHA-256 (256 bits), SHA-384 (384 bits) et SHA-512 (512 bits). SHA-256 génère une longueur d’empreinte suffisante (256 bits) conforme aux exigences de l’ANSSI et du NIST. Elle n’est pas vulnérable à des attaques connues (préimage ou collision).
La bonne réponse est la réponse [D] SHA256
Questions et réponses rédigées par VERISAFE selon le programme officiel du CISSP actuellement en vigueur
© VERISAFE – Utilisation ou reproduction (même partielle) strictement interdite sans l’accord écrit de VERISAFE