Une clé de session (aussi appelée clé aléatoire ou clé de transaction ; en anglais, session key, once-only key ou one-time key[1]) est une clé symétrique à usage unique utilisée pour chiffrer tous les messages dans une session de communication.

Il existe deux raisons principales d'utiliser les clés de session :

  • Plusieurs attaques cryptographiques deviennent plus faciles lorsqu'une grande quantité de matériel chiffré avec une même clé est disponible. En changeant de clé à chaque session, on limite la quantité de données traitées à l'aide d'une clé particulière et ces attaques sont rendues plus difficiles.
  • Le chiffrement asymétrique est trop lent pour de nombreuses applications et tous les algorithmes de clé secrète exigent que la clé soit distribuée de manière sécurisée. En utilisant le chiffrement asymétrique pour chiffrer la clé secrète qui sera utilisée durant une seule session par un algorithme de chiffrement symétrique et rapide, il est possible d'améliorer considérablement la performance globale d'un système. C'est le processus utilisé par PGP et GPG[2].

Comme toutes les clés cryptographiques, les clés de session doivent être choisies de sorte qu'elles ne puissent pas être prédites par un attaquant, ce qui nécessite habituellement qu'elles soient choisies aléatoirement. Le fait de ne pas choisir les clés de session (ou n'importe quelle clé) correctement est une erreur de conception majeure (et trop courante dans la pratique) dans tout système cryptographique.

Notes et références modifier

(en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Session key » (voir la liste des auteurs).