# Cryptographie - TP - 2 - Kerberos

## Qu'est ce que le SSO ?

Le SSO (Single Sign On) ou (Authentification unique en français) est une méthode permettant à un utilisateur de s'authentifier une seule fois pour accéder à plusieurs ressources. Les objectifs sont notamment de simplifier : 
* La gestion de mot de passe pour les utilisateurs
* La gestion des données des utilisateurs
* L'application des politiques de sécurité du SI

## A quelle étape du protocole fait-on appel à la cryptographie symétrique ?

L'intégralité du protocole Kerberos repose sur le chiffrement symétrique. Cependant l'étape 3 est la seule étape où les partis communiquent avec la même clé secrète sans intermédiaire.

## Quel est le rôle du fichier `/etc/hosts`

Lors de l'accès au réseau le fichier `/etc/hosts` permet au système d'exploitation de résoudre les noms d'hôte en premier recours, avant d'interroger un serveur DNS. Il s'agit donc d'une liste de mappings entre des adresses IP et des noms d'hôte : 

```
127.0.0.1 localhost
```

Si le système résout un nom à partir du fichier `/etc/hosts`, aucune résolution DNS ne va s'effectuer.

## Explications du fichier `/etc/krb5.conf`

Le fichier `/etc/krb5.conf` utilise la convention INI, qui permet d'utiliser des sections et des tags pour décrire une configuration. Les sections utilisées par ce fichier sont : 

* `[libdefaults]` : contient des valeurs par défaut utilisée par Kerberos. Ici on définit que le realm par défaut est le realm définit par le tag `EFREI.HOME` avec le champs `default_realm`.
* `[realms]` : contient des tags qui définissent des realms, ces derniers contenant les informations concernant un serveur Kerberos qui hébergent ce realm ainsi que des informations spéficiques au realm.
* `[domain_realm]` : contient les relation qui mappent les sous domaines et domaines à des noms de realms Kerberos. Cela est utilisé par les programmes pour définir les realm dans lequel un hôte devrait être.