Knowledge Base

Cipher Suite

C

TLS_­ECDHE_­PSK_­WITH_­CHACHA20_­POLY1305_­SHA256

Summary

Name:
TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256
IANA Name:
TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256
Code:
(0xcc, 0xac)
OpenSSL Name:
ECDHE-PSK-CHACHA20-POLY1305
Protocol Versions:
TLS 1.2

Check your host!

Type a URL to analyze a service

Get a prompt and clear overview of your security configuration. Right now!

Components

A+
Key Exchange Method
Name

ECDHE (Elliptic-curve Diffie-Hellman Ephemeral)

Security

Ephemeral Elliptic-curve Diffie–Hellman[432][433] is a variant of Elliptic-curve Diffie–Hellman[114][115] key exchange that has forward secrecy[127][128][129][130], and does protect past sessions against future compromises. If long-term secret keys or passwords are compromised, encrypted communications and sessions recorded in the past cannot be retrieved and decrypted.

Recommendations

Always prefer cipher suites with PFS property over the non-PFS ones. Note that performance considerations implies preferring Ephemeral Elliptic-curve Diffie–Hellman[432][433] over Ephemeral Diffie-Hellman[405][406][407][408].

C
Authentication Method
Name

PSK

Security

The pre-shared key[160] can ensure authenticity[75][76][77] of the communicating parties mutually based on symmetric key[185][186][187]s that are shared in advance among the parties. Combined with a key exchange[133] that has forward secrecy[127][128][129][130] property algorithm can protect against dictionary attack[58][59]s by passive eavesdroppers (but not active attackers). Pre-shared keys with low entropy[126], may caused by a weakness[171][172][173] of random number generator[168][169][170], can be easily broken in brute-force attack[54]. Leading client applications do not use this algorithm. Unless your application or requirements specifically call for their use, it is generally safer to avoid cipher suites that are not adopted and supported by a critical mass of the industry.

Recommendations

If your application or requirements specifically call for the use of algorithms which are not used by the leading client applications set the cipher suite order explicitly and cipher suites used by the leading client applications be preferred over the ones which do not used by them.

A+
Encryption Type
Name

ChaCha20

Security

The stream cipher[182][183] ChaCha20[324][325][326][327] is a variant of the algorithm Salsa20[380][381][382] is considered secure [331][332] and gives better performance for mobile devices.

Recommendations

Prefer stream cipher[182][183] ChaCha20[324][325][326][327] in case of mobile devices.

A+
Encryption Key Size
Name

128

Security

The symmetric key[185][186][187] withkey size[184] more than 128 bits as it is should be according to National Institute of Standards and Technology[470][471] so it is not vulnerable to preimage attack[67] and it cannreliably prove that message came from the stated sender (its authenticity) and has not been changed, so connection is not open for a man-in-the-middle attack[61].

Recommendations

Remove the cipher suite from the list of cipher suites supported by your server.

A+
Message Authentication Code
Name

POLY1305

Security

message authentication code[135][136][137][138] is a message authentication code based on universal hashing[150][151][152][153] which is considered secure. It provides authenticated encryption[74] which simultaneously assure the confidentiality[91][92][93] and authenticity[75][76][77] of data. Together with stream cipher[182][183] ChaCha20ChaCha20-Poly1305[328][329][330] gives better performance on mobile devices under the same conditions of security.

Recommendations

If your application or requirements specifically call for the use of a message authentication code[135][136][137][138] that does not provide authenticated encryption[74] prefer block cipher mode of operation[82][83][84][85][86] (eg: counter with CBC-MAC[32][33][34], Galois/Counter Mode[46][47][48][49] or message authentication code[135][136][137][138] (eg: Poly1305[458][459]) that proved authenticated encryption over the ones which does not provide it. In case of a hashed message authentication code[139][140][141][142][143][144][145] prefer message authentication code[135][136][137][138] based on Secure Hash Algorithm 2[212][213][214] over the ones based on Secure Hash Algorithm 1[202][203][204].