7
$\begingroup$

Sorry if I missed which community to ask.

Recently I stumbled upon the fact that the same cipher suite can be designated by two different IDs, and this is not a typo, nor has it happened on a single occasion.

For instance: http://www.thesprawl.org/research/tls-and-ssl-cipher-suites

  • TLS_ECDH_ECDSA_WITH_NULL_SHA is 0x0047 and 0xC001
  • TLS_ECDH_ECDSA_WITH_RC4_128_SHA is 0x0048 and 0xC002
  • SSL_RSA_FIPS_WITH_DES_CBC_SHA is 0xFEFE and 0xFFE1
  • SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA is 0xFEFF and 0xFFE0

And few others more, like TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA and TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA.

So, the question is: why are two codes used to designate the same cipher suite? Is it a marker of legacy (broken?), used to distinguish an implementation, or just a merger of two standards? Or is it something else?

$\endgroup$
  • $\begingroup$ TLS fingerprints. 0x0047 0%, 0xc001 0.07% $\endgroup$ – kelalaka Nov 1 '18 at 18:55
  • $\begingroup$ Only pocketbeat uses 0x0047 and it is belong to Elasticsearch and all your first numbers belongs to them. Here a list from IBM $\endgroup$ – kelalaka Nov 1 '18 at 19:05
  • 2
    $\begingroup$ It should be noted that all 4 of those examples are deprecated and should not be used $\endgroup$ – Richie Frame Nov 1 '18 at 19:41
  • 2
    $\begingroup$ The official registry is iana.org/assignments/tls-parameters/… . All of your first numbers are unregistered and in violation of the standard. C001,C002 are standard but insecure and hence unpopular. FFxx are nonstandard but permitted. $\endgroup$ – dave_thompson_085 Nov 2 '18 at 2:55
6
$\begingroup$

These numbers belong to ElasticSearch;

  • TLS_ECDH_ECDSA_WITH_NULL_SHA is 0x0047
  • TLS_ECDH_ECDSA_WITH_RC4_128_SHA is 0x0048
  • SSL_RSA_FIPS_WITH_DES_CBC_SHA is 0xFEFE
  • SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA is 0xFEFF

and 0x0047 has almost 0% at tlsfingerprint.io

The second numbers (0xC001,0xC001,0xFFE1,0xFFE0) belong to SSL V2.

The implementations can have different control by the maintainers, therefore it is good to have different numbers. It is bad that your original source doesn't list where they took the numbers.


Note: in TLS 1.3, there are only 5 cipher suites with their id's;

  • {0x13,0x01} - TLS_AES_256_GCM_SHA384
  • {0x13,0x02} - TLS_CHACHA20_POLY1305_SHA256
  • {0x13,0x03} - TLS_AES_128_GCM_SHA256
  • {0x13,0x04} - TLS_AES_128_CCM_8_SHA256
  • {0x13,0x05} - TLS_AES_128_CCM_SHA256
$\endgroup$
  • $\begingroup$ So, am I correct this is just a merge of two standards, Elastic and SSL? $\endgroup$ – Yury Schkatula Nov 1 '18 at 22:25
  • $\begingroup$ @YurySchkatula They just merge some lists, maybe contains more than two, as BearSLL/TLS... One has to look at all. $\endgroup$ – kelalaka Nov 1 '18 at 22:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.