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;)
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:
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:
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.
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.)