Get a Pentest and security assessment of your IT network.

Cyber Security

TLS Client Certificates: Detectable?

TL;DR

Yes, an eavesdropper can detect if a TLS client-side certificate is being used during the TLS handshake. While the contents of the certificate are encrypted in transit, the fact that a certificate is presented at all is visible. This is because the handshake process differs when a certificate is involved.

Understanding the Handshake

TLS (Transport Layer Security) establishes a secure connection between a client and server. The handshake is how this happens. When using a client-side certificate, an extra step is added to the standard handshake process. This difference is what allows detection.

How Eavesdroppers Detect Certificate Use

  1. Standard TLS Handshake: The client sends a ‘ClientHello’ message. The server responds with a ‘ServerHello’, certificate, and other information.
  2. TLS with Client Certificate: The client still sends a ‘ClientHello’. However, the server will respond with a request for the client’s certificate before sending its own. This is typically indicated by a specific TLS extension or message type.

An eavesdropper monitoring network traffic can see this extra exchange and deduce that a client certificate is being used.

Steps to Verify Detection

  1. Packet Capture: Use a tool like Wireshark to capture the TLS handshake between your client and server.
  2. Filter for TLS Handshake Messages: In Wireshark, use a filter such as ssl or tls to isolate TLS traffic.
  3. Examine the Handshake Sequence: Look for the ‘Certificate Request’ message from the server if a client certificate is being used. This message isn’t present in standard handshakes without certificates.

Here’s an example of filtering in Wireshark:

filter: ssl.handshake.type == 13

(Where ’13’ represents the Certificate Request handshake message type)

Mitigation Strategies

Completely hiding certificate use is difficult, but you can make detection harder:

  • Always Present a Certificate: If possible, configure all clients to always present a certificate, even if it’s not strictly required. This makes the handshake look consistent regardless of whether authentication is needed.
  • Obfuscation (Limited Effectiveness): Some techniques attempt to add dummy TLS extensions or messages to obscure the real handshake flow. However, these are often detectable with careful analysis.
  • End-to-End Encryption: The most effective solution is end-to-end encryption where the data itself is encrypted before it reaches the TLS layer. This protects the content even if the TLS connection is compromised.

Important Considerations

  • Passive Eavesdropping vs. Active Attacks: Detection of certificate use is a passive attack – the eavesdropper simply observes traffic. Active attacks (e.g., man-in-the-middle) can compromise certificates directly.
  • Perfect Forward Secrecy (PFS): PFS helps protect past communication if a key is compromised, but doesn’t hide certificate use during the handshake.
Related posts
Cyber Security

Zip Codes & PII: Are They Personal Data?

Cyber Security

Zero-Day Vulnerabilities: User Defence Guide

Cyber Security

Zero Knowledge Voting with Trusted Server

Cyber Security

ZeroNet: 51% Attack Risks & Mitigation