Zum Hauptinhalt springen

1.3. Choosing a Principal with Which to Communicate (Auswahl eines Principals für die Kommunikation)

1.3. Choosing a Principal with Which to Communicate (Auswahl eines Principals für die Kommunikation)

Überblick

Das Kerberos-Protokoll bietet die Mittel, zu verifizieren, dass die Entität, mit der man kommuniziert, dieselbe Entität ist, die beim KDC (Key Distribution Center) unter der behaupteten Identität (Principal-Name) registriert ist. Es ist dennoch erforderlich zu klären, ob diese Identität der Entität entspricht, mit der man kommunizieren möchte.

Bestimmungsmethoden

Syntaktische Bestimmung

Wenn im Voraus geeignete Daten ausgetauscht wurden, kann die Anwendung die Bestimmung syntaktisch vornehmen auf Grundlage von:

  • Spezifikation des Anwendungsprotokolls
  • Vom Benutzer bereitgestellten Informationen
  • Konfigurationsdateien

Beispiel: Der Server-Principal-Name für einen Telnet-Server kann abgeleitet werden aus:

  • vom Benutzer angegebenem Hostnamen (von der Telnet-Befehlszeile)
  • dem Präfix "host/" (aus der Spezifikation des Anwendungsprotokolls)
  • einer Zuordnung zum Kerberos-Realm, abgeleitet aus dem Domain-Teil des Hostnamens

Vertrauenswürdige Dritte

Man kann sich für die Bestimmung auf vertrauenswürdige Dritte verlassen, aber NUR wenn:

  • die von Dritten bezogenen Daten angemessen integritätsgeschützt sind
  • die Daten während der Speicherung auf dem Server des Dritten geschützt sind
  • die Daten während der Übertragung geschützt sind

Sicherheitsanforderungen

DNS und Hostnamen-Kanonisierung

DARF NICHT:

  • Implementierungen DÜRFEN KEINE unsicheren DNS-Abfragen verwenden, um Hostnamen-Komponenten von Dienst-Principal-Namen zu kanonisieren
  • DÜRFEN KEINE unsicheren DNS-Abfragen verwenden, um einen Namen einem anderen zuzuordnen

DARF:

  • In Umgebungen ohne sicheren Namensdienst DÜRFEN Anwendungen statisch konfigurierte Domain-Namen an nicht qualifizierte Hostnamen anhängen
  • Sie sollten nicht mehr tun

Sicherer Namensdienst:

  • Sichere Namensdienst-Funktionen können, falls verfügbar, für die Hostnamen-Kanonsierung vertrauenswürdig sein
  • Eine solche Kanonisierung durch den Client SOLLTE von KDC-Implementierungen nicht verlangt werden

Hinweis zur Implementierung

Viele aktuelle Implementierungen führen eine gewisse Kanonisierung des angegebenen Dienstnamens durch, oft unter Verwendung von DNS. Das birgt Sicherheitsprobleme. Es gibt jedoch keine Einheitlichkeit unter Implementierungen hinsichtlich:

  • ob der Dienstname per Case-Folding in Kleinbuchstaben umgewandelt wird
  • ob eine Reverse-Auflösung verwendet wird

Best Practice: Um Interoperabilität und Sicherheit zu maximieren, SOLLEN Anwendungen Sicherheitsmechanismen Namen bereitstellen, die sich aus der Umwandlung der vom Benutzer eingegebenen Namens in Kleinbuchstaben ergeben, ohne weitere Änderungen oder Kanonisierung.

Referenz

Vollständige technische Details finden sich im Original RFC 4120, Abschnitt 1.3.