信息处理装置及其控制方法 技术领域 本发明涉及具有对规定应用执行动作的虚拟机进行管理的虚拟机监视器的信息 处理装置及其控制方法。
背景技术 近年来, 在民用设备中, 将音乐数据数字化而取入到存储装置中, 来欣赏音乐。此 外, 对于民用设备不仅要求音乐数据的处理, 还要求 High Definition(HD, 高清 ) 图像等表 现能力更高的内容的处理。
这里, 数字化的音乐数据及上述 HD 图像等能够不劣化而复制。所以, 为了保护著 作权人的利益, 必须保护并处理这些内容不受不正当复制等。
因此, 将这些内容用 CPRM(Content Protection Recoding Media, 内容保护重编 码媒体 ) 或 AACS(Advanced Access Content System, 高级访问内容系统 ) 等著作权保护技 术保护。 在这些著作权保护技术中, 通过将内容加密而进行保护, 用户为了使用这些内容而 需要用对应于著作权保护技术的终端进行数据的解密。
在对应于著作权保护技术的终端中, 具备对加密的内容实施解密处理的加密引擎 等安全设备。该安全设备需要正确地操作, 以使其不因为不正当的处理而进行不许可解密 的内容的解密。
作为判断进行上述安全设备操作的程序是否正当的技术, 有篡改检测 ( 例如专利 文献 1)。
专利文献 1 是检测处理数据的程序是否正当的技术, 利用图 19 简单地进行说明。 图 19 是表示专利文献 1 的顺序的图。
首先, 通过用户等的操作, 开始处理 (S410)。
接着, 程序对输入数据进行处理, 将已处理信息输出 (S411)。
接着, 对上述程序, 使用哈希函数, 制作哈希值 ( 识别码 )(S412)。
接着, 将上述已处理信息和上述哈希值 ( 识别码 ) 发送给未图示的验证部, 验证部 判断发送来的哈希值 ( 识别码 ) 与预先保持的哈希值是否一致。在一致的情况下, 判断对 应于哈希值的程序是正当的 (S413)。
接着, 结束处理 (S414)。
此外, 作为适当地处理终端的设备所处理的数据的技术, 例如有专利文献 2。利用 图 20 和图 21 简单地进行说明。
图 20 是表示专利文献 2 的软件结构图的图。
专利文献 2 的软件由 VMM(Virtual Machine Monitor, 虚拟机监视器 )400、 通用 OS401、 网络对应应用 402、 通用 OS NIC 代理 403、 实时 OS404、 实时 NIC 代理 405、 实时 UDP/ IP406、 和 NIC 驱动器 407 构成。
VMM400 提供 OS 虚拟化功能。通用 OS401 和实时 OS404 是在 VMM400 提供的虚拟化 的硬件上动作的操作系统。
网络对应应用 402 在进行网络处理的情况下, 对通用 OS NIC 代理 403 委托网络处 理。接着, 通用 OS NIC 代理 403 对实时 NIC 代理 405 委托处理。接着, 实时 NIC 代理 405 对实时 UDP/IP406 委托处理。实时 UDP/IP406 利用 NIC 驱动器 407, 控制未图示的网络接口 卡 (NIC, Network Interface Card)。
此外, 实时 UDP/IP406 在进行网络处理的情况下, 也利用 NIC 驱动器 407 控制网络 接口卡 (NIC, Network Interface Card)。
图 21 是表示从网络接口卡接受到包数据到达通知的情况下的顺序的图。
从检测到包数据的到达的 NIC, 通过中断的信号等通知包数据到达通知 (S400)。
接着, NIC 驱动器 407 从网络接口卡取得数据。接着, 对实时 UDP/IP406 发送包数 据 (S401)。
实时 UDP/IP406 判断保存在包数据的端口区域中的号码是否是在实时 OS 侧的 软件中使用的端口的号码。在上述号码是在实时 OS 侧的软件中使用的端口的号码的情 况下转移到 S403。在上述号码不是在实时 OS 侧的软件中使用的号码的情况下, 转移到 S404(S402)。
在 S403 中, 实时 UDP/IP406 将包数据发送给实时 OS 侧的适当的软件, 转移到 S405(S403)。 在步骤 S404 中, 实时 UDP/IP406 将包数据经由实时 NIC 代理 405 发送给通用 OS NIC 代理 403。通用 OS NIC 代理 403 将包数据发送给网络对应应用 402(S404)。
接着, 结束处理 (S405)。
专利文献 1 : 日本特开 2003-186561 号公报 ( 第 8 页, 图1等)
专利文献 2 : 日本特表 2007-500381 号公报 ( 第 17 页, 图1等)
但是, 在上述说明的现有技术中, 发生以下这样的问题。
即, 专利文献 1 的方法对程序进行哈希运算, 判断是否是正当的程序。
但是, 在该方法中, 存在以下问题 : 通过将不正当的程序和正当的程序替换, 在不 正当的程序动作的情况下也判断是正当的程序。
利用图 19, 简单地说明上述问题。
首先, 在 S411 中, 不正当的程序进行处理。接着, 在从 S411 转移到 S412 之前, 将 不正当的程序与正当的程序替换。接着, 转移到 S412。
在 S412 中, 对替换后的正当的程序生成哈希值 ( 识别码 )。 因此, 判断为进行了正 确的程序的处理。
此外, 专利文献 2 的方法仅判断将设备所处理的数据用实时 OS 侧的软件、 还是通 用 OS 侧的软件的哪个进行处理, 没有进行应用是否正当的确认。
因此, 即使是网络对应应用 402 必须使用 SSL(Secure Sokect Layer, 安全套接 层 ) 等的安全的通信方式的情况, 也有不正当的软件在通用 OS401 上动作而能够不通过 SSL 进行通信的问题。
发明内容 本发明的目的是解决上述问题, 提供一种能够防止在判断了规定应用的正当性之 后将上述规定应用重写为别的不正当的应用、 而通过上述不正当的应用控制设备的信息处
理装置及其控制方法。
为了解决上述问题, 有关本发明的信息处理装置具备 : 虚拟机, 在访问规定设备的 规定应用动作的工作区域上将上述规定应用作为可重写的应用管理 ; 检测部, 从上述虚拟 机中检测使用上述规定应用的向规定设备的访问请求 ; 验证部, 验证上述规定应用的正当 性; 以及虚拟机监视器, 管理上述虚拟机、 上述验证部及上述检测部 ; 上述检测部如果检测 到上述访问请求, 则将该情况通知给上述虚拟机监视器 ; 上述虚拟机监视器将上述工作区 域上的上述规定应用重新管理为不可重写的应用, 将该情况通知给上述验证部 ; 上述验证 部如果接受到来自上述虚拟机监视器的通知, 则判断上述规定应用是否是正当的。
通过这样的结构, 本发明的信息处理装置通过上述虚拟机监视器在工作区域中将 上述规定应用重新管理为不可重写的应用之后, 由上述验证部判断上述规定应用是否是正 当的, 由此在上述验证部验证上述规定应用的正当性之前不可重写地管理上述规定应用, 所以能够防止在上述验证部判断上述规定应用为正当的应用之后将上述规定应用在工作 区域上重写为别的不正当的应用。
本发明的技术方案 1 所述的信息处理装置具备 : 虚拟机, 使访问规定设备的规定 应用在工作区域上动作 ; 检测部, 从上述虚拟机中检测使用上述规定应用的向规定设备的 访问请求 ; 验证部, 验证上述规定应用的正当性 ; 以及虚拟机监视器, 管理上述虚拟机、 上 述验证部及上述检测部, 可重写地管理在上述工作区域上动作的规定应用 ; 上述检测部如 果检测到上述访问请求, 则将该情况通知给上述虚拟机监视器 ; 上述虚拟机监视器将上述 工作区域上的上述规定应用重新管理为不可重写的应用, 将该情况通知给上述验证部 ; 上 述验证部如果接受到来自上述虚拟机监视器的通知, 则判断上述规定应用是否是正当的。 根据本发明, 通过上述虚拟机监视器在上述工作区域中将上述规定应用重新管理 为不可重写的应用之后由上述验证部判断上述规定应用是否是正当的, 由此在上述验证部 验证上述规定应用的正当性之前不可重写地管理上述规定应用, 所以能够防止在上述验证 部判断上述规定应用为正当的应用之后将上述规定应用在工作区域上重写为别的应用。
此外, 本发明的技术方案 2 所述的信息处理装置, 在技术方案 1 所述的信息处理装 置中, 设有执行部, 该执行部在上述验证部判断上述规定应用是正当的情况下, 使用上述规 定应用访问规定设备。
根据本发明, 通过上述虚拟机监视器在上述工作区域中将上述规定应用重新管理 为不可重写的应用之后判断上述规定应用是否是正当的, 并执行使用上述规定应用的向规 定设备的访问, 由此在上述验证部验证上述规定应用的正当性之前不可重写地管理上述规 定应用, 所以能够防止在上述验证部判断上述规定应用为正当的应用之后将上述规定应用 在工作区域上重写为别的不正当的应用, 并使用该不正当的应用访问规定设备。
此外, 本发明的技术方案 3 所述的信息处理装置, 在技术方案 2 所述的信息处理装 置中, 上述虚拟机监视器在上述执行部结束了使用上述规定应用向规定设备的访问后, 将 上述规定应用恢复管理为可重写的应用。
根据本发明, 通过在上述执行部结束了使用上述规定应用的向规定设备的访问后 使上述虚拟机监视器将上述规定应用恢复管理为可重写的应用, 能够在上述规定应用的访 问结束之后将上述规定应用从工作区域中删除, 所以能够防止由处理后的应用白白占用工 作区域。
此外, 本发明的技术方案 4 所述的信息处理装置, 在技术方案 1 所述的信息处理装 置中, 上述虚拟机监视器在上述工作区域中管理对应于上述规定应用的管理信息, 上述管 理信息包括表示具有重写上述管理信息的权限的主体的特权信息, 在上述特权信息表示上 述可重写上述规定应用的主体包括上述虚拟机的情况下, 通过重写上述特权信息以将上述 虚拟机从可重写上述规定应用的主体中排除, 将上述规定应用管理为不可重写的应用。
根据本发明, 由于通过上述虚拟机监视器重写上述管理信息中的特权信息而使能 够由上述虚拟机重写的管理信息不能进行由上述虚拟机执行的上述规定应用的重写, 所以 一旦上述虚拟机监视器将上述特权信息重写, 就能够在上述虚拟机监视器侧禁止上述虚拟 机进行的上述管理信息的重写。结果, 能够可靠地防止在上述验证部判断上述规定应用是 否正当之后将上述规定应用在工作区域上重写为别的应用。
此外, 上述虚拟机监视器通过重写作为上述管理信息中的一部分信息的特权信 息, 从而将上述虚拟机从可重写上述规定应用的主体中排除, 所以能够简单地在上述虚拟 机监视器侧禁止上述虚拟机进行的在工作区域上动作的应用的重写。进而, 通过重写上述 管理信息中的特权信息这样的已有的信息, 不需要用来禁止上述虚拟机进行的上述管理信 息的重写的别的数据结构, 所以能够简化用来实现禁止重写的结构。 此外, 本发明的技术方案 5 所述的信息处理装置, 在技术方案 4 所述的信息处理装 置中, 上述虚拟机监视器通过将上述特权信息从可重写上述规定应用的主体包括上述虚拟 机及上述虚拟机监视器的信息重写为将可重写上述规定应用的主体限制为上述虚拟机监 视器的信息, 将上述虚拟机从可重写上述规定应用的主体中排除。
根据本发明, 通过将上述特权信息从可重写上述规定应用的主体包括上述虚拟机 及上述虚拟机监视器的信息重写为将可重写上述规定应用的主体限制为上述虚拟机监视 器的信息, 将上述虚拟机从可重写上述规定应用的主体排除, 所以能够简单地禁止上述虚 拟机对在工作区域上动作的应用的重写。
此外, 本发明的技术方案 6 所述的信息处理装置, 在技术方案 1 所述的信息处理装 置中, 上述规定设备是 SD 卡。
此外, 本发明的技术方案 7 所述的信息处理装置, 在技术方案 1 所述的信息处理装 置中, 上述规定设备是对上述信息处理装置提供内容的外部的内容服务器。
此外, 本发明的技术方案 8 所述的信息处理装置具备 : 虚拟机, 使访问规定设备的 上述规定应用在工作区域上动作 ; 检测部, 从上述虚拟机中检测使用上述规定应用的向规 定设备的访问请求 ; 以及虚拟机监视器, 管理上述虚拟机及上述检测部, 可重写地管理在上 述工作区域上动作的规定应用 ; 上述检测部如果检测到上述访问请求, 则将该情况通知给 上述虚拟机监视器 ; 上述虚拟机监视器将上述工作区域上的上述规定应用重新管理为不可 重写的应用, 将该情况通知给具备验证部的外部装置, 使上述外部装置的验证部进行上述 规定应用是否正当的判断。
根据本发明, 上述验证部也可以不包含在上述信息处理装置的内部, 而包含在上 述信息处理装置的外部装置中。
此外, 本发明的技术方案 9 所述的信息处理装置具备 : 虚拟机, 使访问规定设备的 规定应用在工作区域上动作 ; 检测部, 从上述虚拟机中检测使用上述规定应用的向规定设 备的访问请求 ; 虚拟机监视器, 管理上述虚拟机及上述检测部, 可重写地管理在上述工作区
域上动作的规定应用 ; 以及通信部, 与具备提供服务的执行部的外部装置通信 ; 上述检测 部如果检测到上述访问请求, 则将该情况通知给上述虚拟机监视器 ; 上述虚拟机监视器将 上述工作区域上的上述规定应用重新管理为不可重写的应用 ; 上述通信部在上述规定应用 被重新管理为不可重写的应用之后是被判断为正当的应用的情况下, 从上述外部装置的执 行部接受上述服务的提供。
根据本发明, 上述执行部也可以不包含在上述信息处理装置的内部, 而包含在上 述信息处理装置的外部装置中。
此外, 本发明的技术方案 10 所述的信息处理装置的控制方法, 所述信息处理装置 具备 : 虚拟机, 使访问规定设备的规定应用在工作区域上动作 ; 检测部, 从上述虚拟机中检 测使用上述规定应用的向规定设备的访问请求 ; 验证部, 验证上述规定应用的正当性 ; 以 及虚拟机监视器, 管理上述虚拟机、 上述验证部及上述检测部 ; 上述检测部如果检测到上述 访问请求, 则将该情况通知给上述虚拟机监视器 ; 上述虚拟机监视器将上述工作区域上的 上述规定应用重新管理为不可重写的应用, 将该情况通知给上述验证部 ; 上述验证部如果 接受到来自上述虚拟机监视器的通知, 则判断上述规定应用是否是正当的。
根据本发明, 通过上述虚拟机监视器在上述工作区域中将上述规定应用重新管理 为不可重写的应用之后由上述验证部判断上述规定应用是否是正当的, 由此在上述验证部 验证上述规定应用的正当性之前不可重写地管理上述规定应用, 所以能够防止在上述验证 部判断上述规定应用为正当的应用之后将上述规定应用在工作区域上重写为别的不正当 的应用。
此外, 本发明的技术方案 11 所述的信息处理装置的控制程序, 所述信息处理装置 具备 : 虚拟机, 使访问规定设备的规定应用在工作区域上动作 ; 检测部, 从上述虚拟机中检 测使用上述规定应用的向规定设备的访问请求 ; 验证部, 验证上述规定应用的正当性 ; 以 及虚拟机监视器, 管理上述虚拟机、 上述验证部及上述检测部 ; 该控制程序包括 : 如果上述 检测部检测到上述访问请求、 则将该情况通知给上述虚拟机监视器的步骤 ; 使上述虚拟机 监视器将上述工作区域上的上述规定应用重新管理为不可重写的应用、 将该情况通知给上 述验证部的步骤 ; 使接受到来自上述虚拟机监视器的通知的上述验证部判断上述规定应用 是否是正当的步骤。
根据本发明, 通过上述虚拟机监视器在上述工作区域中将上述规定应用重新管理 为不可重写的应用之后由上述验证部判断上述规定应用是否是正当的, 由此在上述验证部 验证上述规定应用的正当性之前不可重写地管理上述规定应用, 所以能够防止在上述验证 部判断上述规定应用为正当的应用之后将上述规定应用在工作区域上重写为别的不正当 的应用。
此外, 本发明的技术方案 12 所述的信息处理装置的集成电路具备 : 虚拟机, 使访 问规定设备的规定应用在工作区域上动作 ; 检测部, 从上述虚拟机中检测使用上述规定应 用的向规定设备的访问请求 ; 验证部, 验证上述规定应用的正当性 ; 以及虚拟机监视器, 管 理上述虚拟机、 上述验证部及上述检测部 ; 上述检测部如果检测到上述访问请求, 则将该情 况通知给上述虚拟机监视器 ; 上述虚拟机监视器将上述工作区域上的上述规定应用重新管 理为不可重写的应用, 将该情况通知给上述验证部 ; 上述验证部如果接受到来自上述虚拟 机监视器的通知, 则判断上述规定应用是否是正当的。根据本发明, 通过上述虚拟机监视器在上述工作区域中将上述规定应用重新管理 为不可重写的应用之后由上述验证部判断上述规定应用是否是正当的, 由此在上述验证部 验证上述规定应用的正当性之前不可重写地管理上述规定应用, 所以能够防止在上述验证 部判断上述规定应用为正当的应用之后将上述规定应用在工作区域上重写为别的不正当 的应用。 附图说明 图 1 是表示本发明的实施方式 1 的软件结构的模块图。
图 2 是表示本发明的实施方式 1 的硬件结构的模块图。
图 3 是表示本发明的实施方式 1 的信息处理装置的物理存储器空间的图。
图 4 是表示本发明的实施方式 1 的虚拟物理存储器空间与逻辑存储器空间的对应 关系的一例的图。
图 5 是表示本发明的实施方式 1 的页表的数据结构的一例的图。
图 6 是表示本发明的实施方式 1 的 CPU 向通常存储器及保护存储器进行访问的情 况下的访问控制的图。
图 7 是表示本发明的实施方式 1 的通用 OS 进行的页表和应用的操作的一例的图。
图 8 是表示本发明的实施方式 1 的安全 VMM 进行的页表和软件执行环境的操作的 一例的图。
图 9 是表示本发明的实施方式 1 的防止由不正当应用进行的安全设备访问的顺序 图。
图 10 是表示本发明的实施方式 2 的软件结构的图。
图 11 是表示将本发明的实施方式 2 的信息处理装置和应用判断服务器进行网络 连接的结构的图。
图 12 是表示本发明的实施方式 3 的软件结构的图。
图 13 是表示将本发明的实施方式 3 的信息处理装置、 应用判断服务器、 和服务提 供服务器网络连接的结构的图。
图 14 是表示本发明的实施方式 3 的防止由不正当应用进行的安全设备访问的顺 序图。
图 15 是表示本发明的实施方式 4 的软件结构的图。
图 16 是表示本发明的实施方式 4 的防止由不正当应用进行的安全设备访问的顺 序图。
图 17 是表示本发明的实施方式 5 的软件结构的图。
图 18 是表示本发明的实施方式 5 的防止由不正当应用进行的安全设备访问的顺 序图。
图 19 是以往的确认程序的正当性的顺序图。
图 20 是表示以往的 OS 虚拟化执行环境中的、 将数据适当地按照执行环境处理的 软件结构的图。
图 21 是表示以往的 OS 虚拟化执行环境中的、 将数据适当地按照执行环境处理的 顺序图。
图 22 是装载通用 OS 上的应用的顺序图。 图 23 是表示本发明的实施方式 1 的页表的数据结构的重写后的一例的图。 符号说明 100、 133、 190、 200、 230、 260、 280 安全 VMM 101、 129、 180、 201、 231、 261、 281、 401 通用 OS 102、 103、 127、 128、 183、 184、 202、 203、 232、 233、 262、 263、 282、 283 应用 104、 132、 204、 234、 264、 284 管理专用 OS 105、 130、 205、 265、 285 安全设备驱动器 106、 131、 206、 236、 266、 286 应用确定部 107、 207、 237、 267、 287 动作应用保存存储器确定部 108、 208、 238、 268、 288 动作应用存储器锁定部 109、 209、 239、 269、 290 设备访问请求判断部 110、 210、 270、 291 设备访问控制部 111、 211、 240、 271、 289 识别码生成部 112、 223、 254、 272、 292 应用判断部 120、 220、 250 信息处理装置 121CPU 122MMU 123、 141、 151 通常存储器 124、 143 保护存储器 125 总线 126 安全设备 134 非易失性存储装置 140 信息处理装置的物理存储器空间 142、 144、 152 预留区域 150 由安全 VMM 分配给通用 OS 的虚拟物理存储器空间 135、 136、 153、 160、 181、 182、 300 页表 154 应用的逻辑存储器空间 161、 301 页号码的场 (field) 162、 302 逻辑地址号码的场 163、 303 虚拟物理地址号码的场 164、 304 特权信息的场 165、 305 许可 / 不许可写入操作信息的场 166、 306 许可 / 不许可读入操作信息的场 167、 307 其他信息的场 170 表示向通常存储器及保护存储器进行访问的情况下的访问控制的表 191 通用 OS 所管理的当前页表 192 管理专用 OS 所管理的当前页表 193 通用 OS 和动作中的应用194 管理专用 OS 和动作中的管理专用 OS 上的应用 212、 241 通信部 221、 251 应用判断服务器 222、 253 网络 235 网络接口驱动器 252 服务提供服务器 255 服务提供部 256 服务提供判断部 400VMM 402 网络对应应用 403 通用 OS NIC 代理 404 实时 OS 405 实时 NIC 代理 406 实时 UDP/IP 407NIC 驱动器具体实施方式 以下, 参照附图对本发明的实施方式进行说明。
( 实施方式 1)
< 实施方式 1 的软件的结构的说明 >
图 1 是表示有关本发明的实施方式 1 的软件结构的图。
实施方式 1 的信息处理装置由作为虚拟机监视器的安全 VMM100、 通用 OS101、 应用 A 102、 应用 B 103、 管理专用 OS104、 包括作为检测部的设备访问请求判断部 109 及作为执 行部的设备访问控制部 110 的安全设备驱动器 105、 和作为验证部的应用确定部 106 构成。 虚拟机包括通用 OS101、 应用 A 102 和应用 B 103。
安全 VMM100 提供 OS 虚拟化功能。通用 OS101 和管理专用 OS104 是在安全 VMM100 提供的虚拟化的硬件上动作的操作系统。
安全 VMM100 包括动作应用保存存储器确定部 107 和动作应用存储器锁定部 108。
应用 A 102 和应用 B 103 是对用户提供服务的应用, 根据需要而访问未图示的安 全设备。
安全设备驱动器 105 是控制未图示的安全设备的设备驱动器, 具备设备访问请求 判断部 109 和设备访问控制部 110。
应用确定部 106 具备识别码生成部 111 和应用判断部 112。
< 安全 VMM 的构成要素的说明 >
动作应用保存存储器确定部 107 确定向未图示的安全设备进行访问的通用 O8101 上的应用。详细情况在后面叙述。
动作应用存储器锁定部 108 对与向未图示的安全设备进行访问的通用 OS101 上的 应用对应的页表进行控制。详细情况在后面叙述。
< 安全设备驱动器的构成要素的说明 >
设备访问请求判断部 109 检测向未图示的安全设备的访问请求。详细情况在后面 设备访问控制部 110 进行向未图示的安全设备的访问控制。详细情况在后面叙叙述。
述。 < 应用确定部的构成要素的说明 >
识别码生成部 111 对未图示的安全设备生成通用 OS101 上的应用的识别码。详细 情况在后面叙述。
应用判断部 112 利用上述应用的识别码判断应用是否是正当的。详细情况在后面 叙述。
< 实施方式 1 的硬件结构的说明 >
图 2 是表示图 1 的软件执行动作的信息处理装置 120 的硬件结构图。
在图 2 中, 信息处理装置 120 中, CPU121、 MMU(Memory Management Unit, 存储器管 理单元 )122、 通常存储器 123、 保护存储器 124、 安全设备 126、 和非易失性存储装置 134 经 由总线 125 相互连接。
信息处理装置 120 还具备在图 2 中没有图示的输入输出部及辅助存储装置等, 但 它们不是本发明的本质, 所以省略说明。
以下, 对信息处理装置 120 的各构成要素的详细情况进行说明。
< 信息处理装置的硬件的构成要素的说明 >
CPU121 通过执行包含在保存于通常存储器 123 或保护存储器 124 中的程序等中的 命令代码, 控制信息处理装置 120 整体的动作。
MMU122 参照未图示的页表, 对 CPU121 提供将物理地址号码变换为逻辑地址号码 的功能。进而, MMU122 参照未图示的页表, 根据 CPU121 的特权状态, 提供向存储器的写入 操作及读入操作等访问控制功能。
非易失性存储装置 134 是保存应用 A 127 和应用 B 128 的非易失性的存储装置。 具体而言, 是硬盘或高度存储器 (flash memory, 闪存 ) 等。
通常存储器 123 是将保存在非易失性存储装置 134 中的应用 A 127、 应用 B 128 和 通用 OS129 装载并执行的易失性存储装置。相当于本发明的工作区域。
保护存储器 124 是保存安全设备驱动器 130、 应用确定部 131、 管理专用 OS 132、 和 安全 VMM133 的存储装置。
安全设备 126 是处理内容等应保护的信息的设备, 是需要防止来自不正当的应用 的访问的设备。例如是进行加密内容的解密等的加密解密电路等。作为另一例, 可以想到 记录有加密的内容的闪存等记录媒体、 或保持解密的内容的存储器等。 此外, 安全设备并不 限于内置在信息处理装置中的设备, 也可以是 SD 卡等外部的记录装置。
进而, 控制保护存储器 124 和安全设备 126, 以使其仅能够由保存在保护存储器 124 中的软件访问。
< 通用 OS 与应用的关联性的说明 >
通用 OS129 对应于在通用 OS129 上动作的应用 A 127 和应用 B 128, 分别保持页表 135 和页表 136。另外, 关于页表的详细情况在后面叙述。
< 使用 OS 虚拟化功能的情况下的存储器空间的说明 >
图 3 是表示信息处理装置 120 的物理存储器空间 140 的图。
信息处理装置 120 的物理存储器空间 140 由对应于通常存储器的存储器空间 141、 预留区域 A 142、 对应于保护存储器的存储器空间 143、 和预留区域 B 144 构成。信息处理 装置的物理存储器空间 140 能够通过物理存储器地址唯一地确定。
安全 VMM100 将信息处理装置的物理存储器空间 140 分割为分配给通用 OS101 的 物理存储器空间、 和分配给管理专用 OS104 的物理存储器空间而进行管理。
分配给通用 OS101 的物理存储器空间由对应于通常存储器的存储器空间 141、 和 预留区域 A 142 构成。
分配给管理专用 OS104 的物理存储器空间由对应于保护存储器的存储器空间 143、 和预留区域 B 144 构成。
安全 VMM100 对于通用 OS101 和管理专用 OS104, 使各自的存储器空间作为虚拟物 理地址空间参照。通用 OS101 和管理专用 OS104 对于各自的虚拟物理地址空间, 使用虚拟 物理地址号码, 进行读入操作及写入操作。
< 虚拟物理存储器空间和逻辑存储器空间的说明 >
图 4 是表示虚拟物理存储器空间与逻辑存储器空间的对应关系的一例的图。另 外, 图 4 的虚拟物理存储器空间是通用 OS 进行读入操作及写入操作的虚拟物理存储器空 间。
通常存储器 151 被分割为称作页的固定长度尺寸而管理。
页表 153 将多个页集中管理, 构建逻辑地址空间。 进而, 1 个页表对应于 1 个应用。
应用对逻辑地址空间使用逻辑地址号码进行读入操作及写入操作。
< 页表的构成要素的说明 >
图 5 是表示页表 160 的数据结构的一例的图。
页表 160 是对与页对应的各条目, 由页号码 161、 逻辑地址号码 162、 虚拟物理地址 号码 163、 特权信息 164、 许可 / 不许可写入操作信息 165、 许可 / 不许可读入操作信息 166、 和其他信息 167 构成的数据结构。
页号码 161 是保存页的号码的场 (field)。
逻辑地址号码 162 是保存 MMU122 将虚拟物理地址号码变换为逻辑地址号码时的 对应的逻辑地址号码的场。 本场既可以分别保存对应于各虚拟物理地址号码的逻辑地址号 码, 也可以保存页的开头逻辑地址号码。
虚拟物理地址号码 163 是保存 MMU122 将虚拟物理地址号码变换为逻辑地址号码 时的对应的虚拟物理地址号码的场。本场也可以保存页的开头虚拟物理地址号码。
特权信息 164 是保存与 MMU122 在进行向存储器的访问控制的情况下参照的特权 信息有关的信息的场。详细情况在后面叙述。
许可 / 不许可写入操作信息 165 是表示对应于页表 160 的应用是否也可以进行向 页的写入操作的场。在本场中, 保存有表示许可或不许可的信息。
许可 / 不许可读入操作信息 166 是表示对应于页表 160 的应用是否也可以进行向 页的读入操作的场。在本场中保存有表示许可或不许可的信息。
其他信息 167 是保存有页的尺寸、 页的脏 (dirty) 信息、 或上述属性以外的信息等 的场。此外, 页表的各场的信息的变更仅在 CPU121 的特权状态是环 (ring, 执行环 )0 的 情况下进行。另外, 关于特权状态, 详细情况在后面叙述。
另外, 图 5 所示的页表 160 是逻辑的数据结构, 例如也可以使用公知的阶层性的页 表构造。
另外, 在图 5 所示的页表 160 中, 按照各页分配特权信息, 但也可以对 1 个页表分 配 1 个特权信息。在此情况下, 上述 1 个特权信息也可以用其他数据结构或寄存器管理。
在图 5 所示的页表 160 中, 许可 / 不许可写入操作信息 165 是表示是否能够进行 从应用的写入的场, 但也可以是其他。例如, 也可以是与保存在其他信息 167 中的表示写入 操作主体的信息组合而表示上述主体是否能够进行写入操作的场。
在图 5 所示的页表 160 中, 许可 / 不许可读入操作信息 166 是表示是否能够进行 从应用的读入的场, 但也可以是其他。例如, 也可以是与保存在其他信息 167 中的表示读入 操作主体的信息组合而表示上述主体是否能够进行读入操作的场。
< 基于 CPU 的特权状态的存储器访问控制的说明 >
图 6 是表示在 CPU121 进行向通常存储器 123 及保护存储器 124 的访问的情况下 的访问控制的表。 图 6 的访问控制既可以由 CPU121 实现, 也可以由 MMU122 实现。
在 CPU121 中, 有环 0、 环 1、 环 2、 环 3 的特权状态。CPU121 通过执行特权命令而转 移各特权状态。
特权状态为环 0 的作为在 CPU121 中动作的主体的软件可以访问页表 160 的特权 信息 164 场是环 0、 环 1、 环 2 和环 3 的页。此外, 可以重写特权信息 164 场是环 0、 环 1、 环 2 和环 3 的页表的内容。
特权状态为环 1 的作为在 CPU121 中动作的主体的软件可以访问页表 160 的特权 信息 164 场是环 1、 环 2 和环 3 的页。此外, 可以重写特权信息 164 场是环 1、 环 2 和环 3 的 页表的内容。特权状态为环 1 的作为在 CPU121 中动作的主体的软件在访问页表 160 的特 权信息 164 场是环 0 的页的情况下, CPU121 或 MMU122 检测到是不正当的存储器访问, 拒绝 访问。
特权状态为环 2 的作为在 CPU121 中动作的主体的软件可以访问页表 160 的特权 信息 164 场是环 2 和环 3 的页。此外, 可以重写特权信息 164 场是环 2 和环 3 的页表的内 容。特权状态为环 2 的作为在 CPU121 中动作的主体的软件在访问页表 160 的特权信息 164 场是环 0 和环 1 的页的情况下, CPU121 或 MMU122 检测到是不正当的存储器访问, 拒绝访问。
特权状态为环 3 的作为在 CPU121 中动作的主体的软件可以访问页表 160 的特权 信息 164 场是环 3 的页。此外, 可以重写特权信息 164 场是环 3 的页表的内容。特权状态 为环 3 的作为在 CPU121 中动作的主体的软件在访问页表 160 的特权信息 164 场是环 0、 环 1 和环 2 的页的情况下, CPU121 或 MMU122 检测到是不正当的存储器访问, 拒绝访问。
此外, 在信息处理装置 120 中, 对于环 0 分配安全 VMM100, 对环 1 分配管理专用 OS104, 对环 2 分配通用 OS101, 对环 3 分配在通用 OS 上动作的应用。
另外, 特权的分配方法并不限于上述环的分配。 只要能够进行控制以使通用 OS101 和在通用 OS 上动作的应用被分配的特权比安全 VMM100 和管理专用 OS104 被分配的特权 低, 也可以使用其他分配方法。
< 应用的装载处理的说明 >
图 22 是表示通用 OS 进行的应用的装载处理的顺序图。
通过基于未图示的接口的用户的指示等, 开始应用的装载处理 (S300)。
通用 OS180 从非易失性存储装置 134 读入保存有应用的文件 (S301)。
通用 OS180 参照保存在文件的头文件中的需要存储器尺寸等, 计算对应用分配的 存储器尺寸, 从通常存储器 123 中确保需要的存储器区域 (S302)。
通用 OS180 在内部制作对应于应用的页表 (S303)。
通用 OS180 从步骤 S301 中读入的文件中, 将应用的程序 ( 代码和数据 ) 装载到步 骤 S302 中确保的存储器区域中 (S304)。
接着, 通用 OS180 结束应用的装载处理 (S305)。
另外, 步骤 S304 和步骤 S305 也可以以相反的顺序实施。
图 7 是表示通用 OS 进行的页表和应用的操作的一例的图。 在图 7 中, 在通用 OS180 上, 应用 A 183 和应用 B 184 动作。
通用 OS180 通过将 CPU 以时分方式分配给应用 A 183 和应用 B 184, 使应用 A 183 和应用 B 184 动作。 在上述以时分方式分配的操作中, 通用 OS180 切换应用 A 183 和应用 B 184。 该切 换操作通过切换对应于各应用的页表来实现。
在图 7 的情况下, 通用 OS180 通过保持并切换对应于应用 A 183 的页表 181、 和对 应于应用 B 184 的页表 182, 以时分方式执行应用。
此外, 管理专用 OS104 也通过进行同样的页表的操作, 切换在管理专用 OS104 上动 作的软件。
< 安全 VMM 进行的页表和软件执行环境的操作的说明 >
图 8 是表示安全 VMM 进行的页表和软件执行环境的操作的一例的图。在图 8 中, 在安全 VMM190 上, 通用 OS193 和管理专用 OS194 动作。
安全 VMM190 通过将 CPU 以时分方式分配给通用 OS193 和管理专用 OS194, 使通用 OS193 和管理专用 OS194 动作。
在上述以时分方式分配的操作中, 安全 VMM190 切换通用 OS193 和管理专用 OS194。 该切换操作通过切换对应于各 OS( 软件执行环境 ) 的当前页表来实现。这里, 所谓当前页 表, 是各 OS 当前使 CPU121 参照的页表。
在图 8 的情况下, 安全 VMM190 通过保持并切换对应于通用 OS193 的当前页表 191、 和对应于管理专用 OS194 的当前页表 192, 以时分方式执行各 OS( 软件执行环境 )。
< 不正当应用进行的安全设备访问的检测以及防止访问的说明 >
以下, 利用图 9, 进行信息处理装置 120 对不正当应用所进行的安全设备访问的检 测以及访问防止的说明。
通用 OS101 上的应用经由通用 OS101 进行安全设备处理请求 (S100)。
安全 VMM100 利用上述软件执行环境的操作, 从通用 OS101 切换为管理专用 OS104。 并且, 在处理请求检测步骤中, 安全设备驱动器 105 的设备访问请求判断部 109 检测上述安 全设备处理请求。并且, 设备访问请求判断部 109 对安全 VMM100 进行对象应用提取请求
(S101)。
对于对象应用提取请求, 安全 VMM100 进行对象应用提取步骤和对象应用锁定步骤。 在对象应用提取步骤中, 安全 VMM100 的动作应用保存存储器确定部 107 提取通用 OS101 的当前页表。 由于通用 OS101 使其动作的应用是发出了安全设备处理请求的应用, 所 以当前页表为该应用的页表 (S102)。
在对象应用锁定步骤中, 安全 VMM100 的动作应用存储器锁定部 108 将保存在通用 OS101 的当前页表中的信息备份到保护存储器中。 并且, 动作应用存储器锁定部 108 将通用 OS101 的当前页表的写入许可 / 不许可信息的场都变更为 “不许可” 。例如, 在对图 5 所示 的页表 160 进行了上述操作的情况下, 变更为图 23 的页表 300。在重写后的页表 300 中, 重 写前的页表 160 的特权信息 164 的场的环 3 如页表 300 的特权信息 304 所示那样被重写为 环 0。进而, 在重写后的页表 300 中, 重写前的页表 160 的许可 / 不许可写入操作信息 165 的场都如页表 300 的许可 / 不许可写入操作信息 305 所示那样被重写为 “不许可” 。
由此, 不能对装载有发出了安全设备处理请求的应用的存储器空间进行重写。进 而, 将特权信息的场变更为通过对通用 OS 及在通用 OS 上动作的应用分配的特权不能变更 的环号。通过该特权信息的变更, 通用 OS 及在通用 OS 上动作的应用不论当前页表原本的 特权信息如何, 都不能将写入许可 / 不许可信息的场从 “不许可” 恢复为 “许可” 。因而, 也 能够防止由通用 OS 侧及在其上动作的应用将页表的写入许可 / 不许可信息的场恢复为 “许 可” 而能够对装载有应用的存储器空间进行重写那样的攻击。 在本实施方式中, 通过该许可 / 不许可写入操作信息 165 的场的重写、 和特权信息的场的重写, 从能够对发出了安全设备 处理请求的应用进行重写的主体中排除了包括通用 OS 及在通用 OS 上动作的所有应用的虚 拟机。接着, 对应用确定部 106 进行应用确定请求 (S103)。
对于应用确定请求, 应用确定部 106 进行识别码生成步骤和应用判断步骤。
在识别码生成步骤中, 应用确定部 106 的识别码生成部 111 利用上述提取的页表 来参照逻辑地址空间。识别码生成部 111 根据保存在参照的逻辑地址空间中的程序, 使用 SHA1 等的单向性函数, 生成哈希值 (S 104)。
接着, 在应用判断步骤中, 应用确定部 106 的应用判断部 112 确认预先保持的参照 哈希值与上述生成的哈希值是否一致。在一致的情况下, 应用判断部 112 判断进行了 S100 的安全设备处理请求的应用是正当的应用。在不一致的情况下, 应用判断部 112 判断进行 了 S100 的安全设备处理请求的应用是不正当的应用。应用判断部 112 利用上述判断结果, 对安全设备驱动器 105 进行设备访问控制请求 (S105)。
对于设备访问控制请求, 安全设备驱动器 105 的设备访问控制部 110 在上述判断 结果是正当的应用的情况下, 许可向安全设备的访问。或者, 设备访问控制部 110 在上述判 断结果是不正当的应用的情况下, 拒绝向安全设备的访问 (S106)。
在设备访问控制部 110 许可向安全设备的访问的情况下, 安全设备驱动器 105 进 行对安全设备的处理 (S107)。并且, 在处理结束后, 安全设备驱动器 105 对安全 VMM100 进 行对象应用锁定解除请求。
对于对象应用锁定解除请求, 安全 VMM100 的动作应用存储器锁定部 108 进行对象 应用锁定解除步骤。
在对象应用锁定解除步骤中, 动作应用存储器锁定部 108 将备份的当前页表的信 息再设定到通用 OS101 的当前页表中。由此, 页表的写入许可 / 不许可信息及特权信息回 到对象应用锁定步骤以前的状态 (S108)。
接着, 安全 VMM100 切换为通用 OS101。通用 OS101 将安全设备驱动器 105 的处理 结果通知给应用。
此外, 在步骤 S106 中, 在判断为拒绝向安全设备的访问的情况下, 安全设备驱动 器 105 对安全 VMM100 进行对象应用锁定解除请求, 安全 VMM100 的动作应用存储器锁定部 108 进行与上述步骤 S108 同样的处理。接着, 安全 VMM100 切换为通用 OS101。通用 OS 将 安全设备驱动器 105 的处理结果通知给应用。
< 实施方式 1 的效果 >
在上述实施方式 1 中, 如果检测到安全设备处理请求, 则使装载有发出了该请求 的应用的页表的设定成为不能写入, 在此基础上进行应用的验证。 此外, 该不能写入的设定 在向安全设备的访问结束之前不被解除。 由此, 能够防止在通过正当的应用通过验证后、 将 存储器上的应用覆盖为不正当的应用而尝试向安全设备不正当访问的攻击。即, 由于在设 定为使得不能改变装载有应用的存储器之后验证该应用, 所以不能在验证刚结束后将存储 器上的应用替换为不正当的应用。
进而, 通过将页表的特权信息的场重写为通过通用 OS 及在通用 OS 上动作的应用 不能变更的特权, 不能从通用 OS 等将页表的设定恢复为许可写入。由此, 还能够防止在由 通用 OS 上的不正当的应用将页表的设定恢复为许可写入后替换应用那样的攻击。
( 实施方式 2)
图 10 是表示有关本发明的实施方式 2 的信息处理装置的软件结构的模块图。
图 11 是表示有关本发明的实施方式 2 的信息处理装置和应用判断部被网络连接 的结构的图。
实施方式 1 的信息处理装置 120 与实施方式 2 的信息处理装置 220 的结构的差异 如下。
在实施方式 1 的信息处理装置 120 中, 应用确定部 106 具备作为验证部的应用判 断部 112, 而实施方式 2 的信息处理装置 220 的应用确定部 206 不具备作为验证部的应用判 断部。进而, 实施方式 2 的应用确定部 206 新具备通信部 212。
进而, 实施方式 2 的信息处理装置 220 经由网络 222 连接在应用判断服务器 221 上。应用判断服务器 221 具备作为验证部的应用判断部 223。
此外, 实施方式 1 与实施方式 2 的动作的差异如下。
在实施方式 1 中, 应用判断部 112 将识别码生成部 111 生成的哈希值 ( 识别码 ) 与参照哈希值 ( 识别码 ) 比较、 判断。
相对于此, 在实施方式 2 中, 通信部 212 将识别码生成部 211 生成的哈希值 ( 识 别码 ) 利用未图示的网络功能经由网络 222 发送给应用判断服务器 221。应用判断服务器 221 的应用判断部 223 通过将发送来的哈希值 ( 识别码 ) 与预先保持的哈希值 ( 识别码 ) 比较、 判断, 由此判断是否是正当的应用。
除了上述差异以外, 实施方式 1 与实施方式 2 是相同的, 所以省略说明。
本实施方式 2 由应用判断服务器判断应用是否正当。因此, 与实施方式 1 不同, 不需要由信息处理装置 220 保持用来在应用判断步骤中使用的预先保持的哈希值 ( 识别码 )。 因而, 具有能够削减信息处理装置 220 的存储区域的效果。
( 实施方式 3)
图 12 是表示有关本发明的实施方式 3 的信息处理装置的软件结构的模块图。
图 13 是表示有关本发明的实施方式 3 的信息处理装置、 应用判断部和服务提供服 务器被网络连接的结构的图。
图 14 是表示有关本发明的实施方式 3 的设备访问控制的顺序的图。
实施方式 1 的信息处理装置 120 与实施方式 3 的信息处理装置 250 的结构的差异 如下。
实施方式 1 与实施方式 3 的硬件结构的差异是, 安全设备是网络接口。并且, 控制 上述网络接口的设备驱动器是网络接口驱动器 235。
在实施方式 1 的信息处理装置 120 中, 应用确定部 106 具备作为验证部的应用判 断部 112, 但实施方式 3 的信息处理装置 250 的应用确定部 236 不具备作为验证部的应用判 断部。进而, 实施方式 3 的应用确定部 236 新具备通信部 241。进而, 实施方式 3 的网络接 口驱动器 235 不具备作为执行部的设备访问控制部。
进而, 实施方式 3 的信息处理装置 250、 应用判断服务器 251 和服务提供服务器 252 经由网络 253 相互连接。应用判断服务器 251 具备作为验证部的应用判断部 254。服 务提供服务器 252 具备作为执行部的服务提供部 255 和服务提供判断部 256。
作为执行部的服务提供部 255 对信息处理装置 250 提供内容分发等服务。
服务提供判断部 256 判断是否可以对信息处理装置 250 提供服务。
利用图 14 的顺序, 说明信息处理装置 250 从服务提供服务器 252 接受服务的步 骤。
首先, 由信息处理装置 250 实施的安全设备处理请求 (S200)、 处理请求检测步骤 (S201)、 对象应用提取步骤 (S202)、 对象应用锁定步骤 (S203)、 识别码生成步骤 (S204)、 对 象应用锁定解除步骤 (S209) 是与实施方式 1 的各步骤相同的处理内容, 所以省略说明。
在识别码发送步骤 (S205) 中, 通信部 241 将生成的哈希值 ( 识别码 ) 经由网络 253 发送给应用判断服务器 251。应用判断服务器 251 的应用判断部 254 通过将发送来的 哈希值 ( 识别码 ) 与预先保持的哈希值 ( 识别码 ) 比较、 判断, 判断是否是正当的应用。接 着, 应用判断部 254 经由网络 253 对服务提供服务器 252 发送上述判断结果 (S206)。
服务提供服务器 252 的服务提供判断部 256 接收发送来的判断结果。
并且, 服务提供判断部 256 在判断结果是正当的应用的情况下 (S207), 对服务提 供部 255 指示以使其对信息处理装置 250 提供服务。被指示提供服务的服务提供部 255 经 由网络 253 对信息处理装置 250 提供服务 (S208)。
此外, 服务提供判断部 256 在判断结果是不正当的应用的情况下 (S207), 对信息 处理装置 250 通知表示请求失败的信息 (S208)。
另外, 应用判断服务器 251 和服务提供服务器 252 也可以是相同的服务器。
另外, 应用判断服务器 251 和服务提供服务器 252 也可以用没有连接信息处理装 置 250 的专用网络连接。在用专用网络将应用判断服务器 251 和服务提供服务器 252 连接 的情况下, 应用判断服务器 251 将判断结果经由专用网络通知给服务提供服务器 252。除了上述差异以外, 实施方式 1 与实施方式 3 是相同的, 所以省略说明。
在实施方式 3 中, 服务提供服务器判断是否对信息处理装置提供服务。因此, 具有 服务提供者能够经由网络确认软件的效果。
( 实施方式 4)
图 15 是表示有关本发明的实施方式 4 的信息处理装置的软件结构的模块图。
图 16 是表示有关本发明的实施方式 4 的设备访问控制的顺序的图。
实施方式 1 的信息处理装置 120 与实施方式 4 的信息处理装置的结构的差异如 下。
在实施方式 1 的信息处理装置 120 中, 安全设备驱动器 105 具备作为检测部的设 备访问请求判断部 109、 和作为执行部的设备访问控制部 110, 但实施方式 4 的安全设备驱 动器 265 不具备作为检测部的设备访问请求判断部和作为执行部的设备访问控制部。进 而, 实施方式 4 的安全 VMM260 具备作为检测部的设备访问请求判断部 269 和作为执行部的 设备访问控制部 270。
利用图 16 的顺序, 说明实施方式 4 的信息处理装置仅使正当的应用访问安全设备 的步骤。
在实施方式 1 中, 处理请求检测步骤 (S101) 和设备处理判断步骤 (S106) 是由安 全设备驱动器 105 实现的。相对于此, 在实施方式 4 中, 处理请求检测步骤 (S211) 和设备 处理判断步骤 (S216) 由安全 VMM260 实现。
除了上述差异以外, 实施方式 1 与实施方式 4 是相同的, 所以省略说明。
实施方式 4 与实施方式 1 不同, 设备访问请求判断部 269 和设备访问控制部 270 存在于安全 VMM260 内部, 而不存在于安全设备驱动器 265 内部。因而, 具有能够不改变安 全设备驱动器而由实施方式 4 的信息处理装置动作的效果。
( 实施方式 5)
图 17 是表示有关本发明的实施方式 5 的信息处理装置的软件结构的模块图。
图 18 是表示有关本发明的实施方式 5 的设备访问控制的顺序的图。
实施方式 1 的信息处理装置 120 与实施方式 5 的信息处理装置的结构的差异如 下。
在实施方式 1 的信息处理装置 120 中, 应用确定部 106 具备作为验证部的识别码 生成部 111, 但实施方式 5 的应用确定部 286 不具备作为验证部的识别码生成部。进而, 实 施方式 5 的安全 VMM280 具备作为验证部的识别码生成部 289。
利用图 18 的顺序, 说明实施方式 5 的信息处理装置仅使正当的应用访问安全设备 的步骤。
在实施方式 1 中, 识别码生成步骤 (S104) 由应用确定部 106 实现。相对于此, 在 实施方式 5 中, 识别码生成步骤 (S224) 由安全 VMM280 实现。
除了上述差异以外, 实施方式 1 与实施方式 5 相同, 所以省略说明。
在实施方式 5 中, 与实施方式 1 不同, 识别码生成部 289 存在于安全 VMM280 内部, 而不存在于应用确定部 286 内部。因此, 从动作应用保存存储器确定部 287 向识别码生成 部 289 的信息通知能够在相同的组件 ( 安全 VMM280) 内部实现。因而, 具有能够更高速地 进行从动作应用保存存储器确定部 287 向识别码生成部 289 的信息通知。( 其他变形例 )
(1) 在上述实施方式中, 也可以不是在处理请求检测步骤中检测处理请求自身, 而 是通过参照请求的命令种类、 数据的处理内容来判断并检测是否进行了处理请求。
(2) 在上述实施方式中, 处理请求检测步骤也可以仅对设备初始化的操作进行检 测操作。
(3) 在上述实施方式中, 也可以基于随机数而随机地决定是否进行处理请求检测 步骤的检测。
(4) 在上述实施方式中, 也可以基于设备访问次数切换是否进行处理请求检测步 骤的检测。例如, 也可以进行以下操作 : 在对安全设备驱动器进行了 10 次访问的情况下进 行检测。
(5) 在上述实施方式中, 在识别码生成步骤的哈希值的生成中也可以使用 SHA1 以 外的单向性函数。例如, 也可以使用 MD5、 SHA256、 AES、 或 DES。
(6) 在上述实施方式中, 也可以在识别码生成步骤的哈希值的生成中仅使用逻辑 地址空间的一部分生成哈希值。例如, 也可以生成只有应用的代码区域的哈希值。
(7) 在上述实施方式中, 在识别码生成步骤的哈希值的生成中也可以生成多个哈 希值。例如, 也可以将逻辑存储器空间分割并按照分割后的区域生成哈希值。
(8) 在上述实施方式中, 在对象应用锁定步骤的将页表的信息备份的情况下, 也可 以仅将一部分信息备份。
(9) 在上述实施方式中, 应用判断部也可以仅将具备特定的应用许可证的应用判 断为不正当应用。
(10) 在上述实施方式中, CPU 也可以是具备保护模式和通常模式的 CPU。进而, 也 可以只有保护模式的 CPU 能够访问保护存储器。
(11) 在上述实施方式中, 控制保护存储器和安全设备以使得只有保存在保护存储 器中的软件能够访问, 但该手段也可以通过硬件实现。例如, 也可以控制总线, 以使得仅当 保护存储器上的程序动作时能够从 CPU 向保护存储器和安全设备访问。
(12) 在上述实施方式中, 通常存储器和保护存储器也可以是相同的存储器。
(13) 在上述实施方式中, 非易失性存储装置也可以保存通用 OS。在此情况下, 通 过称作 BIOS(Basic Input Output System, 基本输入输出系统 )、 或 IPL(Initial Program Loader, 初始程序装入 ) 的特别的固件 ( 程序 ) 将通用 OS 装载到通常存储器上。
(14) 在上述实施方式中, 非易失性存储装置也可以保存有安全设备驱动器、 应用 确定部、 管理专用 OS、 或安全 VMM。在此情况下, 使用 AES 加密等密钥加密方式、 或 RSA 加 密等非对称密钥加密方式等加密算法, 将安全设备驱动器、 应用确定部、 管理专用 OS、 安全 VMM 加密保存。并且, 各组件被解密而装载到保护存储器上并执行。
(15) 在上述实施方式中, 安全 VMM 也可以保存在通常存储器中。 在此情况下, 保存 在保护存储器中的未图示的篡改检测程序也可以进行安全 VMM 的篡改检测。进而, 上述安 全 VMM 的篡改检测既可以在将安全 VMM 装载到通常存储器中的情况下进行, 也可以定期地 进行篡改检测, 也可以基于随机数等不定期地进行, 也可以基于某种触发而进行。
(16) 在上述实施方式中, 安全 VMM 也可以保存在通常存储器中。 在此情况下, 保存 在信息处理装置内部的读入专用存储装置 (ROM) 中的未图示的篡改检测程序也可以进行安全 VMM 的篡改检测。进而, 上述安全 VMM 的篡改检测既可以在将安全 VMM 装载到通常存 储器中的情况下进行, 也可以定期地进行篡改检测, 也可以基于随机数等不定期地进行, 也 可以基于某种事件而进行。
(17) 在上述实施方式中, 使用 CPU 的环的机构实现 CPU 的特权状态, 但也可以是其 以外的方法。例如, 也可以利用支持完全虚拟化的 CPU 的虚拟化域 ( 管理域和通用域 ) 的 机构。
(18) 在上述实施方式中, 通用 OS 管理应用的页表, 但也可以是其以外的方法。例 如, 也可以利用 OS 虚拟化技术的影式分页, 由安全 VMM 管理页表。
此外, 在上述实施方式中, 采取了安全 VMM 作为当前页表而参照通用 OS 管理的各 应用的页表的结构。更具体地讲, 采取了将指示当前页表的指针与通用 OS 管理的页表中的 与当前处理中的应用对应的页表关联的结构。但是, 并不限于此。例如, 在使用上述影式分 页的情况下, 每当发生动作的应用的切换时, 安全 VMM 自身制作通用 OS 管理的页表的拷贝。 在此情况下, 存储器访问的控制基于安全 VMM 保持的页表进行, 所以安全 VMM 只要对自身复 制的页表进行与上述实施方式中的当前页表同样的处理就可以。
(19) 在上述实施方式 2 和上述实施方式 3 中, 也可以从信息处理装置对应用判断 服务器将识别信息处理装置的信息与哈希值 ( 识别码 ) 一起发送。 (20) 在上述实施方式 2 和实施方式 3 中, 在信息处理装置和应用判断服务器中也 可以使用安全的通信路径。例如也可以使用 SSL。
(21) 在上述实施方式 2 和实施方式 3 中, 也可以使用电子签名保护从信息处理装 置对应用判断服务器发送的信息。例如, 也可以使用 TCG(Trusted Computing Group, 可信 计算组 ) 的 TPM(Trusted Platform Module, 可信平台模块 ) 对发送的信息制作电子签名, 将电子签名发送给应用判断服务器。
(22) 在上述实施方式 2 和实施方式 3 中, 也可以由信息处理装置和应用判断服务 器进行挑战·应答处理, 进行相互认证。
(23) 在上述实施方式中, CPU 能够全部访问与比自身的特权状态水平低的特权信 息对应的页表的条目, 但并不限于此。例如, 也可以使特权状态与特权信息一一对应, 在环 3 的特权状态时仅能够访问具有环 3 的特权信息的条目。
(24) 关于在上述实施方式中叙述的构成要素, 也可以在能够实现其一部分或全部 的范围内作为软件安装。 在此情况下, 由于能够抑制不得不搭载到集成电路上的硬件的量, 所以能够进一步提高集成度。
(25) 关于在上述实施方式中叙述的构成要素, 也可以在能够实现其一部分或全部 的范围内作为硬件安装。在此情况下, 与将上述构成要素用软件安装相比能够使处理更高 速化。这样的安装特别在保存处理及复原处理等、 为了用户的方便性而要求高速化的处理 等中是有用的。
(26) 系统 LSI 根据集成度的差异也有称作 IC、 LSI、 超级 LSI、 超大规模 LSI 的情 况, 但将系统 LSI 用上述哪种集成度实现的情况当然都包含在本发明中。此外, 也可以使用 在 LSI 制造后能够编程的 FPGA(Field Programmable Gate Array, 场可编程门阵列 )、 或能 够重构 LSI 内部的电路单元的连接及设定的可重构处理器。
进而, 如果因半导体技术的进步或派生的其他技术而出现代替 LSI 的集成电路化
的技术, 则当然也可以使用该技术进行构成要素的集成化。有可能是生物技术的应用等。
(27) 此外, 本发明也可以将上述计算机程序或上述数字信号记录在计算机可读取 的记录媒体、 例如软盘、 硬盘、 CD-ROM、 MO、 DVD、 DVD-ROM、 DVD-RAM、 BD(Blu-ray Disc, 蓝光 盘 )、 半导体存储器等中。此外, 也可以是记录在这些记录媒体中的上述数字信号。
(28) 也可以是这些实施方式及变形例的组合。
工业实用性
有关本发明的进行对安全设备的访问控制的方法通过将保存有应用的逻辑存储 器空间锁定, 生成并判断哈希值, 具有防止通过应用的替代而进行的不正当应用的设备访 问的效果。因此, 在处理安全设备的数据处理中, 具有防止不正当应用的动作的效果。