Patent ID: 8549298

Claim:
One or more tangible computer-readable storage devices having computer-usable instructions embodied thereon that when executed by a computing device having a processor and memory, cause the computing device to perform a method of securing communications between a client and an online service provider, the method comprising: receiving an authentication request from a user agent associated with the client, the authentication request including a set of identification information and a set of authentication information; determining that the set of identification information and the set of authentication information are associated with a user; at an authentication server, creating an authentication ticket including a user identification and an authentication, the authentication ticket indicating to the online service provider that the user is authenticated to access one or more services provided by the online service provider; generating, by way of the computing device, a session key for secure communications between a client and an online service provider, the session key comprising a random arrangement of numbers; embedding an encrypted session key into the authentication ticket that is communicated from the user agent to the online service provider prior to the user agent accessing the one or more services provided by the online service provider, the authentication ticket including the user identification and the authentication, the encrypted session key encrypted using a permanent key, wherein the permanent key includes a private key known only to the online service provider and a public key known at least to the authentication server such that once the online service provider has decrypted the encrypted session key from the authentication ticket using the private key to obtain an unencrypted session key, the online service provider uses the unencrypted session key to encrypt information that is sent to the user agent; and communicating the unencrypted session key to the user agent that stores the unencrypted session key locally.