Device verification system and method
Abstract
There is provided a method and system for verifying a device, having components. Identification numbers of the components are read and then verified. The process of verifying comprises matching each identification number in a database to determine whether each identification number is valid. In one embodiment, the database is remote from the device, wherein verification is performed over a network connecting a database server containing the database with the device. The device transmits the identification numbers for each of the components to the database server for verification. A file allocation structure reader may be located in a basic input/output system of the device for reading and verifying data files from a persistent storage media without loading an operating system. The device may comprise a gaming machine that contains a monitor for monitoring one or more system events being processed by the gaming machine. The monitor monitors routine and non-routine events. A detector is included for detecting selected system events so that they may be recorded.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method for verifying a device, the device having one or more components, comprising:
(a) reading an identification number of one or more components of the device, and (b) verifying that each identification number is valid.
2 . The method of claim 1 , wherein the step of verifying comprises matching each identification number in a database to determine whether each identification number is valid.
3 . The method of claim 2 , wherein each of the one or more components is associated with a type of component.
4 . The method of claim 3 , wherein the step of matching comprises matching each identification number based on the type of component that the identification number identifies such that the identification number and the type of component is matched in the database in order to verify that the identification number is valid.
5 . The method of claim 1 , wherein each of the one or more components is selected from the group consisting of: a software component, a firmware component, a hardware component, and a structural component.
6 . The method of claim 1 , wherein at least one of the components comprises a processor.
7 . The method of claim 1 , wherein at least one of the components comprises a persistent storage media.
8 . The method of claim 1 , wherein at least one of the components comprises a ROM.
9 . The method of claim 8 , wherein the ROM comprises an EPROM.
10 . The method of claim 1 , wherein at least one of the components comprises a data file.
11 . The method of claim 10 , wherein the data file comprises a software program file.
12 . The method of claim 10 , wherein the data file comprises one of a plurality of operating system files, such that the step of verifying comprises verifying at least part of an operating system.
13 . The method of claim 10 , comprising replacing the file if it is not valid.
14 . The method of claim 2 , comprising stopping operation of the device if any one of the identification numbers is not matched in the database.
15 . The method of claim 14 , wherein the steps of reading and verifying are performed at the time of start-up of the device.
16 . The method of claim 14 , wherein the steps of reading and verifying are performed periodically during operation of the device.
17 . The method of claim 2 , comprising generating a tilt condition message if any one of the identification numbers is not matched in the database.
18 . The method of claim 17 , wherein the database is remote from the device, the step of verifying being performed over a network connecting a database server containing the database with the device, the device transmitting the identification numbers for each of the components to the database server, the database server performing the step of matching.
19 . The method of claim 18 , wherein the device is a personal computer, the step of verifying being performed before a transaction is allowed on a network server.
20 . The method of claim 19 , wherein the network server contains the database server.
21 . The method of claim 2 , wherein the device is a banking terminal, the step of verifying being performed before a banking transaction is allowed.
22 . The method of claim 2 , wherein the device is a gaming machine, the step of verifying being performed before game play is allowed on the gaming machine.
23 . The method of claim 2 , wherein the database comprises a relational database.
24 . The method of claim 2 , wherein the database comprises an object database.
25 . The method of claim 2 , wherein the database is in XML format.
26 . The method of claim 2 , wherein the database comprises an independent system stack of bindings from manufacturers of the components, each identification number being verified using the binding from the manufacturer of the respective component to verify the component.
27 . The method of claim 26 , wherein system stack comprises a subset of one or more global component databases containing bindings from manufacturers of the components, each binding of the subset being associated with at least one of the identification numbers.
28 . The method of claim 2 , wherein the database is stored in a CMOS memory.
29 . The method of claim 2 , wherein the database is stored in a BIOS.
30 . A system for verifying a device; comprising:
(a) one or more components; and (b) a processor for reading an identification number of each of the one or more components and for verifying that each identification number is valid.
31 . The system of claim 30 , comprising one or more sets of executable instructions that are executed by the processor for reading and verifying the identification numbers.
32 . The system of claim 31 , comprising a persistent storage media.
33 . The system of claim 32 , wherein at least one of the one or more sets of executable instructions are stored in the persistent storage media.
34 . The system of claim 32 , wherein the persistent storage media is a basic input-output chip.
35 . The system of claim 32 , wherein the persistent storage media is a firmware hub.
36 . The system of claim 32 , wherein the persistent storage media is a hard disk device.
37 . The system of claim 32 , wherein the persistent storage media is a removable storage unit selected from the group consisting of: a CD-ROM reader, a WORM device, a CD-RW device, a floppy disk device, a removable hard disk device, a ZIP disk device, a JAZZ disk device, a DVD device, a removable flash memory device, and a hard card device.
38 . The system of claim 32 , wherein the persistent storage media is a flash memory.
39 . The system of claim 30 , further comprising a database, wherein the processor is further for verifying each identification number by matching each identification number in the database to determine whether each identification number is valid.
40 . The system of claim 39 , wherein each of the one or more components is associated with a type of component.
41 . The system of claim 40 , wherein the processor is for matching each identification number based on the type of component that the identification number identifies such that the identification number and the type of component is matched in the database in order to verify that the identification number is valid.
42 . The system of claim 30 , wherein each of the one or more components is selected from the group consisting of: a software component, a firmware component, a hardware component, and a structural component.
43 . The system of claim 30 , wherein at least one of the components comprises the processor.
44 . The system of claim 30 , wherein at least one of the components comprises a ROM.
45 . The system of claim 44 , wherein the ROM comprises an EPROM.
46 . The system of claim 30 , wherein at least one of the components comprises a data file.
47 . The system of claim 46 , wherein the data file comprises a software program file.
48 . The system of claim 46 , wherein the data file comprises one of a plurality of operating system files comprising portions of an operating system.
49 . The system of claim 46 , wherein the processor is further for replacing the data file if it is not valid.
50 . The system of claim 39 , wherein the processor is further for stopping operation of the device if any one of the identification numbers is not matched in the database.
51 . The system of claim 30 , wherein the processor is for reading and verifying the identification numbers at the time of start-up of the device.
52 . The system of claim 30 , wherein the processor is for reading and verifying the identification numbers periodically during operation of the device.
53 . The system of claim 39 , wherein the processor is further for generating a tilt condition message if any one of the identification numbers is not matched in the database.
54 . The system of claim 39 , wherein the device is capable of connecting to a network, wherein the database is stored on a server that is remote from the device, the processor for verifying the identification numbers over the network, the processor further for transmitting the identification numbers to the server to match the identification numbers in the database.
55 . The system of claim 54 , wherein the device is a personal computer containing the components for verifying before a transaction is allowed on the server.
56 . The system of claim 30 , wherein the device is a banking terminal containing the components for verifying before a banking transaction is allowed.
57 . The system of claim 30 , wherein the device is a gaming machine containing the components for verifying before game play is allowed on the gaming machine.
58 . The system of claim 39 , wherein database comprises an independent system stack of bindings from manufacturers of the components, the processor further for verifying each identification number using the binding from the manufacturer of the respective component to verify the component.
59 . The system of claim 58 , wherein system stack comprises a subset of one or more global component databases containing bindings from manufacturers of the components, each binding of the subset being associated with at least one of the identification numbers.
60 . The system of claim 39 , comprising a CMOS memory, wherein the database is stored in the CMOS memory.
61 . The system of claim 39 , comprising a BIOS, wherein the database is stored in the BIOS.
62 . A method for verifying a device containing one or more data sets; comprising:
(a) retrieving a first abbreviated bit string computed from each data set from a database; (b) computing a second abbreviated bit string from each of the one or more data sets; and (c) verifying each data set by authenticating the second abbreviated bit string computed from the data set using the first abbreviated bit string.
63 . The method of claim 62 , wherein the step of verifying is performed using the Digital Signature Algorithm to authenticate the second abbreviated bit string using the first abbreviated bit string.
64 . The method of claim 62 , wherein the step of verifying is performed using the Rivest-Shamir-Adleman algorithm to compare the second abbreviated bit string with the first abbreviated bit string, wherein each first abbreviated bit string is stored in an encrypted signature in the database for decrypting and comparing to the second abbreviated bit string.
65 . The method of claim 62 , wherein at least one of the data sets comprises a file.
66 . The method of claim 65 , comprising replacing the file if it is not verified.
67 . The method of claim 62 , wherein the database comprises a relational database.
68 . The method of claim 62 , wherein the database comprises an object database.
69 . The method of claim 62 , wherein the database is in flat-file format.
70 . The method of claim 62 , wherein the database is in XML format.
71 . The method of claim 62 , wherein the database is stored in a CMOS memory.
72 . The method of claim 62 , wherein the database comprises an independent system stack of first abbreviated bit strings from manufacturers of the data sets, each second abbreviated bit string being verified using a first abbreviated bit string from the respective manufacturer of the respective data set to verify the data set.
73 . The method of claim 72 , wherein the system stack comprises a subset of one or more global databases containing first abbreviated bit strings from manufacturers of the data sets, each first abbreviated bit string of the subset being associated with at least one of the data sets.
74 . A system for verifying a device; comprising:
(a) one or more data sets; (a) a database containing a first abbreviated bit string computed from each of the one or more data sets; and (b) a processor for computing a second abbreviated bit string from each of the one or more data sets, and for verifying each data set by authenticating the second abbreviated bit string computed from the data set using the first abbreviated bit string.
75 . The system of claim 74 , comprising a set of executable instructions for using the Digital Signature Algorithm for authenticating the second abbreviated bit string using the computed first abbreviated bit string.
76 . The system of claim 74 , comprising a set of executable instructions for using the Rivest-Shamir-Adleman algorithm to verify the second abbreviated bit string by comparing the second abbreviated bit string with the first abbreviated bit string, wherein each first abbreviated bit string is stored in an encrypted signature in the database, each signature capable of being decrypted and compared to the respective second abbreviated bit string.
77 . The system of claim 74 , wherein the database comprises a relational database.
78 . The system of claim 74 , wherein the database comprises an object database.
79 . The system of claim 74 , wherein the database is in flat-file format.
80 . The system of claim 74 , wherein the database is in XML format.
81 . The system of claim 74 , wherein at least one of the data sets comprises a file.
82 . The system of claim 81 , wherein the processor is further for replacing the file if it is not verified.
83 . The system of claim 74 , comprising a CMOS memory, wherein the database is stored in the CMOS memory.
84 . The method of claim 74 , wherein the database comprises an independent system stack of first abbreviated bit strings from manufacturers of the data sets, the processor for verifying each second abbreviated bit using the first abbreviated bit string from the manufacturer of the respective data set to verify the data set.
85 . The method of claim 84 , wherein the system stack comprises a subset of one or more global databases containing first abbreviated bit strings from manufacturers of the data sets, each first abbreviated bit string of the subset being associated with at least one of the data sets.
86 . A method for recording event messages in a gaming machine; comprising:
(a) monitoring one or more system events being processed by the gaming machine; (b) detecting a selected one of the one or more system events for recording; and (c) storing an event message for the detected system event in a log file.
87 . The method of claim 87 , wherein each monitored system event has a system event type.
88 . The method of claim 87 , wherein the step of detecting comprises selecting the selected system event based on the system event type for the selected system event.
89 . The method of claim 87 , wherein the step of selecting comprises comparing the system event type for each monitored system event to a list of system event types, and selecting one of the monitored system events for the selected system event if the system event type for the selected one monitored system event matches one of the system event types in the list.
90 . The method of claim 89 , wherein the list is stored in a lookup file on a persistent media in the gaming machine.
91 . The method of claim 90 , wherein the lookup file comprises a database file.
92 . The method of claim 86 , wherein the log file is stored on a persistent storage media in the gaming machine.
93 . The method of claim 86 , wherein the log file is in XML format.
94 . The method of claim 90 , wherein the lookup file is in XML format.
95 . The method of claim 86 , wherein the step of detecting comprises detecting a plurality of selected system events.
96 . The method of claim 95 , comprising buffering a plurality of the monitored system events, wherein the step of storing comprises storing one or more of the buffered system events in the log file with the selected one of the system events.
97 . The method of claim 86 , the step of storing further comprising storing the contents of a memory after the selected one of the one or more system events is detected.
98 . The method of claim 97 , wherein the memory comprises a safe ram device.
99 . The method of claim 86 , the step of storing further comprising storing the contents of a register of a processor after the selected one of the one or more system events is detected.
100 . A system for recording event messages in a gaming machine; comprising:
(a) a system monitor for monitoring one or more system events being processed by the gaming machine; (b) a detector for selecting one of the one or more system events for recording; and (c) a storage device for storing an event message for the detected system event in a log file.
101 . The system of claim 100 , wherein each monitored system event has a system event type.
102 . The system of claim 101 , wherein the detector is for selecting the selected system event based on the system event type.
103 . The system of claim 101 , wherein detector is for selecting the selected system event by comparing the system event type for each monitored system event to a list of system event types, and for selecting one of the monitored system events as the selected system event if the system event type for the selected one monitored system event matches one of the system event types in the list.
104 . The system of claim 103 , wherein the list is stored in a lookup file on a persistent storage media in the gaming machine.
105 . The system of claim 104 , wherein the lookup file comprises a database file.
106 . The system of claim 100 , wherein the storage device comprises a persistent storage media.
107 . The system of claim 100 , wherein the log file is in XML format.
108 . The system of claim 104 , wherein the lookup file is in XML format.
109 . The system of claim 100 , wherein the detector is for detecting a plurality of selected system events.
110 . The system of claim 106 , comprising a buffer for buffering a plurality of the monitored system events, wherein the persistent storage media is for storing one or more of the buffered system events in the log file with the selected one of the system events.
111 . The system of claim 100 , wherein the detector comprises a portion of the monitor.
112 . The system of claim 100 , wherein the monitor is a software program comprising a set of executable instructions.
113 . The system of claim 100 , the storage device further for storing the contents of a memory after the selected one of the one or more system events is detected.
114 . The system of claim 113 , wherein the memory comprises a safe ram device.
115 . The system of claim 100 , the storage device further for storing the contents of a register of a processor after the selected one of the one or more system events is detected.
116 . In a basic input/output system, a method for accessing files stored in a storage device, comprising:
(a) opening a file allocation structure in a storage device; (b) reading the file allocation structure; and (c) processing the file allocation structure to provide access to files stored in the storage device.
117 . The method of claim 116 , wherein the basic input/output system comprises a solid-state storage device.
118 . The method of claim 117 , wherein the solid-state storage device comprises a basic input/output system chip.
119 . The method of claim 116 , wherein the basic input/output system comprises a firmware hub.
120 . The method of claim 116 , wherein the step of processing comprises accessing the files stored in the storage device using a computer program stored in the basic input/output system, the computer program comprising a set of executable instructions for processing the file allocation structure.
121 . The method of claim 116 , wherein the step of processing comprises verifying the files stored on the storage device.
122 . The method of claim 116 , wherein the step of verifying comprises verifying each file by retrieving a first abbreviated bit string computed from the file, computing a second abbreviated bit string from the file, and verifying the file by authenticating the second abbreviated bit string using the first abbreviated bit string.
123 . The method of claim 122 , wherein the step of authenticating comprises authenticating the second abbreviated bit string using the first abbreviated bit string using the Digital Signature Algorithm.
124 . The method of claim 122 , wherein the step of authenticating comprises authenticating the second abbreviated bit string using the first abbreviated bit string using the Rivest-Shamir-Adleman algorithm.
125 . A basic input/output system, comprising:
(a) a first storage device; (b) a set of basic input/output data set stored in the first storage device; and (c) a file allocation reader stored in the first storage device for processing a file allocation structure to provide access to files stored in a second storage device.
126 . The system of claim 125 , wherein the first storage device comprises a solid-state storage device.
127 . The system of claim 127 , wherein the solid-state storage device comprises a basic input/output system chip.
128 . The system of claim 125 , wherein the basic input/output system comprises a firmware hub.
129 . The system of claim 125 , further comprising a set of executable instructions stored in the first storage device, the executable instructions comprising a computer program for accessing the files stored in the second storage device using the file allocation reader to read the file allocation structure.
130 . The system of claim 129 , wherein the computer program is for verifying each file stored in the second storage device.
131 . The system of claim 130 , wherein the computer program is for verifying each file by retrieving a first abbreviated bit string computed from the file from a database, computing a second abbreviated bit string from the file, and verifying the file by authenticating the second abbreviated bit string using the first abbreviated bit string.
132 . The system of claim 131 , wherein the computer program is for authenticating the second abbreviated bit string using the first abbreviated bit string using the Digital Signature Algorithm.
133 . The system of claim 131 , wherein the computer program is for authenticating the second abbreviated bit string using the first abbreviated bit string using the Rivest-Shamir-Adleman algorithm.
134 . The system of claim 125 , wherein the allocation structure is a file allocation table.
135 . The system of claim 134 , wherein the file allocation table is 32-bit based.
136 . The system of claim 134 , wherein the file allocation table is 16-bit based.
137 . The system of claim 125 , wherein the allocation structure is a WINDOWS NT file system.Join the waitlist — get patent alerts
Track US2004054952A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.