Passa al contenuto principale

7.5. X.509 Certificate Parsing and Validation Complexity (Complessità di analisi e convalida dei certificati X.509)

7.5. X.509 Certificate Parsing and Validation Complexity (Complessità di analisi e convalida dei certificati X.509)

L'analisi e la convalida di certificati X.509 e catene di certificati sono complesse, e errori di implementazione hanno in passato esposto vulnerabilità di sicurezza. Le complessità della convalida includono (senza limitarsi a) [CX5P] [DCW] [RFC5280]:

  • verifica dei basic constraints, dei vincoli di key usage di base ed estesi, dei periodi di validità e delle estensioni critiche;

  • gestione di byte NUL incorporati in stringhe ASN.1 a lunghezza contata e rappresentazioni di stringhe non canoniche o non normalizzate nei nomi di soggetto;

  • gestione di pattern wildcard nei nomi di soggetto;

  • verifica ricorsiva delle catene di certificati e controllo della revoca dei certificati.

Per questi motivi, gli implementatori DOVREBBERO usare una libreria X.509 consolidata e ben testata (come quella usata da una libreria TLS consolidata) per la convalida delle catene di certificati X.509 e NON DOVREBBERO tentare di scrivere procedure di convalida X.509 proprie.