Skip to main content

2.7. Transited Policy Checking

Overview

In Kerberos, the application server is ultimately responsible for accepting or rejecting authentication, and it SHOULD check that only suitably trusted KDCs are relied upon to authenticate a principal.

The Transited Field

The transited field in the ticket:

  • Identifies which realms (and thus which KDCs) were involved in the authentication process
  • Should normally be checked by application server
  • If any realms are untrusted to authenticate the indicated client principal (determined by realm-based policy), the authentication attempt MUST be rejected
  • Presence of trusted KDCs in this list does not provide guarantee; an untrusted KDC may have fabricated the list

TRANSITED-POLICY-CHECKED Flag

Although the end server ultimately decides whether authentication is valid, the KDC for the end server's realm MAY:

  • Apply a realm-specific policy for validating the transited field
  • Accept credentials for cross-realm authentication
  • When KDC applies such checks and accepts cross-realm authentication, it will set the TRANSITED-POLICY-CHECKED flag in service tickets

Client Options

  • Client MAY request that KDCs not check the transited field by setting the DISABLE-TRANSITED-CHECK flag
  • KDCs are encouraged but not required to honor this flag

Application Server Requirements

Application servers MUST either:

  • Do the transited-realm checks themselves, OR
  • Reject cross-realm tickets without TRANSITED-POLICY-CHECKED set

Reference

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