Module 8 : chiffrement
8.1 Confidentialité
8.1.1 Confidentialité des données
Le chiffrement symétrique utilise la même clé prépartagée pour chiffrer et
déchiffrer les données. Alice et Bob, par exemple, partagent cette clé
avant de communiquer. Alice chiffre un message avec la clé, le place dans
une boîte verrouillée, et l'envoie à Bob. Ce dernier utilise la même clé pour
ouvrir la boîte et lire le message. Ce processus garantit que les données
restent sécurisées pendant le transfert.
Exemple :
8.1.2 Chiffrement symétrique
Les algorithmes de chiffrement symétrique sont largement utilisés
dans les VPN pour leur efficacité, car ils nécessitent moins de ressources
CPU que les algorithmes asymétriques. La sécurité dépend de la longueur
de la clé : plus elle est longue (généralement entre 112 et 256 bits), plus
le chiffrement est sûr.
Le chiffrement symétrique se divise en chiffrement par bloc et
chiffrement de flux :
1. Chiffrement par bloc : Chiffre des blocs de texte de taille fixe (64
ou 128 bits). Par exemple, DES et AES.
2. Chiffrement de flux : Chiffre les données bit par bit ou octet par
octet, ce qui le rend plus rapide. Des exemples incluent RC4 et A5
(utilisés dans les téléphones GSM).
8.1.3 Chiffrement asymétrique
Le chiffrement asymétrique, ou chiffrement à clé publique, utilise deux
clés distinctes : une pour le chiffrement et l'autre pour le déchiffrement. La
clé de chiffrement, utilisée pour chiffrer les données, est différente de la
clé de déchiffrement, utilisée pour les récupérer.
Exemple de chiffrement asymétrique
Le chiffrement asymétrique est sécurisé avec des clés de 512 à 4 096 bits,
les longueurs de clés supérieures ou égales à 2 048 bits étant
recommandées pour garantir la sécurité.
Quelques exemples de protocoles utilisant des algorithmes asymétriques :
IKE (Internet Key Exchange) pour VPN IPSec
SSL/TLS pour les connexions sécurisées
SSH pour les connexions à distance
PGP pour sécuriser les communications par e-mail.
8.1.4 Chiffrement asymétrique – Confidentialité
Les algorithmes asymétriques assurent la confidentialité sans partager de
mot de passe au préalable. La confidentialité des algorithmes
asymétriques est garantie quand vous lancez le processus de chiffrement
avec la clé publique.
Le processus peut être résumé à l'aide de la formule:
Clé publique (chiffrement) + Clé privée (déchiffrement) = Confidentialité
Là où la clé publique sert à chiffrer les données, la clé privée doit être
utilisée pour les déchiffrer. Un seul hôte possède la clé privée ; par
conséquent, la confidentialité est assurée.
Si la clé privée est compromise, une autre paire de clés doit être générée
pour remplacer la clé compromise.
8.1.5 Chiffrement asymétrique – Authentification
L'authentification des algorithmes asymétriques est réalisée quand vous
lancez le processus de chiffrement avec la clé privée.
Le processus peut être résumé à l'aide de la formule:
Clé privée (chiffrer) + clé publique (déchiffrer) = Authentification
Le chiffrement asymétrique utilise une clé privée pour chiffrer et une clé
publique pour déchiffrer. Seul l'hôte avec la clé privée peut chiffrer,
garantissant l'authentification de l'expéditeur. La clé publique peut être
partagée librement, et toute personne possédant cette clé peut déchiffrer
le message.
8.1.6 Chiffrement asymétrique – Intégrité
En combinant les deux processus de chiffrement asymétrique, vous
assurez l'intégrité, l'authentification et la confidentialité de vos messages.
8.1.7 Diffie-Hellman
L'échange de clé Diffie-Hellman (DH) permet à deux ordinateurs de
générer un secret partagé sans l'échanger directement. Cet algorithme est
souvent utilisé dans :
Les données sont échangées à l'aide d'un VPN IPSec
Les données SSH sont échangées.
8.2.2 Techniques de masquage des données
le masquage des données remplace les informations sensibles par des
versions non sensibles pour les protéger tout en permettant leur utilisation
dans des environnements de test. Les techniques courantes incluent la
substitution (remplacer par des valeurs semblant authentiques), le
brassage (mélanger des données similaires), et l'annulation (remplacer
par des valeurs nulles).
8.2.3 Stéganographie
La stéganographie consiste à dissimuler un message secret dans un
autre fichier, comme une image, un fichier audio ou du texte. Elle présente
l'avantage de ne pas attirer l'attention, contrairement à la cryptographie.
Le message secret est caché dans des données comme du texte, une
image ou du son, et une clé de stéganographie contrôle ce processus de
dissimulation.
8.3.1 Sécurisation des communications
Les quatre éléments des communications sécurisées sont :
1. L'intégrité des données : Assure que le message n'a pas été modifié
en transit, utilisant des algorithmes de hachage sécurisés (SHA-2 ou
SHA-3). MD5, bien qu'encore utilisé, est obsolète et vulnérable.
2. L'authentification de l'origine : Garantit que le message provient
bien de la source authentique, souvent assurée par des algorithmes
comme HMAC.
3. La confidentialité des données : Assure que seuls les utilisateurs
autorisés peuvent lire le message, protégé par des algorithmes de
chiffrement.
4. La non-répudiation des données : Garantit que l'expéditeur ne peut
nier l'envoi du message, en utilisant des signatures uniques ou des
caractéristiques liées au message.
8.3.2 Fonctions de hachage cryptographiques
Les fonctions de hachage cryptographiques sont utilisées pour
vérifier l'intégrité des données. Elles produisent une valeur de hachage
(ou empreinte numérique) à partir d'un message de longueur variable,
générant une sortie de longueur fixe. Ces fonctions sont unidirectionnelles,
faciles à calculer mais très difficiles à inverser, comme moudre du café.
Elles permettent de détecter toute modification des données : si les
données changent, le hachage change également. Elles assurent
l'authentification, l'intégrité et l'authenticité des données, protégeant
contre les modifications accidentelles ou malveillantes.
8.4.1 Hachage de fichiers et de supports numériques
Le hachage des fichiers et des supports numériques permet de
garantir que les données sont intactes et non modifiées pendant leur
acquisition
8.4.3 Hacher les mots de passe
Le hachage des mots de passe permet de protéger les mots de passe
en les transformant en un hash numérique ou empreinte de longueur
fixe. Il est impossible pour un hacker de retrouver l'entrée d'origine à partir
du hash.
Les deux méthodes principales pour pirater un hash de mot de passe sont
:
1. Attaque par dictionnaire : Cette méthode utilise un fichier
contenant des mots, expressions et mots de passe courants, avec
leurs hashs pré-calculés. Le hacker compare ensuite les hashs dans
le fichier à ceux du mot de passe, et si une correspondance est
trouvée, il connaît le mot de passe correct.
2. Attaque par force brute : Ici, le hacker essaie toutes les
combinaisons possibles de caractères jusqu'à une certaine longueur.
Bien que cette méthode soit efficace, elle nécessite beaucoup de
temps et de puissance de calcul. Des mots de passe longs rendent
cette méthode moins pratique.
8.5.1 Utilisation des signatures numériques
Les signatures numériques assurent l'authenticité, l'intégrité et la non-
répudiation des transactions, en utilisant la cryptographie asymétrique.
Elles garantissent que les données n'ont pas été modifiées et qu'elles
proviennent bien de l'entité signataire. Les propriétés des signatures
numériques incluent :
Authenticité : Prouve que le signataire a signé le document.
Inaltérabilité : Une fois signé, le document ne peut être modifié.
Non-répudiation : La signature prouve que le document a été
signé par la personne réelle, empêchant le signataire de nier son
action.
Non-réutilisabilité : La signature ne peut pas être transférée vers
un autre document.
Les signatures numériques sont utilisées pour :
1. Signature de code : Assure l'intégrité et l'authentification des
fichiers exécutables.
2. Certificats numériques : Identifient virtuellement un système et
permettent des connexions sécurisées.
Les trois algorithmes utilisés pour générer et vérifier les signatures
numériques sont :
1. DSA (Digital Signature Algorithm) : Standard d'origine.
2. RSA : Algorithme couramment utilisé.
3. ECDSA (Elliptic Curve Digital Signature Algorithm) : Offre une
meilleure efficacité informatique et de plus petites signatures.
8.5.2 Signatures numériques pour la signature de codes
Les signatures numériques pour la signature de codes assurent
l'authenticité, l'intégrité et la non-répudiation des logiciels téléchargés.
Ces signatures garantissent que le code :
Est authentique et provient bien de l'éditeur.
N'a pas été modifié depuis sa publication par l'éditeur.
Assure la non-répudiation, prouvant que l'éditeur est responsable
de la publication du code.
La publication FIPS 140-3 du gouvernement américain stipule que les
logiciels téléchargés doivent être signés numériquement et vérifiés pour
garantir qu'ils n'ont pas été altérés et qu'ils proviennent bien d'une source
de confiance. Cela permet de protéger contre l'insertion de code
malveillant par des acteurs malveillants.
8.5.3 Signatures numériques pour les certificats numériques
es signatures numériques pour les certificats numériques
permettent de garantir l'authenticité, l'intégrité et la confidentialité des
communications électroniques. Voici un résumé du processus :
1. Certificat numérique : Il agit comme un passeport électronique,
permettant de vérifier l'identité d'une personne, d'un hôte ou d'une
entreprise sur Internet.
2. Vérification de l'identité : Le certificat numérique contient des
informations sur l'entité (par exemple, un site web), ainsi que sa clé
publique pour vérifier les signatures numériques.
3. Scénario de signature numérique :
o Bob confirme une commande en créant un hash de la
confirmation et en le chiffrant avec sa clé privée.
o Ce hash chiffré (signature numérique) est envoyé à Alice.
4. Vérification de la signature : Lorsque Alice reçoit la confirmation,
elle utilise la clé publique de Bob pour déchiffrer la signature,
révélant le hash original. Alice génère également un hash du
message qu'elle a reçu et compare les deux. Si les hashs
correspondent, elle sait que le message provient bien de Bob et n'a
pas été modifié.
Reportez-vous à la figure pour voir comment la signature numérique est
utilisée.