Que sont des suites cryptographiques ?

Les suites cryptographiques (cipher suites en anglais) constituent un élément important de la configuration d'un serveur. Il s'agit de combinaisons définies de différents algorithmes qui sont utilisés dans le trafic crypté entre le serveur et l'utilisateur. Ils comprennent les éléments suivants, qui, ensemble, définissent les suites cryptographiques :

  • 1 L'algorithme d'échange de clés, qui détermine si et comment l'authentification a lieu pendant la poignée de main (handshake).
  • 2 L'algorithme de cryptage en masse, qui détermine la manière dont le trafic est crypté.
  • 3 L'algorithme de code d'authentification des messages, également connu sous le nom de MAC, qui détermine comment chaque bloc de trafic est haché en un message crypté de manière cryptographique.
  • 4 La fonction PRF ou pseudo-aléatoire, une fonction dite de sel qui sert de clé secrète cryptographique pour lire le bloc chaque fois que le MAC veut crypter un bloc de trafic.

Poignée de main (handshake)

Une poignée de main est effectuée pour chaque connexion individuelle entre le serveur et un visiteur du site web. Au cours de cette poignée de main, l'utilisateur cherche à entrer en contact avec le serveur par le biais d'un ClientHello et d'un ServerHello, où les deux s'échangent des informations sur les suites cryptographiques qui leur sont familières. Le serveur utilise ensuite la liste des suites cryptographiques correspondantes pour déterminer laquelle est la plus utile, et utilise les protocoles inclus dans cette suite cryptographique pour chiffrer davantage le trafic.

Diffie-Hellman

La configuration de la suite de chiffrement est très importante pour déterminer l'option la plus sûre pour le serveur. Le choix du chiffrement le plus sûr dépend en grande partie des préférences personnelles du propriétaire du serveur, mais la préférence est donnée aux suites de chiffrement qui utilisent l'ECDHE, un protocole qui utilise l'algorithme ECC, très difficile à déchiffrer.

De plus, examinons quel protocole cryptographique est utilisé. Désormais la norme est TLS 1.2. Ses prédécesseurs, SSL 2.0 et 3.0, étaient considérés comme peu sûrs en raison de leurs faiblesses qui pourraient inviter les attaques de Man in the Middle. Par exemple, la poignée de main dans SSL 2.0 n'était pas sécurisée, permettant à un pirate de choisir une suite de chiffrement plus faible que d'habitude.

Configuration

L'administrateur d'un site internet peut s'assurer que les meilleures suites cryptographiques sont utilisées en mettant régulièrement à jour et en utilisant les bonnes configurations. Un serveur web utilise des logiciels, tels qu'Apache ou Nginx, qui utilisent à leur tour des bibliothèques logicielles telles qu'OpenSSL. Ces bibliothèques contiennent toutes les suites de chiffrement connues. La mise à jour et l'actualisation régulières d'OpenSSL sont donc très importantes, car une suite de chiffrement doit être stockée dans la bibliothèque avant de pouvoir être appelée et utilisée par le logiciel du serveur.