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.