Authentication Protocols 101


Understanding Authentication in Security Protocols

Authentication is a cornerstone of secure communications β€” but not all authentication guarantees the same thing. In this post, we break down the three primary types:

  • βœ… Aliveness
  • πŸ” Mutual Communication
  • πŸ”’ Data Agreement

We’ll walk through simple protocol examples, explain what guarantees they provide, and illustrate them with message flowcharts.


πŸ“˜ Quick Definitions

TypeWhat You’re Looking For
AlivenessDid one party receive a fresh response that only the other party could have generated?
Mutual CommunicationDid both parties actively exchange and verify fresh, identity-bound responses?
Data AgreementDo both parties agree on specific values (e.g., session keys), and know the other agrees too?

Example 1: Aliveness

Protocol A

1. A β†’ B: A, Na  
2. B β†’ A: {Na}KAB

Flowchart

example1

Analysis

  • A receives {Na} encrypted with shared key KAB.
  • βœ… A learns B is alive and knows KAB.
  • ❌ B doesn’t authenticate A.

Authentication Type: Aliveness (A about B)


Example 2: Mutual Communication

Protocol B

1. A β†’ B: A, Na  
2. B β†’ A: {Na, Nb}KAB  
3. A β†’ B: {Nb}KAB

Flowchart

example2

Analysis

  • Each party sends and verifies a fresh nonce.
  • Both know the other is involved in the session.

Authentication Type: Mutual Communication


Example 3: Data Agreement

Protocol C

1. A β†’ B: A, Na  
2. B β†’ A: {Na, Kab}KAB  
3. A β†’ B: {Kab}KAB

Flowchart

example3

Analysis

  • B proposes a new session key Kab.
  • A accepts and confirms it.
  • βœ… They both agree on Kab and know the other agrees.

Authentication Type: Data Agreement


Example 4: Replay Attack Vulnerability

Protocol X

1. A β†’ B: A, Na  
2. B β†’ A: {Na, Nb}KAB  
3. A β†’ B: {Nb}KAB  
4. A β†’ B: {Message}KAB

Flowchart

example4

Flaw

  • An attacker can replay a full session.
  • B has no way to check if the message is fresh.

Fix

3. A β†’ B: {Na, Nb}KAB  
4. A β†’ B: {Message, Na, Nb}KAB

This binds the final message to the current session.


Summary Table

ProtocolAuthentication
Protocol AAliveness (A about B)
Protocol BMutual Communication
Protocol CData Agreement
Protocol X❌ Vulnerable to Replay Attack

Theory Meets Practice: Authentication in Common Protocols

Let’s now tie the theory of aliveness, mutual communication, and data agreement into real-world authentication protocols.


NTLM (Windows Challenge-Response)

example-ntlm

  • βœ… Aliveness (Server verifies the client)
  • ❌ No mutual communication
  • ❌ No data agreement
  • ⚠️ Vulnerable to pass-the-hash attacks

Kerberos (Ticket-Based Authentication)

example-kerberos

  • βœ… Aliveness
  • βœ… Mutual Communication
  • βœ… Data Agreement (on session key)
  • πŸ’‘ Used in Active Directory environments

LDAP (Lightweight Directory Access Protocol)

LDAP by itself is a directory lookup protocol. Authentication is often done via:

  • Simple Bind (plaintext β€” insecure unless wrapped in TLS)
  • SASL Bind or Kerberos-backed
  • ❌ No built-in cryptographic challenge
  • ⚠️ Use with LDAPS or external auth

RADIUS (Remote Authentication Dial-In User Service)

example-radius

  • βœ… Aliveness (of client)
  • ❌ No mutual authentication unless extended via EAP
  • ⚠️ Use with EAP-TLS or move to TACACS+ for command-level controls

Comparison Table

ProtocolAlivenessMutualData AgreementNotes
NTLMβœ…βŒβŒLegacy protocol, pass-the-hash vulnerable
Kerberosβœ…βœ…βœ…Secure ticketing and key agreement
LDAP❌❌❌Needs TLS or Kerberos for security
RADIUSβœ…βŒβŒPair with EAP for stronger auth

Further Reading & Tools