7.5. Constantes de protocole et valeurs associées
7.5. Constantes de protocole et valeurs associées
Les tableaux suivants listent les constantes utilisées dans le protocole et définissent leur signification. Dans la partie « spécification », des plages limitent les valeurs des constantes pour lesquelles des valeurs sont définies ici. Cela permet aux implémentations de faire des hypothèses sur les valeurs maximales reçues pour ces constantes. Les implémentations qui reçoivent des valeurs en dehors de la plage indiquée dans la partie « spécification » PEUVENT rejeter la requête, mais elles DOIVENT se rétablir proprement.
7.5.1. Numéros d'utilisation de clé (Key Usage Numbers)
Les spécifications de chiffrement et de somme de contrôle dans [RFC3961] exigent en entrée un « numéro d'utilisation de clé » (key usage number), afin de modifier la clé de chiffrement utilisée dans un message donné et de rendre certains types d'attaque cryptographique plus difficiles. Voici les valeurs d'utilisation de clé assignées dans le présent document :
1. AS-REQ PA-ENC-TIMESTAMP padata timestamp, chiffré avec
la clé client (section 5.2.7.2)
2. AS-REP Ticket et TGS-REP Ticket (inclut la clé de session
TGS ou la clé de session d'application), chiffrés avec la
clé du service (section 5.3)
3. AS-REP partie chiffrée (inclut la clé de session TGS ou
la clé de session d'application), chiffrée avec la clé client
(section 5.4.2)
4. TGS-REQ KDC-REQ-BODY AuthorizationData, chiffré avec
la clé de session TGS (section 5.4.1)
5. TGS-REQ KDC-REQ-BODY AuthorizationData, chiffré avec
la sous-clé de l'authenticator TGS (section 5.4.1)
6. TGS-REQ PA-TGS-REQ padata AP-REQ Authenticator cksum,
calculé avec clé avec la clé de session TGS (section 5.5.1)
7. TGS-REQ PA-TGS-REQ padata AP-REQ Authenticator (inclut
la sous-clé de l'authenticator TGS), chiffré avec la clé de session
TGS (section 5.5.1)
8. TGS-REP partie chiffrée (inclut la clé de session
d'application), chiffrée avec la clé de session TGS (section 5.4.2)
9. TGS-REP partie chiffrée (inclut la clé de session
d'application), chiffrée avec la sous-clé de l'authenticator
TGS (section 5.4.2)
10. AP-REQ Authenticator cksum, calculé avec clé avec la clé de session
d'application (section 5.5.1)
11. AP-REQ Authenticator (inclut la sous-clé de l'authenticator
d'application), chiffré avec la clé de session
d'application (section 5.5.1)
12. AP-REP partie chiffrée (inclut la sous-clé de session
d'application), chiffrée avec la clé de session
d'application (section 5.5.2)
13. KRB-PRIV partie chiffrée, chiffrée avec une clé choisie par
l'application (section 5.7.1)
14. KRB-CRED partie chiffrée, chiffrée avec une clé choisie par
l'application (section 5.8.1)
15. KRB-SAFE cksum, calculé avec clé avec une clé choisie par
l'application (section 5.6.1)
16-18. Réservé pour un usage futur dans Kerberos et les protocoles
associés.
19. Somme de contrôle AD-KDC-ISSUED (ad-checksum en 5.2.6.4)
20-21. Réservé pour un usage futur dans Kerberos et les protocoles
associés.
22-25. Réservé pour utilisation dans les mécanismes GSS-API Kerberos version 5
mechanisms [RFC4121].
26-511. Reserved for future use in Kerberos and related
protocols.
512-1023. Reserved for uses internal to a Kerberos implementation.
1024. Chiffrement pour usage applicatif dans les protocoles qui ne
spécifient pas de valeurs d'utilisation de clé
1025. Sommes de contrôle pour usage applicatif dans les protocoles qui ne
spécifient pas de valeurs d'utilisation de clé ; 1026-2047. Réservé pour usage applicatif.
7.5.2. Types de données de pré-authentification (PreAuthentication Data Types)
Type Padata et données Valeur Commentaire
padata-type
PA-TGS-REQ 1 PA-ENC-TIMESTAMP 2 PA-PW-SALT 3 [réservé] 4 PA-ENC-UNIX-TIME 5 (obsolète) PA-SANDIA-SECUREID 6 PA-SESAME 7 PA-OSF-DCE 8 PA-CYBERSAFE-SECUREID 9 PA-AFS3-SALT 10 PA-ETYPE-INFO 11 PA-SAM-CHALLENGE 12 (sam/otp) PA-SAM-RESPONSE 13 (sam/otp) PA-PK-AS-REQ_OLD 14 (pkinit) PA-PK-AS-REP_OLD 15 (pkinit) PA-PK-AS-REQ 16 (pkinit) PA-PK-AS-REP 17 (pkinit) PA-ETYPE-INFO2 19 (remplace pa-etype-info) PA-USE-SPECIFIED-KVNO 20 PA-SAM-REDIRECT 21 (sam/otp) PA-GET-FROM-TYPED-DATA 22 (embarqué dans typed data) TD-PADATA 22 (embarque padata) PA-SAM-ETYPE-INFO 23 (sam/otp) PA-ALT-PRINC 24 ([email protected]) PA-SAM-CHALLENGE2 30 ([email protected]) PA-SAM-RESPONSE2 31 ([email protected]) PA-EXTRA-TGT 41 TGT supplémentaire réservé TD-PKINIT-CMS-CERTIFICATES 101 CertificateSet issu de CMS TD-KRB-PRINCIPAL 102 PrincipalName TD-KRB-REALM 103 Realm TD-TRUSTED-CERTIFIERS 104 issu de PKINIT TD-CERTIFICATE-INDEX 105 issu de PKINIT TD-APP-DEFINED-ERROR 106 spécifique à l'application TD-REQ-NONCE 107 INTEGER TD-REQ-SEQ 108 INTEGER PA-PAC-REQUEST 128 ([email protected])
7.5.3. Types d'adresse (Address Types)
Type d'adresse Valeur
IPv4 2 Directional 3 ChaosNet 5 XNS 6 ISO 7 DECNET Phase IV 12 AppleTalk DDP 16 NetBios 20 IPv6 24
7.5.4. Types de données d'autorisation (Authorization Data Types)
Type de données d'autorisation Valeur ad-type
AD-IF-RELEVANT 1 AD-INTENDED-FOR-SERVER 2 AD-INTENDED-FOR-APPLICATION-CLASS 3 AD-KDC-ISSUED 4 AD-AND-OR 5 AD-MANDATORY-TICKET-EXTENSIONS 6 AD-IN-TICKET-EXTENSIONS 7 AD-MANDATORY-FOR-KDC 8 Valeurs réservées 9-63 OSF-DCE 64 SESAME 65 AD-OSF-DCE-PKI-CERTID 66 ([email protected]) AD-WIN2K-PAC 128 ([email protected]) AD-ETYPE-NEGOTIATION 129 ([email protected])
7.5.5. Types d'encodage du champ transited (Transited Encoding Types)
Type d'encodage transited Valeur tr-type
DOMAIN-X500-COMPRESS 1 Valeurs réservées Toutes les autres
7.5.6. Numéro de version du protocole (Protocol Version Number)
Étiquette Valeur Signification ou code MIT
pvno 5 Numéro de version courant du protocole Kerberos
7.5.7. Types de messages Kerberos (Kerberos Message Types)
Type de message Valeur Signification
KRB_AS_REQ 10 Demande d'authentification initiale KRB_AS_REP 11 Réponse à la requête KRB_AS_REQ KRB_TGS_REQ 12 Demande d'authentification fondée sur le TGT KRB_TGS_REP 13 Réponse à la requête KRB_TGS_REQ KRB_AP_REQ 14 Requête d'application au serveur KRB_AP_REP 15 Réponse à KRB_AP_REQ_MUTUAL KRB_RESERVED16 16 Réservé pour krb_tgt_request user-to-user KRB_RESERVED17 17 Réservé pour krb_tgt_reply user-to-user KRB_SAFE 20 Message d'application sûr (avec somme de contrôle) KRB_PRIV 21 Message d'application privé (chiffré) KRB_CRED 22 Message privé (chiffré) pour transmettre des
informations d'identification KRB_ERROR 30 Réponse d'erreur
7.5.8. Types de nom (Name Types)
Type de nom Valeur Signification
KRB_NT_UNKNOWN 0 Type de nom inconnu KRB_NT_PRINCIPAL 1 Seulement le nom du principal comme en DCE,
ou pour les utilisateurs KRB_NT_SRV_INST 2 Service et autre instance unique (krbtgt) KRB_NT_SRV_HST 3 Service avec le nom d'hôte comme instance
(telnet, rcommands) KRB_NT_SRV_XHST 4 Service avec l'hôte comme composantes restantes KRB_NT_UID 5 Identifiant unique KRB_NT_X500_PRINCIPAL 6 Nom distinctif X.509 encodé [RFC2253] KRB_NT_SMTP_NAME 7 Nom sous forme d'adresse courrier SMTP
(ex. [email protected]) KRB_NT_ENTERPRISE 10 Nom d'entreprise ; peut être mappé sur un nom de
principal
7.5.9. Codes d'erreur (Error Codes)
Code d'erreur Valeur Signification
KDC_ERR_NONE 0 Aucune erreur KDC_ERR_NAME_EXP 1 L'entrée client dans la base de données
a expiré KDC_ERR_SERVICE_EXP 2 L'entrée serveur dans la base de données
a expiré KDC_ERR_BAD_PVNO 3 Version de protocole demandée
non prise en charge
KDC_ERR_C_OLD_MAST_KVNO 4 Clé client chiffrée avec
l'ancienne clé maître KDC_ERR_S_OLD_MAST_KVNO 5 Clé serveur chiffrée avec
l'ancienne clé maître KDC_ERR_C_PRINCIPAL_UNKNOWN 6 Client introuvable dans la
base Kerberos KDC_ERR_S_PRINCIPAL_UNKNOWN 7 Serveur introuvable dans
la base Kerberos KDC_ERR_PRINCIPAL_NOT_UNIQUE 8 Plusieurs entrées de principal
dans la base KDC_ERR_NULL_KEY 9 Le client ou le serveur a une
clé nulle KDC_ERR_CANNOT_POSTDATE 10 Ticket non éligible pour
le postdatage KDC_ERR_NEVER_VALID 11 starttime demandé est
postérieur à endtime KDC_ERR_POLICY 12 La politique du KDC rejette la requête KDC_ERR_BADOPTION 13 Le KDC ne peut pas satisfaire
l'option demandée KDC_ERR_ETYPE_NOSUPP 14 Le KDC ne prend pas en charge le
type de chiffrement KDC_ERR_SUMTYPE_NOSUPP 15 Le KDC ne prend pas en charge le
type de somme de contrôle KDC_ERR_PADATA_TYPE_NOSUPP 16 Le KDC ne prend pas en charge le
type padata KDC_ERR_TRTYPE_NOSUPP 17 Le KDC ne prend pas en charge le
type transited KDC_ERR_CLIENT_REVOKED 18 Les informations d'identification du client ont
été révoquées KDC_ERR_SERVICE_REVOKED 19 Les informations d'identification du serveur ont
été révoquées KDC_ERR_TGT_REVOKED 20 Le TGT a été révoqué KDC_ERR_CLIENT_NOTYET 21 Client pas encore valide ; réessayer
plus tard KDC_ERR_SERVICE_NOTYET 22 Serveur pas encore valide ; réessayer
plus tard KDC_ERR_KEY_EXPIRED 23 Le mot de passe a expiré ;
changer le mot de passe pour réinitialiser KDC_ERR_PREAUTH_FAILED 24 Informations de pré-authentification
invalides KDC_ERR_PREAUTH_REQUIRED 25 Pré-authentification
supplémentaire requise KDC_ERR_SERVER_NOMATCH 26 Serveur demandé et ticket
ne correspondent pas KDC_ERR_MUST_USE_USER2USER 27 Principal serveur valide uniquement pour
user2user KDC_ERR_PATH_NOT_ACCEPTED 28 La politique du KDC rejette le
chemin transité
KDC_ERR_SVC_UNAVAILABLE 29 Un service n'est pas disponible KRB_AP_ERR_BAD_INTEGRITY 31 La vérification d'intégrité sur le
champ déchiffré a échoué KRB_AP_ERR_TKT_EXPIRED 32 Ticket expiré KRB_AP_ERR_TKT_NYV 33 Ticket pas encore valide KRB_AP_ERR_REPEAT 34 La requête est une relecture KRB_AP_ERR_NOT_US 35 Le ticket n'est pas pour nous KRB_AP_ERR_BADMATCH 36 Le ticket et l'authenticator
ne correspondent pas KRB_AP_ERR_SKEW 37 Décalage d'horloge trop important KRB_AP_ERR_BADADDR 38 Adresse réseau incorrecte KRB_AP_ERR_BADVERSION 39 Incompatibilité de version de protocole KRB_AP_ERR_MSG_TYPE 40 Type de message invalide KRB_AP_ERR_MODIFIED 41 Flux de messages modifié KRB_AP_ERR_BADORDER 42 Message hors ordre KRB_AP_ERR_BADKEYVER 44 La version de clé indiquée n'est
pas disponible KRB_AP_ERR_NOKEY 45 Clé du service non disponible KRB_AP_ERR_MUT_FAIL 46 L'authentification mutuelle
a échoué KRB_AP_ERR_BADDIRECTION 47 Sens du message incorrect KRB_AP_ERR_METHOD 48 Méthode d'authentification
alternative requise KRB_AP_ERR_BADSEQ 49 Numéro de séquence incorrect
dans le message KRB_AP_ERR_INAPP_CKSUM 50 Type de somme de contrôle
inapproprié dans le message KRB_AP_PATH_NOT_ACCEPTED 51 La politique rejette le chemin
transité KRB_ERR_RESPONSE_TOO_BIG 52 Réponse trop volumineuse pour UDP ;
réessayer avec TCP KRB_ERR_GENERIC 60 Erreur générique (description
dans e-text) KRB_ERR_FIELD_TOOLONG 61 Champ trop long pour cette
implémentation KDC_ERROR_CLIENT_NOT_TRUSTED 62 Réservé pour PKINIT KDC_ERROR_KDC_NOT_TRUSTED 63 Réservé pour PKINIT KDC_ERROR_INVALID_SIG 64 Réservé pour PKINIT KDC_ERR_KEY_TOO_WEAK 65 Réservé pour PKINIT KDC_ERR_CERTIFICATE_MISMATCH 66 Réservé pour PKINIT KRB_AP_ERR_NO_TGT 67 Aucun TGT disponible pour
valider USER-TO-USER KDC_ERR_WRONG_REALM 68 Réservé pour usage futur KRB_AP_ERR_USER_TO_USER_REQUIRED 69 Le ticket doit être pour
USER-TO-USER KDC_ERR_CANT_VERIFY_CERTIFICATE 70 Réservé pour PKINIT KDC_ERR_INVALID_CERTIFICATE 71 Réservé pour PKINIT KDC_ERR_REVOKED_CERTIFICATE 72 Réservé pour PKINIT
KDC_ERR_REVOCATION_STATUS_UNKNOWN 73 Réservé pour PKINIT KDC_ERR_REVOCATION_STATUS_UNAVAILABLE 74 Réservé pour PKINIT KDC_ERR_CLIENT_NAME_MISMATCH 75 Réservé pour PKINIT KDC_ERR_KDC_NAME_MISMATCH 76 Réservé pour PKINIT