Software Security for Gaming Devices
First Claim
1. A verification method for software in a computing device, the computing device having a housing containing a host processing system for running an application program, the method comprising:
- a. providing an authorized first circuit entirely housed within the computing device'"'"'s housing, the first circuit being a secure dongle having terminals connected to an internal port of the computing device, whereby data stored in the first circuit is protected by security features, the first circuit being in communication with the host processing system;
b. running the application program by the host processing system;
c. while running the application program, generating a challenge code by the host processing system, the challenge code being for determining if the first circuit is an authorized first circuit;
d. receiving the challenge code by the first circuit;
e. performing a mathematical function on the challenge code by the first circuit to generate a response code by the first circuit, the response code being uniquely determined by the function performed on the challenge code;
f. determining by the host processing system if the response code was a proper response code by comparing the response code generated by the first circuit to the proper response code;
g. if the response code was determined to be a proper response code, then determining that the first circuit is an authorized first circuit and continuing to run the application program, the application program being carried out, after determining that the first circuit is an authorized first circuit, independently of the first circuit,wherein, after it is determined that the first circuit is an authorized first circuit, the application program continues to be executed without further involvement by the first circuit until a next challenge code is transmitted by the host processing system to the first circuit;
h. if the response code was determined to not be a proper response code, then determining that the first circuit is not an authorized first circuit and preventing the application program being further carried out by the computing device; and
i. repeating the steps b through h at various times while the application program is running to ensure the first circuit is still in communication with the host processing system.
3 Assignments
0 Petitions
Accused Products
Abstract
A secure smart card or other secure modular memory device is plugged into (or otherwise connected to) a port of a game controller board internal to a gaming machine, where it is not accessible to a player. The smart card is programmed to detect an encrypted “challenge” message from the host CPU and output an encrypted “response.” If the host CPU determines that the response has the expected properties, then the host CPU verifies that the game program (an application program) is also is authentic, and the game can be played. The challenge/request exchange may be performed periodically to ensure the smart card is still installed. If the response is improper, then the host CPU will issue a halt command to halt play of the game.
37 Citations
15 Claims
-
1. A verification method for software in a computing device, the computing device having a housing containing a host processing system for running an application program, the method comprising:
-
a. providing an authorized first circuit entirely housed within the computing device'"'"'s housing, the first circuit being a secure dongle having terminals connected to an internal port of the computing device, whereby data stored in the first circuit is protected by security features, the first circuit being in communication with the host processing system; b. running the application program by the host processing system; c. while running the application program, generating a challenge code by the host processing system, the challenge code being for determining if the first circuit is an authorized first circuit; d. receiving the challenge code by the first circuit; e. performing a mathematical function on the challenge code by the first circuit to generate a response code by the first circuit, the response code being uniquely determined by the function performed on the challenge code; f. determining by the host processing system if the response code was a proper response code by comparing the response code generated by the first circuit to the proper response code; g. if the response code was determined to be a proper response code, then determining that the first circuit is an authorized first circuit and continuing to run the application program, the application program being carried out, after determining that the first circuit is an authorized first circuit, independently of the first circuit, wherein, after it is determined that the first circuit is an authorized first circuit, the application program continues to be executed without further involvement by the first circuit until a next challenge code is transmitted by the host processing system to the first circuit; h. if the response code was determined to not be a proper response code, then determining that the first circuit is not an authorized first circuit and preventing the application program being further carried out by the computing device; and i. repeating the steps b through h at various times while the application program is running to ensure the first circuit is still in communication with the host processing system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
Specification