3.4. L'échange KRB_SAFE
Vue d'ensemble
Le message KRB_SAFE assure l'intégrité des données applicatives échangées entre principaux. Il n'assure pas la confidentialité : les données sont envoyées en clair mais protégées par une somme de contrôle cléée (keyed checksum).
Rôle
KRB_SAFE est utilisé lorsque :
- une protection d'intégrité est requise
- la confidentialité n'est pas nécessaire
- un surcoût moindre que le chiffrement est souhaité
Structure du message
KRB_SAFE contient :
- les données utilisateur (en clair)
- l'horodatage (détection de relecture)
- le numéro de séquence (optionnel)
- les adresses expéditeur et destinataire (optionnelles)
- la somme de contrôle cléée (intégrité)
Génération du message KRB_SAFE
L'expéditeur :
- construit le message avec les données utilisateur
- ajoute l'horodatage et le numéro de séquence optionnel
- calcule la somme de contrôle cléée sur l'ensemble du message
- transmet le message avec la somme de contrôle
Réception du message KRB_SAFE
Le destinataire :
- recalcule la somme de contrôle avec la clé partagée
- compare la somme calculée à celle reçue
- vérifie l'horodatage (protection contre la relecture)
- contrôle le numéro de séquence s'il est utilisé
- accepte ou rejette le message selon la validation
Propriétés de sécurité
- Intégrité : la somme de contrôle cléée empêche l'altération
- Protection contre la relecture : horodatage et numéro de séquence
- Pas de confidentialité : les données sont transmises en clair
Référence
Pour les détails techniques complets, voir RFC 4120, section 3.4.