I. Field of the Invention
The present invention relates to gaming machines such as traditional slot machines, video slot machines, video poker machines, and video keno machines. More particularly, the present invention relates to methods and apparatus for providing a secure gaming system using hardware cryptography devices.
II. Background
Typically, utilizing a master gaming controller, a gaming machine controls various combinations of devices that allow a player to play a game on the gaming machine and also encourage game play on the gaming machine. For example, a game played on a gaming machine usually requires a player to input money or indicia of credit into the gaming machine, indicate a wager amount, and initiate a game play. These steps require the gaming machine to control input devices, such as bill validators and coin acceptors, to accept money and/or credits into the gaming machine and recognize user inputs from devices, including key pads and button pads, to determine the wager amount and initiate game play. After game play has been initiated, the gaming machine determines a game outcome, presents the game outcome to the player and may dispense an award of some type depending on the outcome of the game.
The operations described above may be carried out on the gaming machine when the gaming machine is operating as a “stand alone” unit or linked in a network of some type to a group of gaming machines. As technology in the gaming industry progresses, more and more gaming services are being provided to gaming machines via communication networks that link groups of gaming machines to a remote computer that provides one or more gaming services. As an example, gaming services that may be provided by a remote computer to a gaming machine via a communication network of some type include player tracking, accounting, cashless award ticketing, lottery, progressive games and bonus games.
To prevent the unauthorized access to and tampering with gaming machines and communications over gaming machine networks, which can cost casinos and gaming machine providers significant time and expense, casinos and gaming machine providers have sought to secure their gaming systems. However, traditional methods of securing gaming machines and their communication networks have included costly software development and maintenance. For instance, software authentication, software encryption/decryption, and software replacement or redevelopment (especially in read-only systems) have been used to verify that the contents of gaming machines have not been altered and to prevent unauthorized access to sensitive data. Each of these methods involves software development to implement them, and periodic updates to prevent unauthorized users from discovering and circumventing the security measures in place at any given time. Such software development and ongoing maintenance is costly and distracts from efforts to focus software development on improving gaming machines in other ways.
In addition, equipping legacy machines to operate securely in a network with newer machines can be costly. For instance, in order to be compatible with software-based encryption/decryption schemes, legacy machines must be updated to include encryption/decryption software. Such updates can require costly software re-development and testing, as well as the time-consuming reinstallation of software on each of the legacy machines.
Accordingly, it would be desirable to provide a secure gaming system that can prevent unauthorized access to and tampering with gaming machine contents and communications in a manner that does not require costly software development and maintenance. Furthermore, it would be desirable to provide a secure gaming system that can prevent unauthorized access to and tampering with gaming machine contents and communications in a manner that would allow legacy machines to operate in a network with newer gaming machines without requiring costly software updates to the legacy machines.
The apparatus and methods of the present invention address the above need by providing a secure gaming system that can prevent unauthorized access to and tampering with gaming machine contents and communications without requiring additional software development and maintenance. The apparatus and methods of the present invention accomplish this by employing hardware cryptography devices that can reduce or obviate the need for costly and time consuming security methods such as software authentication, software cryptography, or replacement of software in read-only systems. Furthermore, the apparatus and methods of the present invention allow legacy machines to operate in a network with newer gaming machines without requiring costly software updates to the legacy machines.
One aspect of this invention pertains to various embodiments of a gaming machine. In one embodiment, the gaming machine may be characterized by the following features: a master gaming controller configured to control a game of chance played on the gaming machine; a file storage device configured to store a plurality of encrypted data files; a first communication path between the master gaming controller and the file storage device; and a hardware cryptography device configured to decrypt, encrypt, or decrypt and encrypt data along the first communication path.
In another embodiment, the gaming machine may be characterized by the following features: a master gaming controller configured to control a game of chance played on the gaming machine, where the master gaming controller includes a memory configured to store a plurality of encrypted data files and a processor configured to execute gaming software programs; a communication path between the processor and the memory; and a hardware cryptography device configured to decrypt, encrypt, or decrypt and encrypt data along the communication path.
In yet another embodiment, the gaming machine may be characterized by the following features: a master gaming controller configured to control a game of chance played on the gaming machine; a first communication board coupled to a master gaming controller, where the first communication board is configured to communicate with a second communication board that is external to the gaming machine; a communication path between the first communication board and the second communication board; and a hardware cryptography device configured to encrypt, decrypt, or encrypt and decrypt data along the communication path before the data passes between the first communication board and the second communication board.
In still another embodiment, the gaming machine may be characterized by the following features: a programmable device configured to execute gaming software programs; a read-only memory configured to store a plurality of encrypted data files; a communication path between the programmable device and the read-only memory; and a hardware cryptography device configured to decrypt, encrypt, or decrypt and encrypt data along the communication path.
In another embodiment, the gaming machine may be characterized by the following features: a master gaming controller configured to control a game of chance played on the gaming machine; a file storage device configured to store a plurality of encrypted data files that are not decryptable by the gaming machine; a communication path between the master gaming controller and the file storage device; and a hardware cryptography device configured to encrypt data along the first communication path before the data reaches the file storage device from the master gaming controller, where the data encrypted by the hardware cryptography device and stored at the file storage device is not decryptable by the gaming machine.
Another aspect of the invention pertains to a method of securing a gaming system. Such method may be characterized by the following sequence: receiving an encrypted file at a hardware cryptography device, where the hardware cryptography device is configured to decrypt data; acquiring a first key at the hardware cryptography device; decrypting the encrypted file using the first key; and executing a gaming software program using the decrypted file.
Another aspect of the invention pertains to computer program products including a machine-readable medium on which is stored program instructions for implementing any of the methods described above. Any of the methods of this invention may be represented as program instructions and/or data structures, databases, etc. that can be provided on such computer readable media.
These and other features and benefits of the present invention will be described in more detail below with reference to the associated figures.
Gaming machines typically operate as either a “stand alone” unit or in a network with other gaming machines and devices. Generally, gaming machines control various combinations of devices that allow a player to play a game on the gaming machine and also encourage game play on the gaming machine. Because gaming machines also determine game outcomes, present the game outcomes to players, and may dispense awards of some type depending on the outcomes of the games, some miscreants may wish to gain access to gaming machines to learn how to “cheat” the gaming machines by triggering illegal jackpots or altering the contents of the gaming machines. Accordingly, it is desirable to secure gaming machines and their networks.
One possible area where a cheater may choose to attack a gaming machine is along a communication path between two gaming devices that exchange information. As an example, along a communication path between a file storage device used to store game programs for generating a game of chance and a master gaming controller on the gaming machine used to execute the game programs, a person wishing to cheat the gaming machine may attempt to alter data that is traveling along the communication path in an illegal manner that is to their benefit. For instance, the cheater may attempt to insert data or a program that illegally triggers a jackpot while he or she is playing. For progressive games, these jackpots can be worth millions of dollars. As another example, a gaming machine operator could illegally alter the odds of winning on a gaming machine to increase their profits by decreasing odds of winning on the machine. Gaming machines are highly regulated to prevent this type of tampering. Devices and methods that prevent this type of tampering may be required by regulators in a gaming jurisdiction where the gaming machine is operated.
In
With reference to
In the present embodiment, the master gaming controller 101 executes various gaming software programs using one or more processors such as a central processing unit (CPU) 103. During execution, a software program may be temporarily loaded into a random access memory (RAM) 106. Various gaming software programs, loaded into RAM 106 for execution, may be managed as “processes” by the gaming machine's operating system. The gaming machine's operating system may also perform process scheduling and memory management. An example of an operating system that may be used with the present embodiment is the QNX operating system provided by QNX Software Systems, LTD (Kanata, Ontario, Canada). Depending on the operational state of the gaming machine, the number and types of software programs loaded in the RAM 106 may vary with time. For instance, when a game is presented, particular software programs used to present a complex graphical presentation may be loaded into the RAM 106. However, when the gaming machine 102 is idle, these graphical software programs may not be loaded into the RAM 106.
Examples of gaming software programs that may be executed on a gaming machine, along with an object-oriented software architecture that can be used to implement these software programs are described in co-pending U.S. patent application Ser. No. 09/642,192, filed on Aug. 18, 2000, and entitled “Gaming Machine Virtual Player Tracking and Related Services,” and co-pending U.S. patent application Ser. No. 09/690,931, filed on Oct. 17, 2000, and entitled “High Performance Battery Backed Ram Interface,” both of which are incorporated herein by reference for all purposes.
The gaming software programs may be stored on one or more types of file storage media, such as file storage device 114 or EPROM 104. The file storage device 114 may be a hard-drive, CD-ROM, CD-RW, CD-DVD, DVD-R, DVD-RW, static RAM, flash drive, compact flash drive, flash memory, memory stick, EPROM, and the like, or combinations thereof. The file storage media may be located on the gaming machine 102, on other gaming machines, on remote servers, or on combinations thereof. Furthermore, the file storage media can store data files, including executables such as gaming software programs. In addition, the data files can include data generated during routine operation of the gaming machine 102 such as game state information, which can include the number of games played, the number of credits, the number of coins deposited, the number of jackpots, and the like.
In the present embodiment, the master gaming controller 101 may execute gaming software that enables communication between gaming machine 102 and other gaming devices located outside of gaming machine 102, such as player tracking servers and progressive game servers. Specifically, gaming machine 102 can communicate with these outside devices through main communication board 108 and network connection 125.
With reference to
Although
Turning now to
The gaming machine 2 includes a top box 6, which sits on top of the main cabinet 4. The top box 6 houses a number of devices, which may be used to add features to a game being played on the gaming machine 2, including speakers 10, 12, 14, a ticket printer 18 which prints bar-coded tickets 20, a key pad 22 for entering player tracking information, a display 16 for displaying player tracking information, a card reader 24 for entering a magnetic striped card containing player tracking information, and a video display screen 42. Furthermore, the top box 6 may house different or additional devices than shown in the present embodiment. For example, the top box may contain a bonus wheel or a back-lit silk screened panel which may be used to add bonus features to the game being played on the gaming machine. During a game, these devices are controlled, in part, by the master gaming controller (not shown) housed within the main cabinet 4 of the machine 2.
It should be understood that although the present embodiment includes the particular features shown in
Returning to the example of
During the course of a game, a player may be required to make a number of decisions, which affect the outcome of the game. For example, a player may vary his or her wager on a particular game, select a prize for a particular game, or make game decisions that affect the outcome of a particular game. The player may make these choices using the player-input switches 32, the video display screen 34 or using some other device that enables a player to input information into the gaming machine. During certain game events, the gaming machine 2 may display visual and auditory effects that can be perceived by the player. These effects can add to the excitement of a game, thereby encouraging a player to continue playing. Auditory effects can include various sounds that are projected by the speakers 10, 12, 14. Visual effects can include flashing lights, strobing lights or other patterns displayed from lights on the gaming machine 2 or from lights behind the belly glass 40. After the player has completed a game, the player may receive coins or game tokens from the coin tray 38 or a ticket 20 from printer 18, which may be used for further games or to redeem a prize. Further, the player may receive a ticket 20 for food, merchandise, or games from the printer 18.
As mentioned above, it should be recognized that various modifications can be made to the gaming machine shown in
As described above,
With the increased popularity of PC-based gaming technologies, the use of file storage devices such as compact disks, DVDs, and hard drives has also increased. Likewise, low-cost memory devices such as DRAM and NVRAM have gained popularity. In addition, high speed communications, such as Ethernet, USB, and firewire, have increasingly been used to provide fast and convenient networked gaming systems.
Along with the increased use of file storage devices, low-cost memory devices, and high speed communications with gaming machines, has come various ways of protecting these technologies from unauthorized access and tampering. For instance, authentication has been used to protect information stored in RAM or file storage devices. As described in U.S. Pat. No. 5,643,086 by Alcom et al. and entitled “Electronic casino gaming apparatus with improved play capacity, authentication and security”; U.S. Pat. No. 6,106,396 by Alcorn et al. and entitled “Electronic casino gaming system with improved play capacity, authentication and security”; and U.S. Pat. No. 6,149,522 by Alcorn et al. and entitled “Method of authenticating game data sets in an electronic casino gaming system,” the contents of a file can be verified by comparing a signature generated from the original contents of the file with a signature generated at the time the file is later accessed. If the two signatures match, then the contents have not been altered between the time the original signature was generated and the time the later signature was generated. However, this type of software-based authentication is typically time consuming because large amounts of data must be hashed to create signatures for comparison. Furthermore, this type of software-based authentication typically involves encrypting the date and signatures, but not the contents of the file. Consequently, files are sent “in the clear,” and the contents of the file, which may include sensitive data, are accessible to those who may intercept the file.
Another method that has been used to protect file storage devices is write-protecting the file storage devices. For instance, the write line to a hard drive can be removed, thereby preventing any alteration to the hard drive. However, this solution prevents even authorized updates to the file storage devices. Accordingly, updating the gaming machines can be costly and time consuming when these write-protection security devices are used.
Yet another method that has been used to protect file storage devices is to include an “access sniffing” circuit designed to detect unauthorized tampering of the file storage devices. When a file storage device is accessed for read or for write, the circuit can detect this activity and can reset the system if the activity is unauthorized. However, access sniffing circuits only protect against unauthorized access and writes during game play. Thus, a file storage device, such as a hard drive or memory module, can be removed and reprogrammed without detection by an access sniffing circuit. In addition, once a file storage device is accessed without detection by the access sniffing circuit, the contents of the file storage device can be viewed “in the clear” because the access sniffing circuit is not designed to encrypt the contents.
In addition, one method that has been used to protect data transmitted along communication paths between gaming machine components or between different gaming machines in a network includes using software-based encryption and decryption. In particular, the data can be encrypted by one component or gaming machine before it is transmitted to another component or gaming machine, and decrypted by the recipient component or gaming machine. However, because different components and/or gaming machines in a system are typically made by different manufacturers, they may use different operating systems. Consequently, the encrypt/decrypt software must be written for each of these different operating systems. Providing different versions of the encrypt/decrypt software in this manner can be costly and time consuming. Furthermore, legacy machines that are not equipped with the infrastructure to encrypt/decrypt files need to be updated in order to be compatible with such software-based encryption schemes.
Updating the legacy machines to include new software to encrypt/decrypt files in this manner is also very costly. The software on the gaming machines is highly regulated. Typically, any software changes require resubmission to a gaming regulatory agency. If, for example, a change to the encryption algorithm is required, thousands of existing games can be affected by such changes, and each game must be resubmitted. Once approved, software updates are carried out manually and checked by a representative of a gaming jurisdiction where the gaming machine is located. When the gaming software is stored on an EPROM, the entire EPROM is replaced each time any software on the EPROM is modified and manually installed. After updating the software, such as by replacing the EPROM, an enclosure where the gaming software resides and is executed may be secured by evidence tape to identify when possible tampering has occurred.
Accordingly, the apparatus and methods of the present invention address the above shortcomings of the traditional systems. In particular, the apparatus and methods of the present invention provide a secure gaming system that can prevent unauthorized access to and tampering with gaming machine contents and communications without requiring additional software development and maintenance. Specifically, the methods and apparatus of the present invention employ hardware cryptography devices that can reduce or obviate the need for costly and time consuming security methods such as software authentication, software cryptography, or replacement of software. Furthermore, the methods and apparatus of the present invention allow legacy machines to operate in a network with newer gaming machines without requiring costly software updates to the legacy machines.
With reference to
Before the encrypted data files stored on file storage device 114 are passed to master gaming controller 101 along a communication path, the encrypted data files are decrypted by hardware cryptography device 500. Hardware cryptography device 500 can be one or more hardware encryption and/or decryption chips, such as the Intel IXP-425 network processor from Intel Corp. (Santa Clara, Calif.), the SE-64 ASIC from eNovatek Corp. (Taipei, Taiwan), the SafeXcel-1140 series from SafeNet, Inc. (Baltimore, Md.), the Hifn-7902 security processor from Hifn, Inc. (Los Gatos, Calif.). Hardware cryptography device 500 can encrypt and/or decrypt data files using one or more symmetric or asymmetric keys. In one embodiment, a single key can be used to decrypt an encrypted data file. The key can be stored in any convenient memory location, such as an EPROM, a USB dongle, a smart card, a secure server, the hardware cryptography device 500, or the master gaming controller 101. Once the hardware cryptography device 500 obtains the key, the hardware cryptography device 500 can use the key to decrypt an encrypted data file. If a symmetric key is used, the same key that was used to encrypt the data file can be used to decrypt the encrypted data file. In contrast, if an asymmetric key was used, a different key from the one used to encrypt a data file can be used to decrypt the encrypted data file.
In another embodiments, two keys can be used to decrypt an encrypted data file. Specifically, one key can be stored with the encrypted data file on the file storage device 114. This key can be used by the hardware cryptography device 500 to decrypt the encrypted data file. In order to prevent an unauthorized user from using this key to decrypt the encrypted data file stored with it on file storage device 114, the key is encrypted by another key. This other key can be stored in any convenient location, such as an EPROM, a USB dongle, a secure server, the hardware cryptography device 500, or the master gaming controller 101. When the hardware cryptography device 500 receives an encrypted data file along with an encrypted key, the hardware cryptography device 500 can retrieve the other key needed to decrypt the encrypted key. Once the hardware cryptography device 500 decrypts the encrypted key, then the newly decrypted key can be used to decrypt the encrypted data file. If symmetric keys are used, the same key that was used to encrypt the data file can be used to decrypt the encrypted data file. In contrast, if asymmetric keys were used, a different key from the one used to encrypt a data file can be used to decrypt the encrypted data file. Using two keys to decrypt and/or encrypt data files provides added security because either or both of the two keys can be changed or updated at any time to prevent unauthorized access to and tampering with the data files. Furthermore, the key stored with the encrypted data file can be easily changed or updated without much time or expense. In some embodiments, the memory location where the key is stored can be removed. In these embodiments, the removable memory location where the key is stored can also be referred to as a “removable key,” and can be a PROM, EPROM, USB dongle, smart card, read-only file on a mass storage device, NVRAM module, or the like. In some applications, the read-only file can be a digital certificate, which acts as an electronic “driver's license” that establishes a certificate holder's credentials for transactions over a network, Web, Internet, or the like. Typically, a digital certificate is issued by a certification authority, and includes information such as the certificate holder's name, a serial number, expiration date or dates, a copy of the certificate holder's public key, and the digital signature of the certification authority. The copy of the certificate holder's public key can be used for encrypting messages and digital signatures. In addition, the digital signature of the certification authority can be used by a recipient of the digital certificate to verify that the certificate is authentic. In some instances, the digital certificates can conform to a standard such as X.509. Furthermore, records of digital certificates can be stored in registries. In this sense, a key can be downloaded from the registry, external to the gaming machine, via a key server.
For a general discussion of symmetric and asymmetric keys, including public and private key pairs, see U.S. patent application Ser. No. 10/291,926 by Brosnan et al., filed on Nov. 7, 2002, and entitled “Identifying Message Senders,” which is incorporated herein by reference for all purposes. Also, for a general discussion of cryptography, see Schneier, Bruce, Applied Cryptography, John Wiley & Sons, Inc., which is also incorporated herein by reference for all purposes. In addition, for a general discussion of electronic keys and dongles that can be used with the present invention, see U.S. Pat. No. 6,439,996 by LeMay et al., entitled “Key for a Gaming Machine and Method of Use Thereof,” issued Aug. 27, 2002, which is also incorporated herein by reference for all purposes.
After the files are decrypted by hardware cryptography device 500, the decrypted files are then passed to master gaming controller 101. These decrypted files can then be read by the master gaming controller 101 if the files were not tampered with while they were encrypted. However, if the files were altered while they were encrypted, the altered content will be decrypted along with the legitimate portions of the data files. Consequently, the decrypted version of the altered content will result in garble that is unparseable. In some embodiments, when unparseable material is detected, then security measures can be triggered. For instance, gaming machine 102 can be reset after unparseable material is found. In addition, casino and/or gaming machine personnel can be notified.
With reference to
As described above, storing encrypted data files at file storage device 114 improves the security of gaming machine 102. Specifically, if the file storage device 114 is lost or stolen, the contents of the file storage device 114 are safe from unauthorized users who could otherwise obtain sensitive data from the file storage device 114 if data files are stored in plain view. Depending on the application, additional features can be included for added security. For instance, gaming machine 102 can detect if the decrypted file includes unparseable material, which suggests either that the encrypted file was altered or that a “rogue” program is operating on the gaming machine. A rogue program is typically introduced onto a gaming machine to trigger illegal jackpots or otherwise tamper with the normal functioning of a gaming machine. The hardware cryptography device can be used to detect such rogue programs by decrypting these rogue programs into unparseable garble when attempting to decrypt legitimate code. Once unparseable material is detected, then security measures can be effected such as resetting the gaming machine, and notifying casino and/or gaming machine personnel.
Another feature that can be included for added security involves checking the integrity of the contents of a data file either before or after it is decrypted by hardware cryptography device. By verifying the contents of the file, gaming machine 102 can determine if the file has been altered in any way. For instance, a check sum algorithm can be used to create a signature for the encrypted or decrypted version of the file, and this signature can be encrypted and appended to the file. When the file is retrieved, the check sum algorithm can be computed again to generate another signature. If the two signatures match, this suggests that the file has not been altered since the time the first signature was generated. Other algorithms and methods can also be used to verify the file in a similar manner.
Yet another feature that can be included for added security involves authentication. As described above, encryption is the process of taking data from a sender and encoding it into a form that only a receiver will be able to decode. Authentication, on the other hand, is used to verify that the information comes from the actual sender. If information received is authentic, the receiver knows who created it and knows that it has not been altered since the sender created it. These two processes, encryption and authentication, can work hand-in-hand to create a secure environment.
In one embodiment, public-private asymmetric encryption keys may be used with the methods and apparatus of the present invention. In a public-private encryption method, information encrypted with the public encryption key may be decrypted only using the corresponding private encryption key of the public-private encryption key pair and information encrypted with the public encryption key may be decrypted only using the private encryption key. Thus, an entity with a private encryption key of public-private encryption key pair may give its public encryption key to many other entities. The public encryption key may be made available (via an Internet server, e-mail, or some other means) to whoever needs or wants it. The private encryption key, on the other hand, is kept secret. Only the owner of the key pair is allowed to possess the private encryption key. The other entities may use the public encryption key to encrypt data. However, as long as the private encryption key remains private, only the entity with the private encryption key can decrypt information encrypted with the public encryption key.
In one embodiment, the identity of a message sender may be determined using public-private encryption key pairs. Two gaming devices, each storing public-private encryption key pairs, may exchange public encryption keys. Then, the gaming devices may exchange a series of messages that are encrypted with each other's public keys. For instance, a first gaming device may send a message with information that is encrypted with a second gaming device's public encryption key. As an example, the information may be a randomly generated number. The information sent by the first gaming device is also stored by the first gaming device.
The second gaming device may receive the message from the first gaming device and decrypt the information with its private key. Then, the second gaming device may encrypt the information with the first gaming device's public encryption key and send a reply message with encrypted information to the first gaming device. The first gaming device decrypts the information in the message using its private encryption key. Then, the first gaming device compares the information sent in the original message with the information received in the reply message. When the information received in the reply message from the second gaming device matches the information sent to the second gaming device, the identity of the second gaming device is authenticated since only the possessor of the private key may decrypt a message encrypted with its public key. Details of exchanging encryption keys in a secure manner, which may be applied to the present invention, are described in co-pending U.S. application Ser. No. 09/993,163, by Rowe et al., filed Nov. 16, 2001 and entitled “A Cashless Transaction Clearinghouse,” which are incorporated herein by reference in its entirety and for all purposes.
In general, public-key algorithms are very slow and it is impractical to use them to encrypt large amounts of data. In a symmetric encryption algorithm, the same encryption key is used to encrypt and decrypt information. In practice, symmetric algorithms are used for encryption/decryption of large amounts of data, while the public-private encryption key algorithms are normally used to authenticate sender/receiver and to encrypt the symmetric keys. A more detailed description of authentication and methods of asymmetric and symmetric keys that may be used to transfer encrypted data in the present invention are described in co-pending U.S. patent application Ser. No. 10/116,424, filed Apr. 3, 2002, by Nguyen et al. and entitled, “Secured Virtual Network in a Gaming Environment,” and U.S. patent application Ser. No. 10/291,926, filed Nov. 7, 2002, by Brosnan et al. and entitled, “Identifying Message Senders,” both of which are incorporated herein in their entirety and for all purposes.
In the present embodiment, master gaming controller 101 and file storage device 114 can each authenticate hardware cryptography device 500, and hardware cryptography device 500 can also authenticate master gaming controller 101 and file storage device 114. Furthermore, file storage device 114 can authenticate other gaming machines or components from which it receives files. It should be recognized that although specific examples are described in conjunction with the present embodiment, other methods can also be used to perform authentication in accordance with the techniques of the present invention.
With reference to
The embodiment shown in
Although
Before sending a data file to an external device from main communication board 108, hardware cryptography device 700 can encrypt the data file. Encrypting the data file before sending it across communication path 125 in this manner improves the security of gaming machine 102. Specifically, the encrypted data files sent across communication path 125 are safe from unauthorized users who could otherwise obtain sensitive data from the data files if transmitted in the clear. Hardware cryptography device 700 can include one or more hardware encryption and/or decryption chips, such as the Intel IXP-425 network processor from Intel Corp. (Santa Clara, Calif.), the SE-64 ASIC from eNovatek Corp. (Taipei, Taiwan), the SafeXcel-1140 series from SafeNet, Inc. (Baltimore, Md.), the Hifn-7902 security processor from Hifn, Inc. (Los Gatos, Calif.). The hardware cryptography device 700 can be chosen to encrypt data files using one or more symmetric or asymmetric keys. In one embodiment, a single key can be used to encrypt a data file. The key can be stored in any convenient memory location, such as an EPROM, a USB dongle, a smart card, a secure server, the hardware cryptography device 700 used to encrypt and/or decrypt data files, or the master gaming controller 101. Once the hardware cryptography device 700 obtains the key, the hardware cryptography device 700 can use the key to encrypt a data file. Once encrypted, the data file can be sent from main communication board 108 across communication path 125 to an external device. The communications across communication path 125 can be implemented “in the clear,” or by using a SSL session, VPN tunnel, hardware-cryptographic-enabled transport, and the like, for additional security. The external device can then receive the encrypted data file at a communication board. If a symmetric key is used to encrypt the data file, a hardware cryptography device at the communication board of the external device can use an identical key to decrypt the encrypted data file. However, if an asymmetric key is used to encrypt the data file, a different key from the key used to encrypt the data file can be used by the external device's hardware cryptography device to decrypt the encrypted data file.
In some embodiments, multiple keys can be used to encrypt a data file. Specifically, if two keys are used, one key can be used to encrypt a data file. This key can be encrypted with another key and sent with the encrypted data file. When the encrypted data file and key are sent to an external device, a hardware cryptography device decrypts the encrypted key with a stored key. This stored key can be the same key used to encrypt the key if symmetric keys are used or a different key if asymmetric keys are used. Once the hardware cryptography device 700 decrypts the encrypted key, then the newly decrypted key can be used to decrypt the encrypted data file. Using multiple keys to encrypt and decrypt data files in this manner provides added security because either or both of the two keys can be changed or updated at any time to prevent unauthorized access to and tampering with the data files. Furthermore, the encrypted key sent with the encrypted data file can be easily changed or updated without much time or expense. In some embodiments, the memory location where the key is stored can be removed. As described in more detail above, the removable memory location where the key is stored can also be referred to as a “removable key,” and can be a PROM, EPROM, USB dongle, smart card, read-only file on a mass storage device, NVRAM module, or the like. In some applications, the read-only file can be a digital certificate, which is described in more detail above. For a general discussion of symmetric and asymmetric keys, including public and private key pairs, see U.S. patent application Ser. No. 10/291,926 by Brosnan et al., filed on Nov. 7, 2002, and entitled “Identifying Message Senders”. Also, for a general discussion of cryptography, see Schneier, Bruce, Applied Cryptography, John Wiley & Sons, Inc. In addition, for a general discussion of electronic keys and dongles that can be used with the present invention, see U.S. Pat. No. 6,439,996 by LeMay et al., entitled “Key for a Gaming Machine and Method of Use Thereof,” issued Aug. 27, 2002.
In the present embodiment, main communication board 108 can also receive encrypted data files from external devices. Main communication board 108 can decrypt encrypted data files in a manner similar to that described above with regard to external devices that receive encrypted data files from gaming machine 102. In particular, with reference to
At 800, the main communication board 108 (
As described above, sending encrypted data files over communication paths improves the security of gaming machine 102. Specifically, the encrypted data files are safe from unauthorized users who could otherwise obtain sensitive data from the data files if transmitted in the clear. Depending on the application, additional features can be included for added security. For instance, gaming machine 102 can detect if the decrypted file includes unparseable material, which indicates that the encrypted file was altered, as described in more detail above with regard to the embodiment depicted in
Another feature that can be included for added security involves verifying the contents of a data file either before or after it is decrypted by a hardware cryptography device. By verifying the file, gaming machine 102 can determine if the file has been altered in any way. For instance, a check sum algorithm can be used to create a signature for the encrypted or decrypted version of the file, and this signature can be encrypted and appended to the file before it is sent to gaming machine 102. When the file is received by gaming machine 102, the check sum algorithm can be used to generate another signature. If the two signatures match, this suggests that the file has not been altered since the time the first signature was generated. Other algorithms and methods can also be used to verify the file in a similar manner.
Yet another feature that can be included for added security involves authentication. As described above with regard to
The present embodiment includes various benefits. In particular, because the hardware cryptography device is independent of the operating system and software applications used by the gaming machine, the hardware cryptography device can be used with many applications and many different machines and machine components. For instance, the same hardware cryptography devices can be used on gaming machines running QNX, lottery machines and PTTV running Linux, CVT's running PSOS, floor control servers running Windows 2000, etc. Accordingly, the hardware cryptography device does not require specific software development in order to secure a network of gaming machines having different operating systems and applications. Another benefit is that using hardware cryptography devices to secure communication paths is compatible with legacy machines. In particular, hardware cryptography devices can be built into the legacy machines' communication boards without requiring any software updates or modifications.
Although
Memory 900 stores data files that are used by CPU 102. Before the encrypted data files stored in memory 900 are passed to CPU 102, the encrypted data files are decrypted by hardware cryptography device 902. Hardware cryptography device 902 can be a field programmable gate array (FPGA) and/or one or more hardware encryption and/or decryption chips, such as the Intel IXP-425 network processor from Intel Corp. (Santa Clara, Calif.), the SE-64 ASIC from eNovatek Corp. (Taipei, Taiwan), the SafeXcel-1140 series from SafeNet, Inc. (Baltimore, Md.), the Hifn-7902 security processor from Hifn, Inc. (Los Gatos, Calif.). The hardware cryptography device 902 can encrypt and/or decrypt data files using one or more symmetric or asymmetric keys. In one embodiment, a single key can be used to decrypt an encrypted data file passing from memory 900 to CPU 103. The key can be stored in any convenient memory location, such as an EPROM, a USB dongle, a smart card, a secure server, the hardware cryptography device 902, or the master gaming controller 101. Once the hardware cryptography device 902 obtains the key, the hardware cryptography device 902 can use the key to decrypt an encrypted data file. If a symmetric key is used, the same key that was used to encrypt the data file can be used to decrypt the encrypted data file. In contrast, if an asymmetric key was used, a different key from the one used to encrypt a data file can be used to decrypt the encrypted data file.
In other embodiments, two keys can be used to decrypt an encrypted data file. Specifically, one key can be stored with the encrypted data file in memory 900. This key can be used by the hardware cryptography device 902 to decrypt the encrypted data file. In order to prevent an unauthorized user from using this key to decrypt the encrypted data file stored with it in memory 900, the key is encrypted by another key. This other key can be stored in any convenient location, such as an EPROM, a USB dongle, the hardware cryptography device 902, a secure server, or the master gaming controller 101. When the hardware cryptography device 902 receives an encrypted data file along with an encrypted key, the hardware cryptography device 902 can retrieve the other key needed to decrypt the encrypted key. Once the hardware cryptography device 902 decrypts the encrypted key, then the newly decrypted key can be used to decrypt the encrypted data file. If symmetric keys were used, the same key that was used to encrypt the data file can be used to decrypt the encrypted data file. In contrast, if asymmetric keys were used, a different key from the one used to encrypt a data file can be used to decrypt the encrypted data file. Using two keys to decrypt and/or encrypt data files in this manner provides added security because either or both of the two keys can be changed or updated at any time to prevent unauthorized access to and tampering with the data files. Furthermore, the key stored with the encrypted data file can be easily changed or updated without much time or expense. In some embodiments, the memory location where the key is stored can be removed. As described above, the removable memory location where the key is stored can also be referred to as a “removable key,” and can be a PROM, EPROM, USB dongle, smart card, read-only file on a mass storage device, NVRAM module, or the like. In some applications, the read-only file can be a digital certificate, which is described in more detail above. For a general discussion of symmetric and asymmetric keys, including public and private key pairs, see U.S. patent application Ser. No. 10/291,926 by Brosnan et al., filed on Nov. 7, 2002, and entitled “Identifying Message Senders.” Also, for a general discussion of cryptography, see Schneier, Bruce, Applied Cryptography, John Wiley & Sons, Inc. In addition, for a general discussion of electronic keys and dongles that can be used with the present invention, see U.S. Pat. No. 6,439,996 by LeMay et al., entitled “Key for a Gaming Machine and Method of Use Thereof,” issued Aug. 27, 2002.
After the files are decrypted by hardware cryptography device 902, the decrypted files are then passed to CPU 103. These decrypted files can then be read by CPU 103 if the files were not tampered with while they were encrypted. However, if the files were altered while they were encrypted, the altered content will be decrypted along with the legitimate portions of the data files. Consequently, the decrypted version of the altered content will result in garble that is unparseable. In some embodiments, when unparseable material is detected, then security measures can be triggered. For instance, gaming machine 102 can be reset after unparseable material is found. In addition, casino and/or gaming machine personnel can be notified.
With reference to
As described above, storing encrypted data files in memory 900 improves the security of gaming machine 102. Specifically, if the memory 900 is lost or stolen, the contents of the memory 900 are safe from unauthorized users who could otherwise obtain sensitive data from the memory 900 if stored in plain view. Depending on the application, additional features can be included for added security. For instance, gaming machine 102 can detect if the decrypted file includes unparseable material, which suggests either that the encrypted file was altered after it was sent or that a rogue program resides on gaming machine 102, as described above with regard to
Another feature that can be included for added security involves verifying the contents of a data file either before or after it is decrypted by the hardware cryptography device. By verifying the file, gaming machine 102 can determine if the file has been altered in any way. For instance, a check sum algorithm can be used to create a signature for the encrypted or decrypted version of the file, and this signature can be encrypted and appended to the file before it is sent. When the file is retrieved, the check sum algorithm can be used to generate another signature. If the two signatures match, this suggests that the file has not been altered since the time the signature was generated. Other algorithms and methods can also be used to verify the file in a similar manner.
Yet another feature that can be included for added security involves authentication. As described above with regard to
In the present embodiment, CPU 103 and memory 900 can each authenticate hardware cryptography device 902, and hardware cryptography device 902 can also authenticate CPU 103 and memory 900. It should be recognized that although specific examples are described in conjunction with the present embodiment, other methods can also be used to perform authentication in accordance with the techniques of the present invention.
Although
In the present embodiment, programmable device 1102 can be a field programmable gate array (FPGA), digital signal processor (DSP), programmable logic device (PLD), CPLD, or the like, which can be programmed to perform desired functions depending on the application. Furthermore, programmable device 1102 can be reprogrammed when necessary, as when updated functions are desired.
Read-only memory 1106 stores encrypted data files, which can be executable or non-executable files. In addition, read-only memory 1106 stores encrypted data files alongside decrypted data files in some embodiments, depending on the application. In some embodiments, read-only memory 1106 can be a PROM, EPROM, CD, DVD, smart card, USB dongle, flash drive, memory stick, read-only sector of a mass storage device, NVRAM module, or the like. Storing encrypted data files in read-only memory 1106 improves the security of gaming machine 102. Specifically, if the read-only memory 1106 is lost or stolen, the contents of the read-only memory 1106 are safe from unauthorized users who could otherwise obtain sensitive data from the read-only memory 1106 if stored in plain view.
Read-only memory 1106 stores data files that are used by programmable device 1102. Before the encrypted data files stored in read-only memory 1106 are passed to programmable device 1102, the encrypted data files are decrypted by hardware cryptography device 1104. Hardware cryptography device 1104 can be a field programmable gate array (FPGA) and/or one or more hardware encryption and/or decryption chips, such as the Intel IXP-425 network processor from Intel Corp. (Santa Clara, Calif.), the SE-64 ASIC from eNovatek Corp. (Taipei, Taiwan), the SafeXcel-1140 series from SafeNet, Inc. (Baltimore, Md.), the Hifn-7902 security processor from Hifn, Inc. (Los Gatos, Calif.). The hardware cryptography device 1104 can encrypt and/or decrypt data files using one or more symmetric or asymmetric keys. In one embodiment, a single key can be used to decrypt an encrypted data file passing from read-only memory 1106 to programmable device 1102. The key can be stored in any convenient memory location, such as an EPROM, a USB dongle, a smart card, a secure server, the hardware cryptography device 1104, or the master gaming controller 101. Once the hardware cryptography device 1104 obtains the key, the hardware cryptography device 1104 can use the key to decrypt an encrypted data file. If a symmetric key is used, the same key that was used to encrypt the data file can be used to decrypt the encrypted data file. In contrast, if an asymmetric key was used, a different key from the one used to encrypt a data file can be used to decrypt the encrypted data file.
In other embodiments, two keys can be used to decrypt an encrypted data file. Specifically, one key can be stored with the encrypted data file on read-only memory 1106. This key can be used by the hardware cryptography device 1104 to decrypt the encrypted data file. In order to prevent an unauthorized user from using this key to decrypt the encrypted data file stored with it on read-only memory 1106, the key is encrypted by another key. This other key can be stored in any convenient location, such as an EPROM, a USB dongle, the hardware cryptography device 1104, or a secure server. When the hardware cryptography device 1104 receives an encrypted data file along with an encrypted key, the hardware cryptography device 1104 can retrieve the other key needed to decrypt the encrypted key. Once the hardware cryptography device 1104 decrypts the encrypted key, then the newly decrypted key can be used to decrypt the encrypted data file. If symmetric keys were used, the same key that was used to encrypt the data file can be used to decrypt the encrypted data file. In contrast, if asymmetric keys were used, a different key from the one used to encrypt a data file can be used to decrypt the encrypted data file. Using two keys to decrypt and/or encrypt data files in this manner provides added security because either or both of the two keys can be changed or updated at any time to prevent unauthorized access to and tampering with the data files. Furthermore, the key stored with the encrypted data file can be easily changed or updated without much time or expense. In some embodiments, the memory location where the key is stored can be removed. As described above, the removable memory location where the key is stored can also be referred to as a “removable key,” and can be a PROM, EPROM, USB dongle, smart card, read-only file on a mass storage device, NVRAM module, or the like. In some applications, the read-only file can be a digital certificate, which is described in more detail above. For a general discussion of symmetric and asymmetric keys, including public and private key pairs, see U.S. patent application Ser. No. 10/291,926 by Brosnan et al., filed on Nov. 7, 2002, and entitled “Identifying Message Senders.” Also, for a general discussion of cryptography, see Schneier, Bruce, Applied Cryptography, John Wiley & Sons, Inc. In addition, for a general discussion of electronic keys and dongles that can be used with the present invention, see U.S. Pat. No. 6,439,996 by LeMay et al., entitled “Key for a Gaming Machine and Method of Use Thereof,” issued Aug. 27, 2002.
After the files are decrypted by hardware cryptography device 1104, the decrypted files are then passed to programmable device 1102. These decrypted files can then be read by programmable device 1102 if the files were not tampered with while they were encrypted. However, if the files were altered while they were encrypted, the altered content will be decrypted along with the legitimate portions of the data files. Consequently, the decrypted version of the altered content will result in garble that is unparseable. In some embodiments, when unparseable material is detected, then security measures can be triggered. For instance, gaming machine 102 can be reset after unparseable material is found. In addition, casino and/or gaming machine personnel can be notified.
With reference to
Storing encrypted data files in read-only memory 1106 improves the security of gaming machine 102. Specifically, if read-only memory 1106 is lost or stolen, the contents of read-only memory 1106 are safe from unauthorized users who could otherwise obtain sensitive data from read-only memory 1106 if stored in plain view. Depending on the application, additional features can be included for added security. For instance, gaming machine 102 can detect if the decrypted file includes unparseable material, which suggests either that the encrypted file was altered after it was sent or that a rogue program resides on gaming machine 102, as described above with regard to
Another feature that can be included for added security involves verifying the contents of a data file either before or after it is decrypted by the hardware cryptography device. By verifying the file, gaming machine 102 can determine if the file has been altered in any way. For instance, a check sum algorithm can be used to create a signature for the encrypted or decrypted version of the file, and this signature can be encrypted and appended to the file before it is sent. When the file is retrieved, the check sum algorithm can be used to generate another signature. If the two signatures match, this suggests that the file has not been altered since the time the signature was generated. Other algorithms and methods can also be used to verify the file in a similar manner.
Yet another feature that can be included for added security involves authentication. As described above with regard to
In the present embodiment, programmable device 1102 and read-only memory 1106 can each authenticate hardware cryptography device 1104, and hardware cryptography device 1104 can also authenticate programmable device 1102 and read-only memory 1106. It should be recognized that although specific examples are described in conjunction with the present embodiment, other methods can also be used to perform authentication in accordance with the techniques of the present invention.
Although
Furthermore, in the present embodiment, main communication board 108 includes hardware cryptography device 700. Gaming machine 102 sends and receives data files to and from external devices through main communication board 108 and communication path 125. Before data files are sent from main communication board 108 to external devices, the data files can be encrypted by hardware cryptography device 700. After data files are received from external devices, the data files can be decrypted by hardware cryptography device 700. For a more detailed discussion about main communication board 108 and hardware cryptography device 700, refer to
Also in the present embodiment, master gaming controller includes memory 900 and hardware cryptography device 902. Memory 900 stores encrypted data files that are used by CPU 103, and other components depending on the application. Before the encrypted data files stored in memory 900 are passed to CPU 102, the encrypted data files are decrypted by hardware cryptography device 902. Furthermore, when data files are passed from CPU 103 to memory 900, hardware cryptography device can encrypt the data files before the data files reach memory 900. For a more detailed discussion about memory 900 and hardware cryptography device 902, refer to
In addition, the present embodiment includes a programmable device unit 1100. Programmable device unit 1100 includes programmable device 1102, hardware cryptography device 1104, and read-only memory 1106. read-only memory 1106 stores encrypted data files that are used by programmable device 1102, and other components depending on the application. Before the encrypted data files stored on read-only memory 1106 are passed to programmable device 1102, the encrypted data files are decrypted by hardware cryptography device 1104. Furthermore, when data files are passed from programmable device 1102 to read-only memory 1106, hardware cryptography device 1104 can encrypt the data files before the data files reach read-only memory 1106. For a more detailed discussion about programmable device unit, refer to
In one preferred embodiment, file storage device 114 can serve as a centralized storage device for gaming machine 102. Specifically, various components of gaming machine 102 can access file storage device 114 for encrypted or unencrypted files. In another preferred embodiment, file storage device 114 can be located remotely to gaming machine 102, as shown in
In other embodiments, one or more of hardware cryptography devices 500, 700, 902, and 1104 can use the same key or keys to decrypt and/or encrypt data. For instance, all of the hardware cryptography devices 500, 700, 902, and 1104 can use the same symmetric key to encrypt and/or decrypt data. This symmetric key can be stored in a single location and accessed by each of the hardware cryptography devices 500, 700, 902, and 1104, or it can be stored in multiple locations, depending on the application.
Turning to
Using hardware cryptography devices to secure gaming machine 102 and its network provides several benefits. The descriptions of
In addition, using hardware cryptography devices at various locations in the gaming system can provide security for many aspects of the system. For instance, as shown in
Because the hardware cryptography devices are independent of the operating systems used by the gaming machine devices, using hardware cryptography devices to secure the gaming system can allow many applications to be developed and run by different devices without having to unify the operating systems of the devices. For instance, gaming machines can run QNX, lottery machines and PTTVs can run Linux, CVTs can run PSOS, and floor control servers can run Windows 2000, all while hardware cryptography devices are employed in the system.
In addition, using hardware cryptography devices to secure communication paths is compatible with legacy machines. In particular, hardware cryptography devices can be built into the legacy machines' communication boards without requiring any software updates or modifications. Accordingly, legacy machines can communicate with newer gaming machines over the same network without costly software developments or improvements.
By using hardware cryptography devices instead of software cryptography to create a secure system, software development efforts can be directed more toward content development rather than content protection. Furthermore, with little or no software cryptography used, the number of software updates, such as bug fixes and security patches, can be reduced or eliminated, thereby freeing software developers to focus on content development. In addition, hardware cryptography devices are easy to use because the operation of the hardware devices is transparent to the users and applications on the gaming machines and components.
Although the present invention has been described in conjunction with a number of exemplary embodiments depicted in the appended drawing figures, various modifications can be made without departing from the spirit and/or scope of the present invention. Therefore, the present invention should not be construed as being limited to the specific forms shown in the drawings and described above.
Number | Name | Date | Kind |
---|---|---|---|
4882473 | Bergeron et al. | Nov 1989 | A |
5249232 | Erbes et al. | Sep 1993 | A |
5398932 | Eberhardt et al. | Mar 1995 | A |
5505449 | Eberhardt et al. | Apr 1996 | A |
5643086 | Alcorn et al. | Jul 1997 | A |
5915025 | Taguchi et al. | Jun 1999 | A |
6071190 | Weiss et al. | Jun 2000 | A |
6106396 | Alcorn et al. | Aug 2000 | A |
6149022 | Akyildiz et al. | Nov 2000 | A |
6149522 | Alcorn et al. | Nov 2000 | A |
6165072 | Davis et al. | Dec 2000 | A |
6251014 | Stockdale et al. | Jun 2001 | B1 |
6394905 | Takeda et al. | May 2002 | B1 |
6443839 | Stockdale et al. | Sep 2002 | B2 |
6488581 | Stockdale | Dec 2002 | B1 |
6503147 | Stockdale et al. | Jan 2003 | B1 |
6508709 | Karmarkar | Jan 2003 | B1 |
6875109 | Stockdale | Apr 2005 | B2 |
7285048 | Karmarkar | Oct 2007 | B2 |
7294056 | Lowell et al. | Nov 2007 | B2 |
20010031663 | Johnson | Oct 2001 | A1 |
20020116615 | Nguyen et al. | Aug 2002 | A1 |
20020187828 | Benbrahim | Dec 2002 | A1 |
20030109306 | Karmarkar | Jun 2003 | A1 |
20030199320 | Nguyen et al. | Oct 2003 | A1 |
20050192099 | Nguyen et al. | Sep 2005 | A1 |
Number | Date | Country |
---|---|---|
0360613 | Mar 1990 | EP |
0471538 | Feb 1992 | EP |
0720098 | Jul 1996 | EP |
2253931 | Sep 1992 | GB |
WO9214209 | Aug 1992 | WO |
WO9510824 | Apr 1995 | WO |
Number | Date | Country | |
---|---|---|---|
20040198494 A1 | Oct 2004 | US |