Challenge and response interaction between client and server computing devices
First Claim
1. A method for enabling a server computing device to detect a condition on a client computing device, comprising the steps of:
- (a) sending a code segment from the server computing device to the client computing device, said code segment comprising machine instructions;
(b) executing the code segment on the client computing device, said machine instructions comprising said code segment being used by the client computing device for determining a response, based upon a condition automatically accessed on the client computing device;
(c) sending the response from the client computing device to the server computing device;
(d) on the server computing device, comparing the response received from client computing device with an expected response;
(e) initiating a predefined action on the server computing device, if the response received from the client computing device does not match the expected response, or if no response is received, indicating that an expected condition does not exist on the client computing device; and
(f) permitting further interaction with the client computing device, if the response received from the client computing device matches the expected response, indicating that the expected condition exists on the client computing device.
2 Assignments
0 Petitions
Accused Products
Abstract
A condition on a client that is communicating with a server is determined by issuing a challenge to the client, causing the client to produce a response indicative of the condition. The server compares the response to an expected response to determine if the condition is as expected, and if not, takes appropriate action, such as terminating the connection with the client. The challenge preferably includes parameters and a code segment that causes the client to produce the response by executing the code segment. The code segment could perform a one-way hashing algorithm of a portion of memory indicated in the parameters. The server can thus determine if the client is using a modified basic input output system, modified software, pirated software, or whether other conditions exist on the client. The challenge can be changed to prevent the client from returning a false, predetermined response to the challenge.
-
Citations
37 Claims
-
1. A method for enabling a server computing device to detect a condition on a client computing device, comprising the steps of:
-
(a) sending a code segment from the server computing device to the client computing device, said code segment comprising machine instructions;
(b) executing the code segment on the client computing device, said machine instructions comprising said code segment being used by the client computing device for determining a response, based upon a condition automatically accessed on the client computing device;
(c) sending the response from the client computing device to the server computing device;
(d) on the server computing device, comparing the response received from client computing device with an expected response;
(e) initiating a predefined action on the server computing device, if the response received from the client computing device does not match the expected response, or if no response is received, indicating that an expected condition does not exist on the client computing device; and
(f) permitting further interaction with the client computing device, if the response received from the client computing device matches the expected response, indicating that the expected condition exists on the client computing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method for determining a condition of a client computing device for use in participating in playing an electronic game over a network through a network game playing service, comprising the steps of:
-
(a) transmitting a challenge from a server computing device providing the network game playing service to the client computing device, said challenge including at least one parameter for use in computing a response on the client computing device;
(b) using the parameter included in said challenge, computing a response on the client computing device, said response being related to the condition on the client computing device;
(c) sending the response from the client computing device to the server computing device;
(d) on the server computing device, comparing the response to an expected response; and
(e) terminating a connection of the client computing device to the server computing device if the response received from the client computing device does not match the expected response to the challenge, or if no response is received, indicating that an expected condition on the client computing device is not met. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A server computing device employed to provide a service to a plurality of client computing devices connected to the server computing device over a network, said server computing device detecting a condition on a client computing device, comprising:
-
(a) a memory in which a plurality of machine instructions are stored;
(b) a network interface for coupling to the plurality of client computing devices;
(c) a processor, coupled to the memory and to the network interface, said processor executing the machine instructions to carry out a plurality of functions, including;
(i) sending a code segment to a client computing device, said code segment causing the client computing device to determine a condition on the client computing device;
(ii) receiving a response from the client computing device indicative of the condition on the client computing device;
(iii) comparing the response to an expected response for the client computing device; and
(iv) carrying out a predefined action if the response does not match the expected response, or if the response is not received, and otherwise, providing the service to the client computing device over the network. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37)
-
Specification