web-dev-qa-db-fra.com

Pourquoi devrais-je choisir SHA-256 plutôt que SHA-512 pour un certificat SSL / TLS?

Je cherche à renouveler un certificat générique SSL (okay, TLS) avec un service bien connu. Je dois fournir un CSR, que j'ai créé en utilisant une clé de 2048 bits. Je dois également choisir un hachage de signature. Le service propose trois choix: SHA-256, SHA-384, et SHA-512. Parmi ceux-ci, SHA-256 est la valeur par défaut.

Cela m'embrouille. Un hachage plus long n'est-il pas censé être toujours plus fort? Y a-t-il une bonne raison pour que je veuille le plus petit hachage de signature 256 bits sur le plus grand 512 ou est-ce probablement juste une erreur d'interface utilisateur? Y a-t-il des applications qui ne peuvent pas encore utiliser de hachage 512 bits?

53
Joel Coehoorn

Du point de vue de la sécurité, ce serait assez inutile. En termes pratiques, SHA-256 est tout aussi sécurisé que SHA-384 ou SHA-512. Nous ne pouvons pas produire de collisions dans aucun d'entre eux avec la technologie actuelle ou prévisible, donc la sécurité que vous obtenez est identique.

Du point de vue non sécuritaire, les raisons de choisir SHA-256 sur les résumés plus longs sont plus évidentes: il est plus petit, nécessitant moins de bande passante pour stocker et transmettre, moins de mémoire et dans de nombreux cas moins de puissance de traitement pour calculer. (Il existe des cas où SHA-512 est plus rapide et plus efficace.)

Troisièmement, il y a probablement des problèmes de compatibilité. Étant donné que pratiquement personne n'utilise de certificats avec SHA-384 ou SHA-512, vous êtes beaucoup plus susceptible de rencontrer des systèmes qui ne les comprennent pas. Il y a probablement moins de problèmes maintenant que par le passé, mais encore une fois, vous vous achetez un risque sans gain.

Donc, à l'heure actuelle, il n'y a pas d'avantages clairs à choisir SHA-384 ou SHA-512, mais il y a des inconvénients évidents. C'est pourquoi SHA-256 est le choix universel pour les certificats modernes pour les sites Web.

75
Xander

Le seul véritable avantage que SHA-512 pourrait avoir sur SHA-256 est la résistance aux collisions , un terme qui en cryptographie a n sens très étroit . SHA-256 revendique une résistance aux collisions de 128 bits, SHA-512 revendique 256 bits. Si ou quand un ordinateur quantique est construit, nous pourrions avoir besoin de la résistance à la collision de 256 bits.

Étant donné que les certificats SSL ont généralement des dates d'expiration à relativement court terme, il est très bien d'obtenir un certificat SHA-256 aujourd'hui, car il expirera avant la construction d'un ordinateur quantique pratique (si cela se produit).

Mis à part cela:

  • Les sorties SHA-256 sont plus courtes, ce qui économise la bande passante.
  • Un matériel différent favorise différentes fonctions. SHA-512 est généralement plus rapide sur les processeurs 64 bits, SHA-256 plus rapide sur les processeurs 32 bits. (Essayez la commande openssl speed sha256 sha512 sur ton ordinateur.)
  • SHA-512/256 se situe juste entre les deux fonctions - la taille de sortie et le niveau de sécurité de SHA-256 avec les performances de SHA-512 - mais presque aucun système ne l'utilise jusqu'à présent.
39
Luis Casillas