WO2006134691A1 - 情報処理装置、復旧装置、プログラム及び復旧方法 - Google Patents

情報処理装置、復旧装置、プログラム及び復旧方法 Download PDF

Info

Publication number
WO2006134691A1
WO2006134691A1 PCT/JP2006/303920 JP2006303920W WO2006134691A1 WO 2006134691 A1 WO2006134691 A1 WO 2006134691A1 JP 2006303920 W JP2006303920 W JP 2006303920W WO 2006134691 A1 WO2006134691 A1 WO 2006134691A1
Authority
WO
WIPO (PCT)
Prior art keywords
domain
recovery
failure
specific
request
Prior art date
Application number
PCT/JP2006/303920
Other languages
English (en)
French (fr)
Inventor
Hiroaki Inoue
Junji Sakai
Tsuyoshi Abe
Masaki Uekubo
Noriaki Suzuki
Masato Edahiro
Original Assignee
Nec Corporation
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 Nec Corporation filed Critical Nec Corporation
Priority to JP2007521111A priority Critical patent/JP4556144B2/ja
Priority to CN2006800210569A priority patent/CN101198934B/zh
Priority to US11/921,742 priority patent/US8365021B2/en
Publication of WO2006134691A1 publication Critical patent/WO2006134691A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • 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
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/556Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • 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/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • G06F11/1484Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2113Multi-level security, e.g. mandatory access control

Definitions

  • the present invention relates to an information processing apparatus including a multiprocessor, and more particularly to an information processing apparatus, a recovery apparatus, a program, and a recovery method including a domain having a processor capable of executing additional processing acquired from the outside.
  • the basic processing for realizing the basic performance of the terminal device for example, call processing function, browser function for Internet access, e-mail function, screen control) Functions, etc.
  • additional processing programs
  • the basic processing for realizing the basic performance of the terminal device for example, call processing function, browser function for Internet access, e-mail function, screen control) Functions, etc.
  • additional processing programs
  • the operating system and basic processing may be exposed to attacks by the additional processing.
  • FIG. 42 is a diagram schematically illustrating an example of a typical configuration of an information communication terminal device that executes a downloaded additional process.
  • FIG. 42 schematically illustrates a well-known typical apparatus configuration in a block diagram.
  • additional processing includes application programs and device drivers (requests for access to devices, interrupt processing from devices) provided by native codes (binary codes compiled or assembled by the provider).
  • native codes binary codes compiled or assembled by the provider.
  • the case of software is also called “I / O driver”.
  • the additional process 2 3 is a process request to the basic process 2 2, a process request to S 2 1, a CPU 1 0, a memory 5 0, and an input / output device 6 0
  • Processing requests can be issued arbitrarily, and access to various hardware and software resources is also possible. For this reason, malicious additional processing 2 3 (or additional processing that is infected with a virus etc. without malicious intent) is free to attack unprotected OS 2 1, basic processing 2 2, etc.
  • Additional device drivers may be incorporated into the OS 21 kernel, for example as resident drivers, and the reliability of the device driver will directly affect the reliability and performance of OS 21.
  • the additional device driver is a malicious driver, the processing performance of the information processing apparatus can be easily reduced. This is the same for singular double drivers (drivers that are selectively squeezed and unloaded into memory) instead of resident. In this way, when an attack is performed by a malicious driver installed as an additional process, the power of OS 2 1 is directly attacked, which is also fatal (actually operation Impossible).
  • Figure 43 shows a typical example of a configuration that provides an execution protection environment for additional processing by software.
  • native code addition processing 2 3 is configured to be executed on virtual machine 24.
  • additional processing 2 3 is written in JAVA (registered trademark) bytecode
  • the downloaded JAVA (registered trademark) bytecode is stored on the J VM (JAVA (registered trademark) virtual machine) forming virtual machine 24. Executed.
  • the basic processing 22 and the OS 21 are separated from the additional processing 23 in terms of software, and the safety is ensured.
  • the additional process 23 accesses the S 21, the CPU 10, the memory 50, and the I / O 60 only through the virtual machine 24.
  • the virtual machine 24 normally does not have the authority to execute OS 21 in kernel mode (for example, execute privileged instructions), etc., so additional processing 23 operates OS 21 directly. I can't do it.
  • the virtual machine 24 since the virtual machine 24 generally executes the instruction code of the additional process 23 in an interpreted manner, it is easy to monitor whether the instruction / operation of the additional process 23 is appropriate.
  • the virtual machine 24 is a software protection filter, protection wall, or protection. It can also play the role of a gate. In this way, the basic process 22, the OS 21, etc. are separated from the additional process 23 in terms of software via the virtual machine 24.
  • the virtual machine method shown in FIG. 43 has the following problems. If the downloaded additional process 23 attacks the virtual machine 24 (for example, a security hole), the security of the system will be compromised.
  • the virtual machine 24 such as JAVA (registered trademark) virtual machine is an in-preview method that interprets and executes instruction codes such as JAVA (registered trademark) byte code one by one. The speed is slow.
  • JAVA registered trademark
  • the virtual machine 24 executes the additional process 23, it issues a system call to request processing to the OS 21, but the overhead of the system call is large. Execution of processing is slow. For example, in the virtual machine 24, one or more system calls corresponding to one instruction of the additional process 23 are issued. Context to system mode by issuing system call from user mode Switching, decoding of system call packet data in the system library section of OS 2 1, correct parameters, etc.
  • Overhead checks error detection processing
  • processing distribution dispatching
  • a series of controls such as delivery of processing results at the end of processing and context switching, switching from kernel space to user space, etc. Is big.
  • the device driver cannot be incorporated into OS 21 as additional processing 23.
  • virtual machine 2 4 is located in the upper layer of OS 2 1. Based on the code of additional processing 2 3, virtual machine 2 4 is configured to send a processing request to OS 2 1, receive the processing result from OS 2 1, and return to additional processing 2 3 as necessary. Therefore, if an additional process is to be incorporated into OS 21 as a device driver, the virtual machine that controls the execution of the additional process must also be incorporated into OS 21. This configuration is shown in Figure 4 3 This is because the virtual machine method shown in Fig. 1 is impossible in principle.
  • the additional process 23 is accompanied by a certificate 25 to prove that it is reliable, and is downloaded to the terminal (information processing apparatus).
  • the contents of the attached certificate 25 are checked, and if the attached certificate 25 is authenticated as the correct certificate, the downloaded additional processing 23 is installed and executed. It is configured to allow this.
  • a digital signature ITU-T XS09
  • the certificate 25 stores the certification period, its public key, and the digital signature of the CA (certificate authority) (certified authority and public key encrypted with the CA's private key).
  • the certificate 25 When authenticating a certificate, read the CA's digital signature part with the CA's public key and check whether it matches the contents of the certificate data. It is judged that the data can be trusted.
  • the certificate 25 may be any certificate that proves a genuine vendor.
  • the device driver signing function (Driver Signing) is also implemented in Windows (registered trademark) 2000, for example.
  • FIG. 4 In the case of the method shown in 4, additional processing 2 3 should be provided in native code Compared to the virtual machine method shown in Figure 43, it can be executed at high speed. As additional processing 23, applications and device drivers can be executed. However, the reliability of the system depends entirely on the safety of additional processing 23. In other words, if there is a problem that cannot be detected in advance in the additional processing 23, it may cause fatal damage to the system.
  • FIG. 45 shows the configuration of the processor that performs hardware security management.
  • CPU 1 1 has safe (secure) mode 1 2 and non-secure (non-secure) mode 1 3, corresponding to downloaded additional process 2 3 and additional process 2 3.
  • OS 2 1 B runs exclusively in non-secure mode 1 3.
  • the memory management unit 14 manages the memory area (address space) executed in the non-secure mode 1 3 separately from the memory area accessed in the secure mode 1 2. Access to the memory area in secure mode 1 2 is prohibited. In other words, the memory management unit 14 controls the access of the memory from the non-secure mode 13 and controls the access from the non-secure mode 13 to the memory area of the secure mode 12.
  • step 2 The process is executed in step 2 and is virtually separated into a C PU that executes additional processing 23 and a separate C P U to improve safety.
  • the secure mode and the non-secure mode are executed on the CPU in a time-sharing manner. If the system does not return from the non-secure mode, the system does not operate in the secure mode.
  • non-secure mode and secure mode are processed in a time-sharing manner, overhead such as mode transition is incurred when switching between them.
  • additional processing 2 3 is used as a device driver, and OS 2 in non-secure mode
  • the normal execution mode is a mode in which the processor operates in a non-safe environment, that is, a normal operation mode without the security function provided by the separated execution mode. Access to the separation area is prohibited, and the separation execution mode is configured to support the execution of a predetermined separation instruction. Note that this configuration also performs time-sharing processing between the normal execution mode and the separate execution mode, so overhead such as mode transition is required when switching.
  • processor unit also has two processor units and a switch unit.
  • One processor unit is connected to the public data communication network, and the other processor unit is not connected to the public data communication network and functions as a data security unit.
  • the processor unit connected to the public data communication network and the data security unit are separated by a switch, ensuring the safety of the data security unit.
  • no consideration is given to countermeasures against the processor unit connected to the public data communication network being attacked by the execution of the additional processing described above (additional processing downloaded from the network, etc.).
  • the processor unit connected to the public data communications network does not have an effective security mechanism against attacks by additional processing. For this reason, when implementing security management for the processor unit connected to the public data communication network, it is necessary to adopt one of the methods described above.
  • Reference 3 describes a configuration in which access to resources on a processor is restricted except for a set memory space and a single link.
  • the first program is a processor except for a set memory space and a single link (use of shared memory space, dedicated interrupt, or dedicated I / O port). Since access to the above resources is restricted, the first program cannot be used as a device driver and cannot be applied to additional processing including device drivers.
  • Japanese Patent Laid-Open No. 6-332864 discloses an inter-CPU communication method in a multiprocessor system. Yes.
  • This document 4 describes that when CPU 2 generates an interrupt to CPU 1 when multiprocessors use shared memory to communicate between CPUs, it uses its own CPU-to-CPU communication in a fixed area for CPU 1.
  • the CPU 1 writes the communication information in the information writing area and generates an interrupt.
  • the CPU 1 accesses the inter-CPU communication information writing area corresponding to the CPU 2 and executes interrupt processing.
  • an invention that reduces the number of times the shared memory is accessed is described.
  • an object of the present invention is to provide an information processing apparatus, a recovery apparatus, a program, and a recovery method for recovering a domain in which a failure has occurred due to an added application program and device driver while ensuring safety and reliability. There is to do. Disclosure of the invention
  • the present invention includes a plurality of processors, and a plurality of processors constitute a plurality of domains according to processing contents to be executed, and processors between different domains are mutually connected via communication means. Communication is performed, and a failure recovery process is performed for the domain in which the failure has occurred based on the failure recovery request notified from the domain and the recovery conditions set in advance for each domain.
  • a plurality of domains are configured to be separated into a specific domain and another domain according to the processing contents to be executed, and the failure recovery notified from the specific domain or another domain is performed. Based on the request and the recovery conditions set in advance for each specific domain and other domains, the failure recovery process is performed for the failed domain.
  • multiple domains can specify specific domains according to the processing content to be executed. Based on failure recovery requests notified from a specific domain or other domains and recovery conditions set in advance for each specific domain and other domains. Since the failure recovery process is performed on the domain where the error occurred, it is possible to recover the specified domain and other domains under different recovery conditions.
  • the specific domain is a domain that executes a process of a certain security level or higher, and the other domain performs at least one process having a security level lower than that of the process executed in the specific domain.
  • the specific domain detects a failure in another domain through data transmission by means of communication to another domain and makes a recovery request to the recovery means.
  • a specific domain that executes processing at a certain security level or higher is separated from another domain that has at least one process with a security level lower than that executed in a specific domain.
  • a specific domain that detects a failure occurring in a domain and executes a process of a certain security level or higher performs at least a process with a lower security level than the process executed in the specific domain via the recovery method. Recover one or more other domains.
  • the specific domain is a domain that executes processing of a certain security level or higher, and the other domain performs processing with a lower security level than the processing executed in the specific domain. It is a domain that has at least one or more. The other domain detects a failure in any of the other domains, notifies the specific domain of the failure recovery request of the other domain, and the specific domain It is configured to make a failure recovery request.
  • a specific domain that executes processing at a certain security level or higher is separated from another domain that has at least one process with a security level lower than that executed in a specific domain.
  • a specific domain that is notified of a failure that occurred in a domain and that performs processing of a certain security level or higher recovers another domain that performs processing of a relatively low security level via recovery means .
  • the specific domain is a domain that executes processing of a certain security level or higher, and the other domain performs processing with a lower security level than the processing executed in the specific domain. It is a domain that has at least one or more.
  • the other domain detects a failure in any other domain, notifies the specific domain of the failure recovery request of the other domain, and the specific domain fails in the other domain. Is detected through data transmission by communication means to other domains, and a recovery request for failure is made to the recovery means.
  • a specific domain that executes processing at a certain security level or higher is separated from another domain that has at least one process with a security level lower than that executed in a specific domain.
  • a specific domain that is notified of a failure that occurred in a specific domain and that executes a process of a certain security level or higher detects a failure, and has a security level higher than that of a process that is executed in the specific domain via recovery means. Recover other domains with at least one low process.
  • the recovery condition is determined based on the security level set for each processing content indicated by the failure recovery request from the domain, and the recovery means is the failure notified from the domain. Based on the recovery request and recovery conditions, the failure recovery process is performed for the domain where the failure occurred. With this configuration, a recovery request that satisfies the recovery conditions defined based on the security level set for each processing content is accepted.
  • the recovery means includes a determination means for determining whether or not the failure recovery request notified from the domain is acceptable, and based on the recovery request permitted by the determination means, the recovery means In this configuration, failure recovery processing is performed.
  • the first effect is that a failure that occurs in each domain can be recovered by a recovery request that satisfies preset recovery conditions.
  • the reason for this is that it has multiple processors, and depending on the processing to be executed, multiple routers constitute multiple domains, and processors between different domains communicate with each other via communication means.
  • the failure recovery process is performed for the domain where the failure occurred based on the failure recovery request notified from the server and the recovery conditions set in advance for each domain. This is because a failure is recovered by a recovery request that satisfies the set recovery conditions.
  • the second effect is that it is possible to recover a given domain from multiple domains under different recovery conditions from other domains.
  • the reason for this is that multiple domains are configured separately from the specific domain and other domains according to the processing to be executed, the failure recovery request notified from the specific domain or other domains, and the specific domain. This is because failure recovery processing is performed on the domain where the failure occurred based on the recovery conditions set in advance for each domain. Therefore, multiple domains are configured to be separated into specific domains and other domains according to the processing to be executed, and failure recovery requests notified from specific domains or other domains, specific domains and Because the failure recovery process is performed on the failed domain based on the recovery conditions set in advance for each other domain, the specific domain and other domains can be recovered using different recovery conditions. This is because it becomes possible.
  • the third effect is that it is possible to secure the security of a domain that executes processing that exceeds a certain security level.
  • the specific domain is a domain that executes processing of a certain security level or higher, and the other domain has at least one processing that has a lower security level than the processing executed in the specific domain.
  • a specific domain detects a failure in another domain via data transmission by means of communication to another domain, and issues a failure recovery request to the recovery means. Therefore, a specific domain that executes processing at a certain security level or higher is configured separately from other domains that have at least one process with a security level lower than that executed in the specific domain.
  • a specific domain that executes a process of a certain security level or higher that detects a failure This is because IN recovers another domain having at least one process having a lower security level than the process executed in the specific domain through the recovery means.
  • the fourth effect is that the availability of information processing equipment is improved.
  • the reason is that a failure occurred in a domain in which security is ensured and a domain that executes a process of a certain security level or higher has at least one process that is lower in security level than a process that is executed in a specific domain. This is because recovery is performed through recovery means.
  • the fifth effect is that a failure occurring in each domain can be recovered by ensuring a predetermined security level.
  • the reason for this is that the recovery conditions are determined based on the security level set for each processing content indicated in the failure recovery request from the domain, and the recovery method is the same as the failure recovery request notified from the domain. This is because failure recovery processing is performed on the domain where the failure occurred based on the recovery conditions. Therefore, a recovery request that satisfies the recovery conditions determined based on the security level set for each processing content is accepted.
  • FIG. 1 is a diagram showing a hardware configuration of the information processing apparatus according to the first example of the present invention.
  • FIG. 2 is a diagram showing the configuration of the inter-processor communication means of the first example.
  • FIG. 3 is a diagram for explaining the operation of the inter-processor communication means of the first example.
  • FIG. 4 is a diagram showing a configuration of the access control means of the first example.
  • FIG. 5 is a diagram showing an example of access permission data of the access control means of the first example.
  • FIG. 6 is a diagram for explaining the operation of the access control means of the first example.
  • FIG. 7 is a diagram showing another configuration of the access control means 30 of the first example.
  • FIG. 8 is a diagram showing another configuration of the access control means 30 of the first example.
  • FIG. 9 is a diagram showing a hardware configuration of the information processing apparatus according to the second example of the present invention.
  • FIG. 10 is a diagram showing a hardware configuration of the information processing apparatus according to the third example of the present invention.
  • FIG. 11 is a diagram illustrating a hardware configuration of a modification of the information processing apparatus of the third example.
  • FIG. 12 is a diagram illustrating a software configuration of the information processing apparatus of the third example.
  • FIG. 13 is a diagram for explaining the operation of the third example.
  • FIG. 14 is a diagram for explaining the operation of the third example.
  • FIG. 15 is a diagram for explaining the operation of the third example.
  • FIG. 16 is a diagram for explaining the operation of the third example.
  • FIG. 17 is a diagram for explaining the operation of the third example.
  • FIG. 18 is a diagram for explaining the operation of the third example.
  • FIG. 19 is a diagram for explaining the operation of the third example.
  • FIG. 20 is a diagram for explaining the operation of the third example.
  • FIG. 21 is a diagram showing the configuration of the information processing apparatus of the fourth example of the present invention.
  • FIG. 22 is a diagram for explaining the operation of the fourth example.
  • FIG. 23 is a diagram for explaining the operation of the fourth example.
  • FIG. 24 is a diagram showing the configuration of the information processing apparatus according to the first embodiment of the present invention.
  • FIG. 25 is a diagram showing an example of reliability set in the first embodiment of the present invention.
  • FIG. 26 is a diagram showing the configuration of the domain stop / restoration means 400 of the information processing apparatus according to the first example of the present invention.
  • FIG. 27 is a diagram showing an example of a correspondence relationship between the contents of communication processing (processing contents) of the information processing apparatus according to the first embodiment of the present invention and the hierarchical structure of communication.
  • FIG. 28 is a block diagram showing an example of the hardware configuration of the information processing apparatus according to the first example of the present invention.
  • FIG. 29 is a diagram for explaining an example of the operation of the information processing apparatus according to the first embodiment of the present invention.
  • FIG. 30 is a diagram for explaining an example of the operation of the information processing apparatus according to the first example of the present invention.
  • FIG. 31 is a diagram for explaining an example of the operation of the information processing apparatus according to the first embodiment of the present invention.
  • FIG. 32 is a diagram for explaining an example of the operation of the information processing apparatus according to the first example of the present invention.
  • FIG. 33 illustrates an example of the operation of the information processing apparatus according to the first embodiment of the present invention.
  • FIG. 34 is a diagram showing the configuration of the domain stop / recovery means 400 of the information processing apparatus according to the second embodiment of the present invention.
  • FIG. 35 is a diagram for explaining an example of the operation of the information processing apparatus according to the second embodiment of the present invention.
  • FIG. 36 is a diagram for explaining an example of the operation of the information processing apparatus according to the second embodiment of the present invention.
  • FIG. 37 is a diagram for explaining an example of the operation of the information processing apparatus according to the second embodiment of the present invention.
  • FIG. 38 shows the domain stop recovery means of the information processing apparatus according to the third embodiment of the present invention.
  • FIG. 1 A first figure.
  • FIG. 39 is a diagram showing an example of the content of the recovery process permission data 4 04a of the information processing device according to the third example of the present invention.
  • FIG. 40 is a diagram for explaining an example of the operation of the restoration processing control means 404 of the information processing apparatus according to the third example of the present invention.
  • FIG. 41 is a diagram showing the configuration of the
  • FIG. 42 is a diagram showing an example of a conventional system configuration.
  • FIG. 43 is a diagram showing another example of the conventional system configuration.
  • FIG. 44 is a diagram showing another example of a conventional system configuration.
  • FIG. 45 is a diagram showing still another example of a conventional system configuration.
  • the first example of the basic configuration is an information processing device with multiple CPUs, which has multiple CPUs (for example, basic domains, trusted domains) depending on the security level of the program (process) that executes multiple CPUs. Domain, untrusted domain Etc.).
  • the base domain is a domain that executes processing of a certain security level or higher
  • the trust domain is a domain that has at least one process having a security level lower than that of processing executed in the base domain, and is an untrusted domain. Is a domain that has at least one process with a lower security level than the process executed in the trusted domain.
  • each execution process of a certain security level of the base domain is equal to or higher than the security level of the execution process of the trust domain, and a set of execution processes of the base domain.
  • the domain may include at least one process with a high security level.
  • Each trusted domain has a security level that is equal to or higher than the security level of the untrusted domain's execution process, and is higher than the security level of the untrusted domain's execution process. It may be a domain that includes at least one process with a high security level as a set of execution processes. In this case, the basic domain performs processing with a relatively higher security level than the trusted domain, and the trusted domain performs processing that is relatively higher than the untrusted domain.
  • Each domain includes one or more CPUs, and CPU communication between different domains is performed via inter-processor communication means (for example, 40 in Fig. 1).
  • inter-processor communication means for example, 40 in Fig. 1.
  • the access request is sent to the access control means (for example, 30 in FIG. 1). ) Determines whether access is permitted or not, and only permitted access is performed.
  • the additional processing (including the device dryer application program) that has been down-loaded can be applied to the low security domain side that has a hardware configuration separate from the high security domain. High security domain safety is ensured by running on a CPU.
  • Download here means a data communication network prepared by a mobile phone carrier, This includes not only general wireless LAN networks, but also storage media such as SD power ⁇ "and down-loading to information devices via connections such as wired communications and media such as USB. .
  • the CPUs of the high security domain and the low security domain are not separated and controlled by a switch or the like, but are connected via an inter-processor communication means that enables mutual communication. Therefore, while ensuring safety, it is possible to synchronize and collaborate between the CPUs of the high security domain and the low security domain.
  • This inter-processor communication means (40 in Fig. 1) transfers data (commands) from a CPU in one domain to a CPU in another domain, such as direct attacks on CPUs in other domains. Cannot be configured. For example, by continuing to send a large amount of data from a low-security domain-side CPU to a high-security domain-side CPU, even if you try to cause high-performance domain CPU performance degradation, buffer overflow, etc. Suppressed by the interprocessor communication means, the data is not transmitted to the CPU of the high security domain.
  • the access control means (30 in Fig. 1) only accesses the memory in the pre-permitted memory space, I / O devices, etc. to the low security domain side CPU. Perform access control to allow. This prevents attacks on the high-security domain that might be downloaded additional processing.
  • the access control means can perform various bandwidth attacks, flow control, etc. as necessary to prevent various attacks on the high security domain from the downloaded additional processing. The following explanation is based on the first example.
  • FIG. 1 is a diagram showing the configuration of the first example.
  • a CPU group 1 OA that executes software 20 A composed of basic processing 22 and OS 21 A 1
  • ⁇ ? 11 groups 10 8 and CPU group 10 B each have multiple (3 units) CPUs Of course, each group may have one CPU.
  • the number of CPUs in each group need not be equal.
  • CPU group 10A and CPU group 10B are simply referred to as CPU10A and CPUIOB.
  • the additional processing 23 to be downloaded consists of binary native code.
  • the downloaded source program may be compiled into a binary format by being compiled (assembled).
  • the CPU 10 B that executes the additional process 23 is set up separately from the CPU 1 OA that executes the basic process 22, and the CPU 10A and CPUI OB can operate independently, ensuring safety. While improving, high-speed execution is possible, and application programs and device drivers can be executed.
  • the CPU 1 OA that executes the basic process 22 may be configured as a master
  • the CPU 10 B that executes the additional process 23 may be configured as a slave
  • the slave side may be configured to operate under the supervision of the master. is there.
  • the execution of the additional processing 23 by the CPU 1 OB is performed by receiving a command from the CPU 10 A via the inter-processor communication unit 402.
  • the inter-processor communication means 401 and 402 control data transmission / reception between the CPU1 OA and the CPU10B. Since the CPUs 10A and 10B are arranged independently, it is possible to execute each processing (program) 'in parallel and the CPU 10A via the inter-processor communication means 401 and 402. And CPU1
  • Synchronization processing and linkage (emphasis) processing between 0B are also possible.
  • the CPU 10 A that executes the basic processing 22 releases the inter-processor communication means 401 and the activation request for the additional processing 2 3 is sent to the CPU 10 To CPU B, additional processing 23 is executed on CPU 10 B, and the execution result is sent from CPU 10B via inter-processor communication means 402.
  • the screen control routine or the like that is transmitted to the CPU 10A and constitutes the basic process 22 presents information reflecting the execution result of the additional process 23 to the user.
  • additional processing 23 is executed by CPU 1 ⁇ B
  • access control means 3 At 0, permission control related to the access is performed, and only the permitted access request is executed to the memory 50 and the input / output device (IZO) 60.
  • the CPU 10B executes the additional processing 23 on the OS 21 B and a processing request from the additional processing 23 to the basic processing 22 or the OS 21 A is issued, the request is transmitted to the inter-processor communication means 401. Via CPU, it is notified to CPU10A.
  • inter-processor communication means 401 By controlling such a request not to be transmitted to the CPU 10 A side, protection from the above attack is realized and safety is ensured.
  • the inter-processor communication unit 401 controls information transfer from the CPU 10 B to the CPU 1 OA
  • the inter-processor communication unit 402 controls information transfer from the CPU 10 A to the CPU 10 B.
  • bidirectional data exchange may be performed by a single inter-processor communication device.
  • communication between CPUs is required between a plurality of CPUs 1 OA that execute the basic processing 22
  • communication between CPUs is performed without using the inter-processor communication means 40.
  • the CPU group 10B logically belongs to the CPU group 1 OA.
  • communication between CPUs may be performed via the inter-processor communication means 40.
  • the added device driver is incorporated in the OS 21 B and executed on the CPU 10 B.
  • Access control to the input / output device 60 is executed under the monitoring of the access control means 30.
  • the basic processing 2 2 and OS 2 1 A in Fig. 1 are usually rewritable non-volatile memory (not shown).
  • EEPROM Electricaly Programmable and Erasable ROM
  • CPU 10 A fetches the instruction code from EEPROM, decodes it, and executes it. That is, the memory stored in each OS 21A, 21B that executes the basic processing 22 and the additional processing 23 is separated in hardware on the basic processing side and the additional processing side.
  • the instruction code stored in EEPROM is executed for basic processing, OS, etc., but data such as tables that are initialized, referenced, and updated by the program executed by CPU 1 OA, 10 B.
  • the memory area to be read and written is managed by the access control means 30 to restrict access to the memory area referred to by the CPU 1 OA.
  • the basic processing 22, ⁇ S 21 A loaded memory and CPU 10 A fetches the instruction code, additional processing 23, OS
  • 21 B may be provided and CPU 10 B may be provided separately with memory for fetching the instruction code.
  • the memory 50 is provided with a separate area for loading the basic process 22 and OS 21 A and an area for loading the additional process 23 and OS 21 B, to the memory 50 of the CPU 10B.
  • the read Z write access may be managed by the access control means 30.
  • the code that CPU 10A and CPU 10 B only refer to is stored in a common memory area, and access control means 30 allows the CPU 10 B to read only the common memory area. Access control may be performed.
  • the CPU other than the CPU that executes basic processing is forcibly shut down, and more reliable depending on the reliability of the processing to be executed. It is possible to save battery power by preferentially shutting down CPUs that perform infrequent processing. This is achieved by, for example, the process of making a decision on the CPU that performs basic processing based on the information on the remaining battery level obtained by the means for detecting the remaining battery level and the means for notifying the detection result, and executing the shutdown. it can.
  • FIG. 2 is a diagram illustrating an example of a hardware configuration of the inter-processor communication unit in the first example. Referring to Figure 2, one set of interrupt controller 41 and shared memory 42, arranged between the left and right CPUs (the CPU that executes basic processing and the CPU that executes additional processing) The entire communication means 40 1 and 402 are configured.
  • the interrupt control unit 41 includes n interrupt control units 410 to 41 n for CPU # 0, CPU # 1, * CPU 'n, and each interrupt control unit includes an interrupt instruction unit 41 1 An interrupt state holding unit 412 and an interrupt canceling unit 413.
  • the shared memory 42 includes n communication areas 420 to 42 n for CPU # 0, CPU # 1,... CPU #n, and each communication area stores transmission information (data and messages). ⁇ It has a communication queue 421 that performs ⁇ -ring or buffering, and an exclusive control area 422 that performs mutual exclusion control.
  • interrupt control device 41 1 for CPU # 1 and communication area 421 for CPU # 1 are transferred from CPU # 0 to CPU # 1.
  • An inter-communication means 401 is configured, and an interrupt control device 410 for CPU # 0 and a communication area 420 for CPU # 0 constitute an inter-processor communication means 402 from CPU # 1 to CPU # 0.
  • the interrupt control device 41 and the shared memory 42 are configured to be connected to the CPU # 0, CPU # 1,.
  • a buffer point for example, a buffer area address in the memory 50 for storing the transmission data may be set instead of the transmission data itself.
  • the exclusive control area 422 i of CPU # i in the shared memory 42 is the communication area 42 i of CPU # i. It is provided for mutual exclusion control so that area 42 i is not used. That is, the exclusive control area 422 i of CPU # i is Used to store synchronization management information such as semaphores such as mutexes and flags.
  • the sending CPU cannot issue an interrupt request to the sending CPU when the exclusive control area 422 is locked, which allows frequent data from the sending CPU to the receiving CPU. Unauthorized interrupts such as transmission can be prevented.
  • exclusive control area 422 may be used for lock management for connection to a queue (enqueuing) and removal from a queue (dequeue).
  • the shared memory 42 may use a predetermined memory area of the memory 50 in FIG. 1 as the shared memory, or may be provided in the inter-processor communication unit 40 separately from the memory 50.
  • the interrupt request lines from the interrupt control devices 410 to 4 In may be connected to the receiving CPU in parallel (the number of interrupts increases), or the digi It may be configured as a single chain connection.
  • the receiving CPU When the receiving CPU receives the interrupt request from the interrupt control device 41, it notifies the interrupt control device 41 of this, and the interrupt control device 41 transfers the interrupt device number (interrupt vector information) to the data line (not shown),
  • the receiving CPU generates an interrupt vector from the interrupt device number, and an interrupt service routine that is executed by the receiving CPU is activated via the scheduler.
  • the interrupt service routine is sent from the communication queue of the corresponding shared memory 42.
  • a series of controls is performed to acquire data, release (unlock) semaphores such as mutexes in the exclusive control area, and return from interrupt (Return From Interrupt).
  • FIG. 3 is a diagram for explaining the operation procedure of the inter-processor communication means of the first example shown in FIG. 2, and shows the procedure for transferring data from CPU #k to CPU # 0. ing.
  • the numbers next to the arrows indicate step numbers.
  • Step 1 The sending CPU # k locks the exclusion control area of the communication area of the CPU # 0 in the shared memory 42.
  • the exclusive control area of the communication area of the CPU # 0 in the shared memory 42 indicates that it is locked by another CPU, for example, it waits until the lock is released.
  • Step 2 The sending CPU #k locks the exclusion control area of the communication area of CPU # 0 in the shared memory 42, and then receives the receiving CPU # in the communication area of the communication area for the CPU # 0 of the shared memory 42. Write the data to send to 0.
  • Step 3 The sending CPU # k notifies the interrupt request to the interrupt instruction section of the interrupt control device for CPU # 0 in the interrupt control area 41.
  • Step 4 The interrupt instruction unit of the CPU # 0 interrupt controller updates the interrupt status holding unit of the CPU # 0 interrupt controller and sets it to “Interrupt requested”.
  • Step 5 The interrupt instruction unit of the CPU # 0 interrupt controller interrupts the receiving CPU # 0.
  • Step 6 The receiving CPU # 0 accepts the interrupt from the interrupt instruction unit of the CPU # 0 interrupt control unit, and extracts data from the communication queue in the CPU # 0 communication area of the shared memory 42. At this time, the receiving CPU # 0 performs processing by the interrupt service routine described above.
  • Step 7 After receiving data from the communication queue of the communication area for CPU # 0 in the shared memory 42, the receiving CPU # 0 notifies the interrupt cancellation unit for CPU # 0 of the completion of the interrupt processing.
  • Step 8 The interrupt instruction unit of the interrupt control device for CPU # 0 that has received the notification of the completion of capture processing from the receiving CPU # 0 sets the interrupt status holding unit of the interrupt control device for CPU # 0.
  • Step 9 The receiving CPU # 0 unlocks the exclusion control area of the communication area of CPU # 0 in the shared memory 42.
  • the interrupt controller 41 is equipped with a Qo S (Qua 1 ity of service) guarantee function that restricts the sending CPU from receiving and sending to the receiving CPU continuously and frequently. Also good. For example, interrupt requests that do not involve data transfer to the receiving CPU are not subject to exclusive control and can be issued in succession. Therefore, when interrupt processing is not completed on the receiving CPU side, an interrupt request is generated from the transmitting CPU side, and the ⁇ Interrupt Requested '' in the interrupt status holding part of the interrupt control device 41 exceeds the specified value.
  • Qo S Quality of service
  • the sending CPU can suppress attacks such as reducing the performance of the receiving CPU by generating a large number of interrupt requests that are not accompanied by data transfer to the receiving CPU.
  • FIG. 4 is a diagram showing a configuration of the access control means 30 of the first example shown in FIG. Referring to FIG. 4, this access control means 30 is connected to the CPU 10 A that executes basic processing (22 in FIG. 1) via the basic side bus 7 OA, and additional processing via the additional side bus 70 B. Access permitting means 31 connected to the CPU 10 B executing (23 in FIG. 1) and storage means storing access permission data 32 are provided.
  • the access permission data 32 can be read / written from the CPU1 OA. Access permission means 31 Only reading is permitted. Then, the access permission data 32 cannot be read or written from the CPU 10B. That is, no data bus exists between the access permission data 32 and the CPU 10 B.
  • the access permission means 31 determines the type of access (access command) from the access address signal and control signal (access command) to the memory 50 (see Fig. 1) transferred to the address signal line and control signal line of the additional bus 70B. Read Z write) and refer to the information in the access permission data 32 to determine whether or not the access is appropriate. If the access is determined to be invalid as a result of the determination, the access permission means 31 does not send the access address and control signal (access command) to the basic bus 70A. Access to 70A Not done. In this case, the CPU 10 B that sent the access address to the additional bus 70 B knows that the access has failed due to a bus error or a non-response from the memory 50 or the like to the read Z write address.
  • the access permission means 31 monitors the additional bus 70 B and detects that the access address is an address corresponding to the input / output device.
  • an I / O command read Z write, etc.
  • the access control means 30 may include a bandwidth restriction means for controlling the data transfer amount per unit time.
  • the access control means 30 includes means for measuring and monitoring the amount of data transferred from the CPU 10 B to the additional bus 70 B during the access operation of the CPU 10 B. For example, per unit time When data having a number of bytes exceeding a predetermined threshold value is transferred, control for aborting data transfer from the CPU 10B to the CPU 1 OA may be performed. At that time, even if CPU 10 B retries knowing that the overnight transfer to CPU 1 OA has failed, access control means 30 must transfer the data from CPU 10 B to CPU 1 OA. Do not do.
  • the access control means 30 may include a buffer, store data transferred from the CPU 10B to the additional bus 70B in a buffer, and control the flow rate of data transferred to the CPU 1 OA.
  • FIG. 5 is a diagram illustrating an example of the access permission data 32 in the first example.
  • the access permission data includes the CPU that executes the additional processing (the CPU that is connected to the additional bus in Figure 4), the permitted range address that consists of the start address and end address of the range where access is permitted,
  • the permitted access type read, read / write, write type
  • the permitted range address may be duplicated in different CPUs.
  • the permitted range addresses for CPUs # 2 and # 3 in the second row are from O xC OOOOOO to O xF OOOOOOOO With read Z write enabled (R / W) Yes
  • the permitted range address of CPU # 3 on the third line is from O xE OOOOOO to O xF OOOOOO, which overlaps with the second line.
  • R (readable), W (writeable), and RZW (readable Z writeable) are illustrated for the sake of explanation. However, R (readable) can only be read and cannot be written. If W is writable (can be read), R / W is not required.
  • the address range that cannot be read (and cannot be written) is not stored in the address permission data 32.
  • the access permission data has an address range and an access type for each of the CPUs to which access is permitted, but the access permission data further includes information indicating that access is not allowed as the access type.
  • An inaccessible address range may be stored for a CPU that executes additional processing.
  • the access permission means 31 in FIG. 4 receives an access request (address, read / write command) from the CPU on the additional side, refers to the permitted range address and access type of the access permission data 32, and allows access. Allow the access. On the other hand, if it is not permitted, access is denied.
  • CPU # 4 is moved from start address 1000 to end address 2000 (hexadecimal), and the access type is read (R) ′.
  • the start address 0 X C 000000 to the end address O xF O O O O O O O (hexadecimal) is used, and the access type is read and write (RZW).
  • the access type from the start point address O xE O O O O O O O O to the end point address 0 X F 000 000 (hexadecimal) is written (W).
  • FIG. 6 is a diagram for explaining an example of the operation of the access control means 30 in FIG. In Fig. 6, the numbers beside the arrows indicate step numbers.
  • Step 1 The CPU 10A that executes basic processing prohibits the CPU 10B that executes all additional processing from reading out an address range in the access permission data 32 of the access control means 30.
  • Step 2 CPU10B is prohibited to read by executing additional processing 23 Assume that a read request to the specified address range is issued.
  • Step 3 The access permission means 3 1 reads the access permission data 3 2 and checks the suitability of the access request.
  • Step 4 The access permission means 3 1 returns an error to C P U 1 0 B. This is because reading from CP U 1 0 B is prohibited in the address range.
  • Step 5 C P U 10 0 B issues a read request to a range other than the above address range.
  • Step 6 Access permission means 3 1 reads and checks access permission data 3 2.
  • Step 7 The access permission means 31 grants a read access request for C P U 10 0 B and issues it to the basic bus 7 O A as a read request.
  • the access control means 30 is configured with the access permission means 31 and the access permission data 32, and the access control is performed based on the access permission information. It is not limited to the configuration according to the example, but may be provided with access denial data and access denial means instead of (inverted) access permission data. In this case, the access denial means performs control to deny access when the access address from the C P U 10 B that executes the additional processing matches the address range defined as access denial in the access denial data.
  • the access permission means 31 may include a cache.
  • the access address and access permission data used for access determination are stored in the cache, and whether access permission data for the corresponding access address (address range) exists in the cache in the subsequent access control determination.
  • the access judgment is speeded up.
  • the cache includes a tag address corresponding to the range of access addresses and access permission data, and includes a cache hit determination circuit that determines whether the access address of the additional bus 70 B hits the cache. .
  • the access control means 30 may include a new access permission data 33 and an access permission data update means 34.
  • Access permission data updating means 34 connected to the bus 70 A and storage means for storing new access permission data 33 are provided. The details of the functions of these two methods will be explained.
  • the new access permission data 33 is a storage means that permits reading only from the access permission data updating means 34 in addition to the same characteristics as the access permission data 32 shown in FIG.
  • the access permission data updating means 3 4 overwrites the new access permission data 3 4 atomically with the contents of the new access permission data 3 3 in response to a request from the C P U 1 O A through the basic bus 7 O A.
  • a means for switching to the new access permission data 33 instead of updating the access permission data 32 may be provided.
  • the update of the access permission data 32 can be rewritten atomically by the CPU. Therefore, the area to be protected and the area to be restricted by the access control means 30 are dynamically changed. It is possible.
  • FIG. 8 is a diagram showing another configuration of the access control means 30 of the first example.
  • this access control means 30 includes an access monitoring means 35 and a learning means 3 6 ′ connected to the additional bus 70 B. Yes. The function of this means will be described in detail.
  • the access monitoring unit 35 acquires the access information from the C P U 10 0 B through the additional bus 70 B as in the access permission unit 31.
  • the learning means 36 determines whether or not the reference is appropriate based on the access information provided from the access monitoring means 35. For example, the number of references to user protection data is counted, and if the threshold value specified in advance is exceeded, it is recognized as an abnormal situation, and that is notified to the access monitoring means 35.
  • the access permission data 3 2 is dynamically changed according to the rule. In some cases, notification to CPULOA connected to the bus 7 O A on the basic side may be made to start processing in the event of an abnormality.
  • the CPU operation that seems to be low in reliability from the actually referenced pattern can be autonomously restricted by accumulating as history information. It is possible to perform safer execution control based on the CPU operating status.
  • FIG. 9 is a diagram showing a configuration of a second example of the basic configuration.
  • additional set of software, ⁇ S, and CPU are added. That is, the second additional processing side CPU 10 C communicates with the first additional processing CPU 10 B via the inter-processor communication means.
  • the CPU 10 C on the second additional processing side is connected to the basic side bus 7 OA via the second access control means 302.
  • the settings of the access control means 301 and 302 are set by the CPU 10 A that executes the basic process 22. That is, the CPU 1 OA that executes the basic process 22 functions as a master-processor.
  • the CPU 10 A centrally manages the memory 50 and the input / output device (IZO) 60.
  • the CPU 10 C that executes the second additional process 23 C communicates (data and command transmission) via the inter-processor communication means 403 to the CPU 10 B that executes the first additional process 23 B.
  • the CPU 10 B that executes the first additional process 23 B performs communication (data and command transmission) via the inter-processor communication means 401 as the CPU 1 OA that executes the basic process 22.
  • the CPU 10 C executing the second additional processing 23 C performs only permitted access to the memory 50 and the input / output device (IZO) 60 under the monitoring of the second access control means 302.
  • the CPU 1 OB that executes the first additional processing 23 B only monitors the access permitted for the memory 50 and the input / output device (I / O) 60 under the supervision of the first access control means 301.
  • the setting of the access permission data of the first access control means 301 and the second access control means 302 is all performed by the CPU 1 OA. With this configuration, centralized management is performed, and processing is transferred between CPUs by the inter-processor communication means 40. In the second example as well, direct attacks etc. from additional processing 23 B and 23 C on CPU 1 OA that executes basic processing 22 are not repeated. Avoided. That is, as in the first example, the additional processing 23 B and 23 C cannot directly start the basic processing 22 or call a subroutine, and the start request of the basic processing 22 is, for example, CPU 1 00 to 0 111 08 through ⁇ ? 111 CPU 1 OA communicated to the OA via the inter-processor communication means and received the request.
  • the inter-processor communication means 401 to 404 in the second example are the same as the configuration of the first example shown in FIG. 2, and the access control means 301 and 302 are also the same as those in the first example shown in FIG. Since it is the same as the configuration, the detailed configuration and description of the operation are omitted.
  • FIG. 10 is a diagram showing a configuration of a third example of the basic configuration.
  • a CPU 10 C on the additional processing side and an access control means 302 are added to the configuration of FIG.
  • a memory and an input / output device (IZO) are prepared for each CPU group of each group (domain).
  • the CPU 10 C can access the permitted memory 50 C and the input / output device (I /) 60 C without any access restrictions.
  • the first additional processing CPU 1 OB can be accessed without access restrictions for the permitted memory 50 B and the input / output device (IZO) 60 B.
  • Access to the basic processing side memory 50A, input / output device (I / O) 6 OA from the second additional processing side CPU 10 0 C is the second access control means 302 and the first access control means. Access control is performed in a two-stage configuration of 30 1.
  • the access permission is determined by the first access control means 301.
  • the access permission data of the first access control means 301 and the access permission data of the second access control means 302 are set by the basic processing CPU 1 OA.
  • Second The access permission data of the access control means 302 may be set by the first additional processing CPU 10 B.
  • the memory and input / output devices (IZO) are separated into domain units.
  • FIG. 11 is a diagram showing a modification of the third example, and is an example in which the first example shown in FIG. 1 is applied to two or more chips.
  • access control means 303 is further connected between individual chips 80. Join. That is, a plurality of chips 80A, 80B, etc. are arranged, and the chip 8OA and the chip 80B are connected by the access control means 303.
  • execution control in the basic configuration of the information processing apparatus to which the present invention is applied can be performed between a plurality of chips 80 by setting appropriate access control means 30.
  • FIG. 12 is a diagram showing an example of a software configuration that implements the present invention, and includes a basic domain, a Trusted (trusted) extended domain, and an Untrusted (untrusted) extended domain.
  • the hardware configuration in Figure 12 includes three groups of C
  • the configuration shown in Fig. 10 with PU can be used.
  • the basic domain which is the execution environment for executing basic processing, corresponds to software 20 and OS 21 A in Fig. 10
  • the Trusted extended domain corresponds to software 20B and OS 21 B in Fig. 10
  • Un The trusted extended domain is the same as the software 20 C and OS 21 C in Figure 10. It can correspond.
  • the basic domain 10 OA is a basic application program (referred to as “basic application”) 1 1 1, basic software 1 10 including basic performance 1 12, OS 101 A, and dedicated file system 103 And an external device 102A, a native code download management function 104A, and a security policy database 105.
  • the basic function 112 is, for example, when the information processing apparatus of the third example is a portable information communication terminal, such as call processing such as outgoing call processing, incoming call processing, Internet access, screen processing, etc. It realizes the basic performance of type information communication terminals and corresponds to the basic process 22 in Fig. 1.
  • Basic application 1 1 1 calls basic function 1 12 to perform processing.
  • External devices include a communication interface such as a wireless communication interface, an interface of a display device, an input interface such as a key and a pointing device, an SD (Secure Digital) memory-to-card interface, a sound-in interface, etc. Including.
  • T rusted extended domain 100 B has a native code download function 104B, a download application program (referred to as “down door one door application”) 120 B, a basic performance library (wrapper) 1 13, OS 101 B and authorized external device 102 B are provided.
  • a download application program referred to as “down door one door application”
  • a basic performance library wrapper
  • ⁇ S 101 B includes download driver 121 B with certificate.
  • the download driver 121 B with certificate performs input / output control of the permitted external device 102 B.
  • the Unt r u s t e d extended domain 100 C includes a native code download execution function 104 C, a download application 120 C, an OS 101 C, and an authorized external device 102 C.
  • the download driver 121 C incorporated in the OS 101 C performs input / output control of the permitted external device 102 C.
  • Basic domain 10 OA external device 102 A
  • Native code download management function 104 A By referring to the contents of the utility policy database 105, a native (trusted electronic certificate) native code application can be transferred to the T rusted extended domain 100 B and trusted (with a trusted digital certificate) native Download the code download driver 121 B into OS 101 B.
  • the native code download management function 104A is not trusted (for example, when there is no electronic certificate or when the certificate contents are not correct).
  • the application is untrusted via the T rusted extended domain 100 B. Transfer to domain 100 C, untrusted (no certificate) Download driver is installed in OS 101 C of Untrusted extended domain.
  • An application program that runs in a trusted domain is handed over to the basic function 1 12 only when there is a user confirmation (OK) for an overnight trip from an untrusted domain. Do not pass data from untrusted domains to the basic function 1 12 without user confirmation. It is not possible to issue a processing request directly from the trusted extended domain 100 B to the basic function 10 12 of the basic domain 10 OA.
  • FIG. 13 is a diagram for explaining the operation of the third example shown in FIG. 12, and is a diagram illustrating the execution of basic abrasion.
  • the number attached to each arrow line represents the step number to which information is transferred on the line.
  • Step 1 The basic application 1 1 1 of the basic domain 100A issues a processing request (for example, addition of an address book) to the basic function 112.
  • a processing request for example, addition of an address book
  • Step 2 Basic function 1 12 uses OS 101 A to process the request.
  • Step 3 Basic function '1 12 notifies basic application 1 1 1 of success or failure of the request.
  • FIG. 14 is a diagram for explaining the operation of the third example shown in FIG. 12, and is a diagram showing a state of execution of downloading of the trusted application. In Fig. 14, the number attached to each arrow line indicates the step number at which information is transferred along the line.
  • Step 1 Basic domain 10 0 Download data arrives at ⁇ S 1 0 1 A from external device 10 2 A (network or SD memory card, etc.) on OA.
  • Step 2 The download data is recognized as an additional application (download application) based on information such as attribute information in basic functions 1 1 2.
  • Step 3 Basic function 1 1 2 passes the additional application to the native code download management function 1 0 4 A, and the native code download management function 1 0 4 A refers to the security policy database 1 0 5 -Check the electronic certificate attached to the case.
  • an electronic certificate stores a public key and a digital signature (encrypted authority, public key, etc. encrypted with a private key), and a native code down management function 1 0 4
  • a authenticates the certificate it decrypts the digital signature with the public key to check whether it matches the contents of the certificate, and if they match, Judge that the certificate data can be trusted.
  • Step 4 Native code download management function 104 A stores the download information in the security policy database 105 together with the electronic certificate.
  • Step 5 Basic domain 1 0 OA native code download management function 1 0 4 A, if the result of electronic certificate check is correct, T rusted extended domain 1 0 0 B native code download execution function 1 0 4 Send a download application to B and request execution.
  • Step 6 Native code down of T rusted extended domain 1 0 0 B
  • the load execution function 104B controls to execute the received download application.
  • Step 7 The download application runs on the Trusted extension domain.
  • FIG. 15 is a diagram for explaining the operation of the third example shown in FIG. 12, and is a diagram showing execution of downloading of a trusted driver.
  • a trusted driver is a driver whose collation result of an electronic certificate attached to a down-loaded driver is correct.
  • the number attached to each arrow line represents the figure number to which information is transferred on the line.
  • Step 1 Basic domain 10 Download device arrives to OS 101A from external device 102A (network or SD card, etc.) on OA.
  • Step 2 In basic function 1 12, the download data is recognized as an additional device driver (download driver) from the attribute information and automatic installation information.
  • download driver an additional device driver
  • Step 3 Basic function 1 12 passes the received driver to native code download management function 104A.
  • Native code download management function 10 4A refers to the security policy database 105 and checks the electronic certificate accompanying the download data.
  • Step 4 The native code download management function 104A stores the download information in the security policy database 105 together with the electronic certificate.
  • Step 5 The native code download management function 104A sends a download driver to the native code download execution function 104B of the T rusted extension domain and requests execution of installation.
  • Basic domain 10 OA native code download management function 104A to T rusted extended domain 100 B native code download execution function 104B overnight transmission is performed using the inter-processor communication means 40 of FIG. 9 or FIG. .
  • Step 6 Native code download execution function 104B of the rusted extended domain 104B automatically installs the received download driver.
  • the download driver may be a resident driver that is installed in an area of OS 1 0 1 B after installation and rebooting the CPU.
  • Step 7 The TruSted extension domain ⁇ S 1 0 1 B displays a message that notifies the already executed application that the download driver has been installed.
  • Step 8 In the Trusted extension domain, the already executed application 10 2 B refers to the installed download driver 1 2 1 B.
  • Step 9 Download driver 1 2 1 B installed and loaded into OS 1 0 1 B of Trusted extension domain 1 accesses authorized external device 1 0 2 B.
  • Step 10 The download driver 1 2 1 B returns the data from the external device 1 0 2 B to the download application 1 2 1 0 B.
  • Fig. 16 is a diagram for explaining the operation of the third example shown in Fig. 12.
  • a trusted application down-shut application
  • FIG. 16 the number attached to each arrow line indicates the step number to which information is transferred on the line.
  • Step 1 In the Trusted extension domain 10 0 B, the download application 1 2 0 B requests the basic function library 1 1 3 for processing of the basic function 1 1 2 of the basic domain 1 0 0 A.
  • the basic function library 1 1 3 is a library that collects routines for executing the processing of the basic functions 1 1 2 of the basic domain 1 0 OA, and is started from the download application 1 2 0 B.
  • Step 2 T r u s t e d Extended domain 1 0 0 0 0 0 B Basic function library 1 1
  • Step 3 Basic domain 10 OA native code download management function 104A decrypts the received request and uses the electronic certificate to check whether the request source is appropriate. .
  • the request is checked by using encryption and decryption of the request, but it is of course possible to use any method as long as the correspondence between the application and the electronic certificate can be taken. .
  • Step 4 Basic domain 10 OA native code download management function 104 A requests the basic function 1 12 if the result of the request check is ⁇ K.
  • Step 5 Basic domain 10 OA basic function 1 12 processes the request passed from the native code download management function 104A. After the processing is completed, the basic domain 10 OA native code download management function 104 A , Notify the completion of processing.
  • Step 6 Basic domain 10 OA native code download management function
  • Basic domain 10 OA native code download management function 104A sends a notification to the basic function library 113 of the Trusted extension domain 100B via the inter-processor communication means of FIG. 9 or FIG.
  • Step 7 The Trusted extended domain basic function library 113 notifies the download application 120B of the completion of processing as a response to the request.
  • FIG. 17 is a diagram for explaining the operation of the third example shown in FIG. 12, and is a diagram showing a procedure for executing the download of the untrusted application in the Untrusted extended domain.
  • the number attached to each arrow line represents the step number at which information is transferred along the line.
  • Step 1 Basic domain 10 From the external device 102 A (network or SD card, etc.) on the OA, the down-door is arriving at S 101 A.
  • Step 2 Basic domain 10 Basic functions of OA 1 12 Analyzes attribute information, etc., and recognizes applications (download applications) for down-loading.
  • Step 3 Basic domain 10
  • Basic function of OA 1 12 is a native code download management function 104A that passes the download application session to the native code download management function 104 A.
  • an electronic certificate is attached to the application. It is determined that the electronic certificate is not correct.
  • Step 4 Basic domain 10 OA native code download management function 104A stores the download information in the security policy overnight base 105.
  • Step 5 Basic domain 10 OA native code download management function 104 A sends the downloaded application to the Truss t e d extended domain native code download execution function 104 B.
  • Step 6 Native code download execution function 104B of Trusted extension domain 100B sends the application to Untrustest extended domain 100C native code download execution function 104C and requests execution. T rusted extended domain 100 B native code download execution function 104B to Untrusted extended domain 100 C native code download execution function 104 C The application is sent to 104 C using the inter-processor communication means 40 shown in Figure 9 or Figure 10. Done through.
  • Step 7 Unt r u s t e d Native domain download function execution function 104C of the extension domain starts the received download application 120C.
  • Step 8 Download application 120C starts operation in Untrusted extended domain 100C.
  • Un trusted extended domain The main download application 1 ⁇ 20 C runs on the OS 101 C of the untrusted extended domain, and only access to the authorized external device 102 C is allowed.
  • FIG. 18 is a diagram for explaining the operation of the third example shown in FIG. 12, and is a diagram showing a state of execution of download of the untrusted driver.
  • the number attached to each arrow line represents the step number at which information is transferred along the line.
  • Step 1 Basic domain 10 Download data arrives at OS 101A from external device 102A (network or SD card, etc.) on OA.
  • Step 2 Basic function 1 12 is activated when download data arrives, and analyzes the download data such as attribute information and installation information, and recognizes it as a device driver (download driver).
  • Step 3 Basic function 1 12 Passes the download driver to the native code download management function 104 A.
  • the native code download management function 104A does not have an electronic certificate attached to the download driver or an electronic certificate. Certificate is attached, but the contents of the electronic certificate are incorrect.
  • Step 4 Basic Domain 10 OA Native Code Download Management Function 104 A stores only download information in the security policy database 105.
  • Step 5 Native code download management function 104A sends a download driver to the native code download execution function 104B of the Trusted extension domain 100B.
  • native code download execution function 104 The download driver is sent to B by the inter-processor communication means shown in Fig. 9 or Fig. 10. Done through 40.
  • Step 6 Native code download execution function 104B of T rusted extended domain 100B transfers the received download driver to native code download execution function 104C of Untrusted extended domain 100C.
  • T rusted extension domain 100 B native code down mouth 1 0 4 B to Untrusted extended domain 1 0 0 C
  • Net code down download function 1 0 4 Download driver transfer to C is between the processors shown in Figure 9 or Figure 10 This is done via communication means 40.
  • Step 7 Unt r u s t e d Extended domain 1 0 0 C native code download execution function 1 0 4 C installs the received download driver 1 2 1 C.
  • Step 8 OS 1 0 1 C notifies the already running application 1 2 0 C that it has installed 'Driver 1 2 1 C or displays it on the screen (notifies the user).
  • Step 9 In the Untruusted extension domain 1 0 0 C, the already executed application 1 2 0 C refers to the installed download driver 1 2 1 C.
  • Step 10 In the untrusted extended domain 1 0 0 C, the downloaded download diskino 1 2 1 C is passed through the OS 1 0 1 C of the untrusted extended domain 1 0 2 Access C.
  • Step 11 In the Untruusted extension domain, the download driver 1 2 1 C returns the data acquired from the external device 1 0 2 C to the download application 1 2 0 C.
  • FIG. 19 is a diagram for explaining the operation of the third example shown in FIG. 12, and shows a state of cooperation between the trusted application and the untrusted application.
  • the numbers attached to each arrow line indicate the step number to which the information is transferred.
  • Step 1 Download application 1 2 0 C on Unt r u s t e d extended domain 1 0 0 C sends data to down-to-down application 1 2 0 B on T r u s t e d extended domain 1 0 0 B.
  • This data transmission is normally performed by the inter-processor communication means 40 in FIG. 9 or FIG.
  • Step 2 Download application on T rusted extended domain 1 0 0 B — 1 2 0 B ”is processed according to the received data and linked to basic function library 1 1 3 with Untrusted extended domain Basic functions including information Require reason.
  • Step 3 Basic function library on T rusted extended domain 1 0 0 B 1 1 3 uses the electronic certificate held by the application to encrypt the request and download the native code on the basic domain 1 0 OA Management function 1 0 4 Send to A.
  • This request is normally transmitted by the interprocessor communication means 40 in FIG. 9 or FIG.
  • Step 4 Basic domain 1 0 OA native code download management function 1 0 4 A decrypts the request and uses the digital certificate stored in the security policy database 1 0 5 to verify the security of the request And check. If the request is correct as a result of the check, the native code download management function 1 0 4 A requests confirmation from the user via the basic abrasion 1 1 1.
  • Basic application 1 1 1 includes screen display and input applications. In this example, the encryption and decryption of the request is used to check the correspondence between the application and the digital certificate. However, any method can be used as long as the correspondence between the application and the digital certificate can be taken. Of course, it may be used.
  • Step 5 Assume that “N ⁇ ” is entered as confirmation from the user.
  • Step 6 Native code down mouth management function 1 0 4 A notifies the basic function library 1 1 3 of the Trusted extension domain 1 0 0 of disapproval. This disapproval notification is normally performed by the inter-processor communication means 40 in FIG. 9 or FIG.
  • Step 7 The basic function library 1 1 3 notifies the download application 1 2 0 B of the disapproval.
  • Step 8 The download application 1 2 0 B on the Tru extension extension domain 1 0 0 B informs the download application 1 2 0 C on the Un extension extension domain 1 0 0 C of the disapproval. This notification of non-permission is normally performed by the inter-processor communication means 40 in FIG. 9 or FIG.
  • FIG. 20 is a diagram for explaining the operation of the third example shown in FIG. 12, and is a diagram showing the cooperation between the trust abrasion and the untrusted application.
  • the numbers attached to the arrow lines represent step numbers to which information is transferred through the lines.
  • Step 1 Download application 1 20 C on Untrusted extended domain 1 0 0 C sends data to download application 1 2 0 B on Trusted extended domain 1 0 0 B. This data transmission is performed by the inter-processor communication means 40 shown in FIG. 9 or FIG.
  • Step 2 Download application on T rusted extended domain 1 0 0 B 1 2 0 B performs processing based on the received data and performs basic function processing including information linked to Untrusted to basic function library 1 1 3 Request.
  • Step 3 Basic function library 1 1 0 B of the rusted extended domain 1 0 0 B uses the electronic certificate held by the application 1 2 OB ga to encrypt the request, and the native code down entrance on the basic domain 1 0 OA Management function 1 0 4
  • Step 4 Basic domain 1 0 OA native code download management function 1 0 4 A decrypts the request and uses the digital certificate stored in the security policy database 1 0 5 for the security of the request And check. If the request is correct as a result of the check, the native code download management function 1 0 4 A requests confirmation from the user via the basic abrasion 1 1 1.
  • the encryption and decryption of the request is used to check the correspondence between the application and the digital certificate.
  • any method can be used as long as the correspondence between the application and the digital certificate can be taken. Of course, it may be used.
  • Step 5 In this case, “Y E S” is entered as the user confirmation.
  • Step 6 Basic domain 10 0 A native code download management function 1 0 4 A requests basic function 1 1 2 for request.
  • Step 7 Basic function 1 1 2 processes the request and notifies native code download management function 1 0 4 A that processing is complete.
  • Step 8 Basic domain 1 0 OA native code download management function 1 0 4 A notifies the basic function library 1 1 3 of T rusted extended domain 1 0 0 B of completion. This completion notification is performed by the inter-processor communication means 40 in FIG. 9 or FIG. Step 9: Basic function library 1 1 3 of T rusted extended domain 100 B notifies download application 120B of completion.
  • Step 10 The down application 120B of the Tru extension extension domain 100B notifies the download application 120C of the Un true extension domain 100C of the completion. This completion notification is performed by the inter-processor communication means 40 of FIG. 9 or FIG.
  • FIG. 21 is a diagram showing a configuration of a fourth example of the basic configuration.
  • a virtual machine monitor (software layer that is provided between the OS and executed by the CPU) is provided between the OS and the CPU. This virtualizes CPU, 10 and memory resources.
  • the virtual machine monitor maps virtual hardware (for example, virtual I / O devices) to actual hardware devices between S and CPU.
  • the OS controls the virtual dedicated file system and the virtual external device (IZ0), and the virtual CPU 200 A, 200 B, 200 C, virtual machine monitor 210A, 210 B, 210 C, virtual dedicated file system 103 ', virtual external device 102 A', 102 B ', 102 C, corresponding real file system, real Map to an external device.
  • IZ0 virtual dedicated file system and the virtual external device
  • the virtual CPU corresponding to the basic domain is not fixed, the T rusted extended domain, etc. Can be mapped as virtual CPUs in the base domain.
  • Virtual machine monitor does not require modification of existing OS, application program, CPU, etc. in its implementation.
  • the number of CPUs in each domain is variable and constitutes a virtual CPU.
  • the software configuration is the same as the configuration shown in Figure 12, except that the basic domain, the rusted extended domain, and the untrusted extended domain are virtual devices and virtual file systems. .
  • FIG. 22 is a diagram showing an example of a processing procedure of the fourth example shown in FIG. In FIG. 22, the number attached to each arrow represents a step number.
  • Step 1 Basic Domain 10 0
  • Virtual Machine Monitor 21 OA requests CPU delegation to the virtual machine monitor 210B on the T rusted extended domain 100B.
  • Step 2 Virtual machine monitor 2.10B on Trusted extension domain 100B reduces virtual CPU resources.
  • Step 3 Virtual machine monitor 210 B on Trusted extension domain 100 B notifies virtual machine monitor on CPU on basic domain 10 OA 2 1 CPU that can be delegated to OA.
  • Step 4 Basic domain 10 Virtual machine monitor on OA 21 OA sets access control means and increases the number of virtual CPUs.
  • another group of CPUs can be operated like CPUs in the basic domain.
  • the application download processing is the same as the processing operation of the third example described above (FIGS. 13 to 20), and the description thereof is omitted.
  • the virtual machine monitor may be operated in the secure mode. In this way, safety can be further improved.
  • the TLB Translation Lookaside Buffer: in the address management unit is used to invalidate the bus and virtual multiprocessor to maintain cache coherence. All channels cooperating with hardware, such as a shutdown that flushes all entries in the address translation table provided in Figure 1, are configured to be controlled from the basic domain 100A.
  • the CPU group of each domain (for example, the CPU group 10A and 10B in the multi-CPU configuration of FIG. 1) may be configured to be divided into a plurality of divisions via the separation means 15. . This facilitates control when delegating a CPU from one domain to another, for example, and it can handle graceful degrading of faulty multiprocessors.
  • the native code addition process (application, device driver) is downloaded and executed from outside the network or other device.
  • the present invention is not limited to such an information communication terminal device, but can be applied to any information processing device.
  • the information processing apparatus is configured by a multi-processor, and has the highest reliability domain 1 5 0 A, the medium reliability domain 1 5 0 B, Low reliability domain 1 5 0 C, data transmission unit 3 0 1, 3 0 2, 3 0 3, low reliability domain data transmission unit 3 0 4, 3 0 5, medium reliability domain data transmission 3 0 6 and 3 0 7 and domain stop / recovery means 4 0 0, and has a function to execute processing corresponding to the notified request when notified of a recovery request from the domain. Or, when the request is valid, it has a function to execute processing corresponding to the notified request.
  • the information processing apparatus operates a single processor OS and existing applications in each domain on a multiprocessor without modifying them, and It is also possible to use a parallel processing system with an OS for single processors that can realize parallel processing with multiple processors.
  • the highest reliability domain 1 5 OA is a configuration consisting of the software 2 OA and CPU 1 OA in Figure 9 in the second example and Figure 10 in the third example, and the figure 2 in Figure 4 in the fourth example.
  • the basic domain 10 0 A, virtual CPU 2 0 OA and virtual machine monitor 2 1 It corresponds to the configuration consisting of 2 OA, and the basic application has the basic software like the basic domain 1 0 OA.
  • These basic applications are basic software, For example, mailer, browser, i-mode (registered trademark), and those with address book functions.
  • the highest reliability domain 1 5 OA has medium reliability domain 1 50B and low reliability domain 1 50 C depending on its own CPU and OS, data related to processing requests issued in the domain, data related to control, etc. Has the function of communicating.
  • the highest reliability domain 1 5 OA is a domain that executes processing of a certain security level or higher, and is provided separately from other domains. For example, the OA of the native code downloaded from the outside No execution is performed, and since it has the highest degree of reliability, it is possible to recover from failures such as a suspended state for all other domains.
  • the highest reliability domain 15 OA is the highest reliability domain 1 5, and the data transmission unit 306 for the low reliability domain and the data transmission unit 306 for the medium reliability domain dedicated to the communication path to other than the OA Domain 15 Communication from domains other than OA Connected to dedicated data transmission sections 302 and 303.
  • Each communication path to each domain is provided separately, so the highest reliability domain 1 5 OA only The writing of various data is permitted.
  • the medium reliability domain 150 B is composed of the software 20B and CPU 10 B in Fig. 9 in the second example and Fig. 10 in the third example, and the T rusted (trust) extended domain 100 in Fig. 21 in the fourth example. Corresponds to a configuration consisting of B, virtual CPU 200 B, and virtual machine monitor 210 B.
  • the medium reliability domain 150 B is related to the data and control related to processing requests issued in the domain, with the highest reliability domain 15 OA and low reliability domain 150 C depending on the CPU and ⁇ S that it has. It has a function to communicate data and the like.
  • the medium trust domain 150 B is a domain having at least one process with a security level lower than the process executed in the highest trust domain 15 OA, and is provided separately from other domains. Also, for example, only downloaded code that is guaranteed to be reliable is executed.
  • the low-reliability domain 150 C is configured with the software 20 C and the CPU 10 C in FIG. 9 of the second example and FIG. 10 of the third example. Untrusted Extended domain 1 0 0, (and virtual domain? 11 2 0 0 C and virtual machine monitor 2 1 0 C are supported.
  • the low-reliability domain 1 5 0 C has its own CPU, ⁇ S, and the highest-reliability domain 1 5 OA and medium-reliability domain 1 5 0 B and data related to processing requests issued in the domain And a function of communicating data related to control.
  • the low-reliability domain 1 5 0 C is a domain that has at least one process with a lower security level than the process executed in the medium-reliability domain 1 5 0 B, and is provided separately from other domains.
  • the downloaded native code executes a code other than the code that is guaranteed to be reliable.
  • the maximum reliability domain 1 5 0 A, the medium reliability domain 1 5 0 B, and the low reliability domain 1 5 0 C may be formed as follows.
  • the highest trust domain 1 5 OA is the same as or higher than the security level of the execution process of the highest trust domain 1 5 OA.
  • the medium trust domain 1 5 0 B is a low-reliability execution process with a security level of the medium trust domain 1 5 0 B.
  • Domain 1 5 O The security level of the execution process of O 'C is the same or higher, and the domain that includes at least one high-level security process as a set of execution processes of each domain.
  • Each of the execution processes of the low-confidence domain 1 5 0 C security level is the security of the execution process of the medium-reliability domain 1 5 0 B The same or lower level, and a domain comprising at least one low security level process as a set of execution of each domain.
  • the highest reliability domain 1 5 OA performs processing with a relatively higher security level than the medium reliability domain 1 5 0 B, and the medium trust domain 1 5 0 B Process relatively higher than 50C.
  • the reliability in the first embodiment of the present invention is based on an electronic certificate indicating the degree of security given for each process, and is determined according to a security policy. This is set at each level of the utility level.
  • the security level is set based on a certain security policy for each process with a digital signature.
  • FIG. 25 is a diagram showing the function importance setting table 700, and shows an example of the reliability set in the first embodiment of the present invention.
  • the level of reliability is hierarchical, for example, level A: password is required, level B: not checked twice, level C: checked every execution, level D: checked every access
  • the security level is set according to the importance of each level, such as.
  • Highest confidence domain 1 5 OA has level A
  • medium confidence domain 1 5 0 B has level B
  • low confidence domain 1 5 0 C has level C
  • Only the same type of security level may be deployed.
  • the highest reliability domain 1 5 Level A or higher depending on importance Level B or higher
  • Medium Confidence domain 1 5 0 Level B or higher Level C or higher depending on the function executed even for B
  • Level C or higher depending on the function executed also for low reliability domain 1 5 0 C
  • An arrangement of level D or higher is also acceptable.
  • the reliability set in this way may be managed by, for example, the highest reliability domain 15 OA.
  • priorities can be set according to the degree of reliability.
  • the data transmission units 301, 302, and 303 have a function of transmitting data relating to processing requests issued in the domain, data relating to control, and the like. Examples of configurations include, for example, shared memory and interprocessor interrupts, FIFOs and queues.
  • a dual port memory, a network such as a LAN, a wired communication, a wireless communication, etc. can be mentioned. It can be a conventional general technology that has a function of transmitting data, and can transmit data. If there is, the configuration is not particularly limited.
  • the data transmitted by the data transmission units 301, 302, and 303 includes information for identifying the request source domain that issued the processing request, information for identifying the domain to be processed, information for identifying the content of the processing, etc. In some cases, it also contains information about the actual failure status of the domain being processed.
  • the data transmission units 301, 302, and 303 have a mechanism (not shown) that performs error notification or error processing to an upper layer in the transmission destination domain. This is because it is necessary to eliminate useless waiting until data transmission is completed by such a mechanism in data transmission when the destination domain is being restored.
  • the data transmission unit 30 1 notifies the domain stop / recovery means 400 of the processing request issued for the recovery of the medium reliability domain 150 B and the low reliability domain 150 C issued by the highest reliability domain 15 OA. It has a function.
  • the data transmission unit 302 notifies the highest reliability domain 15 OA of processing requests issued for the recovery of the medium reliability domain 150 B and the low reliability domain 150 C issued in the medium reliability domain 150B. It has a function.
  • Data transmission ⁇ 5303 is a process for requesting recovery of medium reliability domain 150 B and low reliability domain 150 C, etc. issued in low reliability domain 150 C, to high reliability domain 15 OA. It has a function to notify.
  • the low-reliability domain data transmission units 304 and 305 include data transmission means 304 a and 305 a and low-reliability domain stop detection means 304 b and 305 b, respectively, and the low-reliability domain that is the target domain It has a function to detect what kind of failure condition the low-reliability domain 150 C actually has when sending data to 150 C.
  • the medium-reliability domain data transmitters 3 0 6., 3 0 7 respectively have data transmission means 3 0 6 a, 3 0 7 a and medium reliability domain stop detection means 3 0 6 b, 3 0 7 b And has a function to detect the actual failure status of the medium reliability domain 1 5 0 B when transmitting data to the target domain 1 5 0 B.
  • the data transmission means 3 0 4 a, 3 0 5 a, 3 0 6 a, 3 0 7 a have the same functions as the data transmission units 3 0 1, 3 0 2, 3 0 3 as described above. .
  • Low-reliability domain stop detection means 3 0 4 b, 3 0 5 b uses the data transmission means 3 0 4 a or 3 0 5 a to transmit data to the low-reliability domain 1 5 0 C. It has a function of detecting whether or not the domain 1 5 0 C is actually in a stopped state. For example, this detection function determines whether or not the low-reliability domain 1 5 0 C is in a stopped state by determining whether or not the data is received in the low-reliability domain 1 5 0 C that is the destination domain. Detect if there is any. Specifically, it can be detected by measuring the time and number of times that the data is not accepted by the low-reliability domain 150C. It should be noted that the time required for the detection processing is preferably shorter in order not to increase the processing load of the highest reliability domain 15 O A and the medium reliability domain 15 50 B.
  • the low reliability domain stop detection means 3 0 4 b, 3 0 5 b detects that the low reliability domain 1 5 0 C is in a stopped state, and the low reliability domain 1 5 OA Notify that the domain 1 5 0 C is stopped.
  • the medium reliability domain stop detection means 3 0 6 b has the same configuration and function as the low reliability domain stop detection means 3 0 4 b, 3 0 5 b, and When sending data to the medium reliability domain 1 5 0 B overnight, it has a function to detect whether or not the medium reliability domain 1 5 0 B (detecting the contents of the failure) is actually stopped. . For example, this detection function determines whether the medium reliability domain 1 5 0 B is in a stopped state by determining whether or not the data is received by the medium reliability domain 1 5 0 B that is the transmission destination domain. Detect whether or not. Specifically, it is determined by measuring the time and number of times that the data is not accepted by the medium reliability domain 1 5 0 B. be able to. It is desirable that the time required for the detection process is shorter in order not to increase the processing burden of the highest reliability domain 15 OA.
  • medium reliability domain stop detection means 3 0 6 b confirms that medium reliability domain 1 5 0 B is in the stopped state, medium reliability domain 1 5 0 B is changed to highest reliability domain 1 5 OA. Notify that is stopped.
  • the medium reliability domain stop detection means 3 0 6 b has the authority to permit the recovery process for the medium reliability domain 1 5 0 B
  • the medium reliability domain 1 5 0 It is also possible to directly notify the domain stop / recovery means 4 0 0 that B is in a stopped state and perform the recovery process for the medium reliability domain 1 5 0 B using the domain stop / recovery means 4 0 0.
  • the medium reliability domain stop detection means 3 0 7 b is a means for detecting a stop of a domain having higher reliability than the own domain.
  • the data transmission means 3 0 6 a is changed to the medium reliability domain 1 5 0 B.
  • it When sending data, it has a function to detect whether or not the medium reliability domain 1 5 0 B is actually stopped.
  • this detection function determines whether the medium reliability domain 1 5 0 B is in a stopped state by determining whether or not the data is received by the medium reliability domain 1 5 0 B that is the transmission destination domain. Detect whether or not. Specifically, it can be judged by measuring the time and number of times that the data is not accepted by the medium reliability domain 1550B. Note that if the detection process time is short, the reliability of the information sent from the low reliability domain 1 5 0 C to the highest reliability domain 1 5 OA is low. You need time.
  • the medium reliability domain stop detection means 3 0 7 b detects that the medium reliability domain 1 5 0 B is stopped, the medium reliability domain 1 5 0 B is changed to the highest reliability domain 1 5 OA. Notify that is stopped.
  • each domain stop detection means detects whether or not the domain that is the target of the stop detection is actually stopped by the following method, for example. You can.
  • the source domain can be detected by measuring the presence / absence of a check packet response that is periodically sent to the destination domain that is subject to stop detection. Specifically, measure the time and frequency of no response. In addition, the time and number of times to be measured may be changed according to the difference in reliability.
  • Stop / runaway information displayed by the destination domain can be detected by measuring runaway information. Specifically, we measure that information that is regularly updated by the destination domain is lost.
  • Each domain stop detection means determines whether or not the domain subject to stop detection is actually in a stopped state by arbitrarily combining the above-described detection processing methods, time, number of times, and update information. You may check.
  • Domain stop recovery means 4 0 0 is the highest reliability domain 1 5 via the data transmitter 3 0 1 1 5 Based on the processing request notified from the OA, etc., reset the CPU in the target domain or reboot the OS Execute the various processing requests including recovery processing, such as rollback to the environment at a specific date and time, such as month and day, or restoration of the communication path and restart of the application. In addition, it is configured to be accessible only from the highest reliability domain 1 5 OA, and processing requests from the highest reliability domain 1 5 OA are accepted unconditionally.
  • domain stop recovery means 400 will reject all requests for processing such as grace processing from domains other than the highest reliability domain 15 O A.
  • recovery conditions can be determined by allowing or denying recovery requests from individual domains, depending on the reliability of each domain.
  • the recovery condition in this embodiment is defined as permitting all recovery requests from the highest reliability domain while rejecting all recovery requests from other domains.
  • Figure 26 shows the configuration of the domain outage recovery means 400.
  • the domain stop recovery means 4 0 0 is the recovery request reception means 4 0 1 and domain stop / recovery processing means 4 0 2.
  • the recovery request receiving means 4 0 1 receives the recovery request (processing request) from the highest reliability domain 1 5 OA via the data transmission unit 3 0 1 and receives this processing request as the domain stop recovery processing means 4 0 2 It has a function to notify.
  • the domain stop / recovery processing means 4 0 2 Based on the processing request notified from the recovery request receiving means 4 0 1, the domain stop / recovery processing means 4 0 2 indicates which domain is subject to processing and what processing request has been made. Identify and request the processing contents corresponding to the corresponding domain.
  • the domain stop recovery processing means 4 0 2 is stopped Request recovery processing to medium reliability domain 1 5 0 B.
  • the communication partner is defined in each layer, so the processing contents differ depending on the type of failure detected in each layer.
  • the contents of restoration differ depending on the status of a stop detected at each level.
  • Figure 27 shows an example of the correspondence between the content of communication processing (processing content) and its hierarchical structure.
  • each domain is composed of, for example, an application layer, a library layer, an OS layer, and a CPU layer in order from the upper layer.
  • the domain stop recovery processing means 4 0 2 Communication processing (recovery processing) is performed by executing stop detection processing corresponding to each defined hierarchy.
  • the contents of the communication process are application restart at the application layer, verbal feedback to a certain point at the shoulder of the library, OS reboot at the OS layer, and CPU rollback at the CPU layer.
  • the program for operating the information processing apparatus in the first embodiment needs to stably realize the functions realized by the above-described units and means, and thus is affected by additional processing downloaded from the outside. It is preferably stored and executed in the highest confidence domain 1 5 0 A.
  • FIG. 28 is a block diagram illustrating an example of a hardware configuration of the information processing apparatus according to the first embodiment.
  • the information processing apparatus can be realized by having a hardware configuration similar to that of a general combiner apparatus, and includes a plurality of CPUs (Central Processing Units). ) 501, R
  • Data transmission / reception is performed via the main memory 502 and the Internet 600, which are used as the main memory area such as AM (Random Access Memory), and the data storage area.
  • ROM Read ⁇ n 1 y Memo ry
  • auxiliary storage unit 507 which is a hard disk device composed of a non-volatile memory such as a magnetic disk and a semiconductor memory
  • system bus 508 that interconnects the above-described components of the information processing apparatus.
  • the operation of the information processing apparatus LS I (L a rge e S c a l e), in which a program for realizing such a function is incorporated.
  • hardware components such as hardware components
  • a program that provides each of the above-described means and functions of each unit is loaded into a CPU on a computer processing device.
  • FIG. 29 is a diagram for explaining an example of the operation of the first embodiment shown in FIG. 24, and shows the stop detection / recovery process of the medium reliability domain 150B by the highest reliability domain 150A.
  • the number attached to each arrow line represents the step number at which information is transferred along the line.
  • Step 1 The highest reliability domain 150A is set to the medium reliability domain 1 via the data transmission means 306a of the data transmission unit 306a with the medium reliability domain stop detection function. 5 0 Send data to B overnight.
  • Step 2 Data transmission part with medium reliability domain stop detection function 3 0 6
  • Medium reliability domain stop detection means 3 0 6 b detects the stop of the medium reliability domain 1 5 0 B.
  • Step 3 The medium reliability domain stop detection means 3 0 6 b detects the stop of the medium reliability domain 1 5 0 B, so that the highest reliability domain 1 5 OA passes through the data transmission unit 3 0 1 Domain stop recovery means 4 0 0 is requested to recover medium reliability domain 1 5 0 B.
  • Step 4 The domain stop recovery means 4 0 0 recovers the medium reliability domain 1 5 0 B based on the recovery request from the highest reliability domain 1 5 O A.
  • Fig. 30 is a diagram for explaining an example of the operation of the first embodiment shown in Fig. 24.
  • the detection of the stop of the low reliability domain 1 5 0 C by the highest reliability domain 1 5 OA Indicates the recovery process.
  • the number given to each arrow line represents the step number at which information is transferred along the line.
  • Step 1 Highest reliability domain 1 5 OA transmits data to low reliability domain 1 5 0 C via data transmission means 3 0 4 a of data transmission unit 3 0 4 with low reliability domain stop detection function To do.
  • Step 2 Low-reliability domain stop detection function-equipped transmission unit 3 0 4 medium reliability domain stop detection means 3 0 4 b detects the stop of the low-reliability domain 1 5 0 C.
  • Step 3 Low-reliability domain stop detection means 3 0 4 b detects the stop of the low-reliability domain 1 5 0 C, so that the highest-reliability domain 1 5 OA passes through the data transmission unit 3 0 1 Domain stop recovery means 4 0 0 is requested to recover the low reliability domain 1 5 0 C.
  • Step 4 The domain stop recovery means 4 0 0 recovers the low reliability domain 1 5 0 C based on the recovery request from the highest reliability domain 1 5 O A.
  • FIG. 31 is a diagram for explaining an example of the operation of the first embodiment shown in FIG. 24. Detection of stoppage of the low-reliability domain 1 5 0 C by the medium-reliability domain 1 5 0 B Recovery Indicates the old process. In Fig. 31, the numbers attached to each arrow line indicate the step number to which the information is transferred on that line.
  • Step 1 The medium reliability domain 1 5 0 B is connected to the low reliability domain 1 5 0 C via the data transmission means 3 0 5 a of the data transmission unit 3 0 5 a with the low reliability domain stop detection function Send data.
  • Step 2 Low-reliability domain stop detection function-attached data transmission unit 3 0 5 low-reliability domain stop detection means 3 0 5 b detects the stop of the low-reliability domain 1 5 0 C.
  • Step 3 Low-reliability domain stop detection means 3 0 5 b is a low-reliability domain 1 5
  • the medium reliability domain 1 5 0 B By detecting the stop of 0 C, the medium reliability domain 1 5 0 B performs the recovery of the low reliability domain 1 5 0 C to the highest reliability domain 1 5 OA via the data transmission unit 3 0 2. Request.
  • Step 4 The highest reliability domain 15 O A requests the domain stop recovery means 4 0 0 to recover the low reliability domain 1 5 0 C via the data transmission unit 3 0 1.
  • Step 5 The domain stop recovery means 4 0 0 recovers the low reliability domain 1 5 0 C based on the recovery request from the highest reliability domain 1 5 O A.
  • Step 3 the highest reliability domain 1 5 OA is used to confirm whether the above low reliability domain 1 5 0 C requested for recovery is actually stopped.
  • the presence or absence of a stop may be detected using the data transmission unit with domain stop detection function 3 0 4.
  • the domain stop / recovery means 4 0 0 checks whether the low-reliability domain 1 5 0 C requested for recovery is actually stopped.
  • the presence / absence of a stop may be detected using the data transmitter 3 0 4 with a reliability domain stop detection function.
  • FIG. 3 2 is a diagram for explaining an example of the operation of the first embodiment shown in Fig. 24.
  • Low-reliability domain 1 5 0 C Medium reliability domain 1 5 0 B stop detection / recovery processing.
  • the numbers attached to each arrow line indicate that the information is transferred along that line. Represents the step number.
  • Step 1 Low-reliability domain 1 5 0 C has medium-reliability domain stop detection function Data transmission unit 3 0 7
  • Step 2 Medium reliability domain stop detection function-attached data transmission unit 3 0 7
  • Medium reliability domain stop detection means 3 0 7 b detects the stop of the medium reliability domain 1 5 0 B.
  • Step 3 Medium reliability domain stop detection means 3 0 7 b detects that the medium reliability domain 1 5 0 B has stopped, so that the low reliability domain 1 5 0 C
  • Step 4 The low-reliability domain 1 5 0 C, which is the recovery request source domain, has lower reliability than the medium-reliability domain 1 5 0 B, which is the recovery target domain.
  • Confidence domain 1 5 OA uses the data transmission means 3 0 6 a of the data transmission section 3 0 6 a with medium reliability domain stop detection function to confirm the authenticity of the target and content of the recovery request. Send data to the medium reliability domain 1 5 0 B.
  • Step 5 Data transmission part with medium reliability domain stop detection function 3 0 6
  • Medium reliability domain stop detection means 3 0 6 b actually detects when the medium reliability domain 1 5 0 ⁇ stop is detected. Confirm that the medium reliability domain 1 5 0 ⁇ is stopped.
  • Step 6 The highest reliability domain 1 5 OA confirms that the medium reliability domain 1 5 0 B is actually stopped, and the domain stop recovery means 4 through the data transmission unit 3 0 1 Request recovery of medium reliability domain 1 5 0 B to 0 0.
  • Step 7 The domain stop recovery means 4 0 0 recovers the medium reliability domain 1 5 0 B based on the recovery request from the highest reliability domain 1 5 O A.
  • step 4 to step 6 the highest reliability domain 1 5 OA did not perform the confirmation process, and domain stop recovery means 4 0 0 was requested to recover between step 6 and step 7.
  • the data transmission part 3 with medium reliability domain stop detection function 3 The presence or absence of a stop may be detected using 0-6.
  • Fig. 33 is a diagram for explaining an example of the operation of the first embodiment shown in Fig. 24.
  • the medium reliability domain 1 5 0 B indicates other medium reliability domain 1 5 0 B stop detection / recovery processing.
  • the number attached to each arrow line indicates the step number at which information is transferred along that line.
  • Step 1 The other medium reliability domain 1 5 0 B that has not been stopped transmits data to the medium reliability domain 1 5 0 B in the group of medium reliability domains 1 5 0 B.
  • Step 2 Detect the stop of the above medium reliability domain 1 5 0 B of the data transmission destination. Note that the stop detection process in the same reliability domain is the same as the stop detection process in the same domain in the domain where the reliability is not set. Therefore, such a stop detection process is a general technique and will not be described.
  • Step 3 By detecting the stop of the above-mentioned medium reliability domain 1 5 0 B as the data transmission destination, the medium reliability domain 1 5 0 B that is the transmission source of the data passes through the data transmission unit 3 0 2. The highest reliability domain 1 5 OA is requested to recover the medium reliability domain 1 5 0 B in the stopped state. '
  • Step 4 The highest reliability domain 1 5 O A requests the domain stop recovery means 4 0 0 to recover the medium reliability domain 1 5 0 B in the stopped state via the data transmission unit 3 0 1.
  • Step 5 The domain stop recovery means 4 0 0 recovers the above-mentioned stopped medium reliability domain 1 5 0 B based on the recovery request from the highest reliability domain 1 5 O A. In addition, in order to confirm whether the highest reliability domain 15 OA is actually stopped during the above-mentioned suspended state where recovery is requested between Step 3 and Step 4. The presence or absence of a stop may be detected by using the data transmitter with medium reliability domain stop detection function 3 06.
  • the domain stop recovery means 4 0 0 is a data transmission unit with a medium reliability domain stop detection function 3 0 6 to confirm whether the medium reliability domain 1 5 0 B in which the recovery is requested is actually stopped May be used to detect the presence or absence of a stop.
  • the highest reliability domain having basic processing such as a mailer or a browser 15 OA
  • Basic processing such as browser does not freeze.
  • the basic processing of the information processing device is frozen. Can be prevented.
  • the highest reliability domain 1 5 OA is a data transmission unit 3 0 4 for a low reliability domain and a data transmission unit 3 0 6 for a medium reliability domain dedicated to a communication path to other than the highest reliability domain 1 5 OA.
  • Highest reliability domain 1 5 Connected to data transmission units 3 0 2 and 3 0 3 exclusively for communication routes from domains other than OA, and each channel has its own communication route. Domains 5 ⁇ 5 Only OA is allowed to write various data, eliminating the need for exclusive control between domains.
  • the domain other than the highest-reliability domain 1 5 OA where a failure such as an outage has occurred, can be recovered by the domain stop / recovery stop means, ensuring the security of the highest-reliability domain 1 5 OA and the information processing device Can be operated continuously.
  • the highest reliability domain 15 OA includes the low reliability domain data transmission unit 3 0 4 and the medium reliability domain data transmission unit. 3 0 6 makes it possible to detect failures occurring in these domains during overnight transmission to the medium reliability domain 1 5 0 B and the low reliability domain 1 5 0 C, so when sending data, These failures can be recovered and the above problems can be avoided.
  • the highest reliability domain 1 5 OA has two types of outage detection means: low reliability domain outage detection means 3 0 4 b and medium reliability domain outage detection means, the highest reliability domain 1 5 OA stop detection processing can be distributed and speeded up.
  • the highest reliability domain 1 5 OA can perform recovery processing based on its own priority based on its own priority, so it can be recovered preferentially from necessary functions. Recovery is possible. For example, even when multiple recovery requests are made simultaneously for a domain in which a failure has occurred, the priority order according to the reliability of the domain requesting the recovery request and the reliability of the processing content indicated by the recovery request Based on this, flexible and efficient recovery processing becomes possible. It is also possible to suppress the occurrence of unnecessary recovery processing and to perform only the minimum necessary recovery processing.
  • the second embodiment corresponds to the first embodiment shown in FIG. 24 and adopts the same configuration as the first embodiment, but the domain stop / recovery means 400 is issued in various domains. This is different in that it has stop confirmation means 4 0 3 for receiving the request.
  • FIG. 34 is a diagram showing the configuration of the domain stop / recovery means 400 according to the second embodiment.
  • the domain stop / recovery means 400 according to the second embodiment is different from the first embodiment in that it includes a stop confirmation means 4003.
  • the stop confirmation means 4 0 3 includes information identifying the request source domain that issued the recovery request (processing request) from the information notified from various domains via the recovery request receiving means 4 0 1, and the processing target. Information that identifies the domain to be processed, information that identifies the contents of processing, etc., and uses the low-reliability domain data transmission unit 3 0 4 and the medium reliability domain data transmission unit 3 0 6 Detect the actual failure status of the target domain, It has a function of confirming the authenticity of the acquired processing contents.
  • the stop confirmation unit 4 0 3 notifies the domain stop recovery processing unit 4 0 2 of the information notified from various domains and requests the processing. .
  • domain stop recovery processing means 4 0 2 When domain stop recovery processing means 4 0 2 is requested by the stop confirmation means, recovery to a predetermined means in the domain to be processed based on the information notified from stop confirmation means 4 0 3 etc. Request processing.
  • the stop confirmation means 4 0 3 included in the domain stop recovery means 4 0 0 includes the low-reliability domain data transmitter 3 0 4 and the medium-reliability domain data transmitter 3 0 6.
  • the stop confirmation means 4 0 3 is outside the domain stop recovery means 4 0 0 and performs the above detection processing based on information notified from various domains, and recovers from the domain stop.
  • a configuration may be adopted in which a processing request is sent to the domain stop / recovery processing means 4 0 2 in the means 4 0 0.
  • FIG. 35 is a diagram for explaining an example of the operation when the stop / recovery means 400 shown in FIG. 34 is provided in the first embodiment shown in FIG. Stop detection / recovery processing of low-confidence domain 1 5 0 C by domain 1 5 0 B is shown.
  • the number attached to each arrow line represents the step number to which the information is transferred along the line.
  • the medium reliability domain 1 5 0 B requests the domain stop recovery means 4 0 0 to recover the low reliability domain 1 5 0 C via the data transmission unit 3 0 2. This is different from the first embodiment shown.
  • the low reliability domain 1 5 0 C is abnormally stopped, and the medium reliability domain 1 5 0 B can use the domain stop recovery means 4 0 0, or It shall have the authority to use the domain outage recovery means 4 0 0.
  • Step 1 The medium reliability domain 1 5 0 B is connected to the low reliability domain 1 5 0 C via the data transmission means 3 0 5 a of the data transmission unit 3 0 5 a with the low reliability domain stop detection function Send data.
  • Step 2 Low-reliability domain stop detection function-attached data transmission unit 3 0 5 low-reliability domain stop detection means 3 0 5 b detects the stop of the low-reliability domain 1 5 0 C.
  • Step 3 Low-reliability domain outage detection means 3 0 5 b can detect the outage of low-reliability domain 1 5 0 C, so that domain outage recovery means 4 0 0 can be used.
  • the domain stop recovery unit 4 0 0 is requested to recover the low-reliability domain 1 5 0 C via the data transmission unit 3 0 2.
  • Step 4 The domain stop recovery means 4 0 0 recovers the low reliability domain 1 5 0 C based on the recovery request from the medium reliability domain 1 5 0 B.
  • step 3 the domain stop / recovery means 4 0 0 checks whether the low-reliability domain 1 5 0 C requested for recovery is actually stopped. The presence or absence of a stop may be detected using the data transmission unit with domain stop detection function 3 0 4.
  • the domain stop recovery means 4 0 0 should check the failure such as whether the low-reliability domain 1 5 0 C requested for recovery is actually stopped. To confirm this, the data transmission part with low-reliability domain stop detection function 3 0 4 is used to detect the presence of a stop, etc., and if a recovery request is made from the medium-reliability domain 1 5 0 B, the trust Based on the setting of the degree, it may not be detected whether there is a failure such as the above stop.
  • FIG. 36 is a diagram for explaining an example of the operation when the stop / recovery means 400 shown in FIG. 34 is provided in the first embodiment shown in FIG. Stop detection / recovery processing of medium reliability domain 1 5 0 B by domain 1 5 0 C.
  • the number attached to each arrow line indicates the step number at which information is transferred along the line.
  • the low-reliability domain 1 5 0 C requests the domain stop recovery means 4 0 0 to recover the medium reliability domain 1 5 0 B via the data transmission unit 3 0 3, and the domain stop recovery means 4 0 0 detects data transmission to medium reliability domain 1 5 0 B and outage of medium reliability domain 1 5 0 B using data transmission unit 3 0 7 with medium reliability domain stop detection function
  • this is different from the first embodiment shown in FIG. First, as an initial state, the medium reliability domain 1 5 0 B is abnormally stopped, and the low reliability domain 1 5 0 C can use the domain stop recovery means 4 0 0, or It shall have the authority to use the domain outage recovery means 4 0 0.
  • Step 1 Low reliability domain 1 5 0 C sends data to medium reliability domain 1 5 0 B via data transmission means 3 0 7 a of data transmission unit 3 0 7 a with medium reliability domain stop detection function Send.
  • Step 2 Medium reliability domain stop detection function-attached data transmission unit 3 0 7
  • Medium reliability domain stop detection means 3 0 7 b detects the stop of the medium reliability domain 1 5 0 B.
  • Step 3 The medium reliability domain stop detection means 3 0 7 b detects the stop of the medium reliability domain 1 5 0 B, so that the low reliability domain 1 5 0 C
  • the domain stop recovery means 4 0 0 is requested to recover the medium reliability domain 1 5 0 B.
  • Step 4 Since the low-reliability domain 1 5 0 C, which is the recovery request source domain, is lower in reliability than the medium-reliability domain 1 5 0 B, which is the recovery target domain, and is also less reliable, the domain
  • the stop recovery means 4 0 0 checks the authenticity of the target of the recovery request and the contents of the contents, through the data transmission means 3 0 6 a of the data transmitter 3 0 6 with medium reliability domain stop detection function, Trust domain 1 5 0 Send data to B.
  • Step 5 Data transmission part with medium reliability domain outage detection function 3 0 6
  • Medium reliability domain outage detection means 3 0 6 detects domain outage domain 1 5 0 B outage. 4 0 0 confirms that the medium reliability domain 1 5 0 B is actually stopped.
  • Step 6 The domain stop recovery means 4 0 0 is based on the recovery request from the low reliability domain 1 5 0 C by confirming that the medium reliability domain 1 5 0 B is actually stopped. Recover medium trust domain 1 5 0 B.
  • FIG. 37 is a diagram for explaining an example of the operation when the stop / recovery means 400 shown in FIG. 34 is provided in the first embodiment shown in FIG.
  • stop detection / recovery processing in the domain stop detection 'recovery processing of other medium reliability domain 1 5 0 B by medium reliability domain 1 5 0 B is shown.
  • each The number attached to the arrow line indicates the step number to which information is transferred along the line.
  • the medium reliability domain 1 5 0 B requests the domain stop recovery means 4 0 0 to recover the other medium reliability domain 1 5 0 B via the data transmission unit 3 0 2. 24 is different from the first embodiment shown in FIG.
  • At least one medium reliability domain 1 5 0 B in a group of medium reliability domains 1 5 0 B can use the domain stop recovery means 4 0 0 or the domain stop It shall have the authority to use the recovery means 4 0 0.
  • Step 1 The other medium reliability domain 1 5 0 B that has not been stopped transmits data to the medium reliability domain 1 5 0 B in the group of medium reliability domains 1 5 0 B.
  • Step 2 Detect the stop of the above medium reliability domain 1 5 0 B of the data transmission destination.
  • Step 3 The medium reliability domain 1 5 0 B that is the source of the relevant data that can use the domain stop recovery means 4 0 0 by detecting the stop of the above medium reliability domain 1 5 0 B of the data transmission destination However, it requests the domain suspension / restoration means 4 0 0 via the data transmission unit 3 0 2 to restore the medium reliability domain 1 5 0 B in the suspension state.
  • Step 4 Domain stop recovery means 4 0 0 recovers the above-mentioned stopped medium reliability domain 1 5 0 B based on the recovery request from the medium reliability domain 1 5 0 B that is the source of the data To do.
  • the domain stop recovery means 4 0 0 checks whether the above-mentioned medium reliability domain 1 5 0 B requested for recovery is actually stopped. The presence or absence of a stop may be detected using the data transmitter with domain stop detection function 3 0 6.
  • the stop confirmation unit 40 3 performs the detection process based on the information notified from various domains. Therefore, even if the highest reliability domain 1 5 OA is notified of the processing request from the medium reliability domain 1 5 0 B or the low reliability domain 1 5 0 C, the actual failure status of the domain to be processed is displayed. Since there is no need to detect and confirm the authenticity of the processing contents, the processing load of the highest reliability domain 15 OA is reduced. (Third embodiment)
  • the third embodiment corresponds to the first embodiment shown in FIG. 24 and adopts the same configuration as the first embodiment, but the domain stop / recovery means 400 is installed in various domains. This is different in that it has recovery processing control means 4 0 4 for receiving issued requests.
  • FIG. 38 is a diagram showing the configuration of the domain stop / recovery means 400 according to the third embodiment.
  • the domain stop / recovery means 40 00 is different from the first embodiment in that it includes a recovery process control means 40 04.
  • the recovery process control means 40 4 has the same configuration and function as the access control means 30 in FIG. 4, a storage means storing the recovery process permission data 4 0 4 a, and a recovery process permission means 4 0 4b, and has a function of determining permission / inhibition of a processing request notified from a domain other than the highest reliability domain 1 5 OA through the recovery request receiving means 4 0 1.
  • the recovery processing control unit 4 0 4 notifies the domain stop recovery unit 4 0 0 only of the permitted processing request.
  • the recovery request receiving means 4 0 1 is the “highest reliability domain 1 5 for the recovery request (processing request) received from each domain. 2 and notify the recovery processing permission means 4 0 4 b of the recovery request (processing request) received from a domain other than the OA.
  • Restoration processing control means 4 0 4 is a domain that requires only a low level of security, that is, the highest-reliability domain 1 5 A processing request in a pre-permitted form to a pre-permitted domain for a domain other than OA. Control to allow only.
  • Recovery processing permission data 4 0 4 a is set in advance by the highest reliability domain 1 5 OA by associating the processing request notified from a domain other than the highest reliability domain 1 5 OA with the predetermined processing contents for the predetermined domain. The highest reliability domain. In 1 5 Read / write from OA is possible. Further, only reading is permitted from the recovery processing permission means 4 0 4 b. Furthermore, the highest reliability domain 1 5 It is impossible to read or write from domains other than OA. That is, there is no data bus between the recovery process permission data 4 0 4 a and the domain other than the highest reliability domain 1 5 OA.
  • Fig. 39 shows an example of the contents of the recovery process permission data 4 0 4 a.
  • the recovery process permission data 4 0 4 a indicates the recovery destination domain that is the target of the recovery process and the recovery method for the request source domain that is the domain requesting the recovery. Stipulate.
  • the recovery processing permission means 4 0 4 b When the recovery processing permission means 4 0 4 b receives a processing request from a domain other than the highest reliability domain 1 5 OA via the recovery request receiving means, the recovery processing permission data 4 0 4 a request source domain, recovery destination Referring to the domain and recovery method, whether or not the processing request is applicable is judged according to whether or not the processing request is applicable. If the processing request is permitted, the processing request is issued to the domain stop recovery means 4 0 0 It has the function to do. On the other hand, in the case of non-permission, the recovery processing permission means 4 0 4 b does not issue the domain stop recovery means 4 0 0 concerned.
  • the recovery conditions include the processing of the recovery destination domain, recovery processing, etc., in addition to permitting or rejecting recovery requests from that domain, depending on the reliability of the various domains described in the first embodiment. It can be determined by the content.
  • the recovery condition in this example is for the recovery request from domain # 2 and domain # 3 in addition to the condition setting in the first example in which all recovery requests from domain # 1 are rejected.
  • FIG. 40 is a diagram for explaining an example of the operation of the recovery processing control means 40.
  • the numbers beside the arrows indicate step numbers.
  • the highest reliability domain 15 O A defines the contents of the restoration process permission data 4 0 4 a.
  • Step 1 Assume that a domain other than the highest reliability domain 15 O A has issued a processing request that does not match the recovery processing permission list 4 0 4 a.
  • Step 2 The recovery process permission means 4 0 4 b reads the recovery process permission data 4 0 4 a by acquiring the process request, and determines whether or not the process request is permitted.
  • Step 3 The recovery processing permission means 4 0 4 b returns an error to a domain other than the highest reliability domain 1 5 O A. This is because the processing request does not match the recovery processing permission data 4 0 4 a.
  • Step 4 Highest reliability domain 1 5 O A domain other than O A issues a processing request different from the above processing request.
  • Step 5 The recovery process permission means 4 0 4 b obtains the processing request, reads the recovery processing permission data 4 0 4 a, and determines whether or not the processing request is permitted.
  • Step 6 When the recovery processing permission means 4 0 4 b permits the processing request for a domain other than the highest reliability domain 15 O A, the recovery processing permission means 4 0 4 b issues the processing request to the domain stop recovery processing means 4 0 2. '
  • the recovery process control means 4 0 4 comprises recovery process permission data 4 0 4 a and recovery process permission means 4 0 4 b.
  • Recovery process permission data 4 0 4 a the present invention is not limited to the configuration according to the present invention, but is changed to the recovery processing permission data (inverted), and the recovery processing refusal is over.
  • Processing refusal means may be provided.
  • the recovery processing refusal means is that the processing request from a domain other than the highest reliability domain 1 5 OA is a predetermined request source domain, a recovery refusal destination domain in which recovery processing refusal is defined by the recovery processing refusal data, In any or all of the recovery methods, control is performed to reject the processing request when a predetermined condition is met.
  • the recovery process permission means 4 0 4 b of the recovery process control means 4 0 4 is pre-permitted based on the recovery process permission data 4 0 4 a.
  • the highest-confidence domain 1 5 A domain other than the OA requires a high level of security through additional processing acquired from the outside by downloading, etc. Highest reliability domain 1 5 Various attacks on OA can be prevented.
  • the recovery process control means 4 04 decentralizes the recovery process of the domain stop recovery means 4 0 0, the speed of the recovery process can be increased.
  • the restoration processing permission means 4 0 4 b may include a cache.
  • the recovery processing permission data 4 0 4 a used to determine whether or not the processing request is acceptable is stored in the cache, and the recovery processing of the corresponding processing request is performed in the determination of whether or not the processing request is permitted next time.
  • Permission data 4 0 4 Determines whether a exists in the cache, and if a cache hit occurs, speeds up determination of permission / inhibition of processing requests.
  • the fourth embodiment corresponds to the first embodiment shown in FIG. 24 and adopts the same configuration as that of the first embodiment, except that the domain stop recovery means 4 0 0 is the stop confirmation means 4 0 3 and restoration processing control means 4 0 4
  • FIG. 41 is a diagram showing the configuration of the domain stop / recovery means 400 according to the fourth embodiment.
  • the domain stop / recovery means 400 is different from the first embodiment in that it includes a stop confirmation means 4003 and a recovery processing control means 4004. .
  • stop confirmation means 40 03 has the same configuration as the stop confirmation means 40 03 in the second embodiment, and the recovery process control means 40 04 is the recovery process in the third embodiment. Since the configuration is the same as that of the control means 40 4, the description is omitted.
  • the domain stop / recovery means 4 0 0 indicates that the recovery process control means 4 0 4 permits or rejects processing requests from domains other than the highest reliability domain 1 5 OA as in the third embodiment.
  • the stop confirmation means 4 03 obtains the processing request granted by the recovery processing control means 4 0 4 and, as in the second embodiment, the true content of the processing related to the acquired processing request is obtained. If false is confirmed, and it is confirmed that it is correct, the information of the acquired processing request is notified to the domain stop recovery processing means 4 0 2.
  • the recovery process permission means 4 0 4 b of the recovery process control means 4 0 4 is pre-permitted based on the recovery process permission data 4 0 4 a.
  • the highest-confidence domain 1 5 A domain other than the OA requires a high level of security through additional processing acquired from the outside by downloading, etc. Highest reliability domain 1 5 Since various attacks on OA can be prevented, the security of the highest reliability domain 1 5 0 A is improved.
  • the recovery process control means 4 04 decentralizes the recovery process of the domain stop recovery means 4 0 0, the speed of the recovery process can be increased.
  • the stop confirmation unit 40 3 performs the detection processing based on the information related to the processing request permitted by the recovery processing permission unit 4 0 4 b. Therefore, even if the highest reliability domain 1 5 OA is notified of the processing request from the medium reliability domain 1 5 0 B or the low reliability domain 1 5 0 C, the actual failure status of the domain to be processed is displayed. This eliminates the need to detect and verify the authenticity of the processing contents, so it has the effect of reducing the processing load of the highest reliability domain 1 5 OA and ensuring the security of the highest reliability domain 1 5 OA. On the other hand, it has the effect of being able to recover from failures that actually occur in the domain.
  • each domain is configured. As long as they are separated, they may be two, or four or more.
  • the recovery processing control means 40 04 has been described in the configuration provided in the domain stop recovery means 400, but the position where the recovery processing control means 40 04 is provided is the stop recovery means. It is not limited to within 400, but may be outside the stop recovery means 400, within the highest reliability domain 15 OA, or may be provided at a plurality of positions.
  • the recovery process control means 4 0 4 is provided in the highest reliability domain 1 5 OA, the highest reliability domain 1 5 OA determines whether or not processing requests from domains other than the highest reliability domain 1 5 OA are permitted. The permitted processing request information may be notified to the domain stop / recovery processing means 4 0 2.

Abstract

追加されたアプリケーションプログラム及びデバイスドライバによって障害が生じたドメインを、安全性、信頼性を確保して復旧する情報処理装置は、信頼度に基づいてそれぞれ分離された、メーラーやブラウザ等の基本処理を有する最高信頼度ドメイン150Aと、中信頼度ドメイン150Bと、低信頼度ドメイン150Cとを備え、さらに、各ドメインから通知される障害の復旧要求及びドメイン毎に予め設定された復旧条件とに基づいて障害が発生したドメインに対して障害の復旧処理を行う復旧手段とを有する。最高信頼度ドメイン150Aは、中信頼度ドメイン150Bや低信頼度ドメイン150Cへのデータ送信時にこれらのドメインの障害を検知し、ドメイン停止復旧手段400を介して、これらのドメインを復旧する。

Description

明細書 情報処理装置、 復旧装置、 プログラム及び復旧方法 技術分野
本発明は、 マルチプロセッサにより構成される情報処理装置に関し、 特に外部 から取得した追加処理を実行することが可能なプロセッサを有するドメインを備 える情報処理装置、 復旧装置、 プログラム及び復旧方法に関する。 背景技術
携帯電話機 (mobile phone) 等の情報通信端末装置において、 通常、 該端末装 置の基本性能を実現するための基本処理 (例えば呼処理機能、 インターネットァ クセス用のブラウザ機能、 電子メール機能、 画面制御機能等) は、 オペレーティ ングシステムとともに予めインストールされており、 上記基本処理とは別の追加 処理 (プログラム) については、 ユーザの操作等により、 ネットワーク等外部か ら、 該端末装置にダウンロードして実行、 インストールが行われる。 しかしなが ら、 ダウンロードした追加処理を実行した場合、 オペレーティングシステムや基 本処理等は、 該追加処理による攻撃に曝される可能性がある。
図 42は、 ダウンロードされた追加処理を実行する情報通信端末装置の典型的 な構成の一例を模式的に示す図である。 図 42には、 よく知られた典型的な装置 構成がブロック図にて模式的に例示されている。 以下では、 追加処理が、 ネィテ イブコ一ド (提供者側でコンパイル、 またはアセンブル処理されたバイナリコ一 ド) で提供されるアプリケーションプログラムやデバイスドライバ (デバイスへ のアクセス要求、デバイスからの割り込み処理を行うソフトウェアであり、 「 I / Oドライバ」 とも言う) である場合について説明する。
図 42に示す構成において、追加処理 23をダウンロードして実行したとき(追 加処理 23がデバイスドライバの場合には、 オペレーティングシステムに組み込 んで実行したとき)、 基本処理 22、 オペレーティングシステム (「〇S」 という) 21、 CPU (Con t r o l P r o c e s s i n g Un i t) 10、 メモ リ 5 0、 入出力デバイス ( I ZO) 6 0に対して、 追加処理 2 3から、 直接的に 攻撃が行われる可能性がある。 その理由は、 基本処理 2 2、 C P U 1 0 , O S 2 1、 メモリ 5 0、 あるいは入出力デバイス (I ZO) に対する、 追加処理 2 3か らの攻撃を制限し、 安全な実行環境を実現する手段が実装されていないためであ る。 すなわち、 図 4 2に示す構成の場合、 追加処理 2 3は基本処理 2 2への処理 要求、 〇S 2 1への処理依頼、 C P U 1 0、 メモリ 5 0、 及び入出力デバイス 6 0への処理要求を任意に発行することができ、 ハードウェア、 ソフトウェアの各 種資源へのアクセスも自在とされている。 このため、 悪意の追加処理 2 3 (ある いは、 悪意は無くともウィルス等に感染した追加処理) は、 無防備な O S 2 1、 基本処理 2 2等に対して攻撃自在とされる。
追加デバイスドライバが、 例えばレジデント (常駐型) ドライバとして O S 2 1のカーネル内に組み込まれる場合があり、 該デバイスドライバの信頼性は、 O S 2 1の信頼性、 及び性能にそのまま影響を及ぼすことになる。 これは、 デバイ スドライバが、 デバイスへの処理設定と、 デバイスからの割り込み時にスケジュ ーラから起動される割り込みサ一ビスとを含み、割り込みサ一ビスの実行時間(こ の間、 再スケジュールは禁止される) は処理性能から特段に短い時間 (例えばミ リ秒以下) に制限されているという、 デバイスドライバの特性からも、 明らかで ある。 つまり、 追加デバイスドライバが仮に悪意の在るドライバである場合、 情 報処理装置の処理性能を容易に低下させることが出来る。これは、常駐型でなく、 口一ダブルドライバ (メモリに選択的に口一ド、 アンロードされるドライバ) の 場合も、 同様である。 このように、 追加処理としてインストールされた悪意のあ るドライバによって攻撃が行われた場合には、 O S 2 1の力一ネルが直接攻撃さ れることになり、 致命的ともなる (実質的に動作不能となる)。
そこで、 ダウンロードされた追加処理の実行環境に制限を与え、 基本処理等を 保護する設計方式が、 従来より、 各種提案されている。 以下、 いくつかの典型例 に即して概説しておく。
図 4 3では、 ソフトウェアによる追加処理の実行保護環境を提供する構成の一 典型例を示す図である。 囪 4 3に示す例では、 ネイティブコードの追加処理 2 3 は、 仮想マシン.2 4上で実行させる構成とされている。 一例として、 追加処理 2 3が、 JAVA (登録商標) バイトコードで記述されているものとすると、 ダウ ンロードされた JAVA (登録商標) バイトコードは、 仮想マシン 24をなす J VM (JAVA (登録商標) 仮想マシン) 上で実行される。
かかる構成において、 基本処理 22や OS 21等は、 ソフト的に、 追加処理 2 3とは分離され、 その安全性が確保されることになる。 すなわち、 追加処理 23 は、 仮想マシン 24を介してのみ、 〇S 21、 CPU10、 メモリ 50、 I/O 60等へアクセスが行われる。 仮想マシン 24には、 通常、 OS 21のカーネル モードでの実行 (例えば特権的な命令の実行) 等を行う権限が付与されていず、 このため、追加処理 23が、 OS 21を直接的に操作することは出来ない。また、 仮想マシン 24は、 一般に、 インタープリタ方式で追加処理 23の命令コードを 実行するため、 追加処理 23の命令 ·動作が適正であるか監視することが容易で あり、 例えば追加処理 23からのハードウェア資源及びソフトウェア資源に対す る不当なアクセス (例えば多重のデータをネットワーク上あるいは画面上に出力 する等) を制限することで、 仮想マシン 24がソフト的な保護フィルタ、 あるい は防護壁又は防護ゲートの役割を担うことも出来る。 このように、 仮想マシン 2 4を介して、 基本処理 22、 OS 21等は、 追加処理 23とは、 ソフト的には分 離されている。
しかしながら、図 43に示した仮想マシン方式は、以下の問題点を有している。 ダウンロードされた追加処理 23から、 仮想マシン 24の抜け (例えばセキュ リティホール) への攻撃等がなされた場合、 システムの安全性が損なわれること になる。
また、 通常、 JAVA (登録商標) 仮想マシン等の仮想マシン 24は、 JAV A (登録商標) バイトコード等の命令コードを、 一命令ずつ解釈実行するイン夕 一プリ夕方式であるため、 その実行速度は遅い。
さらに、 仮想マシン 24は、 追加処理 23を実行する時、 システムコールを発 行することで、 OS 21への処理依頼を行っているが、 システムコールのオーバ へッドは大であることから、処理の実行は遅い。例えば仮想マシン 24において、 追加処理 23の 1つの命令に対応するシステムコールが 1つ又は複数発行される。 ユーザモ—ドからのシステムコール発行によるシステムモードへのコンテクス ト ·スィツチング、 O S 2 1のシステムコ一ルェントリ部におけるシステムコ一 ルのパケットデータのデコード、 パラメ一夕等の正
当性チェック (エラー検出処理)、 処理の振分 (ディスパッチ) さらに、 処理終了 時の処理結果の引渡し及びコンテクスト 'スイッチング、 カーネル空間からユー ザ空間への切り替え等、 一連の制御が行われ、 オーバヘッドが大きい。
そして、 図 4 3に示す構成の場合、 追加処理 2 3として、 デバイスドライバを O S 2 1に組み込むことは出来ない。 図 4 3からも明らかなように、 仮想マシン 2 4は O S 2 1の上層に位置している。 仮想マシン 2 4は、 追加処理 2 3のコー ドに基づき、 O S 2 1に対して処理依頼を行い、 O S 2 1から処理結果を受け取 り、 必要に応じて追加処理 2 3に返す構成とされており、 追加処理をデバイスド ライバとして O S 2 1内に組み込もうとすると、 追加処理の実行を制御する仮想 マシンも、 O S 2 1内に組み込むことが必要となり、 かかる構成は、 図 4 3に示 す仮想マシン方式では、 原理的に不可能であるためである。
ソフトウェアによる別のセキュリティ管理方式として、 例えば図 4 4に示すよ うな構成も知られている。 図 4 4に示すように、 追加処理 2 3には、 それが信頼 できるものであることを証明するための証明書 2 5が添付されて、 端末 (情報処 理装置) にダウンロードされる。 端末側では、 添付された証明書 2 5の内容をチ エックし、 添付された証明書 2 5が正しい証明書であると認証された場合に、 ダ ゥンロードされた追加処理 2 3のインストール、 実行を許可する構成とされてい る。 証明書 2 5としては、 デジタル署名 (ITU - T XS09) を用いても良い。 例え ば証明書 2 5には、 証明される期間とその公開鍵、 C A (認証局) のデジタル署 名(証明される機関や公開鍵などを C Aの秘密鍵で暗号化したもの)が格納され、 証明書の認証を行う場合には、 C Aのデジタル署名の部分を、 C Aの公開鍵で解 読して証明書のデータの内容と一致するか否か確認し、 一致する場合に、 証明書 のデータを信頼しても良いと判断される。 あるいは、 証明書 2 5は、 真正のベン ダーを証明するものであれば、 任意の証明書であっても良い。 なお、 デバイスド ライバの署名機能 (Dr iver Signing) は、 例えば Windows (登録商標) 2000等に も実装されている。
図 4 4に示した方式の場合、 追加処理 2 3はネイティブコードで提供すること ができ、図 4 3に示した仮想マシン方式と比べて、高速実行が可能である。また、 追加処理 2 3として、アプリケーション、デバイスドライバの実行も可能である。 しかしながら、 システムの信頼性は、 追加処理 2 3の安全性に全面的に依拠して いる。 つまり、 追加処理 2 3に事前に検知し得ない問題があると、 システムに.致 命的損害をもたらす可能性もある。
図 4 5は、 セキュリティ管理をハードウェアで行うプロセッサの構成を示す図 である。 図 4 5を参照すると、 C P U 1 1は、 安全 (セキュア) モード 1 2と、 非安全 (ノンセキュア) モード 1 3を有し、 ダウンロードされた追加処理 2 3と 該追加処理 2 3に対応した O S 2 1 Bは、 もっぱらノンセキュアモード 1 3で実 行される。 そして、 メモリ管理ユニット 1 4は、 ノンセキュアモード 1 3で実行 されるメモリの領域 (アドレス空間) を、 セキュアモード 1 2でアクセスされる メモリの領域と分離して管理し、 ノンセキュアモード 1 3からセキュアモード 1 2のメモリ領域へのアクセスは禁止される。 すなわち、 メモリ管理ユニット 1 4 は、 ノンセキュアモード 1 3からのメモリのアクセス制御を行いノンセキュアモ ード 1 3からセキュアモード 1 2のメモリ領域へのアクセスを禁止する制御を行 つている。
このように、 図 4 5に示す構成においては、 基本処理 2 2をセキュアモード 1
2で実行し、 仮想的に、 追加処理 2 3を実行する C P Uと別 C P Uに分離するこ とで、 安全性の向上を図っている。
しかしながら、 セキュアモードとノンセキュアモードは、 C P U上で、 時分割 で実行されており、 ノンセキュアモードから復帰しない場合には、 セキュアモー ドでのシステムの動作は行われない。
また、 ノンセキュアモードとセキュアモードを時分割処理しているため、 その 切替時、 モード遷移等のオーバヘッドがかかる。
さらに、 追加処理 2 3をデバイスドライバとし、 ノンセキュアモードの O S 2
I B内に組み込む場合、 ドライバに悪意があると、 セキュアモードに復帰するこ とが出来なくなる可能性があり、 システムに致命的な損害をもたらす可能性があ る。
なお、 図 4 5に示した構成と同様、 システムメモリ中に分離域を設け、 ノーマ ル実行モードと分離実行モードを構えたプロセッサとして、 特表 2 0 0 4— 5 0 0 6 6 6号公報 (文献 1 ) の記載が参照される。 文献 1に記載の装置において、 ノーマル実行モードは、 プロセッサが非安全環境、 すなわち分離実行モードによ つて提供されるセキュリティ機能がない通常の動作モードで動作するモードであ り、 ノーマル実行モードからは分離域へのアクセスが禁止され、 分離実行モード では、 所定の分離命令の実行がサポートされる構成とされている。 なお、 かかる 構成も、 ノーマル実行モードと分離実行モードを時分割処理しているため、 その 切替時、 モード遷移等のオーバヘッドがかかる。
また、 2つのプロセッサユニットとスィッチユニットを備え、 1つのプロセッ サュニットが公共データ通信ネットワークと接続され、 他方のプロセッサュニッ トは公共データ通信ネットワークと接続せず、 データセキュリティ用ュニットと して機能する構成が開示されている (特表 2 0 0 2— 5 4 2 5 3 7号公報 (文献 2 )参照)。文献 2に記載されるシステムでは、 公共データ通信ネットワークに接 続されるプロセッサュニットと、 データセキュリティ用ュニットをスィツチで分 離しており、 データセキュリティ用ユニットの安全性を確保している。 しかしな がら、 公共データ通信ネットワークに接続されるプロセッサユニットが、 前述し た追加処理 (ネットワーク等からダウンロードされた追加処理) の実行により、 攻撃されることの対策に関しては、 いささかも考慮されていない。 データセキュ リティ用ュニットは安全であっても、 公共データ通信ネットワークに接続される プロセッサュニットは追加処理による攻撃に対する有効なセキュリティ機構は具 備していない。 このため、 公共データ通信ネットワークに接続されるプロセッサ ュニッ卜にセキュリティ管理を実現する場合、 前述したいずれかの方式を採用す る必要がある。
さらに、 プロセッサ上で分離された実行プログラムあるいはオペレーティング システムを同時に実行するシステムにおいて、 不正なプログラムの実行環境を保 護するために、 第 1のプログラムが実行される間、 第 1のプログラムのみが利用 するメモリ空間が設定され、 第 1のプログラムとコンピュータの実行環境との通 信は、 共有メモリ空間の利用、 専用の割り込み、 あるいは専用の 1 〇ポートを 含む単一のリンクを介して行われ、 第 1のプログラムは、 制限された実行環境に おいて、 設定されたメモリ空間と単一のリンクを除いてプロセッサ上のリソース をアクセスすることが制限されるようにした構成が特表 2002- 533791 号公報 (文献 3) に記載されている。 この文献 3に記載された方法の場合、 第 1 のプログラムは、設定されたメモリ空間と単一のリンク(共有メモリ空間の利用、 専用の割り込み、 あるいは専用の I /〇ポート) を除いてプロセッサ上のリソー スをアクセスすることが制限されるため、 第 1のプログラムを、 デバイスドライ バとして用いることは出来ず、 デバイスドライバを含む追加処理に適用すること は出来ない。
また、 後述される本発明で用いられるプロセッサ間通信手段に関連する技術を 開示した刊行物として、 特開平 6_ 332864号公報 (文献 4) には、 マルチ プロセッサシステムにおける C P U間通信方式が開示されている。 この文献 4に は、 マルチプロセッサが共逋メモリを利用して CPU間通信を行うにあたり、 C PU 2が CPU 1に割り込みを発生させる場合、 CPU 1に対する固定領域にお ける自己用の C P U間通信情報書き込み領域に、 通信情報を書き込んで割り込み を発生し、 CPU1では、 割り込みが発生すると、 CPU 2に対応する CPU間 通信情報書き込み領域をアクセスして割り込み処理を実行する構成がその従来技 術として記載されており、 さらに、 共有メモリのアクセス回数を削減するように した発明が記載されている。
さらに、 特開 2001— 154999号公報 (文献 5 ) では、 プロセッサ診断 回路が自プロセッサの起動時に故障を検出してサービスプロセッサに復旧を依頼 し、 サービスプロセッサがその復旧の処理を行う並列計算機システムを提案して いる。
文献 1 :特表 2004-500666号公報
文献 2 :特表 2002-542537号公報 ·
文献 3 :特表 2002-533791号公報
文献 4 :特開平 6— 332864号公報
文献 5 :特開 2001— 154999号公報
上記したように、 ダウンロードされた、 悪意のある、 もしくは過失の追加処理 からの攻撃に対する安全性確保の対策を施した従来の装置は、 処理性能の点、 デ バイスドライバの実行が不可である点、 安全性確保に問題がある点等、 実用上、 各種課題が残されている。 特に、 図 4 3、 及び図 4 5に示したように、 情報処理 装置に関して、 装置外部から、 追加デバイスドライバのダウンロードが不可であ る設計方式 (アーキテクチャ) は、 デバイスの追加、 機能追加当が実質的に不可 能であることを意味しており、 この点で、可用性(avai l ab i l i ty)が制限される。 一方、 前述したように、 追加デバイスドライバを例えばカーネルモードで動作 させる場合には、 O S、 システムの信頼性に直接影響を及ぼすことから、 特段の 安全性確保、 信頼性の向上が要請されている。
また、 文献 5に開示された技術を一例とする従来の並列計算機システムにおけ る復旧処理では、 通知された復旧要求等がウィルスを含んでいる等の悪意のある 要求に対しても処理を実行してしまうという問題点がある。
したがって、 本発明の目的は、 追加されたアプリケーションプログラム及びデ バイスドライバによって障害が生じたドメインを、 安全性、 信頼性を確保して復 旧する情報処理装置、復旧装置、プログラム及び復旧方法を提供することにある。 発明の開示
上記目的を達成するため本発明は、 複数のプロセッサを備え、 実行する処理内 容に応じて、 複数のプロセッサが複数のドメインを構成し、 異なるドメイン間の プロセッサ同士は、 通信手段を介して互いに通信し、 ドメインから通知される障 害の復旧要求と、 前記ドメイン毎に予め設定された復旧条件とに基づいて、 障害 が発生したドメインに対して障害の復旧処理を行う構成としている。
この構成により、 各ドメインに発生した障害毎に復旧条件が設定されているこ とから、 復旧条件を満たした復旧要求により障害が復旧される。
本発明の好ましい態様では、 複数のドメインを、 実行する処理内容に応じて、 特定ドメインと、 他のドメインとに分離して構成し、 特定ドメイン又は他のドメ ィンから通知される障害の復旧要求と、 特定ドメイン及び他のドメイン毎に予め 設定された復旧条件とに基づいて、 障害が発生したドメインに対して障害の復旧 処理を行う構成としている。
この構成により、 複数のドメインが、 実行する処理内容に応じて、 特定ドメィ ンと、 他のドメインとに分離して構成され、 特定ドメイン又は他のドメインから 通知される障害の復旧要求と、 特定ドメイン及び他のドメイン毎に予め設定され た復旧条件とに基づいて、 障害が発生したドメインに対して障害の復旧処理を行 うことから、 特定ドメインと他のドメインとを異なる復旧条件により復旧するこ とが可能となる。
本発明のさらに好ましい態様では、 特定ドメインが、 ある一定のセキュリティ レベル以上の処理を実行するドメインであり、 他のドメインが、 特定ドメインで 実行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する ドメインであり、 特定ドメインが、 他のドメインにおける障害を、 他のドメイン への通信手段によるデータ送信を介して検知し、 復旧手段に対して障害の復旧要 求を行う構成としている。
この構成により、 ある一定のセキュリティレベル以上の処理を実行する特定ド メインと特定ドメインで実行される処理よりもセキュリティレベルの低い処理を 少なくとも一以上有する他のドメインとが分離して構成され、 他のドメインで発 生した障害を検知した、 ある一定のセキュリティレベル以上の処理を実行する特 定ドメインが、 復旧手段を介して、 特定ドメインで実行される処理よりもセキュ リティレベルの低い処理を少なくとも一以上有する他のドメインを復旧する。 本発明の別の好ましい態様では、 特定ドメインが、 ある一定のセキュリティレ ベル以上の処理を実行するドメインであり、 他のドメインが、 特定ドメインで実 行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有するド メインであり、 他のドメインが、 何れかの他のドメインにおける障害を検知し、 特定ドメインに他のドメインの障害の復旧要求を通知し、 特定ドメインが、 復旧 手段に対して障害の復旧要求を行う構成としている。
この構成により、 ある一定のセキュリティレベル以上の処理を実行する特定ド メインと特定ドメインで実行される処理よりもセキュリティレベルの低い処理を 少なくとも一以上有する他のドメインとが分離して構成され、 他のドメインで発 生した障害を通知された、 ある一定のセキュリティレベル以上の処理を実行する 特定ドメインが、 復旧手段を介して、 相対的にセキュリティレベルが低い処理を 実行する他のドメインを復旧する。 本発明の別の好ましい態様では、 特定ドメインが、 ある一定のセキュリティレ ベル以上の処理を実行するドメインであり、 他のドメインが、 特定ドメインで実 行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有するド メインであり、 他のドメインが、 何れかの他のドメインにおける障害を検知し、 特定ドメインに他のドメインの障害の復旧要求を通知し、 特定ドメインが、 他の ドメインの障害を、他のドメインへの通信手段によるデータ送信を介して検知し、 復旧手段に対して障害の復旧要求を行う構成としている。
この構成により、 ある一定のセキュリティレベル以上の処理を実行する特定ド メインと特定ドメインで実行される処理よりもセキュリティレベルの低い処理を 少なくとも一以上有する他のドメインとが分離して構成され、 他のドメインで発 生した障害を通知された、 ある一定のセキュリティレベル以上の処理を実行する 特定ドメインが、 障害を検知し、 復旧手段を介して、 特定ドメインで実行される 処理よりもセキュリティレベルの低い処理を少なくとも一以上有する他のドメィ ンを復旧する。
本発明のさらに好ましい態様では、 復旧条件は、 ドメインからの障害の復旧要 求で示される処理内容毎に設定されたセキュリティレベルに基づいて定められて おり、 復旧手段は、 ドメインから通知された障害の復旧要求と、 復旧条件とに基 づいて、障害が発生したドメインに対して障害の復旧処理を行う構成としている。 この構成により、 処理内容毎に設定されたセキュリティレベルに基づいて定め られた復旧条件を満たした復旧要求が受け付けられる。
本発明のさらに好ましい態様では、 復旧手段は、 ドメインから通知された障害 の復旧要求の許否を判別する判別手段を備え、 判別手段で許可された復旧要求に 基づいて、 障害が発生したドメインに対して障害の復旧処理を行う構成としてい る。
この構成により、 判別手段で許可された復旧要求に基づいて障害の復旧処理が 行われる。
本発明によれば、 以下の効果が達成される。
第 1の効果は、 各ドメインに発生する障害が、 予め設定された復旧条件を満た した復旧要求により復旧されることである。 その理由は、 複数のプロセッサを備え、 実行する処理内容に応じて、 複数のプ 口セッサが複数のドメインを構成し、 異なるドメイン間のプロセッサ同士は、 通 信手段を介して互いに通信し、 ドメインから通知される障害の復旧要求と、 ドメ イン毎に予め設定された復旧条件とに基づいて、 障害が発生したドメインに対し て障害の復旧処理を行うので、 各ドメインに発生する障害毎に予め設定された復 旧条件を満たした復旧要求により障害が復旧されるからである。
第 2の効果は、 複数のドメインのうち、 所定のドメインを、 その他のドメイン と異なる復旧条件により復旧することが可能となることである。
その理由は、複数のドメインを、実行する処理内容に応じて、特定ドメインと、 他のドメインとに分離して構成し、 特定ドメイン又は他のドメインから通知され る障害の復旧要求と、 特定ドメイン及び他のドメイン毎に予め設定された復旧条 件とに基づいて、 障害が発生したドメインに対して障害の復旧処理を行うからで ある。 したがって、 複数のドメインが、 実行する処理内容に応じて、 特定ドメィ ンと、 他のドメインとに分離して構成され、 特定ドメイン又は他のドメインから 通知される障害の復旧要求と、 特定ドメイン及び他のドメイン毎に予め設定され た復旧条件とに基づいて、 障害が発生したドメインに対して障害の復旧処理を行 うことから、 特定ドメインと他のドメインとを異なる復旧条件により復旧するこ とが可能となるからである。
第 3の効果は、 ある一定のセキュリティレベル以上の処理を実行するドメイン のセキュリティを確保できることである。
その理由は、 特定ドメインが、 ある一定のセキュリティレベル以上の処理を実 行するドメインであり、 他のドメインが、 特定ドメインで実行される処理よりも セキュリティレベルの低い処理を少なくとも一以上有するドメインであり、 特定 ドメインが、 他のドメインにおける障害を、 他のドメインへの通信手段によるデ —夕送信を介して検知し、 復旧手段に対して障害の復旧要求を行うからである。 したがって、 ある一定のセキュリティレベル以上の処理を実行する特定ドメイン と特定ドメインで実行される処理よりもセキュリティレベルの低い処理を少なく とも一以上有する他のドメインとが分離して構成され、 他のドメインで発生した 障害を検知した、 ある一定のセキュリティレベル以上の処理を実行する特定ドメ インが、 復旧手段を介して、 特定ドメインで実行される処理よりもセキュリティ レベルの低い処理を少なくとも一以上有する他のドメインを復旧するからである。 第 4の効果は、 情報処理装置の可用性が向上することである。
その理由は、 セキュリティが確保された、 ある一定のセキュリティレベル以上 の処理を実行するドメインが、 特定ドメインで実行される処理よりもセキユリテ ィレベルの低い処理を少なくとも一以上有するドメインで発生した障害を検知し て復旧手段を介して復旧するからである。
第 5の効果は、 各ドメインで発生した障害を、 所定のセキュリティレベルを確 保して復旧できることである。
その理由は、 復旧条件が、 ドメインからの障害の復旧要求で示される処理内容 毎に設定されたセキュリティレベルに基づいて定められており、 復旧手段が、 ド メインから通知された障害の復旧要求と、 復旧条件とに基づいて、 障害が発生し たドメインに対して障害の復旧処理を行うからである。 したがって、 処理内容毎 に設定されたセキュリティレベルに基づいて定められた復旧条件を満たした復旧 要求が受け付けられるからである。 図面の簡単な説明
図 1は、 本発明の第 1例の情報処理装置のハードウエア構成を示す図である。 図 2は、 第 1例のプロセッサ間通信手段の構成を示す図である。
図 3は、 第 1例のプロセッサ間通信手段の動作を説明するための図である。
図 4は、 第 1例のアクセス制御手段の構成を示す図である。
図 5は、第 1例のアクセス制御手段のアクセス許可データの例を示す図である。 図 6は、 第 1例のアクセス制御手段の動作を説明する図である。
図 7は、 第 1例のアクセス制御手段 3 0の別構成を示す図である。
図 8は、 第 1例のアクセス制御手段 3 0の別構成を示す図である。
図 9は、 本発明の第 2例の情報処理装置のハードウェア構成を示す図である。 図 1 0は、本発明の第 3例の情報処理装置のハードウェア構成を示す図である。 図 1 1は、第 3例の情報処理装置の変形例のハードウェア構成を示す図である。 図 1 2は、 第 3例の情報処理装置のソフトウェア構成を示す図である。 図 1 3は 第 3例の動作を説明するための図である。
図 1 4は 第 3例の動作を説明するための図である。
図 1 5は 第 3例の動作を説明するための図である。
図 1 6は 第 3例の動作を説明するための図である。
図 1 7は 第 3例の動作を説明するための図である。
図 1 8は 第 3例の動作を説明するための図である。
図 1 9は 第 3例の動作を説明するための図である。
図 2 0は 第 3例の動作を説明するための図である。
図 2 1は 本発明の第 4例の情報処理装置の構成を示す図である。
図 2 2は 第 4例の動作を説明するための図である。
図 2 3は 第 4例の動作を説明するための図である。
図 2 4は 本発明の第 1の実施例による情報処理装置の構成を示す図である。 図 2 5は 本発明の第 1の実施例において設定される信頼度の一例を示す図で ある。
図 2 6は 本発明の第 1の実施例による情報処理装置のドメイン停止復旧手段 4 0 0の構成を示す図である。
図 2 7は、 本発明の第 1の実施例による情報処理装置の通信処理の内容 (処理 内容) と通信の階層構造との対応関係の一例を示す図である。
図 2 8は、 本発明の第 1の実施例による情報処理装置のハードウェア構成の一 例を示すブロック図である。
図 2 9は、 本発明の第 1の実施例による情報処理装置の動作の一例を説明する ための図である。
図 3 0は、 本発明の第 1の実施例による情報処理装置の動作の一例を説明する ための図である。
図 3 1は、 本発明の第 1の実施例による情報処理装置の動作の一例を説明する ための図である。
図 3 2は、 本発明の第 1の実施例による情報処理装置の動作の一例を説明する ための図である。
図 3 3は、 本発明の第 1の実施例による情報処理装置の動作の一例を説明する ための図である。
図 34は、 本発明の第 2の実施例による情報処理装置のドメイン停止復旧手段 400の構成を示す図である。
図 35は、 本発明の第 2の実施例による情報処理装置の動作の一例を説明する ための図である。
図 36は、 本発明の第 2の実施例による情報処理装置の動作の一例を説明する ための図である。
図 37は、 本発明の第 2の実施例による情報処理装置の動作の一例を説明する ための図である。
図 38は、 本発明の第 3の実施例による情報処理装置のドメイン停止復旧手段
400の構成を示す図である。
図 39は、 本発明の第 3の実施例による情報処理装置の復旧処理許可データ 4 04 aの内容の一例を示す図である。
図 40は、 本発明の第 3の実施例による情報処理装置の復旧処理制御手段 40 4の動作の一例を説明するための図である。
図 41は、 本発明の第 4の実施例による情報処理装置の | メイン停止復旧手段 400の構成を示す図である。
図 42は、 従来のシステム構成の一例を示す図である。
図 43は、 従来のシステム構成の別の'例を示す図である。
図 44は、 従来のシステム構成の別の例を示す図である。
図 45は、 従来のシステム構成のさらに別の例を示す図である。
10, 10 A, 10 B, 10 C : CPU、 1 1 : CPU、 12 :セキュアモ一 ド、 13 :非セキュアモード
14:メモリ管理ユニット、 15 :分離手段、 20, 20 A, 20 B, 20 C : ソフトウェア、 21, 21 A, 21 B, 21 C : OS、 22 :基本処理、 23,
23 B, 23 C :追加処理、 24 :仮想マシン、 25 :証明書、 30 :アクセス 制御手段、 31 :アクセス許可手段、 32 :アクセス許可データ、 33 :新ァク セス許可デ一夕 33、 34 :アクセス許可データ更新手段 34、 35 :アクセス 監視手段、 36 :学習手段、 40 :プロセッサ間通信手段、 41 :割り込み制御 装置、 410〜41 n : CPU# 0〜CPU#n用割り込み制御装置、 42 :共 有メモリ、 420〜42 n : CPU# 0〜 C P U # n用通信領域、 50, 50 A, 50 B, 50 C :メモリ、 60, 6 OA, 60 B, 60 C :入出力デバイス (I ノ 0)、 70 A:基本側バス、 70 B :追加側バス、 80, 8 OA, 80 B :チッ プ、 10 OA :基本ドメイン、 100 B : T r u s t e d拡張ドメイン、 100 C : Un t r u s t e d拡張ドメイン、 101 A, 10 1 B, 101 C :〇S、 102 A:外部デバイス、 102 A ' :仮想外部デバイス、 102 B, 102 C : 許可された外部デバイス、 102 B ', 102 C ' :許可された仮想外部デバィ ス、 103 :専用ファイルシステム、 103 ' :仮想専用ファイルシステム、 1 04A:ネイティブコードダウンロード管理機能、 104B, 104C :ネィテ イブコードダウンロード実行機能、 105 :セキュリティポリシデータべ一ス、 1 10 :基本ソフト環境、 ί 1 1 :基本アプリケーション、 1 12 :基本機能、 1 13 :基本ライブラリ、 12 OA, 120 B, 120 C :ダウンロードアプリ ケーシヨン、 121A, 12 1 B, 121 C:ダウンロードドライバ、 1 5 OA : 最高信頼度ドメイン、 1 50 B :中信頼度ドメイン、 150 C :低信頼度ドメイ ン、 200A, 200 B, 200 C :仮想 CPU、 2 10 A, 210 B, 210 C :仮想マシンモニタ、 301, 302, 303 :データ送信部、 304, 30 5 :低信頼度ドメイン用デ一夕送信部、 306, 307 :中信頼度ドメイン用デー 夕送信部、 400 : ドメイン停止復旧手段、 401 :復旧要求受信手段、 402 : ドメイン停止復旧処理手段、 403:停止確認手段、 404:復旧処理制御手段、 404 a :復旧処理許可データ、 404 b :復旧処理許可手段、 41 1 :割り込 み指示部、 412 :割り込み状態保持部、 413 :割り込み取り消し部、 42 1 : 通信キュー、 422 :排他制御領域 発明を実施するための最良の形態
まず、 本発明を適用する情報処理装置の基本構成について説明する。
基本構成の第 1例は、 複数の C P Uを備えたマルチ C P U構成の情報処理装置 において、 複数の CPUを、 実行するプログラム (処理) のセキュリティレベル に応じて、 複数のドメイン (例えば基本ドメイン、 信頼ドメイン、 無信頼ドメィ ン等) に分ける。
基本ドメインは、 ある一定のセキュリティレベル以上の処理を実行するドメイ ンであり、 信頼ドメインは、 基本ドメインで実行する処理よりもセキュリティレ ベルの低い処理を少なくとも一以上有するドメインであり、 無信頼ドメインは、 信頼ドメインで実行する処理よりもセキュリティレベルの低い処理を少なくとも 一以上有するドメインとする。
まだは、 基本ドメインの一定のセキュリティレベルの実行処理のそれぞれが、 信頼ドメインの実行処理のセキュリティレベルと同じか、 又は信頼ドメインの実 行処理のセキュリティレベルより高く、 そして基本ドメインの実行処理の集合と して少なくとも 1つセキュリティレベルの高い処理を含むドメインとしてもよい。 信頼ドメインは、 信頼ドメインの一定のセキュリティレベルの実行処理のそれ ぞれが、 無信頼ドメインの実行処理のセキュリティレベルと同じか、 又は無信頼 ドメインの実行処理のセキュリティレベルより高く、 そして各ドメインの実行処 理の集合として少なくとも 1つセキュリティレベルの高い処理を含むドメインと しても良い。 この場合には基本ドメインは信頼ドメインよりも相対的にセキユリ ティレベルの高い処理を行い、 信頼ドメインは無信頼ドメインょりも相対的に高 い処理が行われる。
各ドメインは、 1つ又は複数の C P Uを含み、 異なるドメイン間での C P Uの 通信を、 プロセッサ間通信手段 (例え 図 1の 4 0 ) を介して行うとともに、 :追 加処理等の低セキュリティの処理を実行するドメインに属する C P Uが、 高セキ ユリティの処理を実行するドメインのメモリ及び入出力装置に対してアクセスす る場合には、 該アクセス要求は、 アクセス制御手段 (例えば図 1の 3 0 ) によつ て、 アクセスの許可 Z非許可が判別され、 許可されたアクセスのみが行われる構 成とされる。
かかる構成の第 1例によれば、 ダウン口一ドされた追加処理 (デバイスドライ ノ アプリケ一シヨンプログラムを含む) を、 高セキュリティ · ドメインとはハ ―ドウエア的に別構成の低セキュリティ ·ドメイン側の C P Uで実行することで、 高セキュリティ · ドメインの安全性を確保している。
ここでいうダウンロードとは、 携帯電話のキヤリァが用意するデータ通信網や 一般的な無線 LAN網だけではなく、 SD力 ^"ドに代表される蓄積型メディア媒体、 USB に代表される有線通信 ·媒体といった接続を経由した情報装置へのダウン口 ードのことも含む。
そして、 第 1例によれば、 高セキュリティ · ドメインと低セキュリティ · ドメ インの CPUを、スィツチ等で分離制御するのではなく、相互に通信可能とする、 プロセッサ間通信手段を介して接続することで、 安全性を保障しながら、 高セキ ユリティ · ドメインと低セキュリティ · ドメインの CPU間の同期、 協調動作も 可能としている。
このプロセッサ間通信手段 (図 1の 40) は、 一のドメインの CPUから他の ドメインの CPUへデータ (コマンド) の受け渡しを行うものであり、 他のドメ インの CPUへの直接的な攻撃等は行えない構成とされている。 例えば低セキュ リティ · ドメイン側の CPUから高セキュリティ · ドメイン側の CPUへデータ を多量に送信し続けることで、 高セキュリティ · ドメインの CPUの性能劣化、 バッファオーバ一フロー等を生じさせようとしても、 プロセッサ間通信手段で抑 止され、 該データは、 高セキュリティ · ドメインの CPUに伝達されない。
また、第 1例において、 アクセス制御手段(図 1の 30) は、 低セキュリティ · ドメイン側の CPUに対して、 予め許可されたメモリ空間、 入出力デバイス等へ 予め許可された形態によるアクセスのみを許可するアクセス制御を行う。 これに より、 ダウンロードされた追加処理かもの高セキュリティ · ドメインへの攻撃を 防ぐことが出来る。 あるいは、 アクセス制御手段が、 必要に応じて、 帯域、 流量 制御等を行うことで、 ダウンロードされた追加処理からの高セキュリティ · ドメ ィンへの各種攻撃を防ぐことが出来る。 以下第 1例に即して説明する。
図 1は、 第 1例の構成を示す図である。 図 1を参照すると、 基本処理 22及び OS 21 Aからなるソフトウェア 20 Aを実行する CPU群 1 OAと、 追加処理 23及び追加処理対応の OS 2 1 Bからなるソフトウェア 20 Bを実行する CP U群 10Bと、 CPU群 10A、 10B間で通信を行うプロセッサ間通信手段 4 01、 402と、 CPU群 10 Bによるメモリ 50及びノ又は入出力装置 ( 1ノ O) 60へのアクセスを制御するアクセス制御手段 30と、を備えている。なお、 図 1には、 〇?11群10八、 CPU群 10 Bは、 それぞれ複数 (3台) の CPU からなる構成として示されているが、 各群とも 1つの CPUであっても良いこと は勿論である。 また、 CPU群 10 A、 CPU群 10 Bにおいて、 各群の CPU の台数は等しくなくてもよいことは勿論である。 以下では、 CPU群 10A、 C PU群 10 Bを、 単に CPU10A、 CPUI OBという。 第 1例において、.ダ ゥンロードされる追加処理 23は、 バイナリ形式のネイティブコードよりなる。 なお、 ダウンロードされたソースプログラムを、 コンパイル処理 (アセンブル処 理) してバイナリ形式としたものであってもよい。
第 1例によれば、 追加処理 23を実行する CPU 10 Bを、 基本処理 22を実 行する CPU 1 OAと別に構え、 CPU10A、 CPUI O Bは、 独立に動作可 ' 能であり、 安全性を向上しながら、 高速実行を可能とし、 アプリケーションプロ グラム、 デバイスドライバの実行を可能としている。 なお、 基本処理 22を実行 する CPU 1 OAをマスターとし、 追加処理 23を実行する CPU 10 Bをスレ ーブとして構成し、 スレーブ側はマスターの監督下で動作する構成としても良い ことは勿論である。この場合、例えば CPU 1 OBによる追加処理 23の実行は、 CPU 10 Aからプロセッサ間通信手段 402を介してコマンドを受け取って行 われる。
プロセッサ間通信手段 401、 402は、 CPU1 OAと CPU10 B間での データの送受信を制御する。 CPU10A、 10Bは、 独立に配設されているこ とから、 それぞれの処理 (プログラム)'を並列に実行することが可能であるとと もに、 プロセッサ間通信手段 401、 402を介して、 CPU10Aと CPU1
0B間における、 同期処理、 連携 (強調) 処理も可能としている。 一例として、 ユーザが表示装置の画面上から追加処理の実行を指示した場合、 基本処理 22を 実行する CPU10 Aから、 プロセッサ間通信手段 401を解して、 追加処理 2 3の起動要求が、 CPU10 Bに送信され、 CPU 10 B上で追加処理 23が実 行され、実行結果が、 CPU10Bから、プロセッサ間通信手段 402を介して、
CPU10Aに送信され、 基本処理 22を構成する画面制御ルーチン等が、 追加 処理 23の実行結果を反映した情報をユーザに提示する、 という具合である。 第 1例では、 CPU 1 Ό Bで追加処理 23を実行する際、 メモリ 50、 入出力 デバイス (IZO) 60へのアクセス要求が行われた場合、 アクセス制御手段 3 0にて、 当該アクセスに関する許諾の制御が行われ、 許可されたアクセス要求の みが、 メモリ 50、 入出力デバイス (IZO) 60に対して実行される構成とさ れている。 そして、 CPU 10Bにおいて、 OS 21 B上で追加処理 23を実行 し、 追加処理 23からの、 基本処理 22あるいは OS 21 Aへの処理要求が発行 された場合、 該要求は、 プロセッサ間通信手段 401を介して、 CPU10Aに 通知される。 すなわち、 追加処理 23が、 基本処理 22を、 直接操作することは 出来ない。 例えば、 悪意のある追加処理 23が、 CPU 1 OAに要求を頻発して 発行して負荷を与え、 CPU1 OA側での基本処理の実行性能を著しく低下させ ようとしても、 プロセッサ間通信手段 401が、 このような要求を C PU 10 A 側に伝達しないように制御することで、 上記攻撃からの防護が実現され、 安全性 が確保される。
なお、 図 1に示す例では、 プロセッサ間通信手段 401は、 CPU10 Bから CPU 1 OAへの情報転送、 プロセッサ間通信手段 402は、 CPU 10 Aから CPU 10 Bへの情報転送を制御している。 あるいは、 一台のプロセッサ間通信 装置で双方向のデータの受け渡しを行うようにしても良いことは勿論である。 第 1例において、 基本処理 22を実行する複数の CPU 1 OA同士で CPU間の通 信が必要な場合には、 プロセッサ間通信手段 40を用いることなく、 CPU間の 通信が行われる。 また、 追加処理 23を実行する複数の CPU 10 Bについても 同様である。 ただし、 後述するように、' CPU群 10 Bを構成する複数の CPU のいくつかを CPU群 1 OAの要素としてダイナミックに切り替える場合、 CP U群 10Bは、 論理的には CPU群 1 OAに属するが、 CPU間の通信は、 プロ セッサ間通信手段 40を介して行うようにしても良い。
第 1例によれば、 追加処理 23として、 アプリケーションプログラム、 デバイ スドライバのダウンロード、 インストール、 実行が可能とされている。 追加され たデバイスドライバは、 OS 21 Bに組み込まれ、 CPU 10 B上で実行され、 入出力デバイス 60へのアクセス制御は、 アクセス制御手段 30の監視の下で実 行される。
なお、 携帯電話機、 PDA等の携帯型情報通信装置では、 通常、 図 1における 基本処理 2 2、 OS 2 1 Aは、 図示されない書き換え可能な不揮発性メモリ (EEPROM: Electricaly Programmable and Erasable ROM)に格納され、 C P U 10 Aは、 EEPROMから命令コードをフェッチしてデコードし実行する。 すなわち、 基 本処理 22と追加処理 23を実行するそれぞれの OS 21A、 21 Bが格納する メモリは、 基本処理側と追加処理側で、 ハードウェア的に分離されている。 そし て、基本処理、 O S等の命令コードは、 EEPROMに格納されたものが実行されるが、 CPU 1 OA, 10 Bで実行されるプログラムにより、 初期化、 参照、 更新され るテーブル等のデータは、 それぞれの OS起動時に、 DRAM (Dynamic Random Access Memory) よりなるメモリ 50に展開される。 そして、 CPU10 Bについ て、 リード Zライトするメモリ領域をアクセス制御手段 30によって管理し、 C PU1 OAで参照されるメモリ領域へのアクセスを制限している。 携帯型情報通 信端末とは別の一般の情報処理装置においても、 同様にして、 基本処理 22、 〇 S 21 Aがロードされ CPU 10 Aが命令コードをフェッチするメモリと、 追加 処理 23、 OS 21 Bが口一ドされ CPU 10 Bが命令コードをフェッチするメ モリとを別々に備えていても良いことは勿論である。 あるいは、 一般の情報処理 装置において、メモリ 50に、基本処理 22、 OS 21 Aがロードされる領域と、 追加処理 23、 OS 21 Bがロードされる領域を分離して設け、 CPU10Bの メモリ 50へのリード Zライトアクセスをアクセス制御手段 30によって管理す るようにしても良い。 この場合、 CPU10A、 C PU 10 Bが参照のみするコ ードについては、 共通のメモリ領域に 納し、 アクセス制御手段 30によって、 共通のメモリ領域を、 該 CPU10 Bがリードのみ可とするようにアクセス制御 しても良い。
また、 携帯型情報処理装置において、 搭載する電池残量が少なくなつてきた場 合には、 基本処理を実行する CPU以外を強制的にシャットダウンする、 実行す る処理の信頼度に応じてより信頼度の低い処理を実行する CPUを優先的にシャ ットダウンすることで電池残量の節約を行うことが可能である。 これは例えば、 電池残量を検出する手段と、 検出結果を通知する手段によって得られる電池残量 に関する情報に基づき、 基本処理を行う CPU上で判断を行い、 シャットダウン を実行する、 といった処理により実現できる。
さらに、 携帯型情報処理装置での資源、 例えば外部との通信バンド幅ゃ不揮発 メモリ量等はより一層制限されているため、 信頼度に応じて資源を確保する相対 的な割合を変更することも可能である。 これは、 例えば、 基本処理を行う CPU において、実行する処理の信頼度が高い場合には優先的に資源の確保を許容する、 信頼度が低い場合には資源の制限をかける等の判断をすることにより実現される。 図 2は、 第 1例におけるプロセッサ間通信手段のハードウェア構成の一例を示 す図である。 図 2を参照すると、 左右両側の CPU (基本処理を実行する CPU と追加処理を実行する CPU) 間に配設された、 割り込み制御装置 41と共有メ モリ 42の 1セットで、 図 1のプロセッサ間通信手段 40 1、 402の全体を構 成している。 割り込み制御装置 41としては、 CPU# 0、 CPU# 1、 * · ' C PU#n用の n個の割り込み制御装置 410〜41 nを備え、 各割り込み制御装 置は、 割り込み指示部 41 1と、 割り込み状態保持部 412と、 割り込み取り消 し部 41 3とを備えている。 また、 共有メモリ 42は、 CPU# 0、 CPU# 1、 · · · CPU#n用の n個の通信領域 420〜42 nを備え、 各通信領域は、 送信情報 (データ、 メッセージ) をキュ一^ Γング又はバッファリングする通信キ ユー 421と、 相互排他制御を行う排他制御領域 422とを備えている。
例えば CPU# 0と CPU# 1の 2つの領域を想定すると、 CPU# 1用の割 り込み制御装置 41 1と、 CPU# 1用の通信領域 421とが、 CPU# 0から CPU# 1へプロセッサ間通信手段 401を構成し、 CPU# 0用の割り込み制 御装置 410と CPU# 0用の通信領 420とが、 CPU# 1から CPU#0 へのプロセッサ間通信手段 402を構成している。
割り込み制御装置 41と、 共有メモリ 42は、 CPU# 0、 CPU# 1、 ' · · CPU#nと、 バス接続する構成とされる。 また、 共有メモリ 42の通信キュー 42 1には、 送信データそのものでなく、 送信データを格納するバッファポイン 夕 (たとえばメモリ 50条でのバッファ領域アドレス) を設定するようにしても 良い。
第 1例では、 共有メモリ 42における CPU# iの排他制御領域 422 iは、 CPU# iの通信領域 42 iを、 ある CPUが既に占有している場合、 他の CP Uが CPU# iの通信領域 42 iを使用することが無いようにする相互排他制御 のために、 設けられている。 すなわち、 CPU# iの排他制御領域 422 iは、 mutex等のセマフォ、 フラグ等の同期管理情報の格納に用いられる。
共有メモリ 42に実装された相互排他制御機構により、 送信 CPUと受信 CP
U間におけるデータの整合性 (consistency) が保証される。
また、 相互排他制御機構により、 送信側 CPUは、 排他制御領域 422がロッ ク状態のときは、 送信 CPUに対する割り込み要求をあげることが出来ず、 これ により、 送信 CPUから受信 CPUへの頻繁なデータ送信等、 不当な割り込み発 生を防ぐことが出来る。
なお、 排他制御領域 422としては、 キューへの繋ぎ(エンキユー)、 キューか らの取り外し (デキュー) のロック管理として用いても良い。
図 2において、 割り込み制御装置 41を介してひとつの受信 CPUへの多重割 り込みを許可する構成とした場合、 共有メモリ 42において、 各 CPUの通信領 域における通信キュー 421、 排他制御領域 422は、 多重数分設けられること になる。
特に制限されないが、 共有メモリ 42は、 図 1のメモリ 50の所定のメモリ領 域を共有メモリとして用いても良いし、 メモリ 50とは別に、 プロセッサ間通信 手段 40内に設ける構成としても良い。 また、 図示されないが、 割り込み制御装 置 410〜4 I nからの割り込み要求 (Interrupt Request) 線は、 パラレルに受 信 CPUに接続する構成としてもよいし (割り込み本数が増える)、 あるいは、 デ イジ一チェーン方式で接続する構成と Lても良い。
受信 CPUは、 割り込み制御装置 41からの割り込み要求を受理すると、 これ を割り込み制御装置 41に通知し、 割り込み制御装置 41は、 図示されないデー 夕線に割り込み装置番号 (割り込みベクター情報) を転送し、 受信 CPUは、 割 り込み装置番号から割り込みベクターを生成し、 スケジューラを介して、 受信 C P Uで実行される割り込みサービスルーチンが起動され、 割り込みサービスル一 チンが、 対応する共有メモリ 42の通信キューからデータを取得し、 排他制御領 域の mutex等のセマフォをリリース(アンロック) し、割り込みから復帰(Return From Interrupt) するという一連の制御が行われる。
図 3は、 図 2示した第 1例のプロセッサ間通信手段の動作手順を説明するため の図であり、 CPU# kから CPU# 0へデータを転送する場合の手順が示され ている。 図 3において、 矢線脇の数字は、 ステップ番号を表している。
ステップ 1 :送信 CPU#kは、 共有メモリ 42の CP U# 0の通信領域の排 他制御領域をロックする。 なお、 共有メモリ 42の CP U# 0の通信領域の排他 制御領域が他の C P Uによりロックされていることを示している場合、 例えば該 ロックが解除されるまで待機する。
ステップ 2 :送信 CPU#kは、 共有メモリ 42の CPU# 0の通信領域の排 他制御領域をロックした後、 共有メモリ 42の CP U# 0用通信領域の通信キュ —に、 受信 CP U# 0に送信するデータを書きこむ。
ステップ 3 :送信 CPU#kは、 割り込み制御領域 41の CPU# 0用割り込 み制御装置の割り込み指示部に、 割り込み要求を通知する。
ステップ 4 : CP U# 0用割り込み制御装置の割り込み指示部は、 CPU# 0 用割り込み制御装置の割り込み状態保持部を更新し、 「割り込み要求有り」に設定 する。
ステップ 5 : CP U# 0用割り込み制御装置の割り込み指示部は、 受信 CPU #0へ割り込みを行う。
ステップ 6 :受信 CPU# 0は、 CP U# 0用割り込み制御装置の割り込み指 示部からの割り込みを受理し、 共有メモリ 42の CP U# 0用通信領域の通信キ ユーから、 データを取り出す。 このとき、 受信 CPU# 0では、 上記した割り込 みサービスルーチンによる処理が行われる。
ステップ 7 :受信 CPU# 0は、 共有メモリ 42の C PU# 0用通信領域の通 信キューから、 データを取得した後、 CPU# 0用割り込み取り消し部に、 割り 込み処理完了を通知する。
ステップ 8 :受信 CPU# 0からの取り込み処理完了通知を受けた CPU# 0 用割り込み制御装置の割り込み指示部は、 C P U # 0用割り込み制御装置の割り 込み状態保持部を
更新する。
ステップ 9 :受信 CPU# 0は、 共有メモリ 42の CPU# 0の通信領域の排 他制御領域をアンロックする。
第 1例において、 特定の受信 CPUへの割り込み要求の集中を確認した場合、 受診 CPUへの割り込み要求を制御する等の流量制御、 帯域制御を行うようにし ても良い。 すなわち、 割り込み制御装置 41内に、 送信 CPU側から受信 CPU に対して、 連続 ·多発して割り込み要求を上げることがないように制限する Qo S (Qu a 1 i t y o f S e r v i c e )保証機能を備えても良い。例えぱ、 受信 CPUへのデータの引渡しを伴わない割り込み要求は、 排他制御の対象とさ れず、 複数連続して発行することが出来る。 そこで、 受信 CPU側で割り込み処 理が完了しない状態において、 送信 CPU側からの割り込み要求が発生し、 割り 込み制御装置 41の割り込み状態保持部の 「割り込み要求有り」 が所定以上とな つた場合に、 以降の送信 CPU側から割り込み要求を不許可とする制御が行うよ うにしてもよい。 かかる構成により、 例えば送信 CPUが、 受信 CPUへのデー 夕の引渡しを伴わない割り込み要求を多量に発生することで、 受信 CPUの性能 を低下させるといった類の攻撃を抑えることが出来る。
図 4は、 図 1に示した第 1例のアクセス制御手段 30の構成を示す図である。 図 4を参照すると、このアクセス制御手段は 30は、基本側バス 7 OAを介して、 基本処理 (図 1の 22 ) を実行する C P U 10 Aに接続詞、 追加側バス 70 Bを 介して追加処理 (図1の23) を実行する CPU 10 Bに接続するアクセス許可 手段 31と、 アクセス許可データ 32を格納した記憶手段を備えている。
アクセス許可データ 32は、 CPU1 OAから読み出し ·書き込みが可能とさ れる。 アクセス許可手段 3 1からは読み出しのみが許可されている。 そして、 ァ クセス許可デ一夕 32は、 CPU 10 Bからは読み出しも書き込みも不可とされ る。 すなわち、 アクセス許可データ 32と C PU 10 Bの間にはデータバスが存 在しない。
アクセス許可手段 31は、 追加側バス 70 Bのアドレス信号線、 制御信号線に 転送される、 メモリ 50 (図 1参照) へのアクセスアドレス信号、 及び制御信号 (アクセスコマンド) から、 アクセスの種別 (リード Zライト) を判別し、 ァク セス許可データ 32の情報を参照して、 当該アクセスが適正であるか否かを判別 する。判別の結果、アクセスが不当と判断された場合、アクセス許可手段 31は、 基本側バス 70Aへのアクセスアドレス、 制御信号 (アクセスコマンド) の送出 を行わず、 これにより、 CPU10B側から、 基本側バス 70Aへのアクセスは 行われない。 この場合、 追加側バス 70 Bにアクセスアドレスを送出した C PU 10 B側では、 バスエラー、 あるいは、 リード Zライトアドレスに対するメモリ 50等からの不応答により、 該アクセスが失敗したことを知る。
アクセス許可手段 31は、 入出力デバイス (IZO) 60がメモリマップド: I ZOである場合には、 追加側バス 70 Bを監視し、 アクセスアドレスが入出力デ バイス対応のアドレスであることを検出し、データバス上に、 I/Oコマンド(リ ード Zライト等) を検出した場合、 該アクセスが適正であるかをアクセス許可デ 一夕 32の情報を参照して決定する。 入出力デバイスがメモリマップド I Oで ない場合も、 追加側バス 70 Bに転送される入出力デバイスのデバイス番号、 I ZOコマンドをデコードし、 アクセス許可データ 32の情報を参照して、 ァクセ スの可否を決定する。
なお、 第 1例において、 アクセス制御手段 30は、 単位時間あたりのデータ転 送量の制御を行う帯域制約手段を備えてもよい。 一例として、 アクセス制御手段 30は、 C PU 10 Bがアクセス動作中に、 CPU 1 0 Bから追加側バス 70 B に転送されるデ一夕量を測定監視する手段を備え、 例えば、 単位時間あたり予め 定められた閾値を超えるバイト数のデータが転送される場合、 CPU10Bから CPU 1 OAへのデータ転送を打ち切る制御を行うようにしてもよい。 その際、 CPU10 Bが、 CPU1 OAへのデ一夕転送がフェイルしたことを知ってリト ライした場合にも、 アクセス制御手段 30は、 CPU 10 Bからのデータを CP U 1 OAに転送することは行わない。 あるいは、 アクセス制御手段 30は、 バッ ファを備え、 CPU10 Bから追加側バス 70 Bに転送されるデータをバッファ に蓄積し、 CPU 1 OAに転送されるデータの流量を制御する構成としてもよい。 図 5は、 第 1例におけるアクセス許可データ 32の一例を示す図である。 図 5 を参照すると、 アクセス許可データは、 追加処理を実行する CPU (図 4の追加 側バスに接続する CPU) と、 アクセスが許可される範囲の始点アドレスと終点 アドレスからなる許可範囲アドレスと、 許可するアクセス種別 (リード、 リード /ライト、 ライトの種別) がテーブル形式で格納されている。 なお、 許可範囲ァ ドレスは、 異なる CPUで重複しても良い。 図 5に示す例では、 2行目の CPU # 2、 # 3の許可範囲アドレスは、 O xC O O O O O Oから O xF O O O O O O で、 読み出し Z書き込み可 (R/W) あり 3行目の CP U# 3の許可範囲アド レスは、 O xE O O O O O Oから O xF O O O O O Oであり、 2行目と重複して いる。 アドレス許可データの数、 したがってテーブルのエントリ数は、 その数が 多いほど、 きめ細かく、 アクセス制御を行うことが出来る。 なお、 図 5では、 .説 明のため、 R (読み出し可)、 W (書き込み可)、 RZW (読み出し Z書き込み可) を例示したが、 R (読み出し可) は、 読み出しのみ可とし書き込みを不可とする 情報であり、 Wを書き込みを可'(読み出しも可) とした場合には、 R/Wは、 不 要とされる。 また、 読み出しが不可 (書き込みも不可) のアドレス範囲は、 アド レス許可データ 32には格納されない。 図 5に示す例では、 アクセス許可データ として、 アクセスが許可された CPUのそれぞれについて、 アドレス範囲と、 ァ クセス種別を有するが、 アクセス許可データに、 アクセス種別として、 アクセス 不可の情報をさらに設け、 追加処理を実行する CPUについて、 アクセス不可の アドレス範囲を格納するようにしても良い。
図 4のアクセス許可手段 31は、 追加側の CPUからのアクセス要求 (ァドレ ス、 読み書きコマンド) を受け取り、 アクセス許可データ 32の許可範囲アドレ ス、 アクセス種別を参照して、 許可されたアクセスの場合、 該アクセスを許可す る。 一方、 不許可の場合、 アクセスを不許可とする。 図 5に示す例では、 CPU # 4の揚合、始点ァドレス 1000から終点ァドレス 2000 (へキサデシマル) とされ、 アクセス種別は読み出し (R) 'とされる。 CPU# 2、 # 3の場合、 始 点アドレス 0 X C 000000から終点ァドレス O xF O O O O O O (へキサデ シマル) とされ、 アクセス種別は読み出しと書き込み (RZW) とされる。 CP U # 3の場合、 始点ァドレス O xE O O O O O Oから終点ァドレス 0 X F 000 000 (へキサデシマル) のアクセス種別は書き込み (W) とされる。
図 6は、図 4のアクセス制御手段 30の動作の一例を説明するための図である。 図 6において、 矢線脇の番号は、 ステップ番号を示している。
ステップ 1 :基本処理を実行する CPU 10Aは、 アクセス制御手段 30のァ クセス許可データ 32に、 全ての追加処理を実行する C PU 10 Bが、 あるアド レス範囲を読み出すことを禁止する。
ステップ 2 : CPU10 Bが、 追加処理 23の実行等により、 読み出しが禁止 されたァドレス範囲への読み出し要求を発行したとする。
ステップ 3 :アクセス許可手段 3 1は、 アクセス許可データ 3 2を読み出し、 該アクセス要求の適否をチェックする。
ステップ 4 :アクセス許可手段 3 1は、 C P U 1 0 Bへエラーを返す。 該アド レス範囲は、 C P U 1 0 Bからの読み出しが禁止されているためである。
ステップ 5 : C P U 1 0 Bは、 上記アドレス範囲とは別の範囲への読み出し要 求を発行する。
ステップ 6 :アクセス許可手段 3 1は、 アクセス許可データ 3 2を読み出して チェックする。
ステップ 7 :アクセス許可手段 3 1は、 C P U 1 0 Bの読み出しのアクセス要 求を許可し、 基本側バス 7 O Aに読み出し要求として発行する。
なお、 第 1例では、 アクセス制御手段 3 0の構成として、 アクセス許可手段 3 1と、 アクセス許可データ 3 2を備え、 アクセス許可情報に基づき、 アクセス制 御を行う例について説明したが、 第 1例にかかる構成のみに制限されるものでな く、 アクセス許可のデータに変えて (反転し)、 アクセス拒否データと、 アクセス 拒否手段を備えても良い。 この場合、 アクセス拒否手段は、 追加処理を実行する C P U 1 0 Bからのアクセスアドレスが、 アクセス拒否データに、 アクセス拒否 が定義されたアドレス範囲に合致した場合に、 アクセスを拒否する制御を行う。 第 1例の変形例として、アクセス許可'手段 3 1に、キャッシュを備えても良い。 この場合、 アクセス判定に用いたアクセスアドレス、 アクセス許可データは、 キ ャッシュに格納され、 次回以降のアクセス制御の判定において、 該当するァクセ スアドレス (アドレス範囲) のアクセス許可データがキャッシュに存在するかを 判定し、 キャッシュヒットした場合、 アクセス判定の高速化を実現している。 キ ャッシュには、 アクセスアドレスの範囲に対応するタグアドレス、 アクセス許可 データを備え、 追加側バス 7 0 Bのアクセスアドレスがキャッシュとヒットする か否か判定するキャッシュヒット判定回路を備えて構成される。
さらに、 第 1例の変形例として、 アクセス制御手段 3 0が、 新アクセス許可デ 一夕 3 3と、 アクセス許可データ更新手段 3 4を備える構成としてもよい。 図 7 を参照すると、 アクセス制御手段 3 0は、 図 6に示した第 1例に加えて、 基本側 バス 7 0 Aに接続するァクセス許可データ更新手段 3 4と新アクセス許可デ一タ 3 3を格納した記憶手段を備えている。 この 2つの手段の機能について詳細を説 明する。
新アクセス許可データ 3 3は、 図 6のアクセス許可データ 3 2と同じ特徵 ¾持 つのに加え、 アクセス許可データ更新手段 3 4からのみの読み出しを許可する記 憶手段である。
アクセス許可データ更新手段 3 4は、 基本側バス 7 O Aを通じた C P U 1 O A からの要求によって、 新アクセス許可データ 3 3の内容をアトミックに新ァクセ ス許可データ 3 4に上書きする。
なお、 第 1例の変形例において、 アクセス許可データ 3 2の更新ではなく、 新 アクセス許可データ 3 3への切替を行う手段を設けてもよい。
このような構成によれば、 アクセス許可データ 3 2の更新を C P Uによりアト ミックに書き換えることが可能となるため、 アクセス制御手段 3 0による保護す べき領域、 制限すべき領域を動的に変更することが可能である。
また、 図 8は、 第 1例のアクセス制御手段 3 0の別構成を示す図である。 図 8 を参照すると、 このアクセス制御手段 3 0は、 図 6に示した第 1例に加えて、 追 加側バス 7 0 Bに接続するアクセス監視手段 3 5と学習手段 3 6 'を備えている。 この手段の機能について詳細を説明する。
アクセス監視手段 3 5は、 アクセス許可手段 3 1と同様に追加側バス 7 0 Bを 通じた C P U 1 0 Bからのアクセス情報を取得する。
学習手段 3 6は、 前記アクセス監視手段 3 5から提供されるアクセス情報に基 づき、 その参照が適切かどうかを判断する。 例えば、 ユーザ保護データに対する 参照回数をカウントしておき、もしあらかじめ指定された闞値を越えた場合には、 異常事態と認定し、 アクセス監視手段 3 5にそのことを通知し、 別途定められた ルールに従ってアクセス許可データ 3 2を動的に変更する。 また、 場合によって は、 基本側バス 7 O Aにつながる C P U l O Aに通知をし、 異常時の処理を起動 してもよい。
このような構成によれば、 実際に参照されたパターンから信頼度が低いと思わ れる C P Uの動作を履歴情報として蓄積することで自律的に制限できるため、 実 動作における C P Uの動作状況に基づいたより安全な実行制御を行うことが可能 となる。
また、 アクセス制御手段 30の構成例としては、 図 6の構成に加えて、 上記説 明した新アクセス許可データ 33、 アクセス許可データ更新手段 34、 アクセス 監視手段 35、 学習手段 36のすベてを備える構成とすることも可能である。 図 9は、 基本構成の第 2例の構成を示す図である。 図 9を参照すると、 第 2例 は、 図 1の構成に加えて、 追加処理側のソフトウェアと〇S、 CPUをさらに 1 組追加したものである。 すなわち、 第 2の追加処理側の CPU10 Cは、 プロセ ッサ間通信手段を介して、 第 1の追加処理用の C P U 10 Bと相互に通信する。 また、 第 2の追加処理側の CPU 1 0 Cは、 第 2のアクセス制御手段 302を介 して、 基本側バス 7 OAに接続される。
各アクセス制御手段 301、 302の設定は、 基本処理 22を実行する CPU 10 Aが設定する。 すなわち、 基本処理 22を実行する CPU 1 OAが、 マスタ —プロセッサとして機能する。 CPU 10 Aにより、 メモリ 50及び入出力デバ イス (IZO) 60の集中的な管理が行われる。
第 2の追加処理 23 Cを実行する C P U 10 Cは、 第 1の追加処理 23 Bを実 行する CPU10 Bに対してプロセッサ間通信手段 403を介して通信(データ、 コマンドの送信) を行い、 第 1の追加処理 23 Bを実行する CPU 10 Bは、 基 本処理 22を実行する CPU 1 OAに してプロセッサ間通信手段 401を介し て通信 (データ、 コマンドの送信) を行う。 また、 第 2の追加処理 23 Cを実行 する CPU 10 Cは、 第 2のアクセス制御手段 302の監視の下、 メモリ 50、 入出力デバイス (IZO) 60に対して許可されたアクセスのみを行い、 第 1の 追加処理 23 Bを実行する CPU 1 OBは、 第 1のアクセス制御手段 301の監 視の下、 メモリ 50、 入出力デバイス (I/O) 60に対して許可されたァクセ スのみを行い、 第 1のアクセス制御手段 301、 第 2のアクセス制御手段 302 のアクセス許可デ一夕の設定は、 すべて CPU 1 OAによって行われる。 かかる 構成により、 集中的な管理が行われ、 また、 プロセッサ間通信手段 40により、 CPU間で処理の受け渡しが行われる。 第 2例においても、 基本処理 22を実行 する CPU 1 OAに対する、 追加処理 23 B、 23 Cからの直接的な攻撃等は回 避される。 すなわち、 前記第 1例と同様に、 追加処理 23 B、 23 Cは、 基本処 理 22を直接起動あるいはサブルーチン呼出しすることは出来ず、 基本処理 22 の起動要求は、例えば CPU 1 0〇から0 111 08を介して、〇?111 OAに、 プロセッサ間通信手段を介して伝達され、該要求を受け取った CPU 1 OAでは、 権限が付与されていない CPUからの要求である場合、 該要求を受理しない (こ の詳細については、 後述するソフトウェアの実施例で詳述する)。 このように、 追 加処理側の C P Uと基本処理側の C P Uに権限の階層が設けられるほか、 プロセ ッサ間通信手段 40、 及びアクセス制御手段 30というハードウェア機構を介す ることで、 基本処理等の直接的な攻撃は、 回避される。 第 2例におけるプロセッ サ間通信手段 40 1〜404は、 図 2に示した前記第 1例の構成と同様とされ、 アクセス制御手段 30 1、 302も、 図 4に示した前記第 1例の構成と同様とさ れるため、 その詳細構成、 動作の説明は省略する。
図 1 0は、 基本構成の第 3例の構成を示す図である。 図 1 0を参照すると、 第 3例は、 図 9に示した構成と同様に、 図 1の構成にさらに、 追加処理側の CPU 1 0 Cと、 アクセス制御手段 302を追加したものである。 第 3例は、 図 9に示 した前記第 2例と相違して、 メモリと入出力デバイス (IZO) を、 各組 (ドメ イン) の CPU群毎に用意している。
第 2の追加処理 CPU 10 Cは、許可されたメモリ 50 C、入出力デバイス( I / ) 60 Cには、 アクセス制限なく 在にアクセスすることが出来る。 第 1の 追加処理 CPU 1 O Bには、 許可されたメモリ 50 B、 入出力デバイス (IZO) 60 Bには、 アクセス制限なくアクセスすることが出来る。
第 2の追加処理側の CPU 1 0 Cからの、 基本処理側のメモリ 50A、 入出力 デバイス (I /O) 6 OAへのアクセスは、 第 2のアクセス制御手段 302及び 第 1のアクセス制御手段 30 1の 2段構成にて、 アクセス制御が行われる。
第 1の追加処理側の CPU 1 0 Bからの、 基本処理側のメモリ 50A、 入出力 デバイス(1ノ〇) 60へのアクセスは、第 1のアクセス制御手段 30 1により、 アクセス許可が判定される。
第 1のアクセス制御手段 30 1のアクセス許可デ一夕、 第 2のアクセス制御手 段 302のアクセス許可データは、 基本処理の CPU 1 OAが設定する。 第 2の アクセス制御手段 302のアクセス許可デ^"夕は第 1の追加処理の CPU 10 B が設定しても良い。 第 3例によれば、 メモリ、 入出力デバイス (IZO) をドメ イン単位に分離し、 CPU間をプロセッサ間通信手段 40で多段に接続する構成 としたことにより、 追加処理による攻撃からの防護機能を高め、 安全性を確保し ている。
図 1 1は、 第 3例の変形例を示す図であり、 図 1に示した第 1例を 2以上のチ ップにおいて適用した例である。 図 1 1を参照すると、 CPU10A、 10 B、 10 C、 10 Dとアクセス制御手段 30 1の組み合わせからなるチップ 80を複 数並べることに加えて、 さらに個々のチップ 80間をアクセス制御手段 303で 結合する。 すなわち、 チップ 80A、 チップ 80 B等を複数並べ、 チップ 8 OA とチップ 80B間等をアクセス制御手段 303で結合する。
ある一チップ 80内における一部の CPUを基本処理実行用として設けること で、 一チップ 80内のアクセス制御手段 301によりアクセス制限を行うことも できるし、 各チップ 80内の少なくとも一部の CPUを基本処理実行用として設 けることも可能である。
また、 異なるチップ 80にまたがってドメインを構成し、 各チップ 80間のァ クセス制御手段 303により実行を制御することも可能である。
いずれの場合でも、 適切なアクセス制御手段 30の設定によって、 複数のチッ プ 80間においても本発明を適用する' | 報処理装置の基本構成における実行制御 を行うことが可能となる。
上記第 3例では、 主に、 本発明のハードウェア構成について説明したが、 本発 明のソフトウエア構成について以下に説明する。
図 12は、 本発明を実施するソフトウェア構成の一例を示す図であり、 基本ド メインと、 T r u s t e d (信頼) 拡張ドメイン、 Un t r u s t e d (無信頼) 拡張ドメインを備えている。 図 12のハードウェア構成としては、 3つの群の C
PUを備えた、 図 10の構成等を用いることが出来る。 この場合、 基本処理を実 行する実行環境である基本ドメインは、 図 10のソフト 20、 OS 21 Aに対応 し、 T r u s t e d拡張ドメインは、 図 10のソフト 20B、 OS 21 Bに対応 し、 Un t r u s t e d拡張ドメインは、 図 10のソフト 20 C、 OS 21 Cに 対応させることが出来る。
図 12を参照すると、 基本ドメイン 10 OAは、 基本アプリケーションプログ ラム (「基本アプリケーション」 という) 1 1 1と、 基本性能 1 12を含む基本ソ フト 1 10と、 OS 101 Aと、 専用ファイルシステム 103と、 外部デバイス 102Aを備え、 ネイティブコ一ドダウンロード管理機能 104 Aと、 セキユリ ティポリシデータべ一ス 105を備えている。 特に制限されないが、 基本機能 1 12は、例えば、第 3例の情報処理装置が携帯型情報通信端末である場合、発呼、 着信処理等の呼処理、 インターネッ卜アクセス、 画面処理等の、 携帯型情報通信 端末の基本性能を実現するもので、 図 1の基本処理 22に対応している。 基本ァ プリケ一シヨン 1 1 1は、 基本機能 1 12を呼び出して処理を行い、 基本機能 1
12は、 OSを介してファイルシステム、 外部デバイスへのアクセスを行う。 外 部デバイスは、 ワイヤレス通信インタフェース等の通信インタフェース、 表示装 置のインタフェース、 キー、 ポインティングデバイス等の入力イン夕フェース、 SD (Secure Digital) メモリ一カードインタ一フェース、 サウンドイン夕フエ —ス等を含む。
T r u s t e d拡張ドメィン 100 Bは、 ネィティブコ一ドダウン口一ド実行 機能 104Bと、 ダウンロードアプリケーションプログラム(「ダウン口一ドアプ リケ一シヨン」 という) 120 Bと、基本性能ライブラリ (ラッパ一) 1 13と、 O S 101 Bと、 許可された外部デバイス 102 Bを備えている。
〇 S 101 Bは、 証明書付のダウンロードドライバ 121 Bを含む。 証明書付 のダウンロードドライバ 121 Bは、 許可された外部デバイス 102 Bの入出力 制御を行う。
Un t r u s t e d拡張ドメイン 100 Cは、 ネイティブコードダウンロード 実行機能 104 Cと、 ダウンロードアプリケーション 120 Cと、 OS 101 C と、 許可された外部デバイス 102 Cを備えている。 OS 101 Cに組み込まれ るダウンロードドライバ 121 Cは、 許可された外部デバイス 102 Cの入出力 制御を行う。
基本ドメイン 10 OAの外部デバイス 102 Aから入力され、 ダウンロードさ れたファイルについて、 ネイティブコードダウンロード管理機能 104 Aが、 セ キユリティポリシデータベース 105の内容を参照することで、 信頼できる (信 頼できる電子証明書付) ネイティブコードのアプリケーションを、 T r u s t e d拡張ドメイン 100 Bに転送し、 信頼できる (信頼できる電子証明書付) ネィ ティブコードのダウンロードドライバ 121 Bの OS 101 Bへの組み込みを行 。
また、 ネイティブコードダウンロード管理機能 104Aは、 信頼できない (例 えば電子証明書無しであるか、 '証明書の内容が正しくない場合等) アプリケーシ ヨンを、 T r u s t e d拡張ドメィン 100 B経由で、 Un t r u s t e d拡張 ドメイン 100 Cへ転送し、 信頼できない (証明書無し) ダウンロードドライバ の Un t r u s t e d拡張ドメインの OS 101 Cへの組み込みを行う。
T r u s t e d拡張ドメイン 100 Bからは、 基本機能 1 12の呼出しは許可 されるが、 Un t r u s t e d拡張ドメイン 100 Cからの基本機能 1 12の呼 び出しは、 許可されない。 ただし、 Un t r u s t e d拡張ドメイン 100 Cと Tr u s t e d拡張ドメイン 100 Bとの協働作業は可能である。
信頼できるドメインで動作するアプリケーションプログラムは、 信頼できない ドメインからのデ一夕について、 ユーザの確認 (OK) があった場合にのみ、 基 本機能 1 12へ引き渡す。 ユーザの確認無く、 信頼できないドメインからのデー 夕を、基本機能 1 12に渡さない。なお、信頼できる拡張ドメイン 100 Bから、 直接、 基本ドメイン 10 OAの基本機能 1 12へ、 処理要求を発行することは出 来ない。
図 13は、 図 12に示した第 3例の動作を説明するための図であり、 基本アブ リケーシヨンの実行を示す図である。図 1 3において、各矢線に付された番号は、 当該線を情報が転送されるステップ番号を表している。
ステップ 1 :基本ドメイン 100Aの基本アプリケーション 1 1 1は、 基本機 能 112に、 処理要求 (例えば、 アドレス帳の追加等) を発行する。
ステップ 2 :基本機能 1 12は、 OS 101 Aを利用して、 該当要求を処理す る。
ステップ 3 :基本機能' 1 12は、 基本アプリケーション 1 1 1に要求の成否を 通知する。 図 1 4は、 図 1 2に示した第 3例の動作を説明するための図であり、 信頼アブ リケ一シヨンのダウンロードの実行の様子を示す図である。 図 1 4において、 各 矢線に付された番号は、 当該線を情報が転送されるステップ番号を表している。 ステップ 1 :基本ドメイン 1 0 O A上の外部デバイス 1 0 2 A (ネットワーク 又は S Dメモリカード等) から〇S 1 0 1 Aにダウンロードデータが到着する。 ステップ 2 :ダウンロードデータは、 基本機能 1 1 2にて、 属性情報等の情報 から、 追加アプリケーション (ダウンロードアプリケーション) と認識される。 ステップ 3 :基本機能 1 1 2は、 追加アプリケーションを、 ネイティブコード ダウンロード管理機能 1 0 4 Aに渡し、 ネイティブコードダウンロード管理機能 1 0 4 Aは、 セキュリティポリシデータベース 1 0 5を参照して、 追加アプリケ ーシヨンに付随した電子証明書をチェックする。 前述したように、 例えば電子証 明書には、 公開鍵やデジタル署名 (証明される機関や公開鍵などを秘密鍵で暗号 化したもの) が格納され、 ネイティブコードダウン口一ド管理機能 1 0 4 Aが、 証明書の認証を行う場合には、 デジタル署名の部分を、 公開鍵で解読して、 証明 書のデ一夕の内容と一致するか否かを確認し、 一致する場合に、 証明書のデータ を信頼してもよいと判断する。 さらに、 アプリケーションのダイジェストからな るデジタル署名を付随しておくことで、 ダウンロードしたアプリケーションが改 竄されていないかどうかチェックすることが出来る。
ステップ 4 :ネイティブコードダウンロード管理機能 1 0 4 Aは、 電子証明書 とともに、 ダウンロード情報を、 セキュリティポリシデータベース 1 0 5に保存 する。
ステップ.5 :基本ドメイン 1 0 O Aのネイティブコードダウンロード管理機能 1 0 4 Aは、 電子証明書のチェックの結果、 正しい場合、 T r u s t e d拡張ド メイン 1 0 0 Bのネイティブコードダウンロード実行機能 1 0 4 Bに、 ダウン口 ードアプリケーションを送信し、 実行を要求する。 基本ドメイン 1 0 O Aのネィ ティブコードダウン口一ド管理機能 1 0 4 Aから、 T r u s t e d拡張ドメイン 1 0 0 Bのネイティブコードダウン口一ド実行機能 1 0 4 Bのデ一夕の送信は、 図 9又は図 1 0のプロセッサ間通信手段 4 0を用いて行われる。
ステップ 6 : T r u s t e d拡張ドメイン 1 0 0 Bのネィティブコードダウン ロード実行機能 104Bは、 受け取ったダウンロードアプリケーションを実行す るように制御する。
ステップ 7 :ダウンロードアプリケーションは T r u s t e d拡張ドメィン上 で実行される。
図 1 5は、 図 12に示した第 3例の動作を説明するための図であり、 信頼ドラ ィバのダウンロード実行を示す図である。 信頼ドライバとは、 例えばダウン口一 ドされたドライバに添付される電子証明書の照合結果が正しいドライバを言う。 図 15において、 各矢線に付された番号は、 当該線を情報が転送される図轍鮒番 号を表している。
ステップ 1 :基本ドメイン 10 OA上の外部デバイス 102 A (ネットワーク 又は SDカード等) から OS 101 Aにダウンロードデ一夕が到着する。
ステップ 2 :基本機能 1 12にて、 属性情報、 自動インストール情報等から、 ダウンロードデータは、 追加デバイスドライバ (ダウンロードドライバ) である と認識する。
ステップ 3 :基本機能 1 12は、 受信したドライバを、 ネイティブコードダウ ンロード管理機能 104 Aに渡す。 ネイティブコードダウンロード管理機能 10 4Aは、 セキュリティポリシデータベース 105を参照して、 ダウンロードデ一 夕に付随した電子証明書をチェックする。
ステップ 4 :ネイティブコードダウンロード管理機能 104Aは、 電子証明書 とともに、 ダウンロード情報をセキュリティポリシデータベース 105に保存す る。
ステップ 5 :ネィティブコードダウンロード管理機能 104 Aは、 T r u s t e d拡張ドメインのネイティブコードダウンロード実行機能 104 Bに対して、 ダウンロードドライバを送信し、 インストールの実行を要求する。 基本ドメイン 10 OAのネイティブコードダウンロード管理機能 104Aから、 T r u s t e d拡張ドメイン 100 Bのネイティブコードダウンロード実行機能 104Bのデ 一夕の送信は、 図 9又は図 10のプロセッサ間通信手段 40を用いて行われる。 ステップ 6 : T r u s t e d拡張ドメインのネイティブコードダウンロード実 行機能 104Bは、 受け取ったダウンロードドライバを自動インストールする。 特に制限されないが、 第 3例において、 ダウンロードドライバはインス ] ^一ルし た後 C P Uを再起動して O S 1 0 1 Bのある領域に組み込むレジデント型のドラ ィバであっても良い。
ステップ 7 : T r u s t e d拡張ドメインの〇S 1 0 1 Bは、 ダウンロードド ライバをインストールされたことを、 既に実行済みのアプリケーションに通知す るカゝ、 表示する。
ステップ 8 : T r u s t e d拡張ドメインにおいて、 既に実行済みのアプリケ ーシヨン 1 0 2 Bは、 インストールされたダウンロードドライバ 1 2 1 Bを参照 する。
ステップ 9: T r u s t e d拡張ドメィンの O S 1 0 1 Bにインス 1 ルされ、 ロードされたダウンロードドライバ 1 2 1 Bは、 許可された外部デバイス 1 0 2 Bをアクセスする。
ステップ 1 0 :ダウンロードドライバ 1 2 1 Bは、 ダウンロードアプリケ一シ ヨン 1 2 1 0 Bに外部デバィス 1 0 2 Bからのデ一夕を返す。
図 1 6は、 図 1 2に示した第 3例の動作を説明するための図であり、 T r u s t e d拡張ドメインの信頼アプリケーション (ダウン口一ドアプリケーション) が、 基本ドメインの基本機能を利用する場合の動作を示す図である。 図 1 6にお いて、 各矢線に付された番号は、 当該線を情報が転送されるステップ番号を表し ている。
ステップ 1 : T r u s t e d拡張ドメイン 1 0 0 Bにおいて、 ダウンロードア プリケーシヨン 1 2 0 Bが、 基本機能ライブラリ 1 1 3へ、 基本ドメイン 1 0 0 Aの基本機能 1 1 2の処理を要求する。 基本機能ライブラリ 1 1 3は、 基本ドメ イン 1 0 O Aの基本機能 1 1 2の処理を実行するためのルーチンを集めたライブ ラリであり、 ダウンロードアプリケーション 1 2 0 Bから起動される。
ステップ 2 : T r u s t e d拡張ドメイン 1 0 0 Bの基本機能ライブラリ 1 1
3は、 ダウンロードアプリケーション 1 2 0 Bが保有する電子証明書の鍵 (公開 鍵等) を用いて、 要求を暗号化し、 暗号化した要求を、 基本ドメイン 1 0 0 Aの ネイティブコードダウン口一ド管理機能 1 0 4 Aへ送信する。 T r u s t e d拡 張ドメイン 1 0 0 Bの基本機能ライブラリ 1 1 3から基本ドメイン 1 0 0 Aのネ ィティブコードダウンロード管理機能 104 Aへの要求の送信は、 図 9又は図 1 0のプロセッサ間通信手段 40を介して行われる。
ステップ 3 :基本ドメイン 10 OAのネイティブコードダウンロード管理機能 104Aは、 受け取った要求を復号し、 該要求を、 電子証明書を利用して、 要求 送信元が適正であるか否か等のチェックを行う。 なお、 この例では、 要求の暗号 化と復号を用いて、 要求をチェックしているが、 アプリケーションと電子証明書 の対応がとれる方法であれば、 任意の方法を用いてよいことは勿論である。
ステップ 4 :基本ドメイン 10 OAのネイティブコードダウンロード管理機能 104 Aは、 要求のチェックの結果、 〇Kであれば、 基本機能 1 12へ要求を依 頼する。
ステップ 5 :基本ドメイン 10 OAの基本機能 1 12は、 ネイティブコードダ ゥンロード管理機能 104Aから受け渡された該要求を処理し、 処理終了後、 基 本ドメイン 10 OAのネイティブコードダウンロード管理機能 104 Aへ、 処理 完了を通知する。
ステップ 6 :基本ドメイン 10 OAのネイティブコードダウンロード管理機能
104 Aは、 T r u s t e d拡張ドメイン 100 Bの基本機能ライブラリ 1 13 へ、 処理の完了を通知する。 基本ドメイン 10 OAのネイティブコードダウン口 ード管理機能 104Aから T r u s t e d拡張ドメイン 100 Bの基本機能ライ ブラリ 113への通知の送信は、 図 9又は図 10のプロセッサ間通信手段を介し て行われる。
ステップ 7 : T r u s t e d拡張ドメイン基本機能ライブラリ 1 13は、 ダウ ンロードアプリケーション 120Bに、 要求に対する応答として処理の完了を通 知する。
図 17は、 図 12に示した第 3例の動作を説明するための図であり、 Un t r u s t e d拡張ドメインの無信頼アプリケーションのダウンロードの実行手順を 示す図である。 図 17において、 各矢線に付された番号は、 当該線を情報が転送 されるステップ番号を表している。
ステップ 1 :基本ドメイン 10 OA上の外部デバイス 102 A (ネットワーク 又は SDカード等) から、 〇S 101 Aにダウン口一ドデ一夕が到着する。 ステップ 2 :基本ドメイン 10 OAの基本機能 1 12では、 属性情報等を解析 し、 ダウン口一ドデ一夕をアプリケ一ション (ダウンロードアプリケーション) を認識する。
ステップ 3 :基本ドメイン 10 OAの基本機能 1 12は、 ダウンロードアプリ ケ一シヨンを、 ネイティブコードダウンロード管理機能 104 Aに渡す ό ネィテ イブコードダウンロード管理機能 104Aでは、 アプリケーションに、 電子証明 書が付随されていないか、 あるいは電子証明書が正しくないと判別する。
ステップ 4 :基本ドメイン 10 OAのネイティブコードダウンロード管理機能 104Aは、 セキュリティポリシデ一夕ベース 105に、 ダウンロード情報を保 存する。
ステップ 5 :基本ドメイン 10 OAのネイティブコードダウンロード管理機能 104 Aは、 T r u s t e d拡張ドメインのネイティブコードダウンロード実行 機能 104 Bに、 ダウンロードされたアプリケーションを送信する。 基本ドメィ ン 10 OAのネイティブコ一ドダウンロード管理機能 104八から丁1" 11 3 t e d拡張ドメインのネイティブコードダウンロード実行機能 104 Bへのアプリケ ーシヨンの送信は、 図 9又は図 10に示したプロセッサ間通信手段 40を介し t 行われる。
ステップ 6 : T r u s t e d拡張ドメイン 100 Bのネイティブコードダウン ロード実行機能 104Bは、 Un t r u s t e d拡張ドメイン 100 Cのネィテ イブコードダウンロード実行機能 104 Cにアプリケーションを送信し、 実行を 要求する。 T r u s t e d拡張ドメイン 100 Bのネィティブコードダウンロー ド実行機能 104Bから Un t r u s t e d拡張ドメイン 100 Cのネイティブ コードダウンロード実行機能 104 Cへのアプリケーションの送信は、 図 9又は 図 10に示したプロセッサ間通信手段 40を介して行われる。
ステップ 7 : Un t r u s t e d拡張ドメインのネイティブコードダウン口一 ド実行機能 104Cは、 受信したダウンロードアプリケーション 120 Cの起動 を行う。
ステップ 8 :ダウンロードアプリケ一ション 120 Cは、 Un t r u s t e d 拡張ドメイン 100 Cで動作を開始する。 この場合、 Un t r u s t e d拡張ド メインのダウンロードアプリケ一ション 1 ·20 Cは、 Un t r u s t e d拡張ド メインの OS 101 C上で動作し、 許可された外部デバイス 102 Cへのァクセ スのみが許可される。
図 18は、 図 12に示した第 3例の動作を説明するための図であり、 無信頼ド ライバのダウンロード実行の様子を示す図である。 図 18において、 各矢線に付 された番号は、 当該線を情報が転送されるステップ番号を表している。
ステップ 1 :基本ドメイン 10 OA上の外部デバイス 102 A (ネットワーク 又は SDカード等) から、 OS 101 Aにダウンロードデータが到着する。
ステップ 2 :基本機能 1 12は、 ダウンロードデータの到着で起動され、' 属性 情報、インストール情報等のダウンロードデータを解析し、デバイスドライノ (ダ ゥンロードドライバ) と認識する。
ステップ 3 :基本機能 1 12は、 ダウンロードドライバを、 ネイティブコード ダウンロード管理機能 104 Aに渡し、 ネイティブコードダウンロード管理機能 104Aは、 ダウンロードドライバに電子証明書が添付されていないか、 あるい は、 電子証明書は添付されているが、 電子証明書の内容が正しくないことが分か る。
ステップ 4 :基本ドメイン 10 OAのネイティブコードダウンロード管理機能 104 Aは、 ダウンロード情報のみをセキュリティポリシデータベース 105に 保存する。
ステップ 5 :ネイティブコードダウンロード管理機能 104 Aは、 T r u s t e d拡張ドメイン 100Bのネイティブコードダウンロード実行機能 104Bに ダウンロードドライバを送信する。 ネイティブコードダウンロード管理機能 10 4八から丁 1" 11 3 セ 6 d拡張ドメイン 10ひ Bのネイティブコードダウンロード 実行機能 104 Bへのダウンロードドライバの送信は、 図 9又は図 10に示した プロセッサ間通信手段 40を介して行われる。
ステップ 6 : T r u s t e d拡張ドメィン 100 Bのネィティブコ一ドダウン ロード実行機能 104Bは、 受け取ったダウンロードドライバを、 Un t r u s t e d拡張ドメイン 100 Cのネイティブコードダウンロード実行機能 104C に転送する。 T r u s t e d拡張ドメイン 100 Bのネイティブコードダウン口 ード実行機能 1 0 4 Bから U n t r u s t e d拡張ドメイン 1 0 0 Cのネィティ プコ一ドダウン口一ド実行機能 1 0 4 Cへのダウンロードドライバの転送は、 図 9又は図 1 0に示したプロセッサ間通信手段 4 0を介して行われる。
ステップ 7 : U n t r u s t e d拡張ドメィン 1 0 0 Cのネィティブコ一ドダ ゥンロード実行機能 1 0 4 Cは、 受信したダウンロードドライバ 1 2 1 Cをイン ストールする。
ステップ 8: O S 1 0 1 Cは、'ドライバ 1 2 1 Cがインストールされたことを、 既に実行済みのアプリケーション 1 2 0 Cへ通知するか、 画面に表示する (ュ一 ザに通知する)。
ステップ 9 : U n t r u s t e d拡張ドメイン 1 0 0 Cにおいて、 既に実行済 みのアプリケーション 1 2 0 Cは、 インス 1 ルされたダウンロードドライバ 1 2 1 Cを参照する。
ステップ 1 0 : U n t r u s t e d拡張ドメイン 1 0 0 Cにおいて、 インスト —ルされたダウンロードドライノ 1 2 1 Cは、 U n t r u s t e d拡張ドメイン の O S 1 0 1 Cを介して、 許可された外部デバイス 1 0 2 Cをアクセスする。 ステップ 1 1 : U n t r u s t e d拡張ドメインにおいて、 ダウンロードドラ ィバ 1 2 1 Cは、 ダウンロードアプリケーション 1 2 0 Cに、 外部デバイス 1 0 2 Cから取得したデータを返す。
図 1 9は、 図 1 2に示した第 3例の 作を説明するための図であり、 信頼アブ リケ一シヨンと無信頼アプリケーションの連携の様子を示す図である。 図 1 9に おいて、 各矢線に付された番号は、 当該線を情報が転送されるステップ番号を表 している。
ステップ 1 : U n t r u s t e d拡張ドメイン 1 0 0 C上のダウンロードァプ リケーション 1 2 0 Cは、 T r u s t e d拡張ドメィン 1 0 0 B上のダウン口一 ドアプリケーション 1 2 0 Bへデータを送信する。 このデータの送信は、 通常、 図 9又は図 1 0のプロセッサ間通信手段 4 0によって行われる。
ステップ 2 : T r u s t e d拡張ドメィン 1 0 0 B上のダウンロードアプリケ —シヨン 1 2 0 B」 は、 受け取ったデ一夕による処理を行い、 基本機能ライブラ リ 1 1 3へ、 U n t r u s t e d拡張ドメインと連携した情報を含む基本機能処 理を要求する。
ステップ 3 : T r u s t e d拡張ドメイン 1 0 0 B上の基本機能ライブラリ 1 1 3は、 アプリケーションが保有する電子証明書を用いて、 要求を暗号化し、 基 本ドメイン 1 0 O A上のネイティブコ一ドダウンロード管理機能 1 0 4 Aへ送信 する。 この要求の送信は、 通常、 図 9又は図 1 0のプロセッサ間通信手段 4 0に よって行われる。
ステップ 4 :基本ドメイン 1 0 O Aのネイティブコードダウンロード管理機能 1 0 4 Aは、 要求を復号し、 該要求の安全性を、 セキュリティポリシデータべ一 ス 1 0 5に格納された電子証明書を利用してチェックする。 チェックの結果、 要 求が正しい場合、 ネイティブコードダウンロード管理機能 1 0 4 Aは、 基本アブ リケ一シヨン 1 1 1を介して、 ユーザに確認を求める。 基本アプリケーション 1 1 1は、 画面表示、 入力のアプリケーションを含む。 なお、 この例では、 要求の 暗号化と復号を用いて、 アプリケーションと電子証明書の対応をチェックしてい るが、 アプリケーションと電子証明書との対応が取れる方法であれば、 任意の方 法を用いても良いことは勿論である。
ステップ 5 :ユーザからの確認として 「N〇」 が入力されるとする。
ステップ 6 :ネイティブコードダウン口一ド管理機能 1 0 4 Aは、 T r u s t e d拡張ドメイン 1 0 0 の基本機能ライブラリ 1 1 3へ不許可を通知する。 こ の不許可の通知は、 通常、 図 9又は図 1 0のプロセッサ間通信手段 4 0によって 行われる。
ステップ 7 :基本機能ライブラリ 1 1 3は、 ダウンロードアプリケーション 1 2 0 Bへ不許可を通知する。
. ステップ 8 : T r u s t e d拡張ドメイン 1 0 0 B上のダウンロードアプリケ ーシヨン 1 2 0 Bは、 U n t r u s t e d拡張ドメィン 1 0 0 C上のダウンロー ドアプリケーション 1 2 0 Cに不許可を通知する。 この不許可の通知は、 通常、 図 9又は図 1 0のプロセッサ間通信手段 4 0によって行われる。
図 2 0は、 図 1 2に示した第 3例の動作を説明するための図であり、 信頼アブ リケーシヨンと無信頼アプリケ一ションの連携を示す図である。図 2 0において、 各矢線に付された番号は、当該線を情報が転送されるステップ番号を表している。 ステップ 1 : U n t r u s t e d拡張ドメイン 1 0 0 C上のダウンロードァプ リケーション 1 2 0 Cは、 T r u s t e d拡張ドメイン 1 0 0 B上のダウン口一 ドアプリケーション 1 2 0 Bへデータを送信する。 このデータの送信は、 図 9又 は図 1 0等のプロセッサ間通信手段 4 0によって行われる。
ステップ 2 : T r u s t e d拡張ドメイン 1 0 0 B上のダウンロードアプリケ ーシヨン 1 2 0 Bは、 受け取ったデータによる処理を行い、 基本機能ライブラリ 1 1 3へ、 U n t r u s t e dと連携した情報を含む基本機能処理を要求する。 ステップ 3 : T r u s t e d拡張ドメイン 1 0 0 Bの基本機能ライブラリ 1 1 3は、 アプリケーション 1 2 O B g a保有する電子証明書を用いて、 要求を暗号 化し、 基本ドメイン 1 0 O A上のネイティブコードダウン口一ド管理機能 1 0 4
Aへ送信する。 この要求は、 通常、 図 9又は図 1 0のプロセッサ間通信手段 4 0 によって行われる。
ステップ 4 :基本ドメイン 1 0 O Aのネイティブコードダウンロード管理機能 1 0 4 Aは、 要求を復号し、 該要求の安全性を、 セキュリティポリシデータべ一 ス 1 0 5に格納される電子証明書を利用してチェックする。 チェックの結果、 要 求が正しい場合、 ネイティブコードダウンロード管理機能 1 0 4 Aは、 基本アブ リケ一シヨン 1 1 1を介してユーザに確認を求める。 なお、 この例では、 要求の 暗号化と復号を用いて、 アプリケーションと電子証明書の対応をチェックしてい るが、 アプリケーションと電子証明書との対応が取れる方法であれば、 任意の方 法を用いても良いことは勿論である。
ステップ 5 : この場合、 ユーザの確認として 「Y E S」 が入力される。
ステップ 6 :基本ドメイン 1 0 O Aのネイティブコードダウンロード管理機能 1 0 4 Aは、 基本機能 1 1 2へ要求を依頼する。
ステップ 7 :基本機能 1 1 2は、 要求を処理し、 ネイティブコードダウンロー ド管理機能 1 0 4 Aに処理完了を通知する。
ステップ 8 :基本ドメイン 1 0 O Aのネイティブコードダウンロード管理機能 1 0 4 Aは、 T r u s t e d拡張ドメイン 1 0 0 Bの基本機能ライブラリ 1 1 3 に完了を通知する。 この完了通知は、 図 9又は図 1 0のプロセッサ間通信手段 4 0によって行われる。 ステップ 9 : T r u s t e d拡張ドメイン 100 Bの基本機能ライブラリ 1 1 3は、 ダウンロードアプリケーション 120Bに完了を通知する。
ステップ 10 : T r u s t e d拡張ドメィン 100 Bのダウン口一ドアプリケ ーション 120 Bは、 Un t r u s t e d拡張ドメイン 100 Cのダウンロード アプリケーション 120 Cに完了を通知する。 この完了通知は、 図 9又は図 10 のプロセッサ間通信手段 40によって行われる。
図 21は、 基本構成の第 4例の構成を示す図である。 OSと CPU間に仮想マ シンモニタ (OSとの間に設けられ、 CPUで実行されるソフトウェア層) を備 えている。 これにより、 CPU、 1 0、 メモリ資源を仮想化している。 仮想マ シンモニタは、 〇Sと CPU間で、 仮想ハードウェア (例えば仮想入出力デバイ ス) を、 実際のハードウェアデバイスにマッピングする。 基本ドメイン、 T r u s t e d拡張ドメイン、 Un t r u s t e d拡張ドメィンのそれぞれについて、 OSは、 仮想の専用ファイルシステム、 仮想外部デバイスとの入出力 (IZ〇) 制御を行い、 OSと CPU間に、 仮想 CPU200 A、 200 B、 200 C、 仮 想マシンモニタ 210A、 210 B、 210 Cを備え、 仮想の専用ファイルシス テム 103 '、 仮想外部デバイス 102A'、 102 B'、 102 C を、 対応する 実ファイルシステム、 実外部デバィスへマッピングする。
第 4例によれば、 図 10のハ一ドウエア構成、 図 12のソフトウェア構成と相 違して、 第 4例において、 例えば基本ドメインに対応する仮想 CPUは固定でな く、 T r u s t e d拡張ドメイン等の CPUを、 基本ドメインの仮想 CPUとし てマッピングすることができる。なお、仮想マシンモニタは、その実装において、 既存の OS、 アプリケーションプログラム、 CPU等の修正等は不要とされる。 第 4例によれば、 各ドメインの CPUの個数は可変とされ、 仮想 CPUを構成す る。 ソフトウェア構成としては、 基本ドメイン、 T r u s t e d拡張ドメイン、 Un t r u s t e d拡張ドメインの構成は、 デバイス、 ファイルシステムが仮想 デバイス、 仮想ファイルシステムであることを除いて、 図 12に示した構成と同 様である。
図 22は、 図 21に示した第 4例の処理手順の一例を示す図である。 図 22に おいて、 各矢線に付された番号は、 ステップ番号を表している。 ステップ 1 :基本ドメイン 1 0 OAの仮想マシンモニタ 21 OAは、 T r u s t e d拡張ドメイン 100 B上の仮想マシンモニタ 210Bに対して CPUの委 譲を要求する。
ステップ 2 : T r u s t e d拡張ドメイン 100 B上の仮想マシンモニタ 2.1 0Bは、 仮想 CPU資源を減らす。
ステップ 3 : T r u s t e d拡張ドメイン 100 B上の仮想マシンモニタ 21 0 Bは、 基本ドメイン 10 OA上の CPU上の仮想マシンモニタ 2 1 OAに委譲 可能な CPUを通知する。
ステップ 4 :基本ドメイン 10 OA上の仮想マシンモニタ 21 OAは、 ァクセ ス制御手段等の設定を行い、 仮想 CPUの数を増やす。
第 4例によれば、 別の群の CPUを、 基本ドメインの CPUのように動作させ ることが出来る。 なお、 アプリケーションのダウンロード処理は、 前記した第 3 例の処理動作 (図 13乃至図 20) と同一であるため、 その説明は省略する。 第 4例の変形例として、 仮想マシンモニタを、 セキュアモードで動作させるよ うにしても良い。 このようにすることで、 安全性をさらに向上させることが出来 る。
上記ソフトウェアの各例において、 各ドメインの C PU群がマルチプロセッサ として動作する場合、 キャッシュコヒーレンスを保っためのバス、 仮想マルチプ 口セッサの無効化のために、 TLB (Translation Lookaside Buffer:アドレス 管理ユニット内に設けられるアドレス変換表) の全エントリをフラッシュするシ ユートダウン等、 ハードウェアで協調動作するチャネルについては、 すべて、 基 本ドメイン 100Aから、 制御できるように構成されている。 また、 図 23に示 すように、 各ドメインの CPU群 (例えば図 1のマルチ CPU構成の CPU群 1 0A、 10 B)を、分離手段 1 5を介して、複数に分業できる構成としても良い。 これにより、 例えばあるドメインの CPUを他のドメインに委譲する際の制御が 容易化し、 さらに障害マルチプロセッサの分離 (graceful degrading) 等にも対 応可能としている。
なお、 前記第 1例〜第 4例では、 ネットワーク等装置外部からネイティブコー ドの追加処理 (アプリケーション、 デバイスドライバ) をダウンロードして実行 する情報通信端末装置を例に説明したが、 本発明は、 かかる情報通信端末装置に 限定されるものでなく、 任意の情報処理装置に適用可能である。
(第 1の実施例)
上記において基本構成として示した情報処理装置のいずれかに対して本発明を 適用した第 1の実施例について説明する。 基本構成で示したのと同様の構成及び 動作については適宜説明を省略する。
(第 1の実施例の構成)
図 2 4に示すように、 本発明の第 1の実施例による情報処理装置は、 マルチプ 口セッサにより構成されており、 最高信頼度ドメイン 1 5 0 A、 中信頼度ドメイ ン 1 5 0 B、 低信頼度ドメイン 1 5 0 Cと、 データ送信部 3 0 1, 3 0 2 , 3 0 3と、 低信頼度ドメイン用データ送信部 3 0 4, 3 0 5と、 中信頼度ドメイン用 データ送信部 3 0 6, 3 0 7と、 ドメイン停止復旧手段 4 0 0とを備え、 ドメイ ンからの復旧等の要求を通知されると、 通知された要求に対応する処理を実行す る機能を有し、 または、 その要求が正当な場合に、 通知された要求に対応する処 理を実行する機能を有する。
なお、 本発明の第 1の実施例による情報処理装置は、 マルチプロセッサ上で各 ドメインが有するシングルプロセッサ向け O Sと既存のアプリケーションをそれ らに改造を加えることなく動作させ、 その既存のアプリケーションに対してマル チプロセッサによる並列処理を実現できるようにしたシングルプロセッサ向け O Sによる並列処理システムにかかるものでもよい。
この場合には、 シングルプロセッサ上でアプリケーションを動作させるよりも 高速処理が可能となり、 また、 マルチプロセッサがそれぞれ独立した O Sを備え る並列処理システムよりも簡易な構成により並列処理が実現できる。
最高信頼度ドメイン 1 5 O Aは、 前述の第 2例の図 9や第 3例の図 1 0におけ るソフトウェア 2 O Aと C P U 1 O Aとからなる構成や、 第 4例の図 2 1におけ る基本ドメイン 1 0 0 Aと仮想 C P U 2 0 O Aと仮想マシンモニタ 2 1 O Aとか らなる構成に対応し、 また、 基本ドメイン 1 0 O Aと同様に、 基本アプリケーシ ョンゃ基本ソフトを有する。 これら基本アプリケーションゃ基本ソフトとして、 例えば、 メーラー、 ブラウザ、 iモード (登録商標) や、 アドレス帳の機能等を 備えるものが挙げられる。
また、 最高信頼度ドメイン 1 5 OAは、 自身が備える CPU、 OSによって、 中信頼度ドメイン 1 50B及び低信頼度ドメイン 1 50 Cと、 ドメインで発行さ れた処理要求に関するデータや制御に関するデータ等を通信する機能を有する。 なお、 最高信頼度ドメイン 1 5 OAは、 ある一定のセキュリティレベル以上の 処理を実行するドメインであり、他のドメインと分離して設けられており、また、 例えば、外部からダウンロードされたネイティブコードの実行は行わず、さらに、 最も高い信頼度であることから、 他の全てのドメインについて、 停止状態等の障 害を復旧することが可能である。
また、 最高信頼度ドメイン 15 OAは、 最高信頼度ドメイン 1 5 OA以外への 通信経路専用の低信頼度ドメイン用デ一夕送信部 304及び中信頼度ドメイン用 データ送信部 306と、 最高信頼度ドメイン 15 OA以外のドメインからの通信 経路専用のデータ送信部 302, 303.とに接続しており、 各ドメインへの通信 経路がそれぞれ別に設けられていることから、 最高信頼度ドメイン 1 5 OAのみ に各種データの書き込みが許可される。
中信頼度ドメイン 150 Bは、 前述の第 2例の図 9や第 3例の図 10における ソフトウェア 20Bと CPU10 Bとからなる構成や、 第 4例の図 21における T r u s t e d (信頼) 拡張ドメイン 100 Bと仮想 CPU 200 Bと仮想マシ ンモニタ 210 Bとからなる構成に対応する。
また、 中信頼度ドメイン 150 Bは、 自身が備える CPU、 〇Sによって、 最 高信頼度ドメイン 1 5 OA及び低信頼度ドメイン 1 50 Cと、 ドメインで発行さ れた処理要求に関するデータや制御に関するデータ等を通信する機能を有する。 なお、 中信頼度ドメイン 150 Bは、 最高信頼ドメイン 1 5 OAで実行する処 理よりもセキュリティレベルの低い処理を少なくとも一以上有するドメインであ り、 他のドメインと分離して設けられており、 また、 例えば、 ダウンロードされ たネィティブコードのうち、 信頼できると保障されたコ一ドのみを実行する。 低信頼度ドメイン 150 Cは、 前述の第 2例の図 9や第 3例の図 10における ソフトウェア 20 Cと CPU10 Cとからなる構成や、 第 4例の図 21における U n t r u s t e d (無信頼) 拡張ドメイン 1 0 0, ( と仮想じ?11 2 0 0 Cと仮 想マシンモニタ 2 1 0 Cとからなる構成に対応する。
また、 低信頼度ドメイン 1 5 0 Cは、 自身が備える C P U、 〇Sによって、 最 高信頼度ドメイン 1 5 O A及び中信頼度ドメイン 1 5 0 Bと、 ドメインで発行さ れた処理要求に関するデータや制御に関するデータ等を通信する機能を有する。 なお、 低信頼度ドメイン 1 5 0 Cは、 中信頼度ドメイン 1 5 0 Bで実行する処 理よりもセキュリティレベルの低い処理を少なくとも一以上有するドメインであ り、 他のドメインと分離して設けられており、 また、 例えば、 ダウンロードされ たネィティブコードのうち、 信頼できると保障されたコ一ド以外のコ一ドを実行 する。
また、 最高信頼度ドメイン 1 5 0 A、 中信頼度ドメイン 1 5 0 B、 低信頼度ド メイン 1 5 0 Cは、 以下のように形成してもよい。
最高信頼ドメイン 1 5 O Aは、 最高信頼ドメイン 1 5 O Aのセキュリティレべ ルの実行処理のそれぞれが、 中信頼度ドメイン 1 5 0 Bの実行処理のセキユリテ ィレベルと同じか又は高く、 そして基本ドメインの実行処理の集合として少なく とも 1つセキュリティレベルの高い処理を含むドメインとし、 中信頼ドメイン 1 5 0 Bは、 中信頼度ドメイン 1 5 0 Bのセキュリティレベルの実行処理のそれぞ れが、 低信頼度ドメイン 1 5 O 'Cの実行処理のセキュリティレベルと同じか又は 高く、 そして各ドメインの実行処理の集合として少なくとも 1つセキュリティレ ベルの高い処理を含むドメインとし、 低信頼度ドメイン 1 5 0 Cは、 低信頼度ド メイン 1 5 0 Cのセキュリティレベルの実行処理のそれぞれが、 中信頼度ドメイ ン 1 5 0 Bの実行処理のセキュリティレベルと同じか又は低く、 そして各ドメイ ンの実行処理の集合として少なくとも 1つセキュリティレベルの低い処理を含む ドメインとする。
この場合には、 最高信頼度ドメイン 1 5 O Aは、 中信頼度ドメイン 1 5 0 Bよ りも相対的にセキュリティレベルの高い処理を行い、中信頼ドメイン 1 5 0 Bは、 低信頼度ドメイン 1 5 0 Cよりも相対的に高い処理を行う。
本発明の第 1の実施例における信頼度とは、 処理ごとに付与されたセキユリテ ィの度合いを示す電子証明書に基づき、 あるセキュリティポリシ一に従ってセキ ユリティレベルの段階ごとに設定されるものをいう。 例えば、 デジタル署名が付 与された処理ごとに、 あるセキュリティポリシーに基づきセキュリティレベルが 設定される。
図 2 5は、 機能重要度設定テーブル 7 0 0を示す図であり、 本発明の第 1の実 施例において設定される信頼度の一例を示す。
図 2 5に示すように、 信頼度は、 例えば、 階層的に、 レベル A:パスワードが 必要、 レベル B : 2度確認しない、 レベル C :実行ごとに確認、 レベル D:ァク セスごとに確認、 のように各レベルの重要度に応じたセキュリティレベルで設定 される。
これを利用して、 実行する機能に応じてドメインに信頼度を付与する。 すなわ ち、 ドメインによる障害の復旧要求の内容の重要度に応じて信頼度を設定する。 これにより、 例えば、 低信頼度ドメイン 1 5 0 Cからの復旧要求を一律には拒 否せずに、 軽微な障害についての復旧要求の場合にはこれを許諾するなど、 柔軟 な復旧処理が可能となる。
最高信頼度ドメイン 1 5 O Aにはレベル A、 中信頼度ドメイン 1 5 0 Bにはレ ベル B、 低信頼度ドメイン 1 5 0 Cにはレベル Cを配置するというように、 ード メインには同種のセキュリティレベルのみを配置してもよいが、 柔軟な復旧処理 を可能にする信頼度の設定として、 例えば、 図 2 5のように、 最高信頼度ドメイ ン 1 5 O Aには実行する機能の重要度によってレベル A以上、 レベル B以上、 中 信頼度ドメイン 1 5 0 Bにも実行する機能によってレベル B以上、レベル C以上、 低信頼度ドメイン 1 5 0 Cにも実行する機能によってレベル C以上、 レベル D以 上という配置としても良い。
このように設定された信頼度は、 例えば、 最高信頼度ドメイン 1 5 O Aによつ て管理されていてもよく、 この場合には、 最高信頼度ドメイン 1 5 O Aの判断に より、 実行する機能や処理について信頼度に応じた優先順位を定めることができ る。
このような設定が可能であればどんな証明書やどんなセキュリティポ ύシ一に 基づいて設定してもよく、' 実行する機能やドメイン数に応じて任意に設定するこ とが可能である。 データ送信部 301, 302, 303は、 ドメインで発行された処理要求に関 するデータや制御に関するデータ等を送信する機能を有し、構成例として例えば、 共有メモリとプロセッサ間割込み、 F I FOやキュー、 デュアルポートメモリ一 や、 他に LAN等のネットワーク、 有線通信や無線通信等からなる構成が挙げら れ、 データを送信する機能を有する従来の一般的な技術でよく、 データ送信が可 能であれば構成は特に制限されない。
データ送信部 301, 302 , 303で送信されるデータは、 処理要求を発行 した要求元ドメインを識別する情報、処理の対象となるドメインを識別する情報、 処理の内容を識別する情報等を含み、 また、 場合により、 処理の対象となるドメ ィンの実際の障害状況に関する情報を含む。
なお、 データ送信部 301, 302, 303は、 送信先ドメイン内の上位層へ のエラ一通知又はエラー処理を行う機構 (不図示) を備える。 送信先ドメインが 復旧処理中のデータ送信においては、 このような機構によりデータ送信完了まで の無駄な待ちを排除する必要があるからである。
また、 後述のデータ送信手段 304 a、 305 a、 306 a、 307 aも同様 である。
データ送信部 30 1は、 最高信頼度ドメイン 15 OAで発行された、 中信頼度 ドメイン 150 Bや低信頼度ドメイン 150 Cの復旧等を要求する処理要求等を、 ドメイン停止復旧手段 400に通知する機能を有する。
データ送信部 302は、 中信頼度ドメイン 1 50Bで発行された、 中信頼度ド メイン 150 Bや低信頼度ドメイン 150Cの復旧等を要求する処理要求等を、 最高信頼度ドメイン 15 OAに通知する機能を有する。
データ送信^ 5303は、 低信頼度ドメイン 1 50 Cで発行された、 中信頼度ド メイン 150 Bや低信頼度ドメイン 150 Cの復旧等を要求する処理要求等を、 最高信頼度ドメイン 15 OAに通知する機能を有する。
低信頼度ドメイン用データ送信部 304, 305は、 それぞれデ一夕送信手段 304 a, 305 aと、 低信頼度ドメイン停止検知手段 304 b, 305 bとを 備え、 対象ドメインである低信頼度ドメイン 150 Cへのデータ送信時に低信頼 度ドメイン 150 Cが実際にどのような障害状況にあるかを検知する機能を有す る。
中信頼度ドメイン用データ送信部 3 0 6., 3 0 7は、 それぞれデータ送信手段 3 0 6 a , 3 0 7 aと、 中信頼度ドメイン停止検知手段 3 0 6 b , 3 0 7 bとを 備え、 対象ドメインである中信頼度ドメイン 1 5 0 Bへのデータ送信時に中信頼 度ドメイン 1 5 0 Bが実際にどのような障害状況にあるかを検知する機能を有す る。
データ送信手段 3 0 4 a, 3 0 5 a , 3 0 6 a , 3 0 7 aは、 前述の通り、 上 記データ送信部 3 0 1, 3 0 2 , 3 0 3と同様の機能を有する。
低信頼度ドメイン停止検知丰段 3 0 4 b, 3 0 5 bは、 データ送信手段 3 0 4 a又は 3 0 5 aによって低信頼度ドメイン 1 5 0 Cにデータ送信をする際に、 低 信頼度ドメイン 1 5 0 Cが実際に停止状態であるか否かを検知する機能を有する。 この検知機能は、 例えば、 送信先ドメインである低信頼度ドメイン 1 5 0 Cに 当該デ一夕が受信されているか否かを判断することによって、 低信頼度ドメイン 1 5 0 Cが停止状態であるか否かを検知する。 具体的には、 当該データが低信頼 度ドメイン 1 5 0 Cに受理されない時間や回数を計測することによって検知する ことができる。 なお、 最高信頼度ドメイン 1 5 O Aや、 中信頼度ドメイン 1 5 0 Bの処理負担を増大させないために、 当該検知処理に要する時間はより短時間で あることが望ましい。
また、 低信頼度ドメイン停止検知手段 3 0 4 b , 3 0 5 bは、 低信頼度ドメイ ン 1 5 0 Cが停止状態であることを検知すると、最高信頼度ドメイン 1 5 O Aに、 低信頼度ドメイン 1 5 0 Cが停止状態であることを通知する。
中信頼度ドメイン停止検知手段 3 0 6 bは、 低信頼度ドメイン停止検知手段 3 0 4 b , 3 0 5 bと同様の構成及び機能を備え、 デ一夕送信手段 3 0 6 aによつ て中信頼度ドメイン 1 5 0 Bにデ一夕送信をする際に、 中信頼度ドメイン 1 5 0 B (の障害内容を検知)が実際に停止状態であるか否かを検知する機能を有する。 この検知機能は、 例えば、 送信先ドメインである中信頼度ドメイン 1 5 0 Bに 当該データが受信されているか否かを判断することによって、 中信頼度ドメイン 1 5 0 Bが停止状態であるか否かを検知する。 具体的には、 当該データが中信頼 度ドメイン 1 5 0 Bに受理されない時間や回数を計測することによって判断する ことができる。 なお、 最高信頼度ドメイン 1 5 O Aの処理負担を増大させないた めに、 当該検知処理に要する時間はより短時間であることが望ましい。
また、 中信頼度ドメイン停止検知手段 3 0 6 bは、 中信頼度ドメイン 1 5 0 B が停止状態であることを確認すると、 最高信頼度ドメイン 1 5 O Aに、 中信頼度 ドメイン 1 5 0 Bが停止状態であることを通知する。
なお、 後述するように、 中信頼度ドメイン停止検知手段 3 0 6 bは、 中信頼度 ドメイン 1 5 0 Bに対する復旧処理を許可するための権限を有する場合には、 中 信頼度ドメイン 1 5 0 Bが停止状態であることをドメイン停止復旧手段 4 0 0に 直接通知し、 ドメイン停止復旧手段 4 0 0を用いて中信頼度ドメイン 1 5 0 Bの 復旧処理を行ってもよい。
この場合には、 最高信頼度ドメイン 1 5 O Aが復旧処理の許可に関する処理を 行わないことから、 最高信頼度ドメイン 1 5 O Aの処理負担が軽くなるという効 果を奏する。
一方、 中信頼度ドメイン停止検知手段 3 0 7 bは、 自ドメインより信頼度が高 いドメインの停止を検知する手段であり、 データ送信手段 3 0 6 aによって中信 頼度ドメイン 1 5 0 Bにデータ送信をする際に、 中信頼度ドメイン 1 5 0 Bが実 際に停止状態であるか否かを検知する機能を有する。
この検知機能は、 例えば、 送信先ドメインである中信頼度ドメイン 1 5 0 Bに 当該データが受信されているか否かを判断することによって、 中信頼度ドメイン 1 5 0 Bが停止状態であるか否かを検知する。 具体的には、 当該データが中信頼 度ドメイン 1 5 0 Bに受理されない時間や回数を計測することによって判断する ことができる。 なお、 当該検知処理の時間が短いと、 低信頼度ドメイン 1 5 0 C が最高信頼度ドメイン 1 5 O Aに通知する情報の真偽についての信頼度が低いの で、 当該検知処理にはより長時間を設けることを必要とする。
また、 中信頼度ドメイン停止検知手段 3 0 7 bは、 中信頼度ドメイン 1 5 0 B が停止状態であることを検知すると、 最高信頼度ドメイン 1 5 O Aに、 中信頼度 ドメイン 1 5 0 Bが停止状態であることを通知する。
また、 上記各ドメイン停止検知手段は、 停止検知の対象となるドメインが実際 に停止状態であるか否かを、 例えば、 以下の示すような方法によって検知するこ とができる。
( 1 ) 送信元ドメインが、 停止検知の対象となる送信先ドメインに定期的に送 るチェックパケットの応答の有無を計測することによって検知できる。 具体的に は、 応答のない時間や回数を計測する。 また、 計測する当該時間や回数は信頼度 の差に応じて変更してもよい。
( 2 ) 送信先ドメインが表示する停止 ·暴走情報を計測することによって検知 できる。 具体的には、 送信先ドメインが定期的に更新する情報が途絶えたことを 計測する。
なお、 上記における当該時間、 回数や更新情報の計測頻度等をそれぞれ送信先 ドメインよりも高い信頼度のドメインが設定可能としてもよい。 ただし、 最低閾 値を超えての設定の変更はできないものとする。
上記各ドメイン停止検知丰段は、 上記各検知処理の手法や当該時間、 回数ゃ更 新情報等を任意に組み合わせることによって、 停止検知の対象となるドメインが 実際に停止状態であるか否かを確認してもよい。
ドメイン停止復旧手段 4 0 0は、 データ送信部 3 0 1を介して最高信頼度ドメ イン 1 5 O Aから通知された処理要求等に基づいて、 対象となるドメイン内の C P Uのリセットや O Sのリブート、 ドメイン自体のリブ一トゃ、 例えば、 何月何 日等の特定日時の環境へのロールバックや、 あるいは、 通信路の復旧やアプリの 再起動等、復旧処理を含む様々な処理要求を実行する機能を有しており、さらに、 最高信頼度ドメイン 1 5 O Aからのみアクセスできる構成になっており、 最高信 頼度ドメイン 1 5 O Aからの処理要求は無条件で受け入れる。
なお、 ドメイン停止復旧手段 4 0 0は、 最高信頼度ドメイン 1 5 O A以外のド メインから偉旧処理等の処理要求がなされた場合、 これらは全て拒否する。
すなわち、 復旧条件は、 個々のドメインの信頼度に応じて、 そのドメインから の復旧要求の許可または拒否によって決定することができる。 例えば、 本実施例 での復旧条件は、 最高信頼度ドメインからの復旧要求を全て許可し、 一方それ以 外のドメインからの復旧要求を全て拒否する、 と規定される。
図 2 6に、 ドメイン停止復旧手段 4 0 0の構成を示す。
図 2 6が示すように、 ドメイン停止復旧手段 4 0 0は、 復旧要求受信手段 4 0 1と、 ドメイン停止復旧処理手段 4 0 2とを備える。
復旧要求受信手段 4 0 1は、 最高信頼度ドメイン 1 5 O Aからデ一夕送信部 3 0 1を介して復旧要求 (処理要求) を受信し、 この処理要求をドメイン停止復旧 処理手段 4 0 2に通知する機能を有する。
ドメイン停止復旧処理手段 4 0 2は、 復旧要求受信手段 4 0 1から通知された 処理要求に基づいて、 何れのドメインが処理の対象となり、 どのような処理要求 がされたのか、 その処理内容を識別し、 該当するドメインに該当する処理内容を 依頼をする。
例えば、 最高信頼度ドメイン 1 5 O Aから通知された処理要求が、 停止してい る中信頼度ドメイン 1 5 0 Bの復旧処理要求の場合、 ドメイン停止復旧処理手段 4 0 2は、 停止している中信頼度ドメイン 1 5 0 Bに対して復旧処理を依頼をす る。
なお、 通信においては、 各層において通信相手が規定されるので、 それぞれの 階層で検知された障害の種類によって処理内容が異なる。 例えば、 それぞれの階 層で検知された停止の状態によつて復旧内容が異なる。
図 2 7に、 通信処理の内容 (処理内容) とその階層構造との対応関係の一例を 示す。
図 2 7が示すように、 各ドメインの階層構造は、 上の階層から順に、 例えば、 アプリケーション層、 ライブラリ層、 O S層、 C P U層と構成され、 ドメイン停 止復旧処理手段 4 0 2は、 予め定められた階層毎に対応する停止検知処理を実行 して通信処理 (復旧処理) を行う。
通信処理の内容(復旧処理内容)は、アプリケーション層でのアプリの再起動、 ライブラリ肩でのある時点への口一ルバック、 O S層での O Sリブート、 C P U 層での C P Uロールバックである。
なお、 第 1の実施例における情報処理装置を動作させるプログラムは、 上記各 部及び各手段で実現される機能を安定して実現する必要があるために、 外部から ダウンロードした追加処理の影響を受けることがない最高信頼度ドメイン 1 5 0 Aで格納及び実行されることが好ましい。
ここで、 第 1の実施例による情報処理装置のハードウェア構成の説明をする。 図 28は、 第 1の実施例による情報処理装置のハードウェア構成の一例を示す ブロック図である。
図 28を参照すると、 第 1の実施例による情報処理装置は、 一般的なコンビュ 一夕装置と同様のハードウェア構成を備えることによって実現することができ、 複数の CPU (Ce n t r a l P r o c e s s i n g Un i t) 501、 R
AM (Rand om Ac c e s s M e mo r y) 等のメインメモリであるデ 一夕の作業領域やデータの一時退避領域に用いられる主記憶部 502、 インター ネット 600を介してデ一夕の送受信を行う通信部 503、 液晶ディスプレイ、 プリン夕やスピーカ等の提示部 504、 キー操作部等の入力部 505、 周辺機器 と接続してデータの送受信を行うインタフェース部 506、ROM(Re ad 〇 n 1 y Memo r y),磁気ディスク、半導体メモリ等の不揮発性メモリから構 成されるハードディスク装置である補助記憶部 507、 本情報処理装置の上記各 構成要素を相互に接続するシステムバス 508等を備えている。
第 1の実施例による情報処理装置は、 その動作を、 情報処理装置内部にそのよ うな機能を実現するプログラムを組み込んだ、 LS I (L a r g e S c a l e
I n t e g r a t i on) 等のハードウェア部品からなる回路部品を実装してハ —ドウエア的に実現することは勿論として、 上記した各手段及び各部の各機能を 提供するプログラムを、 コンピュータ処理装置上の CPU 501で実行すること により、 ソフトウェア的に実現することができる。
(第 1の実施例の動作)
(最高信頼度ドメイン 150Aによる処理要求)
図 29は、 図 24に示した第 1の実施例の動作の一例を説明するための図であ り、 最高信頼度ドメイン 150Aによる中信頼度ドメイン 1 50Bの停止検知 · 復旧処理を示す。 図 29において、 各矢線に付された番号は、 当該線を情報が転 送されるステップ番号を表している。
まず、 初期状態として、 中信頼度ドメイン 1 50 Bが異常停止をしていること とする。
ステップ 1 :最高信頼度ドメイン 150Aが、 中信頼度ドメイン停止検知機能 付データ送信部 306のデータ送信手段 306 aを介して、 中信頼度ドメイン 1 5 0 Bへデ一夕を送信する。
ステップ 2 : 中信頼度ドメイン停止検知機能付データ送信部 3 0 6の中信頼度 ドメイン停止検知手段 3 0 6 bが、中信賴度ドメイン 1 5 0 Bの停止を検知する。 ステップ 3 :中信頼度ドメイン停止検知手段 3 0 6 bが中信頼度ドメイン 1 5 0 Bの停止を検知したことにより、 最高信頼度ドメイン 1 5 O Aが、 データ送信 部 3 0 1を介して、 ドメイン停止復旧手段 4 0 0に中信頼度ドメイン 1 5 0 Bの 復旧を要求する。
ステップ 4 : ドメイン停止復旧手段 4 0 0が、 最高信頼度ドメイン 1 5 O Aか らの復旧要求に基づいて、 中信頼度ドメイン 1 5 0 Bを復旧する。
図 3 0は、 図 2 4に示した第 1の実施例の動作の一例を説明するための図であ り、 最高信頼度ドメイン 1 5 O Aによる低信頼度ドメイン 1 5 0 Cの停止検知 · 復旧処理を示す。 図 3 0において、 各矢線に付された番号は、 当該線を情報が転 送されるステップ番号を表している。
まず、 初期状態として、 低信頼度ドメイン 1 5 0 Cが異常停止をしていること とする。
ステップ 1 :最高信頼度ドメイン 1 5 O Aが、 低信頼度ドメイン停止検知機能 付データ送信部 3 0 4のデータ送信手段 3 0 4 aを介して、 低信頼度ドメイン 1 5 0 Cへデータを送信する。
ステップ 2 :低信頼度ドメイン停止検知機能付デ一夕送信部 3 0 4の中信頼度 ドメイン停止検知手段 3 0 4 bが低信頼度ドメイン 1 5 0 Cの停止を検知する。 ステップ 3 :低信頼度ドメイン停止検知手段 3 0 4 bが低信頼度ドメイン 1 5 0 Cの停止を検知したことにより、 最高信頼度ドメイン 1 5 O Aが、 データ送信 部 3 0 1を介して、 ドメイン停止復旧手段 4 0 0に低信頼度ドメイン 1 5 0 Cの 復旧を要求する。
ステップ 4 : ドメイン停止復旧手段 4 0 0が、 最高信頼度ドメイン 1 5 O Aか らの復旧要求に基づいて、 低信頼度ドメイン 1 5 0 Cを復旧する。
(中信頼度ドメイン 1 5 0 Bによる処理要求)
図 3 1は、 図 2 4に示した第 1の実施例の動作の一例を説明するための図であ り、 中信頼度ドメイン 1 5 0 Bによる低信頼度ドメイン 1 5 0 Cの停止検知 ·復 旧処理を示す。 図 3 1において、 各矢線に付された番号は、 当該線を情報が転送 されるステップ番号を表している。
まず、 初期状態として、 低信頼度ドメイン 1 5 0 Cが異常停止をしていること とする。
ステップ 1 :中信頼度ドメイン 1 5 0 Bが、 低信頼度ドメイン停止検知機能付 デ一夕送信部 3 0 5のデータ送信手段 3 0 5 aを介して、 低信頼度ドメイン 1 5 0 Cへデータを送信する。
ステップ 2 :低信頼度ドメイン停止検知機能付データ送信部 3 0 5の低信頼度 ドメイン停止検知手段 3 0 5 bが、低信頼度ドメイン 1 5 0 Cの停止を検知する。 ステップ 3 :低信頼度ドメイン停止検知手段 3 0 5 bが低信頼度ドメイン 1 5
0 Cの停止を検知したことにより、 中信頼度ドメイン 1 5 0 Bが、 データ送信部 3 0 2を介して、 最高信頼度ドメイン 1 5 O Aに低信頼度ドメイン 1 5 0 Cの復 旧を要求する。
ステップ 4 :最高信頼度ドメイン 1 5 O Aが、 データ送信部 3 0 1を介して、 ドメイン停止復旧手段 4 0 0に低信頼度ドメイン 1 5 0 Cの復旧を要求する。 ステップ 5ドメイン停止復旧手段 4 0 0が、 最高信頼度ドメイン 1 5 O Aから の復旧要求に基づいて、 低信頼度ドメイン 1 5 0 Cを復旧する。
なお、 ステップ 3とステップ 4との間において、 最高信頼度ドメイン 1 5 O A が、 復旧を要求された上記低信頼度ドメイン 1 5 0 Cが実際に停止しているかを 確認するために、 低信頼度ドメイン停止検知機能付データ送信部 3 0 4を用いて 停止の有無を検知してもよい。
あるいは、 ステップ 4とステップ 5との間において、 ドメイン停止復旧手段 4 0 0が、 復旧を要求された上記低信頼度ドメイン 1 5 0 Cが実際に停止している かを確認するために、 低信頼度ドメイン停止検知機能付データ送信部 3 0 4を用 いて停止の有無を検知してもよい。
(低信頼度ドメイン 1 5 0 Cによる処理要求) ' 図 3 2は、 図 2 4に示した第 1の実施例の動作の一例を説明するための図であ り、 低信頼度ドメイン 1 5 0 Cによる中信頼度ドメイン 1 5 0 Bの停止検知 ·復 旧処理を示す。 図 3 2において、 各矢線に付された番号は、 当該線を情報が転送 されるステップ番号を表している。
' まず、 初期状態として、 中信頼度ドメイン 1 5 0 Bが異常停止をしていること とする。
ステップ 1 :低信頼度ドメイン 1 5 0 Cが、 中信頼度ドメイン停止検知機能付 データ送信部 3 0 7のデ一夕送信手段 3 0 7 aを介して、 中信頼度ドメイン 1 5
0 Bへデータを送信する。
ステップ 2 :中信頼度ドメイン停止検知機能付データ送信部 3 0 7の中信頼度 ドメイン停止検知手段 3 0 7 bが、中信頼度ドメイン 1 5 0 Bの停止を検知する。 ステップ 3 : 中信頼度ドメイン停止検知手段 3 0 7 bが中信頼度ドメイン 1 5 0 Bの停止を検知したことにより、 低信頼度ドメイン 1 5 0 Cが、 デ一夕送信部
3 0 3を介して、 最高信頼度ドメイン 1 5 O Aに中信頼度ドメイン 1 5 0 Bの復 旧を要求する。
ステップ 4 :復旧要求元ドメインである低信頼度ドメイン 1 5 0 Cが、 復旧対 象ドメインである中信頼度ドメイン 1 5 0 Bより信頼度が低く、 さらに、 低信頼 度であることから、 最高信頼度ドメイン 1 5 O Aが、 復旧要求の対象や内容の真 偽を確認するため、 中信頼度ドメイン停止検知機能付デ一夕送信部 3 0 6のデ一 タ送信手段 3 0 6 aを介して、 中信頼度ドメイン 1 5 0 Bへデータを送信する。 ステップ 5 :中信頼度ドメイン停止検知機能付データ送信部 3 0 6の中信頼度 ドメイン停止検知手段 3 0 6 bが、 中 ί言頼度ドメイン 1 5 0 Βの停止を検知する ことにより、 実際に中信頼度ドメイン 1 5 0 Βが停止していることを確認する。 ステップ 6 :最高信頼度ドメイン 1 5 O Aが、 実際に中信頼度ドメイン 1 5 0 Bが停止していることを確認したことにより、 データ送信部 3 0 1を介して、 ド メイン停止復旧手段 4 0 0に中信頼度ドメイン 1 5 0 Bの復旧を要求する。
ステップ 7 : ドメイン停止復旧手段 4 0 0が、 最高信頼度ドメイン 1 5 O Aか らの復旧要求に基づいて、 中信頼度ドメイン 1 5 0 Bを復旧する。
なお、 ステップ 4〜ステップ 6において、 最高信頼度ドメイン 1 5 O Aが当該 確認処理を行わずに、 ステップ 6とステップ 7との間において、 ドメイン停止復 旧手段 4 0 0が、 復旧を要求された上記中信頼度ドメイン 1 5 0 Bが実際に停止 しているかを確認するために、 中信頼度ドメイン停止検知機能付データ送信部 3 0 6を用いて停止の有無を検知してもよい。
(同一信頼度ドメインによる処理要求)
図 3 3は、 図 2 4に示した第 1の実施例の動作の一例を説明するための図であ り、 同一信頼度ドメイン内の停止検知 ·復旧処理の一例として、 中信頼度ドメイ ン 1 5 0 Bによる他の中信頼度ドメイン 1 5 0 Bの停止検知 ·復旧処理を示す。 図 3 3において、 各矢線に付された番号は、 当該線を情報が転送されるステップ 番号を表している。
まず、 初期状態として、 1群の中信頼度ドメイン 1 5 0 B内の少なくとも一つ の中信頼度ドメイン 1 5 0 Bが異常停止をしていることとする。
ステップ 1 :停止していない他の中信頼度ドメイン 1 5 0 Bが、 1群の中信頼 度ドメイン 1 5 0 B内の上記中信頼度ドメイン 1 5 0 Bへデータを送信する。 ステップ 2:データ送信先の上記中信頼度ドメイン 1 5 0 Bの停止を検知する。 なお、 同一信頼度ドメイン内の停止検知処理は、 信頼度が設定されていないドメ インにおける同一ドメイン内の停止検知処理と同様である。 従って、 この様な停 止検知処理は一般的な技術であるため、 説明を省略する。
ステップ 3 :データ送信先の上記中信頼度ドメイン 1 5 0 Bの停止を検知した ことにより、 当該データの送信元である中信頼度ドメイン 1 5 0 Bが、 データ送 信部 3 0 2を介して、 最高信頼度ドメイン 1 5 O Aに上記停止状態の中信頼度ド メイン 1 5 0 Bの復旧を要求する。 '
ステップ 4 :最高信頼度ドメイン 1 5 O Aが、 データ送信部 3 0 1を介して、 ドメイン停止復旧手段 4 0 0に上記停止状態の中信頼度ドメイン 1 5 0 Bの復旧 を要求する。
ステップ 5 : ドメイン停止復旧手段 4 0 0が、 最高信頼度ドメイン 1 5 O Aか らの復旧要求に基づいて、上記停止状態の中信頼度ドメイン 1 5 0 Bを復旧する。 なお、 ステップ 3とステップ 4との間において、 最高信頼度ドメイン 1 5 O A が、 復旧を要求された上記停止状態の中信頼度ドメイン 1 5 0 Bが実際に停止し ているかを確認するために、 中信頼度ドメイン停止検知機能付データ送信部 3 0 6を用いて停止の有無を検知してもよい。
あるいは、 ステップ 4とステップ 5との間において、 ドメイン停止復旧手段 4 0 0が、 復旧を要求された上記停止状態の中信頼度ドメイン 1 5 0 Bが実際に停 止しているかを確認するために、 中信頼度ドメイン停止検知機能付デー夕送信部 3 0 6を用いて停止の有無を検知してもよい。
(第 1の実施例による効果)
このように、 本発明の第 1の実施例によれば、 信頼度に基づいて各ドメインが 分離されているので、 メ一ラ一やブラウザ等の基本処理を有する最高信頼度ドメ イン 1 5 O Aが、 最高信頼度ドメイン 1 5 O A以外のドメインからの攻撃等の影 響を受けることがなく、 最高信頼度ドメイン 1 5 O A以外のドメインが停止する 際にも、 情報処理装置のメ一ラーやブラウザ等の基本処理がフリーズしない。 す なわち、 信頼度が低いドメインからウィルスを含んでいる等の悪意のある処理要 求や誤った復旧等の処理要求を受け付けないので、 情報処理装置の基本処理がフ リ一ズすることを防止することができる。
また、 最高信頼度ドメイン 1 5 O Aは、 最高信頼度ドメイン 1 5 O A以外への 通信経路専用の低信頼度ドメイン用データ送信部 3 0 4及び中信頼度ドメイン用 データ送信部 3 0 6と、 最高信頼度ドメイン 1 5 O A以外のドメインからの通信 経路専用のデータ送信部 3 0 2, 3 0 3とに接続しており、 各ドメインへの通信 経路がそれぞれ設けられていることから、 最高信頼度ドメイン 1· 5 O Aのみに各 種データの書き込みが許可され、 各ドメイン間の排他制御が不要となる。
さらに、 ドメイン停止復旧停止手段によって、 停止等の障害が生じた、 最高信 頼度ドメイン 1 5 O A以外のドメインを復旧できるので、 最高信頼度ドメイン 1 5 O Aのセキュリティを確保すると共に、 情報処理装置の継続した稼動を可能と する。
また、 ウォッチドッグタイマ等による自発的なドメイン復旧では、 データ送信 先のドメインの復旧にかかる時間が読めないので、 エラ一対処によって性能が落 ち、 さらに、 自発的なドメイン復旧が起動できない場合があるという問題を有す るが、 本発明の第 1の実施例によれば、 最高信頼度ドメイン 1 5 O Aが、 低信頼 度ドメイン用データ送信部 3 0 4及び中信頼度ドメイン用データ送信部 3 0 6に よって、 中信頼度ドメイン 1 5 0 Bや低信頼度ドメイン 1 5 0 Cへのデ一夕送信 時にこれらのドメインで生じている障害を検知できるので、 データ送信時に、 こ れらの障害の復旧が可能となり、 上記問題を回避できる。
さらにまた、 最高信頼度ドメイン 1 5 O Aが、 低信頼度ドメイン停止検知手段 3 0 4 b及び中信頼度ドメイン停止検知丰段という 2種類の停止検知手段を備え るため、 最高信頼度ドメイン 1 5 O Aによる停止検知処理について分散化でき、 高速化を図ることができる。
また、 最高信頼度ドメイン 1 5 O Aが、 自身の判断により、 信頼度に応じた優 先順位に基づいて復旧処理を行えるので、必要な機能から優先的に復旧できる等、 情報処理装置の適切な復旧が可能となる。 例えば、 障害が発生したあるドメイン に対して複数の復旧要求が同時になされた場合でも、 復旧要求の要求元のドメイ ンの信頼度や、 復旧要求が示す処理内容の信頼度に応じた優先順位の基づいて、 柔軟で効率的な復旧処理が可能となる。 また、 不必要な復旧処理の発生を抑える ことや、 必要最低限のみの復旧処理を行うことも可能である。
(第 2の実施例)
第 2の実施例は、 図 2 4に示した第 1の実施例に対応し、 第 1の実施例と同様 の構成を採用するが、 ドメイン停止復旧手段 4 0 0が、 各種ドメインで発行され た要求を受信する停止確認手段 4 0 3を有する点で相違する。
以下、 上記の第 1の実施例との相違点について主に説明し、 第 1の実施例と共 通する構成要素については説明を省略する。
(第 2の実施例の構成)
図 3 4は、 第 2の実施例によるドメイン停止復旧手段 4 0 0の構成を示す図で ある。
図 3 4に示すように、 第 2の実施例によるドメイン停止復旧手段 4 0 0は、 停 止確認手段 4 0 3を備える点で第 1の実施例と相違する。
停止確認手段 4 0 3は、 復旧要求受信手段 4 0 1を介して、 各種ドメインから 通知された情報から、 復旧要求 (処理要求) を発行した要求元ドメインを識別す る情報、 処理の対象となるドメインを識別する情報、 処理の内容を識別する情報 等を取得し、 低信頼度ドメイン用デ一夕送信部 3 0 4や中信頼度ドメイン用デー 夕送信部 3 0 6を用いて処理の対象となるドメインの実際の障害状況を検知し、 取得した処理の内容の真偽を確認する機能を有する。
停止確認手段 4 0 3は、 このようにして、 取得した処理の内容が正しいと確認 した場合に、 各種ドメインから通知された情報をドメイン停止復旧処理手段 4 0 2に通知し、 処理を要求する。
ドメイン停止復旧処理手段 4 0 2は、 停止確認手段から処理を要求されると、 停止確認手段 4 0 3から通知された情報に基づいて、 処理の対象となるドメイン 内の所定の手段に復旧等の処理を依頼する。
なお、 第 2の実施例では、 ドメイン停止復旧手段 4 0 0が有する停止確認手段 4 0 3が、 低信頼度ドメイン用データ送信部 3 0 4や中信頼度ドメイン用データ 送信部 3 0 6を備えていてもよいし、 また、 停止確認手段 4 0 3が、 ドメイン停 止復旧手段 4 0 0の外部にあり、 各種ドメインから通知された情報に基づいて上 記検知処理を行い、 ドメイン停止復旧手段 4 0 0内のドメイン停止復旧処理手段 4 0 2に処理要求を行う構成としてもよい。
(第 2の実施例の動作)
(中信頼度ドメイン 1 5 0 Bによる処理要求)
図 3 5は、 図 2 4に示した第 1の実施例において、 図 3 4に示した停止復旧手 段 4 0 0を備える場合の動作の一例を説明するための図であり、 中信頼度ドメイ ン 1 5 0 Bによる低信頼度ドメイン 1 5 0 Cの停止検知 ·復旧処理を示す。 図 3 5において、 各矢線に付された番号は、'当該線を情報が転送されるステップ番号 を表している。
なお、 中信頼度ドメイン 1 5 0 Bが、 データ送信部 3 0 2を介して、 ドメイン 停止復旧手段 4 0 0に低信頼度ドメイン 1 5 0 Cの復旧を要求する点において、 図 2 4に示した第 1の実施例と相違する。
まず、 初期状態として、 低信頼度ドメイン 1 5 0 Cが異常停止をしており、 か つ、 中信頼度ドメイン 1 5 0 Bが、 ドメイン停止復旧手段 4 0 0を利用でき、 も しくは、 ドメイン停止復旧手段 4 0 0を利用する権限を有することとする。
ステップ 1 :中信頼度ドメイン 1 5 0 Bが、 低信頼度ドメイン停止検知機能付 デ一夕送信部 3 0 5のデータ送信手段 3 0 5 aを介して、 低信頼度ドメイン 1 5 0 Cへデータを送信する。 ステップ 2 :低信頼度ドメイン停止検知機能付データ送信部 3 0 5の低信頼度 ドメイン停止検知手段 3 0 5 bが、低信頼度ドメイン 1 5 0 Cの停止を検知する。 ステップ 3 :低信頼度ドメイン停止検知手段 3 0 5 bが低信頼度ドメイン 1 5 0 Cの停止を検知したことにより、 ドメイン停止復旧手段 4 0 0を利用できる中 信頼度ドメイン 1 5 0 Bが、 データ送信部 3 0 2を介して、 ドメイン停止復旧手 段 4 0 0に低信頼度ドメイン 1 5 0 Cの復旧を要求する。
ステップ 4 : ドメイン停止復旧手段 4 0 0が、 中信頼度ドメイン 1 5 0 Bから の復旧要求に基づいて、 低信頼度ドメイン 1 5 0 Cを復旧する。
なお、 ステップ 3とステップ 4との間において、 ドメイン停止復旧手段 4 0 0 が、 復旧を要求された上記低信頼度ドメイン 1 5 0 Cが実際に停止しているかを 確認するために、 低信頼度ドメイン停止検知機能付データ送信部 3 0 4を用いて 停止の有無を検知してもよい。
また、 ステップ 3とステップ 4との間において、 原則的に、 ドメイン停止復旧 手段 4 0 0が、 復旧を要求された上記低信頼度ドメイン 1 5 0 Cが実際に停止し ているか等の障害を確認するために、 低信頼度ドメイン停止検知機能付データ送 信部 3 0 4を用いて停止等の有無を検知し、 中信頼度ドメイン 1 5 0 Bから復旧 要求がなされた場合には、 信頼度の設定に基づき、 上記停止等の障害の有無を検 知しないこととしてもよい。
(低信頼度ドメイン 1 5 0 Cによる処理要求)
図 3 6は、 図 2 4に示した第 1の実施例において、 図 3 4に示した停止復旧手 段 4 0 0を備える場合の動作の一例を説明するための図であり、 低信頼度ドメイ ン 1 5 0 Cによる中信頼度ドメイン 1 5 0 Bの停止検知 ·復旧処理を示す。 図 3 6において、 各矢線に付された番号は、 当該線を情報が転送されるステップ番号 を表している。
なお、 低信頼度ドメイン 1 5 0 Cが、 デ一タ送信部 3 0 3を介して、 ドメイン 停止復旧手段 4 0 0に中信頼度ドメイン 1 5 0 Bの復旧を要求し、 ドメイン停止 復旧手段 4 0 0が、 中信頼度ドメイン停止検知機能付データ送信部 3 0 7を用い て、 中信頼度ドメイン 1 5 0 Bへのデータ送信及び中信頼度ドメイン 1 5 0 Bの 停止を検知する点において、 図 2 4に示した第 1の実施例と相違する。 まず、 初期状態として、 中信頼度ドメイン 1 5 0 Bが異常停止をしており、 か つ、 低信頼度ドメイン 1 5 0 Cが、 ドメイン停止復旧手段 4 0 0を利用でき、 も しくは、 ドメイン停止復旧手段 4 0 0を利用する権限を有することとする。
ステップ 1 :低信頼度ドメイン 1 5 0 Cが、 中信頼度ドメイン停止検知機能付 データ送信部 3 0 7のデータ送信手段 3 0 7 aを介して、 中信頼度ドメイン 1 5 0 Bへデータを送信する。
ステップ 2 :中信頼度ドメイン停止検知機能付データ送信部 3 0 7の中信頼度 ドメイン停止検知手段 3 0 7 bが、中信頼度ドメイン 1 5 0 Bの停止を検知する。 ステップ 3 :中信頼度ドメイン停止検知手段 3 0 7 bが中信頼度ドメイン 1 5 0 Bの停止を検知したことにより、 低信頼度ドメイン 1 5 0 Cが、 データ送信部
3 0 3を介して、 ドメイン停止復旧手段 4 0 0に中信頼度ドメイン 1 5 0 Bの復 旧を要求する。
ステップ 4 :復旧要求元ドメインである低信頼度ドメイン 1 5 0 Cが、 復旧対 象ドメインである中信頼度ドメイン 1 5 0 Bより信頼度が低く、 さらに、 低信頼 度であることから、 ドメイン停止復旧手段 4 0 0が、 復旧要求の対象や内容の真 偽を確認するため、 中信頼度ドメイン停止検知機能付データ送信部 3 0 6のデー 夕送信手段 3 0 6 aを介して、 中信頼度ドメイン 1 5 0 Bへデータを送信する。 ステップ 5 :中信頼度ドメイン停止検知機能付データ送信部 3 0 6の中信頼度 ドメイン停止検知手段 3 0 6 が、 中 頼度ドメイン 1 5 0 Bの停止を検知する ことにより、 ドメイン停止復旧手段 4 0 0は、 実際に中信頼度ドメイン 1 5 0 B が停止していることを確認する。
ステップ 6 : ドメイン停止復旧手段 4 0 0は、 実際に中信頼度ドメイン 1 5 0 Bが停止していることを確 したことにより、 低信頼度ドメイン 1 5 0 Cからの 復旧要求に基づいて、 中信頼度ドメイン 1 5 0 Bを復旧する。
(同一信頼度ドメインによる処理要求)
図 3 7は、 図 2 4に示した第 1の実施例において、 図 3 4に示した停止復旧手 段 4 0 0を備える場合の動作の一例を説明するための図であり、 同一信頼度ドメ ィン内の停止検知 ·復旧処理の一例として、 中信頼度ドメイン 1 5 0 Bによる他 の中信頼度ドメイン 1 5 0 Bの停止検知 '復旧処理を示す。 図 3 7において、 各 矢線に付された番号は、 当該線を情報が転送されるステツプ番号を表している。 なお、 中信頼度ドメイン 1 5 0 Bが、 データ送信部 3 0 2を介して、 ドメイン 停止復旧手段 4 0 0に他の中信頼度ドメイン 1 5 0 Bの復旧を要求する点におい て、 図 2 4に示した第 1の実施例と相違する。
まず、 初期状態として、 1群の中信頼度ドメイン 1 5 0 B内の少なくとも一つ の中信頼度ドメイン 1 5 0 Bが、 ドメイン停止復旧手段 4 0 0を利用でき、 もし くは、 ドメイン停止復旧手段 4 0 0を利用する権限を有することとする。
ステップ 1 :停止していない他の中信頼度ドメイン 1 5 0 Bが、 1群の中信頼 度ドメイン 1 5 0 B内の上記中信頼度ドメイン 1 5 0 Bへデータを送信する。 ステップ 2:データ送信先の上記中信頼度ドメイン 1 5 0 Bの停止を検知する。 ステップ 3 :データ送信先の上記中信頼度ドメイン 1 5 0 Bの停止を検知した ことにより、 ドメイン停止復旧手段 4 0 0を利用できる当該データの送信元であ る中信頼度ドメイン 1 5 0 Bが、 データ送信部 3 0 2を介して、 ドメイン停止復 旧手段 4 0 0に上記停止状態の中信頼度ドメイン 1 5 0 Bの復旧を要求する。 ステップ 4 : ドメイン停止復旧手段 4 0 0が、 当該データの送信元である中信 頼度ドメイン 1 5 0 Bからの復旧要求に基づいて、 上記停止状態の中信頼度ドメ イン 1 5 0 Bを復旧する。
なお、 ステップ 3とステップ 4との間において、 ドメイン停止復旧手段 4 0 0 が、 復旧を要求された上記中信頼度ドメイン 1 5 0 Bが実際に停止しているかを 確認するために、 中信頼度ドメイン停止検知機能付データ送信部 3 0 6を用いて 停止の有無を検知してもよい。
(第 2の実施例による効果)
このように、 本発明の第 2の実施例によれば、 停止確認手段 4 0 3が、 各種ド メインから通知された情報に基づいて上記検知処理を行う。 従って、 最高信頼度 ドメイン 1 5 O Aが、 中信頼度ドメイン 1 5 0 Bや低信頼度ドメイン 1 5 0 Cか ら処理要求を通知されても、 処理の対象となるドメインの実際の障害状況を検知 し、 処理の内容の真偽を確認する必要がないので、 最高信頼度ドメイン 1 5 O A の処理負担が軽減されるという効果を奏する。 (第 3の実施例)
第 3の実施例は、 図 2 4にお示した第 1の実施例に対応し、 第 1の実施例と同 様の構成を採用するが、 ドメイン停止復旧手段 4 0 0が、 各種ドメインで発行さ れた要求を受信する復旧処理制御手段 4 0 4を有する点で相違する。
以下、 上記の第 1の実施例との相違点について主に説明する。
(第 3の実施例の構成)
図 3 8は、 第 3の実施例によるドメイン停止復旧手段 4 0 0の構成を示す図で ある。
図 3 8に示すように、 本実施例によるドメイン停止復旧手段 4 0 0は、 復旧処 理制御手段 4 0 4を備える点で第 1の実施例と相違する。
以下、 上記の第 1の実施例との相違点について主に説明する。
復旧処理制御手段 4 0 4は、 図 4のアクセス制御手段 3 0と同様の構成及び機 能を有し、 復旧処理許可データ 4 0 4 aを格納した記憶手段と、 復旧処理許可手 段 4 0 4 bとを備え、 復旧要求受信手段 4 0 1を介して最高信頼度ドメイン 1 5 O A以外のドメインから通知された処理要求に対する許否を判別する機能を有す る。
また、 復旧処理制御手段 4 0 4は、 処理要求が通知された場合、 許可された処 理要求だけをドメイン停止復旧手段 4 0 0に通知する。
ここで、 復旧要求受信手段 4 0 1は、'各ドメインから受信した復旧要求 (処理 要求) について、 最高信頼度ドメイン 1 5 O Aから受信した復旧要求(処理要求) をドメイン停止復旧処理手段 4 0 2に通知し、 最高信頼度ドメイン 1 5 O A以外 のドメインから受信した復旧要求 (処理要求) を復旧処理許可手段 4 0 4 bに通 知する。
復旧処理制御手段 4 0 4は、 低レベルのセキュリティしか要求されないドメイ ンである、 最高信頼度ドメイン 1 5 O A以外のドメインに対して、 予め許可され たドメインへの予め許可された形態による処理要求のみを許可する制御を行う。 復旧処理許可データ 4 0 4 aは、 最高信頼度ドメイン 1 5 O A以外のドメイン から通知される処理要求と、 所定のドメインに対する所定の処理内容を関連付け て、 最高信頼度ドメイン 1 5 O Aが予め設定したデータであり、 最高信頼度ドメ イン 1 5 O Aから読み出し ·書き込みが可能である。 また、 復旧処理許可手段 4 0 4 bからは読み出しのみが許可されている。 さらに、 最高信頼度ドメイン 1 5 O A以外のドメインからは読み出しも書き込みも不可とされる。 すなわち、 復旧 処理許可データ 4 0 4 aと最高信頼度ドメイン 1 5 O A以外のドメインの間には データバスが存在しない。
図 3 9に、 復旧処理許可デ一夕 4 0 4 aの内容の一例を示す。
図 3 9に示すように、 復旧処理許可データ 4 0 4 aは、 復旧を要求する側のド メインである要求元ドメインに対して、 復旧処理の対象となる復旧先ドメインと その復旧方法とを規定する。
要求元ドメインがドメイン # 1の場合、 復旧先ドメイン及び復旧方法は無いこ とが規定されている。
要求元ドメインがドメイン # 2の場合、 復旧先ドメインはドメイン # 1のみ、 復旧方法は O Sリブートのみであることが規定されている。
要求元ドメインがドメイン # 3の場合、 復旧先ドメインはドメイン # 2のみ、 復旧方法はリセット及びロールバックであることが規定されている。
復旧処理許可手段 4 0 4 bは、 復旧要求受信手段を介して最高信頼度ドメイン 1 5 O A以外のドメインからの処理要求を受け取ると、 復旧処理許可データ 4 0 4 aの要求元ドメイン、 復旧先ドメイン及び復旧方法を参照して、 当該処理要求 が該当するか否かによって、 当該処理要求の許否を判断し、 許可された処理要求 の場合、 当該処理要求をドメイン停止復旧手段 4 0 0に発行する機能を有する。 一方、 不許可の場合、 復旧処理許可手段 4 0 4 bは、 ドメイン停止復旧手段 4 0 0に当該発行をしない。
すなわち、 復旧条件は、 第 1の実施例で述べた、 偭々のドメインの信頼度に応 じて、 そのドメインからの復旧要求の許可または拒否に加えて、 復旧先ドメイン や復旧処理等の処理内容によって決定することができる。 例えば、 本実施例での 復旧条件は、 ドメイン # 1からの復旧要求を全て拒否するという第 1の実施例で の条件設定に加えて、ドメイン # 2及びドメイン # 3からの復旧要求に対しては、 各々復旧先ドメインと処理内容によって部分的に復旧要求を許可する、 と規定さ れる。 このように、 より細い復旧条件の設定が可能となることを特徴とする。 (第 3の実施例の動作)
図 4 0は、 復旧処理制御手段 4 0 4の動作の一例を説明するための図である。 図 4 0において、 矢線脇の番号は、 ステップ番号を示している。
まず、 初期設定として、 最高信頼度ドメイン 1 5 O Aが、 復旧処理許可データ 4 0 4 aの内容を規定する。
ステップ 1 :最高信頼度ドメイン 1 5 O A以外のドメインが、 復旧処理許可デ 一夕 4 0 4 aと合致しない処理要求を発行したとする。
ステップ 2 :復旧処理許可手段 4 0 4 bは、 当該処理要求を取得することによ つて、復旧処理許可データ 4 0 4 aを読み出し、当該処理要求の許否を判断する。 ステップ 3 :復旧処理許可手段 4 0 4 bは、 最高信頼度ドメイン 1 5 O A以外 のドメインへエラ一を返す。 当該処理要求は、 復旧処理許可データ 4 0 4 aと合 致しないためである。
ステップ 4 :最高信頼度ドメイン 1 5 O A以外のドメインは、 上記処理要求と は別の処理要求を発行する。
ステップ 5 :復旧処理許可手段 4 0 4 bは、 当該処理要求を取得することによ つて、復旧処理許可データ 4 0 4 aを読み出し、当該処理要求の許否を判断する。 ステップ 6 :復旧処理許可手段 4 0 4 bは、 最高信頼度ドメイン 1 5 O A以外 のドメインの当該処理要求を許可した場合、 ドメイン停止復旧処理手段 4 0 2に 当該処理要求を発行する。 '
なお、 第 3の実施例では、 復旧処理制御手段 4 0 4の構成として、 復旧処理許 可データ 4 0 4 aと、 復旧処理許可手段 4 0 4 bとを備え復旧処理許可データ 4 0 4 aに基づき、 処理要求の制御を行う例について説明したが、 本発明にかかる 構成のみに制限されるものでなく、復旧処理許可データに変えて (反転し)、 復旧 処理拒否デ一夕と、 復旧処理拒否手段を備えても良い。 この場合、 復旧処理拒否 手段は、 最高信頼度ドメイン 1 5 O A以外のドメインからの処理要求が、 復旧処 理拒否データによって復旧処理の拒否が定義された所定の要求元ドメイン、 復旧 拒否先ドメイン、 復旧方法の何れか又は全部等において、 所定の条件に合致した 場合に、 当該処理要求を拒否する制御を行う。
(第 3の実施例による効果) このように、 本発明の第 3の実施例によれば、 復旧処理制御手段 4 0 4の復旧 処理許可手段 4 0 4 bが、 復旧処理許可データ 4 0 4 aに基づいて、 予め許可さ れたドメインへ予め許可された形態による処理要求のみを許可する制御を行うの で、 最高信頼度ドメイン 1 5 O A以外のドメインがダウンロード等により外部か ら取得した追加処理による、 高レベルのセキュリティを必要とする最高信頼度ド メイン 1 5 O Aへの各種攻撃を防ぐことが出来る。
また、 復旧処理制御手段 4 0 4が、 ドメイン停止復旧手段 4 0 0の復旧処理を 分散化するので、 復旧処理の高速化が図れる。
なお、 第 3の実施例の変形例として、 復旧処理許可手段 4 0 4 bに、 キヤッシ ュを備えても良い。 この場合、 処理要求の許否の判断に用いた、 復旧処理許可デ —タ 4 0 4 aは、 キャッシュに格納され、 次回以降の処理要求の許否の判断にお いて、 該当する処理要求の復旧処理許可デ一夕 4 0 4 aがキャッシュに存在する かを判定し、 キャッシュヒットした場合、 処理要求の許否の判断の高速化を実現 する。
(第 4の実施例)
第 4の実施例は、 図 2 4に示した第 1の実施例に対応し、 第 1の実施例と同様 の構成を採用するが、 ドメイン停止復旧手段 4 0 0が、 停止確認手段 4 0 3及び 復旧処理制御手段 4 0 4を有する点でネ目違する。
以下、 上記の第 1の実施例との相違点について主に説明する。
図 4 1は、 第 4の実施例によるドメイン停止復旧手段 4 0 0の構成を示す図で ある。
図 4 1に示すように、 第 4の実施例によるドメイン停止復旧手段 4 0 0は、 停 止確認手段 4 0 3及び復旧処理制御手段 4 0 4を備える点で第 1の実施例と相違 する。
ここで、 停止確認手段 4 0 3は、 第 2の実施例における停止確認手段 4 0 3と 同様の構成であり、 また、 復旧処理制御手段 4 0 4は、 第 3の実施例における復 旧処理制御手段 4 0 4と同様の構成であるため、 説明を省略する。
(第 4の実施例の動作) 第 4の実施例によるドメイン停止復旧手段 4 0 0は、 復旧処理制御手段 4 0 4 が、 第 3の実施例と同様に最高信頼度ドメイン 1 5 O A以外のドメインからの処 理要求について許否を判断し、 停止確認竽段 4 0 3が、 復旧処理制御手段 4 0 4 で許諾された処理要求を取得し、 第 2の実施例と同様に、 取得した処理要求にか かる処理の内容の真偽を確認し、 正しいと確認した場合に、 取得した処理要求の 情報をドメイン停止復旧処理手段 4 0 2に通知する。
(第 4の実施例による効果)
このように、 本発明の第 4の実施例によれば、 復旧処理制御手段 4 0 4の復旧 処理許可手段 4 0 4 bが、 復旧処理許可データ 4 0 4 aに基づいて、 予め許可さ れたドメインへ予め許可された形態による処理要求のみを許可する制御を行うの で、 最高信頼度ドメイン 1 5 O A以外のドメインがダウンロード等により外部か ら取得した追加処理による、 高レベルのセキュリティを必要とする最高信頼度ド メイン 1 5 O Aへの各種攻撃を防ぐことが出来るので最高信頼度ドメイン 1 5 0 Aのセキュリティが向上する。
また、 復旧処理制御手段 4 0 4が、 ドメイン停止復旧手段 4 0 0の復旧処理を 分散化するので、 復旧処理の高速化が図れる。
さらに、 停止確認手段 4 0 3が、 復旧処理許可手段 4 0 4 bによって許可され た処理要求にかかる情報に基づいて上記検知処理を行う。 従って、 最高信頼度ド メイン 1 5 O Aが、 中信頼度ドメイン 1 5 0 Bや低信頼度ドメイン 1 5 0 Cから 処理要求を通知されても、処理の対象となるドメインの実際の障害状況を検知し、 処理の内容の真偽を確認する必要がないので、 最高信頼度ドメイン 1 5 O Aの処 理負担が軽減されるという効果を奏するとともに、 最高信頼度ドメイン 1 5 O A のセキュリティを確保しつつ、 実際にドメインで生じている障害を的確に復旧す ることができるという効果を奏する。
以上好ましい複数の実施例をあげて本発明を説明したが、 本発明は必ずしも、 上記実施例に限定されるものでなく、 その技術的思想の範囲内において様々に変 形して実施することができる。
例えば、 本実施例では、 3つドメインにより構成される情報処理装置の例で説 明したが、 ドメイン数は 3つに限られず、 本実施例で説明したように、 各ドメイ ンが分離されていれば、 2つでもよく、 また、 4つ以上でもよい。
また、 例えば、 本実施例では、 復旧処理制御手段 4 0 4がドメイン停止復旧手 段 4 0 0に設けられた構成で説明したが、 復旧処理制御手段 4 0 4が設けられる 位置は停止復旧手段 4 0 0内に限定されず、 停止復旧手段 4 0 0外でもよいし、 最高信頼度ドメイン 1 5 O A内でもよいし、複数の位置に設けられていてもよい。 復旧処理制御手段 4 0 4が最高信頼度ドメイン 1 5 O A内に設けられた場合、 最 高信頼度ドメイン 1 5 O Aが、 最高信頼度ドメイン 1 5 O A以外のドメインから の処理要求について許否を判断し、 許諾した処理要求の情報をドメイン停止復旧 処理手段 4 0 2に通知してもよい。

Claims

請求の範囲
1 . 複数のプロセッサを備え、
実行する処理内容に応じて、前記複数のプロセッサが複数のドメインを構成し、 異なるドメイン間のプロセッサ同士は、 通信手段を介して互いに通信し、 前記ドメインから通知される障害の復旧要求と、 前記ドメイン毎に予め設定さ れた復旧条件とに基づいて、 障害が発生したドメインに対して障害の復旧処理を 行う復旧手段を有することを特徴とする情報処理装置。
2 . 前記複数のドメインを、 実行する処理内容に応じて、 特定ドメインと、 他の ドメインとに分離して構成し、
前記復旧手段は、 前記特定ドメイン又は前記他のドメインから通知される障害 の復旧要求と、 前記特定ドメイン及び前記他のドメイン毎に予め設定された復旧 条件とに基づいて、 障害が発生したドメインに対して障害の復旧処理を行うこと を特徴とする請求項 2に記載の情報処理装置。
3 . 前記特定ドメインが、ある一定のセキュリティレベル以上の処理を実行する ドメインであり、 前記他のドメインが、 前記特定ドメインで実行される処理より もセキュリティレベルの低い処理を少なくとも一以上有するドメインであり、 前記特定ドメインが、 前記他のドメインにおける障害を、 前記他のドメインへ の前記通信手段によるデータ送信を介して検知し、 前記復旧手段に対して前記障 害の復旧要求を行うことを特徴とする請求項 2に記載の情報処理装置。
4 . 前記特定ドメインが、ある一定,のセキュリティレベル以上の処理を実行する ドメインであり、 前記他のドメインが、 前記特定ドメインで実行される処理より もセキュリティレベルの低い処理を少なくとも一以上有するドメインであり、 前記他のドメインが、 何れかの前記他のドメインにおける障害を検知し、 前記 特定ドメインに前記他のドメインの障害の復旧要求を通知し、
前記特定ドメインが、 前記他のドメインの障害を、 前記他のドメインへの前記 通信手段によるデータ送信を介して検知し、 · 前記復旧手段に対して前記障害の復 旧要求を行うことを特徴とする請求項 2に記載の情報処理装置。
5 . データ送信を介した障害の検知を、所定時間又は所定回数における前記デー タ送信先のドメインからの応答の有無によって行い、
前記特定ドメインが、 前記ある一定のセキュリティレベル以上の処理として、 基本処理を実行するドメインであり、
前記特定ドメインによる前記他のドメインへのデータ送信を介した障害の検知 は、 前記所定時間より短い時間を設定すること又は前記所定回数よりも少ない回 数を設定することを特徴とする請求項 3又は請求項 4に記載の情報処理装置。
6 . 前記特定ドメインが、ある一定のセキュリティレベル以上の処理を実行する ドメインであり、 前記他のドメインが、 前記特定ドメインで実行される処理より もセキュリティレベルの低い処理を少なくとも一以上有するドメインであり、 前記他のドメインが、 何れかの前記他のドメインにおける障害を検知し、 前記 特定ドメインに前記他のドメインの障害の復旧要求を通知し、
前記特定ドメインが、 前記復旧手段に対して前記障害の復旧要求を行うことを 特徴とする請求項 2に記載の情報処理装置。
7 . 前記特定ドメインが、ある一定のセキュリティレベル以上の処理を実行する ドメインであり、 前記他のドメインが、 前記特定ドメインで実行される処理より もセキュリティレベルの低い処理を少なくとも一以上有するドメインであり、 前記他のドメインが、 何れかの前記他のドメインにおける障害を検知し、 前記 特定ドメインを介さずに前記復旧手段に対して前記障害の復旧要求を行い、 前記復旧手段が、 前記他のドメインから通知される前記障害の復旧要求と、 前 記他のドメイン毎に予め設定された復旧条件とに基づいて、 障害が発生した前記 他のドメインに対して障害の復旧処理を行うことを特徴とする請求項 2に記載の 情報処理装置。
8 . 前記復旧条件は、前記ドメインからの障害の復旧要求で示される処理内容毎 に設定されたセキュリティレベルに基づいて定められており、
前記復旧手段は、 前記ドメインから通知された障害の復旧要求と、 前記復旧条 件とに基づいて、 障害が発生したドメインに対して障害の復旧処理を行うことを 特徴とする請求項 1から請求項 7のいずれか 1項に記載の情報処理装置。
9 . 前記他のドメインを、実行する処理内容に応じて、前記特定ドメインで実行 される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する第 1 ドメインと、 前記第 1ドメインで実行される処理よりもセキュリティレベルの低 い処理を少なくとも一以上有する第 2ドメインとに分離して構成し、
前記第 1 ドメインが、 前記第 2ドメインにおける障害を、 前記第 2ドメインへ の前記通信手段によるデータ送信を介して検知し、 前記特定ドメインに前記第 2 ドメインの障害の復旧要求を通知し、
前記特定ドメインが、 前記復旧手段に対して前記障害の復旧要求を行うことを 特徴とする請求項 6又は請求項 8に記載の情報処理装置。
1 0 . 前記他のドメインを、実行する処理内容に応じて、前記特定ドメインで実 行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する第 1 ドメインと、 前記第 1ドメインで実行される処理よりもセキュリティレベルの 低い処理を少なくとも一以上有する第 2ドメインとに分離して構成し、
前記第 1 ドメインは、 前記第 2ドメインにおける障害を、 前記第 2ドメインへ の前記通信手段によるデー夕送信を介して検知し、 前記特定ドメインを介さずに 前記復旧手段に前記第 2ドメインの障害の復旧要求を通知し、
前記復旧手段が、 前記第 1ドメインから通知される前記障害の復旧要求と、 前 記他のドメイン毎に予め設定された復旧条件とに基づいて、 障害が発生した前記 第 2ドメインに対して障害の復旧処理を行うことを特徴とする請求項 7又は請求 項 8に記載の情報処理装置。
1 1 . 前記他のドメインを、実行する処理内容に応じて、前記特定ドメインで実 行される処理よりもセキュリティレベルの^ (氐ぃ処理を少なくとも一以上有する第
1 ドメインと、 前記第 1 ドメインで実行される処理よりもセキュリティレベルの 低い処理を少なくとも一以上有する第 2 メインとに分離して構成し、
前記第 2ドメインが、 前記第 1ドメインにおける障害を、 前記第 1ドメインへ の前記通信手段によるデータ送信によって検知し、 前記特定ドメインに前記第 1 ドメインの障害の復旧要求を通知し、
前記特定ドメインが、 第 1 ドメインの障害を、 前記第 1 ドメインへの前記通信 手段によるデータ送信を介して検知し、 前記復旧手段に対して前記障害の復旧要 求を行うことを特徴とする請求項 4又は請求項 8に記載の情報処理装置。
1 2 . 前記他のドメインを、実行する処理内容に応じて、前記特定ドメインで実 行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する第
1ドメインと、 前記第 1 ドメインで実行される処理よりもセキュリティレベルの 低い処理を少なくとも一以上有する第 2ドメインとに分離して構成し、
前記第 2ドメインが、 前記第 1 ドメインにおける障害を、 前記第 1 ドメインへ の前記通信手段によるデータ送信によって検知し、 前記特定ドメインを介さずに 前記復旧手段に前記第 1ドメインの障害の復旧要求を通知し、
前記復旧手段が、 第 1 ドメインの障害を、 前記第 1 ドメインへの前記通信手段 によるデータ送信を介して検知し、 前言第 2ドメインから通知される前記障害の 復旧要求と、 前記他のドメイン毎に予め設定された復旧条件とに基づいて、 障害 が発生した前記第 1 ドメインに対して障害の復旧処理を行うことを特徴とする請 求項 7又は請求項 8に記載の情報処理装置。
1 3 . データ送信を介した障害の検知を、所定時間又は所定回数の前記データ送 信先のドメインからの応答の有無によって行い、
前記第 2ドメインによる前記第 1 ドメインへのデータ送信を介した障害の検知 は、 前記所定時間より長い時間を設定すること又は前記所定回数よりも多い回数 を設定することを特徴とする請求項 1 1又は請求項 1 2に記載の情報処理装置。
1 4 . 前記復旧手段は、 前記特定ドメインからの復旧要求を無条件で受け付け、 前記他のドメインからの復旧要求は拒否することを特徴とする請求項 2から請求 項 1 3のいずれか 1項に記載の情報処理装置。
1 5 . 前記復旧手段は、前記ドメインから障害の復旧要求が通知されると、復旧 対象のドメインにおける障害を、 前記復旧対象のドメインへのデータ送信を介し て検知し、 前記障害の復旧要求と、 前記復旧条件とに基づいて、 障害が発生した 前記ドメインに対して障害の復旧処理を行うことを特徴とする請求項 1から請求 項 1 3のいずれか 1項に記載の情報処理装置。
1 6 . 前記復旧手段は、
前記ドメインから通知された障害の復旧要求の許否を判別する判別手段を備え、 前記判別手段で許可された復旧要求に基づいて、 障害が発生したドメインに対 して障害の復旧処理を行うことを特徴とする請求項 1から請求項 1 5のいずれか 1項に記載の情報処理装置。
1 7 · 前記判別手段は、
前記ドメイン毎に設定された、 障害の復旧に関するデータを備え、
前記ドメインより通知された障害の復旧要求と、 前記データとに基づいて、 前 記障害の復旧要求の許否を判別することを特徴とする請求項 1 6に記載の情報処 理装置。 1 8 . 前記デ一夕は、前記ドメインからの障害の復旧要求で示される処理内容毎 に設定されたセキュリティレベルに基づいて設定されることを特徴とする請求項 1 7に記載の情報処理装置。
1 9 . 前記復旧手段は、
前記ドメインから通知きれた障害の復旧要求の許否を判別する判別手段を備え、 前記判別手段で許可された復旧要求に基づいて、 前記復旧対象のドメインにお ける障害を、 前記復旧対象のドメインへのデータ送信を介して検知し、 障害が発 生した前記ドメインに対して障害の復旧処理を行うことを特徴とする請求項 1か ら請求項 1 3のいずれか 1項に記載の情報処理装置。 2 0 . 複数のプロセッサで構成される複数のドメインを有する情報処理装置上 で、 前記ドメインで発生した障害を復旧する復旧装置において、
実行する処理内容に応じて、前記複数のプロセッサが複数のドメインを構成し、 前記ドメインから通知される障害の復旧要求と、 前記ドメイン毎に予め設定さ れた復旧条件とに基づいて、 障害が発生したドメインに対して障害の復旧処理を 行う復旧手段を有することを特徴とする復旧装置。
2 1 . 前記複数のドメインを、 実行する処理内容に応じて、 特定ドメインと、 他 のドメインとに分離して構成し、
前記復旧手段は、 前記特定ドメイン又は前記他のドメインから通知される障害 の復旧要求と、 前記特定ドメイン及び前記他のドメイン毎に予め設定された復旧 条件とに基づいて、 障害が発生したドメインに対して障害の復旧処理を行うこと を特徴とする請求項 1 9に記載の復旧装置。
2 2 . 前記復旧条件は、前記ドメインからの障害の復旧要求で示される処理内容 毎に設定されたセキュリティレベルに基づいて定められており、
前記復旧手段は、 前記ドメインから通知された障害の復旧要求と、 前記復旧条 件とに基づいて、 障害が発生したドメインに対して障害の復旧処理を行うことを 特徴とする請求項 2 0又は請求項 2 1に記載の復旧装置。 2 3 . 前記他のドメインが、実行する処理内容に応じて、前記特定ドメインで実 行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する第 1 ドメインと、 前記第 1 ドメインで実行される処理よりもセキュリティレベルの 低い処理を少なくとも一以上有する第 2ドメインとに分離して構成し、
前記第 2ドメインが、 前記第 1 ドメインにおける障害を、 前記第 1 ドメインへ のデータ送信によって検知し、 前記特定ドメインを介さずに前記復旧手段に前記 第 1ドメインの障害の復旧要求を通知すると、
前記復旧手段が、 第 1 ドメインの障害を、 前記第 1 ドメインへのデータ送信を 介して検知し、 前記第 2ドメインから通知される前記障害の復旧要求と、 前記他 のドメイン毎に予め設定された復旧条件とに基づいて、 障害が発生した前記第 1 ドメインに対して障害の復旧処理を行うことを特徴とする請求項 2 1又は請求項 2 2に記載の復旧装置。
2 4 . 前記復旧手段は、 前記特定ドメインからの復旧要求を無条件で受け付け、 前記他のドメインからの復旧要求は拒否することを特徴とする請求項 2 1から請 求項 2 3のいずれか 1項に記載の復旧装置。
2 5 . 前記復旧手段は、前記ドメインから障害の復旧要求が通知されると、復旧 対象のドメインにおける障害を、 前記復旧対象のドメインへのデータ送信を介し て検知し、 前記障害の復旧要求と、 前記復旧条件とに基づいて、 障害が発生した 前記ドメインに対して障害の復旧処理を行うことを特徴とする請求項 2 0から請 求項 2 2のいずれか 1項に記載の復旧装置。
2 6 . 前記復旧手段は、 '
前記ドメインから通知された障害の復旧要求の許否を判別する判別手段を備え、 前記判別手段で許可された復旧要求に基づいて、 障害が発生したドメインに対 して障害
の復旧処理を行うことを特徴とする請求項 2 0から請求項 2 5のいずれか 1項に 記載の復旧装置。
2 7 . 前記判別手段は、
前記ドメイン毎に設定された、 障害の復旧に関するデ一夕を備え、
前記ドメインより通知された障害の復旧要求と、 前記データとに基づいて、 前 記障害の復旧要求の許否を判別することを特徴とする請求項 2 6に記載の復旧装 置。
2 8 . 前記データは、前記ドメインからの障害の復旧要求で示される処理内容毎 に設定されたセキュリティレベルに基づいて設定されることを特徴とする請求項 2 7に記載の復旧装置。
2 9 . 前記復旧手段は、
前記ドメインから通知された障害の復旧要求の許否を判別する判別手段を備え、 前記判別手段で許可された復旧要求に基づいて、 前記復旧対象のドメインにお ける障害を、 前記復旧対象のドメインへのデ一夕送信を介して検知し、 障害が発 生した前記ドメインに対して障害の復旧処理を行うことを特徴とする請求項 2 0 から請求項 2 8のいずれか 1項に記載の復旧装置。 —
3 0 . 複数のプロセッサで構成されるコンピュータ処理装置である情報処理装 置上で実行され、前記情報処理装置の機能の復旧を実現するプログラムであって、 実行する処理内容に応じて、前記複数のプロセッサが複数のドメインを構成し、 異なるドメイン間のプロセッサ同士が互いに通信する通信機能と、
前記ドメインから通知される障害の復旧要求と、 前記ドメイン毎に予め設定さ れた復旧条件とに基づいて、 障害が発生したドメインに対して障害の復旧処理を 行う復旧機能とを前記情報処理装置に持たせることを特徴とするプログラム。
3 1 . 前記複数のドメインを、 実行する処理内容に応じて、 特定ドメインと、 他 のドメインとに分離して構成し、
前記復旧機能が、 前記特定ドメイン又は前記他のドメインから通知される障害 の復旧要求と、 前記特定ドメイン及び前記他のドメイン毎に予め設定された復旧 条件とに基づいて、 障害が発生したドメインに対して障害の復旧処理を行う機能 を前記情報処理装置に持たせることを特徴とする請求項 3 0に記載のプログラム。
3 2 . 前記特定ドメインがある一定のセキュリティレベル以上の処理を実行す るドメインであり、 前記他のドメインが、 前記特定ドメインで実行される処理よ りもセキュリティレベルの低い処理を少なくとも一以上有するドメインであり、 前記特定ドメインが、 前記他のドメインにおける障害を、 前記他のドメインへ の前記通信機能によるデ一夕送信を介して検知し、 前記復旧機能に対して前記障 害の復旧要求を行う機能を前記情報処理装置に持たせることを特徴とする請求項
3 0又は請求項 3 1に記載のプログラム。
3 3 . 前記特定ドメインが、ある一定のセキュリティレベル以上の処理を実行す るドメインであり、 前記他のドメインが、 前記特定ドメインで実行される処理よ りもセキュリティレベルの低い処理を少なくとも一以上有するドメインであり、 前記他のドメインが、 何れかの前記他のドメインにおける障害を検知し、 前記 特定ドメインに前記他のドメインの障害の復旧要求を通知し、
前記特定ドメインが、 前記他のドメインの障害を、 前記他のドメインへの前記 通信機能によるデータ送信を介して検知し、 前記復旧機能に対して前記障害の復 旧要求を行う機能を前記情報処理装置に持たせることを特徴とする請求項 3 0又 は請求項 3 1に記載のプログラム。
3 4 . データ送信を介した障害の検知を、所定時間又は所定回数における前記デ 一夕送信先のドメインからの応答の有無によって行う機能と、
前記特定ドメインが、 前記ある一定のセキュリティレベル以上の処理として、 基本処理を実行する機能とを有し、
前記障害を検知する機能が、 前記特定ドメインによる前記他のドメインへのデ 一夕送信を介した障害を検知する場合に、 前記所定時間より短い時間を設定する こと又は前記所定回数よりも少ない回数を設定する機能を前記情報処理装置に持 たせることを特徴とする請求項 3 2又は請求項 3 3に記載のプログラム。
3 5 . 前記特定ドメインが、ある一定のセキュリティレベル以上の処理を実行す るドメインであり、 前記他のドメインが、 前記特定ドメインで実行される処理よ りもセキュリティレベルの低い処理を少なくとも一以上有するドメインであり、 前記他のドメインが、 何れかの前記他のドメインにおける障害を検知し、 前記 特定ドメインに前記他のドメインの障害の復旧要求を通知し、
前記特定ドメインが、 前記復旧機能に対して前記障害の復旧要求を行う機能を 前記情報処理装置に持たせることを特徴とする請求項 3 1に記載のプログラム。
3 6 . 前記特定ドメインが、ある一定のセキュリティレベル以上の処理を実行す るドメインであり、 前記他のドメインが、 前記特定ドメインで実行される処理よ りもセキュリティレベルの低い処理を少なくとも一以上有するドメインであり、 前記他のドメインが、 何れかの前記他のドメインにおける障害を検知し、 前記 特定ドメインを介さずに前記復旧機能に対して前記障害の復旧要求を行い、 前記復旧機能が、 前記他のドメインから通知される前記障害の復旧要求と、 前 記他のドメイン毎に予め設定された復旧条件とに基づいて、 障害が発生した前記 他のドメインに対して障害の復旧処理を行う機能を前記情報処理装置に持たせる ことを特徴とする請求項 3 1に記載のプログラム。
3 7 . 前記復旧条件は、前記ドメインからの障害の復旧要求で示される処理内容 毎に設定されたセキュリティレベルに基づいて定められており、
前記復旧機能は、 前記ドメインから通知された障害の復旧要求と、 前記復旧条 件とに基づいて、 障害が発生したドメインに対して障害の復旧処理を行う機能を 前記情報処理装置に持たせることを特徴とする請求項 3 0から請求項 3 6のいず れか 1項に記載のプログラム。
3 8 . 前記他のドメインを、実行する処理内容に応じて、前記特定ドメインで実 行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する第 1ドメインと、 前記第 1 ドメインで実行される処理よりもセキュリティレベルの 低い処理を少なくとも一以上有する第 2ドメインとに分離して構成し、
前記第 1 ドメインが、 前記第 2ドメインにおける障害を、 前記第 2ドメインへ の前記通信機能によるデー夕送信を介して検知し、 前記特定ドメインに前記第 2 ドメインの障害の復旧要求を通知し、 前記特定ドメインが、 前記復旧機能に対して前記障害の復旧要求を行う機能を 前記情報処理装置に持たせることを特徴とする請求項 3 5又は請求項 3 7に記載 のプログラム。 3 9 . 前記他のドメインを、実行する処理内容に応じて、前記特定ドメインで実 行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する第 1ドメインと、 前記第 1 ドメインで実行される処理よりもセキュリティレベルの 低い処理を少なくとも一以上有する第 2ドメインとに分離して構成し、
前記第 1 ドメインが、 前記第 2ドメインにおける障害を、 前記第 2ドメインへ の前記通信機能によるデータ送信を介して検知し、 前記特定ドメインを介さずに 前記復旧機能に前記第 2ドメインの障害の復旧要求を通知し、
前記復旧機能が、 前記第 1 ドメインから通知される前記障害の復旧要求と、 前 記他のドメイン毎に予め設定された復旧条件とに基づいて、 障害が発生した前記 第 2ドメインに対して障害の復旧処理を行う機能を前記情報処理装置に持たせる ことを特徴とする請求項 3 6又は請求項 3 7に記載のプログラム。
4 0 . 前記他のドメインを、実行する処理内容に応じて、前記特定ドメインで実 行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する第 1ドメインと、 前記第 1ドメインで実 ί亍される処理よりもセキュリティレベルの 低い処理を少なくとも一以上有する第 2ドメインとに分離して構成し、
前記第 2ドメインが、 前記第 1ドメインにおける障害を、 前記第 1ドメインへ の前記通信機能によるデー夕送信を介して検知し、 前記特定ドメインに前記第 1 ドメインの障害の復旧要求を通知し、
前記特定ドメインが、 第 1ドメインの障害を、 前記第 1ドメインへの前記通信 機能によるデ一夕送信を介して検知し、 前記復旧機能に対して前記障害の復旧要 求を行う機能を前記情報処理装置に持たせることを特徴とする請求項 3 3又は請 求 3 7に記載のプログラム。
4 1 . 前記他のドメインを、実行する処理内容に応じて、前記特定ドメインで実 行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する第
1 ドメインと、 前記第 1 ドメインで実行される処理よりもセキュリティレベルの 低い処理を少なくとも一以上有する第 2 メインとに分離して構成し、
前記第 2 ドメインが、 前記第 1 ドメインにおける障害を、 前記第 1 ドメインへ の前記通信機能によるデータ送信によって検知し、 前記特定ドメインを介さずに 前記復旧機能に前記第 1 ドメインの障害の復旧要求を通知し、
前記復旧機能が、 第 1 ドメインの障害を、 前記第 1 ドメインへの前記通信機能 によるデ一夕送信を介して検知し、 前記第 2ドメインから通知される前記障害の 復旧要求と、 前記他のドメイン毎に予め設定された復旧条件とに基づいて、 障害 が発生した前記第 1 ドメインに対して障害の復旧処理を行う機能を前記情報処理 装置に持たせることを特徴とする請求項 3 6又は請求項 3 7に記載のプログラム。
4 2 . デ一タ送信を介した障害の検知を、所定時間又は所定回数の前記データ送 信先のドメインからの応答の有無によって行う機能を有し、
前記障害を検知する機能が、 前記第 2ドメインによる前記第 1 ドメインへのデ 一夕送信を介した障害の検知を行う場合に、 前記所定時間より長い時間を設定す ること又は前記所定回数よりも多い回数を設定する機能を前記情報処理装置に持 たせることを特徴とする請求項 4 0又は請求項 4 1に記載のプログラム。 4 3 . 前記復旧機能は、 前記特定ドメインからの復旧要求を無条件で受け付け、 前記他のドメインからの復旧要求は拒否する機能を前記情報処理装置に持たせる ことを特徴とする請求項 3 1から請求項 4 2のいずれか 1項に記載のプログラム。
4 4 . 前記復旧機能は、前記ドメインから障害の復旧要求が通知されると、復旧 対象のドメインにおける障害を、 前記復旧対象のドメインへのデータ送信を介し て検知し、 前記障害の復旧要求と、 前記復旧条件とに基づいて、 障害が発生した 前記ドメインに対して障害の復旧処理を行う機能を前記情報処理装置に持たせる ことを特徴とする請求項 3 0から請求項 4 2のいずれか 1項に記載のプログラム。
4 5 . 前記復旧機能が、
前記ドメインから通知された障害の復旧要求の許否を判別する判別機能を備え、 前記判別機能で許可された復旧要求に基づいて、 障害が発生したドメインに対 して障害の復旧処理を行う機能を前記情報処理装置に持たせることを特徴とする 請求項 3 0から請求項 4 4のいずれか 1項に記載のプログラム。
4 6 . 前記判別機能が、
前記ドメインより通知された障害の復旧要求と、 前記ドメインの処理内容毎に 設定されたセキュリティレベルとに基づいて、 前記障害の復旧要求の許否を判別 する機能を前記情報処理装置に持たせることを特徴とする請求項 4 5に記載のプ ログラム。
4 7 . 前記復旧機能が、
前記ドメインから通知された障害の復旧要求の拒否を判別する判別機能を備え、 前記判別機能で許可された復旧要求に基づいて、 前記復旧対象のドメインにお ける障害を、 前記復旧対象のドメインへの前記通信機能によるデータ送信を介し て検知し、 障害が発生した前記ドメインに対して障害の復旧処理を行う機能を前 記情報処理装置に持たせることを特徴とする請求項 3 0から請求項 4 2のいずれ か 1項に記載のプログラム。
4 8 . 複数のプロセッサで構成される情報処理装置の処理機能を復旧する復旧 方法であって、
実行する処理内容に応じて、前記複数のプロセッサが複数のドメインを構成し、 異なるドメイン間のプロセッサ同士は、 通信ステップを介して通信し、
前記ドメインから通知される障害の復旧要求と、 前記ドメイン毎に予め設定さ れた復旧条件とに基づいて、障害が発生したドメインに対して障害の復旧処理を、 前記情報処理装置上の復旧手段で行う復旧ステップを有することを特徴とする復 旧方法。
4 9 . 前記複数のドメインを、 実行する処理内容に応じて、特定ドメインと、 他 のドメインとに分離して構成し、
前記復旧ステツプで、 前記特定ドメイン又は前記他のドメインから通知される 障害の復旧要求と、 前記特定ドメイン及び前記他のドメイン毎に予め設定された 復旧条件とに基づいて、 障害が発生したドメインに対して障害の復旧処理を行う ことを特徴とする請求項 4 8に記載の復旧方法。
5 0 . 前記特定ドメインが、ある一定のセキュリティレベル以上の処理を実行す るドメインであり、 前記他のドメインが、 前記特定ドメインで実行される処理よ りもセキュリティレベルの低い処理を少なくとも一以上有するドメインであり、 前記特定ドメインが、 前記他のドメインにおける障害を、 前記他のドメインへ の前記通信ステツプによるデ一タ送信を介して検知する検知ステップと、
前記特定ドメインが、 前記復旧手段に対して、 前記検知ステップで検知した前 記障害についての復旧要求を行うステップとを有することを特徴とする請求項 4 8又は請求項 4 9に記載の復旧方法。
5 1 . 前記特定ドメインが、ある一定のセキュリティレベル以上の処理を実行す るドメインであり、 前記他のドメインが、 前記特定ドメインで実行される処理よ りもセキュリティレベルの低い処理を少なくとも一以上有するドメインであり、 前記他のドメインが、 何れかの前記他のドメインにおける障害を検知する検知 ステップと、
前記他のドメインが、 前記特定ドメインに、 前記検知ステップで検知した前記 他のドメインの障害についての復旧要求を通知する通知ステップと、
前記特定ドメインが、 前記通知ステップで通知された前記他のドメインの障害 を、 前記他のドメインへの前記通信手段によるデータ送信を介して検知する検知 ステップと、
前記特定ドメインが、 前記復旧手段に対して、 前記検知ステップで検知した前 記障害についての復旧要求を行うステップとを有することを特徴とする請求項 4 8又は請求項 4 9に記載の復旧方法。
5 2 . データ送信を介した障害の検知を、所定時間又は所定回数における前記デ 一夕送信先のドメインからの応答の有無によって行うステップを有し、
前記特定ドメインが、 前記ある一定のセキュリティレベル以上の処理として、 基本処理を実行するドメインであり、
前記ステップは、 前記特定ドメインによる前記他のドメインへのデータ送信を 介した障害を検知する場合に、 前記所定時間より短い時間又は前記所定回数より も少ない回数で障害を検知することを特徴とする請求項 5 0又は請求項 5 1に記 載の復旧方法。
5 3 . 前記特定ドメインが、ある一定のセキュリティレベル以上の処理を実行す るドメインであり、 前記他めドメインが、 前記特定ドメインで実行される処理よ りもセキュリティレベルの低い処理を少なくとも一以上有するドメインであり、 前記他のドメインが、 何れかの前記他のドメインにおける障害を検知する検知 ステップ
と、
前記他のドメインが、 前記特定ドメインに、 前記検知ステップで検知した前記 他のドメインの障害についての復旧要求を通知する通知ステップと、
前記特定ドメインが、 前記復旧手段に対して、 前記通知ステップで通知された 前記障害についての復旧要求を行うステップとを有することを特徴とする請求項
' 4 9に記載の復旧方法。
5 4 . 前記特定ドメインが、ある一定のセキュリティレベル以上の処理を実行す るドメインであり、 前記他のドメインが、 前記特定ドメインで実行される処理よ りもセキュリティレベルの低い処理を少なくとも一以上有するドメインであり、 前記他のドメインが、 何れかの前記他のドメインにおける障害を検知する検知 ステップと、
前記他のドメインが、 前記特定ドメインを介さずに前記復旧手段に対して、 前 記検知ステップで検知した前記障害についての復旧要求を行うステップとを有し、 前記復旧ステップで、前記他のドメインから通知される前記障害の復旧要求と、 前記他のドメイン毎に予め設定された復旧条件とに基づいて、 障害が発生した前 記他のドメインに対して障害の復旧処理を行うことを特徴とする請求項 4 9に記 載の復旧方法。
5 5 . 前記復旧条件は、前記ドメインからの障害の復旧要求で示される処理内容 毎に設定されたセキュリティレベルに基づいて定められており、
前記復旧ステップで、 前記ドメインから通知された障害の復旧要求と、 前記復 旧条件とに基づいて、 障害が発生した他のドメインに対して障害の復旧処理を行 うことを特徴とする請求項 4 8から請求項 5 4のいずれか 1項に記載の復旧方法。
5 6 . 前記他のドメインを、実行する処理内容に応じて、前記特定ドメインで実 行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する第 1 ドメインと、 前記第 1 ドメインで実行される処理よりもセキュリティレベルの 低い処理を少なくとも一以上有する第 2ドメインとに分離して構成し、
前記第 1 ドメインが、 前記第 2ドメインにおける障害を、 前記第 2ドメインへ の前記通信ステップによるデータ送信を介して検知する検知ステップと、
前記第 1 ドメインが、 前記特定ドメインに、 前記検知ステップで検知した前記 第 2ドメインの障害についての復旧要求を通知する通知ステップと、
前記特定ドメインが、 前記復旧手段に対して、 前記通知ステップで通知された 前記障害についての復旧要求を行うステップとを有することを特徴とする請求項 5 3又は請求項 5 5に記載の復旧方法。
5 7 . 前記他のドメインを、実行する処理内容に応じて、前記特定ドメインで実 行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する第 1 ドメインと、 前記第 1 ドメインで実行される処理よりもセキュリティレベルの 低い処理を少なくとも一以上有する第 2ドメインとに分離して構成し、
前記第 1 ドメインが、 前記第 2ドメインにおける障害を、 前記第 2ドメインへ の前記通信ステップによるデータ送信を介して検知する検知ステップと、 前記特定ドメインが、 前記特定ドメインを介さずに前記復旧手段に、 前記検知 ステップで検知した前記第 2ドメインの障害についての復旧要求を通知する通知 ステップとを有し
前記復旧ステップで、前記第 1 ドメインから通知される前記障害の復旧要求と、 前記他のドメイン毎に予め設定された復旧条件とに基づいて、 障害が発生した前 記第 2ドメインに対して障害の復旧処理を行うことを特徴とする請求項 5 4又は 請求項 5 5に記載の復旧方法。
5 8 . 前記他のドメインを、実行する処理内容に応じて、前記特定ドメインで実 行される処理よりもセキュリティレベルの低い処理を少なくとも一以上有する第
1 ドメインと、 前記第 1 ドメインで実行される処理よりもセキュリティレベルの 低い処理を少なくとも一以上有する第 2ドメインとに分離して構成し、
前記第 2ドメインが、 前記第 1 ドメインにおける障害を、 前記第 1 ドメインへ の通信ステップによるデ一夕送信を介して検知する検知ステップと、
前記第 2ドメインが、 前記特定ドメインに、 前記検知ステップで検知した前記 第 1ドメインの障害についての復旧要求を通知する通知ステツプと、
前記特定ドメインが、 前記通知ステップで通知された第 1ドメインの障害を、 前記第 1 ドメインへの前記通信ステップによるデータ送信を介して検知する検知 ステップと、
前記特定ドメインが、 前記復旧手段に対して、 前記検知ステップで検知した前 記障害についての復旧要求を行うステップとを有することを特徴とする請求項 5 1又は請求項 5 5に記載の復旧方法。
5 9 . 前記他のドメインを、実行する処理内容に応じて、前記特定ドメインで実 行される処理よりもセキユリティレベルの低い処理を少なくとも一以上有する第
1 ドメインと、 前記第 1 ドメインで実行される処理よりもセキュリティレベルの 低い処理を少なくとも一以上有する第 2ドメインとに分離して構成し、
前記第 2ドメインが、 前記第 1 ドメインにおける障害を、 前記第 1ドメインへ の前記通信ステップによるデータ送信を介して検知する検知ステップと、 前記第 2ドメインが、 前記特定ドメインを介さずに前記復旧手段に、 前記検知 ステツプで検知した前記第 1 ドメインの障害についての復旧要求を通知する通知 ステップと、
前記復旧ステップで、 第 1 ドメインの障害を、 前記第 1ドメインへの前記通信 ステップによるデータ送信を介して検知し、 前記第 2ドメインから通知される前 記障害の復旧要求と、 前記他のドメイン毎に予め設定された復旧条件とに基づい て、 障害が発生した前記第 1 ドメインに対して障害の復旧処理を行うことを特徴 とする請求項 5 4又は請求項 5 5に記載の復旧方法。 6 0 . データ送信を介した障害の検知を、所定時間又は所定回数における前記デ 一夕送信先のドメインからの応答の有無によって行うステップを有し、
前記ステップは、 前記第 2ドメインによる前記第 1ドメインへのデータ送信を 介した障害を検知する場合に、 前記所定時間より長い時間又は前記所定回数より も多い回数で障害を検知することを特徴とする請求項 5 8又は請求項 5 9に記載 の復旧方法。
6 1 . 前記復旧ステップで、前記特定ドメインからの復旧要求を無条件で受け付 け、 前記他のドメインからの復旧要求は拒否することを特徴とする請求項 4 9か ら請求項 5 0のいずれか 1項に記載の復旧方法。
6 2 . 前記復旧手段が、前記ドメインから障害の復旧要求が通知されると、復旧 対象のドメインにおける障害を、 前記復旧対象のドメインへの前記通信ステップ によるデータ送信を介して検知する検知ステップを有し、
前記検知ステップで検知した以降に、 前記復旧ステップで、 前記障害の復旧要 求と、 前記復旧条件とに基づいて、 障害が発生した前記ドメインに対して障害の 復旧処理を行うことを特徴とする請求項 4 8から請求項 5 0のいずれか 1項に記 載の復旧方法。
6 3 . 前記復旧ステップで、 前記復旧手段が前記ドメインから通知された障害の復旧要求の許否を判別する 判別ステップで許可された復旧要求に基づいて、 障害が発生したドメインに対し て障害の復旧処理を行うことを特徴とする請求項 4 8から請求項 6 2のいずれか 1項に記載の復旧方法。
6 4 . 前記判別ステップで、
前記ドメインより通知された障害の復旧要求と、 前記ドメインの処理内容毎に 設定されたセキュリティレベルとに基づいて、 前記障害の復旧要求の許否を判別 することを特徴とする請求項 6 3に記載の復旧方法。
6 5 . 前記復旧ステップで、
前記復旧手段が前記ドメインから通知された障害の復旧要求を判別する判別ス テツプで許可された復旧要求に基づいて、 前記復旧対象のドメインにおける障害 を、 前記復旧対象のドメインへの前記通信ステップによるデータ送信を介して検 知し、 障害が発生した前記ドメインに対して障害の復旧処理を行うことを特徴と する請求項 4 8から請求項 6 0のいずれか 1項に記載の復旧方法。
PCT/JP2006/303920 2005-06-17 2006-02-23 情報処理装置、復旧装置、プログラム及び復旧方法 WO2006134691A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007521111A JP4556144B2 (ja) 2005-06-17 2006-02-23 情報処理装置、復旧装置、プログラム及び復旧方法
CN2006800210569A CN101198934B (zh) 2005-06-17 2006-02-23 信息处理设备和恢复方法
US11/921,742 US8365021B2 (en) 2005-06-17 2006-02-23 Information processing device comprising a plurality of domains having a plurality of processors, recovery device, program and recovery method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005-177811 2005-06-17
JP2005177811 2005-06-17

Publications (1)

Publication Number Publication Date
WO2006134691A1 true WO2006134691A1 (ja) 2006-12-21

Family

ID=37532060

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/303920 WO2006134691A1 (ja) 2005-06-17 2006-02-23 情報処理装置、復旧装置、プログラム及び復旧方法

Country Status (4)

Country Link
US (1) US8365021B2 (ja)
JP (1) JP4556144B2 (ja)
CN (1) CN101198934B (ja)
WO (1) WO2006134691A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010079901A (ja) * 2008-09-25 2010-04-08 Symantec Corp アプリケーションの評判に応じて段階的に制限を実施する方法およびそのコンピュータプログラム
WO2011104824A1 (ja) 2010-02-23 2011-09-01 富士通株式会社 マルチコアプロセッサシステム、制御プログラム、および制御方法
JP2013225208A (ja) * 2012-04-20 2013-10-31 Toyota Motor Corp 情報処理装置、情報処理方法、及びプログラム

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8555265B2 (en) 2010-05-04 2013-10-08 Google Inc. Parallel processing of data
US8972980B2 (en) 2010-05-28 2015-03-03 Bromium, Inc. Automated provisioning of secure virtual execution environment using virtual machine templates based on requested activity
US9148428B1 (en) 2011-05-25 2015-09-29 Bromium, Inc. Seamless management of untrusted data using virtual machines
US9116733B2 (en) 2010-05-28 2015-08-25 Bromium, Inc. Automated provisioning of secure virtual execution environment using virtual machine templates based on requested activity
US9239909B2 (en) 2012-01-25 2016-01-19 Bromium, Inc. Approaches for protecting sensitive data within a guest operating system
US10095530B1 (en) 2010-05-28 2018-10-09 Bromium, Inc. Transferring control of potentially malicious bit sets to secure micro-virtual machine
US9386021B1 (en) 2011-05-25 2016-07-05 Bromium, Inc. Restricting network access to untrusted virtual machines
US8752047B2 (en) * 2010-05-28 2014-06-10 Bromium, Inc. Automated management of virtual machines to process untrusted data based on client policy information
US9135038B1 (en) 2010-05-28 2015-09-15 Bromium, Inc. Mapping free memory pages maintained by a guest operating system to a shared zero page within a machine frame
US9104837B1 (en) 2012-06-18 2015-08-11 Bromium, Inc. Exposing subset of host file systems to restricted virtual machines based on upon performing user-initiated actions against host files
US10310696B1 (en) 2010-05-28 2019-06-04 Bromium, Inc. Supporting a consistent user interface within a virtualized environment
US9558051B1 (en) 2010-05-28 2017-01-31 Bormium, Inc. Inter-process communication router within a virtualized environment
US9767274B2 (en) 2011-11-22 2017-09-19 Bromium, Inc. Approaches for efficient physical to virtual disk conversion
US9069622B2 (en) 2010-09-30 2015-06-30 Microsoft Technology Licensing, Llc Techniques for load balancing GPU enabled virtual machines
US8970603B2 (en) 2010-09-30 2015-03-03 Microsoft Technology Licensing, Llc Dynamic virtual device failure recovery
US8931042B1 (en) * 2010-12-10 2015-01-06 CellSec, Inc. Dividing a data processing device into separate security domains
US10511630B1 (en) * 2010-12-10 2019-12-17 CellSec, Inc. Dividing a data processing device into separate security domains
US9105009B2 (en) 2011-03-21 2015-08-11 Microsoft Technology Licensing, Llc Email-based automated recovery action in a hosted environment
US8839245B1 (en) 2012-06-18 2014-09-16 Bromium, Inc. Transferring files using a virtualized application
US10846396B1 (en) 2011-05-25 2020-11-24 Hewlett-Packard Development Company, L.P. Downloading data in a dedicated virtual machine
US10546118B1 (en) 2011-05-25 2020-01-28 Hewlett-Packard Development Company, L.P. Using a profile to provide selective access to resources in performing file operations
US9921860B1 (en) 2011-05-25 2018-03-20 Bromium, Inc. Isolation of applications within a virtual machine
US8923147B2 (en) * 2011-10-03 2014-12-30 Qualcomm Incorporated Method and apparatus for filtering and processing received vehicle peer transmissions based on reliability information
JP5583857B2 (ja) * 2011-11-04 2014-09-03 エスケー プラネット カンパニー、リミテッド セキュアドメインとノーマルドメインとの間の保安連動方法及び保安アプリケーションダウンロードの管理方法、管理サーバー、端末機、及びこれを適用した管理システム
US20130133024A1 (en) * 2011-11-22 2013-05-23 Microsoft Corporation Auto-Approval of Recovery Actions Based on an Extensible Set of Conditions and Policies
US9460303B2 (en) 2012-03-06 2016-10-04 Microsoft Technology Licensing, Llc Operating large scale systems and cloud services with zero-standing elevated permissions
US9245108B1 (en) 2012-03-13 2016-01-26 Bromium, Inc. Dynamic adjustment of the file format to identify untrusted files
US11023088B2 (en) 2012-06-18 2021-06-01 Hewlett-Packard Development Company, L.P. Composing the display of a virtualized web browser
US9727534B1 (en) 2012-06-18 2017-08-08 Bromium, Inc. Synchronizing cookie data using a virtualized browser
US10095662B1 (en) 2012-06-18 2018-10-09 Bromium, Inc. Synchronizing resources of a virtualized browser
US9201850B1 (en) 2012-06-18 2015-12-01 Bromium, Inc. Composing the display of a virtualized web browser
US9384026B1 (en) 2012-06-18 2016-07-05 Bromium, Inc. Sharing and injecting cookies into virtual machines for retrieving requested web pages
US9734131B1 (en) 2012-06-18 2017-08-15 Bromium, Inc. Synchronizing history data across a virtualized web browser
US9294508B2 (en) 2012-08-02 2016-03-22 Cellsec Inc. Automated multi-level federation and enforcement of information management policies in a device network
US10305937B2 (en) * 2012-08-02 2019-05-28 CellSec, Inc. Dividing a data processing device into separate security domains
US9152577B2 (en) * 2012-08-17 2015-10-06 Broadcom Corporation Security central processing unit management of a transcoder pipeline
US8881249B2 (en) 2012-12-12 2014-11-04 Microsoft Corporation Scalable and automated secret management
US9141454B2 (en) * 2012-12-27 2015-09-22 Intel Corporation Signaling software recoverable errors
US9292328B2 (en) 2013-05-24 2016-03-22 Bromium, Inc. Management of supervisor mode execution protection (SMEP) by a hypervisor
US9483352B2 (en) * 2013-09-27 2016-11-01 Fisher-Rosemont Systems, Inc. Process control systems and methods
US10599565B2 (en) 2013-12-24 2020-03-24 Hewlett-Packard Development Company, L.P. Hypervisor managing memory addressed above four gigabytes
US10430614B2 (en) 2014-01-31 2019-10-01 Bromium, Inc. Automatic initiation of execution analysis
US9646309B2 (en) 2014-04-04 2017-05-09 Mobilespaces Method for authentication and assuring compliance of devices accessing external services
US9680873B1 (en) 2014-06-30 2017-06-13 Bromium, Inc. Trusted network detection
US10311122B1 (en) 2014-08-22 2019-06-04 Bromium, Inc. On-demand unprotected mode access
US9697141B2 (en) * 2014-10-17 2017-07-04 Sk Hynix Memory Solutions Inc. LBA blocking table for SSD controller
US9762585B2 (en) 2015-03-19 2017-09-12 Microsoft Technology Licensing, Llc Tenant lockbox
US10931682B2 (en) 2015-06-30 2021-02-23 Microsoft Technology Licensing, Llc Privileged identity management
US9448887B1 (en) * 2015-08-22 2016-09-20 Weka.IO Ltd. Distributed erasure coded virtual file system
CN105227366B (zh) * 2015-10-15 2018-08-31 深圳市金证科技股份有限公司 维护分布式数据的一致性的方法及系统
DE102017209806A1 (de) * 2017-06-09 2018-12-13 Robert Bosch Gmbh Verfahren und Vorrichtung zum Erkennen von Angriffen auf einen Feldbus
US10936405B2 (en) 2017-11-13 2021-03-02 Weka.IO Ltd. Efficient networking for a distributed storage system
US11385980B2 (en) 2017-11-13 2022-07-12 Weka.IO Ltd. Methods and systems for rapid failure recovery for a distributed storage system
US11301433B2 (en) 2017-11-13 2022-04-12 Weka.IO Ltd. Metadata journal in a distributed storage system
US11561860B2 (en) 2017-11-13 2023-01-24 Weka.IO Ltd. Methods and systems for power failure resistance for a distributed storage system
US11782875B2 (en) 2017-11-13 2023-10-10 Weka.IO Ltd. Directory structure for a distributed storage system
US11061622B2 (en) 2017-11-13 2021-07-13 Weka.IO Ltd. Tiering data strategy for a distributed storage system
US11216210B2 (en) 2017-11-13 2022-01-04 Weka.IO Ltd. Flash registry with on-disk hashing
US11262912B2 (en) 2017-11-13 2022-03-01 Weka.IO Ltd. File operations in a distributed storage system
JP6776292B2 (ja) * 2018-03-20 2020-10-28 株式会社東芝 情報処理装置、情報処理方法、およびプログラム
US11099925B2 (en) 2018-07-10 2021-08-24 EMC IP Holding Company LLC Datacenter preemptive measures for improving protection using IoT sensors
US11106528B2 (en) * 2018-10-10 2021-08-31 EMC IP Holding Company LLC Datacenter IoT-triggered preemptive measures using machine learning
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
CN115859252B (zh) * 2023-02-27 2023-05-12 南京芯驰半导体科技有限公司 认证信息处理方法、装置、电子设备、存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04275663A (ja) * 1991-03-04 1992-10-01 Nec Corp 障害プロセッサの判定方式
JP2000276364A (ja) * 1999-03-24 2000-10-06 Oki Electric Ind Co Ltd 障害復旧方法、中央処理装置及び中央処理システム
JP2004062535A (ja) * 2002-07-29 2004-02-26 Nec Corp マルチプロセッサシステムの障害処理方法、マルチプロセッサシステム及びノード

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06332864A (ja) 1993-05-27 1994-12-02 Fujitsu Ltd マルチプロセッサシステムにおけるcpu間通信方式
US6718482B2 (en) * 1997-09-12 2004-04-06 Hitachi, Ltd. Fault monitoring system
WO2000016200A1 (en) 1998-09-10 2000-03-23 Sanctum Ltd. Method and system for maintaining restricted operating environments for application programs or operating systems
FI109154B (fi) 1999-04-16 2002-05-31 Vesa Juhani Hukkanen Laite ja menetelmä tietoturvallisuuden parantamiseksi
JP2001154999A (ja) 1999-11-30 2001-06-08 Hitachi Ltd 並列計算機システム及びその立上げ処理方法
US6507904B1 (en) 2000-03-31 2003-01-14 Intel Corporation Executing isolated mode instructions in a secure system running in privilege rings
US7222268B2 (en) * 2000-09-18 2007-05-22 Enterasys Networks, Inc. System resource availability manager
US6892331B2 (en) * 2002-01-17 2005-05-10 International Business Machines Corporation Method and system for error detection in a managed application environment
US20060004667A1 (en) * 2004-06-30 2006-01-05 Microsoft Corporation Systems and methods for collecting operating system license revenue using an emulated computing environment
US8788673B2 (en) * 2004-09-13 2014-07-22 Microsoft Corporation Systems and methods for providing security through sessions
US7409719B2 (en) * 2004-12-21 2008-08-05 Microsoft Corporation Computer security management, such as in a virtual machine or hardened operating system
JP4083200B2 (ja) * 2005-06-28 2008-04-30 松下電器産業株式会社 検証方法、情報処理装置、記録媒体、検証システム、証明プログラム及び検証プログラム
JP4809209B2 (ja) * 2006-12-28 2011-11-09 株式会社日立製作所 サーバ仮想化環境における系切り替え方法及び計算機システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04275663A (ja) * 1991-03-04 1992-10-01 Nec Corp 障害プロセッサの判定方式
JP2000276364A (ja) * 1999-03-24 2000-10-06 Oki Electric Ind Co Ltd 障害復旧方法、中央処理装置及び中央処理システム
JP2004062535A (ja) * 2002-07-29 2004-02-26 Nec Corp マルチプロセッサシステムの障害処理方法、マルチプロセッサシステム及びノード

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010079901A (ja) * 2008-09-25 2010-04-08 Symantec Corp アプリケーションの評判に応じて段階的に制限を実施する方法およびそのコンピュータプログラム
US9495538B2 (en) 2008-09-25 2016-11-15 Symantec Corporation Graduated enforcement of restrictions according to an application's reputation
WO2011104824A1 (ja) 2010-02-23 2011-09-01 富士通株式会社 マルチコアプロセッサシステム、制御プログラム、および制御方法
JP2013225208A (ja) * 2012-04-20 2013-10-31 Toyota Motor Corp 情報処理装置、情報処理方法、及びプログラム

Also Published As

Publication number Publication date
US20090119541A1 (en) 2009-05-07
JPWO2006134691A1 (ja) 2009-01-08
CN101198934B (zh) 2010-09-15
CN101198934A (zh) 2008-06-11
US8365021B2 (en) 2013-01-29
JP4556144B2 (ja) 2010-10-06

Similar Documents

Publication Publication Date Title
JP4556144B2 (ja) 情報処理装置、復旧装置、プログラム及び復旧方法
JP4811271B2 (ja) 情報通信装置及びプログラム実行環境制御方法
Jin et al. Architectural support for secure virtualization under a vulnerable hypervisor
JP4883459B2 (ja) ポイントツーポイント相互接続システム上のセキュアな環境初期化命令の実行
US8413230B2 (en) API checking device and state monitor
US7730249B2 (en) Device control apparatus that calls an operating system to control a device
US10095862B2 (en) System for executing code with blind hypervision mechanism
US11416617B2 (en) Computing apparatus
US20130339646A1 (en) System, method and computer program product for utilizing code stored in a protected area of memory for securing an associated system
CN112818327A (zh) 基于TrustZone的用户级代码和数据安全可信保护方法及装置
EP1989627A2 (en) Prevention of executable code modification
JP2020042341A (ja) プロセッシングデバイス及びソフトウェア実行制御方法
KR20200041639A (ko) 차량용 소프트웨어 업데이트 장치 및 그 제어 방법
CN110532767A (zh) 面向sgx安全应用的内部隔离方法
US11461490B1 (en) Systems, methods, and devices for conditionally allowing processes to alter data on a storage device
US20230098991A1 (en) Systems, methods, and media for protecting applications from untrusted operating systems
Van Eyck et al. Mr-TEE: Practical Trusted Execution of Mixed-Criticality Code
Leroux Secure by design: Using a microkernel rtos to build secure, fault-tolerant systems
CN116823585A (zh) Gpu可信执行环境的构建方法、gpu可信计算执行方法及装置
Isozaki et al. Security system for connected end-point devices in a smart grid with commodity hardware
WO2006059335A1 (en) Method and system for securing data stored in a storage device
Hu et al. Research on Hardware Built-in Computer Safety
Isozaki et al. Keeping High Availability of Connected End-point Devices in Smart Grid

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200680021056.9

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 11921742

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2007521111

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06715035

Country of ref document: EP

Kind code of ref document: A1