Knowledge Base
Cipher Suite
C

TLS_­ECC_­SM4_­CBC_­SM3

Summary

Name:
TLS_ECC_SM4_CBC_SM3
IANA Name:
TLS_ECC_SM4_CBC_SM3
Code:
(0xe0, 0x13)
OpenSSL Name:
ECC-SM4-CBC-SM3
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

C
Key Exchange Method
Name

ECDH (Fixed Elliptic-curve Diffie-Hellman)

Security

Static Elliptic-curve Diffie–Hellman[434][435] key exchange is a variant of the Elliptic-curve Diffie–Hellman[114][115] key exchange protocol using elliptic-curve cryptography[118][119][120][121]. It has no forward secrecy[127][128][129][130], and does not protect past sessions against future compromises. If long-term secret keys or passwords are compromised, encrypted communications and sessions recorded in the past can be retrieved and decrypted. 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

Remove the cipher suite from the list of cipher suites supported by your server or replace the cipher suite with it's Ephemeral Diffie-Hellman[405][406][407][408] version.

B
Authentication Method
Name

SM2 (ShangMi 2)

Security

The SM2[605][606] is a digital signature[107][108][109][110] algorithm, part of the Chinese ShangMi (SM) cryptography standards, using elliptic-curve cryptography[118][119][120][121]. 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.

B
Encryption Type
Name

SM4 (ShangMi 4)

Security

Encryption algorithm SM4[598][599][600][601][602] is a block cipher[78][79][80][81] which is considered secure[603][604], but 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

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

B
Encryption Mode
Name

CBC (cipher block chaining)

Security

Encryption mode is cipher block chaining[28][29][30]. It is vulnerable[31] to timing attack[188] (eg: Lucky Thirteen attack[11][12]) and padding oracle attack[63][64][65][66] (eg: POODLE attack[13][14][15]).

Recommendations

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.

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+
Encryption Block Size
Name

128

Security

The block cipher[78][79][80][81] uses a block size[87] larger than 64 bits, so it is not vulnerable to sweet32 attack[22][23][24][25].

B
Message Authentication Code
Name

SM3 (ShangMi 3)

Security

The message authentication code[135][136][137][138] is a hashed message authentication code[139][140][141][142][143][144][145] where the underlaying cryptographic hash function[94][95][96][97] (SM3[610][611][612]) is considered secure[613][614]. It does not provide authenticated encryption[74] which simultaneously assure the confidentiality[91][92][93] and authenticity[75][76][77] of data.

Recommendations

Leading client applications do not use this type of message authentication code[135][136][137][138]. 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. If your application or requirements specifically call for the use of a message authentication code[135][136][137][138] prefer one that does provide authenticated encryption[74], like Poly1305[458][459] or block cipher mode of operation[82][83][84][85][86] counter with CBC-MAC[32][33][34] or Galois/Counter Mode[46][47][48][49]. 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 other cryptographic hash function[94][95][96][97].