throbber
(19) United States
`(12) Patent Application Publication (10) Pub. No.: US 2005/0009599 A1
`Ryan
`(43) Pub. Date:
`Jan. 13, 2005
`
`US 2005OOO9599A1
`
`(54) GAMING MACHINE HAVING TARGETED
`RUN-TIME SOFTWARE AUTHENTICATION
`
`(57)
`
`ABSTRACT
`
`(76) Inventor: Chad A. Ryan, Lisle, IL (US)
`Correspondence Address:
`ENSN SEER P.C.
`SUTE 2600
`CHICAGO, IL 60606 (US)
`9
`(21) Appl. No.:
`10/616,459
`
`(22) Filed:
`
`Jul. 9, 2003
`Publication Classification
`
`(51) Int. Cl." ..................................................... A63F 13/00
`(52) U.S. Cl. ................................................................ 463/29
`
`
`
`A gaming machine that authenticates its gaming Software
`Substantially continuously and repetitiously while the gam
`Ing machine ls powered on. A processor, while running the
`gaming machine's gaming program, determines whether the
`data in each of a plurality of memories is authentic. The
`processor may read multiple memories in a parallel fashion
`while making memory contents authenticity determinations.
`The processor may also read multiple memories in a Serial
`fashion while making memory contents authenticity deter
`minations. The processor may also read Same memories in
`a parallel fashion and read other memories in a Serial fashion
`while determining the authenticity of each memory's con
`tents. Furthermore, the contents of a memory may be
`analyzed to decipher between executable data and graphics
`data Such that the executable data's authenticity is deter
`mined more often than the graphics data's authenticity
`
`IPR2020-01218
`Sony EX1009 Page 1
`
`

`

`Patent Application Publication Jan. 13, 2005 Sheet 1 of 3
`
`US 2005/0009599 A1
`
`
`
`IPR2020-01218
`Sony EX1009 Page 2
`
`

`

`Patent Application Publication Jan. 13, 2005 Sheet 2 of 3
`
`US 2005/0009599 A1
`
`30
`
`MICRO
`PROCESSOR N52
`
`MAN
`MEMORY
`
`
`
`BATTERY
`BACKED
`MEMORY
`
`36
`
`3B
`
`VIDEO
`CIRCUITRY
`
`40
`VIDEO OUT
`59
`
`c.A.R.
`
`AUDIO OUT
`42
`
`I/O
`CONTROL
`
`I/O
`44
`
`
`
`
`
`
`
`
`
`
`
`OTTERY TERMINAL
`
`80
`
`BOOT MEMORY
`HICH CAPACY STORACE MEMORYY (SERIAL READ-WRTE NEMOR
`52
`BOOT CODE
`GAME AND OPERATING
`54 N. SYSTEM EXECUTABLE
`in
`SYSTEM
`
`||
`E.
`
`
`
`JURISDICTION BIT CODE--88
`OPTIONS
`JURISDICTION MAX BET --90
`
`92
`
`94 .
`
`
`
`JURSOCTION MAX. WN
`UNUSED SPACE
`ZERO FILLED
`56N DIGITAL SIGNATURE
`WH
`CE
`(WHOLE DEVICE)
`50
`
`62
`
`
`
`
`
`
`
`||
`CE.
`
`56
`
`
`
`
`
`58
`
`DECOMPRESSION
`UTILITY
`UNUSED SPACE-
`ZERO FILLED
`DIGITAL SIGNATURE
`(WHOLE DEVICE)
`
`UNUSED SPACE-
`ZERO FILLED
`WAN
`FEST YES
`(GIASCNAIRES
`DCTAL SIGNATURE
`(WHOLE DEVICE)
`
`46
`
`78
`
`48
`FIG. 2
`
`IPR2020-01218
`Sony EX1009 Page 3
`
`

`

`Patent Application Publication Jan. 13, 2005 Sheet 3 of 3
`
`US 2005/0009599 A1
`
`100
`
`102
`Reod
`Foils Read High Capacity
`Storage Memory and
`Codculote SHA-1
`
`Moin Application Launched
`from System SDRAM
`B
`Authenticote SP EEPROM
`Poss
`107
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`n Won
`Memory
`File Type=
`
`Timer
`Count Down
`= 0
`
`Executable file
`In Systern SDRAM
`
`Authenticote
`Non-Executoble Fie
`
`Continuous
`Run-Time
`Authenticqtion
`Process
`
`The Cycle above handles
`both the Compqct Flush
`Autheritication qnd it
`verifies that the Compact
`Flosh card is present. The
`CF Cord is Occessed
`opproximately every 15ms.
`Any unsuccessful read
`hotts the mochine,
`
`Verify NVRAM CRC's
`Areas and Main/Aux
`Copies
`
`Display Critical
`
`O
`
`IPR2020-01218
`Sony EX1009 Page 4
`
`

`

`US 2005/0009599 A1
`
`Jan. 13, 2005
`
`GAMING MACHINE HAVING TARGETED
`RUN-TIME SOFTWARE AUTHENTICATION
`
`REFERENCE TO RELATED APPLICATIONS
`0001. This application is related to U.S. patent applica
`tion Ser. No. 10/119,663 filed on Apr. 10, 2002, entitled
`"Gaming Software Authentication', and incorporated herein
`by reference in its entirety.
`
`FIELD OF THE INVENTION
`0002 The present invention relates generally to gaming
`machines, and more particularly, to Software authentication
`of programs running in a gaming machine.
`
`BACKGROUND OF THE INVENTION
`0003. As a regulatory requirement in virtually all juris
`dictions that allow gaming, it is necessary to have a tech
`nique to authenticate that the Software installed in a gaming
`machine is tested and approved. In the past, gaming manu
`facturers have generally used EPROM-based hardware plat
`forms to Store program code. As a result, a number of
`Software authentication techniques have been accepted as
`Standards throughout the gaming industry. Depending upon
`the preferences of the local regulatory agency, these tech
`niques generally include either a Kobetron Signature or a
`hash function based on the data stored in the EPROM
`device.
`0004 Authentication of software programs basically
`occurs using two different methods in the field, again
`determined by the local regulatory agency. In one method,
`each EPROM is authenticated by a gaming agent prior to
`being installed in a gaming machine that is to be brought up
`for play. The EPROMs may be shipped directly to the
`gaming agency for authentication prior to the install date of
`the machine, or may be authenticated on the casino floor as
`the Software is being installed in the machine. In another
`method, authentication is conducted on a spot-check basis
`wherein a gaming agent periodically visits a casino and
`pickS machines for the removal of Software components for
`authentication.
`0005 Jurisdictional requirements require that storage
`media containing code or data be authenticated at power-up,
`continuously or at a periodic rate, or upon occurrence of
`predetermined events, Such as the opening any doors or
`panels of the gaming device that allows access to internal
`circuitry. The Storage media may be comprised of erasable
`programmable read-only memory devices (EPROMs), elec
`trically erasable programmable read-only memory devices
`(EEPROMs), PROMs, CompactFlash storage cards, hard
`disk drives, CD drives, or substantially any non-volatile
`memory and in Some cases volatile memory (e.g., NVRAM,
`Specialty mask Semiconductors, battery backed RAM,
`SRAM, DRAM, etc.). Storage media comprises a memory
`device and the data Stored thereon. Authentication of Storage
`media is controlled by the gaming device's central proceSS
`ing unit (CPU). However, authentication by the CPU may
`take more than Several minutes due to increasing complexity
`of the gaming device's Software and thus the Storage size of
`the media.
`0006 For example, the authenticity of numerous storage
`devices associated with the CPU may need to be determined
`
`every So often while a gaming machine is running. In Some
`cases, gaming authorities require that a gaming program be
`authenticated about every ten minutes while the gaming
`machine is running. To determine the authenticity of a
`memory device's contents the CPU must read the memory
`device and perform various calculations and comparisons to
`determine if the memory device's contents are authentic.
`Reading many memory devices or large memory devices
`can use Significant CPU time and therefore may negatively
`affect the responsiveness of the gaming program that a user
`interacts with. What is needed is a technique for authenti
`cating memory devices associated with a gaming machine
`that does not affect the gaming program that the user
`interacts with.
`
`SUMMARY OF THE INVENTION
`0007 Embodiments of the present invention authenticate
`a gaming machine program, Software, firmware, or data
`(data) Stored in memory devices within the gaming machine
`while the gaming machine is running and interacting with a
`user. The authentication proceSS does not slow or interfere
`with the gaming program that interacts with the user. The
`authentication processes are ongoing and are Substantially
`continuously repetitive. The authentication processes may
`substantially repeat every 2 minutes to 24 hours. Further
`more, in order to increase the Speed of authenticating Some
`of the data, graphics data may be differentiated from execut
`able data So that the authenticity of the executable data can
`be determined more often than the graphics data.
`0008. It should be understood that for the purposes of this
`description of exemplary embodiments of the present inven
`tion that the gaming machine program may be either com
`piled or uncompiled. Furthermore the gaming machine
`program comprises code, files, instructions or programs that
`are executable in that they direct the gaming machine to do
`Something (hereinafter “executable code”). The gaming
`machine program further comprises graphics code, files,
`data, instructions or programs (herein after "graphics data')
`that have to do with graphics or multimedia applications.
`Such graphics or multimedia may include, but are not
`limited to, data or information used to control graphics,
`animation, or other special effects that move air, move fluids,
`create Smells, create bubbles, create flashing lights, control
`laser lights, control air preSSure, control temperature, control
`mechanical devices, or control Sound devices.
`0009. In an embodiment of the present invention a gam
`ing machine comprises a user interface and a central pro
`cessing unit (CPU) coupled to the user interface. The CPU
`comprises a processor. A first memory is coupled to the
`processor. The first memory is adapted to contain executable
`program code. The executable program code has both
`executable instructions and graphics data. A Second memory
`is also coupled to the processor. The Second memory Stores
`data. The executable instructions found in the first memory
`include a plurality of instructions configured to cause the
`processor to determine the authenticity of the executable
`program code and the data. The processor, with the aid of the
`executable instructions, determines the authenticity of the
`executable program and the data on a Substantially continu
`ous, repetitious basis. Furthermore, the authenticity deter
`mination of the executable program code might be per
`formed Substantially in a parallel proceSS with the
`authenticity determination of the data.
`
`IPR2020-01218
`Sony EX1009 Page 5
`
`

`

`US 2005/0009599 A1
`
`Jan. 13, 2005
`
`0010. Other executable instructions cause the processor
`to determine, when reading Said executable program code,
`whether executable code or graphics data are being read. If
`the processor is reading graphics data, then the plurality of
`executable code cause Said processor to not determine the
`authenticity of the graphics data unless more than a prede
`termined number of events have passed since the last time
`the graphics data was authenticated. The events may be
`Seconds, clock count-ups, countdowns, a number of repeti
`tions through a program loop, etc. If the processor reads
`executable instructions, then the plurality of instructions
`cause the processor to determine the authenticity of Said
`executable instructions.
`0011. In another embodiment of the present invention, a
`gaming machine comprises a CPU and a plurality of
`memory devices. The CPU is adapted to determine the
`authenticity of data in at least two of the plurality of memory
`devices in a parallel, repeating manner. The CPU is also
`adapted to read the data Stored in at least one of the plurality
`of memory devices and determine whether the data is
`executable data or graphics data. If the data Stored in a
`memory is determined to be graphics data, then the CPU is
`adapted to determine the authenticity of the graphics data if
`a predetermined number of events have passed. The events
`may be clock cycles, Seconds, count-ups, count-downs,
`passes through a program routine or loop, uses by a user,
`number of games played, etc. If the data Stored in a memory
`is determined to be executable data, then said CPU is
`adapted to determine the authenticity of said executable
`data.
`0012. In another embodiment of the present invention a
`method is provided for authenticating various memory
`devices data within a gaming machine while the gaming
`machine is operating. The authentication process of the
`memory devices data can be performed in Substantially a
`parallel fashion, Such that two or more memory device's
`data is being authenticated at about the same time. The
`method of authenticating also compriseS reading data from
`a first memory device and determining or using other
`techniques to determine whether the data is graphic data or
`executable code. If the data is determined to be graphic data,
`then more data is read from the first memory device. If the
`data is determined to be executable data, then it is deter
`mined whether the executable code is authentic after which
`more data is read from the first memory device.
`0013 The above summary of the present invention is not
`intended to represent each embodiment, or every aspect, of
`the present invention. This is the purpose of the figures and
`the detailed description which follow.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`0.014. The foregoing and other advantages of the inven
`tion will become apparent upon reading the following
`detailed description and upon reference to the drawings.
`0.015
`FIG. 1 is an isometric view of a gaming machine
`operable to conduct a Wagering game;
`0016 FIG. 2 is an exemplary block diagram of a CPU in
`a gaming machine according to the present invention; and
`0017 FIG. 3 is a flow chart for an exemplary run-time
`authentication process for a gaming machine.
`
`0018 While the invention is susceptible to various modi
`fications and alternative forms, specific embodiments have
`been shown by way of example in the drawings and will be
`described in detail herein. It should be understood, however,
`that the invention is not intended to be limited to the
`particular forms disclosed. Rather, the invention is to cover
`all modifications, equivalents, and alternatives falling within
`the Spirit and Scope of the invention as defined by the
`appended claims.
`0019 Description of Illustrative Embodiments
`0020 Turning now to the drawings and referring initially
`to FIG. 1, a gaming machine 10 is operable to conduct a
`wagering game Such as mechanical or Video slots, poker,
`keno, bingo, or blackjack. If based in Video, the gaming
`machine 10 includes a video display 12 Such as a cathode ray
`tube (CRT), liquid crystal display (LCD), plasma, or other
`type of Visual display known in the art. A touch Screen
`preferably overlies the display 12. In the illustrated embodi
`ment, the gaming machine 10 is an “upright' version in
`which the display 12 is oriented vertically relative to a
`player. Alternatively, the gaming machine may be a “Slant
`top” version in which the display 12 is slanted at about a
`thirty-degree angle toward the player.
`0021. The gaming machine 10 includes a plurality of
`possible credit receiving mechanisms 14 for receiving cred
`its to be used for placing wagers in the game. The credit
`receiving mechanisms 14 may, for example, include a coin
`acceptor, a bill acceptor, a ticket reader, and a card reader.
`The bill acceptor and the ticket reader may be combined into
`a Single unit. The card reader may, for example, accept
`magnetic cards and Smart (chips) cards coded with money or
`designating an account containing money.
`0022. The gaming machine 10 includes a user interface
`comprising a plurality of push-buttons 16, the above-noted
`touch Screen, and other possible devices. The plurality of
`push-buttons 16 may, for example, include one or more
`"bet” buttons for wagering, a "play' button for commencing
`play, a “collect” button for cashing out, a “help” button for
`Viewing a help Screen, a “pay table” button for viewing the
`pay table(s), and a “call attendant' button for calling an
`attendant. Additional game-specific buttons may be pro
`Vided to facilitate play of the Specific game executed on the
`machine. The touch Screen may define touch keys for
`implementing many of the same functions as the push
`buttons. Other possible user interface devices include a
`keyboard and a pointing device Such as a mouse or trackball.
`0023 Referring now to FIG. 2, a central processing unit
`(CPU) 30 controls operation of the gaming machine 10. In
`response to receiving a wager and a command to initiate
`play, the CPU 30 randomly selects a game outcome from a
`plurality of possible outcomes and causes the display 12, Via
`the video circuitry 39 and video out 40, to depict indicia
`representative of the Selected game outcome. Alternatively,
`the game outcome may be centrally determined at a remote
`computer using either a random number generator (RNG) or
`pooling Schema. In the case of Slots, for example, mechani
`cal or Simulated slot reels are rotated and stopped to place
`Symbols on the reels in Visual association with one or more
`pay lines. If the Selected outcome is one of the winning
`outcomes defined by a pay table, the CPU 30 awards the
`player with a number of credits associated with the winning
`OutCOme.
`
`IPR2020-01218
`Sony EX1009 Page 6
`
`

`

`US 2005/0009599 A1
`
`Jan. 13, 2005
`
`0024. The CPU 30 includes a microprocessor 32 and
`various memory devices is (media devices). The micropro
`ceSSor 32 interfaces with many other components of the
`gaming machine 10 via an interface bus 34. A main memory
`36 Stores the compiled gaming machine program for oper
`ating the gaming machine 10.
`0025. The main memory 36 may be DRAM or SRAM or
`Substantially any other volatile memory device or repro
`grammable non-volatile memory device. The battery backed
`memory 38 stores machine critical data that cannot be lost
`when power is removed from machine 10. The battery
`backed memory 38 may be battery backed volatile memory
`or a reprogrammable or rewritable non-volatile memory
`device. The video circuitry 39 Supplies display information
`to a video display 12 that may comprise a CRT, LCD,
`plasma, or other display device. Audio circuitry 42 generates
`Sounds for game play on the gaming machine 10. The I/O
`control 44 controls input/output interfaces with the user
`interfaces Such as game buttons 16, coin validators 14, touch
`Screen bill validators, multimedia devices, etc.
`0026. In an exemplary embodiment, the various memory
`devices may also include a boot memory 46, a high capacity
`storage memory 48, and a serial read-write memory 50. The
`boot memory 46 is preferably a read-only memory Such as
`a one megabit EPROM, EEPROM, PROM or other type or
`appropriately sized programmable read-only memory. The
`boot memory 46 may also be substantially any type of
`non-volatile memory. The high capacity Storage memory 48
`is preferably a CompactFlash card, but may also be a hard
`disk drive, CD drive, DVD drive, magnetic RAM, battery
`backed RAM or other type of non-volatile memory. The
`serial memory 50 is preferably an EEPROM such as a 512
`byte SPI EEPROM, but could be any type of programmable
`read-only or read/write non-volatile memory. Depending
`upon the preferences of the local gaming regulatory agency,
`all three memories may be adapted to be authenticated
`outside of the CPU as well as when installed in the CPU at
`power up or prior to being utilized in the gaming machine.
`0027. The boot memory 46 stores, at least some of the
`following, boot code 52, an authentication program 54, a
`RAM loader, a decompression utility 56, and a digital
`Signature 58. The authentication program includes a hash
`function 60, a digital Signature verification algorithm 62, and
`a public key 64. The hash function 60 may, for example, be
`an SHA-1 hash algorithm that reduces a data Set to a unique
`160 bit message digest. A hash algorithm or function is used
`to calculate a message digest corresponding to the files in,
`for example, a memory device. The message digest does not
`have to be unique, i.e., the function may return the same
`hash value for two or more items (although this is very
`unlikely). The non-uniqueness of the hash value for each
`item in the message digest is acceptable because each hash
`value is used to evaluate a different file or data Set within a
`memory device. The message digest is a Small representa
`tion of a large amount of data. A message digest is a
`relatively unique representation of data, from a crypto
`graphic Standpoint, and is an irreversible representation of
`the data. In other words, one cannot recreate the original data
`from the message digest.
`0028. The digital signature 58 is generated, in effect,
`from the boot memory's contents as a whole. In an exem
`plary embodiment, after hashing is performed to produce a
`
`message digest, then a digital signature is created to enable
`the origin and authenticity of the digest to be determined.
`When there is data that requires a means for determining the
`origin of the data, one generally uses a digital Signature
`mechanism. There exists a federal standard called FIPS
`186-2 that defines a digital Signature generation and Verifi
`cation mechanism called the Digital Signature Algorithm
`(DSA). In an exemplary embodiment a digital signature is
`created from the message digest. In essence the DSA uses a
`private key, a public key, and the message digest. A private
`key and the message digest are used to create an original
`Signature associated with the original message digest. The
`public key, the original Signature, and a calculated message
`digest are used to check a signature associated with a
`message digest in order to determine the origin and authen
`ticity of the data Set. It is understood that neither the message
`digest nor the data or files used to create the message digest
`can be recreated using the DSA. The digital signature 58 is
`used to Sign the message digest of the boot memory con
`tents. Again, the Signature may be used to determine the
`Source or manufacturer of the message digest, via a public
`key, but cannot be used to recreate the message digest or the
`original data. Furthermore, the DSA is not being used here
`as an encryption process under FIPS 186-2, but rather a
`technique for validating the Signature associated with the
`data Set, and the public key.
`0029. The high capacity storage memory 48 stores game
`and operating System executable program files 66, Sound
`operating system files 68, Sound bank files 70, graphics files
`72, a file list of file types 74, and digital signatures 76, 78.
`The files in the high capacity Storage memory 48, taken
`together, constitute a "gaming program” as that term is used
`herein, and the various files constitute “data files' as that
`term is used herein. Thus, the gaming program includes a
`plurality of data files. For each data file on the high capacity
`Storage memory 48, the manifest file contains a file name, a
`file type, a load address, and a file digital signature 76. The
`whole device digital signature 78 is generated from the
`gaming program as a whole, while each digital Signature 76
`is generated from the associated data file listed in the
`manifest file.
`0030 The serial read-write memory 50 stores informa
`tion/data specific to the jurisdiction where the CPU is to be
`installed. This information may, for example, include a
`lottery terminal identification (ID) 80, a part number 82, a
`jurisdiction ID 84, a jurisdiction name 86, jurisdiction bit
`code options 88, jurisdiction max bet 90, jurisdiction max
`win 92, and a digital signature 94. The digital signature 94
`is generated from the Serial memory's contents as a whole.
`0031) The boot memory 46, serial read-write memory 50
`and high capacity Storage memory 48 may each be remov
`able devices and/or contain alterable Software. Each of these
`memory devices may be able to be reprogrammed or be able
`to receive downloaded updates from an outside Source Via a
`programming device, a network Such as the Internet, an
`intranet, an Ethernet, a fibre loop, or other type of network
`ing System. The boot memory 46, Serial read-write memory
`50, and high capacity memory 48 each may be required to
`be authenticated by the gaming machine 10 at various points
`during operation of the gaming machine.
`0032. In order to better understand the advantages of an
`exemplary run-time authentication algorithm, it is important
`
`IPR2020-01218
`Sony EX1009 Page 7
`
`

`

`US 2005/0009599 A1
`
`Jan. 13, 2005
`
`to realize that as gaming machines evolved they began to use
`alterable media, Such as flash memories, EEPROMs,
`EPROMs, CD drives, disk drives, etc. in their electronics
`and programming Structure to Store all or portions of the
`programs and files. Newer gaming machines are designed to
`allow the gaming Software to be updated, to grow in size,
`and to grow in complexity. Because of these advances and
`changes in gaming machine design, electronics, Software
`and memory Storage Size the time necessary to authenticate
`the Software in the Storage media during run-time operations
`has increased because the methods required to authenticate
`the Software content became more complex. An increase in
`the time required to authenticate the Software during
`machine run-time operations may affect the responsiveness
`and Speed of the run-time Software as well as the SmoothneSS
`of operation to the extent that it is noticeable to the user. A
`CPU may become unable to effectively operate the gaming
`machine main program while multiplexing authentication
`processes are taking place due to the sheer Size of the main
`program that must be authenticated within a predefined
`period of time. Thus, it is necessary to provide a technique
`to authenticate the gaming programs and media within
`various media devices without slowing or disturbing the
`operation of the gaming machine.
`0033. An exemplary run-time authentication comprises
`two main cycles of events during the operation of a gaming
`machine. The first cycle of events checks whether the high
`capacity storage memory 48 is connected to the bus 34. This
`check is performed at predetermined intervals that may
`range from about every 5 ms to about every minute. The first
`cycle also checks whether the high capacity Storage memo
`ry's 48 SHA-1 message digest calculation is continuously
`being recalculated.
`0034. The second cycle of events performs a constant or
`continuous authentication of the boot memory 46, the Serial
`read-write memory 50, the files that are being executed from
`the main memory 36, and the integrity of the data Stored in
`the battery backed memory 38. Utilizing a SHA-1 hash
`message digest of a media device's contents the authenti
`cation of each media device is performed. The authentica
`tion of the media device during a run-time authentication
`may be limited to the data in the whole media device rather
`than the individual files stored in the media device. The
`authentication of a media device may also be performed file
`by file when the CPU has stored the memory locations and
`the type of data in the memory locations prior to an
`authentication process.
`0035). During a boot-up process of the CPU 30 the media
`devices and Software thereon are normally authenticated.
`The boot-up authentication process includes performing a
`SHA-1 hash over the media Software that is loaded into the
`main memory 36, authenticating the digital signature 58,78,
`94, and Storing the calculated hash message digest in battery
`backed memory. Thus, during run-time authentication there
`is no requirement to perform Signature verification Since the
`files and components were proven to be authentic during the
`boot process. One main purpose of run-time authentication
`is so the CPU 30 can check to make Sure that the files and
`data loaded into the main memory 36 during the boot
`proceSS have not been altered. Another purpose of the
`run-time authentication is to verify that certain Software or
`hardware components, Such as the boot memory 46, the high
`capacity Storage memory 48, or the Serial read-write
`
`memory 50 have not been changed or undergone a change
`in any of their software/firmware. In order to check the
`executable code in main memory 36, the boot memory 46,
`the high capacity Storage memory 48, or the Serial read-write
`memory 50 for authenticity, only a SHA-1 hash, or its
`equivalent is necessary Since all had been Verified at boot-up
`to have come from a trusted Source via a digital Signature
`Verification process. It is understood that there are various
`other techniques other than a SHA-1 hash function that
`could be used to verify the authenticity of the various media
`devices during run time. Such other techniques may include,
`but are not limited to, CRC-16, CRC-32, MD5 and check
`Sum techniques.
`0036) As an additional run-time authentication and veri
`fication check, a digital Signature verify operation is per
`formed on the media devices (e.g., main memory 36, boot
`memory 46, high capacity Storage memory 48, and Serial
`read-write memory 50) when the gaming software returns
`from certain gaming events. These events are mainly Secu
`rity events wherein people have had access to the inside of
`the gaming machine or the gaming machine has made a large
`payout. The Security events that may require an additional
`run-time verification and authentication check along with a
`digital signature Verify operation include, but are not limited
`to:
`0037) 1. Any “door closure event'. On a gaming
`machine there may be various doors or hatches for
`providing access to the interior of the gaming machine.
`Anytime one of the doors or hatches is closed, the
`gaming program and other various media devices are
`checked for authenticity because Someone may have
`had access to the interior of the gaming machine.
`0038 2. Any return to game play when exiting the
`“administration Screen'. Various gaming machines
`have an administration mode. There may be one or
`more levels for the administration mode. For example,
`one mode may include critical configuration Settings
`affecting the payouts made by the gaming device and
`may require machine doors or hatches to be accessed to
`gain entry. Another mode may allow an administrator to
`View and Verify meters, event logs, game playtime,
`machine Statistics and other items benign to the func
`tionality of the gaming device without unlocking any
`machine access doors or hatches.
`0039) 3. Any return to game play from a “game dis
`able' State. An attendant, a command from a host
`System, or other internal mechanisms can place the
`gaming machine in a game disable State in order to
`reserve the gaming machine for a certain player or for
`numerous other reasons. ESSentially the gaming
`machine is on, but will not operate until it is taken out
`of the disabled State.
`0040 4. Any cashout handpay state. A cashout hand
`pay is typical when a player would like to cash out of
`gaming machine and the amount of credit or winnings
`on the gaming machine is higher than the amount of
`coins or payout units in the gaming machine's hopper
`or higher than an operator configured machine payout
`limit. If this occurs, the gaming machine may go into a
`cashout handpay State wherein an attendant will have to
`come to the gaming machine and assist the player So
`that the player can get manually paid or handpaid. Once
`
`IPR2020-01218
`Sony EX1009 Page 8
`
`

`

`US 2005/0009599 A1
`
`Jan. 13, 2005
`
`the cashout handpay is completed the attendant will use
`a key, card or other code or device to access the gaming
`machine and exit from the cashout handpay State.
`0041 5. Any Jackpot handpay state. A Jackpot hand
`pay State is similar to the cashout handpay State, except
`the gaming machine is Set to go into a Jackpot handpay
`State when a jackpot hit by the player is above a
`predetermined amount Such as a monetary amount that
`must be reported to Internal Revenue Service (IRS).
`When a jackpot of the predetermined amount or greater
`is hit then the machine locks up and an attendant is
`called to hand pay the player and further to have the
`player fill out the appropriate IRS (W-2G) form(s). The
`attendant can then use a key, card, pass code, or other
`appropriate means to reset the gaming machine into a
`play mode again.
`0042. After a successful verification of all files in main
`memory 36, the battery backed memory 38 is verified using,
`for example, a CRC check. The battery backed memory 38
`can be set to Store two copies of critical data-a first copy
`that is Stored as a master copy and a Second copy that is
`Stored as an auxiliary copy. The master copy program and
`auxiliary copy of the critical data can also be compared to
`each other to help ensure the integrity of the critical data
`being stored in the battery backed memory 38.
`0.043
`FIG. 3 depicts a flow chart of an exemplary
`authentication proceSS for continuous run-time authentica
`tion in accordance with an embodiment of the present
`invention. After boot-up of the

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket