Authentication system for gaming machines
First Claim
1. A method of verifying gaming components using an authentication system to authenticate contents of a manifest in a gaming system including one or more processors, the method comprising:
- determining if the manifest is authentic using a digital signature check, the manifest having contents including a plurality of components each having a file name, a block indicator, an associated stored hash, a block size field indicating a size of each data block, and a block number field indicating a number of data blocks;
booting an operating system, once the contents of the manifest are authenticated;
performing a hash calculation over each component listed by file name in the authenticated manifest, as the component is needed, to produce a calculated hash;
verifying each gaming component for which a hash calculation was performed by comparing the calculated hash to the associated stored hash and associated file name located within the manifest using the one or more processors; and
loading the gaming component if the calculated hash and the stored hash are equal.
4 Assignments
0 Petitions
Accused Products
Abstract
Disclosed is a system and method that uses digital signature technology to authenticate the contents of one or more manifests located on a storage device. Each manifest contains a list of file records, where each record contains the name of a file stored on the storage device, and a SHA1 hash value derived from the contents of the file. At boot time, the gaming machine first authenticates the contents of the manifest and then verifies the contents of the files using the SHA1 value stored in the manifest. Files are verified using the SHA1, as they are needed, during the boot up of the operating system and throughout normal operation. This method reduces the boot time of the gaming machine and eliminates the need to check digital signatures for each individual file or over the entire contents of a non-secure media.
97 Citations
35 Claims
-
1. A method of verifying gaming components using an authentication system to authenticate contents of a manifest in a gaming system including one or more processors, the method comprising:
-
determining if the manifest is authentic using a digital signature check, the manifest having contents including a plurality of components each having a file name, a block indicator, an associated stored hash, a block size field indicating a size of each data block, and a block number field indicating a number of data blocks; booting an operating system, once the contents of the manifest are authenticated; performing a hash calculation over each component listed by file name in the authenticated manifest, as the component is needed, to produce a calculated hash; verifying each gaming component for which a hash calculation was performed by comparing the calculated hash to the associated stored hash and associated file name located within the manifest using the one or more processors; and loading the gaming component if the calculated hash and the stored hash are equal. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method of verifying a component using an authentication system to authenticate contents of a manifest in a gaming system including one or more processors, the component having a plurality of sub-components, the method comprising:
-
determining if the manifest is authentic using a digital signature check, the manifest having contents including a plurality of sub-components each having a file name, a block indicator, an associated stored hash, a block size field indicating a size of each data block, and a block number field indicating a number of data blocks; booting an operating system, once the contents of the manifest are authenticated; performing a hash calculation over each sub-component listed by file name in the authenticated manifest, as the component is needed, to produce a calculated hash; verifying the plurality of sub-components for which a hash calculation was performed by comparing the calculated hash to the associated stored hash and associated file name located within the manifest using the one or more processors; and loading the sub-component if the calculated hash and the stored hash for the sub-component are equal.
-
-
13. A system for verifying a component using an authentication system to authenticate contents of a manifest in a gaming system, the system comprising:
-
a processor; a set of instructions that are executable on the processor for determining if the manifest is authentic using a digital signature check, the manifest having contents including a plurality of components each having a file name, a block indicator, an associated stored hash, a block size field indicating a size of each data block, and a block number field indicating a number of data blocks, wherein an operating system is booted, once the contents of the manifest are authenticated; a set of instructions that are executable on the processor for performing a hash calculation over each component listed by file name in the authenticated manifest, as the component is needed, to produce a calculated hash; a set of instructions that are executable on the processor for verifying the component for which a hash calculation was performed by comparing the calculated hash to the associated stored hash and associated file name located within the manifest; and a set of instructions that are executable on the processor for loading the component if the calculated hash and the stored hash are equal. - View Dependent Claims (14)
-
-
15. A system for verifying a component using an authentication system to authenticate contents of a manifest in a gaming system including one or more processors, the system comprising a non-transitory computer usable medium having computer readable program code embodied therein configured for verifying a component using the one or more processors, comprising:
-
computer readable code configured to authenticate a manifest using a digital signature check, the manifest having contents including a plurality of components each having a file name, a block indicator, an associated stored hash, a block size field indicating a size of each data block, and a block number field indicating a number of data blocks; computer readable code configured for determining if the contents of the manifest are is authenticated, and booting an operating system, once the contents of the manifest are authenticated; computer readable code configured to perform a hash calculation over each component listed by file name in the authenticated manifest, as the component is needed, to produce a calculated hash; computer readable code configured to verify each component for which a hash calculation was performed by comparing the calculated hash to the associated stored hash and associated file name located within the manifest using the processor; computer readable code configured to load the component, if the calculated hash and the stored hash are equal.
-
-
16. A method of authenticating the contents of manifests on a writable media device in a gaming system including one or more processors, the method comprising:
-
authenticating a manifest using a digital signature check, the manifest having contents including a plurality of components each having a file name, a block indicator, an associated stored hash, a block size field indicating a size of each data block, and a block number field indicating a number of data blocks; determining if the contents of the manifest are authenticated; booting an operating system if the contents of the manifest are authenticated; performing a hash calculation over each component listed by file name in the authenticated manifest, as the component is needed, to produce a calculated hash; verifying each component for which a hash calculation was performed by comparing the calculated hash to the associated stored hash and associated file name located within the manifest using the one or more processors; and loading the component if the calculated hash and the stored hash are equal. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A method of installing one or more data components using an authentication system to authenticate contents of a manifest in a gaming system including one or more processors, the method comprising:
-
creating a manifest having contents including a plurality of components each having a file name, a block indicator, an associated stored hash, a block size field indicating a size of each data block, and a block number field indicating a number of data blocks; creating a digital signature of the manifest; installing the one or more data components, the manifest, and the digital signature on a media device; determining if the contents of the manifest are authenticated, and booting an operating system if the contents of the manifest are authenticated; performing a hash calculation over each component listed by file name in the authenticated manifest, as the component is needed, to produce a calculated hash; and verifying each component for which a hash calculation was performed by comparing the calculated hash to the associated stored hash and associated file name located within the manifest using the one or more processors; wherein the digital signature is for authenticating the manifest, and the hash values are for verifying the one or more data components before loading on an as-needed basis. - View Dependent Claims (26, 27)
-
-
28. In a gaming machine, a method of verifying one or more files stored on a network associated storage device using an authentication system to authenticate contents of a manifest in a gaming system including one or more processors, the method comprising:
-
determining if a manifest is authentic using a digital signature check, the manifest having contents including a plurality of files each having a file name, a block indicator, an associated stored hash, a block size field indicating a size of each data block, and a block number field indicating a number of data blocks; reading the file from the network associated storage device over a network connection if the manifest is authentic; booting an operating system if the contents of the manifest are authenticated; performing a hash calculation over each file listed by file name in the authenticated manifest, as the component is needed, to produce a calculated hash; verifying each file for which a hash calculation was performed by comparing the calculated hash to the associated stored hash and associated file name located within the manifest using the one or more processors; and loading the file if the calculated hash and the stored hash are equal. - View Dependent Claims (29, 30, 31)
-
-
32. In a gaming machine, a method of verifying one or more files stored on a diskless storage device using an authentication system to authenticate contents of a manifest in a gaming system including one or more processors, the method comprising:
-
determining if a manifest is authentic using a digital signature check, the manifest having contents including a plurality of files each having a file name, a block indicator, an associated stored hash, a block size field indicating a size of each data block, and a block number field indicating a number of data blocks; reading the file from the diskless storage device if the manifest is authentic; booting an operating system if the contents of the manifest are authenticated; performing a hash calculation over each file listed by file name in the authenticated manifest, as the component is needed, to produce a calculated hash; verifying each file for which a hash calculation was performed by comparing the calculated hash to the associated stored hash and associated file name located within the manifest using the one or more processors; and loading the file if the calculated hash and the stored hash are equal. - View Dependent Claims (33, 34, 35)
-
Specification