Cryptographie et sécurité web : les bases pour se protéger

Image

Cryptographie et sécurité web : les bases pour se protéger

Temps de lecture : 13 min | Niveau : Débutant à intermédiaire | Mis à jour : Février 2026

Chaque fois que vous consultez un site en HTTPS, que vous vous connectez à votre boîte mail ou que vous effectuez un achat en ligne, la cryptographie protège vos données. C'est une discipline essentielle de la cybersécurité, mais souvent perçue comme abstraite ou complexe.

Ce guide vous donne les clés pour comprendre les mécanismes de chiffrement utilisés au quotidien et pour identifier les failles web les plus courantes référencées par l'OWASP. Deux faces d'une même médaille : protéger les données en transit et sécuriser les applications qui les traitent.

Qu'est-ce que la cryptographie ?

La cryptographie (du grec kryptos, "caché", et graphein, "écrire") est la science qui permet de transformer des données lisibles en données illisibles pour quiconque ne possède pas la clé de déchiffrement. C'est la base technique de la confidentialité numérique.

En cybersécurité, la cryptographie assure trois propriétés essentielles :

Propriété Objectif Mécanisme
Confidentialité Seules les personnes autorisées peuvent lire les données Chiffrement (symétrique ou asymétrique)
Intégrité Les données n'ont pas été modifiées en transit Fonctions de hachage (SHA-256, etc.)
Authenticité L'interlocuteur est bien celui qu'il prétend être Signatures numériques, certificats

Ces trois propriétés sont complémentaires. Un système sécurisé les combine : il chiffre les données (confidentialité), vérifie qu'elles n'ont pas été altérées (intégrité) et authentifie les parties communicantes (authenticité).

Le chiffrement symétrique

Le chiffrement symétrique utilise une seule clé pour chiffrer et déchiffrer les données. L'expéditeur et le destinataire doivent partager cette même clé secrète.

Algorithmes courants

Algorithme Taille de clé Usage Statut
AES (Advanced Encryption Standard) 128, 192 ou 256 bits Standard actuel (HTTPS, VPN, stockage chiffré) Recommandé
DES (Data Encryption Standard) 56 bits Ancien standard (remplacé par AES) Obsolète
ChaCha20 256 bits Alternative à AES (utilisé par Google, WireGuard) Recommandé

Avantages : très rapide, efficace pour chiffrer de gros volumes de données.

Inconvénient : la clé doit être partagée de manière sécurisée entre les deux parties. C'est le problème de la distribution des clés, que le chiffrement asymétrique résout.

Le chiffrement asymétrique

Le chiffrement asymétrique (ou cryptographie à clé publique) utilise une paire de clés :

  • Clé publique : partagée librement, utilisée pour chiffrer un message
  • Clé privée : secrète, utilisée pour déchiffrer le message

Algorithmes courants

Algorithme Usage principal Statut
RSA Chiffrement, signatures numériques, certificats SSL/TLS Standard actuel
ECC (Elliptic Curve Cryptography) Mêmes usages que RSA, mais avec des clés plus courtes Recommandé (plus performant)
Diffie-Hellman Échange sécurisé de clés (négociation TLS) Standard actuel

Avantage : résout le problème de la distribution des clés. Pas besoin de partager un secret à l'avance.

Inconvénient : plus lent que le chiffrement symétrique. C'est pourquoi en pratique, les deux méthodes sont combinées (voir section HTTPS/TLS).

Le hashing (fonctions de hachage)

Une fonction de hachage transforme une donnée de n'importe quelle taille en une empreinte de taille fixe (le hash ou condensat). Cette opération est irréversible : il est impossible de retrouver la donnée originale à partir du hash.

Cas d'usage du hashing

  • Stockage des mots de passe : votre mot de passe n'est jamais stocké en clair dans la base de données. Seul son hash est conservé. Lors de la connexion, le hash du mot de passe saisi est comparé au hash stocké.
  • Vérification d'intégrité : après téléchargement d'un fichier, vous comparez son hash avec celui publié par l'éditeur. S'ils correspondent, le fichier n'a pas été altéré.
  • Signatures numériques : un hash du document est chiffré avec la clé privée du signataire. Le destinataire déchiffre avec la clé publique et compare les hashs.
  • Blockchain : chaque bloc contient le hash du bloc précédent, créant une chaîne inaltérable.

Algorithmes courants

Algorithme Taille du hash Statut
SHA-256 256 bits (64 caractères hex) Standard actuel
SHA-3 Variable (224 à 512 bits) Recommandé
bcrypt 184 bits Standard pour les mots de passe
MD5 128 bits Obsolète (collisions connues)
SHA-1 160 bits Obsolète (collisions démontrées)

HTTPS et TLS : la cryptographie en action

HTTPS (HTTP Secure) est la version sécurisée du protocole HTTP. Il repose sur le protocole TLS (Transport Layer Security, successeur de SSL) qui combine les trois types de cryptographie vus précédemment :

Comment fonctionne une connexion HTTPS

  1. Le navigateur contacte le serveur : votre navigateur demande une connexion sécurisée au serveur web.
  2. Le serveur envoie son certificat : le certificat contient la clé publique du serveur et est signé par une autorité de certification (CA) reconnue.
  3. Vérification du certificat : le navigateur vérifie que le certificat est valide, non expiré et émis par une CA de confiance (cryptographie asymétrique).
  4. Négociation d'une clé de session : le navigateur et le serveur utilisent un échange Diffie-Hellman (asymétrique) pour se mettre d'accord sur une clé de session partagée.
  5. Chiffrement des échanges : toutes les données sont ensuite chiffrées avec la clé de session via AES (symétrique), beaucoup plus rapide.
  6. Vérification d'intégrité : chaque message échangé inclut un code d'intégrité (HMAC) basé sur une fonction de hachage.

Aujourd'hui, plus de 95 % du trafic web passe par HTTPS. Un site sans HTTPS est signalé comme "Non sécurisé" par les navigateurs et pénalisé par Google dans ses classements.

Les 5 failles web les plus courantes (OWASP Top 10)

Le chiffrement protège les données en transit. Mais les applications web elles-mêmes peuvent contenir des vulnérabilités que les attaquants exploitent. L'OWASP (Open Web Application Security Project) publie régulièrement un classement des failles les plus critiques. Voici les cinq que tout professionnel doit connaître :

Faille Principe Exemple concret Protection
Injection SQL L'attaquant insère du code SQL dans un champ de formulaire pour manipuler la base de données Saisir ' OR 1=1 -- dans un champ de login pour contourner l'authentification Requêtes paramétrées (prepared statements), validation des entrées, ORM
Cross-Site Scripting (XSS) L'attaquant injecte du code JavaScript dans une page web vue par d'autres utilisateurs Insérer <script>alert('XSS')</script> dans un commentaire Échapper les sorties HTML, Content Security Policy (CSP), validation côté serveur
Cross-Site Request Forgery (CSRF) L'attaquant force un utilisateur authentifié à exécuter une action à son insu Un lien piégé qui déclenche un virement bancaire sur le compte de l'attaquant Tokens CSRF, vérification de l'origin/referer, SameSite cookies
Broken Authentication Faiblesses dans le système d'authentification (sessions, mots de passe) Sessions qui n'expirent pas, mots de passe stockés en clair, absence de MFA MFA, hashing des mots de passe (bcrypt), expiration de session, limitation de tentatives
Security Misconfiguration Mauvaise configuration des serveurs, frameworks ou services Page d'erreur affichant la stack trace, répertoire /admin accessible sans auth, headers de sécurité manquants Durcissement (hardening), désactiver les fonctionnalités inutiles, headers de sécurité (HSTS, X-Frame-Options)

Comment se protéger : les bonnes pratiques

Que vous soyez développeur, administrateur système ou simplement utilisateur, voici les réflexes essentiels :

Pour les développeurs

  • Toujours valider les entrées utilisateur côté serveur (jamais uniquement côté client)
  • Utiliser des requêtes paramétrées (prepared statements) pour toute interaction avec la base de données
  • Échapper les sorties HTML pour empêcher le XSS
  • Implémenter des tokens CSRF sur tous les formulaires
  • Stocker les mots de passe avec bcrypt (jamais en clair, jamais en MD5/SHA-1)
  • Activer HTTPS sur l'ensemble du site (Let's Encrypt fournit des certificats gratuits)
  • Configurer les headers de sécurité : HSTS, X-Content-Type-Options, X-Frame-Options, CSP

Pour les administrateurs système

  • Maintenir les logiciels à jour (serveur web, frameworks, CMS, dépendances)
  • Désactiver les services et ports inutiles (cf. scan de vulnérabilités)
  • Utiliser des protocoles chiffrés (SSH au lieu de Telnet, SFTP au lieu de FTP)
  • Configurer TLS correctement : désactiver SSLv3, TLS 1.0 et 1.1 ; utiliser TLS 1.2 minimum (TLS 1.3 recommandé)
  • Scanner régulièrement l'infrastructure pour détecter les nouvelles vulnérabilités

Pour tous les utilisateurs

  • Vérifier le cadenas HTTPS dans la barre d'adresse avant de saisir des données sensibles
  • Utiliser un mot de passe unique par service (avec un gestionnaire de mots de passe)
  • Activer l'authentification multifacteur (MFA) partout où c'est possible
  • Mettre à jour régulièrement navigateur, système d'exploitation et applications

Pour aller plus loin

Vous souhaitez maîtriser la cybersécurité ?
La formation Cybersécurité les fondamentaux couvre la cryptographie, la sécurité web, la forensique et les concepts essentiels abordés dans cet article. Exercices pratiques inclus.

Tarif : 19€/mois pour l'accès à l'ensemble du catalogue. Attestation incluse.

Accéder à la formation Cybersécurité

Ressources externes recommandées :

  • ANSSI — Agence nationale de la sécurité des systèmes d'information (recommandations, guides)
  • OWASP Top 10 — Classement de référence des vulnérabilités web
  • Cybermalveillance.gouv.fr — Assistance et prévention du risque numérique

FAQ

Quelle est la différence entre chiffrement symétrique et asymétrique ?
Le chiffrement symétrique utilise une seule clé partagée pour chiffrer et déchiffrer (rapide, mais nécessite de transmettre la clé de manière sécurisée). Le chiffrement asymétrique utilise une paire de clés : une clé publique pour chiffrer et une clé privée pour déchiffrer (résout le problème de distribution, mais plus lent). En pratique, HTTPS combine les deux : asymétrique pour l'échange de clés, symétrique pour le transfert de données.
Qu'est-ce que le OWASP Top 10 ?
Le OWASP Top 10 est un classement publié par l'Open Web Application Security Project qui liste les 10 vulnérabilités les plus critiques des applications web. Il est mis à jour régulièrement et constitue la référence pour les développeurs, les pentesters et les audits de sécurité. Les failles les plus connues sont l'injection SQL, le XSS et les problèmes d'authentification.
Pourquoi MD5 et SHA-1 sont-ils considérés comme obsolètes ?
Des chercheurs ont démontré qu'il est possible de produire des collisions (deux données différentes ayant le même hash) pour MD5 et SHA-1. Cela compromet leur fiabilité pour la vérification d'intégrité et le stockage de mots de passe. Il est recommandé d'utiliser SHA-256, SHA-3 ou bcrypt (pour les mots de passe).
Comment vérifier qu'un site utilise HTTPS correctement ?
Vérifiez le cadenas dans la barre d'adresse de votre navigateur. Cliquez dessus pour consulter les détails du certificat : il doit être valide, non expiré et émis par une autorité de certification reconnue. Pour un audit technique, des outils comme SSL Labs (ssllabs.com/ssltest) analysent la configuration TLS d'un serveur et signalent les faiblesses.
Qu'est-ce qu'une injection SQL ?
Une injection SQL est une attaque où l'attaquant insère du code SQL malveillant dans un champ de saisie (formulaire, URL) pour manipuler la base de données. Il peut ainsi contourner l'authentification, extraire des données sensibles ou modifier le contenu. La protection principale est l'utilisation de requêtes paramétrées (prepared statements) qui séparent le code SQL des données utilisateur.