Kunci sesi adalah kunci simetris sekali pakai yang digunakan untuk mengenkripsi semua pesan dalam satu sesi komunikasi. Istilah yang terkait erat adalah traffic encryption key atau TEK, yang mengacu pada kunci simetris apa pun yang digunakan untuk mengenkripsi pesan lalu lintas. Biasanya TEK sering diubah, di beberapa sistem setiap hari dan di sistem lain untuk setiap pesan.

Kunci sesi memperkenalkan kerumitan dalam cryptosystem. Namun, mereka juga membantu beberapa masalah nyata, itulah sebabnya mereka digunakan. Ada dua alasan utama untuk menggunakan kunci sesi:

  • Pertama, beberapa serangan cryptanalytic menjadi lebih mudah karena lebih banyak ciphertext yang dienkripsi dengan kunci tertentu tersedia. Dengan membatasi jumlah pesan yang dienkripsi menggunakan kunci tunggal, serangan-serangan tersebut menjadi lebih sulit.
  • Kedua, banyak algoritma enkripsi yang baik memerlukan kunci didistribusikan secara aman sebelum enkripsi dapat digunakan. Semua algoritma kunci rahasia simetris memiliki sifat yang tidak diinginkan ini. Ada algoritma lain yang tidak memerlukan distribusi kunci rahasia yang aman, tetapi mereka terlalu lambat untuk menjadi praktis untuk mengenkripsi pesan yang panjang (lihat Public-key cryptography). Dengan menggunakan salah satu dari algoritma "asimetris" ini untuk mendistribusikan kunci rahasia yang terenkripsi untuk algoritma kunci simetris lain yang lebih cepat, sangat mungkin untuk meningkatkan kinerja secara keseluruhan.

Seperti semua kunci kriptografi, kunci sesi harus dipilih sehingga tidak dapat diprediksi oleh penyerang. Dalam kasus biasa, ini berarti bahwa mereka harus dipilih secara acak. Kegagalan untuk memilih kunci sesi (atau kunci apapun) dengan benar adalah kelemahan utama dalam setiap kriptosistem.