U.S. patent number RE39,401 [Application Number 10/225,096] was granted by the patent office on 2006-11-14 for electronic casino gaming system with improved play capacity, authentication and security.
This patent grant is currently assigned to IGT. Invention is credited to Allan E. Alcorn, Michael Barnett, Louis D. Giacalone, Jr., Adam E. Levinthal.
United States Patent |
RE39,401 |
Alcorn , et al. |
November 14, 2006 |
**Please see images for:
( Certificate of Correction ) ( Reexamination Certificate
) ** |
Electronic casino gaming system with improved play capacity,
authentication and security
Abstract
The electronic casino gaming system consists of several system
components, including a microprocessor (12), a main memory unit
(13) that is typically a random access memory, and a system boot
ROM (14). Also included in the electronic casino gaming system are
a non-volatile RAM (17), a mass storage unit (18), a disk subsystem
(19), and a PCI bus (20). The disk subsystem (19) preferably
supports SCSI-2 with options of fast and wide. A video subsystem
(22) is also included in the electronic casino gaming system and is
coupled to the PCI bus (20) to provide full color still images and
MPEG movies.
Inventors: |
Alcorn; Allan E. (Portola
Valley, CA), Barnett; Michael (San Carlos, CA),
Giacalone, Jr.; Louis D. (Henderson, NV), Levinthal; Adam
E. (Redwood City, CA) |
Assignee: |
IGT (Reno, NV)
|
Family
ID: |
37189417 |
Appl.
No.: |
10/225,096 |
Filed: |
June 17, 1996 |
PCT
Filed: |
June 17, 1996 |
PCT No.: |
PCT/US96/10463 |
371(c)(1),(2),(4) Date: |
March 10, 1998 |
PCT
Pub. No.: |
WO97/01902 |
PCT
Pub. Date: |
January 16, 1997 |
Related U.S. Patent Documents
|
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
Issue Date |
|
|
08497662 |
Jun 29, 1995 |
5643086 |
|
|
Reissue of: |
08981882 |
Mar 10, 1998 |
06106396 |
Aug 22, 2000 |
|
|
Current U.S.
Class: |
463/29;
380/251 |
Current CPC
Class: |
G06F
21/00 (20130101); G07F 17/32 (20130101); G06Q
50/34 (20130101); H04L 9/3247 (20130101); G06F
21/64 (20130101); G06F 21/51 (20130101); H04L
9/3236 (20130101); G06F 21/57 (20130101); H04L
9/0643 (20130101); G07F 17/3288 (20130101); G06F
2221/2109 (20130101); G06F 2211/007 (20130101); H04L
2209/60 (20130101) |
Current International
Class: |
A63F
13/00 (20060101); G06F 5/00 (20060101) |
Field of
Search: |
;463/1,25,29,40-44,16
;700/91 ;380/251,4,9,23,25,30,49,50,59 |
References Cited
[Referenced By]
U.S. Patent Documents
Foreign Patent Documents
|
|
|
|
|
|
|
0 685 246 |
|
Dec 1995 |
|
EP |
|
2 121 569 |
|
Dec 1983 |
|
GB |
|
6-327831 |
|
Nov 1994 |
|
JP |
|
7-31737 |
|
Feb 1995 |
|
JP |
|
WO 99/65579 |
|
Dec 1999 |
|
WO |
|
WO 00/33196 |
|
Jun 2000 |
|
WO |
|
Other References
Answer and Counterclaims to Second Amended Complaint filed in
connection with Civil Action No. CV-S-01-1498, pp. 1-26 and
certificate of service page. cited by other .
Defendants' Supplemental Response to Plaintiffs' First Set of
Interrogatories filed in connection with Civil Action No.
CV-S-01-1498, pp. 1-3, 50-68 and 85-86. cited by other .
Hellman, Martin E., "The Mathematics of Public-Key Cryptography,"
Scientific American, vol. 241, No. 8, Aug. 1979, pp. 146-157. cited
by other .
Rivest et al., "A Method for Obtaining Digital Signatures and
Public-Key Cryptosystems," Communiations of the ACM, vol. 21, No.
2, Feb. 1978, pp. 120-126. cited by other .
Bakhtiari, et al., "Cryptographic Hash Functions: A Survey," Centre
for Computer Security Research, 1995, 3 introductory pages and pp.
1-26. cited by other .
Federal Information Processing Standards (FIPS) Publication 180
entitled "Secure Hash Standard" dated May 11, 1993, title page,
abstract page and pp. 1-20. cited by other .
Federal Information Processing Standards (FIPS) Publication 186
entitled "Digital Signature Standard (DSS)" dated May 19, 1994, 17
pages. cited by other .
Document entitled "Fact Sheet on Digital Signature Standard" dated
May 1994, 6 pages. cited by other .
Federal Information Processing Standards (FIPS) Publication 180-1
entitled "Secure Hash Standard" dated Apr. 17, 1995, 2 title pages,
abstract page and pp. 1-21. cited by other .
Bauspiess, et al., "Requirements For Cryptographic Hash Functions,"
Computers and Security, 5:427-437 (Sep. 11, 1992). cited by other
.
Complaint for patent infringement filed by Aristocrat Technologies,
et al. dated Jan. 22, 2002, Civil Action No. CV-S-02-0091. cited by
other .
Court docket for Civil Action No. CV-S-02-0091 listing papers
filed. cited by other .
Davida, G. et al., "Defending Systems Against Viruses through
Cryptographic Authentication," Proceedings of the Symposium on
Security and Privacy, IEEE Comp. Soc. Press, pp. 312-318 (May 1,
1989). cited by other .
Translation of communication from the Japanese Patent Office with
respect to JP 504453/97 dated Dec. 7, 2004. cited by other.
|
Primary Examiner: Hotaling, II; John M.
Attorney, Agent or Firm: Beyer Weaver & Thomas LLP
Parent Case Text
.[.This application is the national stage of International
Application No. PCT/US96/10463, filed on Jun. 17, 1996, which is a
continuation-in-part of U.S. application Ser. No. 08/497,662, now
U.S. Pat. No. 5,643,086, filed on Jun. 29, 1995..].
.Iadd.Notice: More than one reissue application has been filed for
the reissue of U.S. Pat. No. 6,106,396. The reissue applications
are Reissue application No. 10/225,096 filed Aug. 21, 200 (the
present application), Reissue application No. 10/224,680 filed Aug.
21, 2002, Reissue application No. 10/225,116 filed Aug. 21, 2002,
Reissue application No. 10/225,097 filed Aug. 21, 2002 and Reissue
application No. 10/224,699 filed Aug. 21, 2002, all of which are
divisional reissues of U.S. Pat. No. 6,106,396, which issued from
U.S. Ser. No. 08/981,882 which is the U.S. national phase of
International Application No. PCT/US96/10463 filed Jun. 17, 1996,
which is a continuation-in-part of U.S. Ser. No. 08/497,662 filed
Jun. 29, 1995, now U.S. Pat. No. 5,643,086. .Iaddend.
Claims
What is claimed is:
.[.1. An electronic gaming system for providing authentication of a
data set associated with a casino type game, said system
comprising: (a) a first storage means for storing a game data set
and a game signature comprising an encrypted version of a unique
primary abbreviated game bit string computed from said game data
set; (b) a second storage means for storing, an anchor application
including a first authentication program capable of determining the
validity of said game data set by, computing a complementary
abbreviated game bit string from said game data set, decrypting
said game signature set to recover said primary abbreviated game
bit string, comparing said complementary abbreviated game bit
string with said primary abbreviated game bit string to determine
whether a match is present, and an anchor signature including an
encrypted version of a unique primary abbreviated anchor bit string
computed from said anchor application; (c) a third storage means
for storing a second authentication program capable of determining
the validity of said anchor application by, computing a
complementary abbreviated anchor bit string from said anchor
application, decrypting said anchor signature to recover said
primary abbreviated anchor bit string, and comparing said
complementary abbreviated anchor bit string with said primary
abbreviated anchor bit string to determine whether a match is
present; and (d) processing means for enabling said first
authentication program to determine the validity of said game data
set and for enabling said second authentication program to
determine the validity of said anchor application..].
.[.2. An electronic gaming system as recited in claim 1 further
comprising a fourth storage means for storing basic input/output
system (BIOS) code..].
.[.3. An electronic gaming system as recited in claim 2 wherein
said fourth storage means is an unalterable ROM device..].
.[.4. An electronic gaming system as recited in claim 1 wherein
said third storage means further stores operating system code,
operating system drivers, and bootstrap code..].
.[.5. An electronic gaming system as recited in claim 1 wherein
said first storage means and said second storage means comprise a
single mass storage means..].
.[.6. An electronic gaming system as recited in claim 1 wherein
said first storage means is a mass storage memory device..].
.[.7. An electronic gaming system as recited in claim 1 wherein
said third storage means is an unalterable read only memory..].
.[.8. An electronic gaming system as recited in claim 1 wherein
said first storage means is a CD ROM..].
.[.9. An electronic gaming system as recited in claim 1 wherein
said first storage means is a hard disk drive..].
.[.10. An electronic gaming system as recited in claim 1 wherein
said first storage means comprises a network storage system which
is remote from the electronic gaming system..].
.[.11. An electronic gaming system as recited in claim 1 wherein
said second storage means comprises a network storage system which
is remote from the electronic gaming system..].
.[.12. An electronic gaming system as recited in claim 1 wherein
said game data set is a game-modifying data set for changing game
rules parameters of the casino type game..].
.[.13. An electronic gaming system as recited in claim 12 wherein
said game-modifying data set includes a memory handler modifying
data set for changing money handling parameters of the casino type
game..].
.[.14. An electronic gaming system as recited in claim 12 wherein
said game-modifying data sets include a graphics modifying data set
for changing graphics parameters of the casino type game..].
.[.15. An electronic gaming system as recited in claim 12 wherein
said game-modifying data sets include a sound driver modifying data
set for changing sound parameters of the casino type game..].
.Iadd.16. A casino gaming system comprising: a remote memory
disposed in a location remote from a casino gaming apparatus, said
remote memory having gaming data relating to a first casino game
stored therein; and a network that operatively couples said remote
memory to said casino gaming apparatus, the casino gaming apparatus
comprising: a casino game console; a video display unit; a main
memory, providing an executable space for a processor; a second
memory disposed in said casino game console, said second memory
storing gaming data related to a casino game; a third memory
storing an operating system, said third memory being disposed in
said casino game console, wherein the operating system is enabled
to control access to the second memory and wherein the operating
system is authenticated prior to authentication the gaming data
relating to the casino game stored on the second memory; a network
interface coupled to the gaming console for connecting to the
network; and the processor disposed in said casino game console and
being operatively coupled to said video display unit, said first
memory, said second memory, said third memory and the network
interface; said processor operable to transfer gaming data relating
to the first casino game from the remote memory to the casino
gaming apparatus, said processor operable to cause said transferred
gaming data relating to the first casino game to be authenticated
based on at least a comparison of a first hash value generated from
said transferred gaming data relating to the first casino game with
a second hash value generated from known gaming data. .Iaddend.
.Iadd.17. The casino gaming system as defined in claim 16 wherein
said second memory comprises an optical disk. .Iaddend.
.Iadd.18. The casino gaming system as defined in claim 16 further
comprising at least one peripheral device coupled to the gaming
console including a memory device wherein the processor is operable
to authenticate contents of the memory device. .Iaddend.
.Iadd.19. The casino gaming system as defined in claim 16 wherein
said second memory comprises a magnetic hard disk. .Iaddend.
.Iadd.20. The casino gaming system as defined in claim 16 wherein
said second memory is operable as a read-only memory. .Iaddend.
.Iadd.21. The casino gaming system as defined in claim 16 wherein
the second memory is disposed in said casino game console.
.Iaddend.
.Iadd.22. The casino gaming system as defined in claim 16 wherein
the second memory is disposed in a remote location separate from
said casino game console. .Iaddend.
.Iadd.23. The casino gaming system as defined in claim 16 further
comprising a nonvolatile memory operable to store gaming data
relating to the play of the casino game. .Iaddend.
.Iadd.24. The casino gaming system as defined in claim 23 wherein
the nonvolatile memory is disposed in said casino game console.
.Iaddend.
.Iadd.25. The casino gaming system as defined in claim 23 wherein
the nonvolatile memory is disposed in a remote location separate
from said casino game console. .Iaddend.
.Iadd.26. The casino gaming system as defined in claim 16 wherein
the video display unit is disposed in a remote location separate
from said casino game console. .Iaddend.
.Iadd.27. The casino gaming system as defined in claim 16 further
comprising a video subsystem, operatively coupled to the video
display unit and operatively coupled to the processor, adapted for
displaying still images, motion video or combinations thereof.
.Iaddend.
.Iadd.28. The casino gaming system as defined in claim 16 wherein
the processor is operable to generate a game play of a plurality of
different casino games. .Iaddend.
.Iadd.29. The casino gaming system as defined in claim 16 wherein
in response to receiving a selection of a particular casino game
from a plurality of different casino games, the casino gaming
apparatus is operable to generate a play of the particular casino
game on the casino gaming apparatus. .Iaddend.
.Iadd.30. The casino gaming system as defined in claim 16 wherein
in response to receiving a selection of a particular casino game
from a plurality of different casino games, the casino gaming
apparatus is operable to transfer gaming data relating to the
particular casino game from the remote memory to the casino gaming
apparatus. .Iaddend.
.Iadd.31. The casino gaming system as defined in claim 16 further
comprising a sound-generating apparatus operatively coupled to the
processor. .Iaddend.
.Iadd.32. The casino gaming system as defined in claim 16 wherein
the network interface is designed to provide a wired connection or
a wireless connection to a network. .Iaddend.
.Iadd.33. The casino gaming system as defined in claim 16 wherein
the network comprises a wired link, a wireless link or combinations
thereof. .Iaddend.
.Iadd.34. A casino gaming system comprising: a remote memory
disposed in a location remote from a casino gaming apparatus, said
remote memory having gaming data relating to a plurality of casino
games stored therein, the gaming data relating to the plurality of
casino games; and a network that operatively couples said remote
memory to said casino gaming apparatus, the casino gaming apparatus
comprising: a casino game console; a video display unit; a main
memory providing an executable space for a processor; a disk memory
having gaming data relating to a casino game stored therein, said
disk memory being disposed in said casino game console; a memory
storing second logic for accessing files on a disk memory or the
files on the remote memory wherein the system logic is
authenticated prior to authenticating the gaming data and wherein
said memory is disposed in said casino game console; a network
interface coupled to the gaming console for connecting to the
network; and the processor disposed in said casino game console and
being operatively coupled to said video display unit, said main
memory, said memory and said disk memory; said processor operable
to cause said gaming data relating to the casino game to be
authenticated based on a comparison of at least a hash value
generated from said gaming data with a known hash value; and said
processor operable to transfer first gaming data relating to a
first casino game from the plurality of casino games stored on the
remote memory to the gaming apparatus and to authenticate the first
gaming data based on at least a comparison of at least a first hash
value generated from said first gaming data with a first known hash
value. .Iaddend.
.Iadd.35. The casino gaming system as defined in claim 34 wherein
said disk memory comprises an optical disk. .Iaddend.
.Iadd.36. The casino gaming system as defined in claim 34 further
comprising at least one peripheral device coupled to the gaming
console including a memory device wherein the processor is operable
to authenticate contents of the memory device. .Iaddend.
.Iadd.37. The casino gaming system as defined in claim 34 wherein
said disk memory comprises a magnetic hard disk. .Iaddend.
.Iadd.38. The casino gaming system as defined in claim 34 wherein
said disk memory is operable as a read-only memory. .Iaddend.
.Iadd.39. The casino gaming system as defined in claim 34 wherein
the disk memory is disposed in said casino game console.
.Iaddend.
.Iadd.40. The casino gaming system as defined in claim 34 wherein
the disk memory is disposed in a remote location separate from said
casino game console. .Iaddend.
.Iadd.41. The casino gaming system as defined in claim 34 further
comprising a nonvolatile memory operable to store gaming data
relating to the play of the casino game. .Iaddend.
.Iadd.42. The casino gaming system as defined in claim 41 wherein
the nonvolatile memory is disposed in said casino game console.
.Iaddend.
.Iadd.43. The casino gaming system as defined in claim 41 wherein
the nonvolatile memory is disposed in a remote location separate
from said casino game console. .Iaddend.
.Iadd.44. The casino gaming system as defined in claim 34 wherein
the video display unit is disposed in a remote location separate
from said casino game console. .Iaddend.
.Iadd.45. The casino gaming system as defined in claim 34 further
comprising a video subsystem, operatively coupled to the video
display unit and operatively coupled to the processor, adapted for
displaying still images, motion video or combinations thereof.
.Iaddend.
.Iadd.46. The casino gaming system as defined in claim 34 wherein
the processor is operable to generate a game play of a plurality of
different casino games. .Iaddend.
.Iadd.47. The casino gaming system as defined in claim 34 wherein
in response to receiving a selection of a particular casino game
from a plurality of different casino games, the casino gaming
apparatus is operable to generate a play of the particular casino
game on the casino gaming apparatus. .Iaddend.
.Iadd.48. The casino gaming system as defined in claim 34 wherein
in response to receiving a selection of a particular casino game
from a plurality of different casino games, the casino gaming
apparatus is operable to transfer gaming data relating to the
particular casino game from the remote memory to the casino gaming
apparatus. .Iaddend.
.Iadd.49. The casino gaming system as defined in claim 34 further
comprising a sound-generating apparatus operatively coupled to the
processor. .Iaddend.
.Iadd.50. The casino gaming system as defined in claim 34 wherein
the network interface is designed to provide a wired connection or
a wireless connection to a network. .Iaddend.
.Iadd.51. The casino gaming system as defined in claim 34 wherein
the network comprises a wired link, a wireless link or combinations
thereof. .Iaddend.
.Iadd.52. A casino gaming system comprising: a remote memory
disposed in a location remote from a casino gaming apparatus, said
remote memory having first gaming data relating to a first casino
game stored therein; and a network that operatively couples said
remote memory to said casino gaming apparatus, the casino gaming
apparatus comprising: a casino game console; a video display unit;
a first memory providing an executable space for a processor said
first memory being disposed in said casino game console; a second
memory operable to store gaming data related to a casino game; a
third memory storing an operating system wherein the operating
system is authenticated prior to an authentication of the gaming
data stored in the second memory; a network interface coupled to
the gaming console for connecting to the network; at least one
peripheral device coupled to the casino game console wherein the
peripheral device includes a memory device for storing a fixed data
set, a program or combination thereof, and wherein prior to
allowing the program or the fixed data set to participate in system
operations on the casino gaming apparatus, the casino gaming
apparatus is operable to authenticate the fixed data set or the
program stored on the memory device; and the processor disposed in
said casino game console and being operatively coupled to said
video display unit, said first memory, said second memory, said
third memory and the peripheral device, said processor operable to
transfer first gaming data relating to the first casino game from
the remote memory to the casino gaming apparatus; and said
processor operable to authenticate said gaming data, said first
gaming data, the fixed data or the program. .Iaddend.
.Iadd.53. The casino gaming system as defined in claim 52 wherein
said second memory comprises an optical disk. .Iaddend.
.Iadd.54. The casino gaming system as defined in claim 52 wherein
said second memory comprises a magnetic hard disk. .Iaddend.
.Iadd.55. The casino gaming system as defined in claim 52 wherein
said second memory is operable as a read-only memory. .Iaddend.
.Iadd.56. The casino gaming system as defined in claim 52 wherein
the second memory is disposed in said casino game console.
.Iaddend.
.Iadd.57. The casino gaming system as defined in claim 52 wherein
the second memory is disposed in a remote location separate from
said casino game console. .Iaddend.
.Iadd.58. The casino gaming system as defined in claim 52 further
comprising a nonvolatile memory operable to store gaming data
relating to the play of the casino game. .Iaddend.
.Iadd.59. The casino gaming system as defined in claim 58 wherein
the nonvolatile memory is disposed in said casino game console.
.Iaddend.
.Iadd.60. The casino gaming system as defined in claim 58 wherein
the nonvolatile memory is disposed in a remote location separate
from said casino game console. .Iaddend.
.Iadd.61. The casino gaming system as defined in claim 52 wherein
the video display unit is disposed in a remote location separate
from said casino game console. .Iaddend.
.Iadd.62. The casino gaming system as defined in claim 52 further
comprising a video subsystem, operatively coupled to the video
display unit and operatively coupled to the processor, adapted for
displaying still images, motion video or combinations thereof.
.Iaddend.
.Iadd.63. The casino gaming system as defined in claim 52 wherein
the processor is operable to generate a game play of a plurality of
different casino games. .Iaddend.
.Iadd.64. The casino gaming system as defined in claim 52 wherein
in response to receiving a selection of a particular casino game
from a plurality of different casino games, the casino gaming
apparatus is operable to generate a play of the particular casino
game on the casino gaming apparatus. .Iaddend.
.Iadd.65. The casino gaming system as defined in claim 52 wherein
in response to receiving a selection of a particular casino game
from a plurality of different casino games, the casino gaming
apparatus is operable to transfer gaming data relating to the
particular casino game from the remote memory to the casino gaming
apparatus. .Iaddend.
.Iadd.66. The casino gaming system as defined in claim 52 further
comprising a sound-generating apparatus operatively coupled to the
processor. .Iaddend.
.Iadd.67. The casino gaming system as defined in claim 52 wherein
the network interface is designed to provide a wired connection or
a wireless connection to a network. .Iaddend.
.Iadd.68. The casino gaming system as defined in claim 52 wherein
the network comprises a wired link, a wireless link or combinations
thereof. .Iaddend.
.Iadd.69. A casino gaming system comprising: a first remote memory
disposed in a location remote from a casino gaming apparatus, said
remote memory having a first gaming data relating to a first casino
game stored therein; a second remote memory disposed in a location
remote from the casino gaming apparatus, said second remote memory
operable to receive and to store information relating to the
authentication of gaming data on the casino gaming apparatus; a
network that operatively couples said first remote memory and said
second remote to said casino gaming apparatus, the casino gaming
apparatus comprising: a casino game console; a video display unit;
a first memory, providing an executable space for a processor,
disposed in said casino game console; a second memory disposed in
said casino game console, said second memory storing second gaming
data related to a second casino game; a third memory storing an
operating system, said third memory being disposed in said casino
game console, wherein the operating system is enabled to control
access to the second memory and wherein the operating system is
authenticated prior to an authentication of the second gaming data
relating to the second casino game stored on the second memory; a
network interface coupled to the gaming console for connecting to
the network; and the processor disposed in said casino game console
and being operatively coupled to said video display unit, said
first memory, said second memory, said third memory and the network
interface; said processor operable to transfer first gaming data
relating to the first casino game from the remote memory to the
gaming apparatus; said processor operable to authenticate the first
gaming data or the second gaming data; and said processor operable
to send information relating to the authentication of the first
gaming data or authentication of the second gaming data to the
second remote memory location. .Iaddend.
.Iadd.70. The casino gaming system as defined in claim 69 wherein
said second memory comprises an optical disk. .Iaddend.
.Iadd.71. The casino gaming system as defined in claim 69 further
comprising at least one peripheral device coupled to the gaming
console including a memory device wherein the processor is operable
to authenticate contents of the memory device. .Iaddend.
.Iadd.72. The casino gaming system as defined in claim 69 wherein
said second memory comprises a magnetic hard disk. .Iaddend.
.Iadd.73. The casino gaming system as defined in claim 69 wherein
said second memory is operable as a read-only memory. .Iaddend.
.Iadd.74. The casino gaming system as defined in claim 69 wherein
the second memory is disposed in said casino game console.
.Iaddend.
.Iadd.75. The casino gaming system as defined in claim 69 wherein
the second memory is disposed in a remote location separate from
said casino game console. .Iaddend.
.Iadd.76. The casino gaming system as defined in claim 69 further
comprising a nonvolatile memory operable to store gaming data
relating to the play of the casino game. .Iaddend.
.Iadd.77. The casino gaming system as defined in claim 76 wherein
the nonvolatile memory is disposed in said casino game console.
.Iaddend.
.Iadd.78. The casino gaming system as defined in claim 76 wherein
the nonvolatile memory is disposed in a remote location separate
from said casino game console. .Iaddend.
.Iadd.79. The casino gaming system as defined in claim 69 wherein
the video display unit is disposed in a remote location separate
from said casino game console. .Iaddend.
.Iadd.80. The casino gaming system as defined in claim 69 further
comprising a video subsystem, operatively coupled to the video
display unit and operatively coupled to the processor, adapted for
displaying still images, motion video or combinations thereof.
.Iaddend.
.Iadd.81. The casino gaming system as defined in claim 69 wherein
the processor is operable to generate a game play of a plurality of
different casino games. .Iaddend.
.Iadd.82. The casino gaming system as defined in claim 69 wherein
in response to receiving a selection of a particular casino game
from a plurality of different casino games, the casino gaming
apparatus is operable to generate a play of the particular casino
game on the casino gaming apparatus. .Iaddend.
.Iadd.83. The casino gaming system as defined in claim 69 wherein
in response to receiving a selection of a particular casino game
from a plurality of different casino games, the casino gaming
apparatus is operable to transfer gaming data relating to the
particular casino game from the remote memory to the casino gaming
apparatus. .Iaddend.
.Iadd.84. The casino gaming system as defined in claim 69 further
comprising a sound-generating apparatus operatively coupled to the
processor. .Iaddend.
.Iadd.85. The casino gaming system as defined in claim 69 wherein
the network interface is designed to provide a wired connection or
a wireless connection to a network. .Iaddend.
.Iadd.86. The casino gaming system as defined in claim 69 wherein
the network comprises a wired link, a wireless link or combinations
thereof. .Iaddend.
.Iadd.87. The casino gaming system as defined in claim 69 wherein
the second remote memory location is controlled by a regulatory
body. .Iaddend.
.Iadd.88. The casino gaming system as defined in claim 69 wherein
the regulatory body is a gaming commission. .Iaddend.
.Iadd.89. The casino gaming system as defined in claim 69 wherein
the second remote memory is controlled by a gaming machine
operator. .Iaddend.
.Iadd.90. A casino gaming system comprising: a remote memory
disposed in a location remote from a casino gaming apparatus, said
remote memory having first gaming data relating to a first casino
game stored therein; and a network that operatively couples said
remote memory to said casino gaming apparatus, the casino gaming
apparatus comprising: a casino game console; a video display unit;
a first memory, providing an executable space for a processor,
disposed in said casino game console; a second memory storing
second gaming data related to a second casino game; a third memory
storing an operating system adapted to control access to the second
memory wherein the operating system is authenticated prior to the
authentication of the first gaming data and the second gaming data;
a network interface coupled to the gaming console for connecting to
the network; and the processor disposed in said casino game console
and being operatively coupled to said video display unit, said
first memory, said second memory, said third memory and the network
interface; said processor operable to transfer first gaming data
relating to the first casino game from the remote memory to the
gaming apparatus; and said processor operable to authenticate the
first gaming data or the authenticate the second gaming data.
.Iaddend.
.Iadd.91. The casino gaming system as defined in claim 69 wherein
said second memory comprises an optical disk. .Iaddend.
.Iadd.92. The casino gaming system as defined in claim 69 further
comprising at least one peripheral device coupled to the gaming
console including a memory device wherein the processor is operable
to authenticate contents of the memory device. .Iaddend.
.Iadd.93. The casino gaming system as defined in claim 69 wherein
said second memory comprises a magnetic hard disk. .Iaddend.
.Iadd.94. The casino gaming system as defined in claim 69 wherein
said second memory is operable as a read-only memory. .Iaddend.
.Iadd.95. The casino gaming system as defined in claim 69 wherein
the second memory is disposed in said casino game console.
.Iaddend.
.Iadd.96. The casino gaming system as defined in claim 69 wherein
the second memory is disposed in a remote location separate from
said casino game console. .Iaddend.
.Iadd.97. The casino gaming system as defined in claim 69 further
comprising a nonvolatile memory operable to store gaming data
relating to the play of the casino game. .Iaddend.
.Iadd.98. The casino gaming system as defined in claim 97 wherein
the nonvolatile memory is disposed in said casino game console.
.Iaddend.
.Iadd.99. The casino gaming system as defined in claim 97 wherein
the nonvolatile memory is disposed in a remote location separate
from said casino game console. .Iaddend.
.Iadd.100. The casino gaming system as defined in claim 90 wherein
the video display unit is disposed in a remote location separate
from said casino game console. .Iaddend.
.Iadd.101. The casino gaming system as defined in claim 90 further
comprising a video subsystem, operatively coupled to the video
display unit and operatively coupled to the processor, adapted for
displaying still images, motion video or combinations thereof.
.Iaddend.
.Iadd.102. The casino gaming system as defined in claim 90 wherein
the processor is operable to generate a game play of a plurality of
different casino games. .Iaddend.
.Iadd.103. The casino gaming system as defined in claim 90 wherein
in response to receiving a selection of a particular casino game
from a plurality of different casino games, the casino gaming
apparatus is operable to generate a play of the particular casino
game on the casino gaming apparatus. .Iaddend.
.Iadd.104. The casino gaming system as defined in claim 90 wherein
in response to receiving a selection of a particular casino game
from a plurality of different casino games, the casino gaming
apparatus is operable to transfer gaming data relating to the
particular casino game from the remote memory to the casino gaming
apparatus. .Iaddend.
.Iadd.105. The casino gaming system as defined in claim 90 further
comprising a sound-generating apparatus operatively coupled to the
processor. .Iaddend.
.Iadd.106. The casino gaming system as defined in claim 90 wherein
the network interface is designed to provide a wired connection or
a wireless connection to a network. .Iaddend.
.Iadd.107. The casino gaming system as defined in claim 90 wherein
the network comprises a wired link, a wireless link or combinations
thereof. .Iaddend.
.Iadd.108. The casino gaming system as defined in claim 90 wherein
the second remote memory location is controlled by a regulatory
body. .Iaddend.
.Iadd.109. The casino gaming system as defined in claim 90 wherein
the regulatory body is a gaming commission. .Iaddend.
.Iadd.110. The casino gaming system as defined in claim 90 wherein
the second remote memory is controlled by a gaming machine
operator. .Iaddend.
.Iadd.111. The casino gaming system as defined in claim 90 further
comprising a fourth memory disposed in said casino game console and
coupled to said processor wherein the fourth memory stores a boot
code for the gaming apparatus. .Iaddend.
.Iadd.112. The casino gaming system as defined in claim 90 wherein
the fourth memory is an unalterable memory separate from the first
memory, the second memory and the third memory. .Iaddend.
.Iadd.113. The casino gaming system as defined in claim 90 wherein
the fourth memory is designed or configured to prevent a bypassing
of authentication routine used to the authenticate, operating
system, the first gaming data and the second gaming data.
.Iaddend.
.Iadd.114. The casino gaming system as defined in claim 90 wherein
the fourth memory stores a secure loader program. .Iaddend.
Description
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to microprocessor based gaming Systems used
in gambling casinos.
2. Brief Description of the Prior Art
Microprocessor based gaming systems are known which are used in
gambling casinos to augment the traditional slot machine games
(e.g. three reel single or multi-line games) and card games, such
as poker and black jack. In a typical gaming system of this type, a
microprocessor based system includes both hardware and software
components to provide the game playing capabilities. The hardware
components include a video display for displaying the game play,
mechanical switches for enabling player selection of additional
cards or game play choices, coin acceptors and detectors and the
electronic components usually found in a microprocessor based
system, such as random access memory (RAM), read only memory (ROM),
a processor and one or more buses. The software components include
the initialization software, credit and payout routines, the game
image and rules data set, and a random number generator algorithm.
In order to be acceptable for casino use, an electronic gaming
system must provide both security and authentication for the
software components. For this reason, gaming commissions have
heretofore required that all software components of an electronic
gaming system be stored in unalterable memory, which is typically
an unalterable ROM. In addition, a copy of the contents of the ROM
or a message digest of the contents (or both) are normally kept on
file in a secure location designated by the gaming commission so
that the contents of an individual ROM removed from a gaming
machine can be verified against the custodial version.
In a typical arrangement, a message digest of the ROM contents is
initially generated prior to the installation of the ROM in the
machine by using a known algorithm usually referred to as a hash
function. A hash function is a computation procedure that produces
a fixed-size string of bits from a variable-size digital input. The
fixed-sized string of bits is termed the hash value. If the hash
function is difficult to invert--termed a one-way hash
function--the hash function is also termed a message digest
function, and the result is termed the message digest. The message
digest is unique to any given variable size input data set, i.e.,
the game data set stored in the ROM. When it becomes necessary to
later authenticate the ROM from any given machine, the ROM is
physically removed from the game console and the message digest of
the ROM contents is computed directly from the ROM using the
original hash function. The computed message digest is compared
with the message digest on file at the designated custodial
location (typically in the casino itself). This procedure is
typically carried out whenever a machine produces a payoff beyond a
given threshold value. If the two message digests match, then the
contents of the ROM are considered to be authenticated (verified)
and the payout is made to the player.
While such electronic casino gaming systems have been found to be
useful in promoting casino game play, the restriction requiring
that the casino game program be stored in unalterable ROM memory,
leads to a number of disadvantageous limitations. First, due to the
limited capacity of the ROM storage media traditionally used to
hold the program, the scope of game play available with such
systems is severely limited. For sophisticated games using motion
video and audio multi-media elements, much more memory capacity, on
the order of hundreds of megabytes, is necessary. However, physical
verification of such a large quantity of physical devices is not
practical, and has thus far been an impediment to creating
sophisticated games with more player appeal. Second, the
authentication check is only conducted on a limited basis (usually
after a jackpot) or other significant winning game outcome, and the
authentication procedure requires that game play be halted until
the ROM contents have been found to be authentic.
SUMMARY OF THE INVENTION
.[.The invention comprises an electronic casino gaming system which
greatly expands casino game play capability and enhances security
and authentication capabilities. More particular, the invention
comprises an electronic device gaming system and method having
greatly expanded mass storage capability for storing a multiplicity
of high resolution, high sound quality casino type games, and
provides enhanced authentication of the stored game program
information with a high security factor..].
.[.According to the first aspect of the invention, authentication
of a casino game data set is carried out within the casino game
console using an authentication program stored in an unalterable
ROM physically located within the casino game console. The casino
game data set and a unique signature are stored in a mass storage
device, which may comprise a read only unit or a read/write unit
and which may be physically located either within the casino game
console or remotely located and linked to the casino game console
over a suitable network. The authentication program stored in the
unalterable ROM performs an authentication check on the casino game
data set at appropriate times, such as prior to commencement of
game play, at periodic intervals or upon demand. At appropriate
occasions, the contents of the unalterable ROM can be verified by
computing the message digest of the unalterable ROM contents and
comparing this computed message digest with a securely stored copy
of the message digest computed from the ROM contents prior to
installation in the casino group game console..].
.[.From a process standpoint, this aspect of the invention
comprises a method of authenticating a data set of a casino style
game which consists of two phases: a game data set preparation
phase and a game data set checking phase. In the game data set
preparation phase, the method proceeds by providing a data set for
a casino game, computing a first abbreviated bit string unique to
the casino game data set, encrypting the first abbreviated bit
string to provide an encrypted signature of the casino game data
set, and storing the casino game data set and the signature in a
mass storage device. The first abbreviated bit string is preferably
computed using a has function to produce a message digest of the
casino game data set. The signature is then encrypted from the
message digest. After storage of the game data set and unique
signature, this information is installed in a casino game console.
The casino game data set checking phase proceeds by computing a
second abbreviated bit string from the stored casino game data set
using the same hash function, decrypting the stored encrypted
signature to recover the first abbreviated bit string, and
comparing the first and second abbreviated bit strings to determine
whether the two strings match. If a match does occur the casino
game data set is deemed authentic, if there is no match,
authentication is denied and game play is prohibited..].
.[.The encryption/decryption process is preferably performed using
a private key/public technique in which the first abbreviated bit
string is encrypted by the game manufacturer using a private
encryption key maintained in the custody of the game manufacturer.
The decryption of the signature is performed using a public key
which is contained in an unalterable read only memory element
located in the game console, along with the casino game data set.
The casino game data set is preferably stored in a mass storage
device, such as a magnetic or CD-ROM disk drive unit or a network
file unit, the selected unit having a relatively large capacity.
The actual size of the mass storage device will depend upon the
casino game storage requirements and can be tailored to any
specific application..].
.[.Each time a casino game data set is transferred from the mass
storage device to the main memory and the system, the
authentication routine is run. The authentication routine can also
be made of an operator switch mounted in the game console or
removal via a network. Consequently, the authenticity of the data
set can be automatically checked whenever the transfer occurs and
the other appropriate times..].
.[.In order to detect attempts to tamper with the contents of the
unalterable read only memory element located in the game console, a
message digest computed for the authentication program stored
therein is stored in a secure manner in a different location from
the game console, such as the casino operator's security
facilitates or the facilities of a gaming commission (or both). The
authenticity of the unalterable read only memory element is checked
in the same way as that now performed in prior art devices viz.
computing the message digest directly from the unalterable read
only memory device, and comparing the message digest thus computed
with the custodial version..].
.[.From an apparatus standpoint, the first aspect of the invention
comprises an electronic casino gaming system having means for
providing authentication of a gene data set of a casino type game
prior to permitting game play, the system including first means for
storing a casino game data set and a signature of the casino game
data set, the signature comprising an encrypted version of a unique
first abbreviated bit string computed from the casino game data
set; second means for storing an authentication program capable of
computing a second abbreviated bit string from the casino game data
set stored in the first storing means and capable of decrypting the
encrypted signature stored in the first storing means to recover
the first abbreviated bit string; processing means for enabling the
authentication program to compute an abbreviated bit string from
the casino game data set stored in the first storing means and for
enabling the authentication program to decrypt the encrypted
signature; and means for comparing the computed second abbreviated
bit string with the decrypted abbreviated bit string to determine
whether a match is present. The first storing means preferably
comprises a mass storage device, such as a disk drive unit, a
CD-ROM unit or a network storage unit. The second storing means
preferably comprises an unalterable read only memory in which the
authentication program is stored..].
.[.According to a second aspect of the invention, the
authentication program stored in the unalterable ROM located within
the casino game console is used to test the authenticity of all
other programs and fixed data stored in memory devices in the
electronic casino gaming system, such as a system boot ROM, memory
devices containing the operating system program, system drivers and
executive/loader program, and other memory devices incorporated
into the electronic casino game system architecture. The contents
of each such memory device, whether program information or fixed
data, include signatures employed from message digests computed
using a hash function from the original program information or
fixed data set. Upon system initialization, the authentication
program in the unalterable ROM is used to authenticate the
individual memory device contents in essentially the same fashion
as that used to authenticate the casino game data sets. More
specifically, the message digest for the given program or fixed
data set is computed using the same hash function originally used
to produce the message digest for that program or fixed data set.
The encrypted signature is decrypted using the proper decryption
program and decryption key to recover the message digest. The two
versions of the message digest are then compared and, if found to
be matching, the concerned program or fixed data set is deemed
authentic and is permitted to be used by the system. Once all the
concerned programs and fixed data sets have been so authenticated,
the casino game data set authentication procedure is run, after
which game play is permitted (provided a match occurs)..].
.[.From a process standpoint, this second aspect of the invention
comprises a method of authenticating a program or data set of a
casino style game which consists of two phases: a program or fixed
data set preparation phase, and a program or fixed data set
checking phase. In the program or fixed data set preparation phase,
the method proceeds by providing a program or fixed data set for a
casino game, computing a first abbreviated bit string unique to the
program or fixed data set, encrypting the first abbreviated bit
string to provide an encrypted signature of the program or fixed
data set, and storing the program or fixed data set and the
signature in a memory device. The first abbreviated bit string is
preferably computed using a hash function to produce a message
digest of the program or fixed data set. The signature is then
encrypted from the message digest. After storage of the program or
fixed data set and unique signature in the memory device, the
memory device in installed in a casino game console. The casino
game program or fixed data set checking phase proceeds by computing
a second abbreviated bit string from the stored casino game program
or fixed data set stored in the memory device using the same hash
function, decrypting the encrypted signature stored in the memory
device to remove the first abbreviated bit string, and comparing
the first and second abbreviated bit strings to determine whether
the two strings match. If a match does occur, the casino game
program or fixed data set is deemed authentic; if there is no
match, authentication is denied and use of that casino game program
or fixed data set is prohibited..].
.[.The authentication routine is run each time a given casino game
program or fixed data set needs to be called or used. The
authentication routine can also be run automatically on a periodic
basis, or on demand--either locally by means of an operator switch
mounted in the casino game console or remotely via a network.
Consequently, the authenticity of the casino game program or fixed
data set can be automatically checked whenever use of that program
or fixed data set is required and at other appropriate times, such
as in the course of a gaming commission audit..].
.[.From an apparatus standpoint this second aspect of the invention
comprises an electronic casino gaming system for providing
authentication of a casino game program or fixed data set prior to
permitting system use of that casino game program or fixed data
set, the system including first means for storing a casino game
program or fixed data set and a signature of the casino game
program or fixed data set; the signature comprising an encrypted
version of a unique first abbreviated bit string computed form the
casino game program or fixed data set; second means for storing an
authentication program capable of computing a second abbreviated
bit string from the casino game program or fixed data set stored in
the first storing means and capable of decrypting the encrypted
signature stored in the first storing means to recover the first
abbreviated bit string; processing means for enabling the
authentication program in compute an abbreviated bit string from
the casino game program or fixed data set stored in the first
storing means and for enabling the authentication program to
decrypt the encrypted signature, and means for comparing the
computed second abbreviated bit string with the decrypted
abbreviated bit string to determine whether a match is present. The
first storing means preferably comprises a memory device, such as a
read only memory or random access memory. The second storing means
preferably comprises an unalterable read only memory in which the
authentication program is stored..].
.[.Electronic casino game systems incorporating the invention
provide a vastly expanded capacity for more sophisticated and
attractive casino-style games, while at the same time improving the
authentication of the games without compromising security. In
addition, casino game systems incorporating the invention provide
great flexibility in changing casino game play, since the casino
game data sets representing the various games can be stored in
alterable media rather than read only memory units as with present
casino game systems..].
.[.By separating the authentication process from the casino game
data set storage, the invention affords secure distribution and
execution of program code and data, regardless of the particular
distribution or storage technique employed. More specifically, the
invention allows the casino game data set to reside in any form of
secondary storage media, such as the traditional ROM storage, hard
magnetic disk drives and CD-ROM drives, or networked file systems.
So long as the authentication procedure conducted on the game data
set is performed using the authentication program stored in an
unalterable ROM, and so long as that ROM can be verified reliably,
any casino game data set can be loaded from any source and can be
verified by the system at any time: either prior to use, during
run-time, periodically during run-time or upon demand. The large
quantities of storage that can be made available a secure fashion
using the invention, facilitates the creation of casino gaming
systems offering both an increased diversity of games, and
individual games of superior quality. In addition, the
authentication of all casino game program and fixed data software
ensures the integrity of all system software both prior to game
play and thereafter at periodic or random intervals..].
.[.For a fuller understanding of the nature and advantages of the
invention, reference should be had to the ensuing detailed
description taken in conjunction with the accompanying
drawings..].
.Iadd.In one aspect, the invention is directed to a casino gaming
apparatus, comprising: a casino gaming system; a remote memory
disposed in a location remote from said casino gaming system, said
remote memory having gaming data disposed therein; and a data link
that operatively couples said remote memory to said casino gaming
system, said casino gaming system comprising: a casino game
console; a video display unit; a memory disposed in said casino
game console; a processor disposed in said casino game console and
being operatively coupled to said video display unit and said
memory of said casino gaming system, said processor causing said
gaming data to be checked after said gaming data has been
transferred from said remote memory to said memory of said casino
gaming system via said data link, and said processor causing said
gaming data to be checked based on a comparison of data generated
from said gaming data being checked with previously generated data
to determine if said gaming data being checked has been
corrupted.
In another aspect, the invention is directed to a casino gaming
apparatus, comprising: a casino gaming system; a remote memory
disposed in a location remote from said casino gaming system, said
remote memory having gaming data relating to a casino game stored
therein; and a data link that operatively couples said remote
memory to said casino gaming system, said casino gaming system
comprising: a casino game console; a video display unit; a memory
disposed in said casino game console; a processor disposed in said
casino game console and being operatively coupled to said video
display unit and said memory of said casino gaming system, said
processor causing said gaming data to be authenticated after said
gaming data has been transferred from said remote memory to said
memory of said casino gaming system via said data link, said
processor causing said gaming data to be authenticated based on
comparison of a message digest generated by performing a one-way
hash function on said gaming data with a message digest previously
generated by performing a one-way has function on known gaming
data, each of said one-way has functions producing a fixed-size
string of bits, and said processor causing a remedial action to be
taken if said gaming data transferred from said remote memory to
said memory of said casino gaming system is not authentic as
determined by said processor.
Other aspects of the invention are defined by the claims set forth
at the end of this patent. .Iaddend.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of a system incorporating the
invention;
FIG. 2 is a schematic diagram illustrating the contents of the read
only memory and the mass storage device;
FIG. 3 is a more detailed schematic view of the authentication
program stored in the ROM and the game data stored in the mass
storage unit;
FIG. 4 is a diagram illustrating the preparation of the game data
set;
FIG. 5 is a diagram illustrating the authentication procedure for
the game data set; and
FIG. 6 is a diagram illustrating an alternative approach to the
secure loading of software into the system.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Turning now to the drawings, FIG. 1 is a block diagram of an
electronic casino gaming system incorporating the invention. As
seen in this figure, the system consists of several system
components under software control. These system components include
a microprocessor 12, which may comprise any general purpose
microprocessor, such as a Pentium-based microprocessor from Intel
Corporation. A main memory unit 13 is provided, which is typically
a random access memory having a capacity of between 32 and 64
megabytes for storing the majority of programs and graphics
elements during game play. A system boot ROM 14 provides the
initialization software required when power is first applied to the
system. ROM 14 contains additional programs in read only form,
including the operating system, related drivers and the
authentication software described in detail below. A non-volatile
RAM 17 is a battery based static RAM capable of maintaining its
contents through power cycling. NV RAM 17 stores significant
information relating to game play, such as the number of player
credits, the last game outcome and certain diagnostic and error
information not critical to an understanding of the invention.
A mass storage unit implemented in the FIG. 1 system as a magnetic
hard disk drive unit 18 is coupled to and controlled by a disk
software 19 of conventional design and operation. Disk drive unit
18 provides storage for the game specific data set, which includes
both program data and image data specifying the rules of the
various different casino games or single casino game variations,
and the types of images and image sequences to be displayed to the
game players. The size of the disk drive unit 18 is a function of
the number of games and game variations provides for a given
system, as well as the amount of data required for each specific
game. In general, the more motion video designed into a particular
casino game, the more storage required for that casino game
software. A disk drive unit 18 with a 4-gigabyte capacity will
usually provide sufficient storage capacity. Disk subsystem 19
comprises a disk controller connected to a PCI bus 20 for
controlling the disk drive unit 18. Controller 19 preferably
supports SCSI-2, with options of fast and wide. It should be noted
that a number of different types of locally-based disk drive units
may be used in the FIG. 1 system, including a CD-ROM storage unit.
Also, the mass storage unit need not be physically located within
the game, console along with the other elements depicted in FIG. 1:
the mass storage unit may be located remotely from the game console
and coupled thereto by means of an appropriate network, such as an
ethernet, an R5232 link, or some other hard-wired or wireless
network. This latter alternate arrangement is indicated by the
inclusion of a network subsystem 21 of appropriate configuration
and functional characteristics, which may have ethernet, R5232
serial, or other network compatibility.
A video subsystem 22 is coupled to the PCI bus and provides the
capability of displaying full color still images and MPEG movies
with a relatively high frame rate (e.g. 30 frames per second) on an
appropriate monitor (not shown). Optional 3D texture mapping may be
added to this system, if desired.
A sound subsystem 23 having a stereo sound playback capability with
up to 16 bit CD quality sound is coupled to an ISA bus 24. A
general purpose input/output unit 25 provides interfaces to the
game mechanical devices (not illustrated) such as manually
actuatable switches and display lights. A first bridge circuit 27
provides an interface between microprocessor 12, ROM 14, main
memory 13 and PCI bus 20. Bridge circuit 27 is preferably a TRITON
chip set available from INTEL Corporation. A second bridge circuit
28 provides an interface between the PCI bus 20 and the ISA bus 24.
Bridge circuit 28 is preferably a type 82378 chip available from
Intel Corporation.
FIG. 2 illustrates the types of information stored in the system
ROM 14 and the mass storage unit. As seen in FIG. 2, the ROM unit
14 used in the FIG. 1 system comprises two separate ROM elements:
ROM 29 and ROM 30. ROM 29 must be an unalterable device, such as a
Toshiba type C53400 512K.times.8 bit mask programmed ROM. ROM 30 is
preferably an unalterable device like ROM 29, but may comprise a
different type of ROM, such as a type 29FO40 field programmable
flash ROM available from Intel Corp. ROM 29 contains the system
initialization or boot code, an authentication program, a random
number generator program and an initial portion of the
executive/loader programs. ROM 30 contains the operating system
program, the system drivers and the remainder of the
executive/loader programs as noted below. The mass storage unit
contains the applications, which include the game image and sound
data, rules of game play and the like, and the signature associated
to each particular casino game.
FIG. 3 illustrates the authentication and application program
information in more detail. As seen in this figure, the
authentication program stored in unalterable ROM 29 comprises a
message digest algorithm component 32, a decryption algorithm
component 33, and a decryption key component 34. The message digest
algorithm component 32 stored in ROM 29 comprises an exact copy of
a hash function program routine used to originally compute a
message digest from the loadable game data set 36 in the member
described below. The decryption algorithm component 33 stored in
ROM 29 comprises the algorithm required to decrypt an encrypted
casino game data set signature using the decryption key component
34.
The decryption key component 34 comprises the decryption key that
is required to decrypt any of the encrypted signatures 37 in the
manner described below during the authentication routine.
FIG. 4 illustrates the manner in which an encrypted data set
signature 37 is generated. A loadable casino game data set 36 is
processed using a hash function 41 to generate a message digest 42
which is unique to the loadable game data set 36. The hash function
employed may be one of a number of known has functions, such as
MD2, MD4, and MD5 hash functions and the SHS hash function; or any
other suitable has function capable of producing a unique
abbreviated bit string from a variable size input data set. For
further information about these hash functions, reference should be
had to the publication entitled "Answers To Frequently Asked
Questions About Today's Cryptography", Revision 2.0, Oct. 5, 1993,
published by RSA Laboratories, Redwood City, Calif., and the
publications listed in the references section thereof, the
disclosures of which are hereby incorporated by reference. After
generation, the message digest 42 is then encrypted with an
encryption algorithm 43 using a private encyrption key 44 to
generate a signature 37 of the message digest. In the preferred
embodiment, the two-key (private/public key) encyrption technique
developed by RSA Data Security, Inc. of Redwood City, Calif. is
used. This technique is disclosed and described in U.S. Pat. Nos.
4,200,700, 4,218,582 and 4,405,829, the disclosures of which are
hereby incorporated by reference. The signature 37 of the message
digest 42 is then stored in the mass storage unit along with the
loadable data set 36.
FIG. 5 illustrates the authentication routine carried out in
accordance with the invention, when the authentication routine is
called (see below), the loadable casino game data set 36 is
transferred from the mass storage unit to main memory 13 (unless
already there), and the message digest of casino game data set 36
is computed using the message digest algorithm 32. Message digest
algorithm 32 uses the same hash function 41 as that used by the
manufacturer to prepare the original message digest 42. The result
is an unencrypted version 46 of the message digest computed from
the casino game data set 36 currently present in the mass storage
unit. The encrypted data set signature 37 is decrypted using the
public decryption key 34 matching the private key 44 used to
originally encrypt the message digest 42 of the casino game data
set 36. The message digest 47 decrypted with decryption key 34 is
then compared with the message digest 46 computed form the casino
game data set 36. If the two message digest match, then the casino
game data set 36 is disposed authentic and game play may proceed.
If there is no match, either the casino game data set 36 or the
signature 37 is deemed corrupted and not authentic. Game play is
prohibited and appropriate actions can be taken: e.g. alerting a
security employee using a suitable meassaging system (an audible
alarm, flashing lights, or a network message from the game console
to a central security area).
In order to ensure that the authentication routine cannot be
bypassed by tampering with the loader program stored in ROM 30, an
initial part of the loader program is incorporated into unalterable
ROM 29. This initial portion of the loader program requires that
the authentication program be called prior to the initiation of any
casino game play. Since this initial portion of the loader program
is located in the unalterable ROM 29, and since no casino game play
can occur until the particular casino game application data set 36
is loaded into main memory 13, the authentication procedure cannot
be bypassed by tampering with the software stored in ROM 30.
Since authentication of the game data set 36 and signature 37 is
entrusted to the contents of ROM 29, a procedure must be provided
to verify the ROM 29 contents. For this purpose, a message digest
is computed for the authentication program stored in ROM 29, and
this message digest is stored in a secure manner with the casino
operator or the gaming commission (or both) along with the hash
function used to produce the message digest. This hash function may
be the same hash function used to compute the message digest 42 of
the casino game data set or a different hash function. In this way,
the authenticity of the ROM 29 can be easily checked in the same
way as that now performed in prior art devices: vis. computing the
message digest directly from the ROM 29 and comparing the message
digest thus computed with the custodial version of the message
digest. If required by a given gaming commission or deemed
desirably by a casino operator, the system may also display the
message digest 42 of each particular data set 36 or the encrypted
signature version 37 for auditing purposes. In addition, the system
may transmit this information via networking subsystem 21 to an
on-site or off-site remote location (such as the office of the
gaming commissions). The message digest displayed or transmitted
may comprise the decrypted version or the compute version (or
both).
The authentication procedure carried out by means of the message
digest program 32, decryption program 33 and decryption key 34
stored in unalterable ROM 29 in the manner described above is also
used to authenticate the contents of all memory devices in the FIG.
1 system, such as the contents of ROM 30 (see FIG. 2), the fixed
data portions and program components stored in NV RAM 17 and the
program and fixed data contents of any memory devices stored in the
networking subsystem 21, video subsystem 22, sound subsystem 23,
PCI-ISA interface 24, and GIP unit 25. Each program or fixed data
set stored in any memory device in any of these units has an
associated signature, which is encrypted from a message digest of
the original program or fixed data set using a hash function, which
is preferably the same hash function used to prepare the message
digest of the casino game data set. Prior to permitting any such
program or fixed data set to participate in the system operation,
that program or fixed data set is subjected to the authorization
procedure to ensure that the message or fixed data set matches the
message digest decrypted from the encrypted signature associated to
the program or fixed data set. In addition, the authentication
procedure can be run on each such program or fixed data set at
period or random intervals (on demand) in a manner essentially
identical to that described above with respect to the casino game
data set authentication procedure. As a consequence, the integrity
of all software in the system is checked prior to the use of that
particular software in order to reveal any unauthorized changes to
the software portion of the casino gaming system.
An alternative approach to the secure loading of software into the
system is depicted in FIG. 6. In this embodiment the basic
input/output system (BIOS) software is stored in a ROM 50, the
first of two ROMs making up the system boot ROM 14 (FIG. 1). The
boot strap code, operating system code (OS), drivers and a secure
loader are stored in a second ROM 52. An anchor application 54
including graphics and sound drivers, system drivers,
money-handling software, a second secure loader, and a signature is
stored in the mass storage 18 (FIG. 1).
When power is initially applied to the system on start-up, or when
the system experiences a warm restart, the CPU 12 will begin
executing code from the BISO ROM 50. The BIOS is responsible for
initializing the motherboard and peripheral cards of the system.
After BIOS has completed the initialization, it jumps to the boot
strap code in ROM 252 causing the boot strap to copy the OS, OS
drivers, and the secure loader into RAM.
Once in the RAM, the OS is started and the secure loader stored in
ROM 52 is used to load the anchor application 54 from disk 18. On
disk, the anchor application has a signature that is used during
the load to verify the validity of the anchor application.
After the anchor application 54 is started, it will be used to load
all other applications. The secure loader of the anchor application
will check the validity of an application to be loaded by computing
the signature and comparing it against the one stored on disk with
the application as described above.
An important advantage of the invention not found in 20 prior art
systems is the manner in which the casino game data set can be
authenticated. In prior art systems, authentication of the casino
game data set is normally only done when a payout lying above a
given threshold is required by the outcome of the game play, and
this requires that the game be disabled while the ROM is physically
removed and the ROM contents are verified. In systems incorporating
the invention, the authenticity of a given casino game data set can
be checked in a variety of ways. For example, the game data set 36
can be automatically subjected to the authentication procedure
illustrated in FIG. 5 each time the game is loaded from the mass
storage unit into the main memory 13. Thus, as a player selects a
casino game for game play in the system, the authenticity of the
game actually stored in the mass storage unit is automatically
checked using the authentication procedure described above without
removing the ROM 29. Further, if desired, the authentication
procedure may be initialized in response to the pull of a slot game
handle, the detection of a coin insert, the payout of coins or
issuing of credit, or any other detectable event related to game
play. The authenticity of a given casino game data set 36 can also
be checked on demand, either locally at the game console or
remotely via a network, by providing a demand procedure. Such a
procedure may be initiated, e.g. by providing a manually operable
switch in the game console, accessible only to authorized persons,
for initiating the authentication routine. Alternatively, the FIG.
1 system may be configured to respond to a demand command generated
remotely (e.g., in a security area in the casino or off-site) and
transmitted to the game console over a network to the networking
subsystem 21.
Another advantage of the invention lies in the fact that the game
data set storage capacity of a system incorporating the invention
is not limited by the size of a ROM, but is rather dictated by the
size of the mass storage unit. As a consequence, games using high
resolution, high motion video and high quality stereo sound can be
designed and played on systems incorporating the invention. Also,
since the mass storage unit need not be a read-only device, and
need not be physically located in the game console, the invention
affords great flexibility in game content, scheduling and changes.
For example, to change the graphic images in a particular casino
game or set of games, new casino game data sets can be generated
along with new signatures and stored in the mass storage unit by
either exchanging disk drives, replacing disks (for read only disk
units), or writing new data to the media. In the networked mass
storage application, these changes can be made to the files
controlled by the network file server. Since the casino game data
sets must pass the authentication procedure test, either
periodically or on demand, corrupted data sets cannot go
undetected. Thus the invention opens up the field of electronic
casino gaming systems to readily modifiable games with flexible
displays and rules, without sacrificing the essential security of
such systems. In fact, security is greatly enhanced by the ability
of the invention to authenticate all game data sets both regularly
(for each handle pull) and at any time (on demand), without
interfering with regular game play (unless no match occurs between
the two forms of message digest).
While the above provides a full and complete disclosure of the
preferred embodiments of the invention, various modifications,
alternate constructions and equivalents may be employed without
departing from the true spirit and scope of the invention. For
example, while the RSA public/private key encryption technique is
preferred (due to the known advantages of this technique), a
single, private key encryption technique may be employed, if
desired. In a system using this technique, the single key would be
stored in ROM 29 in place of the public key 34. Also, the message
digest 42 and signature 37 for a given application 36 need not be
computed form the entire casino game data set. For example, for
some casino games it may be desirable to provide a fixed set of
rules while permitting future changes in the casino game graphics,
should or both. For such casino games, it may be sufficient to
compute the message digest 42 and signature 37 from only the rules
portion of the applications program 36. In other cases, it may be
desirable or convenient to maintain the casino game video and audio
portions constant, while allowing future changes to the rules of
game play. For casino games of this category, the message digest 42
and signature 37 may be computed from the graphics and sound
portions of the application program 36. It may also be desirable to
compute a message digest 42 and signature 37 from a subset of the
rules, graphics or sound portions of a given applications program
36, or from some other subset taken from a given applications
program 36. Therefore, the above should not be construed as
limiting the scope of the invention, which is defined by the
appended claims.
* * * * *