web-dev-qa-db-fra.com

Pourquoi Google utilise-t-il toujours un certificat sha1 sur son propre site alors qu'il les supprime progressivement dans Chrome?

Les outils de développement de Firefox montrent que https://www.google.com utilise un certificat signé avec SHA1. Pourquoi Google fait-il cela alors qu'il supprime lui-même le certificat?

Cela ne devrait-il pas seulement nuire à la réputation et aux intérêts de Google?

69
sgoblin

Il peut s'agir de "faire ce que je dis, pas ce que je fais". Notez que Chrome se plaint de l'utilisation de SHA-1 pour signer des certificats dont la validité s'étend au-delà de la fin de l'année 2015. Dans ce cas, le certificat de Google est de courte durée (en ce moment, le certificat qu'ils utilisent a été publié le 3 juin 2015 et expirera le 31 août 2015) et échappe ainsi à l'anathème vengeur de Chrome sur SHA-1.

L'utilisation de certificats de courte durée est une bonne idée, car elle permet une grande flexibilité. Par exemple, Google peut se passer de l'utilisation de SHA-1 (malgré la position rigoureuse de Chrome) car les algorithmes utilisés pour garantir l'intégrité d'un certificat n'ont pas besoin d'être robustes au-delà de l'expiration du certificat; ainsi, ils peuvent utiliser SHA-1 pour les certificats qui vivent pendant trois mois tant qu'ils croient qu'ils obtiendront un préavis d'au moins trois mois lorsque les navigateurs décideront que SHA-1 est définitivement et définitivement un outil du Démon, pour être tiré à vue.

Je suppose pourquoi ils utilisent toujours SHA-1 est qu'ils veulent interagir avec certains systèmes et navigateurs existants qui ne prennent pas encore en charge SHA-256. Outre les systèmes Windows pré-SP3 XP (qui devraient être retirés d'Internet dès que possible), on peut s'attendre à ce qu'il subsiste un certain nombre de pare-feu existants et d'autres systèmes de détection d'intrusions qui ont des problèmes avec SHA -256. En utilisant un certificat alimenté par SHA-256, Google courrait le risque de rendre son site "cassé" pour certains clients - pas par la faute de Google, mais les clients ne sont pas toujours justes dans leurs imprécations.

La stratégie de Google semble donc être la suivante:

  • Ils configurent Chrome pour crier et gémir quand il voit un certificat SHA-1 qui s'étend jusqu'en 2016 ou plus tard.
  • En raison de tous les avertissements effrayants, les utilisateurs des serveurs SSL existants (pas ceux de Google) commencent à abandonner (par exemple, ils ne terminent pas leurs transactions bancaires en ligne, car ils ont peur), forçant les administrateurs de serveur à acheter des certificats SHA-256.
  • Désormais, ces nouveaux certificats "cassent" ces sites aux yeux des pauvres qui doivent vivre avec des navigateurs ou des pare-feu obsolètes. Cela devrait obliger les gens à mettre à niveau ces navigateurs et pare-feu.
  • Pendant ce temps, la réputation de Google est indemne, car leur site ne déclenche aucun avertissement ni ne brise un vieux pare-feu - car il utilise toujours SHA-1!
  • Lorsque le monde entier est passé à SHA-256 et que tous les pare-feu ont été mis à jour, le chemin devient clair pour Google et ils peuvent utiliser SHA-256 pour leurs nouveaux certificats.

C'est une stratégie assez intelligente (et quelque peu diabolique), s'ils peuvent y arriver (et, Google étant Google, je pense qu'ils le peuvent).

105
Thomas Pornin

Méta-réponse/commentaire.

Re. Réponse de Thomas:
Je viens de lancer une analyse des laboratoires SSL sur un serveur Google.com et il semble que le certificat d'entité finale soit en fait SHA256withRSA. Mais l'intermédiaire (unique) n'est que SHA1withRSA. Je ne sais pas pourquoi.

Capture d'écran: SSL Labs screenshot

19
StackzOfZtuff

Comme l'a noté StackzOfZtuff, la signature SHA1 se trouve dans l'AC intermédiaire de longue durée¹ "Google Internet Authority G2".

Cette paire de clés est stockée dans un FIPS 140-2 module de sécurité matérielle certifié de niveau 3, où elle a été générée.² Le HSM lui-même peut signer à l'aide de SHA1, SHA-256, SHA-384 ou SHA-512.³

Cependant, la signature du certificat HSM a été effectuée par GeoTrust - probablement en avril 2013 -, en utilisant leur racine GeoTrust Global CA , alors qu'il était courant d'utiliser des signatures SHA-1. Il serait possible de remplacer cette signature par une SHA256 par une signature croisée par la racine SHA256 et en remplaçant le certificat envoyé par le serveur, mais cela n'a pas été fait.

Notez que si un attaquant était en mesure de créer une clé SHA-1 entrant en collision avec Google Internet Authority, l'ancienne signature fonctionnerait toujours, ⁴ de sorte que la clé CA intermédiaire devrait être révoquée, et donc il pourrait y avoir peu d'intérêt sur cette croix. chemin de signature, en attendant le remplacement du HSM, qui, je suppose, est programmé pour être effectué dans les 12 prochains mois.

¹ 05/04/2013 15:15:55 au 31/12/2016 23:59:59 GMT

² https://pki.google.com/GIAG2-CPS-1.2.pdf section 6.1.1

³ Selon l'annexe B

⁴ Bien que toutes les racines de signature SHA-1 devraient être révoquées lorsque cela devient possible…

5
Ángel