Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 16849|Répondre: 0

Chaîne de certificats SSL incomplète : Les certificats intermédiaires sont effectivement un gouffre

[Copié le lien]
Publié sur 15/08/2017 21:08:39 | | |
J’ai déjà marché dans ce trou. J’ai oublié comment pratiquer, mais je me souviens encore de ce principe. Expliquez grossièrement :


Le package d’installation du navigateur stocke certains des certificats racines (clés publiques) auxquels il a confiance.

Pour des raisons de sécurité, les émetteurs de certificats stockent généralement les clés privées correspondant à ces certificats racines dans un coffre-fort totalement déconnecté. Ces clés privées racines sont utilisées dans le vault pour émettre certains certificats « intermédiaires », et les clés privées de ces certificats intermédiaires ont l’autorité d’émettre le certificat de niveau supérieur. Ces clés privées intermédiaires sont installées sur des serveurs en ligne pour gagner de l’argent en délivrant des certificats de site web. Une fois ces serveurs piratés, l’éditeur peut émettre une ordonnance de révocation en utilisant la clé privée du certificat racine physiquement isolée dans le coffre-fort afin d’éliminer la confiance de ces certificats intermédiaires sans avoir à se méfier complètement du certificat racine de l’éditeur. Signez un nouveau certificat d’émission intermédiaire, et vous serez un homme bien capable de gagner de l’argent.

Voici la question.

Le navigateur ne reconnaît que le certificat racine. Pour la certification du certificat intermédiaire, vous (le site web) devez délivrer votre propre certificat.

Un site HTTPS correctement configuré doit inclure la chaîne complète de certificats dans le certificat.
Par exemple, utilisez la commande openssl s_client -connect www.wosign.com:443 pour visualiser la configuration du site web de Wosign.
Le reste du contenu peut être ignoré, il suffit de regarder le paragraphe de la chaîne de certificats :
---
Chaîne de certificats
0 s :/1.3.6.1.4.1.311.60.2.1.3=CN/1.3.6.1.4.1.311.60.2.1.2=Guangdong/1.3.6.6.1.4.1.311.60.2.1.1=Shenzhen/businessCategory=Privé Organisation/serialNumber=440301103308619/C=CN/ST=\xE5\xB9\xBF\xE4\xB8\x9C\xE7\x9C\x81/L=\xE6\xB7\xB1\xE5\x9C\xB3\xE5\xB8\x82/postalCode=518067/street=\xE6\xB7\xB1\ xE5\x9C\xB3\xE5\xB8\x82\xE5\x8D\x97\xE5\xB1\xB1\xE5\x8C\xBA\xE5\x8D\x97\xE6\xB5\xB7\xE5\xA4\xA7\xE9\x81\x931057\xE5\x8F\xB7\xE7\xA7\x91\xE6\x8A\x80\xE5\xA4\xA7\xE5\ x8E\xA6\xE4\xBA\x8C\xE6\x9C\x9FA\xE6\xA0\x8B502#/O=WoSign\xE6\xB2\x83\xE9\x80\x9A\xE7\x94\xB5\xE5\xAD\x90\xE8\xAE\xA4\xE8\xAF\x81\xE6\x9C\x8D\xE5\x8A\xA1\xE6\x9C\x89\ xE9\x99\x90\xE5\x85\xAC\xE5\x8F\xB8/CN=www.wosign.com
   i :/C=CN/O=WoSign CA Limited/CN=WoSign Class 4 EV CA
1 s :/C=CN/O=WoSign CA Limited/CN=WoSign Class 4 EV CA
   i :/C=CN/O=WoSign CA Limited/CN=Autorité de certification de WoSign
2 s :/C=CN/O=WoSign CA Limited/CN=Autorité de certification de WoSign
   i :/C=IL/O=StartCom Ltd./OU=Signature sécurisée de certificats numériques/CN=Autorité de certification StartCom
---

0, 1 et 2 sont les numéros de série de chaque niveau de certificat dans la chaîne de certificats. 0 est le certificat utilisé par le site web pour être vérifié. Son CN doit correspondre au nom de domaine du site web.
Après chaque numéro de série, la ligne commençant par s renvoie au certificat, et la ligne commençant par i indique qui a délivré le certificat.

On peut voir que le CN de 0 contient un nom de domaine chinois suspecté et un www.wosign.com de domaine anglais. Il est délivré par WoSign CA Limited/CN=WoSign Class 4 EV Server CA.

Un certificat de 1 est l’émetteur de 0. L’un d’eux est délivré par un autre certificat, l’Autorité de Certification de WoSign.
Regardons le niveau suivant, 2. Il est indiqué que l’autorité de certification de WoSign est délivrée par StartCom (haha, il s’avère que c’est un sous-traitant !). )

Après avoir examiné à ce niveau, le navigateur dit : « Oh, je connais l’émetteur du 2, et c’est mentionné dans le paquet d’installation, StartCom. » Signature et validation correctes, donc confiance 2. Ensuite, vous devriez aussi faire confiance à 1 émis par 2 et 0 émis par 1. Ce site est donc fiable.

--

Cependant, si le site web est configuré pour ne contenir que lui-même dans le fichier CRT et non une chaîne de certificats suffisamment complète pour être vérifiée par les données intégrées du navigateur, il peut être rejeté par le navigateur. Comme quoi
openssl s_client -connect touko.moe :443
---
Chaîne de certificats
0 s :/CN=touko.moe
   i :/C=CN/O=WoSign CA Limited/CN=WoSign CA Certificat SSL gratuit G2
---
Il n’y en a que 0 dans un groupe. Description Le touko.moe de la ligne s est émis par WoSign CA Free SSL Certificate G2 en ligne i. C’est parti.

C’est ce qui est le plus étonnant dans ce piège : il n’est pas toujours vrai que le navigateur ne vérifie pas à ce stade. Il y a deux situations :
R. Je n’ai jamais vu ça depuis l’installation du navigateur. Puis la validation échoue.
B. Si le navigateur a déjà vu et vérifié i, alors la vérification sera réussie.

En général, l’administrateur va sur le site https de l’émetteur du certificat pour acheter le certificat, et le navigateur le vérifie, puis met en cache tous les certificats intermédiaires qui ont été vérifiés avec succès, ce qui fait gagner du temps à l’avenir. Lorsque l’administrateur (par erreur) a configuré son site web et a consulté le test, il n’a rencontré aucun problème. Parce que son navigateur reconnaît déjà ce certificat intermédiaire.

Cependant, de nombreux utilisateurs n’ont peut-être pas visité d’autres sites web correctement configurés émis par ce certificat intermédiaire. Par conséquent, la validation échoue car elle ne peut pas trouver un émetteur fiable.


Il est comparable au contrôle des émissions d’échappement des véhicules diesel Volkswagen. Tout allait bien quand j’ai vérifié. Dès qu’ils sortent, ils mettent du poison.


ÉDIT : Comment réparer ...... Il s’agit probablement d’ajouter le paramètre SSLCertificateChainFile lors de la configuration du serveur, et d’utiliser le fichier bundle fourni par le site web de l’émetteur du certificat (le fichier contient un ensemble de certificats intermédiaires pour établir la connexion entre votre certificat et un certificat à haute confiance).




Précédent:OpenSSL convertit le format PFX en fichiers .key et .crt
Prochain:Les navigateurs Android indiquent que le certificat n’est pas fiable
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com