Zum Hauptinhalt springen

5.4. Specifications for the AS and TGS Exchanges (Spezifikationen für AS- und TGS-Austausche)

5.4. Specifications for the AS and TGS Exchanges (Spezifikationen für AS- und TGS-Austausche)

Overview (Überblick)

Dieser Abschnitt definiert die Nachrichtenstrukturen für den Authentication Service (AS, Authentifizierungsdienst) und den Ticket-Granting Service (TGS, Ticketvergabedienst). Diese Austausche teilen sich eine gemeinsame Nachrichtenstruktur mit geringfügigen Variationen.

5.4.1. KRB_KDC_REQ Definition

Die Anforderungsnachrichtenstruktur wird zwischen AS und TGS gemeinsam genutzt:

Common Structure (Gemeinsame Struktur)

Sowohl KRB_AS_REQ als auch KRB_TGS_REQ verwenden die KDC-REQ-Struktur mit:

  • pvno – Protocol version number (Protokollversionsnummer, 5)
  • msg-type – Message type (Nachrichtentyp, AS-REQ oder TGS-REQ)
  • padata – Pre-authentication data (Pre-Authentifizierungsdaten, Sequenz)
  • req-body – Request body (Anfragetext mit detaillierten Parametern)

Request Body (KDC-REQ-BODY)

Enthält:

  • kdc-options – Flags für angeforderte Optionen
  • cname – Client name (Clientname, in TGS-REQ optional)
  • realm – Service realm (Dienst-Realm)
  • sname – Service name (Dienstname, optional)
  • from – Requested start time (angeforderte Startzeit, optional)
  • till – Requested end time (angeforderte Endzeit)
  • rtime – Requested renew-till time (angeforderte renew-till-Zeit, optional)
  • nonce – Zufallswert zum Replay-Schutz
  • etype – Requested encryption types (angeforderte Verschlüsselungstypen, Sequenz)
  • addresses – Client addresses (Clientadressen, optional)
  • enc-authorization-data – Encrypted authorization data (verschlüsselte Autorisierungsdaten, optional)
  • additional-tickets – Additional tickets (zusätzliche Tickets, optional, für TGS-REQ)

KDC Options Flags

Verfügbare Optionen umfassen unter anderem:

  • FORWARDABLE, FORWARDED
  • PROXIABLE, PROXY
  • ALLOW-POSTDATE, POSTDATED
  • RENEWABLE, RENEWABLE-OK
  • ENC-TKT-IN-SKEY
  • RENEW, VALIDATE
  • sowie weitere

5.4.2. KRB_KDC_REP Definition

Die Antwortnachrichtenstruktur wird zwischen AS und TGS gemeinsam genutzt:

Common Structure (Gemeinsame Struktur)

Sowohl KRB_AS_REP als auch KRB_TGS_REP verwenden die KDC-REP-Struktur:

  • pvno – Protocol version number (Protokollversionsnummer, 5)
  • msg-type – Message type (Nachrichtentyp, AS-REP oder TGS-REP)
  • padata – Pre-authentication data (optional)
  • crealm – Client realm (Client-Realm)
  • cname – Client name (Clientname)
  • ticket – Das ausgestellte Ticket
  • enc-part – Encrypted part of reply (verschlüsselter Teil der Antwort)

Encrypted Part (EncKDCRepPart)

Enthält (für den Client verschlüsselt):

  • key – Session key (Sitzungsschlüssel)
  • last-req – Last request information (Information zur letzten Anfrage)
  • nonce – Aus der Anfrage (zur Zuordnung)
  • key-expiration – Ablauf des Clientschlüssels (optional)
  • flags – Ticket flags (Ticket-Flags)
  • authtime – Zeitpunkt der Erstauthentifizierung
  • starttime – Beginn der Ticketgültigkeit (optional)
  • endtime – Ablaufzeit des Tickets
  • renew-till – Ablauf bei erneuerbaren Tickets (optional)
  • srealm – Service realm (Dienst-Realm)
  • sname – Service name (Dienstname)
  • caddr – Client addresses (optional)
  • encrypted-pa-data – Encrypted pre-auth data (optional)

Processing Requirements (Verarbeitungsanforderungen)

Request Processing (Anfrageverarbeitung)

  • Struktur der Anfrage validieren
  • Pre-Authentifizierung prüfen
  • Richtlinien und Einschränkungen prüfen
  • Session Key erzeugen
  • Ticket mit passenden Flags ausstellen
  • Antwort für den Client verschlüsseln

Reply Processing (Antwortverarbeitung)

  • Antwort mit dem passenden Schlüssel entschlüsseln
  • Übereinstimmung des nonce prüfen
  • Session Key und Ticket extrahieren
  • Ticketeigenschaften validieren
  • Für spätere Verwendung speichern

Differences Between AS and TGS (Unterschiede zwischen AS und TGS)

AS Exchange (AS-Austausch)

  • Client authentifiziert sich mit dem langfristigen Schlüssel
  • Pre-Authentifizierung ist oft erforderlich
  • Stellt das initiale TGT aus

TGS Exchange (TGS-Austausch)

  • Client authentifiziert sich mit dem TGT
  • Verwendet den Session Key aus dem TGT
  • Stellt Diensttickets aus
  • Unterstützt Ticket-Erneuerung und -Validierung

Reference (Referenz)

Vollständige Nachrichtenspezifikationen finden sich in RFC 4120 Abschnitt 5.4.