验证方法、信息处理装置、记录介质、验证系统、证明程序以及验证程序的制作方法

文档序号:6568017阅读:171来源:国知局
专利名称:验证方法、信息处理装置、记录介质、验证系统、证明程序以及验证程序的制作方法
技术领域
本发明涉及在程序的执行中利用虚拟机的设备,特别涉及对安 装有虚拟机的平台的正当性进行判断,在该平台不正当的情况下进行 排出的技术。
背景技术
近年,为了不依存于OS或CPU等平台而使程序动作,禾lj用虚拟机。 一般地,虚拟机通过软件安装,接口等安装所需要的信息被公 开,因此谁都可以安装虚拟机。专利文献1:日本特开2005-244695号公报因此,由于不正当地安装虚拟机,可能在其上动作的程序没有 正规地动作而是不正当地动作。该程序例如为保护电影等内容的著作 权的程序的情况下,会不正当地将内容再现。发明内容本发明是鉴于上述的问题点而完成的,其目的在于,提供一种 程序可以对使自身动作的虚拟机正规地安装一事进行验证的验证方 法、信息处理装置、记录介质、验证系统、证明程序以及验证程序。为了解决上述问题,本发明为一种验证方法,利用在通过内部 包含的虚拟机执行内容的再现所涉及的处理的信息处理装置中,其特 征在于,包括读入步骤,读入所述内容以及记录在记录介质中的验 证程序;以及验证步骤,通过所述虚拟机执行所述验证程序,来验证 包含所述虚拟机的所述信息处理装置的正当性发明的效果通过上述的构成,在所述虚拟机上动作的所述验证程序可以对 执行自身的包含所述虚拟机的所述信息处理装置的正当性进行验证。 另外,所述验证方法,在所述验证步骤中,利用根据定时而变 动的证明用信息,进行所述验证。通过这样的构成,在所述验证步骤中利用的证明用信息可以根 据定时而变动,因此,不正当的第三者为了取得所述证明用信息,必 须对安装该验证方法的程序等进行详细的解析,追踪其动作,因此该 取得非常困难。因此,与通过证书或识别号码等静态数据进行证明正 当性的情况相比,起到难以伪装正当的虚拟机的优良效果。另外,也可以是,所述验证方法中含有的所述验证步骤包含 请求步骤,请求基于所述信息处理装置保持的秘密信息的所述证明用 信息;比较步骤,对所述证明用信息和记录在所述记录介质中的验证 信息进行比较;以及判断步骤,基于比较结果判断是否正当,所述验 证方法还包括提供步骤,对应于所述请求,通过所述虚拟机生成所述证明用信息,将生成的所述证明用信息提供给所述验证程序。通过这样的构成,利用通过所述虚拟机生成的所述证明用信息, 进行正当性验证。若不是正当的虚拟机,则不能生成正确的证明用信 息,可以确实地判断所述信息处理装置具有的虚拟机的正当性。另外,也可以是,在所述验证方法中,所述判断步骤包括重 复步骤,每当所述证明用信息根据定时而变动,重复所述比较步骤; 以及决定步骤,若所述重复的结果为所述验证信息和所述证明用信息 不是连续预定次数地一致的情况下,决定所述信息处理装置为不正 当。通过这样的构成,只有在所述验证信息和所述证明用信息连续 规定次数地一致的情况下,含有所述虚拟机的信息处理装置为正当。 因此,不正当的第三者通过一些方法即使知道了一个所述验证信息, 也不能被判断为正当。另外,也可以是,在所述验证方法中,所述提供步骤包括更 新步骤,通过对应于所述秘密信息的读出顺序而唯一决定的值,变更 生成所述证明用信息的过程中利用的计算信息;以及输出步骤,将所 生成的所述证明用信息向所述验证用程序输出。
通过这样的构成,在所述更新步骤中,对所述计算信息进行更 新。也就是说,所述证明用信息的生成中利用的数据也是在所述证明 用信息的每次生成时不同,因此起到难预测正确的证明用信息的优良 效果。另外,也可以是,在本发明中,在所述记录介质中记录有多个 验证候补信息,所述信息处理装置保持有一个以上的秘密信息,所述 验证步骤包括选择步骤,作为验证信息选择一个验证候补信息;请 求步骤,请求基于与所选择的所述验证信息相对应的秘密信息而生成 的所述证明用信息;比较步骤,比较所述验证信息和所述证明用信息; 以及判断步骤,基于比较结果,判断所述信息处理装置的正当性,所 述验证方法还包括提供步骤,接受所述请求后,通过所述虚拟机, 利用对应于所述验证信息的所述秘密信息而生成所述证明用信息,将 所生成的所述证明用信息向所述验证用程序提供。另外,本发明为一种验证方法,所述判断步骤包括重复歩骤, 在由所述比较步骤判断为所述验证信息和证明用信息一致的情况下, 重复所述选择歩骤、所述请求步骤以及所述比较步骤;以及决定步骤, 在通过所述重复而所述验证信息和证明用信息为连续预定次数地一 致的情况下,决定为所述信息处理装置为正当,在此外的情况下,决 定为所述信息处理装置为不正当。通过这样的构成,在循环中,只有在验证信息和证明用信息连 续预定次数地一致的情况下,所述信息处理装置才被决定为正当,因 此可以更加确实地检测出不正当的信息处理装置,抑制不正当的信息 处理装置对内容的利用。另外,本发明为一种验证方法,在所述验证步骤的重复中,在 所述选择步骤中,将对应于重复次数而不同的验证候补信息作为所述 验证信息选择,在所述提供步骤中,生成对应于重复次数而变动的所 述证明用信息。通过这样的构成,所述选择单元由于在每次重复中选择不同的 证明用信息,因此,可以起到不正当的第三者难以预测所述比较中利 用的验证信息的优良效果。
另外,也可以是,所述验证方法,在所述选择步骤中,随机选 择所述验证信息,在所述比较步骤中,对应于所述验证信息,利用随 机变动的所述证明用信息进行所述比较。通过这样的构成,所述选择单元随机选择证明用信息,因此, 可以起到不正当的第三者难以预测所述比较中利用的验证信息的优 良效果。另外,也可以是,在本发明的验证方法中,所述多个验证候补 信息中,至少一个与唯一识别所述虚拟机的标识符相对应,在所述选 择步骤中,从与所述标识符相对应的验证候补信息中选择所述验证信 息。通过这样的构成,记录在所述记录介质中的所述验证程序,可 以验证具有各自不同的秘密信息的多个的信息处理装置。也可以是,所述记录介质还记录有再现关联程序,该再现关联 程序在所述虚拟机上执行,含有所述内容的再现所涉及的处理次序, 所述验证方法还包括抑制步骤,该抑制步骤为,在验证的结果为所述 信息处理装置为不正当的情况下,抑制所述内容的再现所涉及的处理 次序的执行。通过这样的构成,在判定为含有所述虚拟机的所述信息处理装 置不正当的情况下,在所述抑制步骤中,抑制所述内容的再现所涉及 的处理次序的执行。所以,本发明的所述验证方法,起到可以抑制含 有被不正当地安装的虚拟机的信息处理装置的对内容的再现的良好 效果。


图1是表示记录介质102以及信息处理装置101的构成的图;图2是虚拟机代码执行处理的流程图;图3是包含虚拟机的执行环境的正当性验证处理的流程4是验证值表格116的数据结构图;图5是虚拟机代码121持有的验证信息的数据结构例;图6是虚拟机代码121持有的验证信息的数据结构的其它例。
符号说明101信息处理装置102记录介质111盘读入部112用户操作接受部113虚拟机执行部114信息保持部115虚拟机执行代码116验证值表格117验证值表格识别信息121虚拟机代码1151验证值取得模块1152验证值变换模块1153状态保持模块1154虚拟机代码执行模块1121虚拟机验证模块1122验证信息模块1123代码依存处理模块401地址402值501验证顺序502验证值具体实施方式
下面参照附图对用于实施发明的优选实施方式进行说明。 利用图1,对本发明的一实施方式的记录介质以及信息处理装置 进行说明。在记录介质102中,记录有在虚拟机上动作的程序即虚拟机代 码121。作为记录介质102的一安装例,为BD (Blu-rayDisc),但 不限于此。另外,虚拟机代码121具有虚拟机验证模块1121、验证 信息保持模块1122、代码依存处理模块1123。各模块的详细情况在 后面叙述。信息处理装置101,为利用虚拟机执行虚拟机代码121的装置, 如图1所示,具有盘读入部lll、用户操作接受部U2、虚拟机执行 部1B、信息保持部114。所谓虚拟机是一种软件,其不依存于CPU 或OS等平台,为了使程序动作,将作为虚拟机代码121被安装的程 序变换为平台用的原码并执行。具体地,例如虚拟机为Java(注册商 标)虚拟机,虚拟机代码121为Java字节代码,但不限于此。作为信息处理装置101的一安装例,为具有CPU、工作存储器、 闪存、BD驱动器、远程控制器的计算机系统,盘读入部111为BD (Blu-my Disc)驱动器,信息保持部114为闪存,用户操作接受部 112为远程控制器,虚拟机执行部113,可以举出通过利用CPU和工 作存储器而动作的软件构成的方法,其它的还有通过硬件的安装等, 并不限于通过软件的构成。其它的实施方式也不限于此。另外,在信息保持部114中,保持有虚拟机执行代码115、验证 值表格116、验证值表格识别信息117。虚拟机执行代码115为软件, 具有验证值取得模块1151、验证值变换模块1152、状态保持模块 1153、虚拟机代码执行模块1154。在后面将对各模块进行详细说明。验证值表格116为保持有关于信息处理装置的执行环境的值的 存储器表格,记录有虚拟机代码121为了对含有虚拟机的执行环境的 正当性进行验证而利用的值。例如,如下所述,为固件的二进制数据 等信息处理装置101固有的数据,因此每个信息处理装置取得不同的 值的数据。在图4中,表示了具体的数据构成。验证值表格116具有 地址401和值402。例如,表示对应于地址OxOOffOOOO的值为OxOO。 另外,验证值表格116不是固定的,若可以在请求验证值的时刻必须 返回固定的值,则验证值表格116的全部或一部分可以在执行处理中 动态地变更。验证值表格识别信息117为用于识别验证值表格116的信息, 例如,"信息处理装置制造商ID+信息处理装置的型号+验证值表格 的版本号码"构成的8字节的数据,只要是可以唯一特定验证值表格 116的信息就可以,并不限于此。在此,对验证信息的制作进行说明。正规的虚拟机执行代码115 的提供者,向虚拟机管理机关提出虚拟机的验证值表格116和验证值 表格识别信息117。虚拟机管理机关对虚拟机代码的安装者提供正规 的虚拟机的验证值表格116和验证值表格识别信息117。虚拟机代码 的安装者基于此而制作验证信息。另外,在本实施方式中,作为记录介质102,假设为BD,将记 录于其的虚拟机代码121通过盘读入部111导入到信息处理装置 101,但不限于此,例如,将盘读入部111置换为因特网连接部,将 虚拟机代码121经由因特网导入到信息处理装置101,也可以利用其 它的方法将虚拟机代码121导入到信息处理装置101。以上对本发明的一实施方式的记录介质以及信息处理装置的说 明到此为止。(虚拟机代码的执行)然后,利用图2,对信息处理装置IOI中的虚拟机代码的执行进 行说明。首先,信息处理装置101通过用户操作接受部112,通过接受执 行记录介质102上的虚拟机代码121的指示而开始处理。接受了虚拟机代码121的执行指示后,虚拟机执行部113从信 息保持部114载入虚拟机执行代码115和验证值表格116,驱动虚拟 机(S201)。然后,通过盘读入部111从记录介质102读出虚拟机代码121, 虚拟机执行部113在虚拟机上启动虚拟机代码121 (S202)。在虚拟机上启动的虚拟机代码121利用虚拟机验证模块1121以 及验证信息保持模块1122,对含有执行自身的虚拟机的执行环境的 正当性进行验证(S203)。对于该处理的详细说明,在后面叙述。S203的验证结果NG的情况下,虚拟机代码121结束自身的执 行地被安装,因此结束该执行(S204)。在S203的验证结果为OK的情况下,执行虚拟机代码121中的 代码依存处理模块1123定义的代码依存处理(S205)。在代码依存 处理模块1123中,每个虚拟机代码121中定义有不同的处理,例如,作为另外记录在记录介质102中的电影等内容数据的著作权保护对象,进行内容的解密处理,但不限于此。在代码依存处理结束的时刻,结束虚拟机代码121的执行。 以上对信息处理装置101中的虚拟机代码121的执行的说明到此为止。(包含虚拟机的执行环境的正当性验证) 对含有虚拟机的执行环境的正当性验证处理的详细情况进行说 明。该处理为通过虚拟机代码121对对执行自身的虚拟机是否正规进 行验证的处理。虚拟机执行代码115,由于接口或处理内容等的安装所需要的信 息都被公开,因此谁都可以进行安装。因此,若不是正规的虚拟机执 行代码115,则在虚拟机代码121的执行时就进行不正当的动作,虚 拟机代码121的处理可能不会正确进行。虚拟机代码121,例如,在 为对另外记录在记录介质102中的对电影等内容的著作权进行保护 的程序的情况下,不正当地再现内容,将不能保护著作权,因此,需 要包含虚拟机的执行环境的验证处理。对构成虚拟机代码121的模块进行说明。虚拟机验证模块1121 是验证执行自身的虚拟机是否为正当的模块,验证信息保持模块 1122为用于验证包含虚拟机的执行环境的正当性的信息。具体地, 从虚拟机取得验证值表格识别信息117和验证值,通过该值与验证信 息保持模块1122保持的验证信息是否一致,来验证含有虚拟机的执 行环境的正当性。由此,在不同的再现装置中制作对含有播放器型号、 制造商名等的数据进行了复制的仿真器,例如,即使在计算机上搭载 了虚拟机及该仿真器,由于验证值表格116保持的机器固有的值成为 不同,可以阻止相关的不正当仿真器上的再现。对于验证处理的详细 情况在后面讲述。然后,对构成虚拟机执行代码115的模块进行说明。验证值取 得模块1151,将与虚拟机代码121中的虚拟机验证模块1121指定的 地址相当的值,从验证值表格U6中检索出,并取得该值。验证值变 换模块1152为通过计算对从验证值模块116取得的值进行变换的模 块。虚拟机具有状态(state),具有将从验证值表格116读入的值对 应于状态唯一变换的特点。另外,状态在变换处理结束后,更新为按 照目前为止读出的验证值的读出顺序唯一决定的值。保持该状态的为 状态保持模块1153。虚拟机代码执行模块1154,是将虚拟机代码121中的代码依存 处理模块1123定义的处理变换为依存平台的原码并执行的模块。验证值表格116为地址401和值402构成的数据,是对于值402 对应有唯一的地址401的表格。另夕卜,若可以唯一地特定验证值表格 116的值402,地址401可以为物理/逻辑地址、实际/虚拟地址。另外, 字体文件或固件的二进制数据等、信息处理装置101为了其他的用途 保持的二进制数据的一部分可以作为验证值表格116而利用。接着,利用图3,对包含虚拟机的执行环境的正当性验证处理的 流程进行说明。首先,虚拟机代码121,例如将0xl2等初始值付与虚拟机(S301)。 若初始值为预先决定的值,也可以利用其它的值。虚拟机将被付与的初始值保持在状态保持模块1153中(S302)。 接着,虚拟机向虚拟机代码121发送验证值表格识别信息117(S303)。 然后,虚拟机代码121使用虚拟机验证模块1121,从验证信息保持 模块1122中取得相当于S303中接收的验证值表格识别信息117的验 证信息(S304)。接着,使用虚拟机验证模块1121,确认验证次数。 验证次数达到虚拟机验证模块1121内设定的预定次数的情况下,结 束处理,在不满足规定次数的情况下,继续验证处理(S305)。然后,虚拟机验证模块1121,按照验证信息保持模块1122保持 的验证信息定义的顺序,向虚拟机请求验证值(S306)。图5表示了 验证信息保持模块1122保持的验证信息的数据结构。验证信息具有 验证值表格识别信息117、验证顺序501、地址401、验证值502,持 有对应于各信息处理装置101保持的验证值表格116的验证信息。例 如,在图5中,表示同一验证值表格识别信息117记述有 0x001 l節OOOOl 1001的验证信息和0x0022ee0000050003的验证信息,
以及其他的验证信息。虚拟机验证模块1121参照与S303中接收的验 证值表格识别信息117 —致的记录,按照验证顺序501,使用地址401 向虚拟机请求验证值。通过确认虚拟机返回的地址的对应的值和验证 值一致,验证包含虚拟机的执行环境的正当性。在S306中,虚拟机验证模块1121,按照验证信息,指定对应于 目前为止的验证次数的地址401向虚拟机请求验证值,具体地,在图 5的验证值表格识别信息117利用0x001 lffDOOOOl 1001的验证信息的 情况下,目前为止的验证此时为O次时,指定地址0x00節001,另外, 在目前为止的验证此时为2次时,指定地址0x00ff0002请求验证值。接受了验证值的请求的虚拟机,使用验证值取得模块1151,从 验证值表格116取得对应于指定的地址的值(S307)。例如,在从虚 拟机验证模块1121请求对应于地址0x00ff0001的值的情况下,从图 4的验证值表格116中取得对应于该地址401的值0xff。然后,虚拟机中的验证值变换模块1152从状态保持模块1153 中取得状态(S308)。例如,在初始状态的情况下,取得S301、 S302 保持的状态0x12。然后,验证值变换模块1152对从验证值表格116取得的值实施 计算,进行变换(S309)。例如,验证值变换模块1152进行从状态 保持模块1153中取得的状态和从验证值表格116读入的值的XOR, 进行变换。具体地,取得的状态为0x12,从验证值表格116读入的 值为0xff的情况下,变换为0xed。然后,验证值变换模块1152,使用S309中利用的值,对状态保 持模块1153的状态进行更新(S310)。例如,将指定的地址的最末 位1字节的值和状态保持模块1153保持的值更新为XOR的值。然后,虚拟机将S309中计算出的验证值返回到虚拟机代码121 (S311)。虚拟机代码中的虚拟机验证模块1121确认该值与验证信 息中的值是否一致, 一致的情况下验证结果判断为OK,不一致的情 况下,验证结果判断为NG (S321)。验证结果为OK的情况下,返回到S305,实施预定次数的验证。 验证结果为NG的情况下,结束处理(S322)。
以上的对包含虚拟机的执行环境的正当性验证处理的说明结束。另外,在本实施方式的S301中,在虚拟机中设定的初始值由虚 拟机代码121保持,但不限于此,也可以为虚拟机实行代码115保持。 该情况下,在S301中,虚拟机代码121相对于虚拟机,不设定初始 值,而只进行初始化请求。该初始化请求,可以为状态保持模块1153 在虚拟机验证模块1121执行时读入初始值的构成,也可以为虚拟机 验证模块1121含有公开地指示执行的代码的构成。其它地,可以将 验证值表格116内的特定的值作为初始值而利用。另外,在本实施方式S309中,作为验证值的变换计算,利用了 从状态保持模块1153取得的状态和对应于指定的地址的值的XOR, 但不限于此,若利用从状态保持模块1153取得的状态和从验证值表 格116读入的值可以计算出唯一的值,则可以利用SHA等的单方向 性函数、AES等的加密函数等的其他计算。另外,在本实施方式中,虚拟机将请求的验证值在S309中进行 变换并返回到虚拟机代码121,但是也可以不变换验证值表格116的 值而原样返回。该情况下,在图1中,不需要验证值变换模块1152、 状态保持模块1153、以及图3中的S301、 S302、 S308、 S309、 S310 的步骤。另外,在本实施方式的S310中,在状态更新中,作为更新的值 的计算方法,对指定的地址的最末位的1字节的值和状态保持模块 1153保持的值进行XOR,但不限于此,若可以对应于调出验证值的 顺序计算出不同的值,并且为具有再现性的方法,则也可以利用其他 方法。通过将这样计算出的状态利用在验证值的变换中,从虚拟机代 码121看的情况下,即使指定相同的地址请求验证值,由于其请求顺 序不同返回的值也不同,例如,在验证值表格116暴露的情况下,若 S309的变换计算没有暴露,则不能通过虚拟机代码121的验证,可 以起到提供安全等级的效果。另外,在本实施方式中,在S305中,将验证值的确认进行规定 的多次是作为前提的,但是,相对于哪个装置都将验证值的确认次数
规定为一次,可以省略S305、 S322的处理。另外,在该情况下,利 用图6所示的验证信息,在相当于一个的验证值表格116的验证信息 中准备多个验证值,在验证时,随机选择一个而向虚拟机请求验证值 也可以。这样,通过只对验证值确认一次的情况下随机地请求验证值, 可以对应验证值表格116的特定地址的值被暴露时的称为"返回暴露 了不正当虚拟机的固定值"的不正当的攻击。另外,在本实施方式中,验证值变换模块1152为包含在虚拟机 执行代码115中的构成,但不限于此,可以不同于虚拟机执行代码 115而存储。另外,在本实施方式中,作为验证值的数据长,利用了一字节 的数据长,但不限于此。 (其它的变形例)另外,基于上述实施方式对本发明进行了说明,但是,本发明 当然不限于上述实施方式。以下的情况也包含在本发明中。(1) 上述信息处理装置,具体地,为微处理器、ROM、 RAM、 硬盘组件(unit)、显示组件、键盘、鼠标构成的计算机系统。所述 RAM或硬盘组件中存储有计算机程序。通过所述微处理器按照所述 计算机程序的动作,信息处理装置达成其功能。在此,计算机程序的 构成为,为了达成预定的功能,将表示相对于计算机的指令的指令代 码多个组合的构成。(2) 构成上述信息处理装置的构成要素的一部分或全部,可以 由一个系统LSI (Large Scale Integration:大规模集成电路)构成。 系统LSI为将多个构成部集成在一个芯片而制造出的超多功能LSI, 具体地,为含有微处理器、ROM、 RAM等而构成的计算机系统。在 所述RAM中,存储有计算机程序。所述微处理器,通过按照所述计 算机程序而动作,系统LSI达成其功能。(3) 构成上述所述信息处理装置的构成要素的一部分或全部, 可以由可安装脱离信息处理装置的IC卡或单体的模块构成。所述IC 卡或所述模块为微处理器、ROM、 RAM等构成的计算机系统。所述 IC卡或所述模块可以含有上述超多功能LSI。通过微处理器按照计算
机程序而动作,所述IC卡或所述模块达成其功能。该IC卡或该模块具有防篡改性。(4) 本发明可以为上述所示的方法。另外,也可以为通过计算 机实现这些方法的计算机程序,也可以为由所述计算机程序构成的数 字信号。另外,本发明可以为将所述计算机程序或所述数字信号存储在 计算机可读取的记录介质,例如,软盘、硬盘、CD-ROM、 MO、 DVD、DVD-ROM、 DVD-RAM、 BD (Blu-ray Disc)、半导体存储器等中。 另外,也可以为记录在这些记录介质中的所述数字信号。另外,本发明可以将所述计算机程序或所述数字信号经由电信 线路、无线或有线通信线路、以因特网为代表的网络、数据播放等进 行传送。另外,本发明为具有微处理器和存储器的计算机系统,所述存 储器存储有所述计算机程序,所述微处理器按照所述计算机程序动 作。另外,可以通过将所述程序或所述数字信号记录在所述记录介 质中进行输送,或通过将所述程序或所述数字信号经由所述网络等进 行输送,通过独立的其它计算机系统进行实施。(5) 本发明为通过内部含有的虚拟机执行内容的再现所涉及的 处理的信息处理装置中利用的验证方法,其特征在于,具有读入所述 内容和记录在所述记录介质中的验证程序的读入步骤;通过所述虚拟 机只执行所述验证程序,验证包含所述虚拟机的所属信息处理装置的 正当性的验证步骤。在此,"读入步骤",包含在实施方式中说明的S202中的处理。 另外,"验证步骤"分别与实施方式中说明的S203的处理(参照图 2)相对应。(6) 另外,为上述变形例(5)的验证方法,在所述验证方法 中,利用按照定时而变动的证明用信息,进行验证。在此,"证明用信息"为在实施方式中通过图3的S309的处理 生成的值。(7) 另外,在变形例(6)中,所述验证步骤包含请求基于所述信息处理装置保持的秘密信息的所述证明用信息的请求步骤;对 所述证明用信息和记录在所述记录介质中的验证信息进行比较的比 较步骤;基于比较结果,判断是否正当的步骤,所述验证方法还具有 提供步骤,该提供步骤为,对应于所述请求,通过所述虚拟机生成所 述证明用信息,将生成的所述证明用信息提供给所述验证程序。该"请求步骤"、"比较步骤"以及"判断步骤",分别与上 述的实施方式中说明的S306、 S321以及S322的处理(参照图3)对 应。"提供步骤"对应于S307 S3U的处理。"秘密信息"相当于 验证值表格116中包含的值,"验证信息"相当于图5所示的验证值。(8) 另外,在变形例(7)中,所述判断步骤包含按照定时 每当所述证明用信息变动,重复所述比较步骤的重复步骤;若所述重 复的结果为所述验证信息和所述证明用信息连续预定次数地不一致, 则决定为所述信息处理装置不正当的决定步骤。在此,"重复步骤"对应于上述实施方式中说明的S322的OK (参照图3)的情况的处理。"决定步骤"相当于S305的处理以及 S322的NG的情况的处理。(9) 另外,所述变形例(7)的验证方法中,所述提供步骤包 含,通过对应于所述秘密信息的读出顺序唯一决定的值,变更生成所 述证明用信息的过程中利用的计算信息的更新步骤;将生成的所述证 明用信息向所述验证用程序输出的输出步骤。在此,"更新步骤"以及"输出步骤"分别与上述实施方式中 说明的S310以及S311的处理对应。另外,"计算信息"与实施方 式中说明的状态对应。(10) 另外,在上述实施例(6)中,所述记录介质中记录有多 个验证候补信息,所述信息处理装置保持有一个以上的秘密信息,所 述验证步骤包含选择一个验证候补信息作为验证信息的选择步骤; 请求基于秘密信息生成的所述证明用信息的请求步骤,所述秘密信息 对应于选择的所述验证信息;对所述验证信息和所述证明用信息进行 比较的步骤;以及基于比较结果判断所述信息处理装置的正当性的判
断步骤,所述验证方法还具有提供步骤,该提供步骤为,接受所述请 求后,通过所述虚拟机,利用与所述验证信息对应的所述秘密信息生 成所述证明用信息,将生成的所述证明用信息提供给所述验证用程 序。在此,"选择步骤"、"请求步骤"、"比较步骤"分别于上述实施方式的S304、 S306以及S321 (参照图3)的处理对应。"判 断步骤"含有S322以及S305的处理。"提供步骤"相当于实施方 式的S307 S311的处理。另外,"验证候补信息"相当于图5以及 图6所示的验证值502。"验证信息"与验证值502中通过S306的 处理按照验证顺序501选择出的一个验证值对应。(11) 另外,在上述变形例(10)中,也可以,所述判断步骤 包含在所述比较步骤判定为所述验证信息和证明用信息一致的情况 下,重复所述选择步骤、所述请求步骤以及所述比较步骤的重复步骤; 通过所述重复而所述验证信息和证明用信息连续规定的次数地一致 的情况下,决定为所述信息处理装置正当,在其他的情况下,决定为 所述信息处理装置不正当的决定步骤。在此,"重复步骤"与实施方式1中的S322的OK的情况的处 理对应。"决定步骤"与S322的NG的情况下的处理以及S305的处 理对应。(12) 另外,在上述变形例(11)中,也可以,在所述验证步 骤的重复中,所述选择步骤中,将对应于重复的次数而不同的验证候 补信息作为所述验证信息进行选择,在所述提供步骤中,生成对应于 重复次数而变动的所述证明用信息,在相同的变形例(11)中,所述 多个验证候补信息中的至少一个,与唯一识别所述虚拟机的标识符对 应,所述选择步骤中,将对应于所述标识符的验证候补信息作为所述 验证信息选择。(13) 另外,在上述变形例(10)中,也可以,在所述选择步 骤中,随机选择所述验证信息,在所述比较步骤中,对应于所述验证 信息,利用随机变动的所述证米用信息,进行所述比较,在相同的变 形例(10)中,所述多个验证候补信息中的至少一个,与唯一识别所
述虚拟机的标识符对应,在所述选择步骤中,从对应于所述标识符的 验证候补信息中选择所述验证信息。在此,"标识符"与上述实施方式中说明的验证值表格识别信息117对应。(14) 另外,在上述变形例(5)中,所述记录介质还记录有在 所述虚拟机上执行的、包含所述内容的再现所涉及的处理顺序的再现 关联程序,所述验证方法还包含有在验证的结果为所述信息处理装置 不正当的情况下,抑制所述内容的再现所涉及的处理次序的执行的抑 制步骤,在相同的变形例(5)中,所述内容为对数字作品进行加密 而生成的,所述内容的再现所涉及的处理次序可以包含有对所述内容 解密的次序。在此"抑制步骤"与实施方式中说明的S204的NG的处理(参 照图2)对应。(15) 另外,本发明为含有所述虚拟机并执行记录在记录介质 上的内容的再现所涉及的处理的信息处理装置,在所述记录介质中, 记录有通过所述虚拟机上的执行来验证所述信息处理装置的正当性 的验证程序,所述信息处理装置具有如下单元存储有一个以上的自 身固有的秘密信息的存储单元;读入所述验证程序的读入单元;从所 述验证程序接受相对于证明用信息的请求的接受单元,所述证明用信 息对应于定时而变动,并且基于与所述验证中利用的验证信息对应的 秘密信息而生成;接受所述请求后,利用与所述验证信息对应的所述 秘密信息,生成所述证明用信息,将生成的所述证明用信息提供给所 述验证用程序的提供单元。另外,本发明为搭载在含有虚拟机并执行记录介质中记录的内 容的再现所涉及的处理的信息处理装置上的集成电路,在所述记录介 质中,记录有通过在所述虚拟机的执行来验证所述信息处理装置的正 当性的验证程序,所述集成电路具有记录有一个以上的自身固有的 信息的存储单元;读入所述验证程序的读入单元;从所述验证程序接 受相对于证明用信息的请求的接受单元,所述证明用信息对应于时刻 而变动,并且基于对应于所述验证中利用的验证信息的秘密信息而生
成;接受所述请求后,利用对应于所述验证信息的秘密信息,生产所 述证明用信息,将生成的所述证明用信息提供给所述验证用程序的提 供单元。另外,本发明为记录有验证含有虚拟机并执行内容再现所涉及 的处理的信息处理装置的正当性的验证程序的记录介质,记录有所述 验证程序以及所述验证中利用的一个以上验证候补信息,所述验证程 序包括从所述验证候补信息选择一个验证候补信息作为验证信息的 选择步骤;向所述虚拟机请求对应于时间变动的、基于对应于所述验 证信息的秘密信息而生成的证明用信息的请求步骤;取得证明用信 息,将取得的所述证明用信息与所述验证信息进行比较的比较步骤, 对应于比较结果,判断所述信息处理装置是否正当的判断步骤。另外,本发明为由信息处理装置和记录介质构成的验证系统, 所述信息处理装置含有虚拟机并执行内容再现所涉及的处理,所述记 录介质记录有通过在所述虚拟机上执行而验证所述信息处理装置的 正当性的验证程序,所述记录介质记录有所述验证程序和所述验证中 利用的一个以上的验证候补信息,所述验证程序包括,从所述多个验 证候补信息选择一个验证候补信息作为验证信息的选择步骤;向所述 记录装置请求对应于定时而变动的、基于对应于所述验证信息的秘密 信息而生成的证明用信息的请求步骤;从所述信息处理装置取得所述 证明用信息,对取得的所述证明用信息和所述验证信息进行比较的比 较步骤;对应于比较结果,判断所述信息处理装置是否正当的判断步 骤,所述信息处理装置包括存储有一个以上的所述信息处理装置固 有的秘密信息的存储单元;读入所述验证程序的读入单元;从所述验 证程序接受所述请求的接受单元;接受了所述请求后,利用与所述验 证信息对应的秘密信息生成所述证明用信息,将生成的证明用信息提 供给所述验证用程序的提供单元。在此,所述"验证程序"与图1所示的虚拟机验证模块1121相 对应,"验证候补信息"与图5及图6所示的验证值502相对应。本变形例的"验证程序"中包含的"选择步骤"、"请求步骤"、 "比较步骤"分别与上述实施方式中的S304、 S306、 S321 (参照图3)的处理相对应。"判断步骤"包含S322以及S305的处理。构成"信息处理装置"的"存储单元"与信息保持部114相对 应。"读入单元"与盘读入部lll相对应。"接受单元"及"提供单 元"通过虚拟机执行部113读入虚拟机执行代码115中包含的指令代 码并解读、执行而实现。另外,"秘密信息"相当于利用图4说明的 值402,"证明用信息"为通过S309的处理而生成的值。(16) 另外,本发明为验证含有虚拟机并执行内容再现所涉及 的处理的信息处理装置的正当性的验证程序,含有,从所述多个验证 候补信息中选择一个验证候补信息作为验证信息的选择步骤;向所述 记录装置请求对应于定时而变动的、基于对应于所述验证信息的秘密 信息生成的证明用信息的请求步骤;从所述信息处理装置取得所述证 明用信息,对取得的所述证明用信息和所述验证信息进行比较的比较 步骤;对应于比较结果,判断所述信息处理装置是否正当的判断步骤。在此,所述"验证程序"对应于图1所示的虚拟机验证模块1121, "验证候补信息"对应于图5及图6所示的验证值502。"验证程序" 中包含的"选择步骤"、"请求步骤"、"比较步骤"分别对应于所 述实施方式的S304、 S306以及S321 (参照图3)的处理。"判断步 骤"含有S322和S305的处理,另外,"秘密信息"相当于利用图4 说明的值402,"证明用信息"为通过S309的处理生成的值。(17) 另外,本发明为在包含虚拟机并执行记录介质上记录的 内容的再现所涉及的处理的信息处理装置中利用的证明程序,在所述 记录介质中,记录有通过在所述虚拟机上的执行来验证所述信息处理 装置的正当性的验证程序,所述信息处理装置具有一个以上的存储所 述信息处理装置固有的秘密信息的存储单元,所述证明程序具有从 所述验证程序接受相对于证明用信息的请求的请求步骤,所述证明用 信息对应于时刻而变动,基于对应于所述验证中利用的验证信息的秘 密信息而生成;接受所述请求后,利用对应所述验证信息的秘密信息, 生成所述证明用信息,将生成的所述证明用信息提供给所述验证用程 序的提供步骤。在此,所述"验证程序"以及"证明程序"分别对应于实施方 式中说明的虚拟机验证模块1121以及虚拟机执行代码115。"证明程序"中包含的"接受步骤",包含在实施方式中说明 的S307的处理中,"提供步骤"对应于S307-S311的处理。(18) 另外,本发明可以为以下的构成。(18-1)本发明为使用虚拟机执行虚拟机代码的信息处理方法, 其特征在于,包含虚拟机代码验证含有虚拟机的执行环境的正当性 的步骤;验证结果判定为含有所述虚拟机的执行环境为不正当的情况 下,停止所述虚拟机代码的处理的步骤。(18-2)在所述变形例(18-1)的信息处理方法中,所述验证步 骤还具有请求基于所述虚拟机保持的秘密信息的特定的值的步骤; 所述虚拟机将所述特定的值向所述虚拟机代码提供的步骤;通过对所 述特定的值和所述虛拟机代码保持的验证信息进行比较, 一致,来验 证正当性的步骤。(18-3)另外,所述变形例(18-2)的信息处理方法,还含有多 次、重复地进行所述验证步骤的步骤。(18-4)在所述变形例(18-2)的信息处理方法中,包括所述 虚拟机向所述虚拟机代码提供所述特定的值的步骤;所述虚拟机,对 所述特定的值,变换为按照其读出顺序唯一决定的值的步骤。(18-5)另外,本发明为在计算机上执行所述变形例(18-1) ~ (18-4)的任一信息处理方法中包含的步骤的程序。(18-6)另外,本发明为一种记录有程序的计算机可读取的记录 介质,该程序在计算机上执行所述变形例(18-1) ~ (18-4)的任一 信息处理方法中包含的步骤。(19) 可以分别对所述实施方式以及所述变形例进行组合。 产业上的可利用性本发明的利用虚拟机执行不依存于平台的程序的信息处理装 置,在对著作权保护用程序等、在虚拟机上动作的程序请求安全性的 情况下是有用的。
权利要求
1、一种验证方法,利用在通过内部包含的虚拟机执行内容的再现所涉及的处理的信息处理装置中,其特征在于,包括读入步骤,读入所述内容以及记录在记录介质中的验证程序;以及验证步骤,通过所述虚拟机执行所述验证程序,来验证包含所述虚拟机的所述信息处理装置的正当性。
2、 如权利要求1所述的验证方法,其特征在于,在所述验证步 骤中,利用根据定时而变动的证明用信息,来进行所述验证。
3、 如权利要求2所述的验证方法,其特征在于 所述验证步骤包括请求步骤,请求基于所述信息处理装置保持的秘密信息的所述 证明用信息;比较步骤,对所述证明用信息和记录在所述记录介质中的验证 信息进行比较;以及判断步骤,基于比较结果判断是否正当, 所述验证方法还包括提供步骤,对应于所述请求,通过所述虚拟机生成所述证明用 信息,将生成的所述证明用信息提供给所述验证程序。
4、 如权利要求3所述的验证方法,其特征在于 所述判断步骤包括重复步骤,每当所述证明用信息根据定时而变动,重复所述比 较步骤;以及决定步骤,若所述重复的结果为所述验证信息和所述证明用信 息不是连续预定次数地一致的情况下,决定所述信息处理装置为不正 当。
5、 如权利要求3所述的验证方法,其特征在于 所述提供步骤包括更新步骤,通过对应于所述秘密信息的读出顺序而唯一决定的值,变更生成所述证明用信息的过程中利用的计算信息;以及输出步骤,将所生成的所述证明用信息向所述验证用程序输出。
6、 如权利要求2所述的验证方法,其特征在于 在所述记录介质中记录有多个验证候补信息, 所述信息处理装置保持有一个以上的秘密信息, 所述验证步骤包括选择步骤,作为验证信息选择一个验证候补信息; 请求步骤,请求基于与所选择的所述验证信息相对应的秘密信 息而生成的所述证明用信息;比较步骤,比较所述验证信息和所述证明用信息;以及 判断步骤,基于比较结果,判断所述信息处理装置的正当性, 所述验证方法还包括提供步骤,接受所述请求后,通过所述虚拟机,利用对应于所 述验证信息的所述秘密信息而生成所述证明用信息,将所生成的所述 证明用信息向所述验证用程序提供。
7、 如权利要求6所述的验证方法,其特征在于 所述判断步骤包括重复步骤,在由所述比较步骤判断为所述验证信息和证明用信 息一致的情况下,重复所述选择步骤、所述请求步骤以及所述比较步 骤;以及决定步骤,在通过所述重复而所述验证信息和证明用信息为连 续预定次数地一致的情况下,决定为所述信息处理装置为正当,在此 外的情况下,决定为所述信息处理装置为不正当。
8、 如权利要求7所述的验证方法,其特征在于-在所述验证步骤的重复中,在所述选择步骤中,将对应于重复次数而不同的验证候补信息 作为所述验证信息选择,在所述提供步骤中,生成对应于重复次数而变动的所述证明用 信息。
9、 如权利要求8所述的验证方法,其特征在于所述多个验证候补信息中的至少一个,与唯一识别所述虚拟机 的标识符对应,在所述选择步骤中,将与所述标识符相对应的验证候补信息作 为所述验证信息选择。
10、 如权利要求6所述的验证方法,其特征在于 在所述选择步骤中,随机选择所述验证信息,在所述比较步骤中,对应于所述验证信息,利用随机变动的所 述证明用信息进行所述比较。
11、 如权利要求10所述的验证方法,其特征在于 所述多个验证候补信息中,至少一个与唯一识别所述虚拟机的标识符相对应,在所述选择步骤中,从与所述标识符相对应的验证候补信息中 选择所述验证信息。
12、 如权利要求1所述的验证方法,其特征在于 所述记录介质还记录有再现关联程序,该再现关联程序在所述虚拟机上执行,含有所述内容的再现所涉及的处理次序,所述验证方法还包括抑制步骤,该抑制步骤为,在验证的结果 为所述信息处理装置为不正当的情况下,抑制所述内容的再现所涉及 的处理次序的执行。
13、 如权利要求12所述的验证方法,其特征在于 所述内容是对数字作品加密而生成的,所述内容的再现所涉及的处理次序含有对所述内容解密的次序。
14、 一种信息处理装置,含有虚拟机,执行记录介质中记录的 内容的再现所涉及的处理,其特征在于在所述记录介质中,记录有通过在所述虚拟机上执行来验证所 述信息处理装置的正当性的验证程序, 所述信息处理装置具有-存储单元,存储有一个以上的自身固有的秘密信息; 读入单元,读入所述验证程序; 接受单元,从所述验证程序接受相对于证明用信息的请求,所 述证明用信息对应于定时而变动,基于与所述验证中利用的验证信息 相对应的秘密信息而生成;以及提供单元,接受所述请求后,利用对应于所述验证信息的秘密 信息,生成所述证明用信息,将所生成的所述证明用信息向所述验证 用程序提供。
15、 一种集成电路,搭载在含有虚拟机并执行记录介质中记录 的内容的再现所涉及的处理的信息处理装置上,其特征在于在所述记录介质中,记录有通过在所述虚拟机上执行来验证所 述信息处理装置的正当性的验证程序, 所述集成电路具有存储单元,存储有一个以上的自身固有的秘密信息; 读入单元,读入所述验证程序;接受单元,从所述验证程序接受相对于证明用信息的请求,所 述证明用信息对应于定时而变动,基于与所述验证中利用的验证信息 相对应的秘密信息而生成;以及提供单元,接受所述请求后,利用对应于所述验证信息的秘密 信息,生成所述证明用信息,将所生成的所述证明用信息向所述验证 用程序提供。
16、 一种记录介质,记录有验证程序,该验证程序验证含有虚 拟机并执行内容的再现所涉及的处理的信息处理装置的正当性,其特 征在于记录有所述验证程序以及所述验证中利用的一个以上的验证候 补信息,所述验证程序含有选择步骤,从所述验证候补信息中,选择一个验证候补信息作 为验证信息;请求步骤,向所述虚拟机请求对应于定时而变动、基于与所述 验证信息相对应的秘密信息而生成的证明用信息;比较步骤,取得所述证明用信息,对所取得的所述证明用信息 和所述验证信息进行比较;以及判断步骤,对应于比较结果,判断所述信息处理装置是否正当。
17、 一种验证系统,由信息处理装置和记录介质构成,所述信 息处理装置含有虚拟机并执行内容的再现所涉及的处理,所述记录介 质记录有通过在所述虚拟机上执行来验证所述信息处理装置的正当 性的验证程序,其特征在于所述记录介质记录有所述验证程序以及所述验证中利用的一个 以上的验证候补信息,所述验证程序含有选择步骤,从所述多个验证候补信息中,选择一个验证候补信 息作为验证信息;请求步骤,向所述记录装置请求对应于定时而变动、基于与所 述验证信息相对应的秘密信息而生成的证明用信息;比较步骤,从所述信息处理装置取得所述证明用信息,对取得 的所述证明用信息和所述验证信息进行比较;以及判断步骤,对应于比较结果,判断所述信息处理装置是否正当,所述信息处理装置具有存储单元,存储有一个以上的所述信息处理装置固有的秘密信息;读入单元,读入所述验证程序;接受单元,从所述验证程序接受所述请求;以及提供单元,接受所述请求后,利用对应于所述验证信息的秘密信息,生成所述证明用信息,将所生成的所述证明用信息向所述验证用程序提供。
18、 一种验证程序,验证含有虚拟机并执行内容的再现所涉及 的处理的信息处理装置的正当性,其特征在于,具有选择步骤,从所述多个验证候补信息中,选择一个验证候补信 息作为验证信息;请求步骤,向所述记录装置请求证明用信息,所述证明用信息 根据定时而变动,基于与所述验证信息相对应的秘密信息而生成; 比较步骤,从所述信息处理装置取得所述证明用信息,比较所取得的所述证明用信息和所述验证信息;以及判断步骤,对应于计较结果,判断所述信息处理装置是否为正当。
19、 一种证明程序,利用在含有虚拟机并执行记录介质中记录 的内容的再现所涉及的处理的信息处理装置中,其特征在于所述记录介质中记录有通过在所述虚拟机上执行来验证所述信 息处理装置的正当性的验证程序,所述信息处理装置具有一个以上的存储有所述信息处理装置固 有的秘密信息的存储单元,所述证明程序具有接受步骤,从所述验证程序接受相对于证明用信息的请求,所 述证明用信息对应于定时而变动,基于与所述验证中利用的验证信息 相对应的秘密信息而生成;以及提供步骤,接受所述请求后,利用与所述验证信息相对应的秘 密信息,生成所述证明用信息,将所生成的所述证明用信息向所述验 证用程序提供。
全文摘要
本发明提供验证方法、信息处理装置、记录介质、验证系统、证明程序以及验证程序。由于接口等安装时所需要的信息都被公开,任何人都可以安装虚拟机。因此,存在着通过不正当地安装虚拟机,使在其上动作的程序不正当地动作而并非正当地动作的问题。本发明中,通过对虚拟机具有的秘密信息和程序自身具有的验证用信息进行比较,可以对动作自身的虚拟机是否正规地安装程序进行验证,由此排除不正当的虚拟机。
文档编号G06F21/22GK101213560SQ20068002387
公开日2008年7月2日 申请日期2006年6月27日 优先权日2005年6月28日
发明者中野稔久, 大泽义知, 大石丈於, 小塚雅之, 小野田仙一, 山本雅哉, 山西隆志, 村松克美, 村濑薰, 米满润 申请人:松下电器产业株式会社;索尼株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1