EP1986121A2

Improved authentication system for gaming machines related application data

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 signature value derived from the contents of the file. At boot time, the gaming machine first authenticates the contents of the manifest and then authenticates the contents of the files using the signature value stored in the manifest. Files are verified using the signature, 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. Similarly, a method of adding authentication ability to legacy software components without necessarily altering the legacy software components is disclosed. Introduction of a stronger authentication algorithm, or when a private key has been compromised would normally require the software component to be re-built to support the new algorithm or private/public key pair; however, a method is disclosed where algorithms and key pairs may be changed and applied to legacy software without having to re-built, re-test, re-sign, or re-submit the component to regulatory agencies for approval. Also disclosed is a system and method of establishing a trusted environment containing a gaming operating system and associated authentication module, file system drivers, and/or network drivers that may be used to in the process of authenticating contents of one or more manifests located on a storage device.

EP1986121A2, drawing sheet 1
Sheet 1 of 13

Term

Projected expiry 23 April 2028.

  1. Priority
  2. Filed
  3. Published
  4. Today
  5. Projected expiry

20 claims: 15 independent, 5 dependent

  1. 1
    A method of authenticating a gaming component, the method comprising:determining if a manifest is authentic, the manifest including component information and a stored signature for the gaming component;performing an authentication calculation on the component to evaluate the signature if the manifest is authentic;authenticating the gaming component evaluating the signature across the contents of the component;and loading the gaming component only if the component passes authentication.
  2. 6
    A method of authenticating a component, the component having a plurality of sub-components, the method comprising:determining if a manifest is authentic, the manifest including sub-component information and a stored signature for each sub-component;performing a signature calculation on at least one sub-component to determine if the manifest is authentic;authenticating at least one sub-component by evaluating the sub-component signature over the data of the sub-component;and loading the sub-component only if the sub-component is authentic.
  3. 7
    A system for authenticating a component, the system comprising:a processor;a set of instructions that are executable on the processor for determining if a manifest is authentic, the manifest including component information and a stored signature for the component;a set of instructions that are executable on the processor for performing a signature calculation on the component to determine if the manifest is authentic;a set of instructions that are executable on the processor for authenticating the component by evaluating a signature across the component data;and a set of instructions that are executable on the processor for loading the component only if the component is authentic.
  4. 9
    A system for authenticating a component, the system comprising:a computer usable medium having computer readable program code embodied therein configured for authenticating a component, comprising: computer readable code configured to authenticate a manifest, the manifest including component information and a stored signature for the component;computer readable code configured for determining if the manifest is authenticated;computer readable code configured to perform a signature calculation on the component to determine if the manifest is authenticated;computer readable code configured to authenticate the component by evaluating the signature over the component data;and computer readable code configured to load the component, only if the component is authentic.
  5. 10
    A method of authenticating the contents of manifests on a writable media device, the method comprising:authenticating a manifest, the manifest including component information and a stored signature for one or more components;determining if the manifest is authenticated;booting an operating system if the manifest is authenticated;authenticating the component by evaluating the signature across the component data;loading the component only if the component is authentic.
  6. 11
    A method of installing one or more data components, the method comprising:creating a manifest including component information and one or more stored signatures for one or more data components;creating a digital signature of the manifest;and installing the one or more data components, the manifest, and the digital signature on a media device;wherein the digital signature is for authenticating the manifest, and the signature values are for authenticating one or more data components before loading on an as-needed basis.
  7. 12
    A method of authenticating one or more files stored on a network associated storage device in a gaming machine, the method comprising:determining if a manifest is authentic, the manifest including component information and a stored signature for a file;reading the file from the network associated storage device over a network connection if the manifest is authentic;authenticating the file by evaluating the signature over the file data;and loading the file only if the file is authentic.
  8. 13
    A method of authenticating one or more files stored on a diskless storage device in a gaming machine, the method comprising:determining if a manifest is authentic, the manifest including component information and a stored signature for a file;reading the file from the diskless storage device if the manifest is authentic;authenticating the file by evaluating the signature across the file data;and loading the file only if the file is authentic.
  9. 14
    A method of establishing an implicitly trusted execution environment in a gaming system, the method comprising:providing a gaming system, wherein the gaming system includes system random access memory;operatively associating an implicitly trusted read-only memory device with the gaming system;loading a validated operating system, an associated authentication module, and drivers from the implicitly trusted read-only memory device into the system random access memory;and creating an implicitly trusted execution environment in the gaming system using the validated operating system, associated authentication module, and drivers in the system random access memory.
  10. 15
    A method of establishing a trusted environment in a gaming system, wherein the trusted environment includes an operating system, an associated authentication module, and drivers that are applied to authenticate software components on a writable media device, the method comprising:authenticating a manifest, the manifest including component information and a stored signature for one or more components;determining if the manifest is authenticated;authenticating the component by evaluating the signature over the component data;loading the component if the component is authentic.
  11. 16
    A read-only memory device, the device comprising:a set of instructions that are executable on a processor for CPU initialization;a basic input/output system;and a gaming operating system;wherein the gaming operating system includes authentication logic and drivers.
  12. 17
    A motherboard of gaming device, comprising:a read-only memory device, the read-only memory device comprising: a set of instructions that are executable on a processor for CPU initialization;a basic input/output system;and a gaming operating system;wherein the gaming operating system includes authentication logic and drivers.
  13. 18
    A gaming device, comprising:a gaming device motherboard, wherein the motherboard includes a read-only memory device, the read-only memory device comprising: a set of instructions that are executable on a processor for CPU initialization;a basic input/output system;and a gaming operating system;wherein the gaming operating system includes authentication logic and drivers.
  14. 19
    A gaming system, comprising:one or more gaming devices, each gaming device comprising: a gaming device motherboard, wherein the motherboard includes a read-only memory device, the read-only memory device comprising: a set of instructions that are executable on a processor for CPU initialization;a basic input/output system;and a gaming operating system;wherein the gaming operating system includes authentication logic and drivers.
  15. 20
    A method of installing one or more legacy software components, the method comprising:creating a digital signature of the legacy software component using a private key;creating a table, wherein the table includes records for one or more legacy software components, and wherein each record contains information for evaluating authenticity of a corresponding legacy software component;and installing the legacy component table on a media device;wherein the records of the table enable authentication of one or more legacy software components before loading.