Gaming machine having reduced-read software authentication
AssigneeWMS Gaming Inc.
InventorThomas A. Gentles
Life of this patent
Estimating the term…
Abstract
A gaming machine that authenticates the gaming software at boot-up or after a reset. A processor in conjunction with the boot memory reads the bits of data and files from a non-volatile memory device via a single read of each bit. The files are each validated while the bits of non-volatile memory data are simultaneously validated. After all the files and the data are validated then the gaming software is authenticated.
Claims39
A method of authenticating contents of a memory device within a gaming machine during a boot-up operation or after a reset operation without executing contents during authentication, the gaming machine including an operation system, said method of authenticating comprising:
- reading a predetermined amount of raw data from a memory device prior to creating a file system of said operating system;
- calculating a data hash value using a first representation of all said predetermined amount of raw data;
- emulating the file system prior to creating a file system, and determining to which file, of a plurality of files, said predetermined amount of raw data belongs;
- calculating a file hash value, using a second representation of all said predetermined amount of raw data, for the file to which said predetermined amount of data belongs without an additional read of said predetermined amount of raw data;
- determining whether said file to which said predetermined amount of data belongs is valid when said predetermined amount of raw data is used to complete the calculating of said file hash value for said file;
- and
- determining whether all data in said memory device is valid after a last predetermined amount of raw data from said memory device is read, all of the raw data being read without an additional read of any of the raw data, and the calculating of said data hash value is completed.
In a gaming machine, a method of authenticating a media device including media data during a bootstrap operation or a reset operation without executing contents during authentication, said method comprising:
- performing a raw media read of said media device, said raw media read comprising a read of at least one bit of data stored in said media device;
- updating a media hash using said at least one bit of data, said media hash being associated with substantially all the data stored on said media device;
- determining to which one file, of a plurality of files, that said at least one bit of data belongs;
- updating a file hash using said at least one bit of data without an additional read of said at least one bit of data, said file hash being associated with said one file, of said plurality of files, that said at least one bit of data belongs;
- using said a file hash to determine whether said one file, of said plurality of files, has a valid file signature after a last bit of said one file is used in said updating of a file hash step;
- and
- using said a media hash to determine whether said media data has a valid media signature after a last bit of said media data is used in said updating of a media hash step, all of the media data being read without an additional read of any of the media raw data.
A gaming machine comprising:
- a user interface;
- and a central processing unit (CPU) coupled to said user interface, said CPU comprising:
- a processor;
- a boot memory coupled to said processor;
- a non-volatile memory coupled to said processor, said non-volatile memory storing data and a plurality of files;
- and
- a plurality of instructions wherein at least a portion of said plurality of instructions are storable in said boot memory, and further wherein said plurality of instructions are configured to cause said processor to determine the authenticity of said data and said plurality of files stored in said non-volatile memory without executing contents during authentication, said plurality of instructions being configured to cause the processor to perform:
- reading a predetermined amount of raw data from said non-volatile memory;
- calculating a data hash value using a first representation of all of said predetermined amount of raw data from said non-volatile memory;
- determining to which file, of said plurality of files, said predetermined amount of raw data belongs;
- calculating a file hash value for the file, using a second representation all of said predetermined amount of raw data without an additional read of said predetermined amount of raw data;
- determining whether the file, of said plurality of files, is a valid file after said predetermined amount of raw data is a last amount of data for the file, all of the raw data being read without an additional read of any of the raw data;
- determining whether said data in said non-volatile memory is valid data after said predetermined amount of raw data is a last amount of data read from said non-volatile memory;
- repeating said above plurality of instructions with only a single read until at least one of said plurality of files is determined to be invalid, the data in the non-volatile memory is determined to be invalid, or both the data in the non-volatile memory and all said plurality of files are determined to be valid.
An article of manufacture for authenticating a media device's contents during boot-up or after reset of a gaming machine without executing contents during authentication, said article of manufacture comprising:
- a first non-volatile memory device;
- a plurality of instructions wherein at least a portion of said plurality of instructions are storable in said first non-volatile memory, and further wherein said plurality of instructions are configured to cause a processor to perform:
- reading a predetermined amount of raw data from a second memory device;
- calculating a data hash value using a first representation all of said predetermined amount of raw data from said second memory device;
- determining to which file, of said plurality of files, said predetermined amount of raw data belongs;
- calculating a file hash value for the file, using a second representation all of said predetermined amount of raw data of said predetermined amount of raw data;
- determining whether the file, of said plurality of files, is a valid file after said predetermined amount of data is a last amount of raw data for the file;
- determining whether said data in said second memory device is valid data after said predetermined amount of data is a last amount of raw data read from said second memory device, all of the raw data being read without an additional read of any of the raw data;
- repeating said above plurality of instructions until at least one of said plurality of files is determined to be invalid, the data in the non-volatile memory is determined to be invalid, or both the data in the second memory device and all said plurality of files are determined to be valid.
A gaming machine comprising:
- a processor;
- a bus connected to said processor a boot memory connected to said bus;
- and
- a non-volatile memory connected to said bus, said non-volatile memory comprising data bits and a plurality of files wherein at least a portion of said data bits make up said plurality of files;
- said boot memory being adapted to provide said processor instructions for validating said data bits and said plurality of files using a data hash value calculated using a first representation of all of said data bits for said non-volatile memory and a file hash value calculated using a second representation of data bits without an additional read of said second representation of said data bits for each of said plurality of files after substantially a single raw read of each of said data bits without executing said plurality of files during validating, determining whether said file to which said data bits belongs is valid when said data bits completes the calculating of said file hash value for said file;
- and
- determining whether all data in said memory device is valid after a last amount of said data bits from said memory device is read, all of the data bits being read without an additional read of any of the data bits, and the calculating of said data hash value is completed.
Dependencies are inferred from the claim text.