Forum Discussion
Force Client-SSL Profile to X25519, Instead of Post-Quantum Cryptography
There is a TLS implementation that was working perfectly before, even though, there is SSL ClientHello extension addition, by a middle-box device.
With Clienthello packets of 540bytes, this worked perfectly. An example is the "Extension Unknown Type 17516" added there.
Recent tests show the extension addition is no longer working. The only significant change is that CLIENTSSL HELLO packets are now fragmented on TLS 1.3 with the Post-Quantum Cryptography implementation on clients (browsers), with CLIENTSSL HELLO now regularly abover 1500 bytes causing fragmentation.
How is it possible if F5 is Client-side server to force all clients to use X25519 ciphers instead of X25519Kyber512Draft00 and X25519Kyber768Draft00 to ensure that full flow is not broken. is there any changes on CLIENTSSL Profile to implement this. Traffic Flow is Mobile browser--Mobile Packet gateway (header enrichment)-- F5 (Server)
1 Reply
- Jeff_Granieri
Employee
Hi Kazeem_Yusuf ,
Enabling PQC ciphers can increase the size of the Client_Hello, reference https://datatracker.ietf.org/doc/draft-ietf-uta-pqc-app/ See Section 4.1
" Challenges: - The size of the hybrid key exchange algorithm key share may exceed the Maximum Transmission Unit (MTU), potentially causing the ClientHello message to be fragmented across multiple packets. In TLS, this results in multiple TCP segments. In DTLS, handshake messages are explicitly fragmented at the record layer as specified in [RFC9147], with each fragment sent in its own UDP datagram. In both cases, larger ClientHello messages increase latency and the risk of handshake delay, especially in lossy networks."
Have you tried any custom cipher groups?
Here is something to test out in a lower / non-prod environment:This locks down DH groups to only X25519, it will disable the Kyber Drafts. *** Older SSL Clients might have issues with these settings ***
tmsh create ltm cipher rule rule_X25519_only cipher DEFAULT dh-groups X25519 signature-algorithms DEFAULT
tmsh create ltm cipher group group_X25519_only allow add { rule_X25519_only }
tmsh modify ltm profile client-ssl <your_client_ssl_profile_name> ciphers group_X25519_only
If you need to add support for secp256r1(P-256) for older SSL clients then add this string to the DH groups "X25519:secp256r1:secp384r1" 1st tmsh line above.
Give that a go hopefully it helps
Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com