Aller au contenu principal

1.3. Choisir un principal avec lequel communiquer

Vue d'ensemble

Le protocole Kerberos fournit les moyens de vérifier que l'entité avec laquelle on communique est la même que celle enregistrée auprès du KDC (Key Distribution Center, centre de distribution de clés) sous l'identité déclarée (nom de principal). Il reste toutefois nécessaire de déterminer si cette identité correspond bien à l'entité avec laquelle on entend communiquer.

Méthodes de détermination

Détermination syntaxique

Lorsque des données appropriées ont été échangées au préalable, l'application peut effectuer la détermination de façon syntaxique sur la base de :

  • la spécification du protocole applicatif
  • les informations fournies par l'utilisateur
  • les fichiers de configuration

Exemple : le nom de principal du serveur pour un serveur telnet peut être déduit de :

  • le nom d'hôte fourni par l'utilisateur (ligne de commande telnet)
  • le préfixe « host/ » (spécification du protocole applicatif)
  • le mappage vers le royaume Kerberos déduit de la partie domaine du nom d'hôte

Tiers de confiance

On peut s'appuyer sur des tiers de confiance pour la détermination, mais UNIQUEMENT lorsque :

  • les données obtenues du tiers sont convenablement protégées en intégrité
  • les données sont protégées tant qu'elles résident sur le serveur du tiers
  • les données sont protégées pendant la transmission

Exigences de sécurité

DNS et canonisation des noms d'hôte

NE DOIT PAS :

  • les implémentations NE DOIVENT PAS utiliser des requêtes DNS non sécurisées pour canoniser les composantes hôte des noms de principals de service
  • NE DOIVENT PAS utiliser des requêtes DNS non sécurisées pour mapper un nom vers un autre

PEUT :

  • dans les environnements sans service de noms sécurisé, les applications PEUVENT ajouter des noms de domaine configurés statiquement à des noms d'hôte non qualifiés
  • et ne devraient pas aller au-delà

Service de noms sécurisé :

  • les mécanismes de service de noms sécurisé, s'ils existent, peuvent être jugés fiables pour la canonisation des noms d'hôte
  • une telle canonisation par le client NE DEVRAIT PAS être exigée par les implémentations du KDC

Note d'implémentation

De nombreuses implémentations actuelles effectuent une certaine canonisation du nom de service fourni, souvent au moyen du DNS. Cela pose des problèmes de sécurité. Il n'y a toutefois pas d'homogénéité entre implémentations concernant :

  • la conversion ou non du nom de service en minuscules (pliage de casse, case folding)
  • l'utilisation ou non de la résolution inverse

Bonne pratique : pour maximiser l'interopérabilité et la sécurité, les applications DEVRAIENT fournir aux mécanismes de sécurité des noms issus de la conversion en minuscules du nom saisi par l'utilisateur, sans autre modification ni canonisation.

Référence

Pour les détails techniques complets, voir RFC 4120, section 1.3.