QA
Intermediate LevelAuthentication & Authorization

How does Mutual TLS (mTLS) Client Certificate Authentication bind identity to TCP connections?

❓ Interview Prompt: Explain Mutual TLS (mTLS) handshakes, X.509 client certificates, Certificate Authority (CA) verification, and Zero-Trust networking.

Standard TLS only authenticates the server to the client (one-way). Mutual TLS (mTLS) requires both client and server to authenticate each other using X.509 digital certificates during the initial TLS handshake.

mTLS Handshake Mechanics:

1
Server Certificate: Server sends X.509 certificate; client validates against trusted root CAs.
2
Certificate Request: Server requests client certificate.
3
Client Certificate: Client presents its X.509 digital certificate.
4
Validation: Server verifies client certificate chain against internal private CA.
5
Channel Binding: Identity is bound directly to the encrypted TCP socket layer, completely bypassing application passwords!

Code Implementation Example

typescript
import https from 'https';
import fs from 'fs';

// Node.js HTTPS server enforcing mTLS client certificate validation
const serverOptions = {
  key: fs.readFileSync('server-key.pem'),
  cert: fs.readFileSync('server-cert.pem'),
  ca: fs.readFileSync('internal-ca-cert.pem'), // Internal CA
  requestCert: true,                          // Require client certificate
  rejectUnauthorized: true                    // Reject unauthenticated clients
};

https.createServer(serverOptions, (req, res) => {
  const clientCert = (req.socket as https.TLSSocket).getPeerCertificate();
  console.log('Authenticated Client CN:', clientCert.subject.CN);
  res.end('mTLS Authentication Successful');
});
💡Node.js HTTPS server enforcing mTLS client certificate verification.
🎯 Interview Key Takeaway

mTLS authenticates both client and server via X.509 certificates during the TLS handshake, establishing zero-trust transport channels.

#mTLS#Certificates#TLS#Zero-Trust#Intermediate
Back to all Authentication & Authorization Questions→

More Authentication & Authorization Interview Questions

Beginner LevelAuthentication & Authorization

Compare JWT Token Authentication versus Stateful Sessions, and explain OAuth 2.0 PKCE flow.

Beginner LevelAuthentication & Authorization

What is the fundamental difference between Authentication (AuthN) and Authorization (AuthZ)?

Beginner LevelAuthentication & Authorization

Why should passwords never be stored in plain text and how do bcrypt and Argon2id work?