Assurer l’intégrité, la confidentialité et l’authenticité d’une information.

Les fonctions de hachage permettent d’assurer l’intégrité des données. Les signatures numériques, en plus d’assurer l’intégrité, permettent de vérifier l’origine de l’information et son authenticité. Enfin, le chiffrement, parfois improprement appelé cryptage, permet de garantir la confidentialité d’un message.

Les précautions élémentaires

Utiliser un algorithme reconnu et sûr, par exemple, les algorithmes suivants :

  • SHA-256, SHA-512 ou SHA-3comme fonction de hachage ;
  • HMAC utilisant SHA-256, bcrypt, scrypt ou PBKDF2 pour stocker les mots de passe;
  • AES ou AES-CBC pour le chiffrement symétrique ;
  • RSA-OAEP comme défini dans PKCS#1 v2.1 pour le chiffrement asymétrique ;
  • Enfin, pour les signatures, RSA-SSA-PSS comme spécifié dans PKCS#1 v2.1.

Utiliser les tailles de clés suffisantes pour AES il est recommandé d’utiliser des clés de 128 bits et, pour les algorithmes basés sur RSA, des modules et exposants secrets d’au moins 2048 bits ou 3072 bits, avec des exposants publics, pour le chiffrement, supérieurs à 65536.

Protéger les clés secrètes, au minimum par la mise en œuvre de droits d’accès restrictifs et d’un mot de passe sûr.

Rédiger une procédure indiquant la manière dont les clés et certificats vont être gérés en prenant en compte les cas d’oubli de mot de passe de déverrouillage.

Ce qu’il ne faut pas faire

  • Utiliser des algorithmes obsolètes, comme les chiffrements DES et 3DES ou les fonctions de hachage MD5 et SHA1.
  • Confondre fonction de hachage et chiffrement et considérer qu’une fonction de hachage seule est suffisante pour assurer la confidentialité d’une donnée. Bien que les fonctions de hachages soient des fonctions « à sens unique », c’est à dire des fonctions difficiles à inverser, une donnée peut être retrouvée à partir de son empreinte. Ces fonctions étant rapides à utiliser, il est souvent possible de tester automatiquement toutes les possibilités et ainsi de reconnaître l’

Pour aller plus loin

  • Lors de la réception d’un certificat électronique, vérifier que le certificat contient une indication d’usage conforme à ce qui est attendu, qu’il est valide et non révoqué, et qu’il possède une chaîne de certification correcte à tous les niveaux.
  • Utiliser des logiciels ou des bibliothèques cryptographiques ayant fait l’objet de vérifications par des tierces parties à l’expertise avéré