Sécurité : Chiffrement, hachage, signature
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’authenticité du signataire et d'assurer la non-répudiation. 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-2 ou SHA-3 comme familles de fonction de hachage ;
- bcrypt, scrypt, Argon2 ou PBKDF2 pour stocker les mots de passe;
- AES avec un mode de construction approprié (CCM, GCM, ou EAX) ou ChaCha20 (avec Poly1305) pour le chiffrement symétrique ;
- RSA-OAEP, ECIES-KEM ou DLIES-KEMpour le chiffrement asymétrique ;
- RSA-SSA-PSS ou ECDSA pour les signatures.
Utiliser les tailles de clés suffisantes
- pour AES, les clés de 128, 192 ou 256 bits sont considérées comme suffisantes ;
- pour les algorithmes basés sur RSA, il est recommandé d’utiliser des modules et exposants secrets d’au moins 2 048 bits ou 3 072 bits, avec des exposants publics, pour le chiffrement, supérieurs à 65 536 bits
Appliquer les recommandations d’utilisation appropriées, en fonction de l’algorithme utilisé. Les erreurs d’implémentation ont un impact important sur la sécurité du mécanisme cryptographique.
Protéger les clés secrètes, a minima 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 SHA-1.
- 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 à l'exécution, il est souvent possible de tester automatiquement toutes les possibilités et ainsi de reconnaître l’empreinte.
- Hacher les mots de passe sans faire intervenir un sel.
Pour aller plus loin
- Voir la page dédiée « Comprendre les grands principes de la cryptologie et du chiffrement » sur le site de la CNIL.
- L’ANSSI a publié des guides pour aider les développeurs et administrateurs dans leurs choix d’algorithmes cryptographiques, de dimensionnement et d’implémentation.
- 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ée.
- Différentes solutions de chiffrement peuvent être utilisées, tels que :
- les solutions certifiées ou qualifiées par l’ANSSI ;
- le logiciel VeraCrypt, permettant la mise en œuvre de conteneurs chiffrés ;
- le logiciel GNU Privacy Guard, permettant la mise en œuvre de la cryptographie asymétrique (signature et chiffrement).
- Pour les autorités administratives, les annexes du référentiel général de sécurité (RGS) s’appliquent, notamment les annexes B1 et B2 concernant respectivement les mécanismes cryptographiques et la gestion des clés utilisées.