['Remove the cipher suite from the list of cipher suites supported by your server or set the cipher suite ', 'order explicitly where forward secret cipher suites are preferred over non-forawrd secret ones.']
['Remove the cipher suite from the list of cipher suites supported by your server.']
['Always prefer cipher suites with PFS property over the non-PFS ones. Note that performance ', 'considerations implies preferring {kex_ecdh_ephemeral} over {kex_dh_ephemeral}.']
['Remove the cipher suite from the list of cipher suites supported by your server or set the cipher suite ', 'order explicitly and GCM cipher suites be preferred over CBC ones.']
['Remove the cipher suite from the list of cipher suites supported by your server or at least set the ', 'cipher suite order explicitly and any cipher suite modes be preferred over ciphers suites with CBC modes.']
['If your application or requirements specifically call for the use of a ', '{concept_message_authentication_code} that does not provide {concept_authenticated_encryption} prefer ', '{concept_block_cipher_mode} (eg: {block_cipher_mode_ccm}, {block_cipher_mode_gcm} or ', '{concept_message_authentication_code} (eg: {mac_poly1305}) that proved authenticated encryption over the ', 'ones which does not provide it. In case of a {concept_message_authentication_code_hash_based} prefer ', '{concept_message_authentication_code} based on {cryptographic_hash_function_sha2} over the ones based on ', '{cryptographic_hash_function_sha1}.']
["Remove any intermediate or backward compatible cipher suite to make possible preferring client's cipher ", 'suite order without any security consideration.']
['Prefer cipher suites with authenticated encryption (AE) attribute.']
["Remove any intermediate or backward compatible cipher suite to make possible preferring client's cipher ", 'suite order without any security consideration.']
['If your application or requirements specifically call for the use of a ', '{concept_message_authentication_code} that does not provide {concept_authenticated_encryption} prefer ', '{concept_block_cipher_mode} (eg: {block_cipher_mode_ccm}, {block_cipher_mode_gcm} or ', '{concept_message_authentication_code} (eg: {mac_poly1305}) that proved authenticated encryption over the ', 'ones which does not provide it.']
['Prefer cipher suites with greater key size of AES (eg: perfer AES-256 over AES-128).']
['Prefer {concept_stream_cipher} {encryption_algorithm_chacha20} in case of mobile devices.']
['Remove the cipher suite from the list of cipher suites supported by your server.']
['Always prefer cipher suites with PFS property over the non-PFS ones. Note that performance ', 'considerations implies preferring {kex_ecdh_ephemeral} over {kex_dh_ephemeral}.']
['Always prefer cipher suites with FS property over the non-FS ones.']
['If your application or requirements specifically call for the use of a ', '{concept_message_authentication_code} that does not provide {concept_authenticated_encryption} prefer ', '{concept_block_cipher_mode} (eg: {block_cipher_mode_ccm}, {block_cipher_mode_gcm} or ', '{concept_message_authentication_code} (eg: {mac_poly1305}) that proved authenticated encryption over the ', 'ones which does not provide it. In case of a {concept_message_authentication_code_hash_based} prefer ', '{concept_message_authentication_code} based on {cryptographic_hash_function_sha2} over the ones based on ', '{cryptographic_hash_function_sha1}.']
['If your application or requirements specifically call for the use of a ', '{concept_message_authentication_code} that does not provide {concept_authenticated_encryption} prefer ', '{concept_block_cipher_mode} (eg: {block_cipher_mode_ccm}, {block_cipher_mode_gcm} or ', '{concept_message_authentication_code} (eg: {mac_poly1305}) that proved authenticated encryption over the ', 'ones which does not provide it. In case of a {concept_message_authentication_code_hash_based} prefer ', '{concept_message_authentication_code} based on {cryptographic_hash_function_sha2} over the ones based on ', '{cryptographic_hash_function_sha1}.']
["Remove any intermediate or backward compatible cipher suite to make possible preferring client's cipher ", 'suite order without any security consideration.']
| Grade | Order | Cipher suite name | Findings |
|---|---|---|---|
|
A
|
1 | TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 | |
|
A
|
2 | TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 | |
|
B-
|
3 | TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA |
Moderate Block Cipher Mode of Operation (CBC)
Good MAC Algorithm (SHA-1)
Moderate Authenticated Encryption Preference (CBC preferred over GCM)
|
|
A
|
4 | TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 | |
|
B
|
5 | TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA |
Moderate Block Cipher Mode of Operation (CBC)
Good MAC Algorithm (SHA-1)
|
|
B
|
6 | TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 |
Moderate Block Cipher Mode of Operation (CBC)
|
|
B
|
7 | TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 |
Moderate Block Cipher Mode of Operation (CBC)
|
|
A
|
8 | TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 | |
|
A
|
9 | TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 | |
|
B-
|
10 | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA |
Moderate Block Cipher Mode of Operation (CBC)
Good MAC Algorithm (SHA-1)
Moderate Authenticated Encryption Preference (CBC preferred over GCM)
|
|
C-
|
11 | TLS_RSA_WITH_AES_128_GCM_SHA256 |
Weak Key Exchange Algorithm (RSA)
Weak Forward Secrecy (non forward secret algorithm)
Weak Forward Secret Key Exchange Algorithm Preference (non-FS key exchange preferred over FS)
|
|
C-
|
12 | TLS_RSA_WITH_AES_128_CBC_SHA |
Weak Key Exchange Algorithm (RSA)
Moderate Block Cipher Mode of Operation (CBC)
Good MAC Algorithm (SHA-1)
Weak Forward Secrecy (non forward secret algorithm)
Weak Forward Secret Key Exchange Algorithm Preference (non-FS key exchange preferred over FS)
|
|
A
|
13 | TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 | |
|
B
|
14 | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA |
Moderate Block Cipher Mode of Operation (CBC)
Good MAC Algorithm (SHA-1)
|
|
C-
|
15 | TLS_RSA_WITH_AES_256_GCM_SHA384 |
Weak Key Exchange Algorithm (RSA)
Weak Forward Secrecy (non forward secret algorithm)
Weak Forward Secret Key Exchange Algorithm Preference (non-FS key exchange preferred over FS)
|
|
C-
|
16 | TLS_RSA_WITH_AES_256_CBC_SHA |
Weak Key Exchange Algorithm (RSA)
Moderate Block Cipher Mode of Operation (CBC)
Good MAC Algorithm (SHA-1)
Weak Forward Secrecy (non forward secret algorithm)
Weak Forward Secret Key Exchange Algorithm Preference (non-FS key exchange preferred over FS)
|
|
B
|
17 | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 |
Moderate Block Cipher Mode of Operation (CBC)
|
|
C-
|
18 | TLS_RSA_WITH_AES_128_CBC_SHA256 |
Weak Key Exchange Algorithm (RSA)
Moderate Block Cipher Mode of Operation (CBC)
Weak Forward Secrecy (non forward secret algorithm)
Weak Forward Secret Key Exchange Algorithm Preference (non-FS key exchange preferred over FS)
|
|
B
|
19 | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 |
Moderate Block Cipher Mode of Operation (CBC)
|
|
C
|
20 | TLS_RSA_WITH_AES_256_CBC_SHA256 |
Weak Key Exchange Algorithm (RSA)
Moderate Block Cipher Mode of Operation (CBC)
Weak Forward Secrecy (non forward secret algorithm)
|
| Grade | Order | Cipher suite name | Findings |
|---|---|---|---|
|
A+
|
TLS_AES_128_GCM_SHA256 | ||
|
A+
|
TLS_AES_256_GCM_SHA384 | ||
|
A
|
TLS_CHACHA20_POLY1305_SHA256 |
['Add at least one elliptic curve to the list of elliptic curves supported by your server designed by ', 'independent researchers and prefer them as server configuration makes it possible.']
['Add at least one quantum-safe elliptic curve to the list of elliptic curves supported by your server and prefer ', 'them as server configuration makes it possible.']
['Add at least one elliptic curve to the list of elliptic curves supported by your server designed by ', 'independent researchers and prefer them as server configuration makes it possible.']
['Always prefer {concept_elliptic_curve} variants that secure against cryptanalytic attacks by a quantum computer ', 'over ones that are not.']
| Grade | Name | Code | Key Size | Trusted Design | Post Quantum Safe | Findings |
|---|---|---|---|---|---|---|
|
A+
|
X25519MLKEM768 | 0x11EC | 1120 | Yes | Yes | |
|
A+
|
x25519/Kyber-768-r3 | 0x6399 | 768 | Yes | Yes | |
|
A
|
Curve25519 | 0x001D | 256 | Yes | No | |
|
A
|
prime256v1 | 0x0017 | 256 | No | No | |
|
A
|
secp384r1 | 0x0018 | 384 | No | No | |
|
A
|
secp521r1 | 0x0019 | 521 | No | No |
['Ensure that one of the values of the subject alternative names extension of the certificate provided by ', 'your server matches to the domain name. Consider the fact that old client (eg: browsers released before ', '2003) may not support{public_key_x509_extension_subject_alternative_names_criticism} the subject ', 'alternative names extension.']
['Ensure the common name part of the subject field of the certificate provided by your server matches ', 'to the domain name.']
['Always chose {concept_certificate_authority}s which support {public_key_x509_revocation_ocsp}. Prefer ', 'server implementations which support {public_key_x509_revocation_ocsp_stapling} or use a proxy ', 'application make up for this shortcomings.']
['Take into consideration the advantages of a {public_key_x509_validation_domain} (eg: completely ', 'automated certificate {public_key_x509_renewal} process, possibly short validation period', '{public_key_x509_revocation_criticism}) over minor user experience improvement of an extended validation ', 'in certain client applications and the risk of a potential service outage caused by the manual ', 'certificate renewal{public_key_x509_validation_extended_criticism}.']
['Restore the certificate, provided by your server, to the latest one, if it is available and its validity ', 'period has not ended yet, or initiate {public_key_x509_renewal} process if its validity period has ended ', 'yet. If there no available certificate create a completely new one and get is signed with a certificate ', 'authority.']
['Always provide certificate by your server to use signature algorithms with hash functions that are ', 'strong just like SHA-2 signature algorithms.']
['Add the {cryptography_protocol_tls1_3} to the list of TLS versions accepted by your server.']
| Grade | Enabled Protocol | Findings |
|---|---|---|
|
A+
|
TLS 1.3 | |
|
A+
|
TLS 1.2 |