Rappel théorique
L'exposition de données sensibles se produit lorsqu'une application ne protège pas correctement des informations confidentielles (données financières, de santé, personnelles, mots de passe...).
Causes principales
- Données sensibles stockées en clair
- Transmission de données sans chiffrement
- Algorithmes cryptographiques faibles ou obsolètes
- Mots de passe stockés sans hachage sécurisé
Conséquences
- Vol d'identité
- Fraude financière
- Violation de la vie privée
- Non-conformité réglementaire (RGPD)
- Atteinte à la réputation
Mesures de protection
- Chiffrer les données sensibles au repos avec des algorithmes forts et à jour (AES-256, RSA-2048).
- Sécuriser les transmissions : TLS pour toutes les communications, vérifier la configuration des suites cryptographiques.
- Gestion des mots de passe : fonctions de dérivation de clé (Argon2, bcrypt, PBKDF2) avec sel et étirement.
Hachage vs Cryptographie
| Hachage | Cryptographie (chiffrement) | |
|---|---|---|
| Principe | Processus à sens unique transformant des données en une empreinte de taille fixe. Irréversible. | Processus bidirectionnel : transforme des données en un format chiffré déchiffrable avec la clé appropriée. Réversible. |
| Utilisation | Vérifier l'intégrité des données ; pour une entrée donnée, produit toujours la même sortie. | Protéger la confidentialité ; nécessite une clé pour chiffrer et déchiffrer. |
| Algorithmes | SHA-256, bcrypt, Argon2, PBKDF2 | AES, RSA, ECC |
| Application | Stockage sécurisé des mots de passe | Protection des données en transit et au repos |
Pour le stockage des mots de passe, on utilise le hachage (et non le chiffrement) car même en cas de fuite de la base de données, les mots de passe originaux ne peuvent pas être retrouvés.
Évolution des recommandations pour le stockage des mots de passe
| Période | Approche | Description |
|---|---|---|
| 1990-2000 | Hachage simple (MD5, SHA-1) | Fonctions de hachage simples, devenues vulnérables aux tables arc-en-ciel et au brute-force avec l'augmentation de la puissance de calcul. |
| Début 2000s | Hachage avec sel (salt) | Ajout d'une valeur aléatoire unique avant le hachage : rend les tables précalculées inefficaces, mais reste vulnérable au brute-force GPU sur des algorithmes rapides. |
| 2007-2010 | bcrypt | Algorithme dédié avec facteur de travail ajustable, basé sur Blowfish, sel automatique : ralentit considérablement les attaques. |
| 2010-2015 | PBKDF2 / scrypt | PBKDF2 ajoute des itérations multiples ; scrypt ajoute un coût en mémoire pour contrer les attaques par matériel spécialisé (ASIC, FPGA). |
| 2015 - aujourd'hui | Argon2 | Vainqueur de la Password Hashing Competition (2015) : permet d'ajuster mémoire, temps de calcul et parallélisme pour une résistance optimale. |
Les recommandations actuelles privilégient Argon2, bcrypt ou PBKDF2 avec des paramètres suffisamment coûteux pour rendre le brute-force impraticable, même avec du matériel spécialisé.
Démo interactive
Comparez en direct le résultat d'un hachage (irréversible) et d'un chiffrement (réversible), et observez pourquoi un hachage faible (MD5) peut être "cassé" alors qu'un hachage Argon2id résiste.