Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
sio:bloc3:passwords [2023/02/22 20:45] – [2. Méthodes de protection des mots de passe] jcheron | sio:bloc3:passwords [2023/02/22 23:19] (Version actuelle) – [Références :] jcheron | ||
---|---|---|---|
Ligne 5: | Ligne 5: | ||
Ce stockage doit être réalisé de manière sécurisée. En effet, en cas de compromission de cette base (si elle a été récupérée ou rendue publique par un attaquant), les mots de passe seront directement révélés s’ils sont stockés en clair, ou s'il sont insuffisamment protégés. | Ce stockage doit être réalisé de manière sécurisée. En effet, en cas de compromission de cette base (si elle a été récupérée ou rendue publique par un attaquant), les mots de passe seront directement révélés s’ils sont stockés en clair, ou s'il sont insuffisamment protégés. | ||
- | ===== Défense en profondeur ===== | + | ====== Défense en profondeur |
- | ==== 1. Sécurisation du système de stockage ==== | + | ===== 1. Sécurisation du système de stockage |
L' | L' | ||
Ligne 26: | Ligne 26: | ||
La sécurisation du système de stockage doit donc s' | La sécurisation du système de stockage doit donc s' | ||
</ | </ | ||
- | ==== 2. Méthodes de protection des mots de passe ==== | + | ===== 2. Méthodes de protection des mots de passe ===== |
- | === 2.1 Chiffrement ou cryptage === | + | ==== 2.1 Chiffrement ou cryptage |
Principe : | Principe : | ||
Ligne 50: | Ligne 50: | ||
</ | </ | ||
- | == Algorithmes == | + | === Algorithmes |
* DES : Data Encryption Standard (dep) | * DES : Data Encryption Standard (dep) | ||
Ligne 56: | Ligne 56: | ||
* MARS | * MARS | ||
* RSA (clés asymétriques) | * RSA (clés asymétriques) | ||
- | === 2.2 Hachage === | + | |
+ | ==== 2.2 Hachage | ||
Le hachage est un procédé qui utilise un algorithme pour convertir du texte en clair en valeurs numériques : | Le hachage est un procédé qui utilise un algorithme pour convertir du texte en clair en valeurs numériques : | ||
Ligne 69: | Ligne 70: | ||
Comparaison avec l' | Comparaison avec l' | ||
Si les 2 mots de passe sont identiques sous leur forme hachée, le mot de passe est bon. | Si les 2 mots de passe sont identiques sous leur forme hachée, le mot de passe est bon. | ||
- | 2.2.1 Algorithmes | + | === 2.2.1 Algorithmes |
MD5 : Message-Digest Algorithm 5 | MD5 : Message-Digest Algorithm 5 | ||
SHA : Secure Hash Algorithm (sha1 (déprécié), | SHA : Secure Hash Algorithm (sha1 (déprécié), | ||
Argon2 (memory hard) | Argon2 (memory hard) | ||
bcrypt (avec sel, basé sur Blowfish) | bcrypt (avec sel, basé sur Blowfish) | ||
- | ==== 2.2.2 Failles | + | |
+ | === 2.2.2 Failles === | ||
Vétusté de certains algorithmes : | Vétusté de certains algorithmes : | ||
Ligne 83: | Ligne 86: | ||
Rainbow tables : Tables de correspondance entre mots et empreintes (consultables sur internet) | Rainbow tables : Tables de correspondance entre mots et empreintes (consultables sur internet) | ||
Comparaison possible des hashs et déduction si toute la base est accédée | Comparaison possible des hashs et déduction si toute la base est accédée | ||
- | 2.3 Salage | + | |
+ | ==== 2.3 Salage | ||
Pour contrer les deux failles précédentes, | Pour contrer les deux failles précédentes, | ||
Le même mot de passe ne produit plus jamais la même empreinte, mais comme la chaîne utilisée comme sel est accessible au programme, on peut toujours hacher un mot de passe fourni pour le comparer au mot de passe stocké. | Le même mot de passe ne produit plus jamais la même empreinte, mais comme la chaîne utilisée comme sel est accessible au programme, on peut toujours hacher un mot de passe fourni pour le comparer au mot de passe stocké. | ||
+ | <WRAP tip dark> | ||
Il est recommandé d’utiliser un sel choisi aléatoirement pour chaque compte et d’une longueur d’au moins 128 bits. | Il est recommandé d’utiliser un sel choisi aléatoirement pour chaque compte et d’une longueur d’au moins 128 bits. | ||
Utiliser une fonction de dérivation de mots de passe memory-hard pour pénaliser les attaques par force brute. | Utiliser une fonction de dérivation de mots de passe memory-hard pour pénaliser les attaques par force brute. | ||
- | Références : | + | </ |
- | [[Guide ANSSI authentification et mots de passe]] | + | ==== Références : ==== |
+ | |||
+ | {{: |