Retirer CA de la liste des CA de confiance tout en faisant confiance certifications plus anciennes


4

Disons qu'une autorité de certification a changé sa politique de sécurité et nous ne font pas confiance à ses nouvelles certifications.

est-il un moyen pratique pour une organisation de supprimer cette autorité de certification de sa liste CA de confiance, mais toujours garder la bonne voie et faire confiance certifications anciennes valides qui ont été émises?

+1

Grande question sur le sujet pour Security.SE que je n'avais pas vu auparavant. Bienvenue sur le site! 12 août. 132013-08-12 20:45:37

  0

Le changement de police est-il accompagné d'un changement de certificat ca? Et quel type de logiciel vérifie quels certificats faire confiance? 12 août. 132013-08-12 21:16:56

  0

@mkl, Le contenu du certificat reste le même. Le logiciel est le navigateur, mais vous pouvez suggérer n'importe quel autre outil si c'est pertinent. 12 août. 132013-08-12 21:38:36

2

certificats de traitement des logiciels habituels (par exemple, des navigateurs Web) ne valident pas dans le passé; Lorsqu'ils considèrent un certificat (par exemple pour un serveur SSL), ils veulent savoir si le contenu du certificat est fiable maintenant. Les "magasins de certificats" gérés par les systèmes d'exploitation se rapportent à ce modèle. Une "ancre de confiance" (alias "autorité de certification racine") est soit approuvée, soit non approuvée. Il n'y a aucune notion de "a été approuvé".

validation dans le passé n'a de sens en présence de time stamps: un document est signé, et un horodatage est appliqué sur la signature (ou sur le codage du document et sa signature). L'horodatage doit être vérifiée à la date actuelle (si le certificat TSA doit être valide maintenant), mais la signature elle-même, et le certificat du signataire, peut être validé à la date de l'horodatage. Cela permet de vérifier les signatures même longtemps après l'expiration des certificats pertinents, bien que cela nécessite que des objets supplémentaires tels que les réponses CRL ou OCSP soient également horodatés; des horodatages supplémentaires peuvent devoir être appliqués à intervalles réguliers. Il existe certaines normes émergentes pour un tel processus, par ex. PAdES (avec le format «long terme») ou ERS (qui ne traite que de la partie horodatage, mais le fait bien).

Dans tous les cas, ces utilisations nécessitent une notion de plages de temps attachés aux ancrages de confiance. Des efforts sont en cours (en particulier dans l'UE) pour définir un format standard pour que (appelé TSL) (l'UE essaie vraiment dur pas dire que ceci est une liste de « bonne autorité de certification racine », mais tout le monde comprend cette façon). Les dates de validité sont attachées à chaque autorité de certification racine dans cette liste.

Certains logiciels qui effectuent une validation dans le passé peuvent utiliser directement le magasin de certificats du système d'exploitation «trusted root CA». En effet, une "ancre de confiance" est, nominalement, la combinaison d'un nom (un nom distinctif X.500) et d'une clé publique (voir RFC 5280, section 6.1.1, élément (d)). Cependant, il est courant d'utiliser les certificats comme format de codage pour l'autorité de certification racine. Un tel certificat inclura le nom et la clé publique, mais aussi d'autres champs, notamment deux dates pour une plage de validité. Par conséquent, certaines applications utiliseront les dates de l'autorité de certification racine comme indiquant la plage de temps au cours de laquelle l'autorité de certification racine devait être approuvée.

Dans ce contexte, ce que vous cherchez après est faisable. En effet, il suffit de modifier les dates dans le "certificat" CA racine. D'abord l'exporter comme "DER brut" (pas PEM/Base64). Ensuite, ouvrez un éditeur binaire et modifiez les dates; ils utilisent soit UTCTime ou GeneralizedTime, de sorte que leur représentation interne est basée sur ASCII. UTCTime utilise le format YYMMDDhhmmss (deux chiffres pour l'année, deux pour le mois, etc.); avec GeneralizedTime, les choses sont similaires, sauf qu'il y a quatre chiffres pour l'année (et il peut y avoir des millisecondes). Changez juste les champs d'année, de mois et de jour pour adapter à vos besoins. Une fois le certificat modifié, réimportez-le dans votre magasin de confiance et supprimez celui d'origine. Et voilà! vous avez votre autorité de certification racine avec des dates modifiées.

Bien sûr, la modification du contenu du certificat casse la signature qui a été appliquée sur le certificat. Mais il s'agit d'une autorité de certification racine: elle utilise le format d'encodage d'un certificat à titre de commodité, mais il ne s'agit pas d'un certificat "réel". La signature est présente parce que le format de certificat a un emplacement non facultatif pour une signature, mais rien en réalité vérifie cette signature. En effet, le certificat est souvent auto-signé. Par conséquent, casser la signature ne devrait avoir aucune importance. Je répète, cependant, que ces dates ne sont importantes que dans le contexte de certains logiciels qui effectuent la "validation dans le passé", tout dépend donc de ce que fait réellement ce logiciel: les certificats d'autorité de certification racine dans le Trust Trust dates de validité (et vous pouvez les modifier "manuellement", comme décrit ci-dessus), mais les logiciels qui ont passé la validation n'utilisent pas nécessairement ces dates pour gérer les certificats de l'autorité de certification racine. Il peut très bien utiliser une autre source, par ex. un TSL.