Een sessiesleutel is een symmetrische sleutel voor eenmalig gebruik die wordt gebruikt voor het versleutelen van alle berichten in één communicatiesessie. Een nauw verwante term is verkeersversleutelingssleutel of TEK, wat verwijst naar elke symmetrische sleutel die wordt gebruikt om verkeersberichten te versleutelen. Typisch worden TEK's vaak gewijzigd, in sommige systemen dagelijks en in andere voor elk bericht.
Sessiesleutels introduceren complexiteiten in een cryptosysteem. Ze helpen echter ook bij een aantal echte problemen en daarom worden ze gebruikt. Er zijn twee belangrijke redenen voor het gebruik van sessiesleutels:
- Ten eerste worden verschillende cryptanalytische aanvallen vergemakkelijkt doordat er meer versleutelde tekst met een specifieke sleutel beschikbaar is. Door het aantal berichten dat met een enkele sleutel is versleuteld te beperken, worden deze aanvallen bemoeilijkt.
- Ten tweede is het voor veel andere goede versleutelingsalgoritmen noodzakelijk dat de sleutels veilig worden gedistribueerd voordat de versleuteling kan worden gebruikt. Alle symmetrische geheime sleutelalgoritmen hebben deze ongewenste eigenschap. Er zijn andere algoritmen die geen veilige distributie van geheime sleutels vereisen, maar ze zijn te langzaam om praktisch te zijn voor het vercijferen van lange berichten (zie Public-key cryptografie). Door een van deze "asymmetrische" algoritmen te gebruiken om een vercijferde geheime sleutel te verspreiden voor een ander, sneller, symmetrisch-sleutel-algoritme, is het mogelijk om de algemene prestaties aanzienlijk te verbeteren.
Zoals alle cryptografische sleutels, moeten de sessiesleutels zo gekozen worden dat ze onvoorspelbaar zijn voor een aanvaller. In het gebruikelijke geval betekent dit dat ze willekeurig gekozen moeten worden. Het niet goed kiezen van sessiesleutels (of een andere sleutel) is een groot nadeel in elk cryptosysteem.