[go: up one dir, main page]

WO2013125222A1 - 仮想計算機システム、秘匿情報保護方法及び秘匿情報保護プログラム - Google Patents

仮想計算機システム、秘匿情報保護方法及び秘匿情報保護プログラム Download PDF

Info

Publication number
WO2013125222A1
WO2013125222A1 PCT/JP2013/000962 JP2013000962W WO2013125222A1 WO 2013125222 A1 WO2013125222 A1 WO 2013125222A1 JP 2013000962 W JP2013000962 W JP 2013000962W WO 2013125222 A1 WO2013125222 A1 WO 2013125222A1
Authority
WO
WIPO (PCT)
Prior art keywords
authentication
virtual
information
virtual machine
hypervisor
Prior art date
Application number
PCT/JP2013/000962
Other languages
English (en)
French (fr)
Inventor
忠雄 谷川
齊藤 雅彦
克重 天野
寿昭 竹内
Original Assignee
パナソニック株式会社
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 パナソニック株式会社 filed Critical パナソニック株式会社
Priority to JP2014500592A priority Critical patent/JP5981984B2/ja
Priority to CN201380001097.1A priority patent/CN103502993A/zh
Priority to US14/008,785 priority patent/US9460276B2/en
Publication of WO2013125222A1 publication Critical patent/WO2013125222A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes

Definitions

  • the present invention relates to a virtual machine system that handles confidential information, and more particularly to a technique for restricting the use of confidential information.
  • Confidential information refers to information that can be used under certain conditions, and examples include user images and emails.
  • functions such as image display and mail transmission / reception are realized by operating user applications that handle confidential information such as image viewers and mailers in one virtual machine.
  • the user application performs user authentication and uses the confidential information only when the user authentication is successful, thereby restricting the use of the confidential information to the user himself / herself.
  • the present invention has been made in view of such a problem, and an object of the present invention is to provide a virtual computer system that can restrict the use of confidential information in a virtual computer when authentication is successful.
  • a virtual computer system includes a computer, and the computer executes a program so that the computer has a first virtual computer, a second virtual computer, and the first virtual computer.
  • a virtual machine system that functions as a hypervisor for executing and controlling the second virtual machine, wherein the first virtual machine performs authentication processing with holding means for holding confidential information, and sends an authentication result to the hypervisor.
  • the second virtual machine uses a virtual device that is a virtualized storage device, and the hypervisor obtains an authentication result indicating successful authentication from the authentication means.
  • the second virtual machine is allocated to the storage area in which the confidential information is stored as the entity of the virtual device. Seth was enabled, the when the authentication means authentication result indicating that the authentication success from has not been obtained, the confidential information by the second virtual machine to disable the access to the storage area stored.
  • the second virtual machine does not have an authentication mechanism, and it is not possible to perform fraud that makes it possible to access confidential information by falsifying the success or failure of authentication. Can not.
  • the second virtual machine simply uses the virtual device without recognizing any authentication, and whether to use the confidential information depends on the success or failure of the authentication by the authentication means of the first virtual machine. Become. Therefore, the virtual machine system according to the present invention can limit the use of confidential information by the second virtual machine when authentication is successful.
  • FIG. 1 is a block diagram showing a main hardware configuration of a virtual machine system according to Embodiment 1 of the present invention.
  • the flowchart which shows an example of the read-out process of the virtual device which concerns on Embodiment 1 of this invention The flowchart which shows an example of the write-in process of the data to the virtual device which concerns on Embodiment 1 of this invention
  • the figure which shows an example of the screen display which concerns on Embodiment 1 of this invention The figure which shows typically the function structure of the virtual machine system which concerns on Embodiment 2 of this invention.
  • the flowchart which shows an example of the authentication service process which concerns on Embodiment 2 of this invention The flowchart which shows an example of the mapping process which concerns on Embodiment 2 of this invention.
  • the flowchart which shows an example of the reading process of the virtual mail folder which concerns on Embodiment 2 of this invention The flowchart which shows an example of the write-in process of the data to the virtual mail folder which concerns on Embodiment 2 of this invention
  • the figure which shows an example of the screen display which concerns on Embodiment 2 of this invention The figure which shows typically the function structure of the virtual computer system which concerns on the modification of this invention.
  • the virtual computer system 100 is an information terminal that handles confidential information such as user information as an example.
  • privilege information is used as an example of confidential information.
  • the privilege information can be used in the first virtual machine and cannot be used in principle in the second virtual machine. However, as a certain condition, the privilege information can be used only when there is a privilege that the user authentication by the authentication code is successful. Information.
  • the virtual machine system 100 includes a first virtual machine on which a secure OS (operating system) or the like operates, a second virtual machine on which a general OS or the like operates, a first virtual machine, and a second virtual machine. And a hypervisor that performs execution control.
  • An application program that requests the use of privilege information runs on the second virtual machine, but the privilege information is held by the first virtual machine.
  • whether or not the privilege information can be used is not controlled by the second virtual machine that actually uses the privilege information, but based on the result of authentication performed by the first virtual machine. Controlled by.
  • FIG. 1 is a block diagram showing a main hardware configuration of a virtual machine system 100 according to an embodiment of the present invention.
  • the virtual machine system 100 is a computer device as hardware, and includes an integrated circuit 101, an input device 102, a display device 103, and a storage device 104.
  • the integrated circuit 101 includes a processor 120, a cache storage device 121, a memory 122, an external I / F (interface) 123, and a bus 124.
  • the memory 122 is configured by a RAM (Random Access Memory), is connected to the bus 124, and stores a program that defines the operation of the processor 120, data used by the processor 120, and the like.
  • RAM Random Access Memory
  • the cache storage device 121 is a cache memory composed of a memory that operates at a higher speed than the memory 122, and is connected to the processor 120 and the bus 124.
  • the cache storage device 121 has a cache function for temporarily storing frequently used data among the data stored in the memory 122.
  • the bus 124 is connected to the processor 120, the cache storage device 121, the memory 122, and the external I / F 123, and has a function of transmitting signals between connected circuits.
  • the external I / F 123 is connected to the bus 124, the input device 102, the display device 103, and the storage device 104.
  • the external I / F 123 has a function of mediating exchange of signals between connected circuits.
  • the input device 102 includes a keyboard, a mouse, and the like, and is connected to the external I / F 123.
  • the input device 102 is controlled by a processor 120 that executes a program, and has a function of receiving input information that is input by a user of the virtual computer system 100 operating a keyboard, a mouse, and the like.
  • the display device 103 includes a display or the like and is connected to the external I / F 123.
  • the display device 103 is controlled by a processor 120 that executes a program, and has a function of displaying an image, a character string, and the like based on a signal transmitted from the processor 120.
  • the storage device 104 is configured by a nonvolatile storage medium such as a flash memory, and is connected to the external I / F 123.
  • the storage device 104 is controlled by the processor 120 and has a function of storing data.
  • the processor 120 is connected to the cache storage device 121 and the bus 124.
  • the processor 120 reads out and executes a program stored in the memory 122 via the cache storage device 121, thereby executing a first virtual machine 201, a second virtual machine 202, and first and second virtual machines, which will be described later. It functions as a hypervisor 203 that controls the execution of.
  • the processor 120 controls the input device 102, the display device 103, and the storage device 104 by transmitting and receiving various control signals to and from the external I / F 123 using the bus 124. ⁇ 1.2.2. Functional configuration> Next, a configuration viewed from the functional aspect of the virtual machine system 100 including the hardware configuration described with reference to FIG. 1 will be described with reference to the drawings.
  • FIG. 2 is a diagram schematically showing a functional configuration of the virtual machine system 100. As shown in FIG.
  • the virtual machine system 100 includes a first virtual machine 201, a second virtual machine 202, a hypervisor 203, an input unit 204, a storage unit 205, and a display unit 206.
  • the input unit 204 includes an input device 102, and has a function of appropriately distributing and notifying input information input by a user operating the input device 102 to either the first virtual computer 201 or the second virtual computer 202. Have.
  • the storage unit 205 includes the storage device 104 and has a function of storing data.
  • the storage unit 205 stores an authentication information DB 231, privilege information 232, and normal information 233.
  • the privilege information 232 is privilege information that is permitted to be used when the user authentication by the authentication code is successful, and is image data including 10 images as an example.
  • the normal information 233 is information for which no special condition is imposed for use, and is image data including five images as an example.
  • the display unit 206 includes the display device 103, and has a function of displaying images, character strings, and the like requested to be displayed from the first virtual computer 201 and the second virtual computer 202.
  • the first virtual computer 201 is a virtual computer that specifically implements information processing by the first OS 211 and a task group that is controlled by the first OS 211 using hardware resources allocated by the hypervisor 203.
  • the first OS 211 is a secure OS, and security functions such as detection and prevention of intrusion from the outside and protection of files are strengthened compared to a general OS.
  • the first OS 211 has a function of performing execution control on tasks such as the authentication service 212, the privilege information management service 213, and the normal information management service 214.
  • tasks whose execution is controlled by the first OS 211 are collectively referred to as “management tasks”.
  • the authentication service 212 has an authentication function (see FIG. 4) for authenticating the user of the virtual machine system 100.
  • the authentication service 212 reads the authentication information DB (database) 231 used for authentication from the storage unit 205 and uses it.
  • the authentication information DB 231 is a database in which an authentication code is recorded.
  • the authentication code is a password as an example.
  • the authentication service 212 realizes the authentication function as follows. First, the authentication service 212 waits for notification of an authentication code input by the user from the input unit 204. When the authentication code is notified, the authentication service 212 verifies whether or not the authentication code is recorded in the authentication information DB 231. If the authentication code is recorded, the authentication service 212 determines that the authentication is successful. Judge as failure.
  • the authentication service 212 determines that the authentication is successful, the authentication service 212 transmits a signal indicating the authentication success to the hypervisor 203 as an information selection signal. If the authentication service 212 determines that the authentication has failed, the authentication service 212 transmits a signal indicating the authentication failure to the hypervisor 203 as an information selection signal.
  • the authentication service 212 accepts an authentication cancellation instruction input by the user from the input unit 204.
  • the authentication service 212 transmits a signal indicating authentication failure to the hypervisor 203 as an information selection signal.
  • the privilege information management service 213 has a function of managing the privilege information 232.
  • the privilege information management service 213 reads the privilege information 232 from the storage unit 205 and holds it.
  • the privilege information management service 213 uses the logical address of the storage area that holds the privilege information 232 (the address in the logical address space managed by the first OS 211, hereinafter referred to as “privilege information logical address”).
  • the physical address of the storage area storing the privilege information 232 is referred to as “privilege information physical address”.
  • the normal information management service 214 has a function of managing the normal information 233. As the management of the normal information 233, the normal information management service 214 reads the normal information 233 from the storage unit 205 and holds it. Then, the normal information management service 214 uses the logical address of the storage area that holds the normal information 233 (the address in the logical address space managed by the first OS 211, hereinafter referred to as “normal information logical address”). Notify the hypervisor 203.
  • the physical address of the storage area storing the normal information 233 is referred to as “normal information physical address”.
  • the second virtual computer 202 is a virtual computer that specifically realizes information processing by the second OS 251 and a task group that is controlled by the second OS 251 using hardware resources allocated by the hypervisor 203.
  • the task group whose execution is controlled by the second OS 251 includes task 1 (252), task 2 (253),... Task N (N is an arbitrary natural number) (254).
  • tasks whose execution is controlled by the second OS 251 are collectively referred to as “general tasks”.
  • the second OS 251 is a general OS that is not a secure OS, and has a function of performing execution control of task 1 (252) to task N (254).
  • the second OS 251 has an interface (hereinafter, referred to as “virtual device I / F”) for a general task to request access to the virtual device 261.
  • the virtual device 261 is a virtual device that is handled as a device that stores information such as a data string, a file (group), and a folder (group), and is realized by the virtual device providing function of the hypervisor 203.
  • Task 1 (252) to task N (254) are processing execution units, and are implemented as programs created by a user or an application vendor.
  • task 1 (252) is an application program that displays an image.
  • Task 1 (252) recognizes in advance that image data to be displayed is recorded in the virtual device 261, but does not recognize what kind of image data is stored. Shall.
  • task 1 (252) requests reading of image data from the virtual device 261 using the virtual device I / F when displaying an image.
  • the task 1 (252) displays the read image data on the display unit 206.
  • the hypervisor 203 is a control program that includes a plurality of virtual computer environments in which hardware is virtualized by software, and operates a virtual computer including an OS or the like using each virtual computer environment.
  • the hypervisor 203 has a scheduling function, a mapping function, and a virtual device providing function as main functions.
  • the hypervisor 203 includes a selection service 271 that mainly implements a virtual device providing function.
  • Scheduling function The scheduling function is a function for allocating hardware resources of the virtual machine system 100 to the first virtual machine 201 and the second virtual machine 202.
  • the hypervisor 203 allocates each hardware resource to each virtual computer based on a scheduling method (time division, fixed allocation, etc.) determined in advance according to the hardware resource to be allocated.
  • (2) Mapping function The mapping function is a function for allocating a physical memory area, which is a storage area of the memory 122, to the first virtual machine 201 and the second virtual machine 202 and managing the association between logical addresses and physical addresses.
  • the first virtual machine 201 and the second virtual machine 202 manage the allocated physical memory area as a logical memory area. In other words, the first virtual computer 201 and the second virtual computer 202 specify each storage area in the allocated memory area using the logical address.
  • FIG. 3 is a diagram schematically showing association (hereinafter simply referred to as “mapping”) between a physical memory area and a logical memory area.
  • the physical memory area 301 in FIG. 3 schematically shows the entire storage area of the memory 122. It is assumed that the physical memory area 301 has addresses 0 to C as physical addresses. Here, in this embodiment, it is assumed that the physical address and the logical address are represented by a 32-bit length as an example.
  • the hypervisor 203 allocates the first physical memory area 302 from the physical address A to the B address in the physical memory area 301 to the first virtual machine 201.
  • the first virtual machine 201 recognizes the first physical memory area 302 as the first logical memory area 311.
  • the first logical memory area 311 is obtained by converting the physical address of the first physical memory area 302 into a logical address. That is, the entity of the first logical memory area 311 and the entity of the first physical memory area 302 are the same.
  • the hypervisor 203 allocates the second physical memory area 303 from the physical addresses B to C to the second virtual machine 202 in the physical memory area 301.
  • the second virtual computer 202 recognizes the second physical memory area 303 as the second logical memory area 312.
  • the second logical memory area 312 is obtained by converting the physical address of the second physical memory area 303 into a logical address. That is, the entity of the second logical memory area 312 and the entity of the second physical memory area 303 are the same.
  • the hypervisor 203 performs conversion between the logical address and the physical address.
  • the hypervisor 203 generates and holds a table for converting between a logical address and a physical address used by the first virtual machine 201 (hereinafter referred to as “first conversion table” in the present embodiment). ing. Specifically, in the first conversion table, the logical address of the first logical memory area 311 and the physical address of the first physical memory area 302 are described in association with each other.
  • the hypervisor 203 receives an access request specifying a logical address from the first virtual machine 201, the hypervisor 203 converts the specified logical address into a physical address using the first conversion table, and is indicated by this physical address. Access the storage area.
  • the hypervisor 203 generates a table (hereinafter referred to as “second conversion table” in the present embodiment) for mutually converting a logical address and a physical address used by the second virtual computer 202. keeping. Specifically, in the second conversion table, the logical address of the second logical memory area 312 and the physical address of the second physical memory area 303 are described in association with each other.
  • the hypervisor 203 receives an access request specifying a logical address from the second virtual machine 202, the hypervisor 203 converts the specified logical address into a physical address using the second conversion table, and is indicated by this physical address. Access the storage area.
  • the E address of the first logical memory area 311 is associated with the F address of the first physical memory area 302 in the first conversion table.
  • the hypervisor 203 receives a data read request designating a logical address (for example, address E of the first logical memory area 311 in FIG. 3) from the first virtual machine 201, the hypervisor 203 receives the designated logical address.
  • the first virtual machine is converted into a physical address (for example, address F in the first physical memory area 302 of FIG. 3) using the first conversion table, and data is read from the storage area (321) indicated by the physical address. Deliver to 201.
  • the G address of the first logical memory area 311 is associated with the H address of the first physical memory area 302.
  • the hypervisor 203 receives a data write request specifying a logical address (for example, address G of the first logical memory area 311 in FIG. 3) from the first virtual machine 201, the hypervisor 203 changes the specified logical address.
  • the address is converted into a physical address (for example, address H of the first physical memory area 302 in FIG. 3), and the data is stored in the storage area (322) indicated by the physical address.
  • Virtual device provision function uses the virtual device 261 from the general task in the second virtual computer 202 only when the authentication by the authentication service 212 of the first virtual computer 201 is successful. This function controls access to privilege information 232 held in the computer 201 (see FIGS. 6 and 7).
  • a logical address hereinafter referred to as “virtual device address” for specifying a virtual storage area in the virtual device 261 is defined as the virtual device I / F.
  • the virtual device provision function is realized as follows. That is, the selection service 271 of the hypervisor 203 describes the virtual device address (address D in FIG. 3 as an example) and the physical address in the second conversion table in association with each other. Upon receiving the information selection signal from the authentication service 212, the selection service 271 changes the physical address associated with the virtual device address according to the content of the received information selection signal.
  • the selection service 271 associates the physical address of the storage area in which the privilege information 232 is stored with the virtual device address in the second conversion table when the received information selection signal indicates successful authentication. If the received information selection signal indicates an authentication failure, the selection service 271 associates the physical address of the storage area in which the normal information 233 is stored with the virtual device address in the second conversion table.
  • the selection service 271 uses an invalid value defined as a value indicating an invalid address in advance in the virtual machine system 100 as an initial value as a physical address associated with the virtual device address. (For example, 0xFFFFFFFF) is associated.
  • the hypervisor 203 When the hypervisor 203 receives a read request designating the virtual device address from the second virtual computer 202, the hypervisor 203 refers to the second conversion table and converts the virtual device address into the associated physical address. Data is read from the storage area indicated by the physical address and transferred to the second virtual computer 202. In addition, when a data write request specifying a virtual device address is made from the second virtual machine 202, the hypervisor 203 refers to the second conversion table and assigns the virtual device address to the associated physical address. Convert to Then, data is written into the storage area indicated by the physical address.
  • the hypervisor 203 refers to the second conversion table when a read request or data write request specifying a virtual device address is made from the second virtual computer 202, and the virtual device address is associated with an invalid value. If it is, an access error is notified to the second virtual machine 202.
  • privilege information 232 is stored in the storage area 321 whose physical address is F address. That is, the privilege information physical address is address F.
  • the privilege information logical address is assumed to be address E. It is assumed that the selection service 271 has received a privilege information logical address notification from the privilege information management service 213.
  • the normal information 233 is stored in the storage area 322 whose physical address is address H. That is, the normal information physical address is address H.
  • the normal information logical address is assumed to be address G. It is assumed that the selection service 271 has received a notification of a normal information logical address from the normal information management service 214.
  • the selection service 271 receives an information selection signal from the authentication service 212 in the first virtual machine 201.
  • the information selection signal indicates that authentication is successful
  • the selection service 271 changes the value of the physical address associated with the virtual device address in the second conversion table to the value of the privilege information physical address.
  • the selection service 271 When the selection service 271 receives a request for reading the virtual device 261 specifying the virtual device address from the task 1 (252) of the second virtual computer 202, the selection service 271 associates the virtual device address in the second conversion table. It is converted into a privilege information physical address which is a physical address. Then, the virtual device 261 reads the privilege information 232 from the storage area (321) indicated by the privilege information physical address and transfers it to the task 1 (252).
  • the selection service 271 Upon receiving a request for writing data from the task 1 (252) to the virtual device 261 for which the virtual device address is specified, the selection service 271 assigns the virtual device address to the physical associated with the second conversion table. It is converted into a privilege information physical address that is an address. Then, the virtual device 261 writes data to the storage area (321) indicated by the privilege information physical address.
  • the selection service 271 changes the value of the physical address associated with the virtual device address in the second conversion table to the value of the normal information physical address. change.
  • the selection service 271 When the selection service 271 receives from the task 1 (252) a request to read the virtual device 261 specifying the virtual device address, the selection service 271 converts the virtual device address to the normal information that is the physical address associated in the second conversion table. Convert to physical address. Then, the virtual device 261 reads the normal information 233 from the storage area (322) indicated by the normal information physical address, and transfers it to the task 1 (252).
  • the selection service 271 When the selection service 271 receives a request for writing data from the task 1 (252) to the virtual device 261 for which the virtual device address is specified, the selection service 271 corresponds to the physical device associated with the virtual device address in the second conversion table. It is converted into a normal information physical address that is an address. Then, the virtual device 261 writes data in the storage area (322) indicated by the normal information physical address.
  • FIG. 4 is a flowchart showing a procedure of authentication service processing.
  • the authentication service 212 waits for an authentication code to be input (no in step S401).
  • the authentication service 212 verifies whether or not the same authentication code as the input authentication code is recorded in the authentication information DB 231 (step S402). If it is determined that the information has been recorded (Yes in step S402), the user has input the correct authentication code, so a signal indicating successful authentication is sent to the selection service 271 of the hypervisor 203 as an information selection signal. (Step S403).
  • step S404 the authentication service 212 waits for an authentication cancellation instruction to be input by the user (no in step S404).
  • an authentication cancellation instruction is input (yes in step S404)
  • a signal indicating authentication failure is notified to the selection service 271 of the hypervisor 203 as an information selection signal (step S405), and the process proceeds to step S401.
  • step S402 If it is determined in step S402 that the same authentication code as the input authentication code is not recorded in the authentication information DB 231 (no in step S402), the process proceeds to step S405.
  • step S402 ⁇ 1.3.2. Mapping process by selection service 271>
  • the mapping process by the selection service 271 of the hypervisor 203 will be described.
  • FIG. 5 is a flowchart showing the procedure of the mapping process.
  • the selection service 271 generates a first conversion table and a second conversion table (step S501).
  • the selection service 271 associates the normal information physical address as an initial value with the virtual device address in the second conversion table (step S502).
  • the selection service 271 waits to acquire an information selection signal from the authentication service 212 (no in step S503).
  • the selection service 271 acquires an information selection signal from the authentication service 212 (yes in step S503), the selection service 271 verifies whether the information selection signal indicates successful authentication (step S504).
  • step S504 If the information selection signal indicates successful authentication (yes in step S504), the privilege information physical address is associated with the virtual device address in the second conversion table (step S505). On the other hand, when the information selection signal indicates an authentication failure (No in step S504), the normal information physical address is associated with the virtual device address in the second conversion table (step S506).
  • step S506 ⁇ 1.3.3. Read process of virtual device 261> Hereinafter, as an example of the reading process of the virtual device 261, a reading process by the task 1 (252) which is a general task of the second virtual computer 202 will be described.
  • FIG. 6 is a flowchart showing the procedure of the reading process of the virtual device 261.
  • the task 1 (252) makes a read request for the virtual device 261 using the device driver I / F of the second OS 251 (step S601).
  • the second OS 251 issues a read request to the virtual device 261 by designating the virtual device address.
  • the selection service 271 of the hypervisor 203 receives a read request for the virtual device 261
  • the selection service 271 refers to the second conversion table, and when the virtual device address is associated with the privilege information physical address in the second conversion table ( In step S602, the virtual device address is converted into a privilege information physical address (step S603).
  • the second conversion table when the virtual device address is not associated with the privilege information physical address in the second conversion table, that is, when the virtual device address is associated with the normal information physical address (No in step S602).
  • the selection service 271 converts the virtual device address into a normal information physical address (step S604).
  • the virtual device 261 reads data from the storage area indicated by the physical address after the conversion in Step S603 or Step S604 (Step S605).
  • the data read in step S605 becomes privilege information when the logical address is converted into the physical address in step S603. If the conversion from the logical address to the physical address is performed in step S604, the data read in step S605 is normal information.
  • the virtual device 261 notifies the task 1 (252) of the read data.
  • data writing processing to the virtual device 261 data writing processing to the virtual device 261 by the task 1 (252) which is the general task of the second virtual computer 202 will be described.
  • FIG. 7 is a flowchart showing a procedure for writing data to the virtual device 261.
  • the task 1 uses the device driver I / F of the second OS 251 to make a data write request to the virtual device 261 (step S701).
  • the second OS 251 makes a data write request to the virtual device 261 by designating the virtual device address.
  • the selection service 271 of the hypervisor 203 receives a data write request to the virtual device 261
  • the selection service 271 refers to the second conversion table, and the virtual device address is associated with the privilege information physical address in the second conversion table.
  • the virtual device address is converted into a privilege information physical address (step S703).
  • the second conversion table when the virtual device address is not associated with the privilege information physical address in the second conversion table, that is, when the virtual device address is associated with the normal information physical address (No in step S702).
  • the selection service 271 converts the virtual device address into a normal information physical address (step S704).
  • FIG. 8 shows an image display example in the image display process, which is an example of a process performed by the task 1 (252) using the privilege information 232 and the normal information 233.
  • a screen 800 represents a display screen on the display unit 206 when authentication in the authentication service 212 has failed.
  • a screen 802 represents a display screen of the display in the display unit 206 when the authentication in the authentication service 212 is successful.
  • Task 1 (252) is an image viewer and displays a thumbnail image on the display unit 206 when activated.
  • Task 1 (252) cannot read the privilege information 232 from the virtual device 261 when the authentication in the authentication service 212 has failed, and reads the normal information 233.
  • the task 1 (252) displays thumbnails 1 (811) to 5 (815), which are thumbnail images of the five images included in the normal information 233, as shown as the image display area 801 of the screen 800. indicate.
  • task 1 (252) reads the privilege information 232 from the virtual device 261 when the authentication in the authentication service 212 is successful.
  • the task 1 (252) displays thumbnails 11 (821) to 20 (830), which are thumbnail images of 10 images included in the privilege information 232, as shown as the image display area 803 of the screen 802. indicate.
  • the user is shown to have been successfully authenticated.
  • an image 804 indicating that the authentication is successful is displayed on the screen 802.
  • the display image by the task 1 is different depending on the success or failure of the authentication.
  • Second Embodiment> ⁇ 2.1. Overview>
  • the second virtual machine 202 accesses the virtual device 261
  • either privilege information or normal information held by the first virtual machine 201 is determined according to the authentication result in the first virtual machine 201.
  • the example in which the hypervisor 203 controls to access the above has been described.
  • a virtual mail folder that is a virtual mail folder is used as a virtual device.
  • the mail folder is a folder in which information related to mail such as a mail text and an address book for one account related to mail is stored.
  • the hypervisor (903) controls which of the first mail folder related to the first user and the second mail folder related to the second user held by the first virtual machine (901) can be accessed.
  • the present embodiment will be described focusing on differences from the first embodiment. ⁇ 2.2. Configuration>
  • the hardware configuration of the virtual machine system according to the present embodiment is the same as that described with reference to FIG. 1 in the first embodiment.
  • FIG. 9 is a diagram schematically illustrating a functional configuration of the virtual machine system 900.
  • the virtual computer system 900 includes a first virtual computer 901, a second virtual computer 902, a hypervisor 903, an input unit 204, a storage unit 205, and a display unit 206.
  • the first virtual machine 901 is different from the first virtual machine 201 according to the first embodiment in that an authentication service 911 and a mail management service 912 are operating as management tasks.
  • (1) Authentication service 911 The authentication service 911 is different from the first embodiment in that authentication processing is performed using a user name in addition to an authentication code.
  • the authentication service 911 uses an authentication information DB 931 in which the user name of each user and the authentication code unique to each user are recorded in association with each other as a database.
  • the authentication service 911 acquires a user name and an authentication code input by the user from the input unit 204. Then, it is verified whether or not the acquired user name and authentication code are associated with each other and recorded in the authentication information DB 931. If they are recorded, authentication success / failure information indicating successful authentication and authentication succeed as an information selection signal.
  • the hypervisor 903 is notified of a signal indicating the user name of the user who has performed.
  • the authentication service 911 outputs a signal indicating authentication success / failure information indicating authentication failure as an information selection signal.
  • the mail management service 912 has a function of managing a mail folder in which mail-related data such as a mail text and an address book is recorded. As the mail folder management, the mail management service 912 performs the following processing. First, the mail management service 912 reads and holds the first mail folder 981 and the second mail folder 991 from the storage unit 205.
  • the first mail folder 981 is a folder in which data related to the mail of the first user is recorded.
  • the first mail folder 981 includes a first mail 982 which is data representing the mail text, a first address book 983 in which one or more mail addresses used by the first user are described.
  • the first mail 982 includes eight mails as an example.
  • the second mail folder 991 is a folder in which data related to the second user's mail is recorded.
  • the second mail folder 991 includes a second mail 992 that is data representing the mail text, a second address book 993 in which one or more mail addresses used by the second user are described, and the like.
  • the second mail 982 includes eight mails as an example.
  • the mail management service 912 is a logical address of a storage area that holds the first mail folder 981 (an address in a logical address space managed by the first OS 211. Hereinafter, it is referred to as “first mail folder logical address”. )) And the logical address of the storage area that holds the second mail folder 991 (the address in the logical address space managed by the first OS 211. Hereinafter, referred to as “second mail folder logical address”). Notify the hypervisor 903.
  • first mail folder physical address the physical address of the storage area storing the first mail folder 981
  • second mail folder physical address the physical address of the storage area storing the second mail folder 991
  • the second virtual computer 902 is different from the second virtual computer 202 of the first embodiment in that the mailer 951 operates as a general task instead of the task 1 (252).
  • a virtual mail folder address that is a specific logical address for accessing the virtual mail folder is used as the virtual device I / F.
  • the mailer 951 is an application program that executes mail processing (hereinafter referred to as “mail processing”) such as mail creation, display, and transmission / reception. In order to perform mail processing, the mailer 951 accesses a mail folder in which mail data including a mail text and an address book in which a mail address used by the user is recorded.
  • mail processing such as mail creation, display, and transmission / reception.
  • the mailer 951 accesses a mail folder in which mail data including a mail text and an address book in which a mail address used by the user is recorded.
  • the mailer 951 recognizes in advance that it is only necessary to access the virtual mail folder in order to access the mail folder, and accesses the virtual mail folder when performing mail processing. Then, the mailer 951 uses the virtual mail folder to access the mail data, the address book, and the like, and performs mail processing such as displaying the mail text and the address book contents included in the mail data on the display unit 206.
  • the mail folder has a data structure according to a specific format. Then, by referring to data at a specific position in the data structure (hereinafter referred to as “folder management information”), it is possible to know the mail data included in the mail folder, the data size of the address book, the number, etc. Shall.
  • the mail data included in the mail folder also has a data structure according to a specific format. The number of mails included in the mail data and the mail data of each mail are in a specific position of the data structure.
  • Information for extracting each mail from the mail data (hereinafter referred to as “mail management information”) such as the recording position in FIG.
  • the hypervisor 903 differs from the hypervisor 203 of the first embodiment in that it has a virtual mail folder providing function instead of the virtual device providing function.
  • the hypervisor 903 includes a selection service 971 that realizes a virtual mail folder providing function. (Virtual mail folder provision function)
  • the virtual mail folder providing function uses the virtual mail folder from the mailer 951, which is a general task in the second virtual computer 902, only when the authentication by the authentication service 911 of the first virtual computer 901 is successful. This is a function for controlling to access the first mail folder 981 or the second mail folder 991 held in 901 (see FIGS. 13 and 14).
  • the virtual mail folder provision function is realized as follows. That is, the selection service 971 describes the virtual mail folder address and the physical address in association with each other in the second conversion table. Upon receiving the information selection signal from the authentication service 911, the selection service 971 changes the physical address associated with the virtual mail folder address in the second conversion table according to the content of the received information selection signal.
  • the selection service 971 indicates the virtual mail folder address in the second conversion table.
  • the first mail folder physical address is associated with the address.
  • the second mail folder physical address is associated with the virtual mail folder address address in the second conversion table.
  • the selection service 971 is defined in advance as a value indicating an invalid address in the virtual computer system 900 in the virtual mail folder address in the second conversion table. Are associated with invalid values (eg, 0xFFFFFF). Note that the selection service 971 describes an invalid value as an initial value in association with the virtual mail folder address when the second conversion table is generated.
  • the hypervisor 903 When the hypervisor 903 requests the mailer 951 to read out the virtual mail folder in which the virtual mail folder address is specified, the hypervisor 903 changes the specified virtual mail folder address to the physical address associated in the second conversion table. Convert. Then, the hypervisor 903 reads data from the storage area indicated by the converted physical address and passes it to the mailer 951.
  • the hypervisor 903 When the hypervisor 903 receives a data write request from the mailer 951 to the virtual mail folder for which the virtual mail folder address is specified, the hypervisor 903 associates the specified virtual mail folder address in the second conversion table. To a physical address. Then, the hypervisor 903 writes data in the storage area indicated by the converted physical address.
  • the hypervisor 903 An access error is notified to 951.
  • the mapping in this Embodiment is demonstrated using FIG.
  • the first mail folder 981 is stored in the storage area 321 whose physical address is F address
  • the second mail folder 991 is stored in the storage area 322 whose physical address is H address.
  • the first mail folder physical address is F address
  • the first mail folder logical address is E address
  • the second mail folder physical address is H address
  • the second mail folder logical address is G address.
  • the virtual mail folder address is address D.
  • the selection service 971 receives the information selection signal, if the authentication success / failure information included in the information selection signal indicates successful authentication and the user name indicates the user name of the first user, the selection service 971 Associates the virtual mail folder address with address F which is the first mail folder physical address in the second conversion table.
  • the selection service 971 uses the virtual mail folder address in the second conversion table.
  • the second mail folder physical address is associated with address H. ⁇ 2.3. Operation> ⁇ 2.3.1. Operation of authentication service processing> Hereinafter, authentication service processing by the authentication service 911 will be described.
  • FIG. 11 is a flowchart showing a procedure of authentication service processing.
  • the authentication service 911 waits for a user name and an authentication code to be input (no in step S1101).
  • the user name and the authentication code are input (yes in step S1101)
  • the selection service 971 of the visor 903 is notified (step S1103).
  • the authentication service 911 waits for an authentication cancellation instruction to be input by the user (no in step S1104).
  • an authentication cancellation instruction is input (yes in step S1104)
  • an information selection signal indicating authentication success / failure information indicating authentication failure is notified to the selection service 971 (step S1105), and the process proceeds to step S1101. If it is determined in step S1102 that the combination of the input user name and authentication code is not recorded in the authentication information DB 931 (no in step S1102), the process proceeds to step S1105. ⁇ 2.3.2. Mapping process by selection service 971>
  • mapping processing by the selection service 971 of the hypervisor 903 will be described.
  • FIG. 12 is a flowchart showing the procedure of the mapping process.
  • the selection service 971 generates a first conversion table and a second conversion table (step S1201).
  • the selection service 971 associates an invalid value as an initial value with the virtual mail folder address in the second conversion table (step S1202).
  • the selection service 971 waits to acquire an information selection signal from the authentication service 911 (no in step S1203).
  • the selection service 971 acquires an information selection signal from the authentication service 911 (yes in step S1203)
  • the selection service 971 verifies whether the authentication success / failure information included in the information selection signal indicates authentication success (step S1204).
  • step S1204 If it is determined that the authentication success / failure information indicates that the authentication has succeeded (Yes in step S1204), it is verified whether the user name included in the information selection signal indicates the user name of the first user (step S1205). .
  • the selection service 971 writes the first mail folder physical address in correspondence with the virtual mail folder address in the second conversion table (step S1206). The process proceeds to step S1203.
  • the selection service 971 sets the second mail folder physical address to the virtual mail folder address in the second conversion table. Corresponding description is made (step S1207), and the process proceeds to step S1203.
  • step S1204 If it is determined in step S1204 that the authentication success / failure information included in the information selection signal indicates an authentication failure (no in step S1204), the selection service 971 sets the virtual mail folder address in the second conversion table. The invalid value is associated (step S1208), and the process proceeds to step S1203. ⁇ 2.3.3. Reading virtual mail folder>
  • the virtual mail folder read process a read process by the mailer 951, which is a general task of the second virtual computer 902, will be described.
  • FIG. 13 is a flowchart showing the procedure of the virtual mail folder reading process.
  • the mailer 951 makes a virtual mail folder read request using the file system I / F of the second OS 251 (step S1301).
  • the second OS 251 makes a read request to the virtual mail folder 961 by designating the virtual mail folder address.
  • the selection service 971 of the hypervisor 903 receives the virtual mail folder read request, and verifies whether or not a value that is not an invalid value is associated with the virtual mail folder address in the second conversion table (step S1302).
  • the first mail folder physical address corresponds to the virtual mail folder address in the second conversion table.
  • the hypervisor 903 converts the designated virtual mail folder address into the first mail folder physical address (step S1304), and proceeds to step S1306.
  • the hypervisor 903 converts the designated virtual mail folder address into the second mail folder physical address (step S1305), and proceeds to step S1306.
  • step S1306 the virtual mail folder 961 reads data from the storage area indicated by the physical address after the conversion in step S1304 or step S1305 (step S1306). Then, the read data is notified to the mailer 951 (step S1307). Note that the data read in step S1306 is data representing the contents of the first mail folder 981 when the address is converted in S1304. If the address has been converted in step S1305, the data read in step S1306 is data representing the contents of the second mail folder 991.
  • step S1302 If it is determined in step S1302 that an invalid value is associated with the virtual mail folder address in the second conversion table (no in step S1302), a read error is notified to the mailer 951 (step S1311). ⁇ 2.3.4. Writing data to the virtual mail folder>
  • data writing processing to the virtual mail folder data writing processing to the virtual mail folder by the mailer 951, which is a general task of the second virtual computer 902, will be described.
  • FIG. 14 is a flowchart showing a procedure for writing data to the virtual mail folder.
  • the mailer 951 makes a data write request to the virtual mail folder using the file system I / F of the second OS 251 (step S1401).
  • the second OS 251 makes a data write request to the virtual mail folder 961 by designating the virtual mail folder address.
  • the selection service 971 of the hypervisor 903 receives a request to write data to the virtual mail folder, the selection service 971 verifies whether or not a value that is not an invalid value is associated with the virtual mail folder address in the second conversion table (step S100).
  • step S100 the selection service 971 of the hypervisor 903
  • step S1402 When it is determined in the second conversion table that a non-invalid value is associated with the virtual mail folder address (yes in step S1402), the first mail folder physical address is associated with the virtual mail folder address. Sometimes (yes in step S1403), the hypervisor 903 converts the designated virtual mail folder address to the first mail folder physical address (step S1404), and proceeds to step S1406. On the other hand, when it is determined in the second conversion table that the first mail folder physical address is not associated with the virtual mail folder address, that is, when the second mail folder physical address is associated with the virtual mail folder address ( In step S1403, no), the hypervisor 903 converts the virtual mail folder address designated by the mailer 951 into the second mail folder physical address (step S1405), and proceeds to step S1406.
  • step S1406 the virtual mail folder 961 writes the data designated by the mailer 951 in the storage area indicated by the physical address after the conversion in steps S1404 and S1405 (step S1406).
  • step S1406 the storage area in which data is written in step S1406 is the storage area in which the first mail folder 981 is stored when the address is converted in step S1404. Therefore, in step S1406, the contents of the first mail folder 981 are changed.
  • step S1406 the storage area to which data is written in step S1406 is the storage area in which the second mail folder 991 is stored. Therefore, in step S1406, the contents of the second mail folder 991 are changed.
  • step S1402 If it is determined in step S1402 that an invalid value is associated with the virtual mail folder address in the second conversion table (no in step S1402), a write error is notified to the mailer 951 (step S1411).
  • FIG. 15 shows a screen display example in mail display processing, which is an example of processing performed by the mailer 951 using the first mail folder and the second mail folder.
  • a screen 1500 represents a display screen on the display unit 206 when authentication in the authentication service 911 fails.
  • a screen 1502 represents a display screen on the display unit 206 when authentication by the authentication service 911 is successful.
  • the mailer 951 when the mailer 951 is started, it analyzes the mail header of the mail included in the first mail 982 or the second mail 992 in the first mail folder 981 or the second mail folder 991, and displays a list of subject lines. Shall be displayed.
  • the mailer 951 accesses the virtual mail folder to access the contents of the first mail folder 981. Cannot be read out, and the contents of the second mail folder 991 are read out.
  • the mailer 951 displays subject 1 (1511) to subject 8 (1518) of each of the eight mails included in the second mail 992, as shown as a mail display area 1501 on the screen 1500.
  • the mailer 951 reads the contents of the first mail folder 981 by accessing the virtual mail folder 961. . In this case, the mailer 951 displays the subject lines 11 (1521) to 18 (1528) of each of the eight mails included in the first mail 982, as shown as a mail display area 1503 on the screen 1502.
  • the user when the authentication is successful, the user is shown to have been successfully authenticated. Specifically, an image 1504 indicating that the authentication has been successful, such as an icon or a pict that means unlocking, is displayed on the screen 1502. ⁇ 3.
  • an image 1504 indicating that the authentication has been successful such as an icon or a pict that means unlocking, is displayed on the screen 1502. ⁇ 3.
  • the physical address of the storage area in which the privilege information 232 is stored in the virtual device 261 is mapped.
  • the physical address of the storage area in which the normal information 233 is stored is mapped to the virtual device 261.
  • mapping it is not always necessary to perform mapping so that one of the two pieces of information can be selectively accessed according to the success or failure of authentication, and access to information (eg, privilege information 232) that is desired to be concealed according to the success or failure of authentication. It is sufficient if the availability can be controlled.
  • the selection service 271 associates the privilege information physical address with the virtual device address in the second conversion table when the information selection signal indicates authentication success, and sets the virtual device address when the information selection signal indicates authentication failure.
  • the invalid values described above may be associated.
  • the second virtual machine 202 can access the privilege information 232 when authentication is successful, and cannot access the privilege information 232 when authentication fails.
  • the normal information 233 is not managed on the first virtual machine 201 side, is managed on the second virtual machine 202 side, and can always be referred to from task 1 (252) operating on the second virtual machine 202. It is good to do.
  • only one account for example, an account related to the first user
  • the selection service 971 associates the first mail folder physical address with the virtual mail folder address in the second conversion table.
  • an invalid value is associated with the virtual mail folder address in the second conversion table.
  • the hypervisor 903 refers to the second conversion table and sets the virtual mail folder address to the first mail folder physical address. Convert. Then, the hypervisor 903 accesses the storage area indicated by the first mail folder physical address.
  • the hypervisor 903 refers to the second conversion table and recognizes that the physical address associated with the virtual mail folder address is an invalid value. In this case, the hypervisor 903 cannot access the storage area indicated by the first mail folder physical address, and notifies the mailer 951 of an access error.
  • the first mail is sent from the mailer 951 via the virtual mail folder by associating an invalid value with the virtual mail folder address in the second conversion table. Control is performed so that neither the folder 981 nor the second mail folder 991 can be accessed.
  • the authentication service 911 when authentication fails in the authentication service 911, there is no need to control so that no mail folder can be accessed via the virtual mail folder.
  • a default user mail folder hereinafter referred to as “third mail folder” is prepared, and when the authentication service 911 fails in authentication, the third mail folder can be accessed via the virtual mail folder. Also good.
  • the selection service 971 acquires the authentication success / failure information indicating the authentication failure from the authentication service 911, the selection service 971 describes the logical address in which the third mail folder is stored in association with the virtual mail folder address in the second conversion table. To do.
  • authentication is performed using an authentication code (such as a password) or a user name and an authentication code, but it is sufficient if the user can be authenticated.
  • an authentication code such as a password
  • an ID (IDenty) card which is a well-known technique, or authentication using biometric information (fingerprint, voiceprint, etc.) may be performed.
  • all the functions of the authentication service 212 and the authentication service 911 are arranged on the first virtual machine 201 and the first virtual machine 901 side, but this affects the level of security. Some functions that are not present may be arranged on the second virtual computer 202 and the second virtual computer 902 side.
  • an input user interface for the user to input a password, an ID card, a fingerprint, a voiceprint, etc. as an authentication code is arranged on the second virtual computer 202 and the second virtual computer 902 and input by the user It is also possible to notify the first virtual machine 201 and the first virtual machine 901 of the data that has been set. In this case, if the second virtual machine 202 and the second virtual machine 902 are allowed to be changed by the user and the program vendor, the user and the program vendor can change the user interface to a desired one. In addition, user convenience can be improved.
  • the first OS 211 and the second OS 251 are different types of OS, but may be the same type of OS. Further, the number of virtual machines, the number of OSs, the number of tasks, and the like described in the first and second embodiments are examples, and the present invention is not limited to these.
  • Embodiments 1 and 2 virtual devices are emulated by software, but these may be realized using hardware such as MMU (Memory Management Unit).
  • MMU Memory Management Unit
  • the authentication cancellation instruction in the authentication service 212 and the authentication service 911 is input by the user.
  • the authentication service 212 may detect that the execution of the task 1 (252) is finished and transmit an authentication cancellation instruction to the selection service 271.
  • the authentication service 911 may detect that the execution of the mailer 951 is completed and transmit an authentication cancellation instruction to the selection service 271.
  • the information selection signal notified to the selection service 271 by the authentication service 212 notifies which of the two states of authentication success or authentication failure. You may extend to notify.
  • the information selection signal may notify the three states obtained by adding the power saving state to the two states of authentication success or authentication failure in the first embodiment.
  • the selection service 271 determines whether the information selection signal indicates authentication success, authentication failure, or a power saving state. Then, depending on which information selection information indicates, in the second conversion table, the physical address of the storage area in which the privilege information 232 is recorded and the storage area in which the normal information 233 is recorded in the virtual device address Or a physical address of a storage area in which information to be used in the power saving state is recorded.
  • the hypervisor 203 has the selection service 271 and provides the virtual device providing function.
  • a part or all of the functions may be realized by the first virtual machine 201.
  • the first virtual computer 202 may create the second conversion table as a partial function.
  • the hypervisor 203 and the first virtual machine 201 may be integrated and implemented with a single program.
  • the hypervisor (203, 903) allocates memory to the first virtual machine (201, 901) and the second virtual machine (202, 902) in the physical memory area. A fixed area of a specific size was allocated. However, the hypervisor may perform memory allocation using a well-known virtual storage method.
  • Embodiments 1 and 2 in the virtual device providing function and the virtual mail folder providing function, when there is an access request to the virtual device (virtual mail folder) from the second virtual computer (202, 902),
  • the hypervisor (203, 903) is operated by the second virtual computer (202, 902) in units of a specific byte data string or folder such as privilege information 232, normal information 233, first mail folder 981, second mail folder 991, and the like.
  • a data string having a specific number of bytes may be used as a unit, or a file, a partition, or the like may be used as a unit.
  • the hypervisor 203 when there is an access request to the virtual device from the second virtual machine 202 (task 1 (252)), the hypervisor 203 sends the second virtual machine 202 to the second virtual machine 202.
  • the privilege information 232 managed by the first virtual machine 201 is accessed.
  • the second virtual computer 202 accesses the data string of the predetermined data length called the privilege information 232 as a unit.
  • the hypervisor 203 selects the virtual device address with the privilege information 232, as described with reference to FIG. 3 in the first embodiment, the hypervisor 203 (selection service 271) assigns the address D, which is the virtual device address, to the privilege information physical address. Corresponding to a certain F address. At this time, as an example, the hypervisor 203 may describe all the physical addresses assigned to the storage area in which the privilege information 232 is stored in the second conversion table so that it can be accessed using the virtual device address. .
  • address (D + 1) that is a logical address is associated with address (F + 1) that is a physical address
  • address (D + 10) is associated with address (F + 10).
  • the hypervisor 203 converts the address (D + 10) to the address (F + 10) using the second conversion table. To do.
  • the data stored at the physical address (F + 10) in the memory 122 is read and transferred to the task 1 (252).
  • conversion from a logical address to a physical address is performed by the hypervisor 203 as in the case of reading.
  • the authentication information DB 231 in which the authentication code is exposed if read illegally, and the encryption of the privilege information 232 that is an example of the confidential information are not mentioned at all. Encryption techniques may be combined to protect.
  • FIG. 16 is a diagram showing a functional configuration of the virtual machine system 1601 according to this modification.
  • the virtual machine system 1601 is obtained by adding an encryption processing unit 1610 to the virtual machine system 100 shown in FIG.
  • the cryptographic processing unit 1610 is configured with an LSI for encryption and decryption as a hardware configuration.
  • the authentication information DB 231 and the privilege information 232 are stored in the storage unit 205, they are stored after being encrypted by the encryption processing unit 1610.
  • the authentication information DB 231 and the privilege information 232 are managed by the authentication service 212 and the privilege information management service 213 after being decrypted by the encryption processing unit 1610 when read from the storage unit 205. Is done.
  • the encryption process may be performed for the entire first virtual machine 201, not for each piece of information such as the authentication information DB 231 and the privilege information 232.
  • the virtual machine system 1701 stores the first OS 211, the authentication service 212, the privilege information management service 213, the normal information management service 214, the files used by the first OS 211, and the like that constitute the first virtual machine 201 in the storage device 104.
  • the encryption processing unit 1710 performs encryption processing and stores the result.
  • the program when a program such as the first OS 211 constituting the first virtual machine 201 is read from the storage unit 205 and expanded in the memory 122, the program is decrypted by the encryption processing unit 1710 and expanded.
  • the cryptographic processing unit 1710 and the cryptographic processing unit 1610 are combined to protect the entire first virtual machine by encrypting it with the cryptographic processing unit 1710, and the authentication information DB 231 and privilege information 232 are further protected by the cryptographic processing unit 1610. You may protect by encrypting. Further, the authentication information DB 231 and the privilege information 232 are protected by encryption using the encryption processing unit 1610, and the authentication information DB 231 and the privilege information 232 other than the authentication information DB 231 and privilege information 232 are protected by encryption using the encryption processing unit 1710. Also good.
  • the security strengths of the cryptographic processing unit 1610 and the cryptographic processing unit 1710 may be different. Generally, the higher the security strength, the higher the processing load required for encryption. Therefore, for example, when higher confidentiality is required for the authentication information DB 231 and the privilege information 232, the security strength of the cryptographic processing unit 1610 may be higher than the security strength of the cryptographic processing unit 1710. By doing so, it is possible to improve the security strength as compared with the case where only the cryptographic processing unit 1710 is used while suppressing an increase in processing load related to the encryption processing to a necessary level.
  • the hypervisor 203 when the access request to the virtual device is made from the second virtual machine 202, the hypervisor 203 refers to the second conversion table, and the privilege information 232 is stored with the virtual device address. Was converted to a physical address.
  • the hypervisor 203 allows the second virtual computer 202 to access the storage area indicated by the converted physical address. However, it is sufficient that the storage area managed on the first virtual machine 201 side can be accessed from the second virtual machine 202 side, and a conversion table such as the second conversion table is not necessarily used.
  • a mechanism for accessing the storage area managed on the first virtual machine 201 side from the second virtual machine 202 side may be realized using a database.
  • a database a known key / value relational database is used.
  • FIG. 18 is a diagram showing a functional configuration of a virtual machine system 1800 according to this modification.
  • the virtual computer system 1800 is mainly different from the virtual computer system 100 shown in FIG. 2 in that it has a relational database (DB) 1810 instead of the privilege information management service 213 and the normal information management service 214.
  • DB relational database
  • the relationship DB 1810 is assumed to be in the first virtual machine 1801.
  • the first value 1812 is obtained by searching using the first key 1811
  • the second value 1814 is obtained by searching using the second key 1813.
  • the selection service 1871 of the hypervisor 1803 includes a key corresponding to the case where the information selection signal indicates authentication success (in this modification, the first key 1811) and a key corresponding to the case where the information failure indicates authentication failure (this book In the modification, the second key 1813 is stored in advance.
  • the selection service 1871 receives an information selection signal from the authentication service 212.
  • the selection service 1871 of the hypervisor 1803 indicates that the information selection signal indicates successful authentication.
  • the first key 1811 is selected, and when the information selection signal indicates an authentication failure, the second key 1813 is selected.
  • the selection service 1871 accesses the relation DB 1810 using the selected key, and reads the value obtained by performing the search using the selected key. Then, the selection service 1871 delivers the obtained value to the second virtual computer 202.
  • the selection service 1871 selects the first key when the information selection signal indicates that authentication is successful, and the information selection signal is authenticated. When indicating failure, the second key is selected. Then, the selection service 1871 accesses the database using the selected key, and writes the specified data in the value storage area corresponding to the key.
  • a machine language for causing the processor of the virtual machine system and various circuits connected to the processor to execute various processes such as the authentication service process, the mapping process, and the virtual device providing process described in the above embodiment.
  • a control program composed of high-level language program codes can be recorded on a recording medium, or can be distributed and distributed via various communication paths.
  • a recording medium includes an IC card, a hard disk, an optical disk, a flexible disk, a ROM, a flash memory, and the like.
  • the distributed and distributed control program is used by being stored in a memory or the like that can be read by the processor, and the processor executes the control program to realize each function as shown in each embodiment. Will come to be.
  • the processor may be compiled and executed or executed by an interpreter.
  • privilege information is used as an example of confidential information.
  • the information is not limited to this, and any information that is used under certain conditions is sufficient.
  • each functional component described above is typically realized as an LSI which is an integrated circuit. These may be individually made into one chip, or may be made into one chip so as to include a part or all of them.
  • the name used here is LSI, but it may also be called IC, system LSI, super LSI, or ultra LSI depending on the degree of integration.
  • the method of circuit integration is not limited to LSI's, and implementation using dedicated circuitry or general purpose processors is also possible.
  • An FPGA Field Programmable Gate Array
  • a reconfigurable processor that can reconfigure the connection and setting of circuit cells inside the LSI may be used.
  • integrated circuit technology comes out to replace LSI's as a result of the advancement of semiconductor technology or a derivative other technology, it is naturally also possible to carry out function block integration using this technology. Biotechnology can be applied.
  • a virtual computer system includes a computer, and the computer executes a program so that the computer has a first virtual computer, a second virtual computer, and the first virtual computer. And a virtual machine system that functions as a hypervisor for executing and controlling the second virtual machine, wherein the first virtual machine performs authentication processing with holding means for holding confidential information, and sends an authentication result to the hypervisor.
  • the second virtual machine uses a virtual device that is a virtualized storage device, and the hypervisor obtains an authentication result indicating successful authentication from the authentication means.
  • the second virtual machine accesses the storage area in which the confidential information is stored as the entity of the virtual device. And enabling said when authentication means authentication result indicating that the authentication success from has not been obtained, the confidential information by the second virtual machine to disable the access to the storage area stored.
  • the holding means is the privilege information management service 213, the mail management service 912, or the relation DB 1810 in the above-described embodiment.
  • the second virtual machine does not have an authentication mechanism, and it is not possible to perform fraud that makes it possible to access confidential information by falsifying the success or failure of authentication. Can not.
  • the second virtual machine simply uses the virtual device without recognizing any authentication, and whether to use the confidential information depends on the success or failure of the authentication by the authentication means of the first virtual machine. Become. Therefore, the virtual machine system according to the present invention can limit the use of confidential information by the second virtual machine when authentication is successful.
  • the virtual computer system holds normal information, which is information different from the confidential information, in a storage area different from the confidential information, and the hypervisor makes a successful authentication from the authentication means.
  • the second virtual machine may be allowed to access the storage area in which the normal information is stored as the substance of the virtual device.
  • the hypervisor stores the normal information as a storage area in which the normal information is stored, regardless of whether an authentication result indicating successful authentication is obtained from the authentication unit.
  • the confidential information is stored in addition to the storage area in which the normal information is stored as the entity of the virtual device. Access to the storage area may be enabled.
  • the hypervisor associates the virtual device with a storage area in which the confidential information is stored, and performs the association. After performing the above, access to the storage area associated with the virtual device by the second virtual machine may be enabled.
  • the authentication unit performs user authentication as the authentication process.
  • user authentication information for identifying the user who has succeeded in the user authentication is added to the authentication result.
  • the holding means holds the first user information corresponding to the first user identification information and the second user information corresponding to the second user identification information as the confidential information, and the hyper information
  • the visor uses the first user information as the entity of the virtual device. Can be accessed, and the notified user identification information is the second user identification information, the entity of the virtual device is the second It may be to enable the access to the storage area where user information is stored.
  • the second virtual computer uses the user information corresponding to the user who has succeeded in the authentication by simply accessing the virtual device without being aware of the authentication related to the first user and the second user. be able to.
  • the confidential information is a file, and when the authentication result indicating the authentication success is obtained from the authentication unit, the hypervisor is configured as the virtual device entity by the second virtual computer. Enabling access to a file that is confidential information, and disabling access to the file that is confidential information by the second virtual machine when an authentication result indicating successful authentication is not obtained from the authentication means. It is good.
  • the confidential information is partial data that is a part of data in a database.
  • the hypervisor obtains an authentication result indicating successful authentication from the authentication means
  • the second virtual When the computer enables access to the partial data, which is the confidential information, as the entity of the virtual device, and the authentication result indicating successful authentication is not obtained from the authentication means, the confidentiality by the second virtual computer Access to partial data that is information may be disabled.
  • the confidential information is data relating to an email corresponding to one account
  • the hypervisor when an authentication result indicating successful authentication is obtained from the authentication means, the second virtual computer
  • the access to the data related to the mail that is the confidential information is enabled as the entity of the virtual device according to the second virtual computer. Access to the data related to the mail that is the confidential information may be disabled.
  • a method for protecting confidential information according to an embodiment of the present invention includes a computer, and the computer executes a program to cause the computer to execute the first virtual computer, the second virtual computer, and the first virtual computer.
  • An authentication unit in the first virtual machine performs an authentication process and notifies the hypervisor of an authentication result, and the second virtual machine uses a virtual device which is a virtualized storage device And when the hypervisor obtains an authentication result indicating successful authentication from the authentication means,
  • the virtual computer enables access to the storage area in which the confidential information is stored as an entity of the virtual device and an authentication result indicating successful authentication is not obtained from the authentication unit, the second virtual And a control step of disabling access to a storage area in which the confidential information is stored by a computer.
  • a confidential information protection program includes a virtual computer including a hypervisor that executes and controls a computer, one virtual computer, and the other virtual computer using the one virtual computer and the virtual device.
  • a confidential information protection program for causing a computer system to function, the computer comprising: a storage unit that stores confidential information; and an authentication unit that performs authentication processing and notifies the hypervisor of an authentication result.
  • the other virtual computer can access the storage area in which the confidential information is stored as an entity of the virtual device.
  • the other virtual machine Serial confidential information to function as a hypervisor to disable the access to the storage area stored.
  • the confidential information protection program according to the present invention other virtual machines do not have an authentication mechanism, and it is not possible to perform fraud that makes it possible to access confidential information by falsifying the success or failure of authentication. Can not.
  • the other virtual machines simply use the virtual device without recognizing the authentication, and whether or not the confidential information can be used depends on the success or failure of the authentication by the authentication means of the one virtual machine. Therefore, the confidential information protection program according to the present invention can limit the use of confidential information by other virtual machines when authentication is successful.
  • the virtual computer system is capable of limiting the use of confidential information when authentication is successful, and is an information terminal that stores a large amount of confidential information such as photographs, emails, and addresses It is useful for such as.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

 本発明は、秘匿情報の使用を認証が成功した場合に制限することができる仮想計算機システムを提供する。本仮想計算機システムは、第1の仮想計算機と第2の仮想計算機とハイパーバイザとを含み、第1の仮想計算機は、秘匿情報を保持する保持手段と、認証処理を行い、認証結果をハイパーバイザに通知する認証手段とを備え、第2の仮想計算機は、仮想化された記憶装置である仮想デバイスを利用し、ハイパーバイザは、認証手段から認証成功を示す認証結果が得られているときには、第2の仮想計算機による仮想デバイスの実体へのアクセスとして、秘匿情報が記憶されている記憶領域へのアクセスを可能化し、認証手段から認証成功を示す認証結果が得られていないときには、第2の仮想計算機による秘匿情報が記憶されている記憶領域へのアクセスを不能化する。

Description

仮想計算機システム、秘匿情報保護方法及び秘匿情報保護プログラム
 本発明は、秘匿情報を扱う仮想計算機システムに関し、特に、秘匿情報について使用制限を行う技術に関する。
 近年、タブレット端末などの秘匿情報を扱う情報端末を、仮想計算機システム(特許文献1参照)を用いて構成する例が増えている。秘匿情報とは一定の条件下において使用が認められる情報をいい、一例としてユーザの画像、メールなどが該当する。
 仮想計算機システムでは、一の仮想計算機において画像ビューア、メーラなどの秘匿情報を扱うユーザアプリケーションを動作させることで画像表示、メール送受信等の機能を実現する。一の仮想計算機では、ユーザアプリケーションがユーザ認証を行い、そのユーザ認証に成功した場合にのみ秘匿情報を使用することで、秘匿情報の使用をユーザ本人に制限している。
特開昭50-23146号公報
 ところで、上述の技術では、ユーザ認証を行いその成否に応じて秘匿情報の使用可否を切り替える機構が一の仮想計算機内に設けられている。よって、その秘匿情報の使用可否を切り替える機構に改ざんや不具合などがある場合に、認証が成功していないにもかかわらず、一の仮想計算機内に保持されている秘匿情報が一の仮想計算機において使用されてしまうということが起こり得る。
 本発明は、係る問題に鑑みてなされたものであり、仮想計算機における秘匿情報の使用を、認証が成功した場合に制限することができる仮想計算機システムを提供することを目的とする。
 上記課題を解決するために本発明に係る仮想計算機システムは、コンピュータを含み、プログラムを実行することにより前記コンピュータが、第1の仮想計算機と、第2の仮想計算機と、前記第1の仮想計算機及び前記第2の仮想計算機を実行制御するハイパーバイザとして機能する仮想計算機システムであって、前記第1の仮想計算機は、秘匿情報を保持する保持手段と、認証処理を行い、認証結果を前記ハイパーバイザに通知する認証手段とを備え、前記第2の仮想計算機は、仮想化された記憶装置である仮想デバイスを利用し、前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られているときには、前記第2の仮想計算機による、前記仮想デバイスの実体として、前記秘匿情報が記憶されている記憶領域へのアクセスを可能化し、前記認証手段から認証成功を示す認証結果が得られていないときには、前記第2の仮想計算機による前記秘匿情報が記憶されている記憶領域へのアクセスを不能化する。
 この構成により、本発明に係る仮想計算機システムでは、第2の仮想計算機は、認証の機構を有しておらず、認証の成否を偽って秘匿情報へアクセス可能とするような不正を行うことはできない。そして、第2の仮想計算機は、認証について何ら認識せずに、単に仮想デバイスを利用するのみであり、秘匿情報の使用可否については、第1の仮想計算機の認証手段による認証の成否に従うことになる。よって、本発明に係る仮想計算機システムは、第2の仮想計算機による秘匿情報の使用を認証が成功した場合に制限することができる。
本発明の実施の形態1に係る仮想計算機システムの主要なハードウェア構成を示すブロック図 本発明の実施の形態1に係る仮想計算機システムの機能構成を模式的に示す図 本発明の実施の形態1に係るマッピングについて模式的に示す図 本発明の実施の形態1に係る認証サービス処理の一例を示すフローチャート 本発明の実施の形態1に係るマッピング処理の一例を示すフローチャート 本発明の実施の形態1に係る仮想デバイスの読み出し処理の一例を示すフローチャート 本発明の実施の形態1に係る仮想デバイスへのデータの書き込み処理の一例を示すフローチャート 本発明の実施の形態1に係る画面表示の一例を示す図 本発明の実施の形態2に係る仮想計算機システムの機能構成を模式的に示す図 本発明の実施の形態2に係るマッピングについて模式的に示す図 本発明の実施の形態2に係る認証サービス処理の一例を示すフローチャート 本発明の実施の形態2に係るマッピング処理の一例を示すフローチャート 本発明の実施の形態2に係る仮想メールフォルダの読み出し処理の一例を示すフローチャート 本発明の実施の形態2に係る仮想メールフォルダへのデータの書き込み処理の一例を示すフローチャート 本発明の実施の形態2に係る画面表示の一例を示す図 本発明の変形例に係る仮想計算機システムの機能構成を模式的に示す図 本発明の変形例に係る仮想計算機システムの機能構成を模式的に示す図 本発明の変形例に係る仮想計算機システムの機能構成を模式的に示す図
<1.実施の形態1>
 以下、本発明の一実施の形態に係る仮想計算機システム100について説明する。
<1.1.概要>
 仮想計算機システム100は、一例として、ユーザ情報などの秘匿情報を取り扱う情報端末である。本実施の形態では、秘匿情報の一例として特権情報を用いる。特権情報は、第1の仮想計算機では使用可能であり、第2の仮想計算機では原則使用できないが、一定の条件として、認証コードによるユーザ認証に成功したという特権がある場合にのみ使用が認められる情報である。
 仮想計算機システム100は、セキュアOS(オペレーティングシステム)等が動作する第1の仮想計算機と、一般的なOS等が動作する第2の仮想計算機と、第1の仮想計算機及び第2の仮想計算機の実行制御を行うハイパーバイザとを含む。特権情報の使用を要求するアプリケーションプログラムは第2の仮想計算機で動作するが、特権情報は、第1の仮想計算機により保持されている。そして、仮想計算機システム100では、特権情報の使用可否は、実際に特権情報を使用する第2の仮想計算機により制御されるのではなく、第1の仮想計算機で行われる認証の結果に基づきハイパーバイザによって制御される。
 これにより、特権情報を使用する第2の仮想計算機が特権情報の使用可否を制御するための認証機構を備えている場合に生じ得る問題、すなわち認証機構が改ざん等され、認証が成功していないにもかかわらず第2の仮想計算機において秘匿情報が使用され得るという問題が生じるのを防いでいる。
<1.2.構成>
<1.2.1.ハードウェア構成>
 図1は、本発明の一実施の形態に係る仮想計算機システム100の主要なハードウェア構成を示すブロック図である。
 図1に示すように、仮想計算機システム100は、ハードウェアとしてはコンピュータ装置であり、集積回路101、入力装置102、表示装置103及び記憶装置104を含んで構成される。そして、集積回路101は、プロセッサ120、キャッシュ記憶装置121、メモリ122、外部I/F(インターフェース)123及びバス124を含んで構成される。
 メモリ122は、RAM(Random Access Memory)で構成され、バス124に接続され、プロセッサ120の動作を規定するプログラム、プロセッサ120が利用するデータなどを記憶する。
 キャッシュ記憶装置121は、メモリ122よりも高速に動作するメモリで構成されるキャッシュメモリであり、プロセッサ120とバス124とに接続される。キャッシュ記憶装置121は、メモリ122に記憶されるデータのうち使用頻度の高いデータを一時的に蓄積するキャッシュ機能を有する。
 バス124は、プロセッサ120とキャッシュ記憶装置121とメモリ122と外部I/F123とに接続され、接続される回路間の信号を伝達する機能を有する。
 外部I/F123は、バス124と入力装置102と表示装置103と記憶装置104とに接続される。外部I/F123は、接続される回路間の信号のやり取りを仲介する機能を有する。
 入力装置102は、キーボード、マウス等から構成され、外部I/F123に接続されている。入力装置102は、プログラムを実行するプロセッサ120によって制御され、仮想計算機システム100を利用するユーザがキーボード、マウス等を操作することにより入力される入力情報を受け付ける機能を有する。
 表示装置103は、ディスプレイ等から構成され、外部I/F123に接続されている。表示装置103は、プログラムを実行するプロセッサ120によって制御され、プロセッサ120から送られる信号に基づいて、画像、文字列等を表示する機能を有する。
 記憶装置104は、フラッシュメモリなどの不揮発性の記憶媒体で構成され、外部I/F123に接続されている。記憶装置104は、プロセッサ120によって制御され、データを記憶する機能を有する。
 プロセッサ120は、キャッシュ記憶装置121とバス124とに接続される。プロセッサ120は、メモリ122に記憶されるプログラムを、キャッシュ記憶装置121を介して読み出して実行することで、後述する第1仮想計算機201、第2仮想計算機202、並びに、第1及び第2仮想計算機の実行制御を行うハイパーバイザ203として機能する。また、プロセッサ120は、バス124を用いて外部I/F123との間で各種の制御信号を送受信することにより入力装置102、表示装置103及び記憶装置104を制御する。
<1.2.2.機能構成>
 次に、図1を用いて説明したハードウェア構成を備える仮想計算機システム100の機能面から見た構成について、図面を参照しながら説明する。
 図2は、仮想計算機システム100の機能構成を模式的に示す図である。
 仮想計算機システム100は、図2に示すように、第1仮想計算機201、第2仮想計算機202、ハイパーバイザ203、入力部204、記憶部205、及び表示部206を含んで構成される。
<入力部204、記憶部205及び表示部206>
 入力部204は、入力装置102で構成され、ユーザが入力装置102を操作して入力する入力情報を、第1仮想計算機201及び第2仮想計算機202のいずれかに適切に振り分けて通知する機能を有する。
 記憶部205は、記憶装置104で構成され、データを記憶する機能を有する。本実施の形態では、記憶部205は、認証情報DB231、特権情報232、及び通常情報233を記憶する。ここで、特権情報232は、認証コードによるユーザ認証に成功した場合に使用を認める特権情報であり、一例として10枚の画像を含む画像データである。また、通常情報233は、使用に特段の条件が課されていない情報であり、一例として5枚の画像を含む画像データである。
 表示部206は、表示装置103で構成され、第1仮想計算機201及び第2仮想計算機202から表示要求される画像、文字列等を表示する機能を有する。
 なお、入力部204、記憶部205及び表示部206と、第1仮想計算機201及び第2仮想計算機202との間のデータの受け渡しは、ハイパーバイザ203が介在して行われる。以下では、特に説明を要する場合を除きハイパーバイザ203が介在している旨の記載は省略する。
<第1仮想計算機201>
 第1仮想計算機201は、第1OS211と、第1OS211により実行制御されるタスク群とによる情報処理を、ハイパーバイザ203により割り当てられるハードウェア資源を用いて具体的に実現する仮想的な計算機である。
(1)第1OS211
 第1OS211は、セキュアOSであり、外部からの侵入の検出と防御、ファイルの保護といったセキュリティ機能が一般的なOSに比べて強化されている。第1OS211は、認証サービス212、特権情報管理サービス213、及び通常情報管理サービス214などのタスクについて実行制御を行う機能を有する。以下、第1OS211により実行制御されるタスクを総称して「管理タスク」という。
 なお、各管理タスクとハイパーバイザ203との間の信号及びデータの受け渡しは、実際には第1OS211が介在して行われる。以下では、特に説明を要する場合を除き第1OS211が介在している旨の記載は省略する。
(2)認証サービス212
 認証サービス212は、仮想計算機システム100のユーザについて認証を行う認証機能(図4参照)を有する。認証サービス212は、認証に用いる認証情報DB(データベース)231を記憶部205から読み出して使用する。ここで、認証情報DB231は、認証コードを記録しているデータベースである。認証コードは、一例としてパスワードとする。
 認証サービス212は、認証機能を以下のように実現する。まず、認証サービス212は、入力部204からユーザにより入力される認証コードが通知されるのを待つ。認証コードが通知されると、認証サービス212は、認証コードが認証情報DB231に記録されているか否か検証し、記録されている場合には認証成功と判断し、記録されていない場合には認証失敗と判断する。
 認証サービス212は、認証成功と判断した場合には、認証成功を示す信号を情報選択信号としてハイパーバイザ203に送信する。また、認証サービス212は、認証失敗と判断した場合には、認証失敗を示す信号を情報選択信号としてハイパーバイザ203に送信する。
 また、認証サービス212は、入力部204からの、ユーザにより入力される認証解除指示を受け付ける。認証サービス212は、認証解除指示を受け取った場合には、認証失敗を示す信号を情報選択信号としてハイパーバイザ203に送信する。
 なお、記憶部205からの認証情報DB231の読み出し、記憶部205への認証情報DB231の書き込みは、認証サービス212のみが行えるよう第1OS211及びハイパーバイザ203により制御されるものとする。
(3)特権情報管理サービス213、通常情報管理サービス214
 特権情報管理サービス213は、特権情報232の管理を行う機能を有する。特権情報232の管理として、特権情報管理サービス213は、記憶部205から特権情報232を読み出して保持する。そして、特権情報管理サービス213は、特権情報232を保持している記憶領域の論理アドレス(第1OS211により管理されている論理アドレス空間におけるアドレスである。以下、「特権情報論理アドレス」という。)をハイパーバイザ203に通知する。なお、以下、特権情報232を記憶している記憶領域の物理アドレスを「特権情報物理アドレス」という。
 また、記憶部205からの特権情報232の読み出し、記憶部205への特権情報232の書き込みは、特権情報管理サービス213のみが行えるよう第1OS211及びハイパーバイザ203により制御されるものとする。
 通常情報管理サービス214は、通常情報233の管理を行う機能を有する。通常情報233の管理として、通常情報管理サービス214は、記憶部205から通常情報233を読み出して保持する。そして、通常情報管理サービス214は、通常情報233を保持している記憶領域の論理アドレス(第1OS211により管理されている論理アドレス空間におけるアドレスである。以下、「通常情報論理アドレス」という。)をハイパーバイザ203に通知する。なお、以下、通常情報233を記憶している記憶領域の物理アドレスを「通常情報物理アドレス」という。
 また、記憶部205からの通常情報233の読み出し、記憶部205への通常情報233の書き込みは、通常情報管理サービス214のみが行えるよう第1OS211及びハイパーバイザ203により制御されるものとする。
<第2仮想計算機202>
 第2仮想計算機202は、第2OS251と、第2OS251により実行制御されるタスク群とによる情報処理を、ハイパーバイザ203により割り当てられるハードウェア資源を用いて具体的に実現する仮想的な計算機である。第2OS251により実行制御されるタスク群には、タスク1(252)、タスク2(253)、・・・タスクN(Nは任意の自然数)(254)が含まれる。以下、第2OS251により実行制御されるタスクを総称して「一般タスク」という。
(1)第2OS251
 第2OS251は、セキュアOSではない一般的なOSであり、タスク1(252)~タスクN(254)の実行制御を行う機能を有する。
 また、第2OS251は、一般タスクが仮想デバイス261に対するアクセスを要求するためのインターフェース(以下、「仮想デバイスI/F」という。)を有する。仮想デバイス261は、データ列、ファイル(群)、フォルダ(群)などの情報を記憶しているデバイスとして取り扱われる仮想的なデバイスであり、ハイパーバイザ203の仮想デバイス提供機能により実現される。
(2)タスク1(252)、タスク2(253)、・・・タスクN(254)
 タスク1(252)~タスクN(254)は、処理の実行単位であり、ユーザやアプリケーションベンダにより作成されるプログラムとして実装されている。
 本実施の形態では、一例として、タスク1(252)は、画像表示を行うアプリケーションプログラムであるとする。また、タスク1(252)は、予め、表示対象とする画像データが仮想デバイス261に記録されていることを認識しているが、どのような画像データが記憶されているかまでは認識していないものとする。そして、タスク1(252)は、画像を表示する場合に、仮想デバイスI/Fを用いて仮想デバイス261からの画像データの読み出しを要求する。そして、タスク1(252)は、仮想デバイス261から画像データを読み出せた場合に、読み出した画像データを表示部206に表示させる。
 なお、本実施の形態では、仮想デバイス261から読み出される画像データについては、画像データの先頭部分など特定の位置(以下、「ヘッダ」という。)に、この画像データに含まれる画像の枚数、各画像の画像データ内における記録位置など、画像データから各画像を抽出するための各種の情報(以下、「ヘッダ情報」という。)が含まれているものとする。タスク1(252)は、ヘッダ情報を参照して、画像データから各画像を抽出する。
<ハイパーバイザ203>
 ハイパーバイザ203は、ハードウェアをソフトウェアで仮想化した複数の仮想計算機環境を含み、各仮想計算機環境を用いてOS等を含む仮想計算機を動作させる制御プログラムである。ハイパーバイザ203は、主要な機能として、スケジューリング機能、マッピング機能及び仮想デバイス提供機能を有する。ハイパーバイザ203は、主に仮想デバイス提供機能を実現する選択サービス271を含む。
(1)スケジューリング機能
 スケジューリング機能は、仮想計算機システム100のハードウェア資源を、第1仮想計算機201及び第2仮想計算機202に割り当てる機能である。ハイパーバイザ203は、各仮想計算機に対し、割り当てるハードウェア資源に応じて予め定めているスケジューリング手法(時分割、固定割り当てなど)に基づき、各ハードウェア資源を割り当てる。
(2)マッピング機能
 マッピング機能は、メモリ122の記憶領域である物理メモリ領域を第1仮想計算機201及び第2仮想計算機202に割り当てて、論理アドレスと物理アドレスとの対応付けを管理する機能である(図5参照)。第1仮想計算機201及び第2仮想計算機202は、割り当てられた物理メモリ領域を論理メモリ領域として管理する。すなわち、第1仮想計算機201及び第2仮想計算機202は、割り当てられたメモリ領域における各記憶領域を、論理アドレスを用いて特定する。
 図3は、物理メモリ領域と論理メモリ領域との対応付け(以下、単に「マッピング」という。)について模式的に示す図である。
 図3の物理メモリ領域301は、メモリ122の記憶領域全体を模式的に示したものである。物理メモリ領域301には、物理アドレスとして0番地からC番地までが付されているものとする。ここで、本実施の形態では、物理アドレス及び論理アドレスは、一例として32ビット長で表されるものとする。
 ハイパーバイザ203は、物理メモリ領域301のうち、物理アドレスA番地からB番地までの第1物理メモリ領域302を第1仮想計算機201に割り当てる。第1仮想計算機201は、第1物理メモリ領域302を第1論理メモリ領域311として認識する。第1論理メモリ領域311は、第1物理メモリ領域302の物理アドレスを論理アドレスに変換したものである。すなわち、第1論理メモリ領域311の実体と第1物理メモリ領域302の実体は同じである。
 また、ハイパーバイザ203は、物理メモリ領域301のうち、物理アドレスB番地からC番地までの第2物理メモリ領域303を第2仮想計算機202に割り当てる。第2仮想計算機202は、第2物理メモリ領域303を第2論理メモリ領域312として認識する。第2論理メモリ領域312は、第2物理メモリ領域303の物理アドレスを論理アドレスに変換したものである。すなわち、第2論理メモリ領域312の実体と第2物理メモリ領域303の実体は同じである。
 論理アドレスと物理アドレスとの変換は、ハイパーバイザ203が行う。ハイパーバイザ203は、第1仮想計算機201が用いる論理アドレスと、物理アドレスとを相互に変換するための表(以下、本実施の形態において「第1変換表」という。)を生成し、保持している。第1変換表には、具体的には、第1論理メモリ領域311の論理アドレスと、第1物理メモリ領域302の物理アドレスとが対応付けて記載されている。そして、ハイパーバイザ203は、第1仮想計算機201から論理アドレスを指定したアクセス要求を受け付けると、指定された論理アドレスを、第1変換表を用いて物理アドレスに変換し、この物理アドレスで示される記憶領域にアクセスする。
 また、ハイパーバイザ203は、第2仮想計算機202が用いる論理アドレスと、物理アドレスとを相互に変換するための表(以下、本実施の形態において「第2変換表」という。)を生成し、保持している。第2変換表には、具体的には、第2論理メモリ領域312の論理アドレスと、第2物理メモリ領域303の物理アドレスとが対応付けて記載されている。そして、ハイパーバイザ203は、第2仮想計算機202から論理アドレスを指定したアクセス要求を受け付けると、指定された論理アドレスを、第2変換表を用いて物理アドレスに変換し、この物理アドレスで示される記憶領域にアクセスする。
 ここで、論理アドレスを指定して行われる記憶領域の読み出し、論理アドレスを指定して行われる記憶領域へのデータの書き込みについて、具体例をあげて説明する。
 一例として、第1変換表において、第1論理メモリ領域311のE番地が、第1物理メモリ領域302のF番地に対応付けられているものとする。このとき、ハイパーバイザ203は、第1仮想計算機201から、論理アドレス(例えば、図3の第1論理メモリ領域311のE番地)を指定したデータの読み出し要求を受け付けると、指定された論理アドレスを第1変換表を用いて物理アドレス(例えば、図3の第1物理メモリ領域302のF番地)に変換し、この物理アドレスで示される記憶領域(321)からデータを読み出して、第1仮想計算機201に受け渡す。
 また、第1変換表において、第1論理メモリ領域311のG番地が、第1物理メモリ領域302のH番地に対応付けられているものとする。このとき、ハイパーバイザ203は、第1仮想計算機201から、論理アドレス(例えば、図3の第1論理メモリ領域311のG番地)を指定したデータの書き込み要求を受け付けると、指定された論理アドレスを第1変換表を用いて物理アドレス(例えば、図3の第1物理メモリ領域302のH番地)に変換し、この物理アドレスで示される記憶領域(322)にデータを記憶する。
(3)仮想デバイス提供機能
 仮想デバイス提供機能は、第1仮想計算機201の認証サービス212における認証が成功した場合に限り、第2仮想計算機202における一般タスクから、仮想デバイス261を用いて第1仮想計算機201に保持されている特権情報232にアクセスできるよう制御する機能である(図6及び図7参照)。仮想計算機システム100では、仮想デバイスI/Fとして、仮想デバイス261における仮想的な記憶領域を特定する論理アドレス(以下、「仮想デバイスアドレス」という。)が定められているものとする。
 仮想デバイス提供機能は、以下のように実現される。すなわち、ハイパーバイザ203の選択サービス271は、第2変換表に、仮想デバイスアドレス(一例として図3のD番地)と、物理アドレスとを対応付けて記載する。選択サービス271は、認証サービス212から情報選択信号を受信すると、受信した情報選択信号の内容に応じて仮想デバイスアドレスに対応付ける物理アドレスを変更する。
 本実施の形態では、選択サービス271は、受信した情報選択信号が認証成功を示す場合には、第2変換表における仮想デバイスアドレスに特権情報232が記憶されている記憶領域の物理アドレスを対応付ける。また、受信した情報選択信号が認証失敗を示す場合には、選択サービス271は、第2変換表における仮想デバイスアドレスに、通常情報233が記憶されている記憶領域の物理アドレスを対応付ける。なお、選択サービス271は、第2変換表が生成されたときに、仮想デバイスアドレスに対応付ける物理アドレスとして、初期値として、仮想計算機システム100において予め無効なアドレスを示す値として規定されている無効値(例えば、0xFFFFFFFFなど)を対応付ける。
 ハイパーバイザ203は、第2仮想計算機202から仮想デバイスアドレスを指定した読み出し要求がなされた場合には、第2変換表を参照し、仮想デバイスアドレスを、対応付けられている物理アドレスに変換する。そして、この物理アドレスで示される記憶領域からデータを読み出して第2仮想計算機202に受け渡す。また、ハイパーバイザ203は、第2仮想計算機202から仮想デバイスアドレスを指定したデータの書き込み要求がなされた場合には、第2変換表を参照し、仮想デバイスアドレスを、対応付けられている物理アドレスに変換する。そして、この物理アドレスで示される記憶領域にデータを書き込む。
 なお、ハイパーバイザ203は、第2仮想計算機202から仮想デバイスアドレスを指定した読み出し要求、データの書き込み要求がなされた場合に、第2変換表を参照し、仮想デバイスアドレスが無効値に対応付けられていたときには、第2仮想計算機202に対し、アクセスエラーを通知するものとする。
 (具体例)
 ここで、仮想デバイス提供機能について、図3を参照しながら具体例を用いて説明する。前提として、物理アドレスがF番地である記憶領域321に特権情報232が記憶されているものとする。すなわち、特権情報物理アドレスはF番地である。また、特権情報論理アドレスはE番地であるとする。選択サービス271は、特権情報管理サービス213から特権情報論理アドレスの通知を受け取っているものとする。
 また、物理アドレスがH番地である記憶領域322に通常情報233が記憶されているものとする。すなわち、通常情報物理アドレスはH番地である。また、通常情報論理アドレスはG番地であるとする。選択サービス271は、通常情報管理サービス214から通常情報論理アドレスの通知を受け取っているものとする。
 以上の前提の下、まず、選択サービス271は、第1仮想計算機201における認証サービス212から情報選択信号を受信する。選択サービス271は、情報選択信号が認証成功を示しているときには、第2変換表において仮想デバイスアドレスに対応付けられている物理アドレスの値を、特権情報物理アドレスの値に変更する。
 選択サービス271は、第2仮想計算機202のタスク1(252)から、仮想デバイスアドレスを指定した仮想デバイス261の読み出しの要求を受け取ると、仮想デバイスアドレスを、第2変換表において対応付けられている物理アドレスである特権情報物理アドレスに変換する。そして、仮想デバイス261は、特権情報物理アドレスで示される記憶領域(321)から特権情報232を読み出し、タスク1(252)に受け渡す。
 また、タスク1(252)から、仮想デバイスアドレスを指定した仮想デバイス261へのデータの書き込みの要求を受け取ると、選択サービス271は、仮想デバイスアドレスを、第2変換表において対応付けられている物理アドレスである特権情報物理アドレスに変換する。そして、仮想デバイス261は、特権情報物理アドレスで示される記憶領域(321)にデータを書き込む。
 一方、選択サービス271は、受信した情報選択信号が認証失敗を示している場合には、第2変換表において仮想デバイスアドレスに対応付けられている物理アドレスの値を、通常情報物理アドレスの値に変更する。
 選択サービス271は、タスク1(252)から、仮想デバイスアドレスを指定した仮想デバイス261の読み出しの要求を受け取ると、仮想デバイスアドレスを、第2変換表において対応付けられている物理アドレスである通常情報物理アドレスに変換する。そして、仮想デバイス261は、通常情報物理アドレスで示される記憶領域(322)から通常情報233を読み出し、タスク1(252)に受け渡す。
 また、選択サービス271は、タスク1(252)から、仮想デバイスアドレスを指定した仮想デバイス261へのデータの書き込みの要求を受け取ると、仮想デバイスアドレスを、第2変換表において対応付けられている物理アドレスである通常情報物理アドレスに変換する。そして、仮想デバイス261は、通常情報物理アドレスで示される記憶領域(322)にデータを書き込む。
 以上のように、仮想デバイス提供機能において、ハイパーバイザ203は、第2仮想計算機202から仮想デバイス261に対するアクセス要求があった場合に、第1仮想計算機201における認証が成功している場合にのみ、特権情報にアクセスさせることができる。
<1.3.動作>
<1.3.1.認証サービス処理の動作>
 以下、認証サービス212による認証サービス処理について説明する。
 図4は、認証サービス処理の手順を示すフローチャートである。まず、認証サービス212は、認証コードが入力されるのを待つ(ステップS401でno)。認証コードが入力された場合(ステップS401でyes)、認証サービス212は、入力された認証コードと同じ認証コードが認証情報DB231に記録されているか否か検証する(ステップS402)。記録されていると判断した場合(ステップS402でyes)、ユーザが正しい認証コードを入力していることになるので、情報選択信号として認証成功を示す信号をハイパーバイザ203の選択サービス271に通知する(ステップS403)。
 そして、認証サービス212は、ユーザにより認証解除指示が入力されるのを待つ(ステップS404でno)。認証解除指示が入力された場合(ステップS404でyes)、情報選択信号として認証失敗を示す信号をハイパーバイザ203の選択サービス271に通知し(ステップS405)、ステップS401に移行する。また、ステップS402において、入力された認証コードと同じ認証コードが認証情報DB231に記録されていないと判断した場合(ステップS402でno)、ステップS405に移行する。
<1.3.2.選択サービス271によるマッピング処理>
 以下、ハイパーバイザ203の選択サービス271によるマッピング処理について説明する。
 図5は、マッピング処理の手順を示すフローチャートである。まず、選択サービス271は、第1変換表及び第2変換表を生成する(ステップS501)。このとき、選択サービス271は、第2変換表における仮想デバイスアドレスに、初期値として通常情報物理アドレスを対応付ける(ステップS502)。
 そして、選択サービス271は、認証サービス212から情報選択信号を取得するのを待つ(ステップS503でno)。選択サービス271は、認証サービス212から情報選択信号を取得した場合(ステップS503でyes)、情報選択信号が認証成功を示すか否かを検証する(ステップS504)。
 情報選択信号が認証成功を示している場合には(ステップS504でyes)、第2変換表における仮想デバイスアドレスに特権情報物理アドレスを対応付ける(ステップS505)。一方、情報選択信号が認証失敗を示している場合には(ステップS504でno)、第2変換表における仮想デバイスアドレスに通常情報物理アドレスを対応付ける(ステップS506)。
<1.3.3.仮想デバイス261の読み出し処理>
 以下、仮想デバイス261の読み出し処理の一例として、第2仮想計算機202の一般タスクであるタスク1(252)による読み出し処理について説明する。
 図6は、仮想デバイス261の読み出し処理の手順を示すフローチャートである。まず、タスク1(252)は、第2OS251のデバイスドライバI/Fを使用して、仮想デバイス261の読み出し要求を行う(ステップS601)。
 第2OS251は、仮想デバイス261に対して、仮想デバイスアドレスを指定して読み出し要求を行う。
 ハイパーバイザ203の選択サービス271は、仮想デバイス261の読み出し要求を受け取ると、第2変換表を参照し、第2変換表において仮想デバイスアドレスが特権情報物理アドレスに対応付けられている場合には(ステップS602でyes)、仮想デバイスアドレスを特権情報物理アドレスに変換する(ステップS603)。一方、第2変換表を参照し、第2変換表において仮想デバイスアドレスが特権情報物理アドレスに対応付けられていない場合、すなわち通常情報物理アドレスに対応付けられている場合には(ステップS602でno)、選択サービス271は、仮想デバイスアドレスを通常情報物理アドレスに変換する(ステップS604)。
 そして、仮想デバイス261は、ステップS603又はステップS604における変換後の物理アドレスにより示される記憶領域からデータを読み出す(ステップS605)。なお、ステップS605で読み出されるデータは、ステップS603で論理アドレスから物理アドレスへの変換がされている場合には、特権情報となる。また、ステップS604で論理アドレスから物理アドレスへの変換がされている場合には、ステップS605で読み出されるデータは、通常情報となる。
 そして、仮想デバイス261は、読み出したデータをタスク1(252)に通知する。
<1.3.4.仮想デバイス261へのデータの書き込み処理>
 以下、仮想デバイス261へのデータの書き込み処理の一例として、第2仮想計算機202の一般タスクであるタスク1(252)による、仮想デバイス261へのデータの書き込み処理について説明する。
 図7は、仮想デバイス261へのデータの書き込み処理の手順を示すフローチャートである。
 まず、タスク1(252)は、第2OS251のデバイスドライバI/Fを使用して、仮想デバイス261へのデータの書き込み要求を行う(ステップS701)。
 第2OS251は、仮想デバイス261に対して、仮想デバイスアドレスを指定してデータの書き込み要求を行う。
 ハイパーバイザ203の選択サービス271は、仮想デバイス261へのデータの書き込み要求を受け取ると、第2変換表を参照し、第2変換表において仮想デバイスアドレスが特権情報物理アドレスに対応付けられている場合には(ステップS702でyes)、仮想デバイスアドレスを特権情報物理アドレスに変換する(ステップS703)。一方、第2変換表を参照し、第2変換表において仮想デバイスアドレスが特権情報物理アドレスに対応付けられていない場合、すなわち通常情報物理アドレスに対応付けられている場合には(ステップS702でno)、選択サービス271は、仮想デバイスアドレスを通常情報物理アドレスに変換する(ステップS704)。
 そして、仮想デバイス261は、ステップS703又はステップS704における変換後の物理アドレスにより示される記憶領域に、書き込み要求されたデータを書き込む(ステップS705)。
<1.3.5.画面表示例>
 図8に、タスク1(252)が特権情報232及び通常情報233を用いて行う処理の一例である、画像表示処理における画像表示例を示す。画面800は、認証サービス212における認証が失敗している場合の、表示部206におけるディスプレイの表示画面を表している。また、画面802は、認証サービス212における認証が成功している場合の、表示部206におけるディスプレイの表示画面を表している。
 ここで、前提として、タスク1(252)は、画像ビューアであり、起動すると表示部206にサムネイル画像を表示するものとする。
 タスク1(252)は、認証サービス212における認証が失敗している場合には、仮想デバイス261から特権情報232を読み出すことはできず、通常情報233を読み出すことになる。この場合、タスク1(252)は、画面800の画像表示領域801として示すように、通常情報233に含まれる5枚の画像それぞれのサムネイル画像であるサムネイル1(811)~サムネイル5(815)を表示する。
 一方、タスク1(252)は、認証サービス212における認証が成功している場合には、仮想デバイス261から特権情報232を読み出す。この場合、タスク1(252)は、画面802の画像表示領域803として示すように、特権情報232に含まれる10枚の画像それぞれのサムネイル画像であるサムネイル11(821)~サムネイル20(830)を表示する。なお、本実施の形態では、認証成功時には、ユーザに対して認証が成功していることを示すこととしている。具体的には、解錠を意味するアイコンやピクトなど、認証が成功していることを示す画像804を画面802に表示する。
 以上のように、仮想計算機システム100においては、認証の成否に応じて、タスク1(252)による表示画像が異なるものとなる。
<2.実施の形態2>
<2.1.概要>
 実施の形態1では、第2仮想計算機202が仮想デバイス261にアクセスした場合に、第1仮想計算機201における認証結果に応じて、第1仮想計算機201が保持している特権情報か通常情報のいずれかにアクセスできるようハイパーバイザ203が制御する例について説明した。
 本実施の形態では、仮想デバイスとして仮想的なメールフォルダである仮想メールフォルダを用いる。ここで、メールフォルダは、メールに係る一アカウントについてのメール本文、アドレス帳などメールに関する情報が記憶されるフォルダである。そして、第2仮想計算機(902)が仮想メールフォルダにアクセスした場合に、第1仮想計算機(901)におけるユーザ認証に成功したユーザが第1のユーザ、第2のユーザのいずれであるかに応じて、第1仮想計算機(901)が保持している第1のユーザに係る第1メールフォルダ、第2のユーザに係る第2メールフォルダのいずれにアクセスできるかをハイパーバイザ(903)が制御する。以下、本実施の形態について、実施の形態1との相違点を中心に説明する。
<2.2.構成>
 本実施の形態に係る仮想計算機システムのハードウェア構成は、実施の形態1において図1を用いて説明したものと同様である。
 以下、本実施の形態に係る仮想計算機システム900の機能面から見た構成について図面を参照しながら説明する。なお、本実施の形態において、実施の形態1と同様の構成要素には同じ符号を付すものとし、特に必要な場合を除き説明は省略する。
 図9は、仮想計算機システム900の機能構成を模式的に示す図である。仮想計算機システム900は、図9に示すように、第1仮想計算機901、第2仮想計算機902、ハイパーバイザ903、入力部204、記憶部205、及び表示部206を含んで構成される。
<第1仮想計算機901>
 第1仮想計算機901は、管理タスクとして、認証サービス911及びメール管理サービス912が動作している点が、第1の実施の形態に係る第1仮想計算機201と異なる。
(1)認証サービス911
 認証サービス911は、認証コードに加え、ユーザ名を用いて認証処理を行う点が実施の形態1と異なる。認証サービス911は、データベースとして、各ユーザのユーザ名と各ユーザ固有の認証コードとを対応付けて記録している認証情報DB931を使用する。認証サービス911は、入力部204から、ユーザにより入力されるユーザ名と認証コードとを取得する。そして、取得したユーザ名と認証コードとが対応付けて認証情報DB931に記録されているか否か検証し、記録されている場合には情報選択信号として、認証成功を示す認証成否情報と認証に成功したユーザのユーザ名とを表す信号をハイパーバイザ903に通知する。また、認証サービス911は、取得したユーザ名と認証コードとが対応付けて認証情報DB931に記録されていない場合には、情報選択信号として、認証失敗を示す認証成否情報を表す信号をハイパーバイザ903に通知する。
(2)メール管理サービス912
 メール管理サービス912は、メールの本文及びアドレス帳などメールに係るデータが記録されたメールフォルダの管理を行う機能を有する。メールフォルダの管理として、メール管理サービス912は、以下の処理を行う。まず、メール管理サービス912は、記憶部205から第1メールフォルダ981及び第2メールフォルダ991を読み出して保持する。
 ここで、第1メールフォルダ981は、第1ユーザのメールに関するデータが記録されたフォルダである。第1メールフォルダ981には、メール本文を表すデータである第1メール982、第1ユーザが用いる1以上のメールアドレスが記載された第1アドレス帳983などが含まれる。第1メール982は、一例として8通のメールを含むものとする。
 第2メールフォルダ991は、第2ユーザのメールに関するデータが記録されたフォルダである。第2メールフォルダ991には、メール本文を表すデータである第2メール992、第2ユーザが用いる1以上のメールアドレスが記載された第2アドレス帳993などが含まれる。第2メール982は、一例として8通のメールを含むものとする。
 そして、メール管理サービス912は、第1メールフォルダ981を保持している記憶領域の論理アドレス(第1OS211により管理されている論理アドレス空間におけるアドレスである。以下、「第1メールフォルダ論理アドレス」という。)、及び、第2メールフォルダ991を保持している記憶領域の論理アドレス(第1OS211により管理されている論理アドレス空間におけるアドレスである。以下、「第2メールフォルダ論理アドレス」という。)をハイパーバイザ903に通知する。
 なお、以下、第1メールフォルダ981を記憶している記憶領域の物理アドレスを「第1メールフォルダ物理アドレス」という。また、第2メールフォルダ991を記憶している記憶領域の物理アドレスを「第2メールフォルダ物理アドレス」という。
 なお、記憶部205からの第1メールフォルダ981及び第2メールフォルダ991の読み出し、記憶部205への第1メールフォルダ981及び第2メールフォルダ991の書き込みは、メール管理サービス912のみが行えるよう第1OS211及びハイパーバイザ903により制御されているものとする。
<第2仮想計算機902>
 第2仮想計算機902は、一般タスクとしてタスク1(252)に代えてメーラ951が動作する点が実施の形態1の第2仮想計算機202と異なる。また、本実施の形態では、仮想デバイスI/Fとして、仮想メールフォルダにアクセスするための特定の論理アドレスである仮想メールフォルダアドレスが用いられる。
 メーラ951は、メールの作成、表示及び送受信などメールに関する処理(以下、「メール処理」という。)を実行するアプリケーションプログラムである。メーラ951は、メール処理を行うため、メール本文を含むメールデータ、及び、ユーザが用いるメールアドレスが記載されたアドレス帳などが記録されたメールフォルダにアクセスする。
 ここで、メーラ951は、メールフォルダにアクセスするには、仮想メールフォルダにアクセスすればよいことを予め認識しており、メール処理を行う場合に、仮想メールフォルダにアクセスする。そして、メーラ951は、仮想メールフォルダを用いて、メールデータ及びアドレス帳などにアクセスし、メールデータに含まれるメール本文、アドレス帳の内容を表示部206に表示するなどのメール処理を行う。
 なお、本実施の形態では、メールフォルダは、特定のフォーマットに従ったデータ構造を有するものとする。そして、このデータ構造における特定の位置のデータ(以下、「フォルダ管理情報」という。)を参照することで、メールフォルダに含まれるメールデータ、アドレス帳などのデータサイズ、個数などを知ることができるものとする。また、メールフォルダに含まれるメールデータについても、特定のフォーマットに従ったデータ構造を有しており、そのデータ構造の特定の位置に、メールデータに含まれるメールの個数、各メールのメールデータ内における記録位置など、メールデータから各メールを抽出するための情報(以下、「メール管理情報」という。)が含まれるものとする。
<ハイパーバイザ903>
 ハイパーバイザ903は、実施の形態1のハイパーバイザ203とは、仮想デバイス提供機能に代えて仮想メールフォルダ提供機能を有する点が異なる。また、ハイパーバイザ903は、仮想メールフォルダ提供機能を実現する選択サービス971を含む。
(仮想メールフォルダ提供機能)
 仮想メールフォルダ提供機能は、第1仮想計算機901の認証サービス911における認証が成功した場合に限り、第2仮想計算機902における一般タスクであるメーラ951から、仮想メールフォルダを用いて、第1仮想計算機901に保持されている第1メールフォルダ981又は第2メールフォルダ991にアクセスできるよう制御する機能である(図13及び図14参照)。
 仮想メールフォルダ提供機能は、以下のように実現される。すなわち、選択サービス971は、第2変換表に、仮想メールフォルダアドレスと、物理アドレスとを対応付けて記載する。選択サービス971は、認証サービス911から情報選択信号を受信すると、受信した情報選択信号の内容に応じ、第2変換表において仮想メールフォルダアドレスに対応付ける物理アドレスを変更する。
 選択サービス971は、情報選択信号に含まれる認証成否情報が認証成功を示す場合において、情報選択信号に含まれるユーザ名が第1ユーザのユーザ名を示すときには、第2変換表における仮想メールフォルダアドレスアドレスに第1メールフォルダ物理アドレスを対応付ける。また、情報選択信号に含まれるユーザ名が第2ユーザのユーザ名を示すときには、第2変換表における仮想メールフォルダアドレスアドレスに第2メールフォルダ物理アドレスを対応付ける。
 選択サービス971は、情報選択信号に含まれる認証成否情報が認証失敗を示す場合には、第2変換表における仮想メールフォルダアドレスに、仮想計算機システム900において予め無効なアドレスを示す値として規定されている無効値(例えば、0xFFFFFFFFなど)を対応付ける。なお、選択サービス971は、第2変換表の生成時には、仮想メールフォルダアドレスに、初期値として無効値を対応付けて記載するものとする。
 ハイパーバイザ903は、メーラ951から仮想メールフォルダアドレスを指定した仮想メールフォルダの読み出し要求があった場合には、指定された仮想メールフォルダアドレスを、第2変換表において対応付けられている物理アドレスに変換する。そして、ハイパーバイザ903は、変換後の物理アドレスで示される記憶領域からデータを読み出して、メーラ951に受け渡す。
 また、ハイパーバイザ903は、メーラ951から仮想メールフォルダアドレスを指定した仮想メールフォルダに対するデータの書き込み要求があった場合には、指定された仮想メールフォルダアドレスを、第2変換表において対応付けられている物理アドレスに変換する。そして、ハイパーバイザ903は、変換後の物理アドレスで示される記憶領域にデータを書き込む。
 なお、メーラ951から仮想メールフォルダアドレスを指定した仮想メールフォルダに対するアクセス要求があった場合に、第2変換表において仮想メールフォルダアドレスに無効値が対応付けられているときには、ハイパーバイザ903は、メーラ951にアクセスエラーを通知する。
(マッピング)
 ここで、本実施の形態におけるマッピングについて図10を用いて説明する。本実施の形態では、一例として、物理アドレスがF番地である記憶領域321に第1メールフォルダ981が記憶され、物理アドレスがH番地である記憶領域322に第2メールフォルダ991が記憶されるものとする。よって、第1メールフォルダ物理アドレスはF番地であり、第1メールフォルダ論理アドレスはE番地である。また、第2メールフォルダ物理アドレスはH番地であり、第2メールフォルダ論理アドレスはG番地である。
 また、仮想メールフォルダアドレスはD番地である。そして、選択サービス971が情報選択信号を受け取った場合に、情報選択信号に含まれる認証成否情報が認証成功を示しており、ユーザ名が第1ユーザのユーザ名を示しているときには、選択サービス971は、第2変換表において、仮想メールフォルダアドレスを第1メールフォルダ物理アドレスであるF番地に対応付ける。また、情報選択信号に含まれる認証成否情報が認証成功を示しており、ユーザ名が第2ユーザのユーザ名を示しているときには、選択サービス971は、第2変換表において、仮想メールフォルダアドレスを、第2メールフォルダ物理アドレスであるH番地に対応付ける。
<2.3.動作>
<2.3.1.認証サービス処理の動作>
 以下、認証サービス911による認証サービス処理について説明する。
 図11は、認証サービス処理の手順を示すフローチャートである。まず、認証サービス911は、ユーザ名及び認証コードが入力されるのを待つ(ステップS1101でno)。ユーザ名及び認証コードが入力された場合(ステップS1101でyes)、入力されたユーザ名と認証コードとが対応付けて認証情報DB931に記録されているか否か検証する(ステップS1102)。記録されていると判断した場合(ステップS1102でyes)、ユーザが正しいユーザ名及び認証コードを入力していることになるので、認証成功を示す認証成否情報及びユーザ名を表す情報選択信号をハイパーバイザ903の選択サービス971に通知する(ステップS1103)。
 そして、認証サービス911は、ユーザにより認証解除指示が入力されるのを待つ(ステップS1104でno)。認証解除指示が入力された場合(ステップS1104でyes)、認証失敗を示す認証成否情報を表す情報選択信号を選択サービス971に通知し(ステップS1105)、ステップS1101に移行する。また、ステップS1102において、入力されたユーザ名と認証コードとの組が認証情報DB931に記録されていないと判断した場合(ステップS1102でno)、ステップS1105に移行する。
<2.3.2.選択サービス971によるマッピング処理>
 以下、ハイパーバイザ903の選択サービス971によるマッピング処理について説明する。
 図12は、マッピング処理の手順を示すフローチャートである。まず、選択サービス971は、第1変換表及び第2変換表を生成する(ステップS1201)。このとき、選択サービス971は、第2変換表における仮想メールフォルダアドレスに、初期値として無効値を対応付ける(ステップS1202)。
 そして、選択サービス971は、認証サービス911から情報選択信号を取得するのを待つ(ステップS1203でno)。選択サービス971は、認証サービス911から情報選択信号を取得した場合(ステップS1203でyes)、情報選択信号に含まれる認証成否情報が認証成功を示すか否かを検証する(ステップS1204)。
 認証成否情報が認証成功を示していると判断した場合には(ステップS1204でyes)、情報選択信号に含まれるユーザ名が第1ユーザのユーザ名を示すか否かを検証する(ステップS1205)。ユーザ名が第1ユーザのユーザ名を示す場合(ステップS1205でyes)、選択サービス971は、第2変換表において、仮想メールフォルダアドレスに第1メールフォルダ物理アドレスを対応付ける記載をし(ステップS1206)、ステップS1203に移行する。一方、情報選択信号に含まれるユーザ名が第2ユーザのユーザ名を示す場合(ステップS1205でno)、選択サービス971は、第2変換表において、仮想メールフォルダアドレスに第2メールフォルダ物理アドレスを対応付ける記載をし(ステップS1207)、ステップS1203に移行する。
 また、ステップS1204において、情報選択信号に含まれる認証成否情報が認証失敗を示していると判断した場合には(ステップS1204でno)、選択サービス971は、第2変換表における仮想メールフォルダアドレスに無効値を対応付ける記載をし(ステップS1208)、ステップS1203に移行する。
<2.3.3.仮想メールフォルダの読み出し処理>
 以下、仮想メールフォルダの読み出し処理の一例として、第2仮想計算機902の一般タスクであるメーラ951による読み出し処理について説明する。
 図13は、仮想メールフォルダの読み出し処理の手順を示すフローチャートである。まず、メーラ951は、第2OS251のファイルシステムI/Fを使用して、仮想メールフォルダの読み出し要求を行う(ステップS1301)。
 第2OS251は、仮想メールフォルダ961に対して、仮想メールフォルダアドレスを指定して読み出し要求を行う。
 ハイパーバイザ903の選択サービス971は、仮想メールフォルダの読み出し要求を受け取り、第2変換表において仮想メールフォルダアドレスに、無効値でない値が対応付けられているか否か検証する(ステップS1302)。
 第2変換表において仮想メールフォルダアドレスに無効値でない値が対応付けられていると判断した場合において(ステップS1302でyes)、第2変換表において仮想メールフォルダアドレスに第1メールフォルダ物理アドレスが対応付けられているときには(ステップS1303でyes)、ハイパーバイザ903は、指定された仮想メールフォルダアドレスを第1メールフォルダ物理アドレスに変換し(ステップS1304)、ステップS1306に移行する。一方、第2変換表において仮想メールフォルダアドレスに第1メールフォルダ物理アドレスが対応付けられていない、すなわち仮想メールフォルダアドレスに第2メールフォルダ物理アドレスが対応付けられているときには(ステップS1303でno)、ハイパーバイザ903は、指定された仮想メールフォルダアドレスを第2メールフォルダ物理アドレスに変換し(ステップS1305)、ステップS1306に移行する。
 ステップS1306において、仮想メールフォルダ961は、ステップS1304又はステップS1305における変換後の物理アドレスにより示される記憶領域からデータを読み出す(ステップS1306)。そして、読み出したデータをメーラ951に通知する(ステップS1307)。なお、ステップS1306で読み出されるデータは、S1304でアドレスの変換がされている場合には、第1メールフォルダ981の内容を表すデータとなる。また、S1305でアドレスの変換がされている場合には、ステップS1306で読み出されるデータは、第2メールフォルダ991の内容を表すデータとなる。
 また、ステップS1302において、第2変換表で仮想メールフォルダアドレスに無効値が対応付けられていると判断した場合(ステップS1302でno)、読み出しエラーをメーラ951に通知する(ステップS1311)。
<2.3.4.仮想メールフォルダへのデータの書き込み処理>
 以下、仮想メールフォルダへのデータの書き込み処理の一例として、第2仮想計算機902の一般タスクであるメーラ951による、仮想メールフォルダへのデータの書き込み処理について説明する。
 図14は、仮想メールフォルダへのデータの書き込み処理の手順を示すフローチャートである。
 まず、メーラ951は、第2OS251のファイルシステムI/Fを使用して、仮想メールフォルダへのデータの書き込み要求を行う(ステップS1401)。第2OS251は、仮想メールフォルダ961に対して、仮想メールフォルダアドレスを指定してデータの書き込み要求を行う。ハイパーバイザ903の選択サービス971は、仮想メールフォルダへのデータの書き込み要求を受け取ると、第2変換表において、仮想メールフォルダアドレスに無効値ではない値が対応付けられているか否か検証する(ステップS1402)。
 第2変換表において仮想メールフォルダアドレスに無効値ではない値が対応付けられていると判断した場合において(ステップS1402でyes)、仮想メールフォルダアドレスに第1メールフォルダ物理アドレスが対応付けられているときには(ステップS1403でyes)、ハイパーバイザ903は、指定された仮想メールフォルダアドレスを、第1メールフォルダ物理アドレスに変換し(ステップS1404)、ステップS1406に移行する。一方、第2変換表において、仮想メールフォルダアドレスに第1メールフォルダ物理アドレスが対応付けられていないと判断したとき、すなわち仮想メールフォルダアドレスに第2メールフォルダ物理アドレスが対応付けられているときには(ステップS1403でno)、ハイパーバイザ903は、メーラ951により指定された仮想メールフォルダアドレスを第2メールフォルダ物理アドレスに変換し(ステップS1405)、ステップS1406に移行する。
 ステップS1406において、仮想メールフォルダ961は、ステップS1404及びステップS1405における変換後の物理アドレスにより示される記憶領域に、メーラ951により指定されたデータを書き込む(ステップS1406)。
 なお、ステップS1406でデータが書き込まれる記憶領域は、ステップS1404でアドレスの変換がされている場合には、第1メールフォルダ981が記憶されている記憶領域である。よって、ステップS1406において、第1メールフォルダ981の内容が変更等されることになる。
 また、S1405でアドレスの変換がされている場合には、ステップS1406でデータが書き込まれる記憶領域は、第2メールフォルダ991が記憶されている記憶領域である。よって、ステップS1406において、第2メールフォルダ991の内容が変更等されることになる。
 また、ステップS1402で、第2変換表において仮想メールフォルダアドレスに無効値が対応付けられていると判断した場合(ステップS1402でno)には、書き込みエラーをメーラ951に通知する(ステップS1411)。
 以上説明したように、仮想計算機システム900を用いることにより、第1仮想計算機901における認証の成否、及び、認証成功したユーザの別に応じて、第2仮想計算機902のメーラ951が認識することなく、メーラ951が用いるメールフォルダを差し替えたり、見えなくしたりすることができる。
<2.3.5.画面表示例>
 図15に、第1メールフォルダ及び第2メールフォルダを用いてメーラ951が行う処理の一例である、メール表示処理における画面表示例を示す。画面1500は、認証サービス911における認証が失敗している場合の、表示部206におけるディスプレイの表示画面を表している。また、画面1502は、認証サービス911における認証が成功している場合の、表示部206におけるディスプレイの表示画面を表している。
 ここで、前提として、メーラ951は、起動すると、第1メールフォルダ981又は第2メールフォルダ991内の第1メール982又は第2メール992に含まれるメールのメールヘッダを解析し、件名の一覧を表示するものとする。
 上記の前提のもと、メーラ951は、認証サービス911における認証が成功しており、かつユーザが第2ユーザである場合には、仮想メールフォルダにアクセスすることにより、第1メールフォルダ981の内容を読み出すことはできず、第2メールフォルダ991の内容を読み出すことになる。この場合、メーラ951は、画面1500のメール表示領域1501として示すように、第2メール992に含まれる8個のメールそれぞれの件名1(1511)~件名8(1518)を表示する。
 また、メーラ951は、認証サービス911における認証が成功しており、かつユーザが第1ユーザである場合には、仮想メールフォルダ961にアクセスすることにより第1メールフォルダ981の内容を読み出すことになる。この場合、メーラ951は、画面1502のメール表示領域1503として示すように、第1メール982に含まれる8個のメールそれぞれの件名11(1521)~件名18(1528)を表示する。
 なお、本実施の形態では、認証成功時には、ユーザに対して認証が成功していることを示すこととしている。具体的には、解錠を意味するアイコンやピクトなど、認証が成功していることを示す画像1504などを画面1502に表示する。
<3.変形例>
 以上、本発明に係る仮想計算機システムの実施の形態を説明したが、例示した仮想計算機システムを以下のように変形することも可能であり、本発明が上述の実施の形態で示した通りの仮想計算機システムに限られないことは勿論である。
 (1)実施の形態1では、認証サービス212における認証が成功した場合には、仮想デバイス261に特権情報232が記憶されている記憶領域の物理アドレスをマッピングしていた。また、認証が失敗した場合には、仮想デバイス261に通常情報233が記憶されている記憶領域の物理アドレスをマッピングしていた。
 しかしながら、必ずしも認証の成否に応じて2つの情報のうちの1つに択一的にアクセスできるようマッピングする必要はなく、認証の成否に応じ、秘匿したい情報(例えば、特権情報232)へのアクセス可否が制御できれば足りる。
 例えば、選択サービス271は、マッピング機能として、情報選択信号が認証成功を示す場合に、第2変換表における仮想デバイスアドレスに特権情報物理アドレスを対応付け、認証失敗を示す場合には仮想デバイスアドレスに上述の無効値を対応付けることとしてもよい。このようにすることで、第2仮想計算機202から、認証成功時には特権情報232に対するアクセスが可能となり、認証失敗時には特権情報232に対するアクセスが不能となる。
 また、通常情報233については、第1仮想計算機201側で管理をせず、第2仮想計算機202側で管理をし、第2仮想計算機202において動作するタスク1(252)などから常に参照可能とすることとしてもよい。
 (2)実施の形態2では、第1ユーザ及び第2ユーザについての2個のアカウントを用いる例を示したが、3個以上のアカウントを用いてもよい。
 また、1個のアカウント(一例として第1ユーザに関するアカウント)のみを用いてもよい。この場合、選択サービス971は、認証サービス911における認証が成功した場合には、第2変換表における仮想メールフォルダアドレスに、第1メールフォルダ物理アドレスを対応付ける。また、認証サービス911における認証が失敗した場合には、第2変換表における仮想メールフォルダアドレスに無効値を対応付ける。
 その後、メーラ951が仮想メールフォルダへのアクセスを要求した場合に、認証が成功しているときには、ハイパーバイザ903は、第2変換表を参照して仮想メールフォルダアドレスを第1メールフォルダ物理アドレスに変換する。そして、ハイパーバイザ903は、第1メールフォルダ物理アドレスにより示される記憶領域へのアクセスを行う。
 一方、認証が失敗している場合には、ハイパーバイザ903は、第2変換表を参照して仮想メールフォルダアドレスに対応付けられている物理アドレスが無効値であると認識する。この場合、ハイパーバイザ903は、第1メールフォルダ物理アドレスにより示される記憶領域へのアクセスはできず、メーラ951に対し、アクセスエラーを通知することになる。
 (3)実施の形態2では、認証サービス911において認証が失敗したときには、第2変換表において仮想メールフォルダアドレスに無効値を対応付けることにより、メーラ951から、仮想メールフォルダを介して、第1メールフォルダ981及び第2メールフォルダ991のいずれにもアクセスできないよう制御をしていた。
 しかしながら、認証サービス911において認証が失敗したときに、仮想メールフォルダを介して、どのメールフォルダにもアクセスできないように制御する必要はない。例えば、デフォルトユーザのメールフォルダ(以下、「第3メールフォルダ」という。)を用意しておき、認証サービス911において認証が失敗したときに、仮想メールフォルダを介して第3メールフォルダにアクセスできることとしてもよい。この場合、選択サービス971は、認証サービス911から認証失敗を示す認証成否情報を取得すると、第2変換表において、仮想メールフォルダアドレスに第3メールフォルダが記憶されている論理アドレスを対応付けて記載する。
 (4)実施の形態1及び2では、認証コード(パスワードなど)、又は、ユーザ名及び認証コードを用いた認証をしたが、ユーザを認証できれば足りる。例えば、周知の技術であるID(IDentiy)カード、生体情報(指紋、声紋等)を用いた認証などを行うこととしてもよい。
 (5)実施の形態1と実施の形態2とを組み合わせ、認証サービスにおける認証成功/認証失敗に応じて特権情報232及び通常情報233のいずれにアクセス可能とするかを切り替えるとともに、認証成功した場合にはユーザ名に応じて、第1メールフォルダ981及び第2メールフォルダ991のいずれにアクセス可能とするかも切り替えるよう制御してもよい。
 (6)実施の形態1及び2では、認証サービス212及び認証サービス911が有する機能の全てを第1仮想計算機201及び第1仮想計算機901側に配しているが、セキュリティの高低に影響を及ぼさない一部機能を、第2仮想計算機202及び第2仮想計算機902側に配してもよい。
 例えば、認証機能のうち、認証コードとしてのパスワード、IDカード、指紋、声紋などをユーザが入力するための入力用ユーザインターフェースを第2仮想計算機202及び第2仮想計算機902に配し、ユーザにより入力されたデータを第1仮想計算機201及び第1仮想計算機901に通知することとしてもよい。この場合に、第2仮想計算機202及び第2仮想計算機902について、ユーザ、プログラムベンダによるプログラム変更を許すこととすれば、ユーザ、プログラムベンダなどがユーザインターフェースを所望のものに変更できることとなり、結果的にユーザの利便性向上を図ることができる。
 (7)実施の形態1及び2では、第1OS211と第2OS251とは、異なる種類のOSであるとしたが、同種のOSであってもよい。また、実施の形態1及び2で示した仮想計算機の数、OSの数及びタスクの数などは、一例であり、これらに限るものではない。
 (8)実施の形態1及び2では、仮想デバイスをソフトウェアによってエミュレーションしていたが、これらをMMU(Memory Management Unit)などのハードウェアを用いて実現することとしてもよい。
 (9)実施の形態1及び2では、認証サービス212及び認証サービス911における認証解除指示はユーザが入力することとしているが、認証が成功している状態を適時に解除できれば足りる。例えば、実施の形態1の場合であれば、タスク1(252)の実行が終了するときに認証解除することが考えられる。具体的には、認証サービス212が、タスク1(252)の実行が終了することを検知して認証解除指示を選択サービス271に送信すればよい。また、実施の形態2の場合も同様に、認証サービス911が、メーラ951の実行が終了することを検知して認証解除指示を選択サービス271に送信すればよい。
 (10)実施の形態1では、認証サービス212が選択サービス271に対し通知する情報選択信号は、認証成功又は認証失敗の2状態のいずれであるかを通知していたが、3個以上の状態を通知するよう拡張してもよい。
 例えば、情報選択信号は、実施の形態1における認証成功又は認証失敗の2状態に省電力状態を加えた3状態を通知することとしてもよい。この場合、選択サービス271は、情報選択信号が認証成功、認証失敗、及び省電力状態のいずれを示しているか判断する。そして、情報選択情報がいずれを示しているかに応じて、第2変換表において、仮想デバイスアドレスに、特権情報232が記録されている記憶領域の物理アドレス、通常情報233が記録されている記憶領域の物理アドレス、又は省電力状態において使用すべき情報が記録されている記憶領域の物理アドレスのいずれかを対応付けることになる。
 (11)実施の形態1では、ハイパーバイザ203が選択サービス271を有し、仮想デバイス提供機能を提供していたが、一部又は全ての機能を第1仮想計算機201に実現させてもよい。例えば、一部機能として、第2変換表の作成を第1仮想計算機202が行ってもよい。また、ハイパーバイザ203と第1仮想計算機201とを統合し1つのプログラムで実装してもよい。
 (12)実施の形態1及び2では、ハイパーバイザ(203、903)は、第1仮想計算機(201、901)、第2仮想計算機(202、902)へメモリを割り当てる場合に、物理メモリ領域における特定サイズの固定的な領域を割り当てていた。しかしながら、ハイパーバイザは、周知の仮想記憶方式によるメモリ割り当てを行うこととしてもよい。
 (13)実施の形態1及び2では、仮想デバイス提供機能及び仮想メールフォルダ提供機能において、第2仮想計算機(202、902)から仮想デバイス(仮想メールフォルダ)へのアクセス要求があった場合に、ハイパーバイザ(203、903)は、特権情報232、通常情報233、第1メールフォルダ981、第2メールフォルダ991など特定バイトのデータ列やフォルダを単位として、第2仮想計算機(202、902)によるアクセスを可能化していたが、どのような単位でアクセスを可能化してもよい。例えば、特定バイト数のデータ列を単位としてもよいし、ファイル、パーティションなどを単位としてもよい。
 例えば、実施の形態1では、仮想デバイス提供機能において、第2仮想計算機202(タスク1(252))から仮想デバイスへのアクセス要求があった場合、ハイパーバイザ203は、第2仮想計算機202に、実際には、第1仮想計算機201が管理している特権情報232にアクセスさせている。すなわち、第2仮想計算機202は、特権情報232という決まったデータ長のデータ列を単位としてアクセスしている。
 ハイパーバイザ203(選択サービス271)は、仮想デバイスアドレスを特権情報232に対応付ける場合、実施の形態1において図3を用いて説明したように、仮想デバイスアドレスであるD番地を、特権情報物理アドレスであるF番地に対応付けている。このとき、一例として、ハイパーバイザ203は、特権情報232が記憶されている記憶領域に付された物理アドレスの全てについて、仮想デバイスアドレスを用いてアクセスできるように第2変換表に記載してよい。
 例えば、論理アドレスである(D+1)番地を、物理アドレスである(F+1)番地に対応付け、(D+10)番地を(F+10)番地に対応付ける。この場合に、タスク1(252)が、仮想デバイスへのアクセスとして(D+10)番地を読み出すよう要求すると、ハイパーバイザ203は、第2変換表を用いて(D+10)番地を(F+10)番地に変換する。そして、メモリ122における物理アドレス(F+10)番地に記憶されているデータを読み出し、タスク1(252)に受け渡す。タスク1(252)に仮想デバイスへのアクセスとしてデータの書き込みを行う場合にも、読み出しの場合と同様の、ハイパーバイザ203による論理アドレスから物理アドレスへの変換が行われる。
 (14)上述の実施の形態1では、不正に読み出されると認証コードが暴露されてしまう認証情報DB231、秘匿情報の一例である特権情報232の暗号化については何ら言及しなかったが、これらを保護するために暗号化技術を組み合わせてもよい。
 図16は、本変形例に係る仮想計算機システム1601の機能構成を示す図である。仮想計算機システム1601は、図2に示した仮想計算機システム100に対し暗号処理部1610を追加したものである。暗号処理部1610は、ハードウェア構成としては、暗号及び復号処理用のLSIなどで構成される。第1仮想計算機1602では、認証情報DB231及び特権情報232が記憶部205に記憶されるときには、暗号処理部1610により暗号化がされた上で記憶される。また、第1仮想計算機1602では、認証情報DB231及び特権情報232は、記憶部205から読み出されたときに暗号処理部1610により復号された上で、認証サービス212及び特権情報管理サービス213により管理される。
 この構成により、認証情報DB231及び特権情報232は、記憶部205に記憶されているときには暗号化された状態になっている。よって、記憶装置104が仮想計算機システム100から物理的に取り出され、内容が読み出された場合にも、認証情報DB231及び特権情報232の内容が理解される可能性を低減することができる。
 また、暗号化処理は、認証情報DB231、特権情報232といった個別の情報ごとに行うのではなく、第1仮想計算機201全体について行ってもよい。
 図17に示す仮想計算機システム1701は、図2に示した仮想計算機システム100に対し暗号処理部1710を追加したものである。
 仮想計算機システム1701は、第1仮想計算機201を構成する第1OS211、認証サービス212、特権情報管理サービス213、通常情報管理サービス214、及び、第1OS211が利用するファイルなどを記憶装置104に記憶する際に、暗号処理部1710により暗号化処理を行った上で記憶する。また、仮想計算機システム1701においては、第1仮想計算機201を構成する第1OS211などのプログラムを記憶部205から読み出し、メモリ122に展開する際に、暗号処理部1710により復号した上で展開する。
 なお、暗号処理部1710と暗号処理部1610とを組み合わせて、第1仮想計算機全体を暗号処理部1710で暗号化することにより保護し、さらに、認証情報DB231及び特権情報232を暗号処理部1610で暗号化することにより保護してもよい。また、認証情報DB231及び特権情報232については暗号処理部1610を用いて暗号化することにより保護し、認証情報DB231及び特権情報232以外について暗号処理部1710を用いて暗号化することにより保護してもよい。
 また、暗号処理部1610及び暗号処理部1710のセキュリティ強度を異なるものとしてもよい。一般的に、セキュリティ強度を高めるほど暗号化に要する処理負荷は高くなる。よって、例えば、認証情報DB231及び特権情報232についてより高い秘匿性が要求される場合に、暗号処理部1610のセキュリティ強度を、暗号処理部1710のセキュリティ強度よりも高くしてもよい。このようにすることで、暗号化処理に係る処理負荷の増加を必要程度に抑えつつ、暗号処理部1710のみを用いる場合よりもセキュリティ強度を向上させることができる。
 (15)実施の形態1では、第2仮想計算機202から仮想デバイスへのアクセス要求がされた場合に、ハイパーバイザ203が、第2変換表を参照して仮想デバイスアドレスを特権情報232が記憶されている物理アドレスに変換していた。そして、ハイパーバイザ203は、第2仮想計算機202に、その変換後の物理アドレスで示される記憶領域へのアクセスを可能化していた。しかしながら、第2仮想計算機202側から、第1仮想計算機201側で管理している記憶領域にアクセスできれば足り、必ずしも第2変換表などのような変換表を用いなくてもよい。
 例えば、第2仮想計算機202側から、第1仮想計算機201側で管理している記憶領域にアクセスさせる機構を、データベースを用いて実現することとしてもよい。データベースの一例としては、周知のキー・バリュー型の関係データベースを用いる。
 図18は、本変形例に係る仮想計算機システム1800の機能構成を示す図である。
 仮想計算機システム1800は、図2に示した仮想計算機システム100と比べ、特権情報管理サービス213及び通常情報管理サービス214に代えて、関係データベース(DB)1810を有する点が主に異なる。
 関係DB1810は、第1仮想計算機1801が有するものとする。関係DB1810においては、第1キー1811を用いて検索することで第1バリュー1812が得られ、第2キー1813を用いて検索することで第2バリュー1814が得られるものとする。
 また、ハイパーバイザ1803の選択サービス1871は、情報選択信号が認証成功を示す場合に対応するキー(本変形例では、第1キー1811とする)と、認証失敗を示す場合に対応するキー(本変形例では、第2キー1813とする。)とを予め保持している。
 そして、選択サービス1871は、認証サービス212から情報選択信号を受け付ける。
 この後に、第2仮想計算機202(タスク1(252))が仮想デバイスへのアクセス要求(例えば読み出し要求)を行った場合、ハイパーバイザ1803の選択サービス1871は、情報選択信号が認証成功を示すときには第1キー1811を選出し、情報選択信号が認証失敗を示すときには第2キー1813を選出する。そして、選択サービス1871は、選出したキーを用いて関係DB1810にアクセスし、選出したキーを用いて検索することにより得られたバリューを読み出す。そして、選択サービス1871は、得られたバリューを第2仮想計算機202に受け渡す。
 また、第2仮想計算機202が仮想デバイスへのアクセス要求としてデータの書き込み要求を行った場合、選択サービス1871は、情報選択信号が認証成功を示すときには第1キーを選出し、情報選択信号が認証失敗を示すときには第2キーを選出する。そして、選択サービス1871は、選出したキーを用いてデータベースにアクセスし、キーに対応するバリューの記憶領域に、指定されたデータを書き込む。
 (16)上述の実施の形態で示した認証サービス処理、マッピング処理及び仮想デバイス提供処理などの各種処理を仮想計算機システムのプロセッサ、及びそのプロセッサに接続された各種回路に実行させるための機械語或いは高級言語のプログラムコードからなる制御プログラムを、記録媒体に記録すること、又は各種通信路等を介して流通させ頒布することもできる。このような記録媒体には、ICカード、ハードディスク、光ディスク、フレキシブルディスク、ROM、フラッシュメモリ等がある。流通、頒布された制御プログラムはプロセッサに読み出され得るメモリ等に格納されることにより利用に供され、そのプロセッサがその制御プログラムを実行することにより各実施形態で示したような各機能が実現されるようになる。なお、プロセッサは、制御プログラムを直接実行する他、コンパイルして実行或いはインタプリタにより実行してもよい。
 (17)上述の実施の形態では、秘匿情報の一例として特権情報を用いたが、これに限るものではなく、一定の条件下で使用される情報であれば足りる。
 (18)上述の実施の形態で示した各機能構成要素(第1OS211、認証サービス(212、911)、特権情報管理サービス213、通常情報管理サービス214、第2OS251、タスク1(252)~タスクN(254)、ハイパーバイザ(203、903)、選択サービス(271、971)入力部204、記憶部205、表示部206、メーラ951、メール管理サービス912、暗号処理部(1610、1710)など)は、その機能を実行する回路として実現されてもよいし、1又は複数のプロセッサによりプログラムを実行することで実現されてもよい。
 なお、上述の各機能構成要素は典型的には集積回路であるLSIとして実現される。これらは個別に1チップされてもよいし、一部又は全てを含むように1チップ化されてもよい。ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。更には、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
 (19)上述の各実施の形態及び各変形例を、部分的に組み合せてもよい。
<4.補足>
 以下、更に本発明の一実施の形態としての仮想計算機システムの構成及びその変形例と効果について説明する。
 (1)本発明の一実施形態に係る仮想計算機システムは、コンピュータを含み、プログラムを実行することにより前記コンピュータが、第1の仮想計算機と、第2の仮想計算機と、前記第1の仮想計算機及び前記第2の仮想計算機を実行制御するハイパーバイザとして機能する仮想計算機システムであって、前記第1の仮想計算機は、秘匿情報を保持する保持手段と、認証処理を行い、認証結果を前記ハイパーバイザに通知する認証手段とを備え、前記第2の仮想計算機は、仮想化された記憶装置である仮想デバイスを利用し、前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られているときには、前記第2の仮想計算機による、前記仮想デバイスの実体として、前記秘匿情報が記憶されている記憶領域へのアクセスを可能化し、前記認証手段から認証成功を示す認証結果が得られていないときには、前記第2の仮想計算機による前記秘匿情報が記憶されている記憶領域へのアクセスを不能化する。
 保持手段は、一例として、上述の実施の形態における特権情報管理サービス213、メール管理サービス912、又は関係DB1810である。
 この構成により、本発明に係る仮想計算機システムでは、第2の仮想計算機は、認証の機構を有しておらず、認証の成否を偽って秘匿情報へアクセス可能とするような不正を行うことはできない。そして、第2の仮想計算機は、認証について何ら認識せずに、単に仮想デバイスを利用するのみであり、秘匿情報の使用可否については、第1の仮想計算機の認証手段による認証の成否に従うことになる。よって、本発明に係る仮想計算機システムは、第2の仮想計算機による秘匿情報の使用を認証が成功した場合に制限することができる。
 (2)また、前記仮想計算機システムは、前記秘匿情報とは異なる情報である通常情報を、前記秘匿情報とは異なる記憶領域に保持しており、前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られていないときには、前記第2の仮想計算機による、前記仮想デバイスの実体として、前記通常情報が記憶されている記憶領域へのアクセスを可能化することとしてもよい。
 この構成により、第2の仮想計算機において秘匿情報と通常情報のいずれが利用できるかを、第1の仮想計算機が備える認証手段による認証の成否に基づき切り替えることができる。
(3)また、前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られているか否かにかかわらず、前記仮想デバイスの実体として、前記通常情報が記憶されている記憶領域へのアクセスを可能化し、前記認証手段から認証成功を示す認証結果が得られているときには、前記仮想デバイスの実体として、前記通常情報が記憶されている記憶領域に加え、前記秘匿情報が記憶されている記憶領域へのアクセスを可能化することとしてもよい。
 この構成により、第2の仮想計算機における通常情報の利用が常に可能化されると共に、第1の仮想計算機が備える認証手段による認証の成否に基づき、秘匿情報へのアクセス可否を制御することができる。
(4)また、前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られたときには、前記仮想デバイスと前記秘匿情報が記憶されている記憶領域との対応付けを行い、前記対応付けを行った後においては、前記第2の仮想計算機による前記仮想デバイスに対応付けた前記記憶領域へのアクセスを可能化することとしてもよい。
 この構成により、ハイパーバイザが一旦対応付けを行った後は、この対応付けに従い、仮想デバイスへのアクセスを、前記秘匿情報が記憶されている記憶領域へのアクセスに置き換えることができる。
(5)また、前記認証手段は、前記認証処理としてユーザ認証を行い、前記ユーザ認証に成功した場合には、前記認証結果に加えて、前記ユーザ認証に成功したユーザを識別するユーザ識別情報を通知し、前記保持手段は、前記秘匿情報として、第1のユーザ識別情報に対応する第1のユーザ情報と、第2のユーザ識別情報に対応する第2のユーザ情報とを保持し、前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られ、かつ通知されたユーザ識別情報が第1のユーザ識別情報である場合には、前記仮想デバイスの実体として、前記第1のユーザ情報が記憶されている記憶領域へのアクセスを可能化し、通知されたユーザ識別情報が前記第2のユーザ識別情報である場合には、前記仮想デバイスの実体として、前記第2のユーザ情報が記憶されている記憶領域へのアクセスを可能化することとしてもよい。
 この構成により、第2の仮想計算機は、第1のユーザ及び第2のユーザに関する認証について意識することなく、単に仮想デバイスにアクセスすることで、認証に成功したユーザに対応するユーザ情報を利用することができる。
(6)前記秘匿情報は、ファイルであり、前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られているときには、前記第2の仮想計算機による、前記仮想デバイスの実体として、前記秘匿情報であるファイルへのアクセスを可能化し、前記認証手段から認証成功を示す認証結果が得られていないときには、前記第2の仮想計算機による前記秘匿情報であるファイルへのアクセスを不能化することとしてもよい。
 この構成により、ファイルが記憶されている記憶領域を、仮想デバイスを用いたアクセスの対象にすることができる。
(7)また、前記秘匿情報は、データベースにおけるデータの一部である部分データであり、前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られているときには、前記第2の仮想計算機による、前記仮想デバイスの実体として、前記秘匿情報である部分データへのアクセスを可能化し、前記認証手段から認証成功を示す認証結果が得られていないときには、前記第2の仮想計算機による前記秘匿情報である部分データへのアクセスを不能化することとしてもよい。
 この構成により、データベースにおけるデータの一部が記憶されている記憶領域を、仮想デバイスを用いたアクセスの対象にすることができる。
(8)また、前記秘匿情報は、一アカウントに対応するメールに係るデータであり、前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られているときには、前記第2の仮想計算機による、前記仮想デバイスの実体として、前記秘匿情報であるメールに係るデータへのアクセスを可能化し、前記認証手段から認証成功を示す認証結果が得られていないときには、前記第2の仮想計算機による前記秘匿情報であるメールに係るデータへのアクセスを不能化することとしてもよい。
 この構成により、メールに係るデータを、仮想デバイスを用いたアクセスの対象にすることができる。
(9)本発明の一実施形態に係る秘匿情報保護方法は、コンピュータを含み、プログラムを実行することにより前記コンピュータが、第1の仮想計算機と、第2の仮想計算機と、前記第1の仮想計算機及び前記第2の仮想計算機を実行制御するハイパーバイザとして機能する仮想計算機システムが実行する秘匿情報保護方法であって、前記第1の仮想計算機における保持手段が、秘匿情報を保持する保持ステップと、前記第1の仮想計算機における認証手段が、認証処理を行い、認証結果を前記ハイパーバイザに通知する認証ステップと、前記第2の仮想計算機が、仮想化された記憶装置である仮想デバイスを利用する利用ステップと、前記ハイパーバイザが、前記認証手段から認証成功を示す認証結果が得られているときには、前記第2の仮想計算機による、前記仮想デバイスの実体として、前記秘匿情報が記憶されている記憶領域へのアクセスを可能化し、前記認証手段から認証成功を示す認証結果が得られていないときには、前記第2の仮想計算機による前記秘匿情報が記憶されている記憶領域へのアクセスを不能化する制御ステップとを含む。
 この構成により、本発明に係る秘匿情報保護方法では、第2の仮想計算機は、認証の機構を有しておらず、認証の成否を偽って秘匿情報へアクセス可能とするような不正を行うことはできない。そして、第2の仮想計算機は、認証について何ら認識せずに、単に仮想デバイスを利用するのみであり、秘匿情報の使用可否については、第1の仮想計算機の認証手段による認証の成否に従うことになる。よって、本発明に係る秘匿情報保護方法は、第2の仮想計算機による秘匿情報の使用を認証が成功した場合に制限することができる。
(10)本発明の一実施形態に係る秘匿情報保護プログラムは、コンピュータを、一の仮想計算機と、前記一の仮想計算機及び仮想デバイスを利用する他の仮想計算機を実行制御するハイパーバイザを含む仮想計算機システムとして機能させるための秘匿情報保護プログラムであって、前記コンピュータを、秘匿情報を保持する保持手段と、認証処理を行い、認証結果を前記ハイパーバイザに通知する認証手段とを備える前記一の仮想計算機と、前記認証手段から認証成功を示す認証結果が得られているときには、前記他の仮想計算機による、前記仮想デバイスの実体として、前記秘匿情報が記憶されている記憶領域へのアクセスを可能化し、前記認証手段から認証成功を示す認証結果が得られていないときには、前記他の仮想計算機による前記秘匿情報が記憶されている記憶領域へのアクセスを不能化するハイパーバイザとして機能させる。
 この構成により、本発明に係る秘匿情報保護プログラムでは、他の仮想計算機は、認証の機構を有しておらず、認証の成否を偽って秘匿情報へアクセス可能とするような不正を行うことはできない。そして、他の仮想計算機は、認証について何ら認識せずに、単に仮想デバイスを利用するのみであり、秘匿情報の使用可否については、一の仮想計算機の認証手段による認証の成否に従うことになる。よって、本発明に係る秘匿情報保護プログラムは、他の仮想計算機による秘匿情報の使用を認証が成功した場合に制限することができる。
 本発明の一実施形態に係る仮想計算機システムは、秘匿情報の使用を認証が成功した場合に制限することができるものであり、写真、メール、アドレスなどの多くの秘匿情報が記憶される情報端末などに有用である。
  100、900、1601、1701、1800  仮想計算機システム
  201、901、1602、1801  第1仮想計算機
  202、902  第2仮想計算機
  203、903、1803  ハイパーバイザ
  204  入力部
  205  記憶部
  206  表示部
  211  第1OS
  212、911  認証サービス
  213  特権情報管理サービス
  214  通常情報管理サービス
  231、931  識別情報DB
  232  特権情報
  233  通常情報
  251  第2OS
  261  仮想デバイス
  271、971、1871  選択サービス
  912  メール管理サービス
  951  メーラ
  981  第1メールフォルダ
  991  第2メールフォルダ

Claims (10)

  1.  コンピュータを含み、プログラムを実行することにより前記コンピュータが、第1の仮想計算機と、第2の仮想計算機と、前記第1の仮想計算機及び前記第2の仮想計算機を実行制御するハイパーバイザとして機能する仮想計算機システムであって、
     前記第1の仮想計算機は、
     秘匿情報を保持する保持手段と、
     認証処理を行い、認証結果を前記ハイパーバイザに通知する認証手段とを備え、
     前記第2の仮想計算機は、仮想化された記憶装置である仮想デバイスを利用し、
     前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られているときには、前記第2の仮想計算機による、前記仮想デバイスの実体として、前記秘匿情報が記憶されている記憶領域へのアクセスを可能化し、前記認証手段から認証成功を示す認証結果が得られていないときには、前記第2の仮想計算機による前記秘匿情報が記憶されている記憶領域へのアクセスを不能化する
     ことを特徴とする仮想計算機システム。
  2.  前記仮想計算機システムは、前記秘匿情報とは異なる情報である通常情報を、前記秘匿情報とは異なる記憶領域に保持しており、
     前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られていないときには、前記第2の仮想計算機による、前記仮想デバイスの実体として、前記通常情報が記憶されている記憶領域へのアクセスを可能化する
     ことを特徴とする請求項1記載の仮想計算機システム。
  3.  前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られているか否かにかかわらず、前記仮想デバイスの実体として、前記通常情報が記憶されている記憶領域へのアクセスを可能化し、前記認証手段から認証成功を示す認証結果が得られているときには、前記仮想デバイスの実体として、前記通常情報が記憶されている記憶領域に加え、前記秘匿情報が記憶されている記憶領域へのアクセスを可能化する
     ことを特徴とする請求項1記載の仮想計算機システム。
  4.  前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られたときには、前記仮想デバイスと前記秘匿情報が記憶されている記憶領域との対応付けを行い、前記対応付けを行った後においては、前記第2の仮想計算機による前記仮想デバイスに対応付けた前記記憶領域へのアクセスを可能化する
     ことを特徴とする請求項1記載の仮想計算機システム。
  5.  前記認証手段は、前記認証処理としてユーザ認証を行い、前記ユーザ認証に成功した場合には、前記認証結果に加えて、前記ユーザ認証に成功したユーザを識別するユーザ識別情報を通知し、
     前記保持手段は、前記秘匿情報として、第1のユーザ識別情報に対応する第1のユーザ情報と、第2のユーザ識別情報に対応する第2のユーザ情報とを保持し、
     前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られ、かつ通知されたユーザ識別情報が第1のユーザ識別情報である場合には、前記仮想デバイスの実体として、前記第1のユーザ情報が記憶されている記憶領域へのアクセスを可能化し、通知されたユーザ識別情報が前記第2のユーザ識別情報である場合には、前記仮想デバイスの実体として、前記第2のユーザ情報が記憶されている記憶領域へのアクセスを可能化する
     ことを特徴とする請求項1記載の仮想計算機システム。
  6.  前記秘匿情報は、ファイルであり、
     前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られているときには、前記第2の仮想計算機による、前記仮想デバイスの実体として、前記秘匿情報であるファイルへのアクセスを可能化し、前記認証手段から認証成功を示す認証結果が得られていないときには、前記第2の仮想計算機による前記秘匿情報であるファイルへのアクセスを不能化する
     ことを特徴とする請求項1記載の仮想計算機システム。
  7.  前記秘匿情報は、データベースにおけるデータの一部である部分データであり、
     前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られているときには、前記第2の仮想計算機による、前記仮想デバイスの実体として、前記秘匿情報である部分データへのアクセスを可能化し、前記認証手段から認証成功を示す認証結果が得られていないときには、前記第2の仮想計算機による前記秘匿情報である部分データへのアクセスを不能化する
     ことを特徴とする請求項1記載の仮想計算機システム。
  8.  前記秘匿情報は、一アカウントに対応するメールに係るデータであり、
     前記ハイパーバイザは、前記認証手段から認証成功を示す認証結果が得られているときには、前記第2の仮想計算機による、前記仮想デバイスの実体として、前記秘匿情報であるメールに係るデータへのアクセスを可能化し、前記認証手段から認証成功を示す認証結果が得られていないときには、前記第2の仮想計算機による前記秘匿情報であるメールに係るデータへのアクセスを不能化する
     ことを特徴とする請求項1記載の仮想計算機システム。
  9.  コンピュータを含み、プログラムを実行することにより前記コンピュータが、第1の仮想計算機と、第2の仮想計算機と、前記第1の仮想計算機及び前記第2の仮想計算機を実行制御するハイパーバイザとして機能する仮想計算機システムが実行する秘匿情報保護方法であって、
     前記第1の仮想計算機における保持手段が、秘匿情報を保持する保持ステップと、
     前記第1の仮想計算機における認証手段が、認証処理を行い、認証結果を前記ハイパーバイザに通知する認証ステップと、
     前記第2の仮想計算機が、仮想化された記憶装置である仮想デバイスを利用する利用ステップと、
     前記ハイパーバイザが、前記認証手段から認証成功を示す認証結果が得られているときには、前記第2の仮想計算機による、前記仮想デバイスの実体として、前記秘匿情報が記憶されている記憶領域へのアクセスを可能化し、前記認証手段から認証成功を示す認証結果が得られていないときには、前記第2の仮想計算機による前記秘匿情報が記憶されている記憶領域へのアクセスを不能化する制御ステップと
     を含むことを特徴とする秘匿情報保護方法。
  10.  コンピュータを、一の仮想計算機と、前記一の仮想計算機及び仮想デバイスを利用する他の仮想計算機を実行制御するハイパーバイザを含む仮想計算機システムとして機能させるための秘匿情報保護プログラムであって、
     前記コンピュータを、
     秘匿情報を保持する保持手段と、
     認証処理を行い、認証結果を前記ハイパーバイザに通知する認証手段とを備える前記一の仮想計算機と、
     前記認証手段から認証成功を示す認証結果が得られているときには、前記他の仮想計算機による、前記仮想デバイスの実体として、前記秘匿情報が記憶されている記憶領域へのアクセスを可能化し、前記認証手段から認証成功を示す認証結果が得られていないときには、前記他の仮想計算機による前記秘匿情報が記憶されている記憶領域へのアクセスを不能化するハイパーバイザとして機能させる
     ことを特徴とする秘匿情報保護プログラム。
PCT/JP2013/000962 2012-02-22 2013-02-20 仮想計算機システム、秘匿情報保護方法及び秘匿情報保護プログラム WO2013125222A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014500592A JP5981984B2 (ja) 2012-02-22 2013-02-20 仮想計算機システム、秘匿情報保護方法及び秘匿情報保護プログラム
CN201380001097.1A CN103502993A (zh) 2012-02-22 2013-02-20 虚拟计算机系统、保密信息保护方法以及保密信息保护程序
US14/008,785 US9460276B2 (en) 2012-02-22 2013-02-20 Virtual machine system, confidential information protection method, and confidential information protection program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012-036010 2012-02-22
JP2012036010 2012-02-22

Publications (1)

Publication Number Publication Date
WO2013125222A1 true WO2013125222A1 (ja) 2013-08-29

Family

ID=49005417

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/000962 WO2013125222A1 (ja) 2012-02-22 2013-02-20 仮想計算機システム、秘匿情報保護方法及び秘匿情報保護プログラム

Country Status (4)

Country Link
US (1) US9460276B2 (ja)
JP (1) JP5981984B2 (ja)
CN (1) CN103502993A (ja)
WO (1) WO2013125222A1 (ja)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018029267A (ja) * 2016-08-18 2018-02-22 富士通株式会社 プログラマブルロジック装置、情報処理装置、処理方法、及び処理プログラム
JP6999855B1 (ja) 2013-09-09 2022-01-24 アップル インコーポレイテッド アンロック入力に基づいてユーザインタフェースを操作するためのデバイス、方法、及びグラフィカルユーザインタフェース
US11386189B2 (en) 2017-09-09 2022-07-12 Apple Inc. Implementation of biometric authentication
US11393258B2 (en) 2017-09-09 2022-07-19 Apple Inc. Implementation of biometric authentication
US11468155B2 (en) 2007-09-24 2022-10-11 Apple Inc. Embedded authentication systems in an electronic device
US11619991B2 (en) 2018-09-28 2023-04-04 Apple Inc. Device control using gaze information
US11676373B2 (en) 2008-01-03 2023-06-13 Apple Inc. Personal computing device control using face detection and recognition
US11755712B2 (en) 2011-09-29 2023-09-12 Apple Inc. Authentication with secondary approver
US11809784B2 (en) 2018-09-28 2023-11-07 Apple Inc. Audio assisted enrollment
US11836725B2 (en) 2014-05-29 2023-12-05 Apple Inc. User interface for payments
US11928200B2 (en) 2018-06-03 2024-03-12 Apple Inc. Implementation of biometric authentication
US12079458B2 (en) 2016-09-23 2024-09-03 Apple Inc. Image data for enhanced user interactions
US12099586B2 (en) 2021-01-25 2024-09-24 Apple Inc. Implementation of biometric authentication
US12210603B2 (en) 2021-03-04 2025-01-28 Apple Inc. User interface for enrolling a biometric feature
US12216754B2 (en) 2021-05-10 2025-02-04 Apple Inc. User interfaces for authenticating to perform secure operations
US12262111B2 (en) 2011-06-05 2025-03-25 Apple Inc. Device, method, and graphical user interface for accessing an application in a locked device

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9129124B2 (en) * 2012-04-12 2015-09-08 Hewlett-Packard Development Company, L.P. Dynamic provisioning of virtual systems
US9959203B2 (en) * 2014-06-23 2018-05-01 Google Llc Managing storage devices
KR20160091663A (ko) * 2015-01-26 2016-08-03 삼성전자주식회사 멀티 플랫폼 기반의 어플리케이션 실행 방법 및 장치
KR102484606B1 (ko) * 2016-03-11 2023-01-05 삼성전자주식회사 전자장치 및 그 제어방법
US10841291B2 (en) * 2018-05-31 2020-11-17 Vmware, Inc. Method for block authentication using embedded virtual machines
WO2020000145A1 (en) * 2018-06-25 2020-01-02 Intel Corporation World-switch as a way to schedule multiple isolated tasks within a VM
US10904330B2 (en) * 2018-07-10 2021-01-26 Vmware, Inc. Systems, methods and apparatus to manage services in distributed systems
US11475413B2 (en) * 2019-04-25 2022-10-18 Red Hat, Inc. Concurrent meeting and compute instance scheduling
US11620149B2 (en) * 2020-06-25 2023-04-04 Red Hat, Inc. Safe entropy source for encrypted virtual machines

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010055318A (ja) * 2008-08-27 2010-03-11 Hitachi Ltd ハイパバイザを有する計算機システム
JP2010191681A (ja) * 2009-02-18 2010-09-02 Ntt Docomo Inc データ処理装置、データ処理方法、データ処理プログラム
WO2012117465A1 (ja) * 2011-03-02 2012-09-07 パナソニック株式会社 仮想計算機システム、仮想計算機制御方法、仮想計算機制御プログラム、及び半導体集積回路

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1431423A (en) 1973-05-31 1976-04-07 Honeywell Inf Systems Virtual computer systems
US6249866B1 (en) 1997-09-16 2001-06-19 Microsoft Corporation Encrypting file system and method
JP2002323986A (ja) 2001-04-25 2002-11-08 Hitachi Ltd コンピュータリソース流通システム及び方法
US7886126B2 (en) 2005-01-14 2011-02-08 Intel Corporation Extended paging tables to map guest physical memory addresses from virtual memory page tables to host physical memory addresses in a virtual machine system
CN100517276C (zh) 2006-07-04 2009-07-22 联想(北京)有限公司 一种数据安全存储的方法及装置
US8468591B2 (en) * 2006-10-13 2013-06-18 Computer Protection Ip, Llc Client authentication and data management system
JP5260081B2 (ja) 2008-02-25 2013-08-14 パナソニック株式会社 情報処理装置及びその制御方法
JP5626839B2 (ja) * 2010-03-19 2014-11-19 富士通株式会社 仮想計算機システム、仮想計算機制御装置および仮想計算機システムの実行方法
US9069587B2 (en) * 2011-10-31 2015-06-30 Stec, Inc. System and method to cache hypervisor data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010055318A (ja) * 2008-08-27 2010-03-11 Hitachi Ltd ハイパバイザを有する計算機システム
JP2010191681A (ja) * 2009-02-18 2010-09-02 Ntt Docomo Inc データ処理装置、データ処理方法、データ処理プログラム
WO2012117465A1 (ja) * 2011-03-02 2012-09-07 パナソニック株式会社 仮想計算機システム、仮想計算機制御方法、仮想計算機制御プログラム、及び半導体集積回路

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11468155B2 (en) 2007-09-24 2022-10-11 Apple Inc. Embedded authentication systems in an electronic device
US11676373B2 (en) 2008-01-03 2023-06-13 Apple Inc. Personal computing device control using face detection and recognition
US12262111B2 (en) 2011-06-05 2025-03-25 Apple Inc. Device, method, and graphical user interface for accessing an application in a locked device
US11755712B2 (en) 2011-09-29 2023-09-12 Apple Inc. Authentication with secondary approver
US11768575B2 (en) 2013-09-09 2023-09-26 Apple Inc. Device, method, and graphical user interface for manipulating user interfaces based on unlock inputs
US11494046B2 (en) 2013-09-09 2022-11-08 Apple Inc. Device, method, and graphical user interface for manipulating user interfaces based on unlock inputs
US12314527B2 (en) 2013-09-09 2025-05-27 Apple Inc. Device, method, and graphical user interface for manipulating user interfaces based on unlock inputs
US11287942B2 (en) 2013-09-09 2022-03-29 Apple Inc. Device, method, and graphical user interface for manipulating user interfaces
JP2022025070A (ja) * 2013-09-09 2022-02-09 アップル インコーポレイテッド アンロック入力に基づいてユーザインタフェースを操作するためのデバイス、方法、及びグラフィカルユーザインタフェース
JP6999855B1 (ja) 2013-09-09 2022-01-24 アップル インコーポレイテッド アンロック入力に基づいてユーザインタフェースを操作するためのデバイス、方法、及びグラフィカルユーザインタフェース
US11836725B2 (en) 2014-05-29 2023-12-05 Apple Inc. User interface for payments
JP2018029267A (ja) * 2016-08-18 2018-02-22 富士通株式会社 プログラマブルロジック装置、情報処理装置、処理方法、及び処理プログラム
US12079458B2 (en) 2016-09-23 2024-09-03 Apple Inc. Image data for enhanced user interactions
US11386189B2 (en) 2017-09-09 2022-07-12 Apple Inc. Implementation of biometric authentication
US11765163B2 (en) 2017-09-09 2023-09-19 Apple Inc. Implementation of biometric authentication
US11393258B2 (en) 2017-09-09 2022-07-19 Apple Inc. Implementation of biometric authentication
US11928200B2 (en) 2018-06-03 2024-03-12 Apple Inc. Implementation of biometric authentication
US12189748B2 (en) 2018-06-03 2025-01-07 Apple Inc. Implementation of biometric authentication
US12105874B2 (en) 2018-09-28 2024-10-01 Apple Inc. Device control using gaze information
US12124770B2 (en) 2018-09-28 2024-10-22 Apple Inc. Audio assisted enrollment
US11809784B2 (en) 2018-09-28 2023-11-07 Apple Inc. Audio assisted enrollment
US11619991B2 (en) 2018-09-28 2023-04-04 Apple Inc. Device control using gaze information
US12099586B2 (en) 2021-01-25 2024-09-24 Apple Inc. Implementation of biometric authentication
US12210603B2 (en) 2021-03-04 2025-01-28 Apple Inc. User interface for enrolling a biometric feature
US12216754B2 (en) 2021-05-10 2025-02-04 Apple Inc. User interfaces for authenticating to perform secure operations

Also Published As

Publication number Publication date
US20140020086A1 (en) 2014-01-16
US9460276B2 (en) 2016-10-04
JPWO2013125222A1 (ja) 2015-07-30
JP5981984B2 (ja) 2016-08-31
CN103502993A (zh) 2014-01-08

Similar Documents

Publication Publication Date Title
JP5981984B2 (ja) 仮想計算機システム、秘匿情報保護方法及び秘匿情報保護プログラム
US8856521B2 (en) Methods and systems for performing secure operations on an encrypted file
CN103353931B (zh) 安全增强型计算机系统和方法
CN100449560C (zh) 一种计算机数据安全防护方法
KR101263061B1 (ko) 점대점 상호연결 시스템 상에서의 보안 환경 초기화 명령의실행
JP5611598B2 (ja) Usbトークン上の暗号化キーコンテナ
EP3160103B1 (en) Method, apparatus and system for encryption/decryption in virtualization system
JP5983940B2 (ja) 情報処理装置、情報処理方法、プログラム、集積回路
KR101323858B1 (ko) 가상화 시스템에서 메모리 접근을 제어하는 장치 및 방법
KR102295960B1 (ko) 가상화 기반의 보안 서비스 제공 장치 및 제공 방법
JP4850830B2 (ja) コンピュータシステム及びプログラム生成装置
JP6511161B2 (ja) データファイルの保護
CN107038369A (zh) 一种资源访问控制的方法及终端
US8750519B2 (en) Data protection system, data protection method, and memory card
US20130268777A1 (en) Securing Inputs from Malware
US20130031602A1 (en) Thin client system, and access control method and access control program for thin client system
CN101430700B (zh) 文件系统管理装置和方法以及存储装置
Chen et al. A cross-layer plausibly deniable encryption system for mobile devices
KR20190012093A (ko) 데이터 보호 기능을 갖는 ssd 기반의 저장미디어
US20220326863A1 (en) Data storage apparatus with variable computer file system
CN110352411A (zh) 用于控制对安全计算资源的访问的方法和装置
JP7457842B2 (ja) 情報処理装置、情報処理システム、及び情報処理方法
JP2016224829A (ja) ダンプ処理プログラム、情報処理装置、およびダンプ処理方法
US11783095B2 (en) System and method for managing secure files in memory
TWI263432B (en) Data security method for storage apparatus and storage media and electronic device

Legal Events

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

Ref document number: 14008785

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2014500592

Country of ref document: JP

Kind code of ref document: A

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13752479

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13752479

Country of ref document: EP

Kind code of ref document: A1