web-dev-qa-db-fra.com

Quelle pourrait être l'ordre de ces chiffres suivant comme premier critère la sécurité et juste alors la performance?

J'ai besoin d'un peu de guide pour décider dans quel ordre je dois mettre les chiffres suivants si je veux hiérarchiser la sécurité et dans les cas liés, envisagez des performances de décider.

ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AESGCM(256) Mac=AEAD
ECDHE-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AESGCM(256) Mac=AEAD
ECDHE-RSA-AES256-SHA384 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AES(256)  Mac=SHA384
ECDHE-ECDSA-AES256-SHA384 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AES(256)  Mac=SHA384
ECDH-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AESGCM(256) Mac=AEAD
ECDH-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AESGCM(256) Mac=AEAD
ECDH-RSA-AES256-SHA384  TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AES(256)  Mac=SHA384
ECDH-ECDSA-AES256-SHA384 TLSv1.2 Kx=ECDH/ECDSA Au=ECDH Enc=AES(256)  Mac=SHA384

Et qu'en est-il de cette liste?

DHE-DSS-AES256-GCM-SHA384 TLSv1.2 Kx=DH       Au=DSS  Enc=AESGCM(256) Mac=AEAD
DHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=DH       Au=RSA  Enc=AESGCM(256) Mac=AEAD
DHE-RSA-AES256-SHA256   TLSv1.2 Kx=DH       Au=RSA  Enc=AES(256)  Mac=SHA256
DHE-DSS-AES256-SHA256   TLSv1.2 Kx=DH       Au=DSS  Enc=AES(256)  Mac=SHA256

liste différente, je ne veux pas les mélanger;)

6
canciobello

Sécurité: Si vous ne faites pas de choses stupides telles que l'utilisation d'une clé RSA de 512 bits, ces suites ciphères sont toutes également sécurisées: elles sont toutes très loin dans la zone "Impossible de la casser" . C'est donc un meh. Vous ne pouvez pas dire que l'un est plus sécurisé que tout autre.

Avec une exception cependant: les suites "ECDHE" utilisent une paire de clés éphémère pour le cryptage réel; Étant donné que la clé privée correspondante n'est jamais stockée dans un fichier, cela accorde une propriété Nifty appelée Perfect Awverver Secrecy . Fondamentalement, il rend les communications à l'abri des attaquants qui volent une copie de la clé privée du serveur après le fait. PFS a l'air bien dans les audits techniques.


Les problèmes de performance n'existent qu'après avoir été dûment mesuré. Comme le dit Knuth: L'optimisation prématurée est la racine de tous les Evil. Donc, vous ne devriez pas demander de telles questions; Vous devriez Essayez-le et mesurez-le. Dans tous les cas, la réponse dépendra beaucoup sur le contexte: Machines impliquées, bande passante, modèles d'utilisation ...

Réponse courte: n'aura pas d'importance.

Réponse longue:

Les suites ciphères "GCM" utilisent [~ # ~] GCM [~ # ~] ; Les suites de chiffrement non-GCM utilisent des AES en mode CBC et un HMAC supplémentaire (ici, avec SHA-384). Les problèmes de performance dépendent des systèmes concernés:

  • Sur de petits systèmes 32 bits (bras intégrés ...), la partie Mac de GCM sera coûteuse, mais SHA-384 (parce que des calculs de 64 bits ...); Je devinerais une cravate.
  • Sur PC, le coût d'AES dominera;
  • ... sauf sur un PC très récent avec AES-NI , où AES est très rapide, de même que GCM.

La Suite Cipher GCM devrait donc être une meilleure négociation. Cependant, il faut beaucoup de bande passante, ou un très petit CPU, de remarquer la différence. Même sans AES-NI, un serveur normal a suffisamment de jus pour faire SSL à la bande passante Gigabit complète, avec CPU à épargner.

Pour la partie de cryptographie asymétrique:

  • Les suites ECDHE impliquent sur le serveur une (elliptique-courbe) Diffie-Hellman etune signature pour chaque main de main complète, tandis que les suites ciphères ECDH ne nécessitent que la courbe elliptique Diffie-Hellman, et la moitié de celui-ci est déjà fait.
  • ... Mais un PC normal va dépasser des milliers de personnes par seconde et par code, donc cela compte très rarement.
  • ... surtout que les clients SSL normaux réutilisent les sessions SSL, ce qui signifie que la cryptographie asymétrique ne se produit que pour la première connexion de la journée à partir d'un client donné.
  • Les signatures ECDSA sont plus rapides que les signatures RSA.
  • ... Selon les tailles de clés, bien sûr.
  • ... Mais pour vérification, c'est l'inverse.
  • ... et encore une fois, il faut énormément de nouveaux clients par seconde pour cela pour cela. Un PC normal fera des centaines de signatures RSA de 2048 bits par seconde, des milliers de signatures ECDSA de 256 bits par seconde.
  • Les signatures de l'ECDSA sont plus courtes que les signatures RSA. Cela permet donc d'économiser un peu de réseau (mais encore une fois, seulement quelques dizaines d'octets par pleine poignée de main).
  • Les suites ciphères DHE et ECDHE impliquent également quelques douzaines d'octets supplémentaires par une poignée de main pleine.
  • DHE est comme ECDHE mais sans les courbes elliptiques. Vous en avez besoin pour utiliser de plus grandes mathématiques pour atteindre les mêmes niveaux de sécurité (module 2048 bits au lieu d'un point de courbe de 256 bits), il est donc comme le RSA vs ECDSA: un peu plus grand, un peu plus lent, ne comptera pas dans la pratique .

Donc, vraiment, vous ne ferez pas une distinction utile basée sur Sécuritéou même performance. En fait, vous faites déjà une déclaration de mode , en insistant sur l'AES-256 (au lieu d'AES-128) et SHA-384 (au lieu de SHA-256). Vous pouvez également le garder et l'apporter à sa conclusion logique: utilisez autant que possible des courbes de GCM et elliptiques! Cela accordera des points Brownie des auditeurs impressionnables.

14
Thomas Pornin

Vous devez choisir une suite en fonction de l'application: Pour des données persistantes telles que des courriels, vous ne pouvez pas utiliser les touches éphémérales, car vous avez besoin des clés à stocker sur le serveur afin de déchiffrer les courriels.

Je suggère également d'utiliser RSA sur ECDSA pour votre compatibilité du certificat de navigateur.

(Pour des informations pures: les touches éphémères ne sont pas authentifiées. Si vous souhaitez éviter les attaques MITM, vous devez obtenir une authenticité quelque part. Vous pouvez utiliser une clé publique statique par exemple (ainsi fi fiduciée par un certificat), puis vous contractez Mitm.

Pour casser l'une de ces suites, un écouteur doit résoudre le problème d'algorithme discret de DH (courbe elliptique pour ECDH) et le problème de factorisation entier pour RSA. Les meilleurs algorithmes connus pour le faire peuvent être généralisés pour les problèmes, ainsi qu'ils partagent la même complexité asymptotique.)

0
Stefano Beltrame