A session key is a temporary method of encrypting information. When a user opens a communication session, a key for that particular session is generated. That key is used for all communication during that period and then discarded when the session ends. Session keys are typically symmetrical and relatively simple as far as cryptography goes. This simplicity would generally be a major disadvantage of using the key, but since so many keys are in operation at a single time and the keys aren’t used very long, it isn’t as much of a problem.
Cryptography operates using keys. One key is used to scramble, or encrypt, data, and another is used to unscramble, or decrypt, it. When these keys are the same, or at least very similar, then they are symmetric. When the keys are very different, it is an asymmetric system. In most cases, a symmetric key is less secure than an asymmetric one since breaking one key completely opens up the code.
Session keys differ from typical keys in one major way; they are created to exist for a very short time. Unlike a normal key, which may be used without alterations for years, a session key is only meant to be used for a few seconds to a few hours. For instance, a key is generated when a user connects to check his email and then is discarded when he logs off. This gives these keys a variety of advantages and drawbacks that are unique to this encryption style.
Their major advantage is their volume. Since every communication session uses a unique key, even an average-sized company can generate hundreds of keys every day. The sheer number of keys a potential attacker would need to sift through just to access important information is immense. While any given session key may be relatively easy to break, the likelihood of that random key having important information is very low.
One of the major influences on the ease of key breaking is the amount of encrypted material that may be used for reference. The more material available, the easier it is to break. Since a session key has a very small amount of reference material, the simplicity of the key is less important.
On the other hand, session keys are well-known for poorly-made algorithms and easily-broken codes. This becomes especially apparent when attackers actually start to find patterns in the key generation or reverse engineer the actual algorithm. In either of these cases, the session key system breaks wide open, providing no security at all.