具有安全检查功能的信息处理装置的制作方法

文档序号:6410952阅读:141来源:国知局
专利名称:具有安全检查功能的信息处理装置的制作方法
技术领域
本发明的背景本发明领域本发明涉及用于确定被执行的程序的真实性的安全检查方法,涉及具有这样的安全检查功能的信息处理装置,以及涉及使用该信息处理装置的程序存储装置。
相关技术随着微处理器处理速度的提高,提供了不同类型的信息处理装置,同时被这样的信息处理装置执行的程序也在许多类型的记录媒体上提供。
特别是对于信息处理装置,如视频游戏机,用来分发将执行的游戏程序的媒体通常是封装了记录了程序的半导体只读存储器的卡,或CD-ROM。
在视频游戏商业中,重要的不但是优越的视频游戏机,而且相对优秀的视频游戏也影响游戏程序的分发。如果一个优秀的程序能被拷贝、或仿造,并且被未被授权的第三方销售,则游戏程序的开发者的价值就会失去,同时消费者对开发者的产品的信心也会恶化。
因此,检查程序的正确性并且阻止执行不合法的程序的安全检查功能已经计划用于信息处理装置,并且已经实现。
这样的现有技术在诸如USP 4,442,486(下文中简称为“USP486”)、USP4,454,594(下文中简称为“USP594”)、USP4,462,076(下文中简称为“USP076”)和日本未审查专利出版物第Sho 62-3331号(下文中简称为“331出版物”)中描述。
在USP486公开的技术中,程序包括产生显示信号短暂显示一个专利号或一个专利申请号的数据。程序的真实性通过检查产生短暂显示的数据,判断它们是否与存储在一个信息处理装置中的参考信号匹配来确定。
在USP594中公开的技术,与USP486中的一样,读取存储在存储程序的外部存储器的特定位置的数据,显示该读取的数据,如一个商标,并且确定该数据是否与存储在信息处理装置中的参考数据匹配。当数据不匹配时,该程序的执行被阻塞。
在USP076中公开的技术,与USP486和USP594中的一样,将在外部存储器卡中的预定地址的数据与存储在信息处理装置中的参考数据比较。在将外部存储器实际连接到该装置之前,显示有关授权拥有人的信息。
当数据与参考数据匹配时,外部存储器卡被认为是真实的,并且允许执行游戏。
另外,在331出版物中,特别是在开始信息处理装置的主操作之前,外部存储装置执行存储在外部存储装置中的程序确定程序真实性。在同一时间,信息处理装置执行一个程序确定程序真实性。当执行两个确定程序真实性的程序获得的结果都匹配时,该装置的主操作被激活。
传统的用于信息处理装置的安全检查功能通过在程序,如一个游戏程序执行之前确定安全码等是否匹配进行。一旦程序的执行已经开始,在程序执行期间,其它的安全检查就不再执行,或者不能执行。
因此,在程序的序列中,安全检查处理被一些通常不合法的方法禁止或绕过,就会导致程序中随后的步骤不通过安全检查就执行。
另外,根据在USP486、USP596或USP076中描述的安全检查方法,显示数据,如一个商标,仅仅短暂地显示;信息处理装置既不检查以确定商标等的正确图象事实上是否被显示,也不被设计成这样去做。
此外,如上面所描述的,当处理安全检查的步骤被一些方法禁止或绕过时,特定的数据不能被显示并且程序的真实性也不能被检查。
本发明的概述因此本发明的首要目的是提供一个容易并且安全地确定将被信息处理装置执行的软件(一个程序)是否是一个真实程序的信息处理装置,以及其方法。
本发明的第二目的是提供一个能够合法并且安全地阻止不合法程序的制造和销售的信息处理装置,以及其方法。
本发明的第三个目的是提供一个假设使用图象或声音的显示数据的显示是基于存储在外部存储装置中的程序的,并且允许特定的不合法的显示的信息处理装置,以及其方法。
本发明的第四个目的是提供一个能够避免禁止并且绕过确定程序真实性的安全检查的不合法过程执行的信息处理装置,以及其方法。
本发明的第五个目的是提供一个能够更加确定地完成第四个目的,避免在安全检查期间用不正确的(错误的)程序替换一个程序的不合法过程的执行的信息处理装置,以及其方法。
本发明的第六个目的是提供一个用于第一到第五目的的外部存储装置。
为了完成第一个目的,可分离地连接到存储程序和显示数据的外部存储装置、具有安全检查功能和显示从外部存储装置中读取的数据的输出装置的信息处理装置包括一个执行从外部存储装置中读取的程序的CPU;存储对照参考数据的内部存储器装置;和比较对照参考数据和从外部存储装置中读取的显示数据的安全检查装置。
另外,为了完成第一个目的,安全检查方法包括第一步,从存贮程序和显示数据的外部存储器装置中读取程序和显示数据;第二步,基于包含于从外部存储装置中读取的程序中的显示检查开始命令输出一个检查开始信号;第三步,在检查开始信号输出时,将从外部存储装置中读取的显示数据与参考数据比较,并且当显示数据与对照参考数据不匹配时,产生一个错误信号;和第四步,响应错误信号,阻止至少一部分程序的执行。
根据这个方案,输出和作为视频图象或声音显示的数据被比较以进行安全检查。通过这个过程,可以避免执行仿造的程序。
为了完成第二个目的,信息处理装置在输出装置上显示数据禁止程序被未授权人使用。
为了完成第二个目的,安全检查方法还包括第五步,当在第三步显示数据与对照参考数据匹配时,产生一个显示显示数据的控制信号,并且基于控制信号显示输出数据。
根据上面描述的结构,当显示数据是一个商标等时,通过显示显示数据,能够禁止未授权人使用程序,并且合法地禁止制造和销售仿造程序。
为了完成第三个目的,信息处理装置包括存储与对照参考数据比较的显示数据的显示数据存储装置,显示数据是从外部存储器装置传输到显示数据存储装置并根据存贮在外部存储器装置中的程序存储在那里的。
还是为了完成第三个目的,使用安全检查方法,在第一步存储在外部存储器装置中的显示数据被与程序一致读入。
根据这个方案,既然显示数据与存贮在外部存储器装置中的程序一致被传输并且存储在数据存贮装置中,则显示数据的显示可以由存贮在外部存储器装置中的程序执行,同时什么是合法的就搞清楚了。
为了完成第四个目的,在信息处理装置中,安全检查装置在CPU执行操作期间反复地将显示数据与对照参考数据比较。
为了完成第四个目的,在第三步中使用安全检查方法对显示数据和对照参考数据进行的比较在程序执行期间被反复地执行。
根据这个方案,既然为了安全检查的比较在程序操作的自始至终被重复,则不合法的技术,如绕过安全检查,就能够避免。
为了完成第五个目的,在信息处理装置中,显示数据在安全检查装置进行数据比较之前被从外部存储器装置传输并存储到显示数据存储装置中,并且在安全检查装置进行的数据比较以及输出装置进行的数据的输出和显示完成之后,该数据被从显示数据存储装置中删除。
为了完成第五个目的,安全检查方法还包括第六步,在第五步显示数据被显示之后,删除显示数据。
根据这个结构,用于反复比较检查的显示数据必须重新读入。因此,在安全检查过程中,一个导致程序被仿造的(不真实的)程序替代的不合法操作被禁止,同时第四个目的能够更加确定地完成。
为了完成第六个目的,在可分离地连接到信息处理装置的外部存储器装置中,存贮着将被信息处理装置执行的程序和将被信息处理装置显示的显示数据,并且显示数据是被信息处理装置与程序一致读取的。
根据上面的结构,外部存储器装置能够适用于第一到第五目的。
附图的简要描述

图1是本发明的一个实施例的框图;图2是一个说明显示控制器的示范方案的框图;图3是一个CPU的操作流程图4是一个显示检查部分的操作流程图I;图5是一个显示检查部分的操作流程图II;图6是在显示控制器中的控制部分的操作流程图;图7是一个说明显示数据存储部分的示范方案的框图;图8A和图8B是说明显示数据的图表,图8A示出了一个显示图样的例子,而图8B示出了根据该显示图样的存储比特信息;图9是一个说明用于显示彩色显示数据的方法的图表。
图10是一个说明本发明的另一个例子的视频信号控制电路的框图。
图11是一个说明由图10的视频信号控制电路控制的安全检查的记录例子的图表。
优选实施例的详细描述现在将要参考附图描述本发明的优选实施例。同样的参考数字或符号用于表示相应的或同一个部件。
图1是说明本发明的一个实施例的方案的框图,其中信息处理装置用于游戏机。游戏机1,作为一个信息处理装置,具有一个内部的CPU10、一个对照参考数据存储器11、一个显示检查部分12、一个显示数据存贮部分13、一个显示控制部分14、一个视频显示处理器(VDP)15和一个由总线BS互联的工作存储器16。
游戏卡2,作为一个外部存储器装置,通过一个连接器可分离地连接到游戏机1。在游戏卡2内是一个安装好的ROM,其中有用于执行游戏的数据存贮区21和游戏程序存贮区20。
虽然在下面的说明中,游戏卡2和它内部安装好的ROM充当外部存储器装置和它的存储器,但是它们也能够被一个CD磁盘驱动器和CD-ROM取代。
数据存储区21有一个存储通常在游戏执行期间显示的诸如字符数据的数据部分211,和一个存储根据本发明显示的用于安全检查的数据的显示数据部分211。
该显示数据如稍后将要描述的,指示在游戏机1中使用的是一个真实的程序,并且包括诸如与图象有关的数据、或用于声音的数据,如游戏机1的分发者的商标。
该显示数据能够根据需要被压缩并且存储以提供更高的安全性。
根据本发明,存储在游戏程序存储区20中的游戏,至少部分地包括一个从显示数据部分212中读取显示数据以及传输数据到游戏机1的显示数据存储区13并存储在那里的控制命令。
当显示数据被如上所述地压缩并存储在显示数据部分212中时,解压缩压缩的显示数据的解压缩程序可以作为游戏程序的一部分存储在游戏程序存储区20中。当使用硬件进行数据解压缩时,解压缩电路可以放在游戏机1或游戏卡2中。
在图1中的显示装置3接收来自游戏机1的显示控制部分14的视频信号,并且在它的显示部分提供一个特定的显示。特别是,根据本发明已经从游戏卡2中读出并且传输和存储在显示数据存储部分13的显示数据30,被显示在显示装置3的预定的位置。
虽然,在本实施例中,数据是作为一个图象在显示装置3上显示用于本发明的安全检查的,但是本发明的显示数据不仅限于图象。
换句话说,如前面描述的,不仅视频数据,指示游戏机1中使用的是一个真实程序的数据也包括语音数据。在显示数据是语音数据时,数据自然地被用于产生声音。
在图2中示出了显示控制器14和该方案的细节,包括用于根据本发明显示显示数据30的显示装置3。该显示控制部分14包括一个控制器140、一个选择器141和一个D/A变换器142。
图3到6是CPU 10、显示检查部分12和显示控制部分14的控制器140执行的操作的流程图。图1和2中的细节现在将参考该流程图描述。
在图3中,当游戏机1的电源开关(未示出)被打开开始游戏(步骤S1)时,CPU 10从游戏卡2的程序存储区20中读取游戏程序,并且执行该程序(步骤S2)。
由CPU 10读取的游戏程序包括命令在预定时间开始显示检查的命令。因此CPU 10进行一个搜索以确定是否存在显示检查开始命令(步骤S3)。
开始显示检查的定时可以被任意地设置。例如,作为游戏升级的游戏场景改变可以看作一个开始显示检查的时间。这样的命令可以在游戏程序中描述。
当有一个显示检查开始命令(步骤S3是)时,CPU 10执行一个在读取游戏的程序(步骤S4)中描述的存储命令。也就是,与游戏程序的存储命令一致,CPU 10从游戏卡2的显示存储区21中读取显示数据,并且将该数据传输并存储在显示数据存储器13中。
随后,CPU 10输出一个检查使能信号到显示检查部分12(步骤S5)。该检查使能信号包括一个检查开始信号、数据类型信息、数据大小信息和显示位置信息。
上面的操作由CPU 10一直重复到游戏结束(步骤S6)。
数据类型信息指定预先存储在对照参考数据存储器11中的参考数据类型中的一个。如果包括改变显示数据30的大小的功能,数据大小信息指定显示数据在显示装置3上显示之前显示数据30的显示数据大小。
当包括改变显示位置的功能时,显示位置信息指定显示数据30在显示装置3上的位置。
图4是显示检查部分12在接收到来自CPU 10的包括检查开始信号、数据类型信息、数据大小信息和显示位置信息的检查使能信号后处理的第一流程图。
显示检查部分12实质上由一个具有定时器计数器和比较器、或CPU的专用逻辑电路构成。当游戏机1上电时,该定时器计数器开始计数(步骤S20)。
当显示检查部分12由一个逻辑电路构成时,安全检查(数据比较)的比较逻辑是通过使用作为触发器的来自CPU 10的检查使能信号的输入计算的。当显示检查部分12由一个CPU构成时,数据比较程序存储在游戏机1的ROM(在图1中未示出)中。通过作为一个触发器的来自CPU 10的检查使能信号的输入,显示检查部分12执行数据比较程序进行安全检查(数据比较)。
然后,既然定时器计数器用作一个看门狗定时器,则执行一个检查以确定定时器计数器的计数是否到达预定的计数值,即是否预定的时间周期已经过去(步骤S21)。
当定时器计数器的计数已经达到预定的计数值时,这意味着CPU 10在预定的时间周期内不能正确地从游戏卡2的程序存储区20中读取程序。或者这意味着程序不是真实的并且由于程序没有防护免除例程或没有免除防护的密钥数据(显示数据)因而程序的防护不能合法地解锁。
这个事件作为一个错误(步骤S28)处理。在这种情况下,停止进行安全检查,同时显示检查部分12产生诸如一个暂停信号作为一个错误信号发送到CPU 10。响应这个信号, CPU 10暂停操作并且游戏程序的执行不再继续。
在步骤S21,如果定时器计数器的计数尚未达到预定的计数值,就进行一个检查确定使能信号是否已经从CPU 10发送出来(步骤S22)。使能信号尚未从CPU 10发送出来时,定时器计数器继续计数(步骤S23)。
使能信号已经从CPU 10发送出来时,安全检查开始(步骤S24)。该安全检查根据本发明按如下进行。
在图1中,响应包括在存储在游戏卡内部提供的ROM中的程序存储区20的游戏程序中的命令,CPU 10从显示数据部分212读取显示数据并且将该数据传送到是RAM的显示数据存储部分13。
在同一时间,响应包括在游戏程序中的检查开始命令, CPU 10将一个包括数据类型信息、数据大小信息和显示位置信息的检查开始信号发送到显示检查部分12。
数据类型、数据大小和数据位置信息的定义已经在上面给出。该数据必须用游戏机所在的国家的语言显示,即使安全显示数据具有相同的意义。
因此,数据类型信息也包括指示多种显示数据中哪一种对应于游戏卡2的显示数据部分212中存储的不同语言的信息。因此,多种不同类型的对照参考数据存储在对照参考数据存储部分11,即游戏机1的ROM中。
在从显示检查部分12输出到显示控制部分14的显示数据中,数据大小信息和显示位置信息特别能够被不合法操作改变,由于数据显示大小被改变,它就不能被辨别或不能显示在有效屏幕内,并且显示位置被移动到超出显示装置3的有效屏幕限制的地方。
因此,提供一个限制器阻止这样的对数据显示大小和显示位置的不合法修改是优选的。在限制器的规定下,即使在大小上小于最小可分辨大小或在大小上大于最大显示屏幕大小的显示数据被显示检查部分12输出,显示数据也能够被改变,以为显示提供适当地可分辨大小。
回过头参考图4中流程图,显示检查部分12从对照参考数据存储部分11中读取与由CPU 10发出的数据类型一致指定的对照参考数据。显示检查部分12开始将接收的参考数据与传送并存储在显示数据存储部分13(步骤S24)的显示数据比较。
根据比较的结果,当参考数据与存储在显示数据存储部分13中的显示数据不匹配时,就假设在游戏卡2中的程序是未授权的,并且执行一个错误处理(步骤S28)。
执行的这个错误处理与定时器计数器计数到预定值时(步骤S21是)是一样的,并且CPU 10的操作被强制停止。因此,游戏程序的进一步执行被禁止。
当比较的结果发现参考数据与显示数据匹配时,就假设游戏卡2包含授权的程序。然后,从游戏卡2的显示数据部分212传送并且存储在显示数据存储部分13的显示数据在一个预定的时间内被删除(步骤S26)。
删除该显示数据是由于以下的原因。如果不删除显示数据,一旦显示数据被存储在显示数据存储部分13中,无论重复多少次安全检查,安全检查(数据比较)的结果总是“数据匹配”。
因此,根据本发明在程序执行中各处的反复安全检查将是无意义的,而操作期间不合法的执行结果就是一个未授权(错误)的程序被执行。因为这个原因,就要如上所述地执行对显示数据的删除,以避免这样的不合法过程的执行。
应该注意,显示数据仅在观察者能够通过观察监视器很容易地确定数据匹配的足够长的预定时间超过之后才被删除。另外,在游戏机1中提供特定的电路使得能够使用硬件强制清除显示数据以确保不存在能够不合法改变程序的小窗是优选的。
在这里,显示数据的删除是通过删除先前存储在显示数据存储部分13中显示数据进行的,即在显示数据上覆盖全“0”比特或覆盖不同组合的比特。
在显示数据被删除之前复位定时器计数器(步骤S27)。然后程序控制返回到例程的开始,在那里定时器计数器从初始值重新开始计数。
因此,一旦安全检查过程的每个循环在定时器时间计数到时之前完成,并且显示数据与参考数据匹配,就不进行错误处理(步骤S28)。相反,当检查使能信号没有在定时器时间计数到时之前发出,程序就被看作一个不合法程序,并且执行错误处理。
如上面所说明的,在这个实施例中,每当检查使能信号从CPU 10发送到显示检查部分12,安全检查的一个循环就在预定的时间内进行。
在图4的流程图中,步骤S21当定时器计数器计数达到预定的值时,立即进行错误处理(步骤S28)。然而,如在另一个实施例的流程图中所示,恰好定时器计数器已经计数到特定的值时,也可以进行安全检查(步骤S24)以确定显示数据是否与参考数据匹配(步骤S25)。
当对一个不真实的程序定时器计数器已经计数到预定值时,安全检查的结果是与显示数据不匹配,就进行一个错误处理(步骤S28)。其它过程与图4中先前的实施例的流程图一致。
当显示检查部分12进行的比较的结果确定参考数据与显示数据匹配时,就认为存储在游戏卡2中的游戏程序是真实的。
另一方面,如果对于一个不合法的游戏程序拷贝,显示检查部分12进行的比较的结果显示两组数据匹配,因此游戏程序的执行可以继续。
在这种情况下,不合法拷贝可以通过在显示装置3上显示数据禁止,如商标数据,这可以禁止未授权人使用程序。
商标数据被显示在显示装置3上的行为指示未授权人显然破坏了商标的权利。
图6是一个在显示控制部分14中的控制器140(参照图2)操作的流程图。如前面参考图1所说明的,当检查开始信号从CPU 10发送到显示检查部分12时,数据类型信息、数据大小信息和显示位置信息也被发出。
响应检查开始信号,显示检查部分12将显示开/关信号、数据大小信息120和显示位置发送到显示控制部分14的控制器140。显示控制部分14从显示数据存储部分13接收显示数据作为视频信号130。
另外,显示控制器14从视频显示处理器(VDP)15接收游戏图象数据作为视频信号150。在显示控制部分14中,来自显示数据存储部分13的视频信号130,和来自视频显示处理器15的视频信号150输入到选择器141。
在这里将不给出视频显示处理器15的详细的方案和操作,因为它们并不直接涉及本发明。在这个实施例中的视频显示处理器15是一个具有用于当前视频游戏机的众所周知结构的装置,并且当作CPU 10的一个I/O装置。视频显示处理器15包括一个寄存器、一个颜色RAM和一个卷屏距离设置RAM,同时还有一个控制外部附加的视频RAM的控制块。根据这个装置,视频显示处理器15综合显示在显示装置3上的视频图象数据并且输出合成的数据作为视频数字信号150。
来自视频显示处理器15的垂直和水平同步信号152与视频数字信号150的输出同步输出,并且输入到控制器140。与来自显示检查部分12的显示开/关信号一致,控制器140输出一个与同步信号152同步的选择信号143。
选择信号143被发送到选择器141以切换视频信号130和150并且输出它们。该切换操作将参考图6中的流程图说明。
首先,控制器140确定来自显示检查部分12的显示开/关信号是否指示开状态。当显示开/关信号指示开状态时,进行一个检查以确定是否是显示来自显示数据存储部分13的显示数据的视频信号的时间(步骤S31)。
在步骤S31中显示数据定时的决定是基于来自显示检查部分12的数据大小和显示位置信号120作出的,并且还基于来自视频显示处理器15的同步信号152。
当是显示数据的时间时,与选择信号143一致,来自显示数据存储部分13的显示数据的视频信号被选中(步骤S32)。当不是显示数据的时间时,与选择信号143一致,来自视频显示处理器15的视频信号150被选中(步骤S33)。
用这种方法,与选择信号143一致,选择器141既向D/A变换器142输出视频信号130又输出显示数据150。
该D/A变换器将数字视频信号130或150变换为模拟视频信号144。模拟信号144与同步信号152一起传送到显示处理装置3,进行预定的显示。
在步骤S32,显示来自显示检查部分12的显示数据的时序,和显示检查部分12进行的安全检查(数据比较)不必是成对的。显示检查部分12做的安全检查在相对短的间隔内进行,而屏幕显示可以在显示检查部分12进行安全检查之后进行并且那个显示不影响任何东西。
这个操作可以用这种方法进行,例如,显示检查部分12向显示控制部分14发出显示开/关信号120的时序,或选择信号143从显示控制部分14的控制器140输出的时序,被预先设置以遵从预定的控制周期。
图7到图9是通过使用一个显示数据举例,说明显示数据存储部分13的方案和显示显示数据的方法的图表。
如图7中所示,显示数据存储部分13包括一个存储器131、一个RAM和一个移位寄存器133。地址信号120连续地从显示检查部分12输入到存储器131。锁存信号和移位信号121从显示检查部分12输入到移位寄存器133。
让我们考虑在图8A中示出的显示数据的图样是一个“S”的情况。在图8A中的显示数据区包括一个由64象素组成的8×8的矩阵区域内,它的位置使用比特7到0和地址0到7指定。
在8×8矩阵区域内,显示数据图样“S”由黑点代表。与这个显示图样一致,在存储器131中的比特信息如图8B所示。换句话说,在存储器131中对应形成显示数据图样“S”的黑点的比特位置被设置为“1”。
回过头参考图7,当作为地址信号120的地址信号(3)从显示检查部分12输入到存储器131时,在存储器131的相应地址的比特信息,即“00100000”作为数据132读出。
数据132被来自显示检查部分12的锁存信号锁存在移位寄存器133中。与来自显示检查部分12的移位信号一致,锁存的信号132被作为一个视频信号130从比特7开始逐比特发送到显示控制部分14(参阅图7中的121)。
通过选择器141中继的视频信号130,如前面所描述的,作为显示数据30显示在显示装置3上。
图9是说明用于显示数据存储部分13的存储器131的结构和显示颜色数据时的移位寄存器133的图表。R∶G∶B组合中显示数据的每个比特显示特定的颜色。
在图8B中的用于R∶G∶B组合的比特信息由一组3个存储器131-R、131-G和131-B组成。另外,移位寄存器133-R、133-G和133-B的组成对应于存储器131-R、131-G和131-B。
为了使每个R∶G∶B组合代表一种特定的颜色,把存储器131-R、131-G和131-B的相应的预定地址和比特的位置设为“1”。比特信息从存储器131-R、131-G和131-B中读出并锁存在相应的移位寄存器133-R、133-G和133-B中。
如参考图7所描述的,锁存在移位寄存器133-R、133-G和133-B中的用于R∶G∶B的比特信息作为彩色视频信息发送到显示控制部分14。
显示控制部分14用参考图2说明的同一种方法将彩色视频信息发送到显示装置,随后数据被彩色显示在显示装置3上。
在上面的实施例中,一个显示检查部分12在错误处理期间产生的错误信号可以不同于上面描述的暂停信号,并且既可以是一个对CPU 10的复位信号,也可以是一个对整个游戏机1的系统复位信号。
当显示检查部分12将这样一个复位信号作为错误信号输出时,优选的是连续地输出错误信号以避免系统复位后重新执行仿造的程序。
如上面所说明的,当如一个商标这样的显示数据与对照参考数据一致时,显示数据被显示。反之,在图10中示出的实施例是一个视频信号控制装置,无论显示数据是否是真实的,它在开始比较从卡2读出的显示数据和对照参考数据的一个预定的时间之后,控制从卡2中读出的显示数据的显示。因此,对于一个观察者来说,识别显示数据是否真正显示了一个预定的时间就变得容易了。在图10中示出的视频显示控制装置可以在一个半导体芯片上形成,并且包括一个由粗虚线5包围的视频信号控制电路、一个地址译码器6、一个FIFO存储器7(从VDP 15发送的显示数据输入其中)(参见图1)、一个象素格式转换电路8和一个数字模拟转换器9。
另外,视频信号控制电路5包括一个数据显示电路50、安全检查开始控制电路51、一个数据比较器52和一个安全锁定定时器53。
在图1中示出的连接到视频信号控制装置以形成一个视频游戏系统控制台电路,如CPU 10、工作存储器16和VDP 15,并没有在图10的简单说明中示出。图10的实施例的操作基本上与图1的一致,只是在操作上有一些特性。图10的实施例中的特性将在下面描述,如果需要请参阅图1。
数字模拟变换器9相当于显示控制部分14的D/A变换器142(参阅图1、2),并且具有将数字视频信号变换为模拟视频信号的基本功能,同时将相当于模拟视频信号的RGB信号发送到显示装置3。
图10的数字模拟变换器9通过FIFO存储器7和象素格式变换器8接收发自VDP 15的数字视频信号和后面描述的数据显示电路50的输出信号,以将这些信号按上面说明的变换为模拟信号。
在图10中,安全光标存储ROM 110相当于图1中说明的存储对照参考数据的只读存储器11。在图11的一个简单例子中,作为安全光标显示的图标是一个用32×16象素格点单色表示的“SEGA”。
颜色寄存器111和112是为构成安全光标的每个象素存储产生“1”和“0”的颜色信息的寄存器。
举例而言,象素“1”在黑色背景上用蓝色显示而象素“0”的显示与黑色背景相同。指定这些颜色的代码按一个号码存储在颜色寄存器111和112中,该号码等于构成安全光标的象素的号码。与安全光标存储ROM 110一样,颜色寄存器111和112是由只读存储器构成的。安全光标和相应象素颜色的信息预先存储在安全光标存储ROM 110以及颜色寄存器111和112中。
地址译码器6译码从CPU 10接收的地址信号,并且发送到在视频信号控制器中的目标电路,一个使能信号激活该电路。
当CPU 10监测到一个包括在存储在游戏卡2的ROM中的程序存储部分20中游戏程序中的显示检查命令时,CPU 10把一个将要描述的,指定数据显示电路50的存储器的CPU地址,和已经从游戏卡2中读取的显示数据作为CPU数据发送到视频信号控制器。
在图10的视频信号控制器中,数据显示电路50相当于图1中的显示数据存储部分13。数据显示电路50具有一个光标RAM 130,其中存储着包括在从CPU 10发出的显示数据中的安全光标的比特映象图样。从CPU 10接收的显示数据也包括安全光标的显示位置和显示颜色信息。因此,数据显示电路50还包括一个X位置寄存器131、一个Y位置寄存器132以及颜色寄存器133和134,在其中存储着上面描述的信息。
地址译码器6接收来自CPU 10的指定显示数据存储部分13的CPU地址,即数据显示电路50。地址译码器6译码该CPU地址并且将一个使能信号作为触发器信号输出以激活光标RAM 130、X和Y位置寄存器131和132、以及颜色寄存器133和134。
该使能信号通过五个OR门102发送到光标RAM 130、X和Y位置寄存器131和132、以及颜色寄存器133和134。
因此,作为CPU数据的安全光标显示图样、它的显示位置信息、和显示数据的显示颜色信息可以分别存储在光标RAM 130、X和Y位置寄存器131和132、以及颜色寄存器133和134中。
此后,存储在光标RAM 130、X和Y位置寄存器131和132、以及颜色寄存器133和134中的显示数据被发送到数字模拟变换器9。
由存储在光标RAM 130中的比特映象数据构成的安全光标的图标被变换为一个模拟视频信号,所以该图标的每个象素由对应于存储在颜色寄存器133和134中的颜色码的颜色表示,并且被显示在由存储在X和Y位置寄存器131和132中的数据指定的显示位置上。
在光标RAM 130中的构成安全光标的比特映象的比特,按下面的方法用对应于存储在颜色寄存器133和134中的颜色码的颜色显示。当安全光标的比特的逻辑值是“0”时,选中颜色寄存器133的输出。当一个比特的逻辑值是“1”时,选中颜色寄存器134的输出。输出信号被变换为对应于选中的颜色寄存器指定的颜色码的RGB信号。
当显示数据已经存储在光标RAM 130、X和Y位置寄存器131和132、以及颜色寄存器133和134中,并且当安全光标的显示已经按上述的方法开始时,CPU 10向地址译码器6发出一个选择检查开始驱动器100的CPU地址信号。于是,检查开始驱动器100被选中并且输出一个检查开始信号。
接着,响应检查开始信号,安全检查定时器101开始计数。安全检查定时器101通过OR门102输出一个禁止CPU 10对每个电路写入新数据的逻辑值,直到安全检查定时器101达到预定值。因此,通过从数据显示电路50输出相同的显示数据,相同的安全光标被持续地显示直到安全检查定时器101达到预定值。
当安全检查定时器101进行的计数完成时(当时间到时时),移去对写新CPU数据的禁止。
即,安全检查定时器101开始计数并且输出一个禁止信号到AND门102,所以向光标RAM 130的写入被禁止一个预定的时间,例如一秒。
存储在光标RAM 130中的显示数据持续地显示一个预定的时间,因此,显示数据只能在检查期间被写入光标RAM 130,同时在观察者能够识别显示的数据之前显示数据的重写是禁止的。
结果,在安全检查开始时,包括在不合法的程序中的诸如商标的标记同样被显示一个预定的时间,所以商标的显示将构成对商标的侵权或者违反了不正当竞争法。
来自检查开始驱动器100的检查开始信号作为一个触发器信号发送到数据比较器52中的每个的电路。一旦接收到触发器信号,比较电路12读取存储在数据显示电路50中的光标RAM 130以及颜色寄存器133和134中的显示数据,和存储在数据比较器52中的安全光标RAM 110以及安全颜色寄存器111和112中的对比参考安全数据,并且比较这些数据。当数据匹配时,比较电路12输出一个逻辑值“1”,而当数据不匹配时,它输出一个逻辑值“0”。
该数据比较器52还包括一个X位置检查电路135和一个Y位置检查电路136。这些电路135和136分别读取X坐标数据和Y坐标数据用于数据显示电路50中的X位置寄存器131和Y位置寄存器132的光标显示开始位置。电路135和136将这些位置数据与预先设定的允许显示范围—即X位置范围和Y位置范围—比较。
当X坐标和Y坐标位置数据在允许的显示范围之内时,X位置检查电路135和Y位置检查电路136输出一个逻辑“1”。当X和Y坐标数据不在允许的显示范围之内时,输出一个逻辑“0”。
AND电路137接收比较电路12、X位置检查电路135和Y位置检查电路136的输出。当所有这些逻辑值都是“1”时,就假设卡2中封装的是真实的程序20。
然后,AND电路137输出一个定时器复位信号并且安全锁定定时器53的计数值被复位到初始值,例如,复位为“0”以开始一个新的计数序列。通过这个过程,扩展了安全锁定定时器53计数到达预定值的时间周期。
理解上述可以看出,所提供的用于在游戏程序操作期间反复地执行安全检查的安全锁定定时器53,不同于所提供的用于将安全光标显示一个预定的时间的安全检查定时器101。安全锁定定时器53被激活或处于计数状态直到运行一个真实的程序,因为它需要复位到一个初始值。
真实的程序被设计为在安全锁定定时器53完成计数或预定时间到时之前开始安全检查。例如,预定的时间,即直到安全锁定定时器53完成计数的时间被设定为大约15分钟。
如果比较的结果是显示数据与对照参考数据不一致,AND门137输出一个显示关信号到数字模拟变换器9,而安全锁定定时器53并未复位。按下面所说明的,这就使得不能在显示装置3上显示任何数据。
另外,在不合法程序不能将一个真实的显示数据写入光标RAM 130的情况下,安全锁定定时器53不复位,并且因此,安全锁定定时器53变为超时或到达一个特定的计数值以输出显示关信号并且任何显示数据的显示都被禁止。
数据显示电路50中的光标RAM 130的输出作为比特映象数据被预先设定为比VDP 15输出的显示数据具有更高的优先级(参照图1)。在安全锁定定时器53的计数到达预定值前,存储在用于显示安全光标的光标RAM 130中的图标数据,例如图11中所示的图标,被用颜色寄存器133和134指定的颜色显示在被X和Y位置寄存器131和132指定的位置上。
当任何一个到AND电路137的输入为“0”时,就假设封装在卡2中的程序20是仿造的。
在这种情况下,AND电路137不输出复位信号,并且安全锁定定时器53继续计数。当计数值到达预定值时,安全锁定定时器53输出一个显示关信号。
显示关信号发送到数字模拟变换器9,所以从VDO 15通过FIFO存储器7和象素格式8发送到数字模拟变换器9的视频信号被禁止变换为模拟视频信号。
如上面所描述的,当通过安全检查假定封装在卡2中的程序20是仿造的时,来自VDP 15的视频数据信号被禁止显示,并且游戏的执行不再继续。
在图10的实施例中,数据比较器52的功能可以集成作为数字模拟变换器9的一部分提供。在这种情况下,在数据被变换为模拟视频信号前一刻,即在数据输出到显示装置3前一刻,数据就可以被检查,所以绕过安全检查过程或者在显示数据已经送往安全检查过程之后解码显示数据是非常难的。
如上面在实施例中描述的,根据本发明,存储在游戏卡2中的显示数据被发送到游戏机1,并且与存储在游戏卡2中的游戏程序一致,显示数据被显示在连接到游戏机1的显示装置3上。
因此,游戏卡2和游戏程序的真实性可以通过出现的显示数据和显示的数据内容很容易的确定。
在同一时间,根据本发明,游戏机1在游戏程序执行期间(在游戏操作期间)反复地比较存储在游戏卡2中的显示数据和参考数据。甚至当安全检查过程被改变而达到绕过的目的时,游戏程序的真实性也能很容易地确定。
当游戏程序不是真实的时候,游戏机1的CPU 10的操作被强制暂停以阻止不真实的游戏程序的进一步执行。通过这种方法,禁止不合法拷贝的程序使用。
虽然在上面的实施例中游戏机被作为一个例子使用,但本发明不仅局限于这些实施例,并且可以被应用于一切通常的具有外部存储装置和显示装置的信息处理装置。
另外,与本发明用于同样的目的并且提供同样的效果的等价系统落在本发明的范围内。
权利要求
1.一个具有安全检查功能的信息处理装置,包括一个存储程序和显示数据的外部存储装置;一个可以分离地连接上述外部存储装置的信息处理控制台,它包括,一个执行从上述外部存储装置中读出的程序的CPU,一个存储对照参考数据的内部存储装置,和一个比较上述对照参考数据和上述从外部存储器装置中读出的显示数据的安全检查装置;和一个显示从外部存储装置中读出的显示数据的显示装置。
2.根据权利要求1的信息处理装置,其中所述的显示数据被显示在所述的显示装置上的事实意味着显示数据的合法权利被未授权人侵犯。
3.根据权利要求1或2的信息处理装置,其中所述的信息处理控制台还包括一个存储与所述对照参考数据比较的显示数据的显示数据存储装置,并且所述显示数据根据存储在所述的外部存储装置的程序在所述CPU的控制下,从所述外部存储装置传送并存储到上述显示数据存储装置中。
4.根据权利要求1、2或3的信息处理装置,其中所述的安全检查装置在CPU执行从外部存储装置中读出的程序期间,反复地比较所述显示数据和所述对照参考数据。
5.根据权利要求3或4的信息处理装置,其中所述的显示数据在所述的安全检查装置进行数据比较之前,从所述的外部存储装置传送并存储在所述显示数据存储装置中,并且在所述安全检查装置进行的所述数据比较和所述显示装置进行的显示数据的显示完成之后,所述显示数据被从显示数据存储装置中删除。
6.一种在一个信息处理装置中检查程序的真实性的安全检查方法,包括第一步,从存储程序和显示数据的外部存储器中读出该程序和显示数据;第二步,基于包括在从上述外部存储装置中读出的上述程序中的显示检查开始命令输出一个检查开始信号;第三步,在检查开始信号输出时,将从上述外部存储装置中读出的上述显示数据与对照参考数据比较,并且在上述显示数据与上述对照参考数据不匹配时输出一个错误信号;和第四步,响应上述错误信号,禁止至少一部分上述程序的执行。
7.根据权利要求6的安全检查方法还包括第五步,当在第三步中所述显示数据与所述对照参考数据匹配时,产生一个显示所述显示数据的控制信号,并且基于该控制信号显示所述显示数据。
8.根据权利要求6或7的安全检查方法,其中所述的存储在所述外部存储装置中的显示数据在上述第一步与所述程序一致读入。
9.根据权利要求6、7或8的安全检查方法,其中在第三步所述显示数据与所述对照参考数据的比较在所述程序执行期间反复地进行。
10.根据权利要求8或9的安全检查方法还包括第六步,在上述第五步所述的显示数据显示后,删除已经读入的所述显示数据。
11.一个可分离地连接到信息处理控制台的外部存储装置,用于存储该信息处理控制台执行的程序,和在该信息处理控制台控制下显示的显示数据,并且所述显示数据与所述程序一致地从外部存储装置读入该信息处理控制台。
12.根据权利要求11的外部存储装置,其中所述的信息处理控制台是一个视频游戏机,并且其中所述的显示在显示装置上的显示数据禁止未授权人使用程序。
13.根据权利要求12的外部存储装置,其中所述的显示数据是所述程序的被授权方的商标。
14.根据权利要求11的外部存储装置,其中所述的信息处理装置是一个视频游戏机,并且其中所述的显示数据根据视频游戏执行期间的所述程序的每个预定时序显示。
15.一个控制第一视频信号和优先于第一视频信号的第二视频信号的显示的视频信号控制装置,包括一个存储与上述第二视频信号的显示数据比较的参考显示数据的只读存储器;一个将参考显示数据与上述第二视频信号的显示数据比较的比较电路;一个当上述比较电路检测到参考显示数据与第二视频信号的显示数据不匹配时,在一个预定的时间超过后,禁止上述第一视频信号的显示的控制电路。
16.根据权利要求15的视频信号控制装置,其中还包括一个定时电路用于控制显示所述第二视频信号的时间,在该时间内,观察者能够识别出第二视频信号的显示数据。
17.根据权利要求15的视频信号控制装置,其中所述的第二视频信号的显示数据包括一个由比特映象图样构成的安全光标和安全光标所显示的显示位置,所述比较电路将第二视频信号的显示位置与包括在所述参考显示信号内的参考显示位置数据比较,并且当安全光标的显示位置不在由参考显示位置定义的运行显示区域内时,所述控制电路禁止第一视频信号的显示。
18.根据权利要求17的视频信号控制装置,其中所述存储在所述只读存储器中的比特映象图样,具有适当的大小,所以观察者能够识别第二显示数据。
19.根据权利要求17的视频信号控制装置,其中所述的由比特映象图样构成的安全光标是一个特定的图标。
全文摘要
一个具有确定执行的程序的真实性的安全检查功能,并且程序和显示的显示数据存储在外部存储装置中的信息处理装置。该信息处理装置具有一个执行程序的CPU,该装置连接到外部存储装置和显示显示数据的显示装置。在程序执行过程中,与那个程序一致存储在外部存储装置中的显示数据被显示在显示装置上。显示数据被与存储在信息处理装置中的对照参考数据比较。当两组数据不匹配时,信息处理装置的CPU操作被停止,并且禁止程序的进一步执行。
文档编号G06F21/12GK1146814SQ96190086
公开日1997年4月2日 申请日期1996年2月7日 优先权日1995年2月8日
发明者大胁秀隆, 长毅, 荫山幸俊 申请人:世嘉企业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1