Thawte, GeoTrust, VeriSign et d’autres autorités de certification sont actuellement en train de passer d’un certificat racine basé sur MD5 1024 bits à une racine basée sur 2048 bits SHA-1 en " rester en phase avec meilleures pratiques de l’industrie ". En outre, tous les certificats nécessiteront désormais Autorités de certification intermédiaires , créant un certificat racine chaîné à la place des certificats racine uniques précédemment émis par les fournisseurs préférés. Ayant récemment effectué cette mise à niveau avec l'un de nos sites, je réalise maintenant que je ne comprends pas bien le fonctionnement de SSL et que j'ai besoin de clarifications.
Question 1: En quoi une racine 1024 bits diffère-t-elle d'une racine 2048 bits? Je comprends le passage de MD5 à SHA1, MD5 étant vulnérable à collisions, mais ma question est quel avantage une racine 2048 bits donne-t-elle par rapport à une racine 1024 bits? Augmente-t-il la force de cryptage SSL entre le client et le serveur ou rend-il simplement plus difficile la compromission du certificat racine?
Question 2: Comment fonctionnent les certificats intermédiaires et quels sont leurs avantages/inconvénients? Après la mise à jour de notre site, tout a bien fonctionné, sauf lorsque le site a été consulté par un navigateur plus ancien (Windows Mobile en particulier). J'étais un peu perplexe depuis le site de test Thawte SSL123 2048-bit fonctionnait correctement sur le périphérique. Notre site a alors incité un message d'avertissement concernant un "certificat racine non approuvé". Les deux sites avaient exactement la même chaîne de certificats, dont ni le certificat racine ni le certificat intermédiaire n'étaient approuvés par le périphérique. Plus étrange encore, après avoir visité le site de test, notre site commencerait à fonctionner comme par magie sans aucun avertissement.
J'ai contacté Thawte à propos du problème et ils m'ont dit que notre certificat SSL n'était pas installé correctement. Ils ont dit qu'il fallait télécharger et installer le certificat intermédiaire dans le magasin de certificats de confiance du serveur, et que nous pouvions utiliser leur vérificateur d'installation = pour vérifier les résultats. Le certificat avait été installé par notre fournisseur d'hébergement (probablement à l'aide d'un script automatisé configuré pour les certificats racine uniques), mais une fois que nous avons suivi leurs instructions, notre site a commencé à fonctionner sur les anciens navigateurs sans qu'il soit nécessaire d'installer ou d'approuver le nouveau certificat racine ou intermédiaire. dispositif.
Comment se fait-il que l'installation du certificat intermédiaire sur le serveur force les anciens navigateurs à accepter le certificat comme valide?
Ayant récemment effectué cette mise à niveau avec l'un de nos sites, je réalise maintenant que je ne comprends pas bien le fonctionnement de SSL et que j'ai besoin de clarifications.
Pour le dire simplement, les clés SSL (de n'importe quel ordre) sont une série de clés sur une chaîne. Il existe une méthode d'établissement de liaison qui passe par le processus PUBLIC-PRIVATE (la chaîne) consistant à multiplier de très grands nombres premiers (clés).
Question 1: Quelle est la différence entre une racine 1024 bits et une racine 2048 bits?
Premièrement, la clé est deux fois plus grande. En termes de "craquage" informatique, cela provoque une durée exponentielle plus longue. La dernière fois que j'ai entendu parler (pour que je puisse me tromper), un multisharing massif, tel que Seti @ home, a réussi à déchiffrer une clé de 256 bits en moins de 6 mois. Cependant, une clé deux fois cette taille prend 4 fois plus longtemps, minimum. C'est un problème de notation de Bachmann – Landau . Naturellement, une clé de 1024 bits prend 16 fois et 2048, 32 fois.
Étant donné qu'une force brute associée à une clé de 512b nécessitait 1 200 milliards d'années de traitement à la vitesse XYZ MhZ, il était insensé de penser que nous devions améliorer la taille de la clé.
Mais hélas, nous avons.
Maintenant, avec "P versus NP" en tant que prix du millénaire, de plus en plus de personnes envisagent de filtrer les approximations pour factoriser de gros gros gros nombres.
Question 2: Comment fonctionnent les certificats intermédiaires et quels sont leurs avantages/inconvénients?
...
Comment se fait-il que l'installation du certificat intermédiaire sur le serveur force les anciens navigateurs à accepter le certificat comme valide?
Il est possible que différents navigateurs utilisent des routines ou des fournisseurs différents Étendre la vérification . (éventuellement aucun!)
Il est également possible que différents serveurs Web aient différentes routines ou fournisseurs Étendre la vérification . (éventuellement aucun? pas aussi probable!)
Un exemple de base de code qui exécute réellement le protocole SSL est OpenSSL pour PHP.
Il existe de nombreux types de bibliothèques tels que celui-ci pour différents serveurs et différentes bases de code. Les serveurs, les versions de bibliothèque ou même les clés elles-mêmes peuvent avoir des problèmes avec le code hérité.
Étant donné que la sécurité d'Internet passe de temps en temps par des mises à niveau et des changements de flux de processus, je dirais qu'il est prudent de dire que les nouvelles clés à 2048 bits ont davantage de clés et/ou de chaînes. Dans un aspect très réel, cela peut provoquer un comportement anormal sur ce qui est considéré comme une routine dépréciée.
D'où la raison pour laquelle le certificat intermédiaire corrige le problème , il corrige l'incompatibilité avec un certificat facultatif à compatibilité ascendante .