Aller au contenu principal

Cryptographie et chiffrement

Google IT SupportSécurité informatique

Cryptographie et chiffrement

Définition

La cryptographie transforme des données lisibles (texte clair) en données incompréhensibles (texte chiffré) pour garantir confidentialité, intégrité et authenticité. Elle protège les données au repos, en transit et en usage.

Terminologie de base

  • Chiffrement (encryption) : transformation texte clair → chiffré avec une clé
  • Déchiffrement (decryption) : opération inverse avec la clé
  • Cryptanalyse : attaque sur le système cryptographique
  • Hash : empreinte unidirectionnelle de taille fixe (pas de déchiffrement)
  • Sel (salt) : valeur aléatoire ajoutée au mot de passe avant hash (anti rainbow tables)
  • IV / nonce : valeur aléatoire par chiffrement (évite répétition)

Chiffrement symétrique

Même clé pour chiffrer et déchiffrer. Rapide, adapté gros volumes.

Algorithme Taille clé Statut
AES (Rijndael) 128/192/256 Standard (NIST, FIPS 197), utilisé partout (disques, TLS, Wi-Fi)
ChaCha20 256 Moderne, très rapide, TLS 1.3 option, mobile
DES 56 Compromis (56 bits casser en heures)
3DES 112 effectif Faible, retiré (TLS 1.3 l'interdit)
Blowfish 32-448 Ancien, remplacé par Twofish

Modes de fonctionnement : CBC (chaînage), GCM (AEAD : chiffrement + authentification), CTR, XTS (disques).

Chiffrement asymétrique (clé publique)

Paire de clés : publique (partageable) + privée (secrète). Ce que l'une chiffre, seule l'autre déchiffre.

Algorithme Taille Usage
RSA 2048/3072/4096 Échange clés, signatures (ancien standard)
ECC (ECDH, ECDSA) 256 (≈ RSA 3072) TLS moderne, signatures, plus léger
Ed25519 256 Signatures très rapides (SSH, Signal)
ElGamal / DSA Héritage, remplacé par ECC/EdDSA

Cas d'usage : échange de clés de session (TLS handshake), signatures numériques, PGP/GPG email, SSH.

Hybrides : TLS/HTTPS en pratique

  1. Handshake : échange clés asymétrique (RSA, ECDHE) → forward secrecy (clés éphémères, PFS)
  2. Session : chiffrement symétrique (AES-256-GCM, ChaCha20) pour le volume
  3. Certificat X.509 : identité du serveur signée par une CA (Public Key Infrastructure)
  4. Chaîne de confiance : root CA → intermediate CA → certificat serveur (vérification OCSP/CRL)

Hachage (hash) et intégrité

  • Propriétés : déterministe, unidirectionnel, avalanche (un bit change tout), résistant collisions
  • Algorithmes : SHA-256, SHA-3 (recommandés) ; MD5, SHA-1 (compromis)
  • HMAC : hash avec clé secrète (authentification de message)
  • Usages : vérification fichiers (sha256sum), signatures, stockage mots de passe, intégrité firmware, blockchains

PKI (Public Key Infrastructure)

Composant Rôle
CA (Certificate Authority) Émet et signe les certificats (Let's Encrypt, DigiCert, CA interne Microsoft AD CS, OpenSSL/step)
RA (Registration Authority) Vérifie l'identité avant émission
Certificat X.509 Identité + clé publique + signature CA + validité
CRL / OCSP Révocation (liste / requête en ligne)
Keystore / HSM Stockage sécurisé clés privées (TPM, YubiHSM, CloudHSM)

Chiffrement des données au repos

  • Full Disk Encryption : BitLocker (Windows), LUKS/dm-crypt (Linux), FileVault (macOS)
  • Chiffrement fichier : EFS (Windows), gpg, openssl enc
  • Bases de données : TDE (SQL Server, Oracle), column encryption
  • Stockage cloud : S3 SSE-KMS/SSE-S3, Azure SSE, GCS CMEK ; client-side encryption (age, sops)
  • TPM 2.0 : clé de boot scellée au matériel, attestation

Gestion des clés et secrets

  • Rotation : remplacement régulier des clés (courtes durées = moindre impact compromission)
  • Stockage : HSM (matériel), Key Vault/Secrets Manager (cloud), Vault (HashiCorp), Age/SOPS (cluster)
  • Ne jamais : clés dans le code, les logs, les dépôts git, les configs partagées
  • Key management : KMS (AWS/Azure/GCP), Cloud KMS, escrow CA (récupération)