Skip to main content

3.5. The KRB_PRIV Exchange

Overview

The KRB_PRIV message provides both confidentiality and integrity protection for application data exchanged between principals. The user data is encrypted and integrity-protected.

Purpose

KRB_PRIV is used when:

  • Both confidentiality and integrity protection are required
  • Sensitive data must be protected from eavesdropping
  • Complete security for the data exchange is needed

Message Structure

KRB_PRIV contains:

  • Encrypted data including:
    • User data
    • Timestamp (for replay detection)
    • Sequence number (optional)
    • Sender and recipient addresses (optional)

Generation of KRB_PRIV Message

Sender:

  1. Constructs plaintext message with user data
  2. Adds timestamp and optional sequence number
  3. Encrypts entire message using shared key
  4. Transmits encrypted message

Receipt of KRB_PRIV Message

Receiver:

  1. Decrypts message using shared key
  2. Verifies timestamp (replay protection)
  3. Checks sequence number if used
  4. Extracts user data

Security Properties

  • Confidentiality: Encryption protects data from eavesdropping
  • Integrity: Encryption scheme provides integrity protection
  • Replay Protection: Timestamp and sequence number
  • Complete Protection: Both confidentiality and integrity

Comparison with KRB_SAFE

  • KRB_PRIV provides confidentiality; KRB_SAFE does not
  • KRB_PRIV has higher computational overhead
  • KRB_SAFE may be preferred when confidentiality is not required

Reference

For complete technical details, refer to RFC 4120 Section 3.5.