CN101006433A - 信息通信装置和程序执行环境控制方法 - Google Patents
信息通信装置和程序执行环境控制方法 Download PDFInfo
- Publication number
- CN101006433A CN101006433A CNA2005800277066A CN200580027706A CN101006433A CN 101006433 A CN101006433 A CN 101006433A CN A2005800277066 A CNA2005800277066 A CN A2005800277066A CN 200580027706 A CN200580027706 A CN 200580027706A CN 101006433 A CN101006433 A CN 101006433A
- Authority
- CN
- China
- Prior art keywords
- mentioned
- processor
- extension field
- machine code
- download
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Abstract
一种可以进行高速处理,在追加应用程序、驱动程序时,确保系统的安全性的装置和方法。其具备执行由基本处理(22)和OS(21A)构成的软件(20A)的第1CPU群(10A);执行由对应追加处理(23)和追加处理的OS(21B)构成的软件(20B)的第2CPU群(10B),用于第1和第2CPU(10A)、(10B)间进行通信的处理器间通信机构(401、402);控制第2CPU(10B)对存储器(50)和/或者输入输出装置(60)的访问的访问控制机构(30)。
Description
技术领域
【0001】
本发明涉及信息处理装置,尤其是涉及适用于确保执行从信息处理装置外部下载的追加处理时的安全的装置和方法。
背景技术
【0002】
在便携式电话机(mobile phone)等信息通信终端装置中,通常,用于实现该终端装置的基本功能的基本处理(例如呼叫处理功能,访问互联网用的浏览功能,电子邮件功能,画面控制功能等),随操作系统一起事先被安装,对于与上述基本处理不同的追加处理(程序),由用户的操作等,从网络等外部,下载到该终端装置执行并进行安装。可是,执行下载的追加处理时,操作系统和基本处理等,有可能暴露在由该追加处理产生的攻击下。
【0003】
图21是示意地表示执行已下载的追加处理的信息通信终端装置的典型构成的一个例子的图。图21由框图示意地表示了众所周知的典型装置的构成。在以下,追加处理,为由本机代码(在提供者方面进行了编译或者汇编(assemble)处理的二进制代码)提供的应用程序和设备驱动程序(是对装置进行访问请求,执行来自装置的中断处理的软件,也称“I/O驱动程序”)的情况进行说明。
【0004】
在如图21所示的构成中,下载追加处理23进行执行时(追加处理23为设备驱动程序时,安装到操作系统中执行时),对于基本处理22,操作系统(称为“OS”)21,CPU(Central Processing Unit)10,存储器50,输入输出装置(I/O)60,有可能被追加处理23直接攻击。其理由是由于没有安装实现安全的执行环境机构,限制来自追加处理23的、对基本处理22、CPU10、OS21、存储器50或者输入输出装置(I/O)60的攻击。即,为图21所示的构成时,追加处理23能够任意地发布对基本处理22的处理请求,对OS21的处理依赖,对CPU10、存储器50和输入输出装置60的处理请求,也能够自由地访问硬件、软件各种资源。因此,恶意的追加处理23(或者,尽管不是恶意,但是感染了病毒等的追加处理),能够自由地攻击无防备的OS21、基本处理22等。
【0005】
追加设备驱动程序,有时作为例如驻留(常驻型)驱动程序,被安装到OS21的内核中,该设备驱动程序的可靠性会直接对OS21的可靠性和性能带来影响。根据设备的特性这是很显然的,设备驱动程序包括设定对装置的处理和在来自装置的中断时被调度器起动的中断服务,中断服务的执行时间(这期间,重新调度被禁止),根据处理性能被限制在特别短的时间(例如毫秒以下)。即,追加设备驱动程序假定是有恶意的驱动程序时,能够容易降低信息处理装置的处理性能。其即使不是常驻型,装载驱动程序(选择性的装载到内存,或从内存卸载的驱动程序)时也一样。这样,通过作为追加处理安装的恶意的驱动程序进行攻击时,OS21的内核将被直接攻击,这是致命的(实质上将变为不能动作)。
【0006】
因此,当前提出了各种设计方式,对下载的追加处理的执行环境给予限制,保护基本处理等。以下,就几个典型例进行概述。
【0007】
图22是表示软件的追加处理的执行保护环境的构成的一个典型例子的图。在图22所示的例子中,本机代码的追加处理23采用在虚拟机24上执行的构成。作为其中的一个例子,假定追加处理23是由JAVA(注册商标)字节代码描述的,下载的JAVA(注册商标)字节代码在形成虚拟机24的JVM(JAVA(注册商标)虚拟机)上执行。
【0008】
在这样的构成中,基本处理22或OS21等,与追加处理23在软件上分离,确保其安全性。即,追加处理23只通过虚拟机24对OS21、CPU10、存储器50、I/O60等进行访问。在虚拟机24,通常,不赋予进行OS21的内核模式中的执行(例如特权性命令的执行)等的权限,因此,追加处理23不能直接操作OS21。另外,由于虚拟机24,一般,在解释的方式下执行追加处理23的命令代码,容易监视追加处理23的命令、动作是否适当,通过限制例如来自追加处理23的对硬件资源和软件资源的非法访问(例如将大量的数据输出到网络上或者画面上等),虚拟机24也能够担当软件上的保护过滤网、或者防护壁或者防护门的作用。这样,通过虚拟机24,基本处理22、OS21等与追加处理23在软件上分离。
【0009】
可是,图22所示的虚拟机方式具有以下问题点。
【0010】
由下载的追加处理23,对虚拟机24的漏洞(例如安全漏洞)产生攻击等时,会损害系统的安全性。
【0011】
另外,由于通常,JAVA(注册商标)虚拟机等虚拟机24是一条命令一条命令的解释执行JAVA(注册商标)字节代码等的命令代码的解释方式,其执行速度慢。
【0012】
另外,虚拟机24,在执行追加处理23时,通过发布系统调用(call),进行对OS21的处理请求,由于系统调用的开销(overhead)多,处理的执行慢。例如虚拟机24中,对应追加处理23的1个命令的系统调用进行1个或者多个发布。进行由来自用户模式的系统调用发布产生的对系统模式的上下文关联(contest)/切换,OS21的系统调用登录部中的系统调用的数据包的解码,参数等的正确性校验(错误检测处理),处理的分配(dispatch),还有,处理结束时的处理结果的提交和上下文关联(context)/切换,从内核空间向用户空间的切换等一系列的控制,开销很大。
【0013】
并且,如图22所示的构成的情况,作为追加处理23,不能将设备驱动程序编入到OS21中。如由图22表明的,虚拟机24位于OS21的上层。虚拟机24采用,根据追加处理23的代码,对OS21进行处理请求,从OS21接收处理结果,根据需要返回追加处理23的构成,将追加处理作为设备驱动程序编入OS21内,控制追加处理的执行的虚拟机也需要编入OS21内,由于这样的构成,在如图22所示的虚拟机方式中,原理上是不可能的。
【0014】
作为由软件实现的其他的安全管理方式,也知道例如如图23所示的构成。如图23所示,在追加处理23中添加,用于证明其为可以信赖的处理的证书25,下载到终端(信息处理装置)。在终端侧中采取,检查添加的证书25的内容,认证添加的证书25为正确的证书时,允许安装、执行下载的追加处理23的构成。作为证书25可以采用数字签名(ITU-T X509)。例如证书25中,存储着证明的组织及其公匙,CA(认证局)的数字签名(用CA的密匙加密证明的组织或公匙等得到的),进行证书的认证时,用CA的公匙解读CA的数字签名的部分,确认是否与证书的数据内容一致,一致时,判断可以证书的数据。或者,证书25既可以是证明真正的买主的证书,也可以是任意的证书。并且,设备驱动程序的签名功能(DriverSigning)也被安装在例如Windows(注册商标)2000等中。
【0015】
如图23所示的方式时,追加处理23能够由本机代码提供,与图22所示的虚拟机方式相比,可以高速执行。另外,作为追加处理23,可以执行应用程序、设备驱动程序。可是,系统的可靠性全面依据追加处理23的安全性。即,有不能事先检测追加处理23的问题,也有可能给系统带来致命的损坏。
【0016】
图24是表示由硬件进行安全管理的处理器的构成的图。参照图24,CPU11具有安全(secure)模式12和非安全(unsecure)模式13,下载的追加处理23对应该追加处理23的OS21B,主要以非安全模式13执行。并且,内存管理单元14,将非安全模式13下执行的内存区域(地址空间)与安全模式12下访问的内存区域分离进行管理,禁止从非安全模式13向安全模式12的内存区域的访问。即,内存管理单元14进行来自非安全模式13的内存的访问控制,进行禁止从非安全模式13向安全模式12的内存区域的访问的控制。
【0017】
这样,在图24所示的构成中,在安全模式12下执行基本处理22,假设分离成执行追加处理23的CPU和不同的CPU,来谋求提高安全性。
【0018】
可是,安全模式和非安全模式,在CPU中,分时执行,不从非安全模式返回时,不能进行安全模式下的系统的动作。
【0019】
另外,由于分时处理非安全模式和安全模式,在其切换时,需要模式转换等开销。
【0020】
此外,将追加处理23作为设备驱动程序,安装非安全模式的OS21B内时,如果驱动程序有恶意,有可能不能返回安全模式,也有可能对系统带来致命的损坏。
【0021】
并且,与图24所示的构成一样,作为在系统内存中设置分离域,具备正常执行模式和分离执行模式的处理器,参照后面所述的专利文献1的记载。专利文献1所述的装置中,正常执行模式,是处理器在非安全环境,即在没有由分离执行模式提供的安全功能的通常的动作模式下动作的模式,从正常执行模式向分离域的访问被禁止,在分离执行模式中,采取支持规定的分离命令的执行的构成。并且,由于这样的构成也分时处理正常执行模式和分离执行模式,在其切换时,需要模式转换等开销。
【0022】
另外,公开了以下构成:具备2个处理器单元和开关单元,1个处理器单元与公共数据通信网络相连接,另一个处理器单元不与公共数据通信网络相连接,起到作为数据安全用单元的功能(参照后面的专利文献2)。在专利文献2中所述的系统中,由开关分离与公共数据通信网络连接的处理器单元和数据安全用单元,确保了数据安全用单元的安全性。可是,关于与公共数据通信网络连接的处理器单元,由于执行上述的追加处理(自网络等下载的追加处理)而被攻击的对策,一点也没有考虑。即使数据安全用单元是安全的,与公共数据通信网络连接的处理器单元不具备应对由追加处理产生的攻击的有效的安全机构。因此,对连接到公共数据通信网络的处理器单元实现安全管理时,有必要采用上述的任意一种方式。
【0023】
此外,在专利文献3中记载了以下的构成:在将处理器中被分离的执行程序或者操作系统同时执行系统中,由于保护非法程序的执行环境,第1程序执行期间,设定只有第1程序利用的内存空间,第1程序和计算机的执行环境的通信,通过包含共享存储器空间的利用、专用的中断或者专用的I/O端口的单一链接进行,第1程序,在被限制的执行环境中,除了与设定的内存空间的单一链接之外,限制访问处理器上的资源。该专利文献3中所述的方法,由于第1程序,除了设定的内存空间和单一链接(共享存储器空间的利用,专用的中断,或者专用的I/O端口)之外,限制访问处理器上的资源,所以不能将第1程序作为设备驱动程序使用,不能应用程序到包含设备驱动程序的追加处理。
【0024】
并且,作为公开与后面所述的本发明中使用的处理器间通信机构相关连的技术的出版物,在后面所述的专利文献4公开了多处理器系统中的CPU间通信方式。该专利文献4中作为现有的技术公开了以下结构:当多处理器利用共有内存进行CPU间通信时,CPU2让CPU1产生中断时,在对于CPU1的固定区域中自用的CPU间通信信息写入区域写入通信信息而产生中断,在CPU1中,如果产生中断,访问与CPU2对应的CPU间通信信息写入区域,执行中断处理,并且,发明中还记载了削减共享存储器的访问次数的技术。
【0025】
专利文献1:特表2004-500666号公报
专利文献2:特表2002-542537号公报
专利文献3:特表2002-533791号公报
专利文献4:特开平6-332864号公报。
发明内容
【0026】
如上所述,在现有的装置中,器对于来自下载的、存有恶意的或者过失的追加处理的攻击实施了确保安全性的对策,但在处理性能方面,设备驱动程序的不可执行方面,在确保安全性存在问题方面等,在实用上,还有各种课题。尤其是,如图22和图24所示,关于信息处理装置,不能从装置外部下载追加设备驱动程序的设计方式(体系结构)意味着,实际上不能进行装置的追加,功能追加等,在这方面,可用性(availability)被限制。另一方面,如上所述,由于例如在内核模式下运行追加设备驱动程序,会给OS、系统的可靠性带来直接影响,请求确保特别的安全性,提高可靠性。
【0027】
因此,本发明的目的在于,提供可以通过简易的构成进行高速处理,在应用程序和设备驱动程序的追加时又能确保安全性、可靠性的装置和方法。
【0028】
实现上述目的的本发明,描述其概略如下。
【0029】
本发明的1个方式(aspect)中的装置具备多个处理器,根据执行的处理的可靠性,上述多个处理器构成多个域,不同的域间的处理器之间具备访问控制机构,该访问控制机构经由处理器间通信机构相互通信,控制属于执行安全相对低的处理的域的处理器对属于执行安全相对高的处理的域的存储器和/或者输入输出装置的访问。
【0030】
与本发明的1个方式(aspect)相关的程序执行环境控制方法,包含:将构成信息处理装置的多个处理器,根据执行的程序的可靠性,分为多个域,不同的域的处理器之间,通过处理器间通信机构相互发送数据或者指令的步骤;和由访问控制机构检查由属于执行可靠性相对低的程序的域的处理器对属于执行可靠性相对的高的程序的域的存储器和/或者输入输出装置的访问,只执行许可的访问的步骤。
【0031】
本发明的另一方式的装置,具备:执行事先规定的第1类处理的至少1个处理器(称为“第1类处理器”);执行与上述第1类处理不同的事先规定的第2类处理的至少1个处理器(称为“第2类处理器”);存储器和输入输出装置;控制上述第1类和第2类处理器间的通信的处理器间通信机构;和控制由上述第2类处理器对上述存储器和/或者上述输入输出装置的访问的访问控制机构。
【0032】
本发明中的装置中,上述第1类处理包含可靠性相对高的处理,上述第2类处理包含可靠性相对低的处理。本发明中,上述第1类处理包含销售商提供的基本处理,上述第2类处理包含从网络或者存储介质下载的追加处理。本发明中,上述第2处理也可以包含由上述第2类处理器执行的设备驱动程序和/或者应用程序。
【0033】
在本发明中的装置中,作为上述处理器间通信机构,具备:进行从上述第1类处理器侧向上述第2类处理器传递信息的处理器间通信的处理器间通信机构;和进行从上述第2类处理器侧向上述第1类处理器传递信息的处理器间通信的处理器间通信机构。
【0034】
本发明中的装置中,上述处理器间通信机构,优先具备中断控制装置,该中断控制装置接收来自信息发送侧的处理器的中断请求,对上述信息的接收侧处理器发布中断。本发明中,上述处理器间通信机构,优选对应中断目的地处理器,具备中断控制装置和共享存储器,上述中断控制装置,具备:中断指示部,其接收来自中断请求源处理器的中断请求,对上述中断目的地处理器进行中断请求;中断保持部,其保持上述中断指示部的中断请求;和中断取消部,其接收来自上述中断目的地处理器的中断处理的结束通知,取消中断,上述共享存储器,具备:通信区域,其存储从上述中断请求源处理器转送到上述中断目的地处理器的数据;排他控制区域,其进行上述通信区域的排他控制。
【0035】
本发明的装置中,上述访问控制机构,最好具备:存储允许访问数据的机构,其存储与来自上述第2类处理器的对上述存储器和/或者上述输入输出装置的访问相关的信息;检测上述第2类处理器对上述存储器和/或者上述输入输出装置的访问,参照上述允许访问数据,判断是否许可上述访问的访问允许机构。本发明中,存储上述允许访问数据的机构,与上述第2类处理器相关,并与许可访问的处理器相对应,存储着许可访问的地址范围和与上述地址范围相关的、许可访问种类相关的信息。
【0036】
本发明的另一方式的装置,还具备:执行事先规定的第3类处理的至少1个处理器(称为“第3类处理器”);再上述第2类和第3类处理器间进行通信的处理器间通信机构;和控制通过上述第3类处理器对与上述第1类处理器连接的存储器和/或者输入输出装置的访问的第2访问控制机构。
【0037】
本发明再另一方式的装置,具备:执行事先规定的第3类处理的至少1个处理器(称为“第3类处理器”);和在上述第2类和第3类处理器间进行通信的处理器间通信机构,上述第1类~第3类处理器各自具备分别通过总线连接的存储器和输入输出装置,还具备第2访问控制机构,由上述访问控制机构控制由上述第2类处理器对与上述第1类处理器连接的上述存储器和/或者上述输入输出装置的访问,由第2访问控制机构控制由上述第3类处理器对与上述第1类处理器连接的的存储器和/或者输入输出装置的访问、和/或者对与上述第2类处理器连接的上述存储器和/或者上述输入输出装置的访问。
【0038】
本发明另一方式的装置具备:(A)基本域,其具备基本软件环境、外部装置和/或者文件系统以及操作系统,以及具备存储下载数据的安全信息的安全数据库、和控制本机代码下载数据的下载的本机代码下载管理机构;(B)信任扩展域,其具备控制本机代码下载数据的下载的本机代码下载管理机构、操作系统,并执行由上述基本域的本机代码下载管理机构判断为能够信赖的、已下载的应用程序(称为“信任应用程序”),将由上述基本域的本机代码下载管理机构判断为能够信赖的、已下载的设备驱动程序(称为“信任驱动程序”)安装到上述操作系统中,由上述信任驱动程序,访问事先准备的许可的外部装置,执行能够信赖的追加处理,(C)不信任扩展域,其具备:控制本机代码下载数据的下载的本机代码下载管理机构、操作系统、执行由上述基本域的本机代码下载管理机构判断为不能信任的、已下载的应用程序(称为“不信任应用程序”),将由上述基本域的本机代码下载管理机构判断不能信任、已下载的设备驱动程序(称为“无信任驱动程序”)安装到上述操作系统中,由上述设备驱动程序访问事先准备的许可的外部装置,执行不信任追加处理,上述基本域、上述信任扩展域、上述不信任扩展域分别被安装在上述第1类~第3类处理器中。
【0039】
本发明另一方式的方法,包含:自上述基本域的外部装置输入下载数据时,上述基本功能,将上述下载数据识别为下载应用程序时,上述基本域的上述本机代码下载管理机构,检测上述下载应用程序的证书的步骤;和上述检查的结果,判断为正确的证书时,将上述下载应用程序,将下载数据发送到上述信任扩展域的上述本机代码下载管理机构的步骤。
【0040】
在本发明的方法中,自上述基本域的外部装置输入下载数据时,上述基本功能,也可以包含:在将上述下载数据识别为下载驱动程序时,上述本机代码下载管理机构,检查下载驱动程序的证书的步骤;上述检查的结果判断为正确的证书时,将下载驱动程序发送到上述信任扩展域的上述本机代码下载管理机构的步骤;和上述信任扩展域的上述本机代码下载管理机构将上述下载驱动程序安装到上述信任扩展域的操作系统中的步骤。
【0041】
本发明的方法中,自上述基本域的外部装置输入下载数据时,上述基本功能也可以包含:在将上述下载数据识别为下载应用程序时,上述基本域的上述本机代码下载管理机构,检查下载应用程序的证书的步骤;上述检查结果为没有证书或证书的内容不正确时,通过上述信任扩展域的上述本机代码下载管理机构,将下载数据发送到上述不信任扩展域的上述本机代码下载管理机构中的步骤。
【0042】
本发明的方法中,自上述基本域的外部装置输入下载数据时,上述基本功能也可以包含:在将上述下载数据识别为下载驱动程序时,上述基本域的上述本机代码下载管理机构检查上述下载驱动程序的证书的步骤;上述检查的结果为没有证书或证书的内容不正确时,通过上述信任扩展域的上述本机代码下载管理机构,将下载驱动程序发送到上述不信任扩展域的上述本机代码下载管理机构的步骤;和上述不信任扩展域的上述本机代码下载管理机构将上述下载驱动程序安装到上述不信任扩展域的操作系统中的步骤。
【0043】
本发明的方法中,也可以包括:在上述信任扩展域中预先设置基本功能程序库,该基本功能程序库作为程序库包括对上述基本域的基本软件环境的基本功能发布请求的处理群,接收下载到上述信任扩展域的应用程序的请求,上述基本功能程序库,使用上述应用程序的证书,将请求发送到上述基本域的上述本机代码下载管理机构中的步骤;上述基本域的上述本机代码下载管理机构,确认从上述信任扩展域接收的请求是否正确(是否为与应用程序的证书相对应的程序),上述请求正确时,向上述基本软件环境的基本功能请求处理的步骤。上述基本域的上述基本功能也可以包含:处理请求,将处理结束通知上述基本域的上述本机代码下载管理机构的步骤;和上述基本域的上述本机代码下载管理机构,将结束通知给上述信任扩展域的基本功能程序库,对上述应用程序处理通知结束的步骤
【0044】
本发明中的方法中,也可以具备:在上述信任扩展域中预先设置基本功能程序库,该基本功能程序库作为程序库作为程序库包括对上述基本域的基本软件环境的基本功能发布请求的处理群,根据下载到上述不信任扩展域中的应用程序,将数据发送到上述信任扩展域的应用程序的步骤;上述信任扩展域的上述应用程序,对上述基本功能程序库,发布处理请求的步骤,该处理请求为包含来自上述不信任扩展域的下载应用程序的数据的请求的处理请求;接收来自上述信任扩展域的请求,上述基本功能程序库,将请求发送到上述基本域的上述本机代码下载管理机构的步骤;上述基本域的上述本机代码下载管理机构确认接收的请求是否正确(是否为与应用程序的证书对应的程序)的步骤;确认的结果为上述请求正确时,请求用户确认,上述用户的确认结果为允许时,向上述基本软件环境的基本功能请求处理的步骤;另一方面,上述用户的确认结果为不允许时,上述本机代码下载管理机构,通知上述基本功能程序库不允许的步骤。
本发明中,基本功能也可以包含:处理请求,将处理结束通知上述基本域的上述本机代码下载管理机构的步骤;上述基本域的上述本机代码下载管理机构将结束通知上述信任扩展域的基本功能程序库的步骤;将处理结束通知上述下载应用程序的步骤;和上述下载应用程序,将处理结束通知上述不信任扩展域的上述下载应用程序的步骤。
本发明中的信息处理装置具备多个处理器,上述多个处理器构成第1域和形成与上述第1域不同的第2域的处理器,
上述第2域,由具有至少1以上进行比属于上述第1域的处理器执行的处理可靠性低的处理的处理器构成,具备:
处理器间通信机构,其控制上述第1域和上述第2域处理器之间的通信;和
访问控制机构,其根据上述第2域中执行的处理的可靠性限制由属于上述第2域的处理器对属于上述第1域的存储器和/或者输入输出装置的访问。
本发明的信息处理装置中,上述访问控制机构具备:
存储允许访问数据的机构;和
访问允许机构,其监视属于上述第2域的处理器对上述存储器和/或者上述输入输出装置的访问,参照上述允许访问数据,判断是否允许进行上述访问。
本发明的信息处理装置中,上述访问控制机构也可以具有更新上述允许访问数据的允许访问数据更新机构。
本发明的信息处理装置中,上述访问控制机构也可以具有:访问监视机构,其获得属于上述第2域的处理器的访问信息;和存储上述访问信息的学习机构。
本发明的信息处理装置中,上述处理器间通信机构也可以具备中断控制信息处理装置,该中断控制信息处理装置接收来自信息发送侧的处理器的中断请求,对上述信息的接收侧的处理器发布中断。
本发明的便携信息终端具备多个处理器,上述多个处理器构成第1域和形成与上述第1域不同的第2域的处理器,
上述第2域由具有至少1个以上、进行属于上述第1域的处理器执行的处理可靠性低的处理的处理器构成,
具备:处理器间通信机构,其控制上述第1域和上述第2域的处理器之间的通信;
访问控制机构,其根据上述第2域中执行的处理的可靠性,限制由属于上述第2域的处理器对属于上述第1域的存储器和/或者输入输出装置的访问。
【0045】
通过本发明,多个处理器,构成与处理的安全对应的域,通过处理器间通信机构进行域间的处理器的通信,具备访问控制机构,其对低安全域侧的处理器对高安全域侧的存储器和输入输出装置的访问进行控制,通过下载的设备驱动程序、应用程序在低安全域侧执行,来确保安全性。
【0046】
另外,通过本发明,高安全和低安全域中的处理,由各域的处理器进行并行处理,由此,可以实现高速处理,并且,也可以实现高安全和低安全域处理器间的同步,协作处理。
附图说明:
【0047】
图1是表示本发明的一个实施例的硬件构成的图。
图2是表示本发明的一个实施例的处理器间通信机构构成的图。
图3是用于说明本发明的一个实施例的处理器间通信机构动作的图。
图4是表示本发明的一个实施例的访问控制机构构成的图。
图5是表示本发明的一个实施例的访问控制机构的允许访问数据例子的图。
图6是说明本发明的一个实施例的访问控制机构动作的图。
图7是表示本发明另一实施例的硬件构成的图。
图8是表示本发明再另一实施例的硬件构成的图。
图9是表示本发明的一个实施例的软件构成的图。
图10是用于说明本发明的一个实施例的动作的图。
图11是用于说明本发明的一个实施例的动作的图。
图12是用于说明本发明的一个实施例的动作的图。
图13是用于说明本发明的一个实施例的动作的图。
图14是用于说明本发明的一个实施例的动作的图。
图15是用于说明本发明的一个实施例的动作的图。
图16是用于说明本发明的一个实施例的动作的图。
图17是用于说明本发明的一个实施例的动作的图。
图18是表示本发明其他不同的实施例的构成的图。
图19是用于说明本发明其他不同的实施例的动作的图。
图20是表示本发明的一个实施例的变形例的图。
图21是表示现有的系统构成的一个例子的图。
图22是表示现有的系统构成的不同的例子的图。
图23是表示现有的系统构成的不同的例子图。
图24是表示现有的系统构成其他不同的例子图。
图25是表示本发明的一个实施例中的可靠性的一个例子的图。
图26是表示本发明的一个实施例中的可靠性的一个例子的图。
图27是表示本发明的一个实施例中的可靠性的一个例子的图。
图28是表示本发明的一个实施例中的可靠性的一个例子的图。
【0048】
图中:10、10A、10B、10C-CPU,11-CPU,12-安全模式,13-非安全模式,14-内存管理单元,15-分离机构,20、20A、20B、20C-软件,21,21A,21B,21C-OS,22-基本处理,23,23B、23C-追加处理,24-虚拟机,25-证书,30-访问控制机构,31-访问允许机构,32-允许访问数据,40-处理器间通信机构,41-中断控制装置,410~41n-CPU#0~CPU#n用中断控制装置,42-共享存储器,420~42n-CPU#0~CPU#n用通信区域,50,50A,50B,50C-存储器,60,60A,60B,60C-输入输出装置(I/O),70A-基本侧总线,70B-追加侧总线,100A-基本域,100B-Trusted扩展域,100C-Untrusted扩展域,101A,101B,101C-OS,102A-外部装置,102A’-虚拟外部装置,102B,102C-许可的外部装置,102B’,102C’-许可的虚拟外部装置,103-专用文件系统,103’-虚拟专用文件系统,104A-本机代码下载管理功能,104B,104C-本机代码下载执行功能,105-安全策略数据库,110-基本软件环境,111-基本应用程序,112-基本功能,113-基本功能程序库,120A,120B,120C-下载应用程序,121B,121C-下载驱动程序,200A,200B,200C-虚拟CPU,210A,210B,210C-虚拟机监视器,411-中断指示部,412-中断状态保持部,413-中断取消部,421-通信指令,422-排他控制区域。
具体实施方式
【0049】
对本具体实施方式进行说明。本发明,在其最佳的一个实施方式中,在具备多个CPU的多CPU构成的信息处理装置中,将多个CPU,根据执行的程序(处理)的可靠性,划分为多个域(例如基本域,信任域,不信任域等),各域包含1个或者多个CPU,通过处理器间通信机构(例如图1的40)进行不同的域间的CPU的通信的同时,属于执行追加处理等低安全处理的域的CPU,对执行高安全处理的域的存储器和输入输出装置进行访问时,该访问请求,通过访问控制机构(例如图1的30),判断访问的许可/非许可,只进行许可的访问。
在本说明书中,“可靠性”是指,根据表示授予每个处理的安全级别的电子证书,根据某安全策略,对每个安全等级设定的。
例如,对每个授予数字签名的处理,根据某安全策略设定安全等级。例如,图25所示,对
等级A:需要密码,
等级B:不进行2次确认,
等级C:对每个执行进行确认,
等级D:对每个访问进行确认,
这样的情况,对适于执行的功能的域授予安全等级。
例如,也可以
对基本域,配置等级A,
对信任扩展域,配置等级B,
对不信任域,配置等级C,
对1个域,只配置同种的安全等级,但并不局限于这样的构成。即,也可以1个域包含多种安全等级。作为一个例子,图25所示,
基本域,根据执行的功能的重要度,可以配置等级A以上,等级B以上,信任扩展域,也可以根据执行的功能,配置等级B以上,等级C以上这样的配置。
既可以进行这样的设定,也可以根据什么样的证书或什么样的安全策略进行设定,可以根据执行的功能或域数目任意地设定。
【0050】
通过这样构成的本发明的一个实施方式,将下载的追加处理(包含设备驱动程序和应用程序),由与所谓高安全域硬件上不同构成的低安全域侧的CPU执行,确保了高安全域的安全性。
本说明书中,“下载”,不仅是为便携式电话的载波而准备的数据通信网和一般的无线LAN网等,也包含以SD卡为代表的存储型媒体介质,经由以USB为代表的有线通信/介质这样的连接,向信息装置的下载。
【0051】
并且,通过本发明的一个实施方式,由不仅是由开关等分离控制高安全域和低安全域的CPU,也可以通过相互通信的处理器间通信机构连接,一边保证了安全性,一边也可以保证高安全域和低安全域的CPU间的同步、协调动作。
【0052】
该处理器间通信机构(图1的40),是作为从一个域的CPU向其他域的CPU进行数据(指令)交换的机构,是不对其他域的CPU进行直接的攻击等的结构。例如由于从低安全域侧CPU向高安全域的CPU侧大量地不断发送数据,产生高安全域的CPU性能劣化,缓冲溢出等,由处理器间通信机构进行抑止,该数据不会传递到高安全域的CPU。
【0053】
另外,本发明的一个实施方式中,访问控制机构(图1的30),对低安全域侧的CPU进行许可访问控制,只允许对事先许可的内存空间、输入输出装置等以事先许可的方式进行访问。由此,能够防止来自下载的追加处理的对高安全域的攻击。或者,访问控制机构,根据需要,通过进行范围、流量控制等,能够防止来自下载的追加处理对高安全域的各种攻击。以下,根据实施例进行说明。
【实施例】
【0054】
图1是表示本发明的一个实施例构成的图。参照图1,其具备:执行由基本处理22和OS21A构成的软件20A的CPU群10A;执行由追加处理23和对应追加处理的OS21B构成的软件20B的CPU群10B;在CPU群10A、10B间进行通信的处理器间通信机构401、402;和控制由CPU群10B对存储器50和/或者输入输出装置(I/O)60的访问的访问控制机构30。并且,图1,表示了CPU群10A、CPU群10B分别由多个(3台)CPU构成,当然,也可以各群都由1个CPU构成。另外,当然,CPU群10A、CPU群10B中,各群的CPU的台数也可以不相等。以下将CPU群10A、CPU群10B只简称为CPU10A,CPU10B。本实施例中,下载的追加处理23由二进制形式的本机代码构成。并且,也可以编译处理(汇编处理)下载的源程序作为二进制形式的。
【0055】
通过本实施例,分开具备执行追加处理23的CPU10B,执行基本处理22的CPU10A,CPU10A,10B是可以独立地动作的,既可以提高安全性,又可以高速执行,可以进行应用程序、设备驱动程序的执行。并且,当然也可以将执行基本处理22的CPU10A作为主导,执行追加处理23的CPU10B作为从属来构成,从属侧在主导的监督下动作的构成。此时,例如由CPU10B进行的追加处理23的执行,能够通过处理器间通信机构402从CPU10A接收指令来进行。
【0056】
处理器间通信机构401,402,控制CPU10A和CPU10B间的数据的接收发送。由于CPU10A,10B独立地配设,可以并行地执行各自的处理(程序),同时,也可以通过处理器间通信机构401,402,进行CPU10A和CPU10B间的同步处理,协作(协调)处理。作为一个例子,是用户从显示装置的画面上指示追加处理的执行时,通过处理器问通信机构401,从执行基本处理22的CPU10A,将追加处理23的起动请求发送到CPU10B,在CPU10B上执行追加处理23,执行结果,通过处理器间通信机构402,从CPU10B发送到CPU10A,构成基本处理22的画面控制例行程序等,向用户提示反映追加处理23的执行结果的信息的情况。
【0057】
本实施例中,由CPU10B执行追加处理23时,进行对存储器50、输入输出装置(I/O)60的访问请求时,由访问控制机构30进行与该访问相关许可的控制,只有被许可的访问请求对存储器50、输入输出装置(I/O)60才能执行。并且,在CPU10B中,在OS21B上执行追加处理23,发布来自追加处理23的对基本处理22或者OS21A的处理请求时,该请求,通过处理器间通信机构401通知CPU10A。即,追加处理23不能直接操作基本处理22。例如,有恶意的追加处理23,即使对CPU10A频繁发布请求,增加负荷,使CPU10A侧的基本处理的执行性能显著降低,处理器间通信机构401,通过控制以使这样的请求不传递到CPU10A侧,实现对来自上述攻击的防护,确保安全性。
【0058】
并且,在图1所示的例子中,处理器间通信机构401控制从CPU10B向CPU10A的信息转送,处理器间通信机构402控制从CPU10A向CPU10B的信息转送。或者,当然也可以由一台处理器间通信装置进行双向数据的接收。在本实施例中,在执行基本处理22的多个CPU10A之间需要进行CPU间的通信时,不必使用处理器间通信机构40,而进行CPU间的通信。另外,对于执行追加处理23的多个CPU10B也一样。但是,如后面所述,在构成CPU群10B的多个CPU中的几个动态地切换作为CPU群10A的要素时,CPU群10B,逻辑上属于CPU群10A,但CPU间的通信也可以通过处理器间通信机构40来进行。
【0059】
通过本实施例,作为追加处理23,可以进行应用程序和设备驱动程序的下载、安装、执行。追加的设备驱动程序,被安装到OS21B中,在CPU10B上执行,对输入输出装置60的访问控制在访问控制机构30的监视下执行。
【0060】
并且,在便携式电话机,PDA等便携型信息通信装置中,通常,图1中的基本处理22,OS21A被存储在图中没有表示的可改写的非易失性存储器(EEPROM;Electrically Programmable and Erasable ROM),CPU10A,从EEPROM读取命令代码并解码执行。同样,追加处理23、OS21B都存储在与CPU10A用不同的EEPROM中,CPU10B从EEPROM读取命令代码并解码执行。即,容纳执行基本处理22和追加处理23的各自的OS21A、21B的存储器,在基本处理侧和追加处理侧,硬件上被分离。并且,基本处理、OS等命令代码,是执行存储在EEPROM中的代码,但是通过由CPU10A、10B执行的程序,初始化、参照和更新的表格等数据,是在各自的OS起动时等,在由DRAM(Dynamic Random Access Memory)构成的存储器50中被展开的。并且,对于CPU10B,由访问控制机构30管理读/写内存区域,限制由CPU10A对参照的内存区域的访问。当然,在与便携型信息通信终端不同的一般信息处理装置中同样,也可以分别具备加载基本处理22、OS21A由CPU10A读取命令代码的存储器;和加载追加处理23、OS21B由CPU10B读取命令代码的存储器。或者,在一般的信息处理装置中,在存储器50中,也可以分离设置加载基本处理22、OS21A的区域和加载追加处理23、OS21B的区域,由访问控制机构30管理对CPU10B的存储器50的读/写访问。此时,对于只有CPU10A、CPU10B参照的代码,存储在共通的内存区域,也可以由访问控制机构30控制访问,以允许该CPU10B只读共通的内存区域。
另外,在便携型信息处理装置中,搭载的电池余量变少时,通过强制关闭执行基本处理的CPU以外的CPU和优先关闭根据执行的处理的可靠性执行可靠性更低的处理的CPU,可以实现电池余量的节约。这通过例如,根据由检查电池余量的机构,和通知检测结果的机构得到的与电池余量相关的信息,在进行基本处理的CPU上进行判断,执行关闭这样的处理能够实现。
此外,由于便携型信息处理装置中的资源,例如与外部的通信带宽或非易失性存储器容量等被进一步限制,根据可靠性,也可以变更确保资源的相对比例。这可以通过例如,在进行基本处理的CPU中,进行
·执行的处理的可靠性高时,允许优先确保资源,
·执行的处理的可靠性低时,对资源加以限制
等的判断来实现。
【0061】
图2是表示本发明的一个实施例中的处理器间通信机构的硬件构成的一个例子的图。参照图2,由1台配置在左右两侧的CPU(执行基本处理的CPU和执行追加处理的CPU)间的中断控制装置41和共享存储器42,构成图1的处理器间通信机构401、402的整体。作为中断控制装置41,具备CPU#0、CPU#1、...CPU#n用的n个中断控制装置410~41n,各中断控制装置,具备:中断指示部411、中断状态保持部412和中断取消部413。另外,共享存储器42具备:CPU#0、CPU#1、...CPU#n用的n个通信区域420~42n,各通信区域具备:指令或者缓冲发送信息(数据,信息)的通信指令421,和进行相互排他控制的排他控制区域422。
【0062】
例如,假设由CPU#0和CPU#1这2个构成,CPU#1用的中断控制装置411和CPU#1用的通信区域421,构成从CPU#0向CPU#1的处理器间通信机构401,CPU#0用的中断控制装置410和CPU#0用的通信区域420,构成从CPU#1向CPU#0的处理器间通信机构402。
【0063】
中断控制装置41和共享存储器42采用总线连接CPU#0、CPU#1、...CPU#n的构成。另外,在共享存储器42的通信指令421不仅是发送数据自身,也可以设定存储发送数据缓冲指针(例如存储器50上缓冲区域的地址)。
【0064】
本实施例中,共享存储器42中的CPU#i的排他控制区域422i,是为了在某CPU已经占用CPU#i的通信区域42i时,其他CPU不能使用CPU#i的通信区域42i的相互排他控制而设置的。即,CPU#i的排他控制区域422i用于mutex等信号、标记等同步管理信息的存储。
【0065】
通过安装在共享存储器42中的相互排他控制机构,保证发送CPU和接收CPU间的数据的一致性(consistency)。
【0066】
另外,通过相互排他控制机构,发送侧CPU,在排他控制区域422处于锁定状态时,不能增加对发送CPU的中断请求,由此,能够防止从发送CPU向接收CPU的频繁的数据发送等,不正当的中断发生。
【0067】
并且,作为排他控制区域422,也可以作对指令的连接(入队指令),来自的指令的卸载(出队指令)的锁定管理。
【0068】
图2中,作为通过中断控制装置41,允许向一个接收CPU的多重中断的构成时,在共享存储器42中,各CPU通信区域中的通信指令421、排他控制区域422被设置多重。
【0069】
没有特殊地限制,共享存储器42也可以将图1的存储器50的规定内存区域作为共享存储器使用,也可以在存储器50之外,在处理器间通信机构40内设置。另外,图中没有表示,来自中断控制装置410~41n的中断请求(Interrupt Request)线,也可以作为并行地连接在接收CPU上的构成(中断根数增加),或者,作为以串联方式连接的构成。
【0070】
接收CPU,如果接收来自中断控制装置41的中断请求,将其通知中断控制装置41,中断控制装置41,将中断装置编号(中断向量信息)转送到图中没有表示的数据线,接收CPU,根据中断装置编号生成中断向量,通过调度器,起动由接收CPU执行的中断服务例程,中断服务例程,根据对应的共享存储器42的通信指令获得数据,释放(解锁)排他控制区域的mutex等信号,根据中断进行返回(Return From Interrupt)这样的一系列的控制。
【0071】
图3是用于说明图2所示的本实施例的处理器间通信机构的动作步骤的图,表示从CPU#k向CPU#0发送数据时的步骤。在图3中,箭头线旁的数字表示步骤编号。
【0072】
步骤1:发送CPU#k锁定共享存储器42的CPU#0通信区域的排他控制区域。并且,表示共享存储器42的CPU#0通信区域的排他控制区域,通过其他CPU被锁定时,例如直到该锁定被解除之前待机。
【0073】
步骤2:发送CPU#k,锁定共享存储器42的CPU#0通信区域的排他控制区域后,在共享存储器42的CPU#0用通信区域的通信指令中写入发送到发送CPU#k的数据。
【0074】
步骤3:发送CPU#k向中断控制装置41的CPU#0用中断控制装置的中断指示部通知中断请求。
【0075】
步骤4:CPU#0用中断控制装置的中断指示部,更新CPU#0用中断控制装置的中断状态保持部,设定为“有中断请求”。
【0076】
步骤5:CPU#0用中断控制装置的中断指示部对接收CPU#0进行中断。
【0077】
步骤6:接收CPU#0受理来自CPU#0用中断控制装置的中断指示部的中断,根据共享存储器42的CPU#0用通信区域的通信指令,取出数据。此时,在接收CPU#0中,进行由上述中断服务例程产生的处理。
【0078】
步骤7:接收CPU#0,根据共享存储器42的CPU#0用通信区域的通信指令,获得数据后,通知CPU#0用中断控制装置的中断取消部中断处理结束。
【0079】
步骤8:接收来自接收CPU#0的中断处理结束通知的CPU#0用中断控制装置的中断指示部,更新CPU#0用中断控制装置的中断状态保持部。
【0080】
步骤9:接收CPU#0解锁共享存储器42的CPU#0通信区域的排他控制区域。
【0081】
在本实施例中,在识别对特定的接收CPU的中断请求存在集中时,也可以进行抑制对接收CPU的中断请求等的流量控制、频带控制。即,在中断控制装置41内也可以具备QoS保证功能,限制从发送CPU侧对接收CPU,连续、多次地增加中断请求。例如,与对接收CPU提交数据无关的中断请求,不作为排他控制的对象,能够多个连续地发行。因此,在接收CPU侧中断处理没有结束的状态中,在进行产生来自发送CPU侧的中断请求,中断控制装置41的中断状态保持部的“有中断请求”变为规定数量以上时,也可以进行控制,禁止来自后面的发送CPU侧的中断请求。通过这样的构成,能够防止例如通过发送CPU大量产生与向接收CPU提交数据无关的中断请求,降低接收CPU性能这类攻击。
【0082】
图4是表示图1所示的本发明的一个实施例的访问控制机构30的构成的图。参照图4,该访问控制机构30,具备:通过基本侧总线70A,与执行基本处理(图1的22)的CPU10A连接,通过追加侧总线70B,与执行追加处理(图1的23)的CPU10B连接的访问允许机构31;和存储允许访问数据32的存储机构。
【0083】
允许访问数据32可以从CPU10A读出、写入。只允许从访问允许机构31读出。并且,允许访问数据32,从CPU10B读出和写入都不允许。即,在允许访问数据32和CPU10B之间不存在数据总线。
【0084】
访问允许机构31,根据转送到追加侧总线70B的地址信号线、控制信号线的、对存储器50(参照图1)的访问地址信号和控制信号(访问指令),判断访问的种类(读/写),参照允许访问数据32的信息,判断该访问是否适合。判断的结果为访问非法时,访问允许机构31,不进行向基本侧总线70A的访问地址、控制信号(访问指令)的发送,由此,不能进行从CPU10B侧向基本侧总线70A的访问。此时,在向追加侧总线70B发送访问地址的CPU10B侧,根据来自总线错误,或者,针对读/写访问的存储器50等的不响应,知该访问失败。
【0085】
访问允许机构31,在输入输出装置(I/O)60为存储分配I/O时,监视追加侧总线70B,检测访问地址为对应输入输出装置的地址,在数据总线上,检测了I/O指令(读/写等)时,参照允许访问数据32的信息决定该访问是否合适。输入输出装置不是存储分配I/O时,也解码转送到追加侧总线70B的输入输出装置的装置编号、I/O指令,参照允许访问数据32的信息,决定是否允许访问。
【0086】
并且,本实施例中,访问控制机构30,也可以具备进行控制每单位时间内数据转送量的范围制约机构。作为一个例子,访问控制机构30,具备测量监视在CPU10B访问动作中,从CPU10B转送到追加侧总线70B的数据量的机构,例如转送超过每单位时间事先规定的阈值的字节数的数据时,也可以进行中止从CPU10B向CPU10A的数据转送的控制。此时也可以,在CPU10B知道向CPU10A的数据转送识别并重审时,访问控制机构30不会进行将来自CPU10B的数据转送到CPU10A。或者,访问控制机构30具备缓冲器,将从CPU10B向追加侧总线70B转送的数据蓄积到缓冲器中,控制转送到CPU10A的数据的流量来构成。
【0087】
图5是表示本发明的一个实施例中的允许访问数据32的一个例子的图。参照图5,允许访问数据,执行追加处理的CPU(连接在图4的追加侧总线上的CPU),由被允许访问的范围的始点地址和终点地址构成的许可范围地址,以及许可的访问种类(读、读/写和写的种类)以表格形式存储。并且,许可范围地址在不同的CPU可以重复。图5所示的例子中,第2行的CPU#2,#3的许可范围地址为0xC000000~0xF000000,允许进行读出/写入(R/W),第3行的CPU#3的许可范围地址为0xE000000~0xF000000,与第2行重复。地址许可数据的数量,随着表格的条目数量,其数量越多,越能够细致地进行访问控制。并且,图5中,为了说明,例示了R(允许读出),W(允许写入),R/W(允许读出/写入),R(允许读出)为只允许读出不允许写入的信息,W为允许写入(也允许读出)时不需要R/W。另外,不允许读出(也不允许写入)的地址范围,不存储在地址许可数据32中。图5所示的例子中,作为允许访问数据,具有对每个被允许访问的CPU,地址范围和访问种类,但是在允许访问数据中,还设置不允许访问的信息作为访问种类,对于执行追加处理的CPU,也可以存储不允许访问的地址范围。
【0088】
图4的访问允许机构31,接收来自追加侧CPU的访问请求(地址、读写指令),参照允许访问数据32的许可范围地址、访问种类,为许可的访问时,允许该访问。另一方面,为不允许时,不允许访问。在图5所示的例子中,对CPU#4的情况,采用始点地址1000~终点地址2000(十六进制),访问种类为读出(R)。CPU#2、#3的情况,采用始点地址0xC000000~终点地址0xF000000(十六进制),访问种类为读出和写入(R/W)。CPU#3的情况,始点地址0xE000000~终点地址0xF000000(十六进制)的访问种类为写入(W)。
【0089】
图6是用于说明图4的访问控制机构30的动作的一个例子的图。图6中,箭头线旁的编号表示步骤编号。
【0090】
步骤1:执行基本处理的CPU10A,在访问控制机构30的允许访问数据32中,禁止执行所有的追加处理的CPU10B读出某些地址范围。
【0091】
步骤2:CPU10B,通过追加处理23的执行等,发布对读出被禁止的地址范围的读出请求。
【0092】
步骤3:访问允许机构31,读出允许访问数据32,检查该访问请求是否适当。
【0093】
步骤4:访问允许机构31向CPU10B返回错误。是由于该地址范围,对于来自CPU10B的读出禁止。
【0094】
步骤5:CPU10B,发布对与上述地址范围不同范围的读出请求。
【0095】
步骤6:访问允许机构31,读出、检查允许访问数据32。
【0096】
步骤7:访问允许机构31,允许CPU10B读出的访问请求,向基本侧总线70A发出读出请求。
【0097】
并且,本实施例中,对作为访问控制机构30的构成,具备访问允许机构31和允许访问数据32,根据访问允许信息,进行访问控制的例子进行了说明,但是本发明不仅局限于这样的构成,也可以改变(翻转)访问允许的数据,具备访问拒绝数据和访问拒绝机构。此时,访问拒绝机构,来自执行追加处理的CPU10B的访问地址,在访问拒绝数据与被定义访问拒绝的地址范围一致时,进行拒绝访问的控制。
【0098】
作为本实施例的变形例,访问允许机构31也可以具备高速缓存。此时,用于访问判定的访问地址、允许访问数据被存储在高速缓存中,在下次以后的访问控制判定中,判断符合的访问地址(地址范围)的允许访问数据是否存在于高速缓存中,命中高速缓存时,实现访问判定的高速化。高速缓存中具备对应访问地址范围的标签地址、允许访问数据,具备判断追加侧总线70B的访问地址是否命中高速缓存的高速缓存命中判定电路。
此外,作为本实施例的变形例,访问控制机构,如图26所示,也可以具备新允许访问数据33和允许访问数据更新机构34。参照图26,访问控制机构30,除了图4所示的实施例之外,还具备与基本侧总线70A连接的允许访问数据更新机构34,和存储新允许访问数据33的存储机构。对这2个机构的功能的详情进行说明。
除了新允许访问数据33,具有图4的允许访问数据32相同的特征之外,是只允许来自允许访问数据更新机构34的读出的存储机构。
允许访问数据更新机构34,根据来自经由基本侧总线70A的CPU10A的请求,将新允许访问数据33的内容以最小单位(atomic)覆盖新允许访问数据34。
并且,在本实施例中,也可以设置并不更新允许访问数据,而进行向新允许访问数据的切换的机构。
通过这样的构成,由于可以由CPU以最小单位重写允许访问数据32的更新,可以动态地变更应该由访问控制机构保护的区域,应该限制的区域。
另外,图27是表示本发明的一个实施例的访问控制机构30的不同的构成的图。参照图27,该访问控制机构30,除了如图4所示的实施例之外,还具备与追加侧总线70B连接的访问监视机构35和学习机构36。对该机构的功能的详情进行说明。
访问监视机构35,与访问允许机构31一样,获得经由追加侧总线70B来自CPU10B的访问信息。
学习机构36,存储由上述访问监视机构35提供的访问信息。并且,根据访问信息,判断此参照是否适当。例如,计数对用户保护数据的参照次数,如果超过事先指定的阈值时,认定为异常情况,向访问监视机构35通知此事,根据其他规定的规则动态第变更允许访问数据32。另外,也可以根据情况,通知与基本侧总线70A相连的CPU10A,起动异常时的处理。
通过这样的构成,由于通过根据实际参照的图案,将认为可靠性低的CPU的动作作为履历信息蓄积,能够自主地限制,可以进行基于实际动作中的CPU的动作状况的更安全的执行控制。
另外,作为访问控制机构的构成例,除了图4的构成以外,也可以具备上述说明过的所有新访问控制机构、访问允许更新机构、访问监视机构和学习机构。
【0099】
图7是表示本发明的不同的实施例的构成的图。参照图7,本实施例,是除了图1的构成之外,又追加了1组追加处理侧软件和OS、CPU。即,第2追加处理侧的CPU10C,通过处理器间通信机构,与第1追加处理用CPU10B相互通信。另外,第2追加处理侧CPU10C,通过第2访问控制机构302,与基本侧总线70A连接。
【0100】
各访问控制机构301,302的设定,由执行基本处理22的CPU10A设定。即,执行基本处理22的CPU10A,起到作为主导处理器的功能。由CPU10A对存储器50和输入输出装置(I/O)60进行集中的管理。
【0101】
执行第2追加处理23C的CPU10C,通过处理器间通信机构403,对执行第1追加处理23B的CPU10B进行通信(数据、指令的发送),执行第1追加处理23B的CPU10B,通过处理器间通信机构401,对执行基本处理22的CPU10A进行通信(数据、指令的发送)。另外,执行第2追加处理23C的CPU10C,在第2访问控制机构302的监视下,对存储器50、输入输出装置(I/O)60只进行被许可的访问,执行第1追加处理23B的CPU10B,在第1访问控制机构301的监视下,对存储器50、输入输出装置(I/O)60只进行被许可的访问,第1访问控制机构301、第2访问控制机构302的允许访问数据的设定全都由CPU10A进行。通过这样的构成,进行集中的管理,另外,由处理器间通信机构40,进行CPU间的处理的收发。本实施例中,也能够回避针对执行基本处理22的CPU10A的、来自追加处理23B、23C的直接的攻击等。即,与上述实施例一样,追加处理23B、23C不能直接起动基本处理22或呼出子程序,基本处理22的起动请求,例如从CPU10C通过CPU10B,通过处理器间通信机构传递到CPU10A,在接收了的CPU10A中,是没有授予权限的CPU的请求时,不受理该请求(对于其详情,在后面所述的软件的实施例中进行详细描述)。这样,除了对追加处理侧CPU和基本处理侧CPU设置权限等级之外,通过处理器间通信机构40和访问控制机构30这样的硬件机构,能够回避基本处理等直接的攻击。本实施例中的处理器间通信机构401~404,与图2所示的上述实施例构成一样,由于访问控制机构301、302,也与图4所示的上述实施例的构成一样,其详细构成、动作的说明省略了。
【0102】
图8是本发明的不同实施例的构成图。参照图8,本实施例,与图7所示的构成一样,是在图1的构成中进一步追加了追加处理侧CPU10C和访问控制机构302。本实施例,与图7所示的上述实施例不同,对每个各组(域)CPU群准备存储器和输入输出装置(I/O)。第2追加处理CPU10C,能够没有访问限制自由地访问许可的存储器50C、输入输出装置(I/O)60C。第1追加处理CPU10B能够没有访问限制地访问许可的存储器50B、输入输出装置(I/O)60B。
【0103】
来自第2追加处理侧CPU10C的、对基本处理侧存储器50A、输入输出装置(I/O)60A的访问,由第2访问控制机构302和第1访问控制机构301两段结构,进行访问控制。
【0104】
来自第1追加处理侧CPU10B的、对基本处理侧存储器50A、输入输出装置(I/O)60A的访问,由第1访问控制机构301判断是否允许访问。
【0105】
第1访问控制机构301的允许访问数据、第2访问控制机构302的允许访问数据,由基本处理的CPU10A设定。第2访问控制机构302的允许访问数据也可以由第1追加处理的CPU10B设定。通过该实施例,通过采取将存储器、输入输出装置(I/O)分离为域单位,由处理器间通信机构40由多段连接CPU间的构成,能够提高来自由追加处理产生的攻击的防护功能,确保了安全性。
图28是在2以上芯片中应用图1所示的本发明的一个实施例的例子。参照图28,除了排列多个本发明的一个实施例的CPU10A、10B、10C、10D和访问控制机构301的组合之外,还由访问控制机构303连接每个芯片。
通过设置某一芯片内中的一部分CPU作为基本处理执行用,通过一芯片内的访问控制机构既能进行访问限制,也可以设置各芯片内至少一部分CPU作为基本处理执行用。
另外,通过跨不同的芯片构成域,也可以由各芯片间的访问控制机构控制执行。
无论在哪种情况下,通过适当的访问控制机构的设定,在多个芯片间也可以进行本发明中的执行控制。
【0106】
在上述实施例中,主要对本发明的硬件构成进行了说明,以下对本发明的软件构成进行说明。
【0107】
图9是表示实施本发明的软件构成的一个例子的图,具备基本域、Trusted(信赖)扩展域和Untrusted(不信任)扩展域。作为图9的硬件构成,能够使用具备3个群CPU的图8的构成等。此时,作为执行基本处理的执行环境的基本域能够与图8的软件20A和OS21A对应,Trusted扩展域能够与图8的软件20B和OS21B对应,Untrusted扩展域能够与图8的软件20C和OS21对应。
【0108】
参照图9,基本域100A,具备基本应用程序(称为“基本应用程序”)111;包含基本功能112的基本软件110;OS101A;专用文件系统103;和外部装置102A,具备本机代码下载管理功能104A和安全策略数据库105。不被特别地限制,但是基本功能112,在例如,本实施例的信息通信装置为便携型信息通信终端时,是实现呼叫请求,来电处理等呼叫处理,互联网访问、画面处理等便携型信息通信终端的基本功能的处理,与图1的基本处理22相对应。基本应用程序111,呼出基本功能112进行处理,基本功能112,通过OS进行对文件系统、外部装置的访问。外部装置包含:无线通信接口等通信接口,显示装置的接口,键盘,指针装置等输入接口,SD(Secure Digital)存储卡接口,声音接口等。
【0109】
Trusted扩展域100B具备本机代码下载执行功能104B、下载应用程序(称为“下载应用程序”)120B、基本功能程序库(ラツパ一)113、OS101B和许可的外部装置102B。
【0110】
OS101B包含带有证书的下载驱动程序121B。带有证书驱动程序121B进行许可的外部装置102B的输入输出控制。
【0111】
Untrusted扩展域100C具备本机代码下载执行功能104C、下载应用程序120C、OS101C和许可的外部装置102C。安装到OS101C中的下载驱动程序121C进行许可的外部装置102C的输入输出控制。
【0112】
对于由基本域100A外部装置102A输入的下载文件,本机代码下载管理功能104A,通过参照安全策略数据库105的内容,将能够信任的(带有能够信任的电子证书)本机代码的应用程序,转送到Trusted扩展域100B,能够进行信任的(带有能够信任的电子证书)本机代码的下载驱动程序121B向OS101B的安装。
【0113】
另外,本机代码下载管理功能104A,将不能信任(例如没有电子证书,或证书的内容不正确时等)应用程序,经由Trusted扩展域100B,向Untrusted扩展域100C转送,进行不能信任(没有证书无)下载驱动程序向Untrusted扩展域的OS101C的安装。
【0114】
由Trusted扩展域100B,允许基本功能112的呼叫,但不允许来自Untrusted扩展域100C的基本功能112的呼叫。但是,Untrusted扩展域100C和Trusted扩展域100B可以协调工作。
【0115】
在能够信任的域中动作的应用程序,对于来自不能信任域的数据,只在有用户的确认(OK)时,向基本功能112提交。没有用户的确认的来自不能信任域的数据,不向基本功能112提交。并且,不能从能够信任的扩展域100B,直接地向基本域100A的基本功能112,发布处理请求。
【0116】
图10是用于说明图9所示的本发明的一个实施例的动作的图,是表示基本应用程序的执行的图。在图10中,各箭头线带有的编号表示经该线转送信息的步骤编号。
【0117】
步骤1:基本域100A的基本应用程序111,向基本功能112发布处理请求(例如,地址本的追加等)。
【0118】
步骤2:基本功能112,使用OS101A,处理该请求。
【0119】
步骤3:基本功能112,通知基本应用程序111请求是否成功。
【0120】
图11是用于说明图9所示的本发明的一个实施例的动作的图,是表示执行信任应用程序的下载的情况的图。图11中,各箭头线带有的编号表示经该线转送信息的步骤编号。
【0121】
步骤1:下载数据从基本域100A上的外部装置102A(网络或者SD存储卡等)送到OS101A。
【0122】
步骤2:下载数据,由基本功能112,根据属性信息等信息,识别为追加应用程序(下载应用程序)。
【0123】
步骤3:基本功能112,将追加应用程序提交给本机代码下载管理功能104A,本机代码下载管理功能104A参照安全策略数据库105,检测追加应用程序附带的电子证书。如上所述,例如电子证书中存储着公匙或数字签名(由密匙加密被证明的机关或公匙等的信息),本机代码下载管理功能104A进行证书认证时,用公匙解读数字签名部分,确定与证书的数据内容是否一致,一致时,判断可以信任证书数据。此外,通过附带由应用程序的概要构成的数字签名,能够检查下载的应用程序有没有被篡改了。
【0124】
步骤4:本机代码下载管理功能104A,将下载信息,与电子证书同时,保存到安全策略数据库105中。
【0125】
步骤5:基本域100A的本机代码下载管理功能104A,电子证书的检查结果,正确时,将下载应用程序发送到Trusted扩展域100B的本机代码下载执行功能104B,请求执行。由基本域100A的本机代码下载管理功能104A,使用图7或者图8的处理器间通信机构40向Trusted扩展域100B的本机代码下载执行功能104B发送数据。
【0126】
步骤6:Trusted扩展域100B的本机代码下载执行功能104B,控制以执行接收的下载应用程序。
【0127】
步骤7:下载应用程序在Trusted扩展域上被执行。
【0128】
图12是用于说明图9所示的本发明的一个实施例的动作的图,表示信任驱动程序的下载执行的图。信任驱动程序是指,例如下载的驱动程序中附加的电子证书的对照结果正确的驱动程序。在图12中,各箭头线中带有的编号,表示经该线转送信息的步骤编号。
【0129】
步骤1:下载数据从基本域100A上的外部装置102A(网络或者SD卡等)送到OS101A。
【0130】
步骤2:由基本功能112根据属性信息、自动安装信息等,下载数据,识别为追加设备驱动程序(下载驱动程序)。
【0131】
步骤3:基本功能112,将接收的驱动程序,提交给本机代码下载管理功能104A。本机代码下载管理功能104A,参照安全策略数据库105,检查下载数据中附带的电子证书。
【0132】
步骤4:本机代码下载管理功能104A,将下载信息与电子证书一起保存到安全策略数据库105中。
【0133】
步骤5:本机代码下载管理功能104A,对Trusted扩展域的本机代码下载执行功能104B,发送下载驱动程序,请求安装的执行。从基本域100A的本机代码下载管理功能104A,使用图7或者图8的处理器间通信机构40,向Trusted扩展域100B的本机代码下载执行功能104B发送数据。
【0134】
步骤6:Trusted扩展域的本机代码下载执行功能104B,自动安装接收的下载驱动程序。没有特别的限制,在该实施例中,下载驱动程序也可以是在安装后,重新起动CPU,安装到OS101B的某个区域的驻留型驱动程序。
【0135】
步骤7:Trusted扩展域的OS101B,表示是否通知已经执行完成的应用程序,安装了下载驱动程序。
【0136】
步骤8:Trusted扩展域中,已经执行完成的应用程序120B参照安装的下载驱动程序121B。
【0137】
步骤9:被安装到Trusted扩展域的OS101B的被加载的下载驱动程序121B访问许可的外部装置102B。
【0138】
步骤10:下载驱动程序121B,将来自外部装置102B的数据返回到下载应用程序120B。
【0139】
图13是用于说明图9所示的本发明的一个实施例的动作的图,是表示Trusted扩展域的信任应用程序(下载应用程序),使用基本域的基本功能情况的动作的图。在图13中,各箭头线带有的编号表示经该线转送信息的步骤编号。
【0140】
步骤1:在Trusted扩展域100B中,下载应用程序120B,向基本功能程序库113请求基本域100A的基本功能112的处理。基本功能程序库113是收集用于执行基本域100A的基本功能112的处理的例行程序的程序库,由下载应用程序120B起动。
【0141】
步骤2:Trusted扩展域100B的基本功能程序库113,使用下载应用程序120B保有的电子证书的密匙(公匙等),加密请求,将加密的请求向基本域100A的本机代码下载管理功能104A发送。从Trusted扩展域100B的基本功能程序库113向基本域100A的本机代码下载管理功能104A的请求发送,通过图7或者图8的处理器间通信机构40进行。
【0142】
步骤3:基本域100A的本机代码下载管理功能104A,解密接收的请求,利用电子证书,进行该请求是否符合请求发送目的地等的检查。并且,在该例子中,使用请求的加密和解密检查请求,只要是使应用程序和电子证书相对应的方法,当然可以使用任意的方法。
【0143】
步骤4:基本域100A的本机代码下载管理功能104A,请求的检查结果如果是OK,向基本功能112委托请求。
【0144】
步骤5:基本域100A的基本功能112,处理从本机代码下载管理功能104A接收的该请求,处理结束后,向基本域100A的本机代码下载管理功能104A,通知处理结束。
【0145】
步骤6:基本域100A的本机代码下载管理功能104A,向Trusted扩展域100B的基本功能程序库113,通知处理结束。从基本域100A的本机代码下载管理功能104A,通过图7或者图8处理器间通信机构40,向Trusted扩展域100B的基本功能程序库113发送通知。
【0146】
步骤7:Trusted扩展域的基本功能程序库113,向下载应用程序120B通知处理结束,作为对请求的响应。
【0147】
图14是用于说明图9所示的本发明的一个实施例的动作的图,是表示Untrusted扩展域的不信任应用程序的下载执行步骤的图。在图14中,各箭头线带有的编号,表示经该线转送信息的步骤编号。
【0148】
步骤1:下载数据从基本域100A上的外部装置102A(网络或者SD卡等)送达OS101A。
【0149】
步骤2:在基本域100A的基本功能112中,分析属性信息等,将下载数据识别为应用程序(下载应用程序)。
【0150】
步骤3:基本域100A的基本功能112,将下载应用程序提交给本机代码下载管理功能104A。在本机代码下载管理功能104A中,判断应用程序中是否附带电子证书,或者电子证书是否正确。
【0151】
步骤4:基本域100A的本机代码下载管理功能104A,在安全策略数据库105中保存下载信息。
【0152】
步骤5:基本域100A的本机代码下载管理功能104A,将下载的应用程序发送到Trusted扩展域的本机代码下载执行功能104B。从基本域100A的本机代码下载管理功能104A向Trusted扩展域的本机代码下载执行功能104B的应用程序的发送,通过如图7或者图8所示的处理器间通信机构40进行。
【0153】
步骤6:Trusted扩展域100B的本机代码下载执行功能104B,将应用程序发送到Untrusted扩展域100C的本机代码下载执行功能104C,请求执行。从Trusted扩展域100B的本机代码下载执行功能104B,通过图7或者图8所示的处理器间通信机构40,向Untrusted扩展域100C的本机代码下载执行功能104C发送。
【0154】
步骤7:Untrusted扩展域的本机代码下载执行功能104C,进行接收的下载应用程序120C的起动。
【0155】
步骤8:下载应用程序120C,在Untrusted扩展域100C中开始动作。此时,Untrusted扩展域的下载应用程序120C,在Untrusted扩展域的OS101C上动作,只允许对许可的外部装置102进行访问。
【0156】
图15是用于说明图9所示的本发明的一个实施例的动作的图,是表示无信任驱动程序的下载执行的情况的图。在图15中,各箭头线带有的编号表示经该线转送信息的步骤编号。
【0157】
步骤1:从基本域100A上的外部装置102A(网络或者SD卡等)将下载数据送达OS101A。
【0158】
步骤2:基本功能112,由下载数据的到达被起动,解析属性信息、安装信息等下载数据,识别为设备驱动程序(下载驱动程序)。
【0159】
步骤3:基本功能112将下载驱动程序提交给本机代码下载管理功能104A,本机代码下载管理功能104A判断下载驱动程序中是否带有电子证书,或者,带有电子证书,但电子证书的内容是否正确。
【0160】
步骤4:基本域100A的本机代码下载管理功能104A,只将下载信息保存在安全策略数据库105中。
【0161】
步骤5:本机代码下载管理功能104A,将下载驱动程序发送到Trusted扩展域100B的本机代码下载执行功能104B。从本机代码下载管理功能104A,通过图7或者图8所示的处理器间通信机构40,向Trusted扩展域100B的本机代码下载执行功能104B发送下载驱动程序。
【0162】
步骤6:Trusted扩展域100B的本机代码下载执行功能104B,将接收的下载驱动程序,转送到Untrusted扩展域100C的本机代码下载执行功能104C。从Trusted扩展域100B的本机代码下载执行功能104B,通过如图7或者图8所示的处理器间通信机构40,向Untrusted扩展域100C的本机代码下载执行功能104C转送下载驱动程序。
【0163】
步骤7:Untrusted扩展域100C的本机代码下载执行功能104C,安装接收的下载驱动程序121C。
【0164】
步骤8:OS101C在画面上显示向已经执行完成的应用程序120C通知驱动程序121C被安装了(通知用户)。
【0165】
步骤9:在Untrusted扩展域100C中,已经执行完成的应用程序120C,参照安装的下载驱动程序121C。
【0166】
步骤10:在Untrusted扩展域100C中,安装的下载驱动程序121C,通过Untrusted扩展域的OS101C,访问许可的外部装置102C。
【0167】
步骤11:在Untrusted扩展域100C中,下载驱动程序121C,向下载应用程序120C,返回从外部装置102C获得的数据。
【0168】
图16是用于说明图9所示的本发明的一个实施例的动作的图,是表示信任应用程序和不信任应用程序协作情况的图。在图16中,各箭头线带有的编号,表示经该线转送信息的步骤编号。
【0169】
步骤1:Untrusted扩展域100C上的下载应用程序120C,向Trusted扩展域100B上的下载应用程序120B发送数据。该数据的发送,通常,由图7或者图8的处理器间通信机构40进行。
【0170】
步骤2:Trusted扩展域100B上的下载应用程序120B,进行接收的数据对应的处理,向基本功能程序库113,请求包含与Untrusted扩展域协作的信息的基本功能处理。
【0171】
步骤3:Trusted扩展域100B上的基本功能程序库113,使用应用程序保有的电子证书,加密请求,向基本域100A上的本机代码下载管理功能104A发送。该请求的发送,通常,由图7或者图8的处理器间通信机构40进行。
【0172】
步骤4:基本域100A的本机代码下载管理功能104A,解密请求,利用存储在安全策略数据库105中的电子证书检查该请求的完整性。检查结果为请求正确时,本机代码下载管理功能104A,通过基本应用程序111,请求用户确认。基本应用程序111包含画面显示、输入的应用程序。并且,在该例子中,使用请求的加密和解密,检查应用程序和电子证书的对应,只要是能够使应用程序和电子证书对应的方法,当然可以使用任意的方法。
【0173】
步骤5:作为来自用户的确认,如果输入“NO”。
【0174】
步骤6:本机代码下载管理功能104A,向Trusted扩展域100B的基本功能程序库113通知不许可。该不许可的通知,通常,由图7或者图8的处理器间通信机构40进行。
【0175】
步骤7:基本功能程序库113,向下载应用程序120B通知不许可。
【0176】
步骤8:Trusted扩展域100B上的下载应用程序120B,向Untrusted扩展域100C上的下载应用程序120C通知不许可。该不许可的通知,通常,由图7或者图8的处理器间通信机构40进行。
【0177】
图1 7是用于说明图9所示的本发明的一个实施例的动作的图,是表示信任应用程序和不信任应用程序协作的图。在图17中,各箭头线带有的编号,表示经该线转送信息的步骤编号。
【0178】
步骤1:Untrusted扩展域100C上的下载应用程序120C,向Trusted扩展域100B上的下载应用程序120B发送数据。该数据的发送,由图7或者图8等的处理器间通信机构进行。
【0179】
步骤2:Trusted扩展域100B上的下载应用程序120B,进行由接收的数据产生的处理,向基本功能程序库113请求包含与Untrusted协作的信息的基本功能处理。
【0180】
步骤3:Trusted扩展域100B上的基本功能程序库113,使用应用程序1 20B保有的电子证书,加密请求,并向基本域100A上的本机代码下载管理功能104A发送。该请求,通常,由图7或者图8的处理器间通信机构40进行。
【0181】
步骤4:基本域100A的本机代码下载管理功能104A,解密请求,利用存储在安全策略数据库105中的电子证书检查该请求的完整性。检查结果为请求正确时,本机代码下载管理功能104A,通过基本应用程序111请求用户确认。并且,在该例子中,使用请求的加密和解密,检查应用程序和电子证书的对应,只要是使应用程序和电子证书相对应的方法,当然可以使用任意的方法。
【0182】
步骤5:此时,作为用户的确认,如果输入“Yes”。
【0183】
步骤6:基本域100A的本机代码下载管理功能104A,向基本功能112委托请求。
【0184】
步骤7:基本功能112,处理请求,向本机代码下载管理功能104A通知处理结束。
【0185】
步骤8:基本域100A的本机代码下载管理功能104A,向Trusted扩展域100B的基本功能程序库113通知结束。该结束通知,通常,由图7或者图8的处理器间通信机构40进行。
【0186】
步骤9:Trusted扩展域100B的基本功能程序库113,向下载应用程序120B通知结束。
【0187】
步骤10:Trusted扩展域100B的下载应用程序120B,向Untrusted扩展域100C的下载应用程序120C通知结束。该结束通知,通常,由图7或者图8的处理器间通信机构40进行。
【0188】
图18是表示本发明的其他不同的实施例构成的图。在OS和CPU间具备虚拟机监视器(设置在OS之间,由CPU执行的软件层)。由此,虚拟CPU、I/O、存储器资源。虚拟机监视器,在OS和CPU间,将虚拟硬件(例如虚拟输入输出装置)映射到实际的硬件装置上。对于每个基本域、Trusted扩展域和Untrusted扩展域,OS进行虚拟虚拟的专用文件系统、虚拟外部装置的输入输出(I/O)控制,在OS和CPU间,具备虚拟CPU200A、200B、200C和虚拟机监视器210A、210B、210C,将虚拟的专用文件系统103’和虚拟外部装置102A’、102B’、102C’映射到对应的实际文件系统、实际外部装置。
【0189】
通过本实施例,与图8的硬件构成和图9的软件构成不同,在本实施例中,例如对应基本域的虚拟CPU不是固定的,能够将Trusted扩展域等的CPU,映射作为基本域的虚拟CPU。并且,虚拟机监视器,在其实装中,不需要现有的OS、应用程序、CPU等修正等。通过本实施例,各域的CPU个数可变,构成虚拟CPU。作为软件构成,基本域、Trusted扩展域和Untrusted扩展域的构成,装置、文件系统除了是虚拟装置、虚拟文件系统之外,与图9所示的构成一样。
【0190】
图19是表示图18所示的实施例的处理步骤的一个例子的图。图19中,各箭头线带有的编号表示步骤编号。
【0191】
步骤1:基本域100A的虚拟机监视器210A,对Trusted扩展域100B上的虚拟机监视器210B请求CPU的转移。
【0192】
步骤2:Trusted扩展域100B上的虚拟机监视器210B,减少虚拟CPU资源。
【0193】
步骤3:Trusted扩展域100B上的虚拟机监视器210B,通知基本域100A上的CPU上的虚拟机监视器210A可以转移的CPU。
【0194】
步骤4:基本域100A上的虚拟机监视器210A,进行访问控制机构等设定,增加虚拟CPU的数量。
【0195】
通过本实施例,能够使不同群的CPU,象基本域的CPU那样动作。并且,由于应用程序的下载处理,与上述实施例的处理动作(图10~图18)相同,省略其说明。
【0196】
作为本实施例和变形例,也可以使虚拟机监视器,在安全模式下动作。通过这样,能够进一步提高安全性。
【0197】
在上述软件的各实施例中,对于各域的CPU群作为多处理器动作时,用于保持高速缓存一致性的总线;为了虚拟多处理器的无效化,快速擦除存储TLB(Translation Lookaside Buffer;设置在地址管理单元内的地址变换表)的全部条目的擦除操作等,由硬件协调动作的通道,全部以能够由基本域100A控制的方式构成。另外,如图20所示,也可以将各域的CPU群(例如图1的多CPU构成的CPU群10A、10B),通过分离机构15,作为多个能够分离的构成。由此,例如使某个域的CPU转移到其他域时的控制容易,还可以应对故障多处理器的分离(graceful degrading)等。
【0198】
并且,上述各实施例子中,以从网络等装置外部下载、执行本机代码的追加处理(应用程序、设备驱动程序)的信息通信终端装置为例进行了说明,但是,本发明并不限定于这样的信息通信终端装置,可以应用程序与任意的信息通信装置。以上,根据上述实施例,对本发明进行了说明,但是,本发明并不是只限定于上述实施例的构成,当然也包含在本发明范围内,只要是技术人员就可以得到的各种变形、修正。
Claims (61)
1、一种信息处理装置,其特征在于,
具备多个处理器,
上述多个处理器包含构成第1域的处理器和构成与上述第1域不同的第2域的处理器,
上述第2域包含处理器,该处理器执行至少1个以上与属于上述第1域的处理器执行的处理相比可靠性低的处理,
上述信息处理装置还具备:
处理器间通信机构,其控制上述第1域和上述第2域的处理器之间的通信;
访问控制机构,其根据属于上述第2域的处理器所执行的处理的可靠性,限制属于上述第2域的处理器对属于上述第1域的存储器和/或者输入输出装置的访问。
2、根据权利要求1所述的信息处理装置,其特征在于,
上述访问控制机构具备:
存储允许访问数据的机构;和
访问允许机构,其监视来自属于上述第2域的处理器的、对上述存储器和/或者上述输入输出装置的访问,参照上述允许访问数据,判断是否允许上述访问。
3、根据权利要求2所述的信息处理装置,其特征在于,上述访问控制机构具有更新上述允许访问数据的允许访问数据更新机构。
4、根据权利要求2所述的信息处理装置,其特征在于,上述访问控制机构具有:获得由属于上述第2域的处理器产生的访问信息的访问监视机构,和存储上述访问信息的学习机构。
5、根据权利要求1所述的信息处理装置,其特征在于,上述处理器间通信机构具备中断控制信息处理装置,该中断控制信息处理装置接收来自信息发送侧的处理器的中断请求,向上述信息的接收侧处理器发布中断。
6、一种信息处理装置,其特征在于,具备:
执行事先规定的第1类处理的至少1个处理器(称为“第1类处理器”);
执行与上述第1类处理不同的第2类处理的至少1个处理器(称为“第2类处理器”);
存储器和输入输出装置;
控制上述第1类和第2类处理器间的通信的处理器间通信机构;和
访问控制机构,其根据上述第2类处理的可靠性,限制由上述第2类处理器对上述存储器和/或者上述输入输出装置的访问。
7、根据权利要求6所述的信息处理装置,其特征在于,
具备多个上述第1类处理器,
具备多个上述第2类处理器。
8、根据权利要求6所述的信息处理装置,其特征在于,
上述第2类处理器,执行至少1个以上与上述第1类处理器执行的上述第1类处理相比可靠性低的处理。
9、根据权利要求6所述的信息处理装置,其特征在于,
上述第1类处理,包含销售商提供的基本处理,
上述第2类处理,包含从网络或者存储介质下载的追加处理。
10、根据权利要求6所述的信息通信装置,其特征在于,
上述第2类处理,包含上述第2类处理器中执行的设备驱动程序,和/或者应用程序。
11、根据权利要求6所述的信息处理装置,其特征在于,具备:
处理器间通信机构,其进行用于从上述第1类处理器侧向上述第2类处理器传递信息的处理器间通信;
处理器间通信机构,其进行用于从上述第2类处理器侧向上述第1类处理器传递信息的处理器间通信。
12、根据权利要求6所述的信息处理装置,其特征在于,
上述处理器间通信机构具备中断控制信息处理装置,该中断控制信息处理装置接收来自信息发送侧的处理器的中断请求,向上述信息接收侧的处理器发布中断。
13、根据权利要求6所述的信息处理装置,其特征在于,
上述处理器间通信机构,
对应中断目的地的处理器,具备中断控制信息处理装置和共享存储器,
上述中断控制信息处理装置,具备:
中断指示部,其接收来自中断请求源处理器的中断请求,向上述中断目的地处理器进行中断请求;
中断保持部,其保持上述中断指示部的中断请求;和
中断取消部,其接收来自上述中断目的地处理器的中断处理的结束通知,取消中断,
上述共享存储器,具备:
通信区域,其存储从上述中断请求源处理器向上述中断目的地处理器转送的数据;和
排他控制区域,其进行上述通信区域的排他控制。
14、根据权利要求6所述的信息处理装置,其特征在于,
上述访问控制机构具备:
存储允许访问数据的机构;和
访问允许机构,其监视来自上述第2类处理器的、对上述存储器和/或者上述输入输出装置的访问,参照上述允许访问数据,判断有无上述访问的许可。
15、根据权利要求14所述的信息处理装置,其特征在于,
存储上述允许访问数据的机构,与上述第2类处理器相关、与允许访问的处理器相对应地存储着允许访问的地址范围和对上述地址范围允许的访问种类相关的信息。
16、根据权利要求14所述的信息处理装置,其特征在于,
存储上述允许访问数据的机构,与上述第2类处理器相关、与不允许访问的处理器相对应地,存储着不允许访问的地址范围和对上述地址范围不许可访问种类相关的信息。
17、根据权利要求14所述的信息处理装置,其特征在于,
允许由上述第1类处理器进行的上述允许访问数据的写入和读出,
只允许从上述访问允许机构对上述允许访问数据进行读出,
不允许由上述第2类处理器对上述允许访问数据进行读出和写入。
18、根据权利要求14所述的信息处理装置,其特征在于,上述访问控制机构具备高速缓存存储器,该高速缓存存储器将与上述第2类处理器的访问地址相关的信息和与访问允许相关的信息对应地存储。
19、根据权利要求14所述的信息处理装置,其特征在于,上述访问控制机构,具有进行允许访问数据更新的允许访问数据更新机构。
20、根据权利要求6所述的信息处理装置,其特征在于,还具备:
执行事先规定的第3类处理的至少1个处理器(称为“第3类处理器”);
在上述第2类和第3类处理器间进行通信的处理器间通信机构;和
第2访问控制机构,其根据上述第3类处理的可靠性,限制由上述第3类处理器对与上述第1类处理器连接的存储器和/或者输入输出信息处理装置的访问。
21、根据权利要求6所述的信息处理装置,其特征在于,具备:
执行事先规定的第3类处理的至少1个处理器(称为“第3类处理器”);和
在上述第2类和第3类处理器间进行通信的处理器间通信机构,
上述第1类~第3类处理器的每一个具备分别通过总线连接的存储器和输入输出装置,
由上述访问控制机构,根据上述第2类处理的可靠性,限制由上述第2类处理器对与上述第1类处理器连接的上述存储器和/或者上述输入输出装置的访问,被限制,
由第2访问控制机构,根据上述第3类处理的可靠性,限制由上述第3类处理器对与上述第1类处理器连接的存储器和/或者输入输出信息处理装置的访问,和/或者,对与上述第2类处理器连接的上述存储器和/或者上述输入输出装置的访问。
22、根据权利要求20或者21所述的信息处理装置,其特征在于,
上述第3类处理器,执行至少1个以上与上述第2类处理器执行的上述第2类处理相比可靠性低的处理。
23、一种信息处理装置,具备多个权利要求6所述的信息处理装置,每个上述信息处理装置在不同的芯片内构成。
24、根据权利要求23所述的信息处理装置,其特征在于,具有访问限制机构,其在上述芯片间形成并根据属于在上述芯片中形成的上述信息处理装置的处理的可靠性,限制对存储器/输入输出装置的访问允许。
25、根据权利要求6所述的信息处理装置,其特征在于,具备:
基本域,其具备基本软件环境、外部装置和/或者文件系统、操作系统、存储下载数据的安全信息的安全策略数据库、控制本机代码下载数据的下载的本机代码下载管理机构;
信任扩展域,其包括控制本机代码的下载程序的执行的本机代码下载执行机构、操作系统,
上述信任扩展域,执行由上述基本域的本机代码下载管理机构判断为可信任的、已下载的应用程序(称为“信任应用程序”),由上述基本域的本机代码下载管理机构,将判断为可信任的、已下载的设备驱动程序(称为“信任驱动程序”)安装到上述操作系统中,由上述信任驱动程序访问事先准备的、许可的外部装置,执行可信任的追加处理,
上述基本域被安装在上述第1类处理器中,
上述信任扩展域被安装在上述第2类处理器中。
26、根据权利要求20或者21所述的信息处理装置,其特征在于,具备:
基本域,其具备基本软件环境、外部装置和/或者文件系统、操作系统、存储下载数据的安全信息的安全策略数据库、控制本机代码下载数据的下载的本机代码下载管理机构,
信任扩展域,其具备控制本机代码的下载程序的执行的本机代码下载执行机构、操作系统,
上述信任扩展域,执行由上述基本域本机代码下载管理机构判断能够信任的、已下载的应用程序(称为“信任应用程序”),由上述基本域的本机代码下载管理机构,将判断为可信任的、已下载的设备驱动程序(称为“信任驱动程序”)安装到上述操作系统中,由上述信任驱动程序,对事先准备的、许可的外部装置进行访问,执行能够信任的追加处理,
不信任扩展域,其具备控制本机代码的下载程序的执行的本机代码下载执行机构、操作系统,
上述不信任扩展域,执行由上述基本域的本机代码下载管理机构判断为不能信任的、已下载的应用程序(称为“不信任应用程序”),由上述基本域的本机代码下载管理机构,将判断为不能信任的、已下载的设备驱动程序(称为“无信任驱动程序”)安装到上述操作系统中,由上述设备驱动程序对事先准备的、许可的外部装置进行访问,执行不信任的追加处理,
上述基本域被安装在上述第1类处理器中,
上述信任扩展域被安装在上述第2类处理器中,
上述不信任扩展域被安装在上述第3类处理器中。
27、根据权利要求26所述的信息处理装置,其特征在于,
如果从上述基本域的外部装置输入下载数据,上述基本域的上述本机代码下载管理机构,检查上述下载数据的证书,检查结果判断为是正确的证书时,将上述下载数据发送到上述信任扩展域的上述本机代码下载执行机构,
另一方面,上述检查结果为没有证书、或者证书的内容不正确时,将上述下载数据发送到上述不信任扩展域的上述本机代码下载执行机构。
28、根据权利要求25或者26所述的信息处理装置,其特征在于,
从上述基本域的外部装置输入下载数据,上述基本功能将上述下载数据识别为下载应用程序时,上述基本域的上述本机代码下载管理机构,检查上述下载应用程序的证书,检查的结果判断为是正确的证书时,将上述下载应用程序,发送到上述信任扩展域的上述本机代码下载执行机构。
29、根据权利要求25或者26所述的信息处理装置,其特征在于,
从上述基本域的外部装置输入下载数据,上述基本功能将上述下载数据识别为下载驱动程序时,上述基本域的上述本机代码下载管理机构,检查上述下载驱动程序的证书,检查结果判断为是正确的证书时,将上述下载驱动程序发送到上述信任扩展域的上述本机代码下载执行机构中,
上述信任扩展域的上述本机代码下载执行机构,将上述下载驱动程序,安装到上述信任扩展域的操作系统中。
30、根据权利要求26所述的信息处理装置,其特征在于,
从上述基本域的外部装置输入下载数据,上述基本功能将上述下载数据识别为下载应用程序时,上述基本域的上述本机代码下载管理机构,检查上述下载应用程序的证书,判断检查结果为没有证书或证书的内容不正确时,通过上述信任扩展域的上述本机代码下载执行机构,将上述应用程序发送到上述不信任扩展域的上述本机代码下载执行机构。
31、根据权利要求26所述的信息处理装置,其特征在于,
从上述基本域的外部装置输入下载数据,上述基本功能将上述下载数据识别为下载驱动程序时,上述基本域的上述本机代码下载管理机构,检查上述下载驱动程序的证书,检查结果判断为没有证书或证书的内容不正确时,通过上述信任扩展域的上述本机代码下载执行机构,将上述下载驱动程序发送到上述不信任扩展域的上述本机代码下载执行机构,
上述不信任扩展域的上述本机代码下载执行机构,将上述下载驱动程序,安装到上述不信任扩展域的操作系统中。
32、根据权利要求25或者26所述的信息处理装置,其特征在于,
上述信任扩展域具备基本功能程序库,该基本功能程序库作为程序库包含将向上述基本域的基本软件环境的基本功能发布请求的处理群,
接收来自己下载到上述信任扩展域的应用程序的请求,上述信任扩展域的上述基本功能程序库,向上述基本域的上述本机代码下载管理机构发送请求,
上述基本域的上述本机代码下载管理机构,确认由上述信任扩展域接收的请求是否合适,在请求正确时,向上述基本软件环境的基本功能请求处理。
33、根据权利要求32所述的信息通信信息处理装置,其特征在于,上述基本域的上述基本功能,处理请求,向上述基本域的上述本机代码下载管理机构通知处理结束,
上述基本域的上述本机代码下载管理机构,将结束通知上述信任扩展域的基本功能程序库,由上述基本功能程序库将处理结束通知上述应用程序。
34、根据权利要求26所述的信息处理装置,其特征在于,
上述信任扩展域具备基本功能程序库,该基本功能程序库作为程序库包含将向上述基本域的基本软件环境的基本功能发布请求的处理群,
自下载在上述不信任扩展域的应用程序向上述信任扩展域的应用程序发送数据,
上述信任扩展域的上述应用程序,对上述基本功能程序库发布请求,该请求包含来自上述不信任扩展域的下载应用程序的数据,
上述基本功能程序库,接收来自上述信任扩展域的上述应用程序的请求,对上述基本域的上述本机代码下载管理机构发送请求,
上述基本域的上述本机代码下载管理机构,确认接收的请求是否相适当,上述请求适当时,请求用户确认,上述用户的确认结果为允许时,向上述基本软件环境的基本功能请求处理,
另一方面,上述用户的确认结果为不允许时,上述基本域的上述本机代码下载管理机构,通知上述基本功能程序库不允许。
35、根据权利要求34所述的信息处理装置,其特征在于,
上述基本功能,处理请求,通知上述基本域的上述本机代码下载管理机构处理结束,上述基本域的上述本机代码下载管理机构,将结束通知上述信任扩展域的基本功能程序库,由上述基本功能程序库通知上述下载应用程序处理结束,上述下载应用程序,向上述不信任扩展域的上述下载应用程序通知处理结束。
36、根据权利要求25所述的信息处理装置,其特征在于,上述基本域和上述信任扩展域,具备将虚拟装置映射到实际硬件装置上的虚拟机监视器,虚拟了文件系统、装置和CPU被虚拟化。
37、根据权利要求26所述的信息通信信息处理装置,其特征在于,上述基本域、上述信任扩展域和上述不信任扩展域,具备将虚拟装置映射到实际硬件装置上的虚拟机监视器,虚拟了文件系统、装置和CPU。
38、根据权利要求36或者37所述的信息处理装置,其特征在于,
上述基本域的虚拟机监视器,向上述信任扩展域或者上述不信任扩展域的虚拟机监视器,请求CPU资源的转让,
上述信任扩展域或者上述不信任扩展域的虚拟机监视器,通知上述基本域的虚拟机监视器能够转让的CPU,
上述基本域的虚拟机监视器,增加上述基本域的虚拟CPU的资源。
39、根据权利要求25或者26所述的信息处理装置,其特征在于,
在上述域的处理器的各个群中,通过分离机构,可以分离为多个。
40、根据权利要求25或者26所述的信息处理装置,其特征在于,上述基本域的处理器管理其他域的处理器。
41、一种程序执行控制方法,其特征在于,包含:
根据执行的程序的可靠性,划分为多个域,属于不同域的处理器之间,将数据或者指令,通过处理器间通信机构相互发送的步骤;
根据至少执行1个以上比一定可靠性低的程序的域的可靠性,限制属于执行至少1个以上比一定可靠性低的程序的域的处理器、对属于执行上述一定可靠性以上的程序的域的存储器和/或者输入输出装置的访问的步骤。
42、一种程序执行环境控制方法,其特征在于,
信息处理系统具备基本域和信任扩展域,
基本域具备:基本软件环境;外部装置和/或者文件系统;操作系统;存储下载数据的安全信息的安全策略数据库及控制本机代码下载数据的下载的本机代码下载管理机构;
信任扩展域具备:控制本机代码的下载程序的执行的本机代码下载执行机构;操作系统,上述信任扩展域,执行由上述基本域的本机代码下载管理机构,判断为能够信任的、已下载的应用程序(称为“信任应用程序”),由上述基本域的本机代码下载管理机构,将判断为能够信任的、已下载的设备驱动程序(称为“信任驱动程序”)安装到上述操作系统中,由上述信任驱动程序对事先准备的、许可的外部装置进行访问,执行能够信任的追加处理,
该程序执行环境控制方法包括:
基本域和信任扩展域间的处理器之间,通过处理器间通信机构,相互进行通信的步骤;
由访问控制机构限制属于上述信任扩展域的处理器对上述基本域的存储器和/或者输入输出装置的访问的步骤。
43、一种程序执行环境控制方法,其特征在于,
信息处理系统具有基本域、信任扩展域和不信任扩展域
上述基本域,具备:基本软件环境;外部装置和/或者文件系统;操作系统;存储下载数据的安全信息的安全策略数据库;控制本机代码下载数据的下载的本机代码下载管理机构,
信任扩展域,具备:控制本机代码的下载程序的执行的本机代码下载执行机构;操作系统,
上述信任扩展域,执行由上述基本域的本机代码下载管理机构判断为能够信任的、已下载的应用程序(称为“信任应用程序”),由上述基本域的本机代码下载管理机构,将判断为能够信任的、已下载的设备驱动程序(称为“信任驱动程序”)安装到上述操作系统中,由上述信任驱动程序,对事先准备的、许可的外部装置进行访问,执行能够信任的追加处理,
上述不信任扩展域,具备控制本机代码的下载程序的执行的本机代码下载执行机构;操作系统,
上述不信任扩展域,执行由上述基本域的本机代码下载管理机构判断为不能信任的、已下载的应用程序(称为“不信任应用程序”),由上述基本域本机代码下载管理机构,将判断为不能信任的、已下载的设备驱动程序(称为“无信任驱动程序”)安装到上述操作系统中,由上述设备驱动程序对事先准备的、已许可的外部装置进行访问,执行不信任的追加处理,
该程序执行环境控制方法包括:
上述基本域、上述信任扩展域和不信任扩展域各域的处理器之间,通过处理器间通信机构,相互通信的步骤;
由第1访问控制机构,限制由属于上述信任扩展域的处理器对上述基本域的存储器和/或者输入输出装置的访问的步骤;
由第2访问控制机构,限制由属于上述不信任扩展域的处理器对上述基本域的存储器和/或者输入输出装置的访问的步骤。
44、根据权利要求42所述的程序执行环境控制方法,其特征在于,包含:
如果从上述基本域的外部装置输入下载数据,上述基本域的上述本机代码下载管理机构,检查上述下载数据的证书的步骤;
在检查的结果判断为是正确的证书时,向上述信任扩展域的上述本机代码下载执行机构发送下载数据的步骤。
45、根据权利要求42所述的程序执行环境控制方法,其特征在于,包含:
如果由上述基本域的外部装置输入下载数据,上述基本域的上述本机代码下载管理机构,检查上述下载数据的证书的步骤;
在上述检查结果判断为是正确的证书时,向上述信任扩展域的上述本机代码下载执行机构发送上述下载数据的步骤;和
在上述检查结果判断为是没有证书或者证书的内容不正确时,向上述不信任扩展域的上述本机代码下载执行机构,发送上述下载数据的步骤。
46、根据权利要求42或者43所述的程序执行环境控制方法,其特征在于,包含:
从上述基本域的外部装置输入下载数据,上述基本功能将上述下载数据识别为下载应用程序时,上述基本域的上述本机代码下载管理机构,检查上述下载应用程序的证书的步骤,
在上述检查结果判断为正确时,将上述下载应用程序发送到上述信任扩展域的上述本机代码下载执行机构的步骤。
47、根据权利要求42或者43所述的程序执行环境控制方法,其特征在于,其包含:
从上述基本域的外部装置输入下载数据,上述基本功能将上述下载数据识别为下载驱动程序时,上述本机代码下载管理机构,检查下载驱动程序的证书的步骤;
判断上述检查结果为正确的证书时,向上述信任扩展域的上述本机代码下载执行机构发送下载驱动程序的步骤;和
上述信任扩展域的上述本机代码下载执行机构,将上述下载驱动程序安装到上述信任扩展域的操作系统中的步骤。
48、根据权利要求43所述的程序执行环境控制方法,其特征在于,包含:
从上述基本域外部装置输入下载数据,上述基本功能将上述下载数据识别为下载应用程序时,上述基本域的上述本机代码下载管理机构,检查下载应用程序的证书的步骤;和
上述检查结果为没有证书或证书的内容不正确时,通过上述信任扩展域的上述本机代码下载执行机构,向上述不信任扩展域的上述本机代码下载执行机构,发送上述下载应用程序的步骤。
49、根据权利要求43所述的程序执行环境控制方法,其特征在于,包含:
从上述基本域的外部装置输入下载数据,上述基本功能将上述下载数据识别为下载驱动程序时,上述基本域的上述本机代码下载管理机构,检查上述下载驱动程序的证书的步骤;
上述检查结果为没有证书或证书的内容不正确时,通过上述信任扩展域的上述本机代码下载执行机构,将上述下载驱动程序发送到上述不信任扩展域的上述本机代码下载执行机构的步骤;和
上述不信任扩展域的上述本机代码下载执行机构,将上述下载驱动程序安装到上述不信任扩展域的操作系统中的步骤。
50、根据权利要求42或者43所述的程序执行环境控制方法,其特征在于,
在上述信任扩展域中设置有基本功能程序库,该基本功能程序库作为程序库包含将向上述基本域的基本软件环境的基本功能发布请求的处理群,
上述程序执行环境控制方法,包含:
接收来自下载到上述信任扩展域中的应用程序的请求,上述基本功能程序库,对上述基本域的上述本机代码下载管理机构,发送请求的步骤;和
上述基本域的上述本机代码下载管理机构,确认由上述信任扩展域接收的请求是否适当,上述请求适当时,向上述基本软件环境的基本功能请求处理的步骤。
51、根据权利要求50所述的程序执行环境控制方法,其特征在于,包含:
上述基本域的上述基本功能,处理请求,将处理结束通知上述基本域的上述本机代码下载管理机构的步骤;和
上述基本域的上述本机代码下载管理机构,将结束通知上述信任扩展域的基本功能程序库,由上述基本功能程序库通知上述应用程序处理结束的步骤。
52、根据权利要求43所述的程序执行环境控制方法,其特征在于,
在上述信任扩展域中设置基本功能程序库,该基本功能程序库作为程序库包含将对上述基本域的基本软件环境的基本功能发布请求的处理群,
上述程序执行环境控制方法,包含:
由下载到上述不信任扩展域的应用程序向上述信任扩展域的应用程序发送数据的步骤;
上述信任扩展域的上述应用程序,对上述基本功能程序库发布请求的步骤,该请求包含来自上述不信任扩展域的下载应用程序的数据,和
接收来自上述信任扩展域的上述应用程序的上述请求,上述基本功能程序库,向上述基本域的上述本机代码下载管理机构发送请求的步骤;
上述基本域的上述本机代码下载管理机构,确认接收的请求是否相适当的步骤;
上述确认结果为上述请求适当时,请求用户确认,上述用户的确认结果为允许时,向上述基本软件环境的基本功能请求处理的步骤,和
另一方面,上述用户的确认结果为不允许时,上述本机代码下载管理机构,将不允许通知上述基本功能程序库的步骤。
53、根据权利要求52所述的程序执行环境控制方法,其特征在于,包含:
基本功能,处理请求,将处理结束通知上述基本域的上述本机代码下载管理机构的步骤;
上述基本域的上述本机代码下载管理机构,将结束通知上述信任扩展域的基本功能程序库的步骤;
由上述基本功能程序库,将处理结束通知上述下载应用程序的步骤;和
上述下载应用程序,将处理结束通知上述不信任扩展域的上述下载应用程序的步骤。
54、根据权利要求42所述的程序执行环境控制方法,其特征在于,
上述基本域和上述信任扩展域,通过将虚拟装置映射到实际硬件装置中的虚拟机监视器,虚拟了文件系统、装置和CPU。
55、根据权利要求43所述的程序执行环境控制方法,其特征在于,
上述基本域、上述信任扩展域和上述不信任扩展域,具备将虚拟装置映射到实际硬件装置中的虚拟机监视器,虚拟了文件系统、装置和CPU。
56、根据权利要求54或者55所述的程序执行环境控制方法,其特征在于,包含:
上述基本域的虚拟机监视器,向上述信任扩展域的虚拟机监视器请求CPU资源的转让的步骤;
上述信任扩展域的虚拟机监视器,将能够转让的CPU通知上述基本域的虚拟机监视器的步骤,
上述基本域的虚拟机监视器,增加上述基本域的虚拟CPU的资源。
57、根据权利要求55所述的程序执行环境控制方法,其特征在于,
包含:
上述基本域的虚拟机监视器,向上述信任扩展域和/或者上述不信任扩展域的虚拟机监视器,请求CPU资源的转让的步骤;
上述信任扩展域和/或者上述不信任扩展域的虚拟机监视器,通知上述基本域的虚拟机监视器能够转让的CPU的步骤,
上述基本域的虚拟机监视器,增加上述基本域的虚拟CPU的资源。
58、一种程序执行环境控制信息处理装置,其特征在于,具备:
基本软件环境;
外部装置和/或者文件系统;
操作系统;
存储下载数据的安全信息的安全策略数据库;和
控制本机代码下载数据的下载的本机代码下载管理机构,
上述本机代码下载管理机构,根据下载的程序的证书,判断上述下载的程序的可靠性,根据上述判断结果,根据执行程序的可靠性判断是否允许对规定的1个或者多个域的请求或者判断请求内容。
59、一种便携信息终端,其特征在于,
具备多个处理器,
上述多个处理器,包括:构成第1域的处理器和构成与上述第1域不同的第2域的处理器,
上述第2域包括处理器,该处理器执行至少1个以上比属于上述第1域的处理器执行的处理可靠性低的处理,
具备:
处理器间通信机构,其控制上述第1域和上述第2域处理器之间的通信;
访问控制机构,其根据上述第2域中执行的处理的可靠性,限制由属于上述第2域的处理器对属于上述第1域的存储器和/或者输入输出装置的访问。
60、一种信息通信装置,其特征在于,
具备多个处理器,
根据执行的处理的可靠性,上述多个处理器构成多个域,
不同域间的处理器之间,通过处理器间通信机构相互通信,
具备访问控制机构,其控制由属于执行安全相对低的处理的域的处理器对属于执行安全相对高的处理的域的存储器和/或者输入输出装置的访问。
61、一种信息通信装置,其特征在于,具备:
执行事先规定的第1类处理的至少1个处理器(“称为第1类处理器”);
执行与上述第1类处理不同的事先规定的第2类处理的至少1个处理器(称为“第2类处理器”);
存储器和输入输出装置;
控制上述第1类和第2类处理器间通信的处理器间通信机构;和
访问控制机构,其控制由上述第2类处理器对上述存储器和/或者上述输入输出装置的访问。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004245731 | 2004-08-25 | ||
JP245731/2004 | 2004-08-25 | ||
PCT/JP2005/014903 WO2006022161A1 (ja) | 2004-08-25 | 2005-08-15 | 情報通信装置及びプログラム実行環境制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101006433A true CN101006433A (zh) | 2007-07-25 |
CN101006433B CN101006433B (zh) | 2012-01-11 |
Family
ID=35967376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005800277066A Expired - Fee Related CN101006433B (zh) | 2004-08-25 | 2005-08-15 | 信息通信装置和程序执行环境控制方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8640194B2 (zh) |
EP (1) | EP1811387A4 (zh) |
JP (1) | JP4811271B2 (zh) |
CN (1) | CN101006433B (zh) |
WO (1) | WO2006022161A1 (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102461088A (zh) * | 2009-06-18 | 2012-05-16 | 惠普开发有限公司 | 处理器拓扑切换器 |
CN102754079A (zh) * | 2010-02-23 | 2012-10-24 | 富士通株式会社 | 多核处理器系统、控制程序、以及控制方法 |
CN102929719A (zh) * | 2012-09-18 | 2013-02-13 | 中标软件有限公司 | 一种多核计算机上多操作系统的控制方法及多核计算机 |
CN103164260A (zh) * | 2011-12-15 | 2013-06-19 | 中国银联股份有限公司 | 用于移动终端的应用程序管理系统及方法 |
CN103390136A (zh) * | 2013-07-30 | 2013-11-13 | 东莞宇龙通信科技有限公司 | 一种终端 |
CN103400084A (zh) * | 2013-07-30 | 2013-11-20 | 东莞宇龙通信科技有限公司 | 一种终端 |
CN101667236B (zh) * | 2008-09-02 | 2013-11-20 | 北京瑞星信息技术有限公司 | 一种控制驱动程序安装的方法和装置 |
CN103400081A (zh) * | 2013-07-30 | 2013-11-20 | 东莞宇龙通信科技有限公司 | 终端和用户界面的显示控制方法 |
CN103400080A (zh) * | 2013-07-30 | 2013-11-20 | 东莞宇龙通信科技有限公司 | 一种终端 |
CN103413089A (zh) * | 2013-08-28 | 2013-11-27 | 天翼电信终端有限公司 | 移动终端及其实现双系统的方法 |
CN103440437A (zh) * | 2013-07-30 | 2013-12-11 | 东莞宇龙通信科技有限公司 | 终端和用户界面的显示控制方法 |
CN104462989A (zh) * | 2014-12-25 | 2015-03-25 | 宇龙计算机通信科技(深圳)有限公司 | 多系统间应用程序的安装方法、安装系统和终端 |
CN105009134A (zh) * | 2013-03-15 | 2015-10-28 | 英特尔公司 | 提供安全操作的方法、装置、系统和计算机可读介质 |
CN107038128A (zh) * | 2016-02-03 | 2017-08-11 | 华为技术有限公司 | 一种执行环境的虚拟化、虚拟执行环境的访问方法及装置 |
CN107787495A (zh) * | 2015-07-31 | 2018-03-09 | 英特尔公司 | 安全输入/输出设备管理 |
CN109472173A (zh) * | 2013-02-07 | 2019-03-15 | 德克萨斯仪器股份有限公司 | 用于虚拟硬件存储器保护的系统和方法 |
Families Citing this family (105)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1605330A1 (en) | 2004-06-11 | 2005-12-14 | ARM Limited | Secure operation indicator |
US8621242B2 (en) * | 2004-06-11 | 2013-12-31 | Arm Limited | Display of a verification image to confirm security |
US7765558B2 (en) * | 2004-07-06 | 2010-07-27 | Authentium, Inc. | System and method for handling an event in a computer system |
US8341649B2 (en) * | 2004-07-06 | 2012-12-25 | Wontok, Inc. | System and method for handling an event in a computer system |
KR101506254B1 (ko) * | 2007-04-02 | 2015-03-26 | 삼성전자 주식회사 | 무선 단말 장치 및 시스템 보호 방법 |
US20080276299A1 (en) * | 2007-04-02 | 2008-11-06 | Samsung Electronics Co., Ltd. | Wireless terminal apparatus and method of protecting system resources |
JP5246158B2 (ja) | 2007-06-08 | 2013-07-24 | 日本電気株式会社 | 半導体集積回路及びフィルタ制御方法 |
JP5287718B2 (ja) | 2007-06-08 | 2013-09-11 | 日本電気株式会社 | 半導体集積回路及びフィルタ制御方法 |
KR101489244B1 (ko) | 2007-12-24 | 2015-02-04 | 삼성전자 주식회사 | 가상 머신 모니터 기반의 프로그램 실행 시스템 및 그 제어방법 |
JP2009169841A (ja) * | 2008-01-18 | 2009-07-30 | Panasonic Corp | 情報処理装置および携帯電話装置 |
WO2009151888A2 (en) * | 2008-05-19 | 2009-12-17 | Authentium, Inc. | Secure virtualization system software |
JP5035129B2 (ja) * | 2008-06-13 | 2012-09-26 | 富士通株式会社 | アクセス制御プログラム |
US8019732B2 (en) | 2008-08-08 | 2011-09-13 | Amazon Technologies, Inc. | Managing access of multiple executing programs to non-local block data storage |
US8108908B2 (en) * | 2008-10-22 | 2012-01-31 | International Business Machines Corporation | Security methodology to prevent user from compromising throughput in a highly threaded network on a chip processor |
US9588803B2 (en) | 2009-05-11 | 2017-03-07 | Microsoft Technology Licensing, Llc | Executing native-code applications in a browser |
US8607224B2 (en) * | 2009-05-28 | 2013-12-10 | Yahoo! Inc. | System for packaging native program extensions together with virtual machine applications |
JP5020297B2 (ja) * | 2009-09-08 | 2012-09-05 | 株式会社ソニー・コンピュータエンタテインメント | プログラム実行制限装置およびプログラム実行制限方法 |
US8397306B1 (en) * | 2009-09-23 | 2013-03-12 | Parallels IP Holdings GmbH | Security domain in virtual environment |
US8352797B2 (en) * | 2009-12-08 | 2013-01-08 | Microsoft Corporation | Software fault isolation using byte-granularity memory protection |
KR101130781B1 (ko) | 2010-04-16 | 2012-03-28 | 성균관대학교산학협력단 | 부분 가상 머신 및 이를 이용한 디바이스 드라이버 처리 방법 |
US8555265B2 (en) | 2010-05-04 | 2013-10-08 | Google Inc. | Parallel processing of data |
US9323921B2 (en) | 2010-07-13 | 2016-04-26 | Microsoft Technology Licensing, Llc | Ultra-low cost sandboxing for application appliances |
US8204480B1 (en) | 2010-10-01 | 2012-06-19 | Viasat, Inc. | Method and apparatus for secured access |
US8458800B1 (en) | 2010-10-01 | 2013-06-04 | Viasat, Inc. | Secure smartphone |
US8495731B1 (en) * | 2010-10-01 | 2013-07-23 | Viasat, Inc. | Multiple domain smartphone |
US8270963B1 (en) * | 2010-10-01 | 2012-09-18 | Viasat, Inc. | Cross domain notification |
US9113499B2 (en) | 2010-10-01 | 2015-08-18 | Viasat, Inc. | Multiple domain smartphone |
EP2461251B1 (en) * | 2010-12-03 | 2017-06-21 | Robert Bosch GmbH | Memory protection unit and a method for controlling an access to a memory device |
US8903705B2 (en) | 2010-12-17 | 2014-12-02 | Microsoft Corporation | Application compatibility shims for minimal client computers |
CN103443727B (zh) | 2011-03-28 | 2016-04-13 | 国际商业机器公司 | 异常检测系统以及异常检测方法 |
US8504780B2 (en) * | 2011-04-08 | 2013-08-06 | Hitachi, Ltd. | Computer, computer system, and data communication method |
DE102011018431A1 (de) | 2011-04-21 | 2012-10-25 | Giesecke & Devrient Gmbh | Verfahren zur Anzeige von Informationen auf einer Anzeigeeinrichtung eines Endgeräts |
US9495183B2 (en) | 2011-05-16 | 2016-11-15 | Microsoft Technology Licensing, Llc | Instruction set emulation for guest operating systems |
US10496824B2 (en) * | 2011-06-24 | 2019-12-03 | Microsoft Licensing Technology, LLC | Trusted language runtime on a mobile platform |
US20130036431A1 (en) * | 2011-08-02 | 2013-02-07 | Microsoft Corporation | Constraining Execution of Specified Device Drivers |
US8949929B2 (en) * | 2011-08-10 | 2015-02-03 | Qualcomm Incorporated | Method and apparatus for providing a secure virtual environment on a mobile device |
DE102011115135A1 (de) | 2011-10-07 | 2013-04-11 | Giesecke & Devrient Gmbh | Mikroprozessorsystem mit gesicherter Laufzeitumgebung |
MY158770A (en) * | 2011-11-04 | 2016-11-15 | Sk Planet Co Ltd | Method for interworking with trustzone between normal domain and secure domain, and management method of trusted application download, management server, device and system using it |
US9413538B2 (en) | 2011-12-12 | 2016-08-09 | Microsoft Technology Licensing, Llc | Cryptographic certification of secure hosted execution environments |
US9389933B2 (en) | 2011-12-12 | 2016-07-12 | Microsoft Technology Licensing, Llc | Facilitating system service request interactions for hardware-protected applications |
US9027102B2 (en) | 2012-05-11 | 2015-05-05 | Sprint Communications Company L.P. | Web server bypass of backend process on near field communications and secure element chips |
US9171178B1 (en) * | 2012-05-14 | 2015-10-27 | Symantec Corporation | Systems and methods for optimizing security controls for virtual data centers |
US9282898B2 (en) | 2012-06-25 | 2016-03-15 | Sprint Communications Company L.P. | End-to-end trusted communications infrastructure |
US9195838B2 (en) * | 2012-07-02 | 2015-11-24 | At&T Intellectual Property I, L.P. | Method and apparatus for providing provably secure user input/output |
US8649770B1 (en) | 2012-07-02 | 2014-02-11 | Sprint Communications Company, L.P. | Extended trusted security zone radio modem |
US8667607B2 (en) | 2012-07-24 | 2014-03-04 | Sprint Communications Company L.P. | Trusted security zone access to peripheral devices |
US9183412B2 (en) | 2012-08-10 | 2015-11-10 | Sprint Communications Company L.P. | Systems and methods for provisioning and using multiple trusted security zones on an electronic device |
US9215180B1 (en) | 2012-08-25 | 2015-12-15 | Sprint Communications Company L.P. | File retrieval in real-time brokering of digital content |
US9015068B1 (en) | 2012-08-25 | 2015-04-21 | Sprint Communications Company L.P. | Framework for real-time brokering of digital content delivery |
US9342695B2 (en) | 2012-10-02 | 2016-05-17 | Mordecai Barkan | Secured automated or semi-automated systems |
US11188652B2 (en) * | 2012-10-02 | 2021-11-30 | Mordecai Barkan | Access management and credential protection |
US9161227B1 (en) | 2013-02-07 | 2015-10-13 | Sprint Communications Company L.P. | Trusted signaling in long term evolution (LTE) 4G wireless communication |
US9578664B1 (en) | 2013-02-07 | 2017-02-21 | Sprint Communications Company L.P. | Trusted signaling in 3GPP interfaces in a network function virtualization wireless communication system |
US9613208B1 (en) * | 2013-03-13 | 2017-04-04 | Sprint Communications Company L.P. | Trusted security zone enhanced with trusted hardware drivers |
US9191388B1 (en) | 2013-03-15 | 2015-11-17 | Sprint Communications Company L.P. | Trusted security zone communication addressing on an electronic device |
US9374363B1 (en) | 2013-03-15 | 2016-06-21 | Sprint Communications Company L.P. | Restricting access of a portable communication device to confidential data or applications via a remote network based on event triggers generated by the portable communication device |
US9454723B1 (en) | 2013-04-04 | 2016-09-27 | Sprint Communications Company L.P. | Radio frequency identity (RFID) chip electrically and communicatively coupled to motherboard of mobile communication device |
US9171243B1 (en) | 2013-04-04 | 2015-10-27 | Sprint Communications Company L.P. | System for managing a digest of biographical information stored in a radio frequency identity chip coupled to a mobile communication device |
US9324016B1 (en) | 2013-04-04 | 2016-04-26 | Sprint Communications Company L.P. | Digest of biographical information for an electronic device with static and dynamic portions |
US9838869B1 (en) | 2013-04-10 | 2017-12-05 | Sprint Communications Company L.P. | Delivering digital content to a mobile device via a digital rights clearing house |
US9443088B1 (en) | 2013-04-15 | 2016-09-13 | Sprint Communications Company L.P. | Protection for multimedia files pre-downloaded to a mobile device |
US9560519B1 (en) | 2013-06-06 | 2017-01-31 | Sprint Communications Company L.P. | Mobile communication device profound identity brokering framework |
US9183606B1 (en) | 2013-07-10 | 2015-11-10 | Sprint Communications Company L.P. | Trusted processing location within a graphics processing unit |
US9208339B1 (en) | 2013-08-12 | 2015-12-08 | Sprint Communications Company L.P. | Verifying Applications in Virtual Environments Using a Trusted Security Zone |
JP6241178B2 (ja) | 2013-09-27 | 2017-12-06 | 富士通株式会社 | ストレージ制御装置,ストレージ制御方法及びストレージ制御プログラム |
US9185626B1 (en) | 2013-10-29 | 2015-11-10 | Sprint Communications Company L.P. | Secure peer-to-peer call forking facilitated by trusted 3rd party voice server provisioning |
US9191522B1 (en) | 2013-11-08 | 2015-11-17 | Sprint Communications Company L.P. | Billing varied service based on tier |
US9225715B2 (en) * | 2013-11-14 | 2015-12-29 | Globalfoundries U.S. 2 Llc | Securely associating an application with a well-known entity |
US9226145B1 (en) | 2014-03-28 | 2015-12-29 | Sprint Communications Company L.P. | Verification of mobile device integrity during activation |
GB201408539D0 (en) * | 2014-05-14 | 2014-06-25 | Mastercard International Inc | Improvements in mobile payment systems |
US9230085B1 (en) | 2014-07-29 | 2016-01-05 | Sprint Communications Company L.P. | Network based temporary trust extension to a remote or mobile device enabled via specialized cloud services |
WO2016043041A1 (ja) * | 2014-09-19 | 2016-03-24 | 株式会社aLab | デバイスプロキシ装置及びその制御方法 |
US9678903B1 (en) * | 2014-10-15 | 2017-06-13 | Intel Corporation | Systems and methods for managing inter-CPU interrupts between multiple CPUs |
JP6380084B2 (ja) * | 2014-12-19 | 2018-08-29 | 富士ゼロックス株式会社 | 情報処理装置及び情報処理プログラム |
US9779232B1 (en) | 2015-01-14 | 2017-10-03 | Sprint Communications Company L.P. | Trusted code generation and verification to prevent fraud from maleficent external devices that capture data |
US9838868B1 (en) | 2015-01-26 | 2017-12-05 | Sprint Communications Company L.P. | Mated universal serial bus (USB) wireless dongles configured with destination addresses |
JP6464777B2 (ja) | 2015-01-30 | 2019-02-06 | 富士通株式会社 | 情報処理装置及びプログラム |
US9473945B1 (en) | 2015-04-07 | 2016-10-18 | Sprint Communications Company L.P. | Infrastructure for secure short message transmission |
WO2016188560A1 (en) * | 2015-05-26 | 2016-12-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Data protection control |
US10148679B2 (en) * | 2015-12-09 | 2018-12-04 | Accenture Global Solutions Limited | Connected security system |
US9819679B1 (en) | 2015-09-14 | 2017-11-14 | Sprint Communications Company L.P. | Hardware assisted provenance proof of named data networking associated to device data, addresses, services, and servers |
US10282719B1 (en) | 2015-11-12 | 2019-05-07 | Sprint Communications Company L.P. | Secure and trusted device-based billing and charging process using privilege for network proxy authentication and audit |
US9817992B1 (en) | 2015-11-20 | 2017-11-14 | Sprint Communications Company Lp. | System and method for secure USIM wireless network access |
JP6779758B2 (ja) * | 2016-11-21 | 2020-11-04 | キヤノン株式会社 | 情報処理装置、情報処理方法及びプログラム |
US10387681B2 (en) * | 2017-03-20 | 2019-08-20 | Huawei Technologies Co., Ltd. | Methods and apparatus for controlling access to secure computing resources |
US10499249B1 (en) | 2017-07-11 | 2019-12-03 | Sprint Communications Company L.P. | Data link layer trust signaling in communication network |
JP6915419B2 (ja) * | 2017-07-13 | 2021-08-04 | 株式会社デンソー | プロセッサ |
JP6776292B2 (ja) * | 2018-03-20 | 2020-10-28 | 株式会社東芝 | 情報処理装置、情報処理方法、およびプログラム |
US11792307B2 (en) | 2018-03-28 | 2023-10-17 | Apple Inc. | Methods and apparatus for single entity buffer pool management |
WO2020030270A1 (en) * | 2018-08-08 | 2020-02-13 | Huawei Technologies Co., Ltd. | Apparatus and method for secure interprocess messaging |
US10846224B2 (en) * | 2018-08-24 | 2020-11-24 | Apple Inc. | Methods and apparatus for control of a jointly shared memory-mapped region |
JP7196532B2 (ja) * | 2018-10-24 | 2022-12-27 | 株式会社デンソー | 制御装置 |
US11741196B2 (en) | 2018-11-15 | 2023-08-29 | The Research Foundation For The State University Of New York | Detecting and preventing exploits of software vulnerability using instruction tags |
CN109828827B (zh) * | 2018-11-22 | 2023-10-27 | 海光信息技术股份有限公司 | 一种检测方法、装置及相关设备 |
US11477123B2 (en) | 2019-09-26 | 2022-10-18 | Apple Inc. | Methods and apparatus for low latency operation in user space networking |
US11829303B2 (en) | 2019-09-26 | 2023-11-28 | Apple Inc. | Methods and apparatus for device driver operation in non-kernel space |
US11558348B2 (en) | 2019-09-26 | 2023-01-17 | Apple Inc. | Methods and apparatus for emerging use case support in user space networking |
US11533292B2 (en) * | 2020-01-07 | 2022-12-20 | Palantir Technologies Inc. | Automated syncing of data between security domains |
US11606302B2 (en) | 2020-06-12 | 2023-03-14 | Apple Inc. | Methods and apparatus for flow-based batching and processing |
US11775359B2 (en) | 2020-09-11 | 2023-10-03 | Apple Inc. | Methods and apparatuses for cross-layer processing |
US11954540B2 (en) | 2020-09-14 | 2024-04-09 | Apple Inc. | Methods and apparatus for thread-level execution in non-kernel space |
US11799986B2 (en) | 2020-09-22 | 2023-10-24 | Apple Inc. | Methods and apparatus for thread level execution in non-kernel space |
EP4092556A1 (en) * | 2021-05-20 | 2022-11-23 | Nordic Semiconductor ASA | Bus decoder |
US11882051B2 (en) | 2021-07-26 | 2024-01-23 | Apple Inc. | Systems and methods for managing transmission control protocol (TCP) acknowledgements |
US11876719B2 (en) | 2021-07-26 | 2024-01-16 | Apple Inc. | Systems and methods for managing transmission control protocol (TCP) acknowledgements |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IT1091633B (it) * | 1977-12-30 | 1985-07-06 | Olivetti C Ing E C Spa | Dispositivo per la gestione del l accesso diretto alla memoria di un calcolatore |
JPS5672754A (en) | 1979-11-20 | 1981-06-17 | Casio Comput Co Ltd | Electronic computer system equipped with memory protecting device |
JPS5717049A (en) * | 1980-07-04 | 1982-01-28 | Hitachi Ltd | Direct memory access controlling circuit and data processing system |
US4866664A (en) * | 1987-03-09 | 1989-09-12 | Unisys Corporation | Intercomputer communication control apparatus & method |
US5369749A (en) * | 1989-05-17 | 1994-11-29 | Ibm Corporation | Method and apparatus for the direct transfer of information between application programs running on distinct processors without utilizing the services of one or both operating systems |
US5146596A (en) * | 1990-01-29 | 1992-09-08 | Unisys Corporation | Multiprocessor multifunction arbitration system with two levels of bus access including priority and normal requests |
US5235642A (en) * | 1992-07-21 | 1993-08-10 | Digital Equipment Corporation | Access control subsystem and method for distributed computer system using locally cached authentication credentials |
JPH06332864A (ja) | 1993-05-27 | 1994-12-02 | Fujitsu Ltd | マルチプロセッサシステムにおけるcpu間通信方式 |
CN100452072C (zh) * | 1995-02-13 | 2009-01-14 | 英特特拉斯特技术公司 | 用于管理在第一装置和第二装置之间的数字文档的分布的方法 |
US5689714A (en) * | 1995-08-28 | 1997-11-18 | Motorola, Inc. | Method and apparatus for providing low power control of peripheral devices using the register file of a microprocessor |
IE960753A1 (en) * | 1996-10-29 | 1998-05-06 | Sportables Limited | A method and apparatus for controlling access by two¹computer processors to a shared resource |
IL126148A (en) | 1997-09-09 | 2004-02-19 | Sanctum Ltd | Method and system for maintaining restricted operating environments for application programs or operating systems |
US6279066B1 (en) * | 1997-11-14 | 2001-08-21 | Agere Systems Guardian Corp. | System for negotiating access to a shared resource by arbitration logic in a shared resource negotiator |
AU9094198A (en) | 1998-09-10 | 2000-04-03 | Sanctum Ltd. | Method and system for maintaining restricted operating environments for application programs or operating systems |
US6820063B1 (en) * | 1998-10-26 | 2004-11-16 | Microsoft Corporation | Controlling access to content based on certificates and access predicates |
FI109154B (fi) | 1999-04-16 | 2002-05-31 | Vesa Juhani Hukkanen | Laite ja menetelmä tietoturvallisuuden parantamiseksi |
US6549961B1 (en) * | 1999-10-27 | 2003-04-15 | Infineon Technologies North America Corporation | Semaphore access in a multiprocessor system |
US6795901B1 (en) * | 1999-12-17 | 2004-09-21 | Alliant Techsystems Inc. | Shared memory interface with conventional access and synchronization support |
US6507904B1 (en) | 2000-03-31 | 2003-01-14 | Intel Corporation | Executing isolated mode instructions in a secure system running in privilege rings |
US7350204B2 (en) | 2000-07-24 | 2008-03-25 | Microsoft Corporation | Policies for secure software execution |
US7725558B2 (en) * | 2000-07-26 | 2010-05-25 | David Dickenson | Distributive access controller |
WO2002014988A2 (en) | 2000-08-18 | 2002-02-21 | Camelot Information Technologies Ltd. | A method and an apparatus for a security policy |
WO2002021290A1 (en) * | 2000-09-06 | 2002-03-14 | Koninklijke Philips Electronics N.V. | Inter-processor communication system |
US6938253B2 (en) * | 2001-05-02 | 2005-08-30 | Portalplayer, Inc. | Multiprocessor communication system and method |
JP2002351854A (ja) * | 2001-05-30 | 2002-12-06 | Omron Corp | プログラム実行装置および携帯型情報処理装置 |
US6986005B2 (en) * | 2001-12-31 | 2006-01-10 | Hewlett-Packard Development Company, L.P. | Low latency lock for multiprocessor computer system |
JP3884990B2 (ja) * | 2002-04-26 | 2007-02-21 | 富士通株式会社 | マルチプロセッサ装置 |
US7958351B2 (en) * | 2002-08-29 | 2011-06-07 | Wisterium Development Llc | Method and apparatus for multi-level security implementation |
AU2003244914A1 (en) * | 2003-07-04 | 2005-01-21 | Nokia Corporation | Key storage administration |
US7590864B2 (en) * | 2004-05-21 | 2009-09-15 | Intel Corporation | Trusted patching of trusted code |
US7484247B2 (en) * | 2004-08-07 | 2009-01-27 | Allen F Rozman | System and method for protecting a computer system from malicious software |
-
2005
- 2005-08-15 US US11/660,967 patent/US8640194B2/en active Active
- 2005-08-15 EP EP05780246.4A patent/EP1811387A4/en not_active Withdrawn
- 2005-08-15 WO PCT/JP2005/014903 patent/WO2006022161A1/ja active Application Filing
- 2005-08-15 JP JP2006531789A patent/JP4811271B2/ja not_active Expired - Fee Related
- 2005-08-15 CN CN2005800277066A patent/CN101006433B/zh not_active Expired - Fee Related
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101667236B (zh) * | 2008-09-02 | 2013-11-20 | 北京瑞星信息技术有限公司 | 一种控制驱动程序安装的方法和装置 |
US9094317B2 (en) | 2009-06-18 | 2015-07-28 | Hewlett-Packard Development Company, L.P. | Processor topology switches |
CN102461088A (zh) * | 2009-06-18 | 2012-05-16 | 惠普开发有限公司 | 处理器拓扑切换器 |
CN102754079A (zh) * | 2010-02-23 | 2012-10-24 | 富士通株式会社 | 多核处理器系统、控制程序、以及控制方法 |
CN103164260A (zh) * | 2011-12-15 | 2013-06-19 | 中国银联股份有限公司 | 用于移动终端的应用程序管理系统及方法 |
CN102929719A (zh) * | 2012-09-18 | 2013-02-13 | 中标软件有限公司 | 一种多核计算机上多操作系统的控制方法及多核计算机 |
CN102929719B (zh) * | 2012-09-18 | 2015-09-02 | 中标软件有限公司 | 一种多核计算机上多操作系统的控制方法及多核计算机 |
CN109472173B (zh) * | 2013-02-07 | 2022-10-21 | 德克萨斯仪器股份有限公司 | 用于虚拟硬件存储器保护的系统和方法 |
CN109472173A (zh) * | 2013-02-07 | 2019-03-15 | 德克萨斯仪器股份有限公司 | 用于虚拟硬件存储器保护的系统和方法 |
CN105009134B (zh) * | 2013-03-15 | 2018-07-03 | 英特尔公司 | 提供安全操作的方法、装置、系统和计算机可读介质 |
CN105009134A (zh) * | 2013-03-15 | 2015-10-28 | 英特尔公司 | 提供安全操作的方法、装置、系统和计算机可读介质 |
CN103400081A (zh) * | 2013-07-30 | 2013-11-20 | 东莞宇龙通信科技有限公司 | 终端和用户界面的显示控制方法 |
CN103400080A (zh) * | 2013-07-30 | 2013-11-20 | 东莞宇龙通信科技有限公司 | 一种终端 |
CN103440437A (zh) * | 2013-07-30 | 2013-12-11 | 东莞宇龙通信科技有限公司 | 终端和用户界面的显示控制方法 |
CN103390136A (zh) * | 2013-07-30 | 2013-11-13 | 东莞宇龙通信科技有限公司 | 一种终端 |
CN103400080B (zh) * | 2013-07-30 | 2016-08-24 | 东莞宇龙通信科技有限公司 | 一种终端 |
CN103400081B (zh) * | 2013-07-30 | 2016-09-21 | 东莞宇龙通信科技有限公司 | 终端和用户界面的显示控制方法 |
CN103400084B (zh) * | 2013-07-30 | 2016-12-28 | 东莞宇龙通信科技有限公司 | 一种终端 |
CN103400084A (zh) * | 2013-07-30 | 2013-11-20 | 东莞宇龙通信科技有限公司 | 一种终端 |
CN103390136B (zh) * | 2013-07-30 | 2017-03-01 | 东莞宇龙通信科技有限公司 | 一种终端 |
CN103413089B (zh) * | 2013-08-28 | 2016-12-28 | 天翼电信终端有限公司 | 移动终端及其实现双系统的方法 |
CN103413089A (zh) * | 2013-08-28 | 2013-11-27 | 天翼电信终端有限公司 | 移动终端及其实现双系统的方法 |
CN104462989A (zh) * | 2014-12-25 | 2015-03-25 | 宇龙计算机通信科技(深圳)有限公司 | 多系统间应用程序的安装方法、安装系统和终端 |
CN107787495A (zh) * | 2015-07-31 | 2018-03-09 | 英特尔公司 | 安全输入/输出设备管理 |
CN107787495B (zh) * | 2015-07-31 | 2022-05-17 | 英特尔公司 | 安全输入/输出设备管理 |
CN107038128A (zh) * | 2016-02-03 | 2017-08-11 | 华为技术有限公司 | 一种执行环境的虚拟化、虚拟执行环境的访问方法及装置 |
US11321452B2 (en) | 2016-02-03 | 2022-05-03 | Huawei Technologies Co., Ltd. | Execution environment virtualization method and apparatus and virtual execution environment access method and apparatus |
CN107038128B (zh) * | 2016-02-03 | 2020-07-28 | 华为技术有限公司 | 一种执行环境的虚拟化、虚拟执行环境的访问方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2006022161A1 (ja) | 2006-03-02 |
US8640194B2 (en) | 2014-01-28 |
US20080005794A1 (en) | 2008-01-03 |
EP1811387A4 (en) | 2016-04-13 |
EP1811387A1 (en) | 2007-07-25 |
JP4811271B2 (ja) | 2011-11-09 |
CN101006433B (zh) | 2012-01-11 |
JPWO2006022161A1 (ja) | 2008-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101006433B (zh) | 信息通信装置和程序执行环境控制方法 | |
JP4556144B2 (ja) | 情報処理装置、復旧装置、プログラム及び復旧方法 | |
US20230128711A1 (en) | Technologies for trusted i/o with a channel identifier filter and processor-based cryptographic engine | |
US7073059B2 (en) | Secure machine platform that interfaces to operating systems and customized control programs | |
US7010684B2 (en) | Method and apparatus for authenticating an open system application to a portable IC device | |
US7139915B2 (en) | Method and apparatus for authenticating an open system application to a portable IC device | |
US8356361B2 (en) | Secure co-processing memory controller integrated into an embedded memory subsystem | |
US9582675B2 (en) | Protection of memory areas | |
KR101052400B1 (ko) | 액세스 권한 위임 방법, 머신 판독가능한 저장 매체, 장치 및 프로세싱 시스템 | |
US8479264B2 (en) | Architecture for virtual security module | |
US20080155271A1 (en) | Solid-state memory-based generation and handling of security authentication tokens | |
CN109766165A (zh) | 一种内存访问控制方法、装置、内存控制器及计算机系统 | |
US8489836B2 (en) | Secure memory management system and method | |
US20070266444A1 (en) | Method and System for Securing Data Stored in a Storage Device | |
WO2006101549A2 (en) | Secure system for allowing the execution of authorized computer program code | |
US20080155188A1 (en) | Memory area protection circuit | |
CN108345804B (zh) | 一种可信计算环境中的存储方法和装置 | |
CN107169375B (zh) | 系统数据安全增强方法 | |
Dessouky et al. | Enclave computing on RISC-V: A brighter future for security? | |
CN107087003B (zh) | 基于网络的系统防攻击方法 | |
CN107103257B (zh) | 计算机入侵防范方法 | |
Wan | Hardware-Assisted Security Mechanisms on Arm-Based Multi-Core Processors | |
CN109190383A (zh) | 访问指令的处理方法、装置及设备 | |
CN115905108A (zh) | 一种用于risc-v芯片的iopmp架构实现方法 | |
Jaeger | Security Kernels |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120111 |
|
CF01 | Termination of patent right due to non-payment of annual fee |