US2004054952A1PendingUtilityA1

Device verification system and method

Priority: Sep 13, 2002Filed: Sep 13, 2002Published: Mar 18, 2004
Est. expirySep 13, 2022(expired)· nominal 20-yr term from priority
G11C 2029/4402G06F 11/2289G06F 11/0748G06F 11/006G06F 11/2294
34
PatentIndex Score
0
Cited by
0
References
0
Claims

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-modified
What 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.