CN101946252B - 信息处理装置及其控制方法 - Google Patents

信息处理装置及其控制方法 Download PDF

Info

Publication number
CN101946252B
CN101946252B CN200980105824.2A CN200980105824A CN101946252B CN 101946252 B CN101946252 B CN 101946252B CN 200980105824 A CN200980105824 A CN 200980105824A CN 101946252 B CN101946252 B CN 101946252B
Authority
CN
China
Prior art keywords
mentioned
application
virtual machine
afore
rules
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN200980105824.2A
Other languages
English (en)
Other versions
CN101946252A (zh
Inventor
伊藤孝幸
前田学
芳贺智之
高山久
松岛秀树
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN101946252A publication Critical patent/CN101946252A/zh
Application granted granted Critical
Publication of CN101946252B publication Critical patent/CN101946252B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • G06F12/1475Key-lock mechanism in a virtual system, e.g. with translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)

Abstract

本发明的目的是提供一种对实际进行了设备访问请求的应用确认正当性的信息处理装置。为了达到上述目的,在本发明中,当通用OS上的应用(102)对安全设备驱动器(105)进行了处理请求时,安全VMM(100)和管理专用OS(104)上的应用确定部(106)将上述应用(102)的页表锁定,参照上述页表生成哈希值。将上述生成的哈希值与参照哈希值比较,判断是否是正当的应用。

Description

信息处理装置及其控制方法
技术领域
本发明涉及具有对规定应用执行动作的虚拟机进行管理的虚拟机监视器的信息处理装置及其控制方法。
背景技术
近年来,在民用设备中,将音乐数据数字化而取入到存储装置中,来欣赏音乐。此外,对于民用设备不仅要求音乐数据的处理,还要求HighDefinition(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 InterfaceCard)。
此外,实时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 ManagementUnit,存储器管理单元)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也可以以相反的顺序实施。
<OS进行的页表和应用的操作的说明>
图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(FieldProgrammable Gate Array,场可编程门阵列)、或能够重构LSI内部的电路单元的连接及设定的可重构处理器。
进而,如果因半导体技术的进步或派生的其他技术而出现代替LSI的集成电路化的技术,则当然也可以使用该技术进行构成要素的集成化。有可能是生物技术的应用等。
(27)此外,本发明也可以将上述计算机程序或上述数字信号记录在计算机可读取的记录媒体、例如软盘、硬盘、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray Disc,蓝光盘)、半导体存储器等中。此外,也可以是记录在这些记录媒体中的上述数字信号。
(28)也可以是这些实施方式及变形例的组合。
工业实用性
有关本发明的进行对安全设备的访问控制的方法通过将保存有应用的逻辑存储器空间锁定,生成并判断哈希值,具有防止通过应用的替代而进行的不正当应用的设备访问的效果。因此,在处理安全设备的数据处理中,具有防止不正当应用的动作的效果。

Claims (10)

1.一种信息处理装置,其特征在于,具备:
虚拟机,使访问规定设备的规定应用在工作区域上动作;
检测部,从上述虚拟机检测访问请求,该访问请求是使用上述规定应用向规定设备的访问请求;
验证部,验证上述规定应用的正当性;以及
虚拟机监视器,管理上述虚拟机、上述验证部及上述检测部,可重写地管理在上述工作区域上动作的规定应用;
上述检测部如果检测到上述访问请求,则将检测到上述访问请求这一情况通知给上述虚拟机监视器,
上述虚拟机监视器将上述工作区域上的上述规定应用重新管理为不可重写的应用,并将使上述应用成为不可重写的应用这一情况通知给上述验证部,
上述验证部如果接受到来自上述虚拟机监视器的通知,则判断上述规定应用是否正当;
上述虚拟机监视器在上述工作区域中管理与上述规定应用对应的管理信息,上述管理信息包括特权信息,该特权信息表示具有重写上述管理信息的权限的主体,在上述特权信息表示可重写上述规定应用的主体包括上述虚拟机的情况下,重写上述特权信息以将上述虚拟机从可重写上述规定应用的主体中排除,由此将上述规定应用管理为不可重写的应用。
2.如权利要求1所述的信息处理装置,其特征在于,
设有执行部,在上述验证部判断为上述规定应用是正当的情况下,该执行部使用上述规定应用来访问规定设备。
3.如权利要求2所述的信息处理装置,其特征在于,
在上述执行部结束了使用上述规定应用向规定设备的访问后,上述虚拟机监视器恢复成将上述规定应用管理为可重写的应用。
4.如权利要求1所述的信息处理装置,其特征在于,
上述虚拟机监视器将上述特权信息从可重写上述规定应用的主体包括上述虚拟机及上述虚拟机监视器的信息,重写为将可重写上述规定应用的主体限制为上述虚拟机监视器的信息,由此将上述虚拟机从可重写上述规定应用的主体中排除。
5.如权利要求1所述的信息处理装置,其特征在于,
上述规定设备是安全数字卡。
6.如权利要求1所述的信息处理装置,其特征在于,
上述规定设备是对上述信息处理装置提供内容的外部的内容服务器。
7.一种信息处理装置,其特征在于,具备:
虚拟机,使访问规定设备的规定应用在工作区域上动作;
检测部,从上述虚拟机检测访问请求,该访问请求是使用上述规定应用向规定设备的访问请求;以及
虚拟机监视器,管理上述虚拟机及上述检测部,可重写地管理在上述工作区域上动作的规定应用;
上述检测部如果检测到上述访问请求,则将检测到上述访问请求这一情况通知给上述虚拟机监视器,
上述虚拟机监视器将上述工作区域上的上述规定应用重新管理为不可重写的应用,并将使上述应用成为不可重写的应用这一情况通知给具备验证部的外部装置,使上述外部装置的验证部进行上述规定应用是否正当的判断;
上述虚拟机监视器在上述工作区域中管理与上述规定应用对应的管理信息,上述管理信息包括特权信息,该特权信息表示具有重写上述管理信息的权限的主体,在上述特权信息表示可重写上述规定应用的主体包括上述虚拟机的情况下,重写上述特权信息以将上述虚拟机从可重写上述规定应用的主体中排除,由此将上述规定应用管理为不可重写的应用。
8.一种信息处理装置,其特征在于,具备:
虚拟机,使访问规定设备的规定应用在工作区域上动作;
检测部,从上述虚拟机检测访问请求,该访问请求是使用上述规定应用向规定设备的访问请求;
虚拟机监视器,管理上述虚拟机及上述检测部,可重写地管理在上述工作区域上动作的规定应用;以及
通信部,与外部装置通信,该外部装置具备提供服务的执行部;
上述检测部如果检测到上述访问请求,则将检测到上述访问请求这一情况通知给上述虚拟机监视器,
上述虚拟机监视器将上述工作区域上的上述规定应用重新管理为不可重写的应用,
上述通信部在上述规定应用被重新管理为不可重写的应用之后被判断为是正当的应用的情况下,从上述外部装置的执行部接受上述服务的提供;
上述虚拟机监视器在上述工作区域中管理与上述规定应用对应的管理信息,上述管理信息包括特权信息,该特权信息表示具有重写上述管理信息的权限的主体,在上述特权信息表示可重写上述规定应用的主体包括上述虚拟机的情况下,重写上述特权信息以将上述虚拟机从可重写上述规定应用的主体中排除,由此将上述规定应用管理为不可重写的应用。
9.一种控制方法,是信息处理装置的控制方法,其特征在于,
所述信息处理装置具备:
虚拟机,使访问规定设备的规定应用在工作区域上动作;
检测部,从上述虚拟机检测访问请求,该访问请求是使用上述规定应用向规定设备的访问请求;
验证部,验证上述规定应用的正当性;以及
虚拟机监视器,管理上述虚拟机、上述验证部及上述检测部;
在上述控制方法中,
上述检测部如果检测到上述访问请求,则将检测到上述访问请求这一情况通知给上述虚拟机监视器,
上述虚拟机监视器将上述工作区域上的上述规定应用重新管理为不可重写的应用,并将使上述应用成为不可重写的应用这一情况通知给上述验证部,
上述验证部如果接受到来自上述虚拟机监视器的通知,则判断上述规定应用是否正当;
上述虚拟机监视器在上述工作区域中管理与上述规定应用对应的管理信息,上述管理信息包括特权信息,该特权信息表示具有重写上述管理信息的权限的主体,在上述特权信息表示可重写上述规定应用的主体包括上述虚拟机的情况下,重写上述特权信息以将上述虚拟机从可重写上述规定应用的主体中排除,由此将上述规定应用管理为不可重写的应用。
10.一种集成电路,用于信息处理装置,其特征在于,具备:
虚拟机,使访问规定设备的规定应用在工作区域上动作;
检测部,从上述虚拟机检测访问请求,该访问请求是使用上述规定应用向规定设备的访问请求;
验证部,验证上述规定应用的正当性;以及
虚拟机监视器,管理上述虚拟机、上述验证部及上述检测部;
上述检测部如果检测到上述访问请求,则将检测到上述访问请求这一情况通知给上述虚拟机监视器,
上述虚拟机监视器将上述工作区域上的上述规定应用重新管理为不可重写的应用,并将使上述应用成为不可重写的应用这一情况通知给上述验证部,
上述验证部如果接受到来自上述虚拟机监视器的通知,则判断上述规定应用是否正当;
上述虚拟机监视器在上述工作区域中管理与上述规定应用对应的管理信息,上述管理信息包括特权信息,该特权信息表示具有重写上述管理信息的权限的主体,在上述特权信息表示可重写上述规定应用的主体包括上述虚拟机的情况下,重写上述特权信息以将上述虚拟机从可重写上述规定应用的主体中排除,由此将上述规定应用管理为不可重写的应用。
CN200980105824.2A 2008-02-25 2009-02-09 信息处理装置及其控制方法 Active CN101946252B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008043009A JP5260081B2 (ja) 2008-02-25 2008-02-25 情報処理装置及びその制御方法
JP2008-043009 2008-02-25
PCT/JP2009/000500 WO2009107330A1 (ja) 2008-02-25 2009-02-09 情報処理装置及びその制御方法

Publications (2)

Publication Number Publication Date
CN101946252A CN101946252A (zh) 2011-01-12
CN101946252B true CN101946252B (zh) 2013-08-14

Family

ID=41015737

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980105824.2A Active CN101946252B (zh) 2008-02-25 2009-02-09 信息处理装置及其控制方法

Country Status (5)

Country Link
US (1) US8689212B2 (zh)
EP (1) EP2249280B1 (zh)
JP (1) JP5260081B2 (zh)
CN (1) CN101946252B (zh)
WO (1) WO2009107330A1 (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201137660A (en) * 2009-12-23 2011-11-01 Ibm Method and system for protecting an operating system against unauthorized modification
EP2413257B1 (en) * 2010-07-26 2017-04-26 Sony DADC Austria AG Method for replacing an illegitimate copy of a software program with legitimate copy and corresponding system
US8307169B2 (en) * 2011-03-10 2012-11-06 Safenet, Inc. Protecting guest virtual machine memory
CN102959555B (zh) * 2011-04-27 2015-09-02 松下电器(美国)知识产权公司 虚拟计算机系统、虚拟计算机控制方法及半导体集成电路
CN103003798B (zh) * 2011-05-16 2017-02-22 松下电器(美国)知识产权公司 虚拟计算机系统、虚拟计算机系统的控制方法
US20130055335A1 (en) * 2011-08-22 2013-02-28 Shih-Wei Chien Security enhancement methods and systems
JP2013114367A (ja) * 2011-11-28 2013-06-10 Junko Suginaka ファイル通信処理方法及び外部デバイス
WO2013125222A1 (ja) 2012-02-22 2013-08-29 パナソニック株式会社 仮想計算機システム、秘匿情報保護方法及び秘匿情報保護プログラム
US10579405B1 (en) * 2013-03-13 2020-03-03 Amazon Technologies, Inc. Parallel virtual machine managers
US10270748B2 (en) * 2013-03-22 2019-04-23 Nok Nok Labs, Inc. Advanced authentication techniques and applications
US10198572B2 (en) * 2013-09-17 2019-02-05 Microsoft Technology Licensing, Llc Virtual machine manager facilitated selective code integrity enforcement
JP6584823B2 (ja) 2014-06-20 2019-10-02 株式会社東芝 メモリ管理装置、プログラム、及び方法
JP6181004B2 (ja) 2014-06-20 2017-08-16 株式会社東芝 メモリ管理装置、プログラム、及び方法
JP6162652B2 (ja) 2014-06-20 2017-07-12 株式会社東芝 メモリ管理装置、プログラム、及び方法
US9538377B2 (en) * 2014-08-22 2017-01-03 Salesforce.Com, Inc. Switching between restricted-access websites on mobile user devices
US9866589B1 (en) * 2014-12-17 2018-01-09 Airwatch Llc Management of actions initiated by applications in client devices
US9715410B2 (en) * 2015-01-30 2017-07-25 Red Hat Israel, Ltd. Protected virtual machine function access
JP6712720B2 (ja) * 2016-03-22 2020-06-24 オリンパス株式会社 照合情報処理装置
KR20180071679A (ko) * 2016-12-20 2018-06-28 삼성전자주식회사 사용자 단말 장치 및 그의 제어 방법
WO2018139296A1 (ja) * 2017-01-25 2018-08-02 日立オートモティブシステムズ株式会社 車両制御装置およびプログラム更新システム
US11868995B2 (en) 2017-11-27 2024-01-09 Nok Nok Labs, Inc. Extending a secure key storage for transaction confirmation and cryptocurrency
US11831409B2 (en) 2018-01-12 2023-11-28 Nok Nok Labs, Inc. System and method for binding verifiable claims
CN109445902B (zh) * 2018-09-06 2021-05-07 新华三云计算技术有限公司 一种数据操作方法和系统
US11792024B2 (en) 2019-03-29 2023-10-17 Nok Nok Labs, Inc. System and method for efficient challenge-response authentication

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001175486A (ja) * 1999-12-21 2001-06-29 Hitachi Ltd 計算機システム
JP2001337864A (ja) * 2000-03-22 2001-12-07 Hitachi Ltd アクセス制御システム
JP2006065847A (ja) * 2004-08-25 2006-03-09 Microsoft Corp プログラムコードの安全な実行のためのシステムおよび方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7035850B2 (en) * 2000-03-22 2006-04-25 Hitachi, Ltd. Access control system
JP2003186561A (ja) 2001-12-20 2003-07-04 Nippon Telegr & Teleph Corp <Ntt> 情報処理方法、装置及びプログラム
EP1503286B1 (en) 2003-07-30 2014-09-03 Jaluna SA Multiple operating system networking
US7310721B2 (en) 2003-10-30 2007-12-18 Microsoft Corporation Shadow page tables for address translation control
US7725895B2 (en) * 2004-03-31 2010-05-25 Intel Corporation Processor control register virtualization to minimize virtual machine exits
US7797699B2 (en) * 2004-09-23 2010-09-14 Intel Corporation Method and apparatus for scheduling virtual machine access to shared resources
JP4116024B2 (ja) * 2005-07-29 2008-07-09 株式会社ソニー・コンピュータエンタテインメント ペリフェラルの使用管理方法、電子システム及びその構成装置
US8042109B2 (en) 2006-03-21 2011-10-18 Intel Corporation Framework for domain-specific run-time environment acceleration using virtualization technology
US7613847B2 (en) 2006-05-16 2009-11-03 Hewlett-Packard Development Company, L.P. Partially virtualizing an I/O device for use by virtual machines

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001175486A (ja) * 1999-12-21 2001-06-29 Hitachi Ltd 計算機システム
JP2001337864A (ja) * 2000-03-22 2001-12-07 Hitachi Ltd アクセス制御システム
JP2006065847A (ja) * 2004-08-25 2006-03-09 Microsoft Corp プログラムコードの安全な実行のためのシステムおよび方法

Also Published As

Publication number Publication date
US8689212B2 (en) 2014-04-01
JP2009199530A (ja) 2009-09-03
WO2009107330A1 (ja) 2009-09-03
EP2249280A1 (en) 2010-11-10
CN101946252A (zh) 2011-01-12
US20130212575A1 (en) 2013-08-15
EP2249280B1 (en) 2015-08-12
EP2249280A4 (en) 2013-02-06
JP5260081B2 (ja) 2013-08-14

Similar Documents

Publication Publication Date Title
CN101946252B (zh) 信息处理装置及其控制方法
JP6618658B2 (ja) 処理システムにおけるダイレクトメモリアクセス認可
CN101894224B (zh) 保护客户端平台上的内容
US9507962B2 (en) Method and apparatus for secure execution using a secure memory partition
US8839450B2 (en) Secure vault service for software components within an execution environment
CN101178759B (zh) 可信设备集成电路和对其中的存储器件进行虚拟化的方法
US20080072071A1 (en) Hard disc streaming cryptographic operations with embedded authentication
US20110289294A1 (en) Information processing apparatus
JP2005527019A (ja) マルチトークンのシール及びシール解除
CN109766165A (zh) 一种内存访问控制方法、装置、内存控制器及计算机系统
US20090049309A1 (en) Method and Apparatus for Verifying Integrity of Computer System Vital Data Components
JP2010510574A (ja) セキュアデバイス・システムにおけるフラッシュメモリ・ブロックの保護と方法
CN102884535A (zh) 受保护装置管理
KR20140051350A (ko) 디지털 서명 권한자 의존형 플랫폼 기밀 생성 기법
EP3642721A1 (en) A cache unit useful for secure execution
US20110061112A1 (en) System and method for enforcing data encryption on removable media devices
US8972745B2 (en) Secure data handling in a computer system
CN108345804A (zh) 一种可信计算环境中的存储方法和装置
CN102985930B (zh) 信息处理装置以及信息处理方法
JP2023136601A (ja) ソフトウェア管理装置、ソフトウェア管理方法、及びプログラム
CN102985930A (zh) 信息处理装置以及信息处理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant