7.5. X.509 Certificate Parsing and Validation Complexity (Complexité d'analyse et de validation des certificats X.509)
7.5. X.509 Certificate Parsing and Validation Complexity (Complexité d'analyse et de validation des certificats X.509)
L'analyse et la validation des certificats X.509 et des chaînes de certificats sont complexes, et des erreurs d'implémentation ont déjà exposé des vulnérabilités de sécurité. Les complexités de la validation incluent (sans s'y limiter) [CX5P] [DCW] [RFC5280] :
-
vérification des contraintes de base, des contraintes d'utilisation de clé de base et étendues, des périodes de validité et des extensions critiques ;
-
traitement des octets NUL embarqués dans les chaînes ASN.1 à longueur comptée et des représentations de chaînes non canoniques ou non normalisées dans les noms de sujet ;
-
traitement des motifs génériques dans les noms de sujet ;
-
vérification récursive des chaînes de certificats et contrôle de la révocation des certificats.
Pour ces raisons, les implémentateurs DEVRAIENT utiliser une bibliothèque X.509 établie et bien testée (telle qu'une bibliothèque utilisée par une bibliothèque TLS établie) pour la validation des chaînes de certificats X.509 et NE DEVRAIENT PAS tenter d'écrire leurs propres procédures de validation de certificats X.509.