TLS Mind Map
During audits and penetration tests, we’re facing bad practice in SSL/TLS configurations. Some of the issues are obvious when others are more complicated to observe, like for exemple the reliability of CAMELLIA 128. In this context, to solve this problem, we made a visual reprensentaion to quickly determine a ciphersuite’s trust. The sources are available in LaTeX on GitHub.
This mindmap presents the state of the art of TLS ciphersuits. Its first functionnality is to offer an explicit reading for dangerous items. To be readable, the dangerous branchs (like EXPORT or NULL) have been cut after the first identified danger.
It illustrates recommandations about usage according to RFC, NIST and the french security agency, ANSSI.
These recommandations are structured in 4 categories:
Recommanded: The recommanded algorithms are chosen according to the state of the art in Cryptography. These algorithms should be used.
Standard: The ”standard” algorithms are defined by algorithm without any recommandation either any known problems. These algorithms can be used.
Deprecated : The deprecated algorithms are algorithms with known weakness or problems but needed for legacy. These algorithms shouldn’t be used. However, for that the protocol might be used to work with some old browsers, they still could be used in acceptance of the risk within its usage.
Dangerous : The dangerous algorithms expose integrity, confidentiality or authenticity. These algorithms can be classified as dangerous for many reasons: by design (Anon and NULL), weak size of key (DES,IDEA,EXPORT) or weakness in implementation (RC4).
Algorithms are presented following the order of ciphersuits reading, i.e. :
“Key Exchange Protocol” (underlined) is the protocol used in Server and Client Key Exchange.
“Authentication Protocol” (italics) is the protocol used to signed the communication. This protocol can be substituted with Key Exchange Protocol for some ciphersuits.
“Symetric Encryption Algorithm” is the cipher algorithm used for the communication.
“Encryption Mode” is the block cipher mode used by the encryption algorithm.
“Hash algorithm” is used to control integrity of packet with MAC.
For practical reason, experimental algorithms, like CECPQ1_ECDSA, won’t be presented. GOST en FORTENZA algorithms won’t be shown either and must not be used.