TLS Mind Map – Suites cryptographiques

CERT-DVT Etude - Recherche

Lors de la réalisation par nos auditeurs de test d’intrusion, nous nous retrouvons fréquemment face à des problèmes de mauvaises pratiques sur la question des configurations SSL/TLS. Certains problèmes sont visibles facilement tandis que d’autres sont plus durs à aborder comme par exemple la solidité de CAMELLIA 128. Pour résoudre cette problématique, nous avons mis en place un visuel permettant d’appréhender rapidement la confiance que l’on peut accorder en une suite cryptographique.
Les sources en LaTeX, sont disponibles sur GitHub.



Cette mindmap représente l’état de l’art en matière de suites cryptographiques. Elle a été réalisée à des fins pratiques pour permettre une lecture rapide des éléments dangereux. Pour des raisons de lisibilité, les branches dites dangereuses telles que les suites EXPORT ou NULL sont tronquées après l’élément les déterminant comme dangereuses.

Cette carte représente les recommandations en accord avec les RFC, le NIST et l’ANSSI, telles que:

Recommandé : désigne les algorithmes et les suites cryptographiques considérés comme sûrs au vu de l’état de l’art

Standard : désigne un algorithme ou une ciphersuite n’étant sujet à aucune recommandation mais n’étant pas sujet à une contre-indication majeure.

Désuet : désigne les algorithmes étant considérés aujourd’hui comme faibles et exposés à certaines attaques. Cependant, ou qu’une mitigation existe côté client, ou que ce protocole soit nécessaire pour fonctionner avec d’anciens navigateurs, ils restent possibles à utiliser en acceptant le risque induit.

Dangereux : désigne les ciphersuites ne permettant aucune protection de la confidentialité, de l’authenticité ou de l’intégrité.
Elles peuvent être classées ainsi pour des principes de fonctionnement (Anon et NULL), des faibles tailles de clef (DES,IDEA,EXPORT), des faiblesses majeures dans le mécanisme de chiffrement (RC4).

De plus les algorithmes sont représentés dans l’ordre de lecture de la suite cryptographique, c’est à dire:

Protocole (Ici forcément TLS)

« Key Exchange Protocol » (en souligné) est le protocole utilisé pour l’échange de clef.

« Authentication Protocol » (en italique) est le protocole assurant l’authenticité de la connexion en étant utilisé pour la signature de la communication. Cette étape peut être facultative et à la charge de l’algorithme d’échange de clef.

« Symetric Encryption Algorithm » est l’algorithme utilisé pour chiffrer la communication.

« Encryption Mode » est le mode de chiffrement par bloc utilisé avec cet algorithme.

« Hash algorithm » est l’algorithme de hash utilisé pour le contrôle d’intégrité des messages.

Pour des raisons pratiques les algorithmes expérimentaux n’ont pas été représentés, tel que CECPQ1\_ECDSA, suites cryptographiques testées par Google dans son navigateur Chrome pour la Cryptographie Post Quantique. De même, l’algorithme GOST utilisé sous ses formes GOSTR341094 et GOSTR341001 n’a pas été représenté du fait du manque d’utilité et de son danger. En effet les attaques actuelles permettent de s’attaquer à l’algorithme de chiffrement symétrique GOST28147 en 2^101 opérations.

 

Pierre d’HUY