Skip to main content
Tweeted twitter.com/StackSecurity/status/1615000937214447621
deleted 23 characters in body
Source Link
Linda Wu
  • 83
  • 1
  • 1
  • 4

In TLS 1.2, the cipher suite lists the algorithms for everything (key exchange, signature, cipher/MAC). So by choosing a suite, all the algorithms will have been negotiated. And I can see them from the Security tab in Chrome DevTools, such as:

TLS 1.2, ECDHE_RSA with P-256, and AES_128_GCM or

TLS 1.2, ECDHE_ECDSA with X25519, and CHACHA20_POLY1305

In TLS 1.3, the key exchange and signature algorithms are no longer included in the cipher suite. So I'm wondering how they are negotiated. Are they negotiated by a separate method? And is there a way I can find out which algorithms are chosen? In Chrome DevTools, I see results like:

TLS 1.3, X25519, and AES_128_GCM or

TLS 1.3, X25519, and CHACHA20_POLY1305

Which only tells me Curve25519 is picked for the elliptic curve. It seems the following combinations of key exchange and signature algorithms are all possible: FFDHE_ECDSA, FFDHE_EdDSA, ECDHE_RSA, ECDHE_ECDSA, ECDHE_EdDSA

So how do I tell?

In TLS 1.2, the cipher suite lists the algorithms for everything (key exchange, signature, cipher/MAC). So by choosing a suite, all the algorithms will have been negotiated. And I can see them from the Security tab in Chrome DevTools, such as:

TLS 1.2, ECDHE_RSA with P-256, and AES_128_GCM or

TLS 1.2, ECDHE_ECDSA with X25519, and CHACHA20_POLY1305

In TLS 1.3, the key exchange and signature algorithms are no longer included in the cipher suite. So I'm wondering how they are negotiated. Are they negotiated by a separate method? And is there a way I can find out which algorithms are chosen? In Chrome DevTools, I see results like:

TLS 1.3, X25519, and AES_128_GCM or

TLS 1.3, X25519, and CHACHA20_POLY1305

Which only tells me Curve25519 is picked for the elliptic curve. It seems the following combinations of key exchange and signature algorithms are all possible: FFDHE_ECDSA, FFDHE_EdDSA, ECDHE_RSA, ECDHE_ECDSA, ECDHE_EdDSA

So how do I tell?

In TLS 1.2, the cipher suite lists the algorithms for everything (key exchange, signature, cipher/MAC). So by choosing a suite, all the algorithms will have been negotiated. And I can see them from the Security tab in Chrome DevTools, such as:

TLS 1.2, ECDHE_RSA with P-256, and AES_128_GCM or

TLS 1.2, ECDHE_ECDSA with X25519, and CHACHA20_POLY1305

In TLS 1.3, the key exchange and signature algorithms are no longer included in the cipher suite. So I'm wondering how they are negotiated. Are they negotiated by a separate method? And is there a way I can find out which algorithms are chosen? In Chrome DevTools, I see results like:

TLS 1.3, X25519, and AES_128_GCM or

TLS 1.3, X25519, and CHACHA20_POLY1305

Which only tells me Curve25519 is picked. It seems the following combinations of key exchange and signature algorithms are all possible: FFDHE_ECDSA, FFDHE_EdDSA, ECDHE_RSA, ECDHE_ECDSA, ECDHE_EdDSA

So how do I tell?

Source Link
Linda Wu
  • 83
  • 1
  • 1
  • 4

How are key exchange and signature algorithms negotiated in TLS 1.3

In TLS 1.2, the cipher suite lists the algorithms for everything (key exchange, signature, cipher/MAC). So by choosing a suite, all the algorithms will have been negotiated. And I can see them from the Security tab in Chrome DevTools, such as:

TLS 1.2, ECDHE_RSA with P-256, and AES_128_GCM or

TLS 1.2, ECDHE_ECDSA with X25519, and CHACHA20_POLY1305

In TLS 1.3, the key exchange and signature algorithms are no longer included in the cipher suite. So I'm wondering how they are negotiated. Are they negotiated by a separate method? And is there a way I can find out which algorithms are chosen? In Chrome DevTools, I see results like:

TLS 1.3, X25519, and AES_128_GCM or

TLS 1.3, X25519, and CHACHA20_POLY1305

Which only tells me Curve25519 is picked for the elliptic curve. It seems the following combinations of key exchange and signature algorithms are all possible: FFDHE_ECDSA, FFDHE_EdDSA, ECDHE_RSA, ECDHE_ECDSA, ECDHE_EdDSA

So how do I tell?