使在计算设备上使用的数字数据安全可靠的方法和设备 技术领域\n本发明一般涉及在使数字数据能够使用以前将它合法化,更具体而 言,涉及保证与数字数据的使用有关的安全政策被强化执行,其中该安 全政策保证数字数据的来源和合法性。\n背景技术\n个人计算机提供一种平台,愿意投入编程工作的任何人可以在此平 台上写程序,这些程序可以实现几乎任何所希望的功能,仅仅受限于编 程语言,操作环境,和执行程序的硬件的约束,个人计算机的制造商和 提供操作系统与编程工具的部门对用户如何选择使用它们各自的产品 加的限制很少。然而,有这样的情况,限制计算机设备如何被使用可能 是重要的。广义地说,计算设备可以是包括处理器的任何设备,执行存 储在存储器中的机器指令以实现某种功能。因而,计算设备可以具有一 种专有的功能,或者在功能上可以是通用的,就象典型的个人计算机那 样。\n在某些方面与个人计算机类似,而在其主要功能方面是比较专门的 一种计算设备的类型是游戏控制台,虽然游戏控制台通常可以实现其他 的功能,但它们的主要功能是执行机器指令,使一个或多个用户能够玩 各种类型的游戏。生产游戏控制台的公司的基本兴趣在于控制在它们的 游戏控制台上执行的任何游戏软件的各个方面。例如,它们将想要保证 游戏软件的质量满足一定的技术规^f各。因为典型情况下游戏控制台的制 造商准许其他公司生产能够在它们的游戏控制台上使用的游戏软件,最 好能够防止未被准许的软件在游戏控制台上使用。如果在游戏控制台上 玩未被准许的软件将导致收益损失暂且不说,也有一个对在游戏控制台 上玩的软件保持质量控制的问题。在软件被准许对公众分配和发行以 后,保证被准许在游戏控制台上使用的软件不被修改也将是重要的。这 样的控制未被施加的话,游戏软件可能被"乱砍乱伐"以便添加色情内 容或其他特性或功能,而这些并没有包括在原先准许由取得游戏控制台 许可证的软件公司分配的授权软件中。另外,游戏控制台应该能够强制 执行有关游戏控制台的地理区域的限制。防止在一台已售出的游戏控制台上对一个地理区域准许玩的游戏软件使用在不同的区域中。\n对游戏控制台应该强制执行的其他政策涉及基于游戏软件的暴力 等级,所用的语言,性内容,和其他的准则对它分类。娱乐软件评级局\n(ESRB)是检查游戏软件和对它分级的组织,并通过将它分配到对游戏 软件认为是适当的年龄组目录中把软件分类。这些年龄组目录包括:"每 个人"(对所有的年龄組都适合),"成年人,,(年龄为18岁以上),"成 熟者"(年龄为17岁以上),"少年"(年龄为13岁以上)和"儿童,,(年 龄为3岁以上)。订购这种服务的游戏软件生产者从ESRB接收评级结果\n并同意将相应的分级符号包含在它们的软件的包装上。分级也被包含在 游戏软件中,游戏控制台可被授权的用户有选择地编程,不玩具有在所 希望的等级以上的任何年龄组的等级的游戏软件。因此,父母亲可以将 一台游戏控制台设置为只玩被评级为对每个人都适合的游戏软件。游戏 控制台防止用户绕过有关在控制台上由授权用户最后设置的目录以外 玩游戏软件的任何限制是重要的。\n有几种不同的途径可用来强制执行与在计算设备如游戏控制台上 执行的软件有关的政策。例如, 一种硬件元件,如具有几种不同电阻值 之 一 的 一 个电阻器可被应用在计算设备中用以指定软件所授权的区域。 然后来自不同区域的软件将对电阻值测试,并且将不在游戏控制台上执 行,因为在游戏控制台中检测到的电阻值未在预先规定的预期值的容限 内u\n为了鉴定软件其他的涉及硬件的技术一直在使用用于存储游戏软 件的插入盒。在一种先前技术的游戏系统中,授权游戏软件盒的底座和 游戏控制台中相应的插座被构成以防止不同形状的盒插入插座中。另 外,游戏控制台和任何授权的盒包括一个处理器和一个存储为鉴定该盒 所需的特定的数据的只读存储器(R0M)。如果由游戏控制台中的处理器 和盒中的处理器两者实施的计算结果并不一致,游戏控制台将不能够使 存储在盒中的游戏软件在游戏控制台上执行。\n因为为了在当代的游戏控制台上运行而设计的图形丰富和游戏复 杂,所以游戏软件被比较有效地在光存储媒介,如压缩盘-只读存储器 盘(CDR0M)或数字通用盘(DVD)上分发。因此,在软件部件中必须采 用不依靠硬件的替代方法,因为盘并不提供包含其他硬件部件的选件供 在鉴定软件和强制执行安全和使用政策中使用。每个游戏控制台制造商为了阐述这个问题是如何选择的详情并不容易得到。很清楚,采用存储 在盘上的数据确定是否软件已被变更并强制执行安全政策和在游戏控 制台上执行的软件的用法将是所希望的。 发明内容\n实际上有两个主要的步骤必须依据本发明加以阐迷,用以保证被计 算设备,如游戏控制台所使用的数字数据是被授权的,自从它被分发以 来一直未被变更,并且遵循在这些设备上使用有关的任何政策。在第一 主要步骤中,数字数据被分发到一个终端用户以前必须被加密。其次, 计算设备必须被编程,确定数字数据被授权, 一直未被变更,并且按另 一种方式确认有关在此特定的计算设备上使用数字数据的安全政策。\n为了将数字数据分发以前对它加密,在本发明中所用的方法按照预 先规定的步骤确定用于数字数据的数据摘要,典型情况下,数字数据包\n分摘要;使得所有的部分摘:构成数据摘要。这个步骤;生i有与数; 数据唯一地相关的形式的数据摘要,然后数据摘要被包括在数字数据的 头段中。接着,利用预先规定的步骤对头段确定头段摘要,而且,头段 摘要唯一地与头段相关。然后利用被保密的私人密钥将头段摘要加密。 这样一来数字数据供分发是安全的。 一旦被加密,已加密的头段摘要,头段,和数字数据可被分发供在 计算设备上使用,在计算设备上使用数字数据以前,计算设备必须确认 数字数据的真实性,计算设备必须确认数字数据被授权并且自从通过实 施以下的步骤进行加密以来一直未被变更过。起初,利用与私人密钥相 对应的公用密钥对已加密的头段摘要解密,恢复头段摘要。接着,利用 预先规定的步骤确定确认的头段摘要。然后,计算设备将头段的确认的 头段摘要与由解密的步骤所恢复的头段摘要相比较,以确认自从数字数\n据被加密以来是否随数字数据分发的头段已被变更。如果没有,计算设 备利用预先规定的步骤确定与包括在头段中的数椐摘要相对应的数字 数据的确认的数据摘要。然后将确认的数据摘要与包括在头段中的数据 摘要相比较,以确认在加密步骤以后被分发的数字数据是否已被变更。 实际上,这最后的两个步骤对数字数据的每个部分确定确认的部分摘 要,然后将确认的部分摘要与包括在头段中的部分摘要相比较。计算设 备被编程,如果确认的头段摘要并不与通过解密步骤恢复的头段摘要一致,或者如果确认的数据摘要并不与包括在头段中的数据摘要一致,则 阻止计算设备进一步使用数字数据。\n本方法前面的部分只是阐述问题的部分。为了控制数字数据的使 用,规定用于要被强制执行的安全政策的准则的信息在数字数据被加密 以前包括在数字数据的头段中。因此,预先规定的步骤被施加到包括这 个信息的头段,如以上所指出的那样,用以确定头段摘要。能够在计算 设备上使用数字数据以前(假定确认的头段摘要已经与通过解密步骤恢 复的头段摘要一致),计算设备被编程,以便确定是否在头段中的信息 能够或允许在计算设备上使用数字数据。如果是这样,允许在计算设备 上进一步使用数字数据,否则被阻止,因为数字数据的真实性未被确认 。如果不是这样,在计算机器上任何进一步使用数字数据被阻止。\n在确定是否在头段中的信息使数字数据能够在计算设备上使用中, 计算设备将包括在头段内信息中的安全政策准则的指示与存储在计算 设备中的一种相应的准则状态作比较,用以确认它们是一致的。对于至 少一种准则,被授权的用户能够在计算机器上选择该准则的状态。其他 类型的准则被存储在计算设备的存储器中,它们是不能够被计算设备的 用户访问或变更的,在头段中的信息最好指明许多系统的政策准则,包 括数字数据被允许在计算设备上使用的地理区域,数字数据被允许加载 到计算设备中供使用的介质类型,基于至少 一种数字数据特性的额定 值,在执行或使用数字数据以前必须处于适当位置的控制台系统设置 (例如,用户界面的语言,日期,时间等),当某些系统部件被确定有 故障时,是否可以信赖数字数据的故障容限指示,指明是否数字数据可 被信赖的弹出控制,以便允许取下数字数据所在的便携式媒介,和/或 任何其他预先确定的系统政策。\n预先规定的用于产生每种摘要的步骤最好包括一种散列算法,正如 以上所指出的那样,数字数据的每个部分被预先规定的步骤进行处理, 以产生包括在头段中的部分摘要。计算设备被编程以防止进一步使用确 认部分摘要并不与头段中相应的部分摘要一致的任何部分中的数字数 据》\n本发明的其他方面被指向 一种系统,用于实施在加密数字数据和在 系统上使用以前强制执行对数字数据的安全政策中所用的方法的步骤。 在每种情况下,该系统包括一个处理器和一个存储器,机器指令被存储在存储器中,使处理器能够实施通常与上述的方法的步骤一致的功能。 本发明也指向存储媒介,机器指令被存储在其上用于实施以上所讨论的 步骤。\n附图说明\n通过参考以下的详述连同附图,本发明以上的各方面和许多伴随的\n优点将变得更加容易认识和更好的理解,其中:\n图1是一种游戏系统的简要的等比例图,这种系统适用于实施本发\n明;\n图2是图1的游戏系统的方框图;\n图3是用作说明一种网络游戏系统的简图,在其中图l的游戏系统 被通过网络连到其他的控制台和服务装置;\n图4是用作说明用于对便携式媒介上的数据加密以便仅在已授权的 控制台上使用的逻辑过程流程图;\n图5是用作说明用于将控制台初始化,以便强制执行与控制台和数 字数据有关的安全政策的逻辑过程流程图;\n图6是用作说明用于强制执行控制台和数字数据之间兼容性的安全 政策的逻辑过程流程图;\n图7是用作说明用于强制执行关于利用控制台使用数字数据的安全 政策的逻辑过程流程图;和\n图8是一种一般常规的个人计算机(PC)的方框图,它对于在分配 数字数据供在控制台上使用以前加密数字数据是适合的。\n具体实施方式\n本发明的一种优选实施方案被描述如下,其中迷及它在电子游戏系 统中的使用,这种系统被设计用以执行被分发在便携式的,可移动的介 质上的游戏软件。本领域的技术人员将认识到本发明也可在机顶盒,连 换廊式的游戏机,个人计算机(PC),和其他的当使用数字数据时需要 强制执行安全政策的系统中实施。\n示范系统\n如图1中所示, 一种示范的电子游戏系统100包括一个游戏控制台 102和用于最多4个用户输入设备的支撑物,如控制器104a和104b。 游戏控制台102装有一个内部的硬盘驱动器(在本图中未示出)和一个 便携式介质驱动器106,支持各种形式的便携式光存储介质,如由光存储盘108所示。适当的便携式存储介质的例子包括DVD盘和CD - ROM盘 。在这种游戏系统中,游戏程序最好在DVD盘上分发供随游戏控制台使 用,但也考虑在使用本发明的这种或其他类型的系统上使用其他的存储 介质,用以强制执行数据安全政策并保证输入本系统的数字数据的真实性。\n在游戏控制台102的前面板上是4个槽110,用于连接和支撑控制 器,然而槽的数量和排列可被修改。电源按钮112和弹出按钮114也被 放置在游戏控制台102的前面板上。电源按钮112控制电源对游戏控制 台的应用,弹出按钮114交替地打开和闭合便携式介质驱动器106的一 个托盘(未示出),使存储盘108能够插入和抽出,以致在盘上的数字 数据可被读出供游戏控制台使用。\n游戏控制台102通过声/视(A/V)接口电缆120连到电视机或其他 的显示监视器或屏幕(未示出)。电源电缆插头122连到通常的交流电 线路电源(未示出)时将电功率传递到游戏控制台。游戏控制台102可 被进一步提供一个数据连接器124,用以,例如通过通常的电话调制解 调器或宽带连接在网络,如因特网上传送数据。\n每个控制器104a和104b被通过导线(或另一种方案是通过无线接 口)耦合到游戏控制台102、在用作说明的实施方案中,控制器是兼容 的通用串联总线(USB),并被通过USB电缆130连到游戏控制台102, 游戏控制台102可以装有范围广泛的用户设备中任何一种用于与游戏软 件接合并控制它。如图1中所示,每个控制器104a和104b装有两个手 杆132a和132b, 一个D-板134,按钮136,和两个触发器138。这些控 制器只是代表性的,其他已知的游戏输入和控制机构可替代图1中所示 的设备或添加到图1中所示的设备中供随游戏控制台102使用。\n一种可移动的或便携式的存储器单元(MU) 140可以作为选件插入 控制器104,提供附加的可移动的存储设备,便携式固使用户能够存储 游戏参数并通过将便携式MU插入其他的控制器运送它们用以在其他的 控制台上玩。在所描述的实施方案中,每个控制器被配置成容纳两个MU, 然而可以另外采用多于或少于两个MU。\n游戏系统100能够,例如,玩游戏,播音乐,和电岸见。利用存储在 硬盘驱动器上或从驱动器106中的光存储盘108,从在线的源,或从固 140读出的数字数据实现其他的功能已被考虑。例如,游戏系统100能够潜在地实现:\n争玩存储在CD和DVD盘上,在硬盘驱动器上,或从在线源下载的游 戏项目;\n,播放存储在便携式介质驱动器106中的CD上,在硬盘驱动器的文 件(例如,视窗媒体声频(WMA)格式)中,或从因特网或其他的网络 上的在线流式源得到的数字音乐;和\n*播放存储在便携式介质驱动器106中的DVD盘上,或硬盘驱动器 上的文件(例如,活动的流式格式)中,或从因特网或其他的网络上的 在线流式源得到的数字视听(AV)数据。\n图2更加详细地示出游戏系统100的功能部件,游戏控制台102包 括一个中央处理单元(CPU) 200,和一个存储器控制器202,便于处理 器访问各种类型的存储器,包括只读存储器(ROM) 204,随机存取存储 器(RAM) 206,硬盘驱动器208,和便携式介质驱动器106。 CPU 200装 有一个等级1的超高速存储器210和一个等级2的超高速存储器212, 用以暂时存储数据,以便减少存储器访问周期数目,从而改进处理速度 和吞吐量。CPU 200,存储器控制器202,和各种存储设备被通过一种或 多种总线互联,包括串行与并行总线,存储器总线,外围总线,和利用 各种各样总线结构中任何一种的处理器或局部总线。举例来说,这样的 结构可以包括工业标准结构(ISA)总线,微通道结构(MCA)总线,增 强型ISA (EISA)总线,电视电子标准协会(VESA)局部总线,和外围 部件互联(PCI )总线。\n作为一种适当的实施方案的例子,CPU 200,存储器控制器202, ROM 204,和RAM 206被集成在一个公共的;(t块214上。在这个实施方案中, ROM 204被配置成闪烁ROM,它被通过PCI总线和ROM总线(它们均未 示出)连到存储器控制器202。 RAM 206被配置成多个双数据速率同步 动态RAM (DDR SDRAM),它们由存储器控制器202通过分离的总线(未 示出)独立地控制。硬盘驱动器2G8和便携式介质驱动器106被通过PCI 总线和先进技术附加装置(Advanced Technology Attachment (ATA)) 总线216连到存储器控制器。\n一个3D图形处理单元220和一个^L频编码器222组成视频处理管 道,用于高速和高分辨率的图形处理。数据从图形处理单元220经过数 字视频总线(未示出)传送到视频编码器222。 一个声频处理单元224和一个声频编码器/解码器(Codec) 226组成相应的声频处理管道,用\n于高保真度和立体声的声频数据处理。声频数据经通信链路(未示出) 在声频处理单元224和声频声码器226之间传递。视频和声频处理管道 输出数据到一个A/V 口 228,用以传送到电视或其他的显示监视器。在 用作说明的实施方案中,视频和声频处理部件220 - 228被安装在模块 214上。\n一个USB主控制器230和一个网络接口 232也由模块214实现。USB 主控制器230被通过总线(例如,PCI总线)连到CPU 200和存储器控 制器202,并作为外围控制器104a-104d的主机起作用。网络接口 232 提供对网络(例如,因特网,本地网,等)的入口,可以是范围广泛的 各种有线或无线接口部件中任何一种,包括以太网卡,调制解调器,蓝 牙模块,电缆调制解调器,和其他同类产品。\n游戏控制台102有两个双控制器支持分组合件240a和240b,每个 分组合件支持两个游戏控制器104a-104d。前面板输入/输出(1/0)分 組合件242支持电源按钮112和弹出按钮114,以及暴露在游戏控制台 外表面上的任何发光二极管(LED)或其他指示器的功能。分组合件240a, 240b,和242通过一个或多个电缆组合件244连到模块214。\n8个MU 140a-140h被示出,可连到4个控制器104a - 104d,也就 是,每个控制器连接两个MU。每个MU 140对游戏提供附加的存储器, 可以存储游戏参数和其他的数据,当MU 140插入控制器时,可被存储 器控制器202访问。\n系统电源模块250对游戏系统100的部件提供功率。电扇252冷却 游戏控制台102内的部件和电路。\n为了实施本发明,包含存储在DVD或其他存储介质(或通过网络下 载)上的机器指令的游戏软件应用程序260被装载到RAM 206和/或超 高速存储器210, 212中供CPU 200执行。软件应用程序260的各个部 分可以只在需要时装入,或者可将所有的软件应用程序(取决于它的规 模)装入RAM 206。软件应用程序260被较详细地描迷如下。\n游戏系统100可以作为一个孤立的系统,通过将该系统直接连到电 视或其他的显示监^l器进行搡作。在这种?瓜立才莫式中,游戏系统100使 一个或多个用户能够玩游戏,观看电影,或收听音乐。然而,利用通常 的调制解调器或宽带连接到因特网或通过网络接口 2 32可得到的其他网络,游戏系统100可以进一步作为一个较大的网络游戏社团的一个组分 进行操作,使在线的多个玩家能够在通过因特网或其他网络的游戏中交 互作用。\n网络系统\n图3示出一种示范的网络游戏环境300,通过网络302将多个游戏 系统100a,…100n互联。网络302表示范围广泛的数据通信网中任何 一种,并可包括公用部分(例如,因特网),以及私人部分(例如,居 民的局域网(LAN))。网络302可以利用范围广泛的通常的通信配置中 任何一种或多种来实施,包括既有有线又有无线类型。范围广泛的通信 协议中任何一种可被用于通过网络302传送数据,既包括公用的又包括 特许的协议。这些协议的例子包括TCP/IP, IPX/SPX, NetBEUI,等。\n除了游戏系统100以外, 一个或多个在线服务装置304a,…,304m 可通过网络302接入,对参与者提供各种服务,如主持在线游戏,提供 可下载的音乐或视频文件服务,主持游戏竟赛,提供流式A/V文件服务, 和同类项目。网络游戏环境300可以进一步采用密钥分配中心306,在 对于相互互联以及连到在线服务装置304的各个玩家和/或游戏系统 100的认证中起作用。分配中心306对有效的参与者分发密钥和服务票, 然后可用于组成包括多个玩家的玩游戏组,或者从在线服务机构304购 买服务项目。\n网络游戏环境300对各个游戏系统100引入另一种可得到的存储器 源,也就是,在线存储器。除了光存储盘108,硬盘驱动器208,和固140 以外,游戏系统100a也可以通过网络302访问在远距离存储位置上可 得到的数据文件,例如由在线服务装置304 m上的远距离存储器308提供。\n示范的方法\n为了示范的目的,以下描述一种优选实施方案,用于对游戏加密, 并只有在被授权的控制台上安全地使用游戏,以保证游戏软件未被变更 和保证在游戏控制台上只可以玩被授权玩的软件。特别是,该实施方案 强制执行安全性和关于在便携式介质,如光盘上分配游戏的其他政策, 并保证只有未被变更的游戏复制品可被执行,和只有通过特定的被授权 的游戏控制台组,如只在世界的特定区域中销售供使用的游戏控制台来 实施„本领域的技术人员将认识到可以对其他形式的数字数据应用本发明,如仿真,图象,视频,声频,文本,等。以下所描述的方法也可应 用到,或很容易修改成供在几乎任何类型的网络上,在几乎任何类型的 介质或通过任何类型的传播媒介,包括,例如,射频传播和光信号,没 有限制地控制对数字数据的访问中使用。\n图4是用作说明用于对作为存储在便携式介质上仅供授权的控制台\n使用的数字数据400的游戏软件加密的逻辑过程流程图。证明文书402 被随同数字数据编码在便携式介质上。证明文书402包括所希望的安全 政策信息,如由ESRB规定的内容额定值,其他的安全政策信息包括游 戏軟件被授权使用的游戏区域,如北美,日本,欧洲,或"世界的其余 部分",游戏区域信息可以指明功能方面而不是地理区域。例如,在游 戏控制台的生产和产后服务期间可以使用"制造区域",使数字数椐只\ni项包括在证明文书中的另 一种形式的安全政^信息详细说明当将数 字数据加载到RAM中时游戏控制台被授权访问的介质的类型。例如,证 明文书可被设置成只能由某些种类游戏控制台读取的 一种唯一的光存 储盘的类型,利用介质类型,软件分发商可以防止从硬驱动器或通过网 络将软件加载到RAM中,或者相反,可被设置或授权通过网络下载,例 如,准许在控制台上玩演示软件。另外,另一种方案是,介质类型可被 设置成包括一个特定的授权的网址,由此数字数据可被访问并加载到 RAM中,防止软件被从任何其他的网址下载。\n为了对便携式介质上的数字数据加密,在步骤404, 一种安全系统 识别数字数据的各部分并计算对于每部分数字数据的摘要。每个摘要被 称为部分摘要。最好,利用一种算法计算部分摘要,如由国家标准和技 术研究所(NIST)规定的安全散列算法(Secure Hash Algorithm)版 本1 ( SHA - 1 )。进 一 步的关于SHA - 1的信息可从 http: //www. itl. nist. gov/fipspubs/Hp 18 0-1. htm得到。\n在步骤406,安全系统建立一个头段,其中包括每个部分摘要,安 全政策信息,和希望包括在数字数据头段数椐中的任何其他信息。然后 在步骤408,安全系统计算整个头段的摘要,产生头段摘要。在步骤410, 安全系统利用一种私人密钥将头段摘要加密。正如在本领域中熟知的那 样,私人密钥是用于对数字数据加密和认证的数字签名算法的部分,以 致相应的公用密钥可被用于确认数据的真实性和将数据解密。关于数字签名算法的附加信息可在以下网址中找\n到:http: //csrc.nist.gov/publications/fips/fipsl86-2/fipsl86-2 .pdf,显而易见,在数据安全传输方面使用私人和公用密钥是众所周知 的。 一旦头段摘要被加密,在步骤412,安全系统将已加密的头段摘要 插入头段的开始部分,然后在步骤414,安全系统将头段和数字数据存 储在便携式介质或其他的存储设备上供分发。例如,头段和数字数据可 被存储在DVD上供分发给具有适当的游戏控制台的终端用户。\n为了认证数字数据并保证在以上所描述的加密过程以后数字数据 未被变更,控制台如以下所描述的那样,实施检验步骤,涉及图5-7 。图5是用作说明用于将控制台初始化以便强制执行与控制台和数字数 据有关的安全政策的逻辑过程流程图。在步骤420,控制台被加电(或 复位),将它"引导"启动,在决策步骤422,控制台确定是否初始值和 参数已被设置。例如,控制台确定是否对于时区,时钟设置,和典型情 况下当游戏控制台被一开始设置供使用时输入的其他初始值已被配置。 如果用于控制台的这些值或参数中任何一项还未被配置,在步骤424, 控制台启动称为"控制板"的用户接口,使用户能够用还未被输入的一 个或多个参数或值配置控制台。\n当控制台被配置时,在决策步骤426,控制台确定是否便携式介质 是在控制台的介质驱动器中。本领域的技术人员将认识到控制台可以附 加地,或另外地确定是否数字数据当前可接入供可从流式服务器得到的 下载,或用于其他的访问。如果便携式介质并未在控制台介质驱动器中, 在步骤428,控制台启动控制板,使用机器指令和存储在硬驱动器上的 数据。如果便携式介质被检出在介质驱动器中,或者对数据的其他入口 被提供,在决策步骤430,控制台确定是否便携式介质包括带有预先确 定的名称的文件、控制台期望找到带有预先确定名称的文件,用以识别 在介质驱动器中或从另一个源提供的介质的类型。介质驱动器能够读出 多种介质类型,如声频CD, DVD,游戏盘,和其他的介质类型。如果预 先确定的文件名称将便携式介质识别为包括必要的头段和其他数字数 据的游戏盘,则实施以下步骤。如果便携式介质并不包括期望的指明介 质类型的预先规定的文件名称,在步骤432,控制台启动控制板,以致 控制台可用于播放CD, DVD,或其他的介质类型。\n当游戏盘被检出时,在步骤434,控制台从游戏盘装载头段。在步骤436,控制台利用与用于对头段摘要加密的私人密钥有关的公用密钥 将头段摘要解密。最好,公用密钥被存入控制台的永久存储器中,也就\n是,ROM 204中。然后,在步骤438,控制台计算头段的确认摘要,供 与已解密'的头段摘要作比较。然后,通过连接器A把控制传递到图6的 决策步骤440。\n参考图6,决策步骤440指明控制台确定是否已解密的头段摘要与 确认摘要一致。如果两个摘要并不一致,在步骤445,控制台启动控制 板处理差错。控制台将指明在认证软件数据中已发生差错。\n如果两个摘要一致,控制台读出用于安全政策信息的头段并在决策 步骤442确定,是否在头段中所写的介质类型与在图5的决策步骤430 所检出的介质类型一致。在决策步骤430,控制台可以检出期望的预先 规定的文件名称,这将给出初始的指示,表明一个有效的游戏软件盘是 在便携式介质驱动器中。然而,预期的预先规定的文件名称可以直接写 在可写的压缩盘上。因此,在图6的决策步骤442上,控制台确定是否 头段也指明是否数据被授权存储在只读游戏盘上,而不是存储在可写的 压缩盘,匣式存储器,存储卡,远距离存储设备,或其他的存储介质类 型上。如果在头段中列举的介质类型并不与检测到的介质类型一致,在 步骤445,控制台启动控制板处理差错。\n如果被授权的介质类型与被输出的便携式介质类型 一致,控制台实 施类似的对游戏区域的检验。特别是,在决策步骤444,控制台确定是 否在头段中被识別的游戏区域与在控制台的永久存储器,也就是,ROM 204中所存储的游戏区域一致。例如,控制台确认北美的游戏盘被用在 售出只供在北美使用的游戏控制台中。如果在头段中被识别的游戏区域 并不与控制台中所存储的游戏区域一致,在步骤4",控制台启动控制 板处理差错。\n如果游戏区域一致,控制台可以实施其他类似的可选的检验操作。 例如,在决策步骤446,控制台可以确定是否在便携式介质上的数字数 据被指望用于制造或软件开发的目的,或用于生产后的服务,或其他的 非游戏功能。或者,另外,控制台可以确定是否要被装载的数字数据需 要系统保证在执行数字数据以前,各种系统设置处于适当的位置,这些 系统设置可包括用户接口的语言,日期, 一天的时间,和/或其他的设 置。控制台也可确定是否当某些系统部件被确定有故障时可以信赖地运\n23行数字数据。例如,控制台可以检查是否一个位被设置使硬盘松开。另 一种检验可以是是否可以信赖数字数据,以便准许用户安全地取下便携 式介质,或者是否这样的取下应该由系统本身实施。\n如果控制台确定头段并未识别出有效的对于数字数据已授权的功 能,或者一种有效性检查失败,在步骤445,控制台启动控制板处理差\n错。然而,如果控制台确定一种有效的功能已被实施,在步骤448,控\n制台启动制造功能,服务功能,或已被检测出的其他的有效功能,然后\n通过连接器B将控制传递到图7的步骤450。\n在图7的逻辑过程中,利用控制台使用数字数据的安全政策被强制 执行。此时,控制台已确定头段数据是有效的,并已测试包含在证明文 书中的信息。然而为了保证每个部分的数字数据本身未被变更,控制 台必须检验每个部分的摘要。为了有效地按此实施,在步骤450控制台 装载所有的预装部分。预装部分包括使游戏初始化必须执行的游戏程序 代码的部分。在步骤452,控制台计算第一部分数字数据的部分摘要。 在决策步骤454,控制台将算得的部分摘要与存储在头段中的该部分的 部分摘要作比较。如果算得的部分摘要并不与存储在该部分的头段中的 摘要一致,在步骤445,控制台启动控制板处理差错。如果部分摘要是 一致的,在决策步骤456,控制台确定是否另一部分的数字数据被预先 装入。如果另一部分的数字数据被预先装入,控制返回到步骤452,计 算对于下一部分数字数据的部分摘要。对每一部分的数字数据进行比较\n施相同的步骤。\n一旦所有的部分已被检验过,在步骤458,控制台从便携式介质读 出并运行某些初始化代码。初始化代码最好被安全系统存储在便携式介 质上并用于处理其他的安全政策信息。例如,在决策步骤460,控制台\n;空弗';台的儿童的家长):置的控:台接i的ESRB额定值一致。如果数 字数据的ESRB额定值并不与控制台中(也就是,存储在ROM 2O4中) 所配置的ESRB额定值一致,在步骤445,控制台启动控制板处理差错。\n是便i式介质。因此,所有的检验可以i以上关于图:的描述实现。否 则,可以按另一方式由便携式介质的初始化代码检验经R0M检验的某些或全部政策。\n在任何情况下, 一旦ESRB额定值,和/或其他的安全政策被检验, 在步骤462,控制台处理数字数据的其余部分,执行游戏或实施这些数 字数据命令控制台执行的其他操作。因此,游戏控制台可以检出已变更 的软件并将不允许任何已变更的软件在控制台上执行。而且,如果包括 在软件头段的证明文书信息中的其他参数与游戏控制台上的设置不一 致,数字数据将不在游戏控制台上执行。因此,本发明保证只有被授权 的游戏软件将在游戏控制台上执行,因为通过利用私人密钥将头段摘要 加密并不安全的游戏软件将未被执行。存储在介质上的软件或其他的数 字数据中的变化将被检出,因为已解密的头段摘要将与由游戏控制台确 定的头段摘要不一致。根据存储在控制台的ROM中的参数与游戏软件头 段的证明文书中的参数相比较的结果也将强制执行所有其他的安全性 和使用的政策。因为头段包括证明文书信息,对证明文书信息的任何改 变也将被容易地检出,防止数字数据在游戏控制台上执行。\n对数字数据加密的示范性的操作环境\n图8和以下的讨论将指望提供一种对适当的计算环境简明和通用的 描述,在其中本发明可实施对数字数据的加密供后续的分发和在许多不 同控制台上的使用。本发明这部分内容可以在单一的计算设备上实现, 但常常在客户计算设备和/或服务器或由通信网络连接的其他远距离计 算设备上实施,典型情况下两者均包括图8中所示的功能部件。虽然并 非必要,本发明的这方面内容将以计算机可执行指令的一般关系,如由 PC执行的程序模块进行描述。通常,程序模块包括执行特定的任务或实 施特定的抽象的数据类型的应用程序,例行程序,目标,部件,功能, 数据结构等。本领域的技术人员也将认识到本发明也可以利用其他的计 算机系统配置来实现,例如作为个人生产手段的客户设备,其他的微处 理机为基础的或可编程的消费电子设备,多处理器系统,网络PC,小计 算机,大型计算机,等。而且,本发明也可以在分布的计算环境中实施, 在其中由通过通信网络连接的远距离处理设备执行各项任务。在一种分 布的计算环境中,程序模块可以放置在本地的和远距离的存储器存储设备中。\n参考图8, —种用于依据本发明对数字数据加密的示范系统包括通 常的PC 520形式的通用计算设备,提供有处理单元521,系统存储器522,和系统总线523。系统总线将包括系统存储器的各种系统部件耦合 到处理单元521,并可以是几种类型总线结构中的任何一种,包括存储 器总线或存储器控制器,外围总线,和利用各种各样总线结构中任何一 种的局部总线。系统存储器包括只读存储器(ROM) 524和随机存取存储 器(RAM) 525。 一种包含基本例行程序的基本输入/输出系统526 (BIOS )被存储在ROM 524中,基本例行程序如在启动期间帮助在PC 520内 的部件之间传递信息。PC 520进一步包括一个硬盘驱动器527,用于从 硬盘(未示出)读出和写入硬盘, 一个磁盘驱动器528,用于从可移动 的磁盘529读出或写入,和一个光盘驱动器530,用于从可移动光盘531 读出或写入,如CD-ROM或其他的光学介质。分别由硬盘驱动器接口 532,磁盘驱动器接口 533,和光盘驱动器接口 534将硬盘驱动器527, 磁盘驱动器528,和光盘驱动器530连到系统总线。驱动器和它们的有 关的计算机可读介质提供计算机可读机器指令,数据结构,程序模块, 和用于PC 520的其他数据的非挥发性存储。虽然在此所描述的示范环 境釆用硬盘,可移动磁盘529,可移动光盘531,本领域的技术人员将 认识到可存储可被计算机访问的数据和机器指令的其他类型的计算机 可读介质,如盒式磁带,闪烁存储器卡,数字视盘(DVD),伯努利 (Bernoulli)匣式带,RAM, ROM等也可以用在示范的操作环境中。 许多程序模块可以存储在硬盘,磁盘529,光盘531, ROM 524,或 RAM 525上,包括操作系统535, —个或多个应用程序536,其他的程序 模块537,和程序数据538。用户可以输入命令和信息到PC 520中,并 通过输入设备如键盘540和指示设备542提供控制输入。指示设备542 可以包括鼠标,扫描笔,无线遥控器,或其他的指示器。正如由此往后 所使用的那样,术语"鼠标"被指望实际上包含对于控制屏幕上光标位 置有用的任何指示设备。其他的输入设备(未示出)可以包括话筒,操 纵杆,触摸操纵杆,操纵柄,脚踏板,游戏板,卫星盘,扫描器,或其 他类似设备。这些和其他的输入/输出(I/O)设备经常被通过连到系统 总线523的I/0接口 546连到处理单元521。术语I/0接口是指包括特 别用于串行口,并行口,游戏口,键盘口,和/或通用串行总线(USB) 的每种接口 。监^见器547或其他类型的显示设备也^皮通过适当的接口 , 如视频适配器548连到系统总线523,可用于显示应用程序,图形图象, 网页,和/或其他的信息。除了监视器外,PC经常被连到其他的外围输出设备(未示出),如扬声器(通过声卡或其他的声频接口 -未示出) 和打印机。\n如以上所指出的那样,本发明可以在单一的机器上实施,然而,PC 520也可以利用对一个或多个远距离计算机,如远距离计算机549的逻 辑电路连接在网络环境中运行。远距离计算机549可以是另一个PC,服 务器(典型情况下被配置成与PC 520非常相似),路由器,网络PC,同 等级的设备,或卫星或其他公共网络节点,典型情况下包括许多或全部 以上关于PC 520所描述的部件,虽然只有外部存储器存储设备550已 在图8中示出,图8中所描述的逻辑连接包括局域网(LAN) 551和广域 网(WAN) 552,这样的网络环境在办公室,企业范围的计算机网络,内 部网,和因特网中是共同的。\n当在LAN网络环境中使用时,PC 520被通过网络接口或适配器553 连到LAN 551。当在WAN网络环境中使用时,PC 520典型情况下包括调 制解调器554,或其他的装置,如电缆调制解调器,数字用户线路(DSL )接口,或集成服务数字网络(ISDN)接口,用于通过WAN 552,如因 特网建立通信。调制解调器554,可以是内部的或者是外部的,被连到 系统总线523或通过1/0设备接口 546,也就是通过串行口连到系统总 线523。在网络环境中,所描述的与PC 520,或其部分有关的程序模块 可被存储在远距离存储器存储设备中,将认识到所示的网络连接是示范 性的,在计算机之间建立通信链路的其他手段也可使用,如无线通信和 宽带网络链路。\nPC 520可以具有对私人密钥的安全入口,被用于利用通常的私人/ 公用密钥加密方案对游戏的头段摘要加密。另一种方案是, 一且头段摘 要已在PC 520上算得,数字数据,头段,和头段摘要可被移到一个安 全地点,在其中头段摘要将用私人密钥进行加密。然后,数字数据,头 段,和已加密的头段摘要将被存储在主机中用于在分发以前复制在其他 的适当的介质上,如DVD或CD-ROM,或者将通过网络(如因特网)分 发到控制台或以上已被描迷过的其他类型的计算设备。\n虽然本发明已经连同实现它的优选形式和对它的若干修改进行了 描迷,本领域的技术人员将理解,可以在随后的权利要求的范围内完成 许多其他的修改。因此,无论如何并不指望本发明的范围受以上的描述 所限,而是完全通过参考随后的权利要求加以确定。