A secure communication methodology is presented. The client device is
configured to download application code and/or content data from a server
operated by a service provider. Embedded within the client is a client
private key, a client serial number, and a copy of a server public key.
The client forms a request, which includes the client serial number,
encrypts the request with the server public key, and sends the download
request to the server. The server decrypts the request with the server's
private key and authenticates the client. The received client serial
number is used to search for a client public key that corresponds to the
embedded client private key. The server encrypts its response, which
includes the requested information, with the client public key of the
requesting client, and only the private key in the requesting client can
be used to decrypt the information downloaded from the server.