Cette question concerne les clés d'envoi et de réception de session utilisées dans le protocole SSL/TLS. ma compréhension est que cette clé utilise un cryptage symétrique (DES, AES, BlowFish, etc.) Je me demande, si les paires de clés public-privé sont supérieures aux clés symétriques en ce qui concerne la sécurité de l'échange de clés, pourquoi ne pas utiliser le cryptage asymétrique pour la session clés aussi?
il s'agit d'une extension d'une question existante: sécurité des PKI, certificats, autorités de certification, secret de transmission
3 raisons (maintenant):
Les algorithmes de chiffrement asymétriques sont beaucoup moins efficaces que les algorithmes symétriques. Donc, essentiellement, toute utilisation du chiffrement via des clés asymétriques implique le chiffrement d'une clé de session symétrique, avec laquelle le message réel est chiffré.
Outre les notes utiles d'AviD sur la longueur des clés, notez que si les attaques informatiques quantiques deviennent réalisables, elles rendront tous les algorithmes à clé publique traditionnels (et donc SSL/TLS) inefficaces. Mais l'AES-256 droit resterait solide même en cas d'attaque informatique quantique. Voir Taille de la clé - Effet des attaques informatiques quantiques - Wikipedia . La question serait alors de savoir comment échanger ces clés et leur faire confiance.
Il s'agit d'une approche standard, appelée (cryptosystème hybride. La cryptographie symétrique et la cryptographie asymétrique ont chacune leurs points forts et leurs points faibles. En particulier:
La sécurité n'est pas vraiment une préoccupation dans le choix entre la cryptographie symétrique et asymétrique. La cryptographie asymétrique résout des problèmes que la cryptographie symétrique ne peut pas; pour tout le reste, la cryptographie symétrique est utilisée, car elle est beaucoup plus rapide.
(En raison d'être plus rapide, la cryptographie symétrique a tendance à avoir une marge de sécurité plus élevée: les tailles de clé communes - AES 128 bits - sont suffisamment grandes pour que, à moins d'une percée mathématique complètement nouvelle, tous les ordinateurs existant actuellement sur terre fonctionnent aussi longtemps car l'univers a existé n'aurait que très peu de chances de briser le cryptage. La cryptographie asymétrique fonctionne sur des marges plus petites en raison de ses performances médiocres et il y a des améliorations mathématiques occasionnelles dans les méthodes de craquage qui rendent les tailles de clés couramment utilisées correctes pendant quelques années mais pas nécessairement pendant quelques décennies. Mais c'est une préoccupation secondaire par rapport à l'alternative capacités/performances.)
Les cryptosystèmes hybrides résolvent le dilemme en utilisant la cryptographie asymétrique uniquement là où cela est nécessaire:
Dans HTTPS, comme il est couramment utilisé sur le Web, le serveur a une clé publique, mais pas le client - tout navigateur peut contacter le serveur, le serveur se fiche de l'identité du client. ( Les certificats côté client sont utilisés là où cela a du sens .) Une vue de très haut niveau et incomplète d'un établissement de session HTTPS est:
Notez que j'ai fait beaucoup de simplifications ci-dessus. Pour plus de détails, lisez: