首页> 中国专利> 用于游戏机中可改变存储媒体的系统和方法

用于游戏机中可改变存储媒体的系统和方法

摘要

用于验证游戏设备(10)的一个或多个下载的组件(54)的系统,包括游戏设备,游戏设备具有可改变的硬盘驱动器(80)(或其它可改变的存储媒体(90)),以及下载的组件还包括游戏有关内容(92-96)。相关的方法包括:使得能够在游戏设备(10)上发起游戏;把游戏有关内容(92-96)下载到可改变的硬盘驱动器(80)而同时使得游戏设备(10)能够玩游戏;读出游戏有关内容(92-96)的标识符;验证该标识符是有效的(使用验证软件(70));以及重新配置游戏设备(10),以响应于发起事件而利用新下载的游戏有关内容(92-96)。

著录项

  • 公开/公告号CN101166562A

    专利类型发明专利

  • 公开/公告日2008-04-23

    原文格式PDF

  • 申请/专利权人 百利国际游戏有限公司;

    申请/专利号CN200580049576.6

  • 发明设计人 J·W·莫罗;

    申请日2005-12-01

  • 分类号A63F13/00;A63F9/24;G06F17/00;G06F19/00;

  • 代理机构中国专利代理(香港)有限公司;

  • 代理人王岳

  • 地址 美国内华达州

  • 入库时间 2023-12-17 19:54:11

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-01-23

    未缴年费专利权终止 IPC(主分类):G07F17/32 授权公告日:20110713 终止日期:20161201 申请日:20051201

    专利权的终止

  • 2011-07-13

    授权

    授权

  • 2008-06-18

    实质审查的生效

    实质审查的生效

  • 2008-04-23

    公开

    公开

说明书

版权告知

本专利文件的公开内容的一部分包含受到版权保护的材料。版权拥有者不反对对于专利文件或专利公开内容的任一项的影印复制,因为它出现在专利和注册商标局专利文件或记录中,但无论如何保留所有的版权。

技术领域

本发明总的涉及一种用于下载数据到可改变的存储媒体的方法和设备,更特别地,一种用于把数据下载到由第三者保存(escrow)接着在以后被验证为授权用于下载的可改变的存储媒体的的方法和设备。

背景技术

在游戏机环境下,在现有技术中通常的实践是,设备的验证可以在玩游戏期间赢得奖励后,通过测试包含用于设备的应用软件的只读存储器(ROM)的整个内容而进行,以保证不出现篡改。在部署游戏机之前存储游戏应用的场合下,根据游戏应用程序来计算缩写比特串,并将其存储在与ROM分开的安全ROM中。当游戏机被启动时,或例如在玩游戏期间出现获胜以后想要验证时,验证程序根据存储有游戏应用程序的ROM的内容来计算另一个缩写比特串,并存储在安全ROM中的以前计算的缩写比特串与新的计算的缩写比特串一起被用来验证游戏应用程序。

这样的验证系统足够应付在其上存储有游戏应用的媒体是只读的因此难以改变的场合,以及几乎不存在设备的其它组件会被损害以破坏安全的危险的场合,诸如24小时监管的娱乐场。然而,这样的恒定的监管不总是在游戏工业里面和外面都可得到的,并且随着技术进步,依靠这些防护装置变得更困难。而且,当几个设备通过网络被连接时,现有技术系统的缺点变得更普遍。

因此,对设备增强的验证以及对除了仅仅应用软件以外的这些设备的组件的更加增强的自我鉴定分析,有着长期的需求。

发明内容

概略地,以及一般地,所要求的发明提供一种用于在使用之前和期间验证具有各种组件的设备的改进的方法和系统。更具体地,作为例子但不一定作为限制,所要求的发明提供一种用于通过验证该设备的组件而验证该设备的系统和方法。组件可包括例如电子设备的软件组件、固件组件、硬件组件或结构组件。这些组件包括,但不限于,处理器、持久存储媒体、易失性存储媒体、随机存取存储器、只读存储器(ROM)、可擦除可编程ROM、数据文件(它是数据的任何集合,包括以二进制或脚本形式的可执行的程序,以及)、设备柜(外壳)或阴极射线管(CRT)。组件的标识号或字符串被读出和被验证。验证的处理过程可包括在算法上验证在数据库中的每个标识符,以确定每个标识号是否是有效的。在数据文件包括多个操作系统文件之一的情形下,该文件的验证实际上包括验证操作系统的部分。对于数据文件,文件名称可包括标识符。

优选地,数据存储(datastore)可包括关系数据库、对象数据库、平面文件、ASCII列表、寄存器条目、XML文件、或任何其它类型的通常已知的数据列表。然而,在对于验证系统而限制存储空间的情形下,用于数据存储的平面文件结构可能是更想要的,以及对于从其中读出和检索信息只需要较少的软件指令。数据存储还可包括独立的绑定(binding)系统堆栈,绑定包括在数据库中或来自组件制造商的号码、标识字符串、或签名,用于在算法上验证或鉴权组件,通过使用来自各个组件的制造商的绑定,来验证每个标识号,以便验证组件。特别地,在诸如个人数字助理(PDA)那样的较小的设备的环境中,这样的系统堆栈可包括一个或多个全局组件数据存储子集,包含来自组件制造商的绑定,子集的每个绑定与设备中的一个组件的至少一个标识号相关联。提供这样的有限的子集有助于通过控制数据存储的尺寸而控制验证系统的尺寸。可能希望限制数据存储的尺寸的验证系统的另一个例子是数据存储连同用于PC的其它配置设置值一起被存储在个人计算机(PC)的互补金属氧化物半导体存储器(CMOS)的验证系统。在CMOS中存储数据存储,可以改进安全性,其中PC可被配置成使得只有具有管理密码的用户可以改变包含数据存储的部分CMOS的内容。

诸如机柜那样的结构组件可包括被嵌入在其中的电子标识芯片,诸如由Dallas,Texas的Dallas Semiconductor制造的、所谓的Dallas芯片或IBUTTON设备。这些设备允许放置在半导体或芯片内的唯一标识符被放置在可能是或不一定是电子设备的组件上,诸如计算机或游戏机机柜。IBUTTON设备是放置在16mm不锈钢瓶内的计算机芯片。钢底座可以优选地永久地或半永久地安装在结构组件上或结果组件中。两条电线被附着到IBUTTON设备,一条在顶部,一条在底部,以便在IBUTTON设备与处理器、串行端口、通用串行总线(USB)端口、或并行端口之间交换数据。

验证处理过程可包括根据标识号标识的组件的类型在算法上验证每个标识号。标识号和组件类型在数据存储中算法上被验证,以便验证标识符是有效的。读出标识号并验证组件是在设备启动时或是在设备运行期间周期地进行的。如果任何一个标识号在数据存储中在算法上没有被验证,则设备的运行可被停止。在设备的游戏或游戏机类型的情形下,如果任何一个标识好在数据存储中在算法上没有被验证,则生成倾斜(tilt)条件消息。

数据存储可以包含签名的集合,也称为绑定。至少对于包括数据文件或固件的组件来说,已知的散列函数、安全散列函数-1,也称为SHA-1,可被使用来根据数据文件或固件内容计算160比特的散列值。然后处理这个160比特的散列值,也称为缩写比特串,以通过使用同样地已知的、单向、专用签名密钥技术,数字签名算法(DSA),来创建游戏数据的签名。DSA使用专用密钥/公共密钥对的专用密钥,和随机地或伪随机地生成的整数,以产生数据文件或固件内容的160比特的散列值的320比特的签名。除了标识号以外,这个签名被存储在数据存储。在另外的优选实施例中,使用更强的安全散列函数(例如,SHA-256,SHA-512,等等)

被包含在设备中,或被附着到设备上的是处理器和存储器,存储器包含用于验证组件的可执行的指令或软件程序文件(验证软件),其本身是用于验证的一个组件。验证软件可被存储在持久的存储媒体,诸如硬盘装置、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、在上述的CMOS存储器、电池备份随机存取存储器、闪速存储器或其它类型的持久存储器。另外,验证软件可被存储在易失性存储媒体上,诸如随机存取存储器(RAM)。优选地,验证软件被存储在固态持久存储器器件或芯片上的基本输入/输出系统(BIOS)。BIOS芯片被使用于存储验证软件,诸如由Las Vegas,NV的Bally Gaming,Inc.在它们的EVOTM游戏系统中使用的BIOS+芯片。把验证软件放置在BIOS中是有利的,因为在BIOS中的代码通常是在设备的引导或建立时执行的第一代码,使得很难绕过验证过程。

替换地,验证软件可被存储在固件集线器中,它可包括存储BIOS信息的电子设备或计算机。在个人计算机集线器技术中,诸如由Santa Clara,California的Intel公司制造的,使用集线器来替代外围部件互联(PCI)总线,连接芯片组的元件。

持久的存储媒体可以是可拆卸的存储单元,诸如CD-ROM读出器、WORM设备、CD-RW设备、软盘设备、可拆卸硬盘设备、ZIP盘设备,JAZZ盘设备、DVD设备、可拆卸闪速存储器设备、或硬卡设备。然而,数据存储优选地被存储在或者在被验证的设备内,或者在远端的服务器内的非可拆卸的安全设备,以便增强安全性。

验证软件执行数据文件或固件组件的DSA验证。专用密钥/公共密钥对的专用密钥也被存储在数据存储。对于作为DSA验证的一部分的每个数据文件或固件组件,处理器和验证软件首先通过使用SHA-1算法来计算组件的数字内容的散列值。验证软件然后通过使用DSA验证算法来处理或鉴权这个计算的散列值,该算法还将存储在数据存储中的上述的公共密钥作为输入。DSA的验证部分产生关于输入是否解决算法的布尔结果(是或否)。如果算法没有被输入解决,则产生未预期的结果,由此无法验证特定的组件。这可以造成故障倾斜发生,从而禁止设备的加载操作。否则,允许使用该设备。DSA的详细说明可以在美国政府的联邦信息处理标准出版物(FIPS)186-2中找到。该出版物描述DSA签名生成和验证的每个步骤。

替换地,可执行的指令集可以使用Rivest-Shamir-Adleman(RSA)算法来验证组件。通过使用RSA算法,根据每个组件的数字内容来计算散列值的第一缩写比特串,然后把它加密成数字签名。数字签名连同用于组件的标识号一起被存储在数据存储。当设备被验证时,通过计算从组件的数字内容计算的第二缩写比特串来验证组件。通过搜索数据存储找到标识号,来从数据存储检索签名。签名被解密,以恢复第一缩写比特串。然后通过比较第二缩写比特串与第一缩写比特串来验证组件。如果第一和第二缩写比特串不能在算法上被验证,则组件不能被验证。正如下面讨论的,这可以造成故障倾斜发生,从而禁止设备的加载操作。否则,允许使用该设备。

代替一个一个地创建用于每个数据文件的数字签名或对每个数据文件一个一个地签名,一系列数据文件可以一起进行签名,以便加速处理。一系列数据文件的缩写比特串、散列值、或签名,也称为摘要,被合并为目录文件,以及目录如上所述那样被签名。

在某些情形下,无论如何,可能希望允许操作设备,即使数据文件验证失败。例如,数据文件可包含由多个事件造成的错误,诸如在硬盘上的坏的扇区,该错误转而造成该数据文件的失败的验证。失败的验证显然不是由于篡改设备,因为所要求的发明的系统通常被设计为阻止这样的事件。而且,直到数据文件中的错误被校正,设备的操作才是不希望的。当数据文件被存储在可改变的媒体时,校正这样的错误可能是像替换文件那样简单。连同标识号和加密的签名或缩写比特串一起,有效的替换数据文件也可以被存储在数据存储。如果软件程序确定无效文件的原因仅仅由于文件中的错误,而不是篡改,则替换文件从数据存储提出,以替代验证失败的数据文件。多个因素可被软件程序用来作出这样的确定。例如,确定是基于验证失败的数据文件或组件的数目。这可以表示在设备中硬盘的欺骗性替换。

在一个实施例中,数据存储远离设备,其中验证是在连接包含数据存储的数据库服务器与设备的网络上执行的。设备把每个组件的标识号发送到数据库服务器。数据库服务器然后执行算法上验证的步骤。例如,设备可以是个人计算机(PC),且验证是在允许在网络服务器上进行事务之前执行的。这样的系统的主要的例子是用由银行拥有的或操作的网络服务器为执行银行事务建立的系统。在这样的系统中,银行可以通过使用授权的PC只允许进行信任的事务,授权的PC对于所有的组件和银行事务软件的绑定被记录在位于银行的网络服务器或由PC访问的另一个远端网络服务器的数据存储中。一旦所有的组件已经被验证,银行的网络服务器就允许使用PC进行事务。

在另一个例子中,设备包括游戏机,其中游戏机的验证是在允许在游戏机上玩游戏之前执行的。数据存储可以放置在游戏机的安全位置,诸如放置在游戏机内加锁的盒子内的ROM设备,或放置在远离游戏机,这样,游戏机通过网络被连接到包含数据存储的网络服务器。对于上述的银行个人计算机,游戏机的组件在游戏机发送标识号、散列值等到网络服务器之后在网络服务器处被验证。

所要求的发明的另一方面是用于在游戏机中记录事件消息的方法和系统。设备可包括游戏机,包含用于监视由游戏机处理的一个或多个事件的监视器。游戏机的操作系统是事件驱动的。在事件驱动的系统或设备中,应用和组件应答来自用户(鼠标运动、按键敲击、菜单选择等等)的输入和来自其它应用与组件的消息。这例如是与连续处理来自指令集的下一个项的批处理操作不同的。监视器包括事件管理系统,它包括用来监视设备的组件的软件或固件。替换地,监视器可以位于远端服务器、工作站、或其它网络设备。可以包括诸如处理器和事件管理软件那样的硬件和软件组件的监视器监视常规和非常规事件。例如,硬币投入到游戏机,将触发相应的常规硬币投入事件消息,该消息触发组件来操作软件指令执行。类似地,异常故障或除零的条件将触发例如生成非常规的或错误事件消息。这些事件消息通常可以称为系统事件。

被包括在监视器中或与监视器分开的但紧密地协调的是检测器,用于检测一个或多个系统事件的选择的系统事件,以使得它们可以被记录。游戏机或监视游戏机的远端服务器把用于检测的系统文件的事件消息存储在日志文件。

每个监视的系统事件具有系统事件类型。检测器根据对于选择的系统事件的系统事件类型来选择所选择的系统。系统事件类型可以是事件消息中的代码,该代码指明在系统事件所属于的系统中发生的事件的类别。例如,前面提到的硬币投入,异常故障,和除零的系统事件都用系统事件类型来标识。检测器通过比较每个监视的系统事件的系统事件类型与系统事件类型列表来选择所选择的系统事件,以及如果对于所选被监视的系统的系统事件类型可以用该列表上的一个系统事件类型而在算法上被验证,则为选择的系统事件选择一个监视的系统事件。每个系统事件被监视,以及当检测器根据它们的类型选择多个系统事件时,每个选择的系统事件的系统事件消息被存储在日志文件中。该列表可被存储在上述的一种可改变类型的持久的存储媒体上的索引或查找表文件。替换地,验证软件也可以被存储在易失性存储媒体,诸如上述的随机存取存储器(RAM)。查找表文件可包括数据存储文件,它例如可以是关系的、基于对象的、或XML格式的。日志文件也可以存储在持久的存储媒体。

存储器的缓存区可以设置在旁边,用于缓存多个监视的系统事件,其中存储步骤包括每次在由检测器检测到一个系统事件类型时把一个或多个缓存的系统事件与所选择的一个系统事件一起存储到日志文件。优选地,缓存器应当足够大,以使得至少最后的1000系统事件可被存储在缓存器中,然后如果所选择的系统事件被检测和被存储,则被写入。缓存器由此作为系统事件消息的先进先出堆栈操作。

设备中的存储器或组件的其它数字内容可以在检测到选择的系统事件后被存储。例如,可能希望存储存储器组件的整个内容、存储器组件的选择的内容、或游戏机的处理器组件的寄存器的选择的整个数值。例如,如果选择的系统事件是存储器保护异常错误,则可能希望至少存储所违反的受保护存储器的内容以及对于造成错误的损坏应用的存储器分配表。即使出现保护异常错误的存储器包括安全的或电池备份的随机存取存储器装置,无论如何,仍旧可能希望在其它应用应当进一步修改存储器的情况下存储内容。

作为所要求的发明的另一方面,在加载用于电子设备的操作系统之前或不需要加载操作系统时,希望在数据文件上执行操作,诸如验证操作,这样的数据文件被存储在诸如硬盘那样的持久的存储媒体上。替换地,验证软件也可以被存储在诸如随机存取存储器(RAM)那样的易失性存储媒体上。典型地,操作系统必须被启动或引导,以便在存储媒体上执行文件访问操作。这是因为操作系统通常独占地包含文件访问系统,该文件访问系统用来读出被存储在存储媒体上的文件分配结构。然而,在某些设备中,希望在引导操作系统之前验证存储媒体上的数据,尤其是为了安全目的。

在这方面,所要求的发明的系统具有被存储在基本输入/输出系统(BIOS)或固件集线器(FWH)中的文件分配读出器。这使得有可能在不存在运行和操作系统时访问被存储在持久的存储媒体(或易失性存储媒体)或设备中的文件。处理器可以访问在BIOS中的文件分配读出器,以打开在持久的存储媒体上的文件分配结构并读出它。为了更快速的访问,处理器可以把文件分配结构的内容移入RAM。处理器然后可以处理文件分配结构,以提供对被存储在持久存储设备上的文件的访问。

在BIOS或FWH中提供这种功能易于通过使用被存储在基本输入/输出系统中的计算机程序来访问被存储在存储设备中的文件,其中计算机程序包括用于处理文件分配结构的可执行的指令集。可以从在BIOS或FWH中的这种新功能获益的这种计算机程序的例子是上述的验证程序,用于验证在持久存储媒体上的软件组件。在这种情形下,操作系统文件可以被验证,以及这通过在操作系统被引导之前或者在从存储媒体运行任何软件程序之前允许这样的验证进行,来通过BIOS提供对被存储在存储媒体上的文件的访问。这使得验证软件与被存储在正在验证的持久存储媒体上的文件完全无关。

如上所述,验证数据文件可包括通过从数据存储检索根据文件计算的第一缩写比特串,从数据文件计算第二缩写比特串,和通过使用第一缩写比特串鉴权第二缩写比特串来验证文件,从而验证每个数据文件。如上所述,签名或缩写比特串的数据存储也可以被存储在BIOS,其中验证软件使用DSA或RSA来针对被存储在数据存储中的相应的签名或缩写比特串验证每个数据文件。在BIOS或FWH中的文件分配读出器被配置成读出基于32位的文件分配表、基于16位的文件分配表、WINDOWS NT文件系统结构、或由持久存储媒体使用的任何其它文件分配结构。再次地,或替换地,验证软件也可以被存储在诸如随机存取存储器(RAM)那样的易失性存储媒体。

在再一个优选实施例中,所要求的发明针对用于验证游戏设备的下载的组件的方法,其中游戏设备具有可改变的硬盘驱动器(或其它可改变的存储媒体),和下载的组件包括游戏有关内容。该方法包括:使得能够在游戏设备上发起游戏;把游戏有关内容下载到可改变的硬盘驱动器,而同时使得游戏设备能够用于玩游戏;读出关联于游戏有关内容的标识符;验证该标识符是有效的;以及重新配置游戏设备,以响应于发起事件而利用新下载的和鉴权的游戏有关内容。在所要求的发明的一个优选实施例中,游戏有关内容被划分成模块组件,以及游戏设备可重新配置成,响应于发起事件,利用新下载的和鉴权的游戏有关内容的至少一个模块组件。

在完成和鉴权下载的内容后,游戏设备将等待发起事件,以便安装或加载鉴权的数据。在优选实施例中,“发起事件”包括,仅仅作为例子而不是限制:(1)在游戏表上没有分数,(2)在游戏、玩游戏、按钮按压、卡插入、打印等等方面没有活动,(3)在游戏上没有活动的时间间隔(例如,5分钟、10分钟等等),(4)由雇员进行钥匙插入或卡插入,(5)由授权的个人访问专门的游戏建立屏幕,(6)响应于消息诸如新的代码已准备好加载,而触摸按钮或屏幕上的驱动点,(7)由操作员在游乐场后端进行按钮按压或驱动,(8)视频系统的搭卖广告(tie-in),用于确认没有人在玩游戏,以及可以发起,(9)在游戏或在系统内进行代码发起的鉴权的生物计条目,以及(10)授权安装或重新配置软件的钥匙打开和Bkey(电子钥匙)条目。

在所要求的发明的优选实施例中,也执行“合理度”检验。例如,“合理度”检验确保游戏机在打算进行旋转机械轮的视频游戏中不尝试运行一段代码。另外,优选地,日志被保持并报告返回:表示诸如日期、时间、谁授权了动作、和发生的事情(例如,成功、失败、和如果失败,是什么原因)那样的信息。

如上所述,游戏有关内容优选地被下载到可改变的硬盘驱动器(或其它持久的或易失性存储媒体),而同时使得游戏设备能够用于玩游戏。在优选实施例中,“使得...能够用于玩游戏”包括,仅仅作为例子而不是限制:(1)当游戏设备处在游戏中间时(从下注开始直至游戏结束为止/准备好下注),(2)当游戏设备处在游戏之间在机器上有分数时,(3)当游戏设备处在游戏之间在机器上没有分数但加金钱的设备是启用时,(4)当游戏设备处在引起注意模式时,(5)当主机认为游戏设备是启用时,(6)当游戏设备正在送出现金时,以及(7)当游戏设备正在接受金钱时。以上讨论的所要求的发明的“下载到可改变的存储媒体而同时使得游戏设备能够用于玩游戏”的能力是除了所要求的发明的下载到游戏设备的能力以外,同时游戏设备正在服务或被关断(即,不能用于玩游戏)。然而,所要求的发明的下载到可改变的存储媒体而同时使得游戏设备能够用于玩游戏的能力是比起传统的游戏设备和系统的能力很大的进展。

另外,当游戏设备是“不能”(即,禁止)用于玩游戏时,游戏设备优选地被重新配置成利用新下载和鉴权的游戏有关内容。在这方面,在优选实施例中,“不能”(即,禁止)用于玩游戏包括,仅仅作为例子而不是限制:(1)当游戏设备被参加者禁止时(以及显示“GAME DISABLED(游戏禁止)”消息),(2)当游戏设备被主机禁止时(以及显示“GAME DISABLED(游戏禁止)”消息),(3)当主机发送游戏禁止命令到EGM(电子游戏机)时,(4)当游戏设备处在“参加者诊断”模式时,(5)当主门打开时,(6)当诊断菜单是可得到的(例如,仪表、游戏取消、GAT(游戏鉴权终端)),等等,或在使用时。

而且,当游戏设备被重新配置成利用新下载和鉴权的游戏有关内容时,游戏设备“不能”(即,禁止)用于玩游戏。在重新配置期间和可能在此后的一段时间间隔内,优选地对于潜在的用户进行“重新配置通告”。重新配置通告可包括上述的“游戏禁止”消息,但还包括关于游戏设备正在被重新配置、修改、更新、或改变的消息。这个重新配置通告可以是音频和/或视频。在一个优选实施例中,重新配置通告至少包括在视频屏幕(或其它视觉呈现,诸如2线LCD(液晶显示器)、LED(发光二极管)、VF(真空荧光)显示器等等)上的消息,该消息阐述游戏设备正在被重新配置和/或最近已被重新配置,以使得玩家或潜在玩家知道已发生改变。这样,玩家或潜在玩家完全知道他们正在玩的或考虑玩的游戏发生的任何改变。在示例性优选实施例中,重新配置通告包括在游戏机的显示屏幕上阐述“THIS GAMING MACHINE IS BEING RECONIGURED AND/OR HAS RECENTLYBEEN RECONIGURED(本游戏机正在重新配置和/或最近已重新配置)”的消息。本领域技术人员将会看到,这个消息的形式和实质可以很大地改变,而不背离本发明的范围。

在优选实施例的一方面,下载的游戏有关内容在可改变的硬盘驱动器上被鉴权,而同时使得游戏设备能够用于玩游戏。按照另一方面,响应于发起事件,游戏有关内容在可改变的硬盘驱动器上被鉴权。在一个优选实施例中,游戏有关内容可被下载到可改变的硬盘驱动器的单独的分区区域,而同时使得游戏设备能够用于玩游戏。优选地,游戏有关内容可被下载到可改变的硬盘驱动器的单独的分区区域,而同时使得游戏设备能够用于玩游戏,并且其中下载的游戏有关内容由第三方保管用于以后鉴权。按照另一方面,游戏有关内容可下载到外级区域,而同时使得游戏设备能够用于玩游戏,并且其中下载的游戏有关内容由第三方保管用于以后鉴权。

另外,按照优选实施例,验证的步骤包括对于在数据存储中的数值在算法上验证关联于游戏有关内容的标识符,以确定关联于游戏有关内容的标识符是否正确。优选地,如果标识符在数据存储中没有在算法上被验证,则阻止利用游戏有关内容。在另一个优选实施例中,如果标识符在数据存储中没有在算法上被验证,则生成倾斜条件消息。按照优选实施例的另一方面,数据存储是远离游戏设备,以及通过连接游戏设备与包含数据存储的数据库的网络来执行验证。这样,游戏设备优选地把每个组件的标识符发送到执行验证步骤的数据库服务器。

而且,按照优选实施例,从包含关系数据库、对象数据库、平面文件、ASCII列表、寄存器条目、和XML文件的组中选择数据存储。在一个优选实施例中,下载的组件包括数据文件。在另一个优选实施例中,数据文件包括软件程序文件。在另一个优选的方面,所要求的发明还包括持久的存储媒体。优选地,持久存储媒体是从包含CD-ROM读出器、WORM设备、CD-RW设备、软盘设备、可拆卸硬盘设备、ZIP盘设备,JAZZ盘设备、DVD设备、可拆卸闪速存储器设备、和硬卡设备的组中选择的可拆卸存储单元。

而且,按照优选实施例,不安全的组件通过不安全的网络被下载到游戏设备,此后,响应于发起事件,在游戏设备中验证所述组件。在一个优选实施例中,所要求的发明还包括网络服务器,它包含数据库服务器。按照另一个优选的方面,所要求的发明还包括玩家可看见的重新配置通告,在通过使用下载的游戏有关内容重新配置游戏机时显示该重新配置通告。优选地,通过使用游戏有关内容来重新配置游戏机,而同时游戏机被禁止用于玩游戏以及显示玩家可看见的重新配置通告。

按照一个优选实施例,经由网络从服务器下载游戏有关内容。在另一个优选实施例中,从连接到至少一个游戏设备的膝上型计算机下载游戏有关内容,而不需要互联的网络。在再一个优选实施例中,从连接到至少一个游戏设备的便携式设备下载游戏有关内容,而不需要互联的网络。而且,在又一个优选实施例中,将游戏有关内容从另一个位于附近的游戏设备传送到游戏设备,由此,每个游戏设备把游戏有关内容转发到另一个游戏设备,从而用作为中继站。

在另一个优选实施例中,本发明针对用于验证游戏设备的下载的组件的系统,其中游戏设备具有可改变的硬盘驱动器,并且其中下载的组件包括游戏有关内容。系统包括用于玩游戏的游戏设备,其中游戏有关内容可下载到可改变的硬盘驱动器,而同时使得游戏设备能够用于玩游戏。该系统包括处理器,用于读出关联于游戏有关内容的标识符和用于验证该标识符是有效的。游戏设备被重新配置成在验证游戏有关内容后响应于发起事件而利用新下载的游戏有关内容。

优选地,系统还包括由处理器执行的一个或多个可执行的指令集,其中可执行的指令使得能够读出和验证标识符。在优选实施例中,系统还包括持久存储媒体。优选地,该一个或多个可执行的指令集的至少一个指令集被存储在持久存储媒体。在优选实施例中,持久存储媒体可以是基本输入-输出芯片(BIOS)、固件集线器、闪速存储器、和/或硬盘设备。另外,持久存储媒体还可以是可拆卸的存储单元,包括,仅仅作为例子而不是作为限制:CD-ROM读出器、WORM设备、CD-RW设备、软盘设备、可拆卸硬盘设备、ZIP盘设备,JAZZ盘设备、DVD设备、可拆卸闪速存储器设备、和硬卡设备。正如以上讨论的,验证软件还可被存储在诸如随机存取存储器(RAM)那样的易失性存储媒体。

在优选实施例的一个方面,处理器响应于发起事件读出和验证标识符。发起事件,正如以上描述的,是已被游戏调整器批准,以开始安装和/或重新配置新下载的游戏有关内容的事件,在优选实施例的另一方面,处理器周期地读出和验证标识符,而同时禁止游戏设备玩游戏。优选地,游戏设备能够连接到网络,其中数据存储被存储在远离游戏设备的服务器,并且其中处理器把标识符发送到服务器,以便算法上验证在数据存储中的标识符。

在再一个优选实施例中,本发明针对用于验证游戏设备的下载的组件的方法,其中游戏设备具有可改变的硬盘驱动器(或其它可改变的存储媒体),并且其中下载的组件包括游戏有关内容,包含与清单(manifest)一同下载的一个或多个数据集。该方法包括:使得能够在游戏设备上发起游戏;下载游戏有关内容到可改变的硬盘驱动器,而同时游戏设备能够用于在游戏设备上玩游戏;从数据存储检索根据每个数据集计算的第一缩写比特串;根据一个或多个数据集中的每一个数据集计算第二缩写比特串;通过使用第一缩写比特串鉴权从数据集计算的第二缩写比特串来验证每个数据集;以及响应于发起事件重新配置游戏设备来利用新下载的游戏有关内容。在优选实施例中,可改变的硬盘驱动器用另一种类型的可改变的存储媒体替代,正如上面描述的。

最后,在又一个优选实施例中,本发明针对用于验证游戏设备的下载的组件的系统,其中游戏设备具有可改变的硬盘驱动器(或其它可改变的存储媒体),并且其中下载的组件包括游戏有关内容。  该系统包括用于玩游戏的游戏设备、数据存储、和处理器。在游戏设备中,包含一个或多个数据集的游戏有关内容被下载到可改变的硬盘驱动器,而同时使得游戏设备能够用于玩游戏。数据存储包含第一缩写比特串,它是根据与清单一同下载的一个或多个数据集的每个数据集而计算的。在一个优选实施例中,清单包括,仅仅作为例子而不作为限制:文件列表、各个SHA-1散列函数的列表、DSA签名的列表、它们的组合等等。另外,处理器根据一个或多个数据集中的每一个数据集计算第二缩写比特串;和通过使用第一缩写比特串鉴权从数据集计算的第二缩写比特串来验证每个数据集。优选地,游戏设备被重新配置成在响应于发起事件而验证游戏有关内容后,利用新下载的游戏有关内容。在一个优选实施例中,可改变的硬盘驱动器用另一种类型的可改变的存储媒体代替。

通过结合附图作出的以下的详细说明将明白本发明的其它特性和优点,附图仅仅作为例子显示所要求的发明的特性。

附图说明

图1显示通过使用所要求的发明的系统和方法能够在设备使用之前和期间进行验证的设备和组件;

图2显示用于执行图1的设备的验证的步骤;

图3显示由图1的系统执行的、用于替代未验证的或包含错误的数据文件的步骤;

图4显示可与图1的设备一起使用的网络的结构;

图5显示在图1的游戏机中由监视器执行的步骤;

图6显示在图1的设备中用于读出持久存储媒体的文件分配结构或文件分配表的步骤;以及

图7是按照所要求的发明的、用于下载和验证游戏设备10的下载的组件54的优选的方法的逻辑流程图,其中游戏设备具有可改变的存储媒体,下载的组件包括游戏有关内容,以及游戏设备响应于发起事件而被重新配置。

具体实施方式

现在参照附图,在所有的附图上相同的标号表示相同的或相应的部件。参照图1,图上显示利用所要求的发明的系统和方法能够在设备10使用之前和期间进行验证的设备10和组件50的框图。组件50可包括例如软件或数据文件组件54、固件组件64-74、硬件组件60,62,80,90、可拆卸的闪速器件、或设备10的结构组件130。这些组件包括,但不限于,一个或多个处理器62、持久存储媒体80和90、诸如随机存取存储器(RAM)76那样的易失性存储媒体、只读存储器(ROM)77、电可擦除可编程ROM(EEPROMS),诸如基本输入/输出系统(BIOS)64。组件50还可包括数据文件54(它们是任何数据集合,包括以二进制或正文形式的可执行程序和那些程序作用到的信息)、设备机柜(外壳)130、阴极射线管(CRT)134、或紧凑盘只读存储器(CD-ROM)或CD读写(CD-RW)存储装置80。数据文件54可包括数据文件100-104、软件程序文件92-96、操作系统文件98、或文件分配表或结构99。端口139可被包括在设备10,用于连接到诊断系统140和其它输入输出设备142。端口139都可包括串行端口、通用串行总线(USB)端口,并行端口或任何其它类型的已知的端口,包括无线端口。优选地,每个组件50把可以把由处理器60,包括处理器本身访问的标识符或字符串嵌入或加载到它们中,这些标识符或字符串按如下用于验证。数据文件54可以使用它们的文件名称作为它们的字符串标识符。

在设备10中,或在被附着到设备10的诊断系统140中的是,用于验证组件(验证软件70)的可执行指令或软件程序70,它本身是一个验证它是否在设备10内部的组件50。验证软件70可被存储在诸如硬盘驱动器90、ROM77、EEPROM64那样的持久存储媒体,互补金属氧化物半导体存储器(CMOS)72,安全的RAM中,安全的RAM包括电池备份的静态随机存取存储器(BBRAM)62,闪速存储器或其它类型的持久存储器。优选地,验证软件70可被存储在基本输入/输出系统(BIOS)64设备或芯片。BIOS芯片64已经被用于存储现有的验证软件,诸如由Las Vegas,NV的Bally Gaming,Inc.在它们的EVOTM游戏系统中使用的BIOS+芯片的以前的版本。把验证软件70放置在BIOS 64是有利的,因为在BIOS 64中的代码通常是对于设备10的引导或建立执行的第一代码,使得很难绕过验证处理过程。

替换地,验证软件70可被存储在固件集线器(FWH),它可包括可以是计算机的电子设备10的部件,用来存储BIOS信息。集线器技术当前由Santa Clara,California的Intel公司开发和使用。通常,所谓的南北桥路通过外围组件互联(PCI)总线链接芯片组的元件。在集线器结构中,元件经由链路间专用总线被连接。这是高速总线,当前具有PCI总线的带宽的两倍。典型地,互联链路总线在2X模式下以133MHz运行。在64比特宽度下,互联链路提供266MB/sec的带宽(2×133.000.000×8字节)。一个这样的集线器被称为固件集线器(FWH)。Intel的82802FWH把系统BIOS和视频BIOS存储在4Mbit或8Mbit EEPROM或闪速EEPROM。

作为另一个替换例,存储验证软件的持久存储媒体70可以是诸如CD-ROM或CD-WR设备80、WORM设备、软盘设备、可拆卸型硬盘设备90、ZIP盘设备,JAZZ盘设备、DVD设备、可拆卸闪速存储器设备、或硬卡型硬盘设备那样的可拆卸存储单元。然而,下面描述的、包含由验证软件70使用的验证数据数据存储74的数据存储74优选地被存储在诸如图1所示的BIOS+63那样的非可拆卸的安全设备中验证的设备10内,或在远端的用于联网的设备的服务器内。另外,验证软件还可以被存储在诸如随机存取存储器(RAM)那样的易失性媒体。

参照图2,图上显示说明用于执行图1的设备10的验证的步骤的流程图。从步骤200开始,组件50的标识号被读出和被验证。然后在步骤202,在数据存储74中搜索每个标识号,以确定每个标识号是否正确。该确定可以是如检验在数据存储中是否存在标识号那样简单。如果在数据存储74中没有找到该标识号,步骤204,则在步骤206,在设备10中生成倾斜条件消息,这可以结束设备10的运行。

优选地,至少数据文件54和组件50的固件的数字内容的数字签名也被使用来执行验证,正如下面详细地说明的。在标识号位于数据存储74的数据存储记录中,当设备10第一次被组装时或在设备10被部署之前,存储从数据文件54或组件50的固件创建的缩写比特串或加密的签名。验证软件70包含使得处理器60从数据存储记录读出签名的指令,步骤208。在步骤210,执行数字签名分析。如果在步骤212数据文件54或组件50的固件鉴权失败,则在步骤206,在设备10中生成倾斜条件消息,这可以结束设备10的运行。在数据文件54包括多个操作系统文件98之一的情形下,该文件54的验证实际上包括验证操作系统98的一部分。

优选地,数据存储可包括关系数据库、对象数据库、平面文件、ASCII列表、寄存器条目、XML文件、或任何其它类型的通常已知的数据表。然而,在存储空间限于验证系统的情形下,用于数据存储74的平面文件结构可能是更想要的,并且需要较少的从中读出和检索信息的软件指令。数据存储74还可包括来自组件50的制造商的独立的系统绑定堆栈,通过使用来自各个组件50的制造商的绑定来验证每个标识号,以便验证组件50。特别地,在诸如个人数字助理(PDA)那样的较小的设备的环境中,这样的系统堆栈可包括一个或多个全局组件数据存储子集,包含来自组件50的制造商的绑定,子集的每个绑定与设备10中的一个组件50的至少一个标识号相联系。提供这样的有限的子集有助于通过控制数据存储74的尺寸而控制验证系统的尺寸。可能希望限制数据存储的尺寸的验证系统的另一个例子是数据存储连同用于PC的其它配置设置值一起被存储在个人计算机(PC)的互补金属氧化物半导体存储器(CMOS)72中的验证系统。在CMOS72中存储数据存储,可以改进安全性,其中PC可被配置成使得只有具有行政管理密码的用户可以改变包含数据存储的CMOS72的部分的内容。

诸如机柜那样的结构组件130可包含被嵌入在它们中的电子识别芯片,诸如由Dallas,Texas的Dallas Semiconductor制造的、所谓的Dallas芯片或IBUTTON设备。IBUTTON设备允许唯一的标识符放置在半导体或芯片内,或放置在可能是或不一定是电子设备的组件上,诸如计算机或游戏机机柜130。IBUTTON设备实际上是放置在16mm不锈钢瓶内的计算机芯片。它可以优选地永久地或半永久地安装在结构组件130上。

搜索或在算法上验证每个标识号可包括在算法上根据标识号标识的组件50的类型来验证每个标识号。标识号和组件类型在数据存储中在算法上被验证,以便验证标识号是有效的。在数据存储74中每个数据存储记录包含在该记录中的标识号假设代表的组件50的类型。由验证软件或者通过从中读出标识号的位置,或者通过执行每个组件50的测试以确定它的类型,来识别组件50的类型。例如,在某些电子设备10中,处理器60可以总是处在设备10的PCI总线或固件集线器上的位置0。替换地,通过测试组件50,验证软件70可以找到可以指明组件50是处理器60的寄存器。否则,标识号本身可以被格式化,以指明组件50的类型。

标识号的读出和组件的验证是在设备10启动时或是周期地在设备10运行期间进行的。如果任何一个标识号在数据存储74中在算法上没有被验证,或如果用在数据存储74中存储的相应的数字签名无法鉴权组件50的数字内容,则设备的操作会被停止。如果任何一个标识号在数据存储74中在算法上没有被验证,则由验证软件生成倾斜条件消息。

在数据存储74中的签名也称为绑定。当组件50在设备10在相关的使用领域中开始工作之前被安装时,至少对于包括数据文件54或包含固件的组件50,安全散列函数-1(SHA-1),可被用于鉴权。SHA-1根据数据文件54或固件的内容计算160比特散列值。然后处理这个160比特散列值,也称为缩写比特串,以通过使用同样地熟知的单向专用签名密钥技术,即数字签名算法(DSA),来创建游戏数据的签名。DSA使用专用密钥/公共密钥对的专用密钥和随机或伪随机生成的整数,来产生数据文件54或组件50的固件内容的160比特散列值的320比特签名。除了标识号以外,这个签名被存储在数据存储74。

当设备10在相关的使用领域中操作,以执行设备10的验证时,验证软件执行数据文件54和组件50的固件的DSA验证。也存储在数据存储74中的是专用密钥/公共密钥对的公共密钥。对于作为DSA验证的部分的每个数据文件54和每个组件50的固件,处理器60和验证软件70首先通过使用SHA-1算法来计算组件50或数据文件54的数字内容的散列值。验证软件70包含使得处理器60接着通过使用DSA签名验证算法用存储的签名来处理或鉴权这个计算的散列值,该验证算法也获取被存储在数据存储74中的上述的公共密钥,作为输入。DSA的验证部分产生关于输入是否解决算法的布尔结果(是或否)。如果算法没有被输入解决,则产生未预期的结果,由此无法验证特定的组件50或数据文件54。生成倾斜消息,该消息触发关断机构,以便如果在操作期间执行验证的话,则禁止设备10的加载操作,或停止设备10的操作。否则,允许使用该设备10。DSA的详细说明可以在美国政府的联邦信息处理标准出版物(FIPS)186-2中找到。该出版物描述DSA签名生成和验证的每个步骤。

替换地,验证软件70可以使用Rivest-Shamir-Adleman(RSA)算法来验证组件。通过使用RSA算法,根据每个组件的数字内容计算第一缩写比特串或散列值,然后把它编码成数字签名。数字签名连同用于组件50的标识号一起被存储在数据存储74。当设备被验证时,通过计算从组件的数字内容计算的第二缩写比特串来验证组件50。通过搜索数据存储74找到标识号,来从数据存储74检索签名。签名被解密,以恢复第一缩写比特串。然后通过比较第二缩写比特串与第一缩写比特串来验证组件50。如果第一和第二缩写比特串不能在算法上被验证,则组件50不能被验证。生成倾斜消息,该消息触发关断机构,以便如果在运行期间执行验证的话,则禁止设备10的加载操作,或停止设备10的运行。否则,允许使用该设备10。

代替一个一个地创建用于每个数据文件的数字签名或对每个数据文件一个一个地签名,一系列数据文件54可以一起进行签名,以便加速处理。数据文件54的缩写比特串、散列值、或签名,也称为摘要,被合并为目录文件,以及该目录如上所述地被签名。验证软件70将每个文件标识为特定的目录的成员,这可以通过相互参考在数据存储74中的数据文件名称或标识号而完成。对于验证,根据每个数字文件54计算缩写比特串并将它们收集到目录中,目录本身被签名和然后通过使用如上所述的DSA或RSA验证技术来验证。因此,目录本身变为被验证的签名的数据文件54,就好像它是单独的数据文件54那样。

参照图3,图上显示由图1的系统执行的、用于替代未验证的或有某些错误的数据文件的步骤的流程图。在某些情形下,无论如何,可能希望允许进行设备10的操作,即使数据文件54验证失败。例如,数据文件54可包含由多个事件造成的错误,诸如在硬盘上的坏的扇区,这转而造成该数据文件54的错误验证。在本例中,失败的验证显然不是由于设备10的篡改,因为所要求的发明的系统通常被设计为阻止这样的事件。而且,直到数据文件中的错误被校正,设备10的操作才是不希望的。当数据文件54被存储在可改变的媒体90时,校正这样的错误可能是像替换文件54那样简单。连同标识号和加密的签名或缩写比特串一起,正确的替换数据文件44也可以被存储在数据存储74。从步骤300开始,验证软件70找出无效的数据文件54,如以上参照图2说明的。验证软件70可以包含某些逻辑块,这些逻辑块检查失败的验证以确定无效的文件的原因仅仅是由于在数据文件54中的错误,而不是篡改,步骤302。这样的逻辑块例如可以包括模糊逻辑块,它使用历史数据来确定在失败的验证周围的环境是否很可能表示简单的错误而不是篡改。多个因素可被验证软件70用来作出这样的确定。例如,确定可以是基于验证失败的数据文件54或组件的数目。在模糊逻辑块中的历史数据可以表明,具有某个百分数的失败的验证可以表示设备10的篡改。这可以指明例如在设备10中硬盘90的欺骗性替换。如果在步骤304,验证软件表示设备10的篡改很可能发生,则在步骤306,生成倾斜消息。否则,在步骤308,从数据存储74提出替代数据文件54,以替代被验证失败的数据文件54。

替换地,把替代文件、或更新文件存储在数据存储74后,更新文件可被放置在CDROM或CD-RW设备80,以82表示。如果数据文件54是大的,则优选地,把更新文件82存储在CD设备80,而同时数据存储74本身仍旧安全地存储在BIOS+64。更新文件82被组织在大的更新文件数据存储74,以易于由标识号加索引。

参照图4,图上显示可与图1的设备一起使用的网络的结构的框图。在一个实施例中,数据存储74远离设备10或多个设备10,其中在连接包含数据存储74的数据库服务器402与设备10的网络400上执行验证。数据存储74被存储在持久存储媒体490内,或被连接到数据库服务器402。设备把每个组件50(图1)的标识号发送到数据库服务器402。数据库服务器402然后如这里描述地执行算法上验证其自己版本的验证软件70使用的步骤。例如,设备10可以是个人计算机(PC),其中在允许在网络服务器404上进行事务之前执行验证。这样的系统的主要的例子是用由银行拥有的或操作的网络服务器404为执行银行事务而建立的系统。在这样的系统中,银行可以通过使用授权的PC只允许进行信任的事务,授权的PC对于所有的组件50和银行事务软件(图1的92)的绑定被记录在数据存储74中。数据存储74可以位于银行的网络服务器404或网络服务器402。一旦所有的组件被验证,银行的网络服务器402就允许使用PC进行事务。

在另一个例子中,设备10包括游戏机10,其中游戏机10的验证是在允许在游戏机上玩游戏之前执行的。数据存储74可以放置在游戏机10的安全位置,诸如被放置在游戏机10内加锁的盒子内的ROM设备77,或放置在远离游戏机10,这样,游戏机10通过网络400被连接到包含数据存储74的网络服务器402。对于上述的银行个人计算机10,在游戏机10发送标识号、散列值等等到网络服务器402之后,在网络服务器402处验证游戏机10的组件50。

所要求的发明的另一方面是用于在游戏机10中记录事件消息的方法和系统。设备10可包括游戏机10,游戏机10包含用于监视由游戏机10处理的一个或多个事件的监视器108。监视器108可包括位于游戏机10内的各种位置以准备好加载到RAM76的以便在游戏机10运行期间由处理器执行的可执行的指令集或软件程序。例如,监视器108可被存储在硬盘90、ROM77或BBRAM62。优选地,游戏机10的操作系统98是事件驱动的。在事件驱动的系统或设备10中,应用92和组件50响应于来自用户(鼠标运动、按键敲击、菜单选择等等)的输入和来自其它应用92与组件50的消息。这例如是与连续处理来自指令组下一项的批处理操作不同的。监视器108包括事件管理系统,它包括用来监视应用92、操作系统98处理、和设备的其它组件50的软件或固件。替换地,监视器108的至少一部分可以位于远端服务器402、工作站、或其它网络设备。

参照图5,图上显示由监视器108和游戏机10执行的步骤的流程图。监视器108,替换地可包括设备10中的硬件和软件组件50,诸如它自己的处理器60和事件管理软件92,在步骤500,监视器108监视在游戏设备中生成的常规和非常规事件或事件消息。作为例子,向游戏机投币,将触发相应的常规投币事件消息,该事件消息触发组件50进行操作和/或软件指令执行。类似地,异常故障或除零的条件将触发生成非常规的或错误事件消息。这些事件消息通常可以称为系统事件或事件消息。

被包括在监视器108中,或与监视器108分开的但紧密地协调的是检测器110,用于检测一个或多个系统事件的选择的系统事件,以使得它们可以被记录,步骤502。游戏机10或监视游戏机10的远端服务器402把用于检测的系统文件的事件消息存储在持久的存储设备,诸如硬盘90或在远端服务器402上的持久存储媒体490的日志文件104中。

在检测步骤中,步骤502,每个监视的系统事件具有某个类型,为了参考起见,它可以称为系统事件类型。检测器110根据所选系统事件的系统事件类型来选择所选择的系统。系统事件类型例如可以包括在事件消息中的代码,该代码指明在系统事件所属于的或生成了事件消息的系统中发生的事件的类别。例如,前面提到的投币,异常故障,和除零的系统事件都用系统事件类型来标识。在步骤502,检测器110通过比较每个监视的系统事件的系统事件类型与系统事件类型列表而选择所选择的系统事件,以及如果所选择的被监视系统的系统事件类型算法上验证在该列表上的一个系统事件类型,则对于所选系统事件选择一个监视的系统事件。每个系统事件被监视,以及当检测器根据它们的类型选择多个系统事件时,每个选择的系统事件的系统事件消息被存储在硬盘90上的日志文件104中。该列表可被存储在硬盘90上的索引或查找表文件112。查找表可包括数据存储文件112,它例如可以是关系的、基于对象的、或XML格式的。

RAM76的缓存区可以设置在旁边,用于缓存多个监视的系统事件,其中存储步骤,步骤503,包括每次在由检测器110在步骤502检测到用于存储的一个系统事件类型时把一个或多个缓存的系统事件存储到日志文件104中。优选地,在RAM76中的缓存器应当足够大,以使得至少最后的1000系统事件可被存储在缓存器中,然后如果所选择的系统事件被检测和被存储,则被写入日志文件104。在RAM76中的缓存器因此作为系统事件消息的先进先出堆栈操作。

游戏机10中的存储器62和76或组件50的其它数字内容可以在检测到选择的系统事件后被存储。可能希望的是,存储组件50的存储器的整个内容、组件50的存储器的选择的内容、或游戏机10的处理器组件60的寄存器的选择的或整个数值。如果选择的系统事件是存储器保护异常错误,则可能希望至少存储所违反的在RAM中受保护的存储器的内容以及对于造成错误的损坏应用的存储器分配表。即使存储器包括安全的或电池备份的随机存取存储器装置,无论如何,仍旧可能希望在其它应用应当进一步修改存储器的情况下存储存储器62的内容。

参照图6,图上显示用于读出持久存储媒体的文件分配结构或文件分配表99的步骤的流程图。在所要求的发明的另一方面,希望(1)在电子设备10的操作系统98被加载之前或(2)不需要电子设备10的操作系统98时,在存储在持久存储媒体上的数据文件54上执行诸如验证操作那样的操作。典型地,操作系统98必须被加载,和启动或导引,以便对持久存储媒体90执行文件访问操作。这是因为操作系统通常独占地包含文件访问系统,用于读出被存储在存储媒体90上的文件分配结构99。然而,在某些设备10中,希望在引导操作系统99之前验证在持久存储媒体90上的数据文件,尤其是为了安全目的。

在这方面,所要求的发明的系统具有被存储在BIOS或FWH64中的文件分配读出器76。这使得有可能在不存在运行和操作系统98时访问被存储在持久的存储媒体90中的文件。在步骤600,处理器60可以访问被存储在BIOS中的文件分配读出器76,以打开在持久的存储媒体90上的文件分配结构99并读出它,步骤602。文件分配读出器76是包括用于处理诸如由操作系统98使用的那样的文件分配结构的可执行指令集的计算机程序。为了更快速的访问,处理器60可以把文件分配结构99的内容移入RAM76。处理器60然后可以处理文件分配结构604,以提供对存储在存储设备上的文件的访问。

可以从在BIOS64中的这种新功能获益的这种应用的例子是上述的验证软件70,用于验证在持久存储媒体90上的软件组件或数据文件54。在这种情形下,操作系统文件98可以在加载或引导之前或在任何软件程序92从持久存储媒体90运行之前被验证。这使得验证软件70与被存储在正被验证的持久存储媒体90上的数据文件54完全无关。替换地,代替持久存储媒体90或除此以外,还可以利用诸如那样的易失性存储媒体。

如上所述,验证数据文件54可包括通过从数据存储74检索根据文件计算的第一缩写比特串,从数据文件54计算第二缩写比特串,以及使用第一缩写比特串鉴权第二缩写比特串来验证文件,从而验证每个数据文件。如上所述,签名或缩写比特串74的数据存储也可以被存储在BIOS64,其中验证软件使用DSA或RSA来针对被存储在数据存储74中的相应的签名或缩写比特串验证每个数据文件54。在BIOS或FWH64中的文件分配读出器被配置成读出基于32位的文件分配表、基于16位的文件分配表、WINDOWS NT文件系统结构、或由持久存储媒体90使用的任何其它文件分配结构99。

再次参照图1和4,另一个优选实施例针对用于验证游戏设备10的一个或多个下载的组件54的方法,其中游戏设备具有可改变的硬盘驱动器80(或其它持久存储媒体90),和下载的选择的组件包括游戏有关内容。该方法包括:使得能够在游戏设备10上发起游戏;把游戏有关内容92-96下载到可改变的硬盘驱动器80,而同时使得游戏设备10能够玩游戏;读出游戏有关内容92-96的标识符;验证该标识符是有效的(使用验证软件70);以及重新配置游戏设备10,以响应于发起事件而利用新下载的、游戏有关内容92-96。在另一个实施例中,代替持久存储媒体90或除此之外,游戏设备利用诸如随机存取存储器(RAM)那样的易失性存储媒体,。

优选地,本方法还包括把下载的、游戏有关内容92-96写入到可改变的硬盘驱动器80,而同时使得游戏设备能够用于玩游戏。在另一个优选实施例中,把游戏有关内容92-96下载到可改变的硬盘驱动器80,而同时游戏设备10是活动的。在再一个实施例中,游戏有关内容92-96可下载到可改变的硬盘驱动器80的单独的分区区域,而同时使得游戏设备能够用于玩游戏。在这样的实施例中,下载的游戏有关内容92-96优选地由第三方保管(或否则被下载到某些类型的外级区域),用于以后鉴权。例如(不作为限制),第一游戏正在进行,而同时第二游戏(例如,游戏有关内容92-96)被下载和被写入到可改变的硬盘驱动器80的某个部分,用于以后鉴权。这样,用于改变或否则重新配置游戏的明显的下载时间大大地减少,而同时仍旧考虑了适当的保护以满足游戏规则。优选地,这些适当的保护包括诸如RSA、DSA和SHA-1那样的验证方法,这已在上面详细地讨论。

优选的方法还包括把关联于游戏有关内容92-96的标识符同数据存储74中的号码相联系的算法上验证,用于确定关联于游戏有关内容的标识符是否是有效的。典型地,这种算法上验证通过使用可执行的指令或验证软件70被执行。优选地,下载的组件54包括数据文件。而且,数据文件优选地包括诸如游戏有关内容92-96那样的软件程序文件。在一个优选实施例中,方法还包括如果文件不是有效的,则替代该文件。另外,方法优选地还包括如果标识符在数据存储74中没有被算法上验证,则阻止利用游戏有关内容92-96。优选地,方法还包括如果标识符在数据存储74中没有被算法上验证,则生成倾斜条件消息。

在一个优选实施例中,数据存储74远离游戏设备10,以及在连接包含数据存储的数据库服务器402与游戏设备的网络400上执行验证。优选地,游戏设备10把每个组件54的标识符发送到数据库服务器402,以及数据库服务器执行在算法上验证的步骤。在一个实施例中,游戏设备10包括具有一个或多个组件54的计算机,这些组件必须在允许在服务器上进行事务之前优选地通过使用验证软件70被验证。而且,在一个优选实施例中,网络服务器404包含数据库服务器402。优选地,数据存储74包括关系数据库或对象数据库,以及它是XML格式。另外,数据存储74优选地包括独立的系统绑定堆栈,以及标识符通过使用绑定被验证,以便验证下载的组件54。优选地,数据存储74被存储在CMOS72存储器或被存储在BIOS64。

再次参照图1,在用于验证游戏设备10的下载的组件54的优选实施例系统中,游戏设备具有可改变的硬盘驱动器80,以及下载的组件包括游戏有关内容92-96。系统包括用于玩游戏的游戏设备10,其中游戏有关内容92-96可下载到可改变的硬盘驱动器80,而同时使得游戏设备能够用于玩游戏。系统包括处理器60,用于读出关联于游戏有关内容92-96的标识符和用于验证该标识符是有效的。游戏设备10被重新配置成在响应于发起事件而验证游戏有关内容92-96之后,利用新下载的游戏有关内容92-96。如上所述,发起事件是由游戏调整器批准为开始安装和/或重新配置新下载的游戏有关内容的事件。

优选地,系统还包括由处理器60执行的、一个或多个可执行的指令集,其中可执行的指令使能读出和验证标识符。在优选实施例中,系统还包括持久存储媒体90。优选地,至少一个该一个或多个可执行的指令集被存储在持久存储媒体90。在优选实施例中,持久存储媒体90可以是基本输入输出芯片(BIOS)64、固件集线器、闪速存储器、和/或硬盘驱动器。另外,持久存储媒体90优选地是可拆卸存储单元,包括,仅仅作为例子而不作为限制:CD-ROM读出器、WORM设备、CD-RW设备、软盘设备、可拆卸硬盘设备、ZIP盘设备,JAZZ盘设备、DVD设备、可拆卸闪速存储器设备、和硬卡设备。替换地,代替持久存储媒体90或除此之外,系统利用诸如随机存取存储器(RAM)那样的易失性存储媒体。

优选地,处理器60响应于发起事件读出和验证标识符。在这样的优选实施例中,处理器60周期地读出和验证标识符,而同时使得游戏设备不能用于玩游戏。再次参照图4,游戏设备10能够连接到为了400,其中数据存储74被存储在远离游戏设备的服务器,并且其中处理器60把标识符发送到服务器,以便算法上验证在数据存储中的标识符。

现在参照图7,在用于验证游戏设备10的下载的组件54的优选的方法中,游戏设备具有可改变的硬盘驱动器80,以及下载的组件包括游戏有关内容92-96,具有可与清单一同下载的一个或多个模块组件。该方法包括:在步骤700,使得能够在游戏设备10上发起游戏;在步骤710,把游戏有关内容92-96下载到可改变的存储媒体80,而同时使得游戏设备10能够玩游戏;在步骤720,读出关联于游戏有关内容的标识符;在步骤730,验证该标识符是有效的;在步骤740,重新配置游戏设备10,以响应于发起事件而利用新下载的和鉴权的游戏有关内容的至少一个模块组件;以及在步骤750,在游戏设备被重新配置和被禁止用于玩游戏的同时,显示玩家可看见的重新配置通告。

最后,在用于验证游戏设备10的下载的组件54的另一个优选的系统中,再次地,游戏设备具有可改变的硬盘驱动器80,以及下载的组件54包括游戏有关内容92-96。系统包括用于玩游戏的游戏设备10、数据存储74和处理器60。在游戏设备10中,包含一个或多个数据集的游戏有关内容92-96可下载到可改变的硬盘驱动器80,而同时使得游戏设备能够用于玩游戏。数据存储74包含根据可与声明一同下载的一个或多个数据集中的每一个数据集所计算的第一缩写比特串。另外,处理器60根据一个或多个数据集中的一个数据集计算第二缩写比特串,以及通过使用第一缩写比特串鉴权从数据集计算的第二缩写比特串来验证每个数据集。优选地,游戏设备10被重新配置成响应于发起事件,在验证游戏有关内容之后,利用新下载的游戏有关内容92-96。而且,在一个优选实施例中,用另一种类型的可改变的存储媒体90替换或补充可改变的硬盘驱动器80。

而且,上述的各种方法被提供仅仅作为说明,而不应当看作为限制本发明。本领域技术人员将容易看到各种修改例,以及可以对于所要求的发明作出改变而不背离所要求的发明的精神和范围。因此,打算仅仅由所附权利要求限制本发明。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号