A system and method for secure network communication. In various
embodiments of the present invention, data needed for authentication an
encryption is included in each communication pass between network
devices, so that when a network connection is broken, a secure connection
can be reestablished with the next pass. A client authentication service
on the client receives a server request and searches for a current
client-side session key. If one is not present, the client authentication
service generates and encrypts an initial session key, acquires
credentials, adds the credentials to the server request, and encrypts the
server request with the initial session key. The encrypted server request
and the encrypted session key are sent to the server, where a server
authentication service decrypts the initial session key, decrypts the
server request with the initial session key, and authenticates the
credentials before allowing the server request to be acted upon. Where a
current client-side session key is detected, the client authentication
service acquires the current client-side session key, generates a next
step session key, adds the next step session key to the server request,
and encrypts the server request with the current client-side session key.
The encrypted server request is sent to the server where the server
authentication service decrypts the server request with a current
server-side session key allowing the server request to be acted upon.