Aller au contenu

Cryptographie à clé publique


Communications sécurisées — Éléments fondamentaux

Section intitulée « Communications sécurisées — Éléments fondamentaux »

Les organisations doivent protéger les données au repos et en transit. Les quatre éléments des communications sécurisées correspondent directement à des mécanismes cryptographiques :

ÉlémentDéfinitionMécanisme
Intégrité des donnéesGarantit que le message n’a pas été modifié pendant le transitSHA-2, SHA-3
Authentification d’origineGarantit que le message provient bien de l’émetteur annoncéHMAC
Confidentialité des donnéesGarantit que seules les parties autorisées peuvent lire le messageAES, RSA, DH
Non-répudiationGarantit que l’émetteur ne peut pas nier avoir envoyé le messageDSA, RSA, ECDSA

Définitions clés :

  • Texte en clair (Plaintext) — Message original lisible avant chiffrement.
  • Texte chiffré (Ciphertext) — Sortie brouillée, illisible sans la clé.
  • Chiffrement symétrique — Une seule clé partagée pour chiffrer et déchiffrer (PSK, Pre-Shared Key).
  • Chiffrement asymétrique — Paire de clés : clé publique pour chiffrer, clé privée pour déchiffrer.
  • VPN — Automatise le chiffrement/déchiffrement du trafic entre des points de terminaison.

Algorithmes cryptographiques — Tableau récapitulatif

Section intitulée « Algorithmes cryptographiques — Tableau récapitulatif »
AlgorithmeTypeTaille de clé / empreinteStatutCas d’usage
AESChiffrement symétrique par blocs128 / 192 / 256 bits✅ SûrWPA2/WPA3, VPN, TLS, chiffrement disque
3DESChiffrement symétrique par blocs112 ou 168 bits⚠️ En dépréciationÉquipements VPN hérités
DESChiffrement symétrique par blocs56 bits❌ CasséSystèmes hérités uniquement
SEALChiffrement symétrique par flot160 bits✅ De nicheChiffrement logiciel optimisé
ChaCha20Chiffrement symétrique par flot256 bits✅ SûrTLS 1.3, terminaux mobiles
RSAAsymétrique2048+ bits✅ SûrÉchange de clés, signatures numériques
Diffie-Hellman (DH)Asymétrique (échange de clés)Variable✅ SûrVPN IPsec, échange de clés SSH
ECC / ECDSAAsymétrique256+ bits✅ SûrSignatures numériques, TLS
DSAAsymétrique (signature uniquement)1024–3072 bits✅ SûrStandard DSS
MD5Hachage128 bits❌ CasséSommes de contrôle non critiques
SHA-1Hachage160 bits❌ ObsolèteSystèmes hérités
SHA-256Hachage256 bits✅ RecommandéTLS, signature logicielle, intégrité fichier
SHA-512Hachage512 bits✅ RecommandéExigences de haute sécurité
SHA-3HachageVariable✅ Nouvelle générationRemplacement futur de SHA-2
HMACHachage + clé secrèteDépend de la fonction de hachage✅ SûrIntégrité + authentification (IPsec, TLS)

Une fonction de hachage transforme une entrée de taille quelconque en une empreinte de taille fixe. Il s’agit d’une opération à sens unique : il est computationnellement irréaliste de retrouver l’entrée initiale à partir du condensat.

Propriétés essentielles :

  • Effet avalanche — Une modification minime de l’entrée produit une empreinte totalement différente.
  • Résistance aux collisions — Deux entrées distinctes ne doivent pas produire la même empreinte.
  • HMAC — Ajoute une clé secrète au hachage, ce qui fournit à la fois intégrité ET authentification.

Distinction d’examen : SHA-256 seul = intégrité uniquement. HMAC = intégrité + authentification. Aucun des deux ne fournit la confidentialité.

Référence OpenSSL (lab) :

Fenêtre de terminal
openssl sha256 file.txt # Hachage SHA-256
openssl sha512 file.txt # Hachage SHA-512
sha256sum file.img # Utilitaire Linux natif

Le chiffrement symétrique utilise une clé partagée unique (PSK) pour le chiffrement et le déchiffrement. Il est rapide et adapté au chiffrement de volumes importants de données.

Distinction clé — Bloc vs flot :

  • Chiffrement par blocs — Chiffre des blocs de taille fixe (ex. AES : blocs de 128 bits).
  • Chiffrement par flot — Chiffre bit par bit ou octet par octet (ex. SEAL, ChaCha20).

Piège d’examen : SEAL est un chiffrement par flot avec une clé de 160 bits, et non un chiffrement par blocs.

Base64 n’est PAS un chiffrement. C’est un encodage binaire-vers-texte destiné au transport sûr sur des protocoles textuels (ex. e-mail). Il n’apporte aucune confidentialité.

OpenSSL AES-256-CBC (référence lab) :

Fenêtre de terminal
# Chiffrer
openssl aes-256-cbc -a -in plaintext.txt -out message.enc
# Déchiffrer
openssl aes-256-cbc -a -d -in message.enc -out decrypted.txt
OptionFonction
aes-256-cbcAES-256 en mode CBC (Cipher Block Chaining)
-aApplique un encodage Base64 (sortie ASCII)
-dMode déchiffrement
-saltAjoute un sel aléatoire (protège contre les rainbow tables)

Le chiffrement asymétrique repose sur une paire de clés mathématiquement liées : clé publique et clé privée.

Confidentialité : Clé publique (chiffrement) → Clé privée (déchiffrement)
Authentification : Clé privée (signature) → Clé publique (vérification)
PropriétéSymétriqueAsymétrique
Clés1 clé partagée2 clés (publique + privée)
VitesseRapidePlus lent
UsageChiffrement des donnéesÉchange de clés, signatures
ExemplesAES, 3DES, SEALRSA, DH, ECC, DSA
ProtocolesTunnels VPNIKE, négociation TLS, SSH, PGP

Diffie-Hellman (DH) permet à deux parties de générer un secret partagé sur un canal non sûr sans jamais transmettre ce secret directement. C’est un mécanisme fondamental de SSH et des VPN IPsec.


Le niveau réel de protection dépend aussi du mot de passe utilisé pour protéger les données chiffrées.

Longueur du mot de passeJeu de caractèresDifficulté de récupération
1–4 caractèresNumérique⚡ Quasi instantanée
5–6 caractèresAlphanumérique⏱ Minutes à heures
8–10 caractèresLettres + chiffres + symboles📅 Jours à semaines
12+ caractèresJeu complet complexe🔒 Années (pratiquement irréalisable)

Recommandation industrielle : minimum 12 à 16 caractères pour les données sensibles.


FonctionnalitéTelnetSSH
Port TCP2322
Confidentialité❌ En clair✅ Chiffrement complet
Intégrité❌ Aucune✅ HMAC
AuthentificationMot de passe en clairMot de passe, clé publique, MFA
Échange de clésAucunDiffie-Hellman
Protection contre le rejeu❌ Non✅ Oui
Identifiants visibles dans Wireshark✅ Oui❌ Non

Point d’examen : SSH utilise Diffie-Hellman pour l’échange de clés et protège contre l’écoute, le rejeu et le vol d’identifiants.


La PKI est l’infrastructure qui gère les certificats numériques, le chiffrement à clé publique et les relations de confiance.

Entités principales :

  • CA (Certificate Authority) — Tiers de confiance qui émet des certificats signés numériquement.
  • Root CA — Autorité racine, auto-signée. Toute la chaîne en dessous hérite de sa confiance.
  • Intermediate CA — Autorité intermédiaire signée par la Root CA ; émet les certificats finaux.
  • RA (Registration Authority) — Vérifie les demandes de certificats et les transmet à la CA. N’émet pas de certificats.
  • CRL (Certificate Revocation List) — Liste publiée des certificats révoqués.
  • OCSP — Protocole en ligne permettant de vérifier en temps réel la validité d’un certificat.

Hiérarchie de confiance PKI :

Root CA (auto-signée)
├── Intermediate CA 1
│ ├── Certificat terminal (website.com)
│ └── Certificat terminal (mail.org)
└── Intermediate CA 2
├── Certificat terminal (bank.com)
└── Certificat terminal (shop.net)
TypeNiveau de validationNiveau de confianceCas d’usage
DV (Domain Validated)Vérification automatisée du domaineFaibleBlogs, sites personnels
OV (Organization Validated)Vérification légale manuelleMoyenSites d’entreprise
EV (Extended Validation)Vérification pousséeÉlevéBanques, institutions financières
Self-SignedAucun tiers de confianceInterne / nulLabos, tests internes

Classes de certificats (0 à 5) : plus la classe est élevée, plus la vérification d’identité est rigoureuse, donc plus le certificat est digne de confiance.

Les signatures numériques fournissent simultanément :

  • Authenticité
  • Intégrité
  • Non-répudiation

Algorithmes DSS : DSA, RSA, ECDSA.

Code signing : permet de vérifier l’intégrité et l’origine d’un exécutable ou d’un code signé. Le but n’est pas de chiffrer le code, mais de prouver qu’il n’a pas été modifié.

Empreinte de certificat et détection de MitM HTTPS

Section intitulée « Empreinte de certificat et détection de MitM HTTPS »

Une empreinte de certificat (thumbprint / fingerprint) est un hachage SHA-1 ou SHA-256 de l’intégralité du certificat. Sa comparaison permet de détecter une interception HTTPS par proxy.

Fenêtre de terminal
# Récupérer le certificat puis extraire son empreinte SHA-1
echo -n | openssl s_client -connect cisco.com:443 \
| sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ./cisco.pem
openssl x509 -noout -in cisco.pem -fingerprint -sha1

Si l’empreinte récupérée correspond à une référence de confiance, il n’y a pas de proxy d’interception. Si elle diffère, un proxy HTTPS intercepte probablement la connexion.


QuestionBonne réponseRaisonnement
Exemple d’algorithme symétrique ?AESUne seule clé partagée
Algorithme asymétrique d’échange de clés ?Diffie-HellmanGénère un secret partagé
Fonction de hachage la plus robuste ?SHA-3Construction la plus récente
Type de chiffrement de SEAL ?Chiffrement par flotPas un chiffrement par blocs ; clé 160 bits
Particularité de HMAC ?Clé secrète + hachageIntégrité + authentification
Rôle de MD5/SHA ?IntégritéDétection de modification uniquement
Algorithme assurant la confidentialité ?AESChiffrement symétrique
Impact de HTTPS sur la supervision ?Chiffrement de bout en boutLe contenu n’est plus visible facilement
Standard du format des certificats PKI ?X.509Ne pas confondre avec X.500
Deux algorithmes symétriques ?AES et 3DESUtilisent une clé partagée
But du code signing ?Intégrité des exécutables sourceAuthenticité + absence de modification
Classe la plus fiable : 4 ou 5 ?Classe 5Vérification plus rigoureuse
Rôle de la RA dans la PKI ?Validation des demandes uniquementN’émet pas de certificats
Technologie utilisée pour l’échange de clés IPsec ?IKE (avec DH)Négociation et échange de clés
Technologie qui vérifie l’identité d’un site web ?Signature numériqueAuthenticité + intégrité + non-répudiation