WO2009087702A1 - 仮想マシン実行プログラム、ユーザ認証プログラムおよび情報処理装置 - Google Patents

仮想マシン実行プログラム、ユーザ認証プログラムおよび情報処理装置 Download PDF

Info

Publication number
WO2009087702A1
WO2009087702A1 PCT/JP2008/000009 JP2008000009W WO2009087702A1 WO 2009087702 A1 WO2009087702 A1 WO 2009087702A1 JP 2008000009 W JP2008000009 W JP 2008000009W WO 2009087702 A1 WO2009087702 A1 WO 2009087702A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual
network
virtual machine
data
account
Prior art date
Application number
PCT/JP2008/000009
Other languages
English (en)
French (fr)
Inventor
Hiroaki Kashima
Original Assignee
Fujitsu Limited
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 Fujitsu Limited filed Critical Fujitsu Limited
Priority to PCT/JP2008/000009 priority Critical patent/WO2009087702A1/ja
Priority to JP2009548804A priority patent/JP5029701B2/ja
Publication of WO2009087702A1 publication Critical patent/WO2009087702A1/ja
Priority to US12/825,928 priority patent/US8738896B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • 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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2143Clearing memory, e.g. to prevent the data from being stolen
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2151Time stamp
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic

Definitions

  • the present invention relates to a virtual machine execution program, a user authentication program, and an information processing apparatus having functions of these programs.
  • firewall can detect unknown viruses to some extent depending on the communication pattern.
  • providing a firewall is expensive and greatly affects communication performance. For example, it is difficult to install a firewall in each HUB that connects a personal computer brought home from outside.
  • Patent Document 1 access control to a communication network corresponding to a user is performed using a storage unit that stores access control information for each user.
  • Patent Document 2 when the Web server installation information is used as part of access right information for the user's file management server, the user logs in to the file management server via the in-house Web server.
  • the access right is controlled differently when the user logs in to the file management server via the external Web server from the client.
  • the present invention provides a virtual machine execution program, a user authentication program, and an information processing apparatus capable of performing access control for both external access to an apparatus and external access from the apparatus. With the goal.
  • the virtual machine execution program is a virtual machine execution program that causes an information processing apparatus to execute processing for executing one or a plurality of virtual machines on an information processing apparatus as a physical machine.
  • the filter processing step discards the data sent on the network, and the data for the data sent to one of the virtual machines through the network
  • the second determination step for determining whether or not the destination virtual machine matches the acquired virtual machine, and the data sent to the destination virtual machine is passed if it is determined in the second determination step to match
  • a filtering process step for discarding data sent to the destination virtual machine, the virtual machine execution program causes the information processing apparatus to execute.
  • a virtual machine that permits communication is determined by referring to the first storage unit that associates the identification number of the account with the virtual machine that permits communication.
  • the data source virtual machine is a virtual machine that allows communication
  • data is passed through
  • the data source virtual machine is not a virtual machine that permits communication
  • data is discarded.
  • the data destination virtual machine that has passed through the network is a virtual machine that allows communication
  • data is passed through
  • the data destination virtual machine is not a virtual machine that permits communication
  • data is passed. Has been destroyed. That is, it is possible to control both external access to the apparatus and external access from the apparatus.
  • the identification number of the internal account is set. For example, if you associate a virtual machine that is started for internal use and associate a virtual machine that is started for external use with the identification number of the external account, when you log in with an internal account, When communication with an in-house virtual machine is permitted and logging in with an external account, communication with the external virtual machine is permitted.
  • the virtual machine execution program in the first aspect, further acquires or receives a network adapter in addition to the identification number of the logged-in account as the user authentication processing result, and the first determination step If it is determined in step S3, the third determination step of determining whether the data transmission destination network is a network corresponding to the acquired or received network adapter using the acquired or received network adapter and routing information.
  • the data that is determined to be transmitted on the corresponding network is passed through, and the data that is determined not to be transmitted on the corresponding network is discarded, and in the second determination step, Judged to match A fourth determination step for determining whether the network through which the data has passed is a network corresponding to the acquired or received network adapter using the acquired or received network adapter and routing information; and a fourth determination A virtual machine execution program comprising: a filtering process step for filtering data determined to have passed through the corresponding network in the step and discarding data determined not to have passed through the corresponding network.
  • the virtual machine execution program according to the third aspect of the present invention can communicate with the outside using the same network adapter as the virtual machine when newly permitting the virtual machine to communicate with the outside in the second aspect.
  • This is a virtual machine execution program that stops network access of other virtual machines.
  • the path through which data enters and exits one virtual machine and the path through which data enters and exits another virtual machine do not intersect. Therefore, for example, even when a virus intrudes into one virtual machine, the virus infection can remain in that virtual machine, so that it is not transmitted to other virtual machines, information processing equipment, and virtual machine execution programs. Can be.
  • the present invention it is possible to control both access to the apparatus from the outside and access from the apparatus to the outside, and for example, increase the security level of the portable information processing apparatus main body. It becomes possible.
  • FIG. 1 shows PC in which the virtual PC software which concerns on one Embodiment of this invention was installed. It is the figure which showed each file which the virtual PC software of FIG. 1 manages. It is a figure which shows the state which started the corporate virtual PC. It is the figure which showed the flow of the packet entering / exiting PC. It is the figure which showed the initial state of PC. It is the figure which showed the account table which virtual PC software holds, and the account table which user authentication software holds. It is the figure which showed the authentication procedure by user authentication software. It is a figure which shows operation
  • FIG. 10 is a diagram (part 1) illustrating operations of each filter unit and NAT unit when communication between the external virtual PC and the outside is permitted.
  • FIG. 11 is a diagram (part 2) illustrating operations of each filter unit and NAT unit when communication between the external virtual PC and the outside is permitted.
  • FIG. 11 is a diagram (part 1) illustrating operations of each filter unit and NAT unit when communication between the in-house virtual PC and the outside is permitted.
  • FIG. 11 is a diagram (part 2) illustrating operations of each filter unit and NAT unit when communication between the in-house virtual PC and the outside is permitted. It is a figure which shows the operation example (the 1) of PC of FIG.
  • FIG. 6 is a diagram illustrating an operation example (part 2) of the PC of FIG. 1.
  • FIG. 8 is a diagram illustrating an operation example (part 3) of the PC of FIG. 1;
  • FIG. 10 is a diagram illustrating an operation example (No. 4) of the PC of FIG. 1; It is a figure which shows the 2nd operation example (the 1) of PC. It is a figure which shows the 2nd operation example (the 2) of PC. It is a figure which shows the 3rd operation example (the 1) of PC. It is a figure which shows the 3rd operation example (the 2) of PC. It is a figure which shows the example of a storage medium.
  • a technique for mapping physical resources of a computer (information processing apparatus) to logical resources there is a virtualization technique.
  • a plurality of virtual PCs can be operated and executed on one physical personal computer (hereinafter referred to as a PC).
  • An OS (Operating System) on a physical PC is called a host OS, whereas an OS on a virtual PC is called a guest OS.
  • FIG. 1 is a diagram showing a PC on which a virtual PC execution program (hereinafter referred to as virtual PC software) according to an embodiment of the present invention is installed.
  • virtual PC software a virtual PC execution program
  • the virtual PC software 2 is executed on the host OS of the PC 1.
  • the virtual PC software 2 is software for executing a plurality (two in the figure) of virtual PCs on the physical PC 1.
  • the internal virtual PC 3 and the external virtual PC 4 operate on the same physical PC 1.
  • data including confidential information on the PC 1 can be accessed through the in-house virtual PC 3. Further, it is possible to access data on the PC 1 having less confidentiality than data handled by the internal virtual PC 3 through the external virtual PC 4.
  • the network adapter 11 is a network adapter that connects the internal virtual PC 3 and the host OS of the PC 1
  • the network adapter 12 is a network adapter that connects the external virtual PC 4 and the host OS of the PC 1.
  • the network adapter is realized by software.
  • the PC 1 is taken out of the office and used by a user near a public wireless LAN (Local Area Network) 15 installed at a predetermined location in a station, for example. .
  • LAN Local Area Network
  • the network adapter 14 is a network adapter that connects the PC 1 and the public LAN 15.
  • the network adapter 13 is a network adapter that connects the PC 1 and a VPN (Virtual Private Network) access point 17.
  • An encrypted communication path 16 is established between the VPN client 21 and the VPN access point 17.
  • the 802.1X client 22 is a user authentication program that performs user authentication processing according to the 802.1X protocol.
  • communication with the outside of the packet (data) sent from the outside virtual PC 4 is permitted. That is, a packet (data) transmitted from the external virtual PC 4 is transmitted on the network through the filter unit 8, the NAT (Network Address Transform) unit 6, the filter unit 9, the public LAN 15, and the Internet 19.
  • a packet sent from the network to the external virtual PC 4 is received by the external virtual PC 4 through the public LAN 15, the filter unit 9, the NAT unit 6, and the filter unit 8.
  • the filter unit 5 is a filter provided on the in-house virtual PC 3 side, allows a packet sent from the in-house virtual PC 3 to a network that is allowed to communicate, and is not allowed to communicate from the in-house virtual PC 3. Discard packets sent to the network.
  • the filter unit 7 is a filter provided on the physical PC (PC1) side.
  • the filter 7 passes through a network that is allowed to communicate and is sent to the in-house virtual PC 3, and is not allowed to communicate with the network.
  • the packet that passes through and is sent to the in-house virtual PC 3 is discarded.
  • the filter unit 8 is a filter provided on the external virtual PC 4 side, allows a packet sent from the external virtual PC 4 to a network that allows communication, and allows no communication from the external virtual PC 4. Discard packets sent to the network.
  • the filter unit 9 is a filter provided on the physical PC (PC1) side.
  • the filter 9 passes through a network that is allowed to communicate and passes through a packet that is sent to the external virtual PC 4, and is not allowed to communicate with the network.
  • the packet that passes through and is sent to the external virtual PC 4 is discarded.
  • the NAT unit 6 converts a transmission source address from a virtual PC to a physical PC (PC1) for a packet that is passed through the filter unit 5 or 8 and sent out on the network, and a filter unit 7 Alternatively, for a packet that is passed through 9 and passes through the network and is sent to the destination virtual PC, the destination address is converted from that of the physical PC (PC1) to that of the virtual PC.
  • PC1 physical PC
  • the VPN client 21 is a user authentication program that performs user authentication processing according to the VPN protocol.
  • the user attempts to log in using the VPN client 21 when accessing the internal system (internal LAN 18) from outside the company.
  • the internal system internal LAN 18
  • communication with the outside of the packet transmitted from the in-house virtual PC 3 is permitted. That is, a packet sent out from the in-house virtual PC 3 is sent out on the network through the filter unit 5, NAT unit 6, filter unit 7, and encryption communication path 16.
  • a packet sent from the network to the in-house virtual PC 3 is received by the in-house virtual PC 3 through the VPN access point 17, the encryption communication path 16, the filter unit 7, the NAT unit 6, and the filter unit 5.
  • FIG. 2 is a diagram showing each file managed by the virtual PC software 2 of FIG.
  • the network adapter 11 in FIG. 1 is represented as tap-A
  • the network adapter 12 is represented as tap-B
  • the network adapter 13 is represented as LAN
  • the network adapter 14 is represented as VPN.
  • the disk image file is a file used as a disk by the virtual PC, and stores data such as a guest OS.
  • a disk image file is provided for each virtual PC.
  • tap-A is designated as the network adapter for the in-house virtual PC 3
  • the disk image file A is designated as the file for storing data such as the guest OS.
  • Tap-B is designated as a network adapter
  • disk image file B is designated as a file for storing data such as a guest OS.
  • the LAN is an adapter for a network such as Ethernet (registered trademark)
  • the VPN is an adapter that can be used only when the VPN client 21 shown in FIG.
  • the in-house virtual PC 3 is started from a state where none of the virtual PCs in FIG.
  • the in-house virtual PC 3 is activated, but in reality, the virtual PCs set in the setting file 24 in FIG. 2 (in this example, the in-house virtual PC 3 and the outside virtual PC 4 are used).
  • FIG. 3 is drawn from the viewpoint of the OS, and the in-house virtual PC 3 is connected to the network adapter tap-A. Then, one or a plurality of virtual PC software 2 are activated on the host OS 23, and a plurality of virtual PCs are activated as units in the activated virtual PC software 2. Note that this embodiment deals with a case where one virtual PC software is activated.
  • the virtual PC software 2 behaves as if it is a hardware PC and a network adapter with respect to the virtual PC. Therefore, the host OS 23 can recognize the virtual PC as if it appeared through the network adapter tap-A or tap-B.
  • the network adapter tap-A that connects the host OS 23 and the in-house virtual PC 3 changes from unconnected to connected. Further, the disk image file A is used as a disk by the in-house virtual PC 3.
  • the network adapter tap-B connecting the host OS 23 and the external virtual PC 4 changes from unconnected to connected. Further, the disk image file B is used as a disk by the external virtual PC 4.
  • Packet exchange between the virtual PC and the outside is performed through the NAT unit 6. That is, when a packet is transmitted from the virtual PC to the outside (in the case of (1) in FIG. 4), the NAT unit 6 uses G1 from which the source address (source address) indicating the source is the address of the virtual PC. , Converted to L1 which is the address of PC1, and sent to the outside.
  • the packet returned to L1 (PC1 address) is sent by the NAT unit 6 to the destination address (destination address).
  • connection to the public LAN performed by the user authentication software such as the 802.1X client 22, the output or notification process of the user authentication process result, and the virtual process performed on the virtual PC software 2 side in response to the login result Processing when sending a packet from the PC or sending a packet to the virtual PC will be described with reference to FIGS.
  • the user stores accounts and passwords used in the office, house, station Naka, etc., and user authentication software such as the 802.1X client 22 is manually created at each location. It is assumed that user authentication is performed through Here, when the user is outside the company, an external account is used, and when the user is inside the company, the internal account is used.
  • the virtual PC software 2 When logging in automatically by user authentication software such as the 802.1X client 22, the following occurs.
  • the virtual PC software 2 displays a use mode selection screen at the time of start-up that allows the user to select whether to use the device in-house or outside the company. To choose.
  • the selection result is written in a predetermined file. This file is a known file for each user authentication software.
  • the user authentication software for example, the 802.1X client 22 has an account table 28 shown in FIG.
  • the account table 28 a plurality of accounts such as in-house-id, home-id, station Naka-id, and passwords for each account are associated with identification numbers that identify pairs of accounts and passwords.
  • the account table 28 further includes an item (“use place”) that defines whether each account is used internally or externally. Note that when only the case where the user manually operates the user authentication software is assumed, it is not necessary to add the “use place”.
  • the 802.1X client 22 refers to the value of the use mode indicating “internal use” or “external use” selected by the user and written in a predetermined file, as shown in FIG. Then, login by account is tried one after another for the row on the account table 28 having the same value. According to this method, when the user is in the company, the user logs in with the internal account, and when the user is outside the company, the user logs in with the external account.
  • communication with the outside of the external virtual PC 4 can be performed by logging in with an external account within the company. Is permitted, and the in-house system can be prevented from being attacked by a virus lurking in the external virtual PC 4. Also, by logging in with an in-house account outside the company, communication with the outside of the in-house virtual PC 3 is permitted, and the in-house virtual PC 3 including confidential information can be prevented from being attacked by a virus.
  • the authentication procedure may be performed with the authentication HUB 31 in the automatically connected public LAN by referring to the information in the 802.1X protocol.
  • 802.1X although described in 802.1X, if the standard is other than 802.1X, for example, 802.11g, accounts that can be used can be selected based on SSID (Service Set ID).
  • SSID Service Set ID
  • the account table 27 managed by the virtual PC software 2 associates an identification number for identifying a pair of an account and a password recorded in the account table 28 with a virtual PC (name) that can communicate with the outside.
  • the 802.1X client 22 stores in the authentication result output file 32 the identification number of the account that has logged in and the information that identifies the network adapter that the account uses for external communication. Is output.
  • the virtual PC software 2 constantly monitors the file 32, and when data is written to the file 32, immediately reads the written data from the file 32 and stores it in a cache (not shown). Alternatively, the virtual PC software 2 reads data from the file 32 for filtering when sending a packet from the virtual PC to the outside or sending a packet from the outside to the virtual PC.
  • the virtual PC software 2 Upon receiving this log-in result, as shown in FIG. 9, the virtual PC software 2 is in a state where communication between the external virtual PC 4 and the outside is permitted in a state where the usable network adapter is limited to the LAN. The subsequent operation of the virtual PC software 2 will be described later with reference to FIGS.
  • a plurality of user authentication software is installed on the PC 1.
  • Each user authentication software has the account table 28 of FIG. Therefore, there are as many account tables 27 managed by the virtual PC software 2 in FIG. 6 as the number of user authentication software installed in the PC 1.
  • the virtual PC software 2 manages a file holding which user authentication software outputs an authentication result to which file (output destination file list).
  • the virtual PC software 2 immediately reads the data written in the file and stores it in a cache (not shown). Alternatively, the virtual PC software 2 reads data from the file for filtering when sending a packet from the virtual PC to the outside or sending a packet from the outside to the virtual PC.
  • the account table (not shown) for the VPN client 21 managed by the virtual PC software 2 corresponds to the identification number (in this case, “1”) of the account logged in with the VPN client 21 among the data written in the file. It is assumed that an in-house virtual PC is set as the virtual PC name.
  • the virtual PC software 2 in response to the login result, is in a state where communication between the in-house virtual PC 3 and the outside is permitted in a state where the usable network adapter is limited to the VPN.
  • the subsequent operation of the virtual PC software 2 will be described later with reference to FIGS.
  • FIG. 10 and FIG. 11 are diagrams showing the operation of each filter unit and NAT unit 6 when communication between the external virtual PC and the outside is permitted.
  • “communication between the external virtual PC 4 and the outside is permitted” means that the data corresponding to the fact that communication between the external virtual PC 4 and the outside is permitted is a login result managed by the virtual PC software 2.
  • the setting file 21 in FIG. 2 includes two filters to be used, such as the external virtual PC 4, together with information on the network adapter to be used in the data about each virtual PC to be activated.
  • information about the filter units 8 and 9, that is, the label name to be attached to the packet is described.
  • the file 32 when the user logs in from a predetermined location near the access point in the station using the 802.1X client 22, the file 32 includes an account identification number “3” indicating the access point in the station.
  • the data of the network adapter “LAN” being used is written.
  • the filter unit 8 determines whether or not supplemental data is added to the packet.
  • the filter unit 8 refers to a list of output destination files of login results for all installed user authentication software managed by the virtual PC software 2, and lists the files. The following processing is performed on the file existing in the file. Alternatively, the following processing is performed with reference to each line of the above-described cache where the contents of each file in the file list are written (one line is data of one file).
  • the filter unit 8 When the extracted virtual PC name matches the name of the virtual PC that the filter unit 8 is in charge of, the filter unit 8 knows that the corresponding virtual PC is in a communication-permitted state, and the filter unit 8 has transmitted the packet. A virtual PC specifying process and a label attaching process are performed.
  • the filter unit 8 changes the file to be processed to the next file in the list and extracts the virtual PC name. Repeat from.
  • the filter unit 8 discards the packet received from the external virtual PC 4. Specifically, when the above process is executed, the process is as follows. That is, the filter unit 8 matches the identification number in the account table 27 managed by the virtual PC software 2 with reference to the account identification number (in this case, “3”) in the data of the predetermined file 32. A line is acquired, and an external virtual PC is extracted as the virtual PC name described in this line.
  • the filter unit 8 refers to the source address included in the packet, and the virtual PC that has transmitted the packet from this source address (In this case, external virtual PC 4) is determined.
  • the filter unit 8 discards the received packet.
  • the filter unit 8 refers to the created temporary list and corresponds to the virtual PC for which the filter unit 8 is responsible. Get a network adapter. Then, with reference to the routing table or the like, it is determined whether or not the received packet is sent out on the network corresponding to the acquired network adapter.
  • the filter unit 8 discards the received packet.
  • the filter unit 8 outputs the “external” label and the “transmission destination” label indicating that the address to be converted is the transmission destination address. To the NAT unit 6 as supplemental data.
  • the NAT unit 6 refers to the supplementary data of the packet, converts the source address included in the packet from that of the external virtual PC 4 to that of the PC 1, refers to the routing table, etc., and converts the packet of the conversion result
  • the data is sent to the filter units 9 and 7.
  • the filter unit 9 that has received the conversion result packet determines whether or not supplementary data has been added to the packet. If supplemental data has been added, the filter unit 9 determines whether the content of the supplemental data is “external use”.
  • the filter unit 9 discards the received packet.
  • the filter unit 9 discards only the supplemental data from the received packet and sends the remaining part to the LAN 15.
  • the filter unit 7 that has received the packet of the conversion result discards the received packet because the content of the supplementary data of the packet is “external” and not “internal”. A case where there is a response to the packet transmitted in FIG. 10 will be described with reference to FIG.
  • the filter unit 9 that has received the response packet for the packet transmitted in FIG. 10 determines whether or not supplemental data is added to the packet.
  • the filter unit 9 refers to the list of output destination files of login results for all installed user authentication software managed by the virtual PC software 2, and the file list The following processing is performed on the file existing in the file.
  • the filter unit 9 When the extracted virtual PC name matches the name of the virtual PC that the filter unit 9 is in charge of, the filter unit 9 knows that the corresponding virtual PC is in a communication-permitted state, and the filter unit 9 receives the packet. A virtual PC specifying process and a label attaching process are performed.
  • the file to be processed is changed to the next file in the list, and the above virtual PC name extraction is repeated.
  • the filter unit 9 discards the received packet. Specifically, when the above process is executed, the process is as follows. That is, the filter unit 9 matches the identification number in the account table 27 managed by the virtual PC software 2 with reference to the account identification number (in this case, “3”) in the data of the predetermined file 32. A line is acquired, and an external virtual PC is extracted as the virtual PC name described in this line.
  • the filter unit 9 When the extracted virtual PC name matches the name of the virtual PC that the filter unit 9 is in charge of, the filter unit 9 has received it by referring to the transmission history information held by the PC 1 and the routing table managed by the NAT unit 6 Determine the destination of the packet.
  • the filter unit 9 discards the received packet.
  • the filter unit 9 refers to the created temporary list and corresponds to the virtual PC in charge of the filter unit 9. Get a network adapter. Then, with reference to the routing table or the like, it is determined whether or not the received packet has passed through the network corresponding to the acquired network adapter.
  • the filter unit 9 discards the received packet. On the other hand, when it is determined that the received packet has passed through the corresponding network, the filter unit 9 displays an “external” label, a “transmission destination” label indicating that the address to be converted is a transmission destination address, The determined transmission destination is added to the packet as supplementary data, and is sent to the NAT unit 6.
  • the NAT unit 6 refers to the supplementary data in the received packet, converts the destination address of the received packet from that of the PC 1 to that of the external virtual PC 4, and filters the conversion result packets in the filter units 8 and 5. To send.
  • the filter unit 8 that has received the conversion result packet determines whether or not supplementary data has been added to the packet. If supplemental data has been added, the filter unit 8 determines whether the content of the supplemental data is “external use”.
  • the filter unit 8 discards the received packet.
  • the filter unit 8 discards only the supplemental data from the received packet and sends the remaining part to the external virtual PC 4.
  • FIG. 12 and FIG. 13 are diagrams showing the operation of each filter unit and NAT unit 6 when communication between the in-house virtual PC 3 and the outside is permitted.
  • “communication between the in-house virtual PC 3 and the outside is permitted” means that the data corresponding to the fact that communication between the in-house virtual PC 3 and the outside is permitted is a login result managed by the virtual PC software 2. This means that the file has been written to any file in the output destination file list, or the virtual PC software 2 has received notification of the corresponding data from any user authentication software.
  • the filter unit 5 when the filter unit 5 receives a packet transmitted from the in-house virtual PC 3, the filter unit 5 determines whether supplementary data is added to the packet. When supplementary data is not added to the packet, the filter unit 5 refers to a list of output destination files of log-in results for all installed user authentication software managed by the virtual PC software 2, and the file list The following processing is performed on the existing file.
  • the filter unit 5 When the extracted virtual PC name matches the name of the virtual PC that the filter unit 5 is in charge of, the filter unit 5 knows that the corresponding virtual PC is in a communication-permitted state, and the filter unit 5 transmits the packet.
  • the specified virtual PC is specified and the label is attached.
  • the file to be processed is changed to the next file in the list, and the above virtual PC name extraction is repeated.
  • the filter unit 5 refers to an account identification number (in this case, “1”) in the data of a predetermined file (not shown), and in the account table (not shown) managed by the virtual PC software 2. A line that matches this identification number is acquired, and, for example, an external virtual PC is extracted as the virtual PC name described in this line.
  • the filter unit 5 refers to the source address included in the packet and the virtual PC that has transmitted the packet from this source address (In this case, the in-house virtual PC 3) is determined.
  • the filter unit 5 discards the received packet.
  • the network adapter corresponding to the virtual PC for which the filter unit 5 is in charge is obtained by referring to the created temporary list To do. Then, with reference to the routing table or the like, it is determined whether or not the received packet is sent out on the network corresponding to the acquired network adapter.
  • the filter unit 5 discards the received packet.
  • the filter unit 5 uses the “in-house” label and the “source” label indicating that the address to be converted is the source address as supplementary data in the packet. In addition, it is sent to the NAT unit 6.
  • the NAT unit 6 refers to the supplementary data of the packet, converts the source address included in the packet from that of the in-house virtual PC 3 to that of the PC 1, and sends the packet of the conversion result to the filter units 7 and 9 .
  • the filter unit 7 that has received the conversion result packet determines whether or not supplementary data has been added to the packet. If supplemental data has been added, the filter unit 7 determines whether the content of the supplemental data is “in-house”.
  • the filter unit 7 discards the received packet.
  • the filter unit 7 discards only the supplemental data from the received packet and sends the remaining part on the encryption communication path 16.
  • the filter unit 9 that has received the packet of the conversion result discards the received packet because the content of the supplementary data of the packet is “internal” and not “external”. A case where there is a response to the packet transmitted in FIG. 12 will be described with reference to FIG.
  • the filter unit 7 that has received the response packet for the packet transmitted in FIG. 12 determines whether or not supplemental data has been added to the packet.
  • the filter unit 7 refers to the list of output destination files of log-in results for all installed user authentication software managed by the virtual PC software 2, and the file list The following processing is performed on the file existing in the file.
  • the filter unit 7 When the extracted virtual PC name matches the name of the virtual PC that the filter unit 7 is in charge of, the filter unit 7 knows that the corresponding virtual PC is in a communication-permitted state, and the filter unit 7 receives the packet. The process of identifying the virtual PC to be performed and the label attaching process are performed.
  • the file to be processed is changed to the next file in the list, and the above virtual PC name extraction is repeated.
  • the filter unit 7 refers to the account identification number (in this case, “1”) in the data of a predetermined file (not shown), and in the account table (not shown) managed by the virtual PC software 2. A line that matches this identification number is acquired, and an in-house virtual PC is extracted as the virtual PC name described in this line.
  • the filter unit 7 sends the transmission history information (not shown) held by the PC 1 and the routing table (not shown) managed by the NAT unit 6. Referring to the figure, the transmission destination of the received packet is determined.
  • the filter unit 7 discards the received packet.
  • the network adapter corresponding to the virtual PC for which the filter unit 7 is in charge is obtained by referring to the created temporary list. To do. Then, with reference to the routing table or the like, it is determined whether or not the received packet has passed through the network corresponding to the acquired network adapter.
  • the filter unit 7 discards the received packet.
  • the filter unit 7 displays the “in-house” label, the “transmission destination” label indicating that the address to be converted is the transmission destination address, and the determined transmission. The destination is added as supplementary data to the packet and sent to the NAT unit 6.
  • the NAT unit 6 refers to the supplementary data in the received packet, converts the transmission destination address of the received packet from that of the PC 1 to that of the in-house virtual PC 3, and filters the converted result packets to the filter units 5 and 8 To send.
  • the filter unit 5 that has received the conversion result packet determines whether or not supplementary data has been added to the packet. If supplemental data has been added, the filter unit 5 determines whether the content of the supplemental data is “in-house use”.
  • the filter unit 5 discards the received packet. If the content of the supplemental data is “in-house”, the filter unit 5 discards only the supplemental data from the received packet and sends the remaining part to the in-house virtual PC 3.
  • the filter unit 8 that has received the packet of the conversion result discards the received packet because the content of the supplementary data of the packet is “internal” and not “external”. 1 will be described with reference to FIGS. 14 to 17.
  • FIG. 14 the filter unit 8 that has received the packet of the conversion result discards the received packet because the content of the supplementary data of the packet is “internal” and not “external”. 1 will be described with reference to FIGS. 14 to 17.
  • FIG. 14 shows a state where the user uses the PC 1 of FIG. 1 in the company.
  • the externally connectable PC 1 is not yet authenticated by the 802.1X authentication HUB 35 installed in the company, and cannot communicate outside the LAN. Further, neither the internal virtual PC 3 nor the external virtual PC 4 is permitted to communicate with the outside.
  • 802.1X authentication processing is performed manually or automatically by the 802.1X client 22. If the authentication is successful, the PC 1 is permitted to communicate with the 802.1X authentication HUB 31.
  • the 802.1X client 22 When the 802.1X authentication is successful, the 802.1X client 22 outputs the combination of the identification number of the authenticated account and the network adapter to a predetermined file. The information output to this file determines the operation mode of the NAT unit 6.
  • the NAT unit 6 operates in an operation mode in which communication permission is given to the internal virtual PC 3 and communication permission is not given to the external virtual PC 4.
  • the address is converted by the NAT function included in the virtual PC software 2, and is recognized as communication with the main body PC 1 from the outside such as an authentication HUB or a server.
  • the in-house virtual PC 3 including the confidential information can communicate with the external server.
  • the external virtual PC 4 that may contain a virus cannot communicate with the outside.
  • viruses that may be lurking inside the external virtual PC 4 cannot attack the main body PC 1 or outside the network.
  • FIG. 15 shows a state (part 1) in which the user uses the PC 1 of FIG. 1 outside the company.
  • the externally connectable PC 1 is not yet authenticated by the authentication HUB 31 in the public LAN and cannot communicate with the outside. Further, neither the internal virtual PC 3 nor the external virtual PC 4 is permitted to communicate with the outside.
  • 802.1X authentication processing is performed manually or automatically by the 802.1X client 22. In this case, since the authentication HUB 35 supports 802.1X authentication, it is assumed that the authentication is successful. If the authentication is successful, the PC 1 is permitted to communicate with the authentication HUB 31.
  • a set of the account identification number and the network adapter is output from the 802.1X client 22 to a predetermined file.
  • the information output to the predetermined file effectively determines the operation mode of the NAT unit 6.
  • the NAT unit 6 operates in an operation mode in which communication permission is given to the external virtual PC 4 and communication permission is not given to the internal virtual PC 3.
  • the communication between the external virtual PC 4 and the outside is address-converted by the NAT function included in the virtual PC software 2 and recognized as communication with the main body PC 1 from the outside (authentication HUB or server).
  • the external virtual PC 4 can communicate with the external server through the public LAN.
  • FIG. 16 shows a state (part 2) in which the user uses the PC 1 of FIG. 1 outside the company.
  • the externally connectable PC 1 is not yet authenticated by the authentication HUB 36 in the public LAN, and cannot communicate with the outside. Further, neither the internal virtual PC 3 nor the external virtual PC 4 is permitted to communicate with the outside.
  • 802.1X authentication processing is performed manually or automatically by the 802.1X client 22.
  • the authentication HUB 36 does not support 802.1X authentication and thus fails in authentication. Even if the authentication fails, the PC 1 can still transmit the packet.
  • the 802.1X client 22 If the 802.1X authentication fails, the 802.1X client 22 outputs a set of information indicating failure and a network adapter (value is always set to “LAN”) to a predetermined file.
  • the information output to the predetermined file effectively determines the operation mode of the NAT unit 6.
  • the NAT unit 6 is controlled to operate in an operation mode in which communication permission is given to the external virtual PC 4 and communication permission is not given to the internal virtual PC 3.
  • the communication between the external virtual PC 4 and the outside is address-converted by the NAT function included in the virtual PC software 2, and is recognized as the communication with the main body PC 1 from the outside such as the authentication HUB or the server.
  • the external virtual PC 4 can communicate with the external server through the public LAN.
  • FIG. 17 shows a state (part 3) in which the user uses the PC 1 of FIG. 1 outside the company.
  • the state after the authentication process in FIG. 15 or FIG. 16 or the prior state in FIG. 16 is the prior state in FIG.
  • the external virtual PC 4 is permitted to communicate via the Internet, and the in-house virtual PC 3 is not permitted to communicate via the Internet.
  • neither the external virtual PC 4 nor the internal virtual PC 3 is permitted to communicate via the Internet. In any case, the in-house virtual PC 3 is not permitted to communicate via the Internet.
  • the VPN client 21 connects to the VPN access point 17 and VPN authentication processing is performed. If the VPN authentication is successful, an encrypted communication path 16 is established between the VPN client 21 and the VPN access point 17.
  • the VPN client 21 When VPN authentication is successful, the VPN client 21 outputs the account identification number and network adapter pair to a predetermined file.
  • the information output to the predetermined file effectively determines the operation mode of the NAT unit 6.
  • the NAT unit 6 operates in an operation mode in which communication permission through the encryption communication path 16 is given to at least the in-house virtual PC 3.
  • the external virtual PC 4 communication via the Internet remains permitted or communication with the outside is not permitted. In any case, the operation mode of the NAT for the external virtual PC 4 is not changed here.
  • the communication between the in-house virtual PC 3 and the outside is address-converted by the NAT function included in the virtual PC software 2 and then encrypted for each packet by the VPN client 21 and the VPN access point 17 is transmitted. For this reason, when decrypted by the VPN access point 17, it is recognized as communication with the main body PC1. Thereby, it is possible to communicate with the in-house server through the VPN access point 17.
  • the in-house virtual PC 3 having confidential information can only access the inside of the company through the encrypted path 16. Therefore, when confidential information flows on the Internet, it always flows in an encrypted state, making it difficult to leak or tamper with confidential information.
  • viruses that may lurk in the external virtual PC 4 are as follows: Since it does not flow in the encrypted path 16, the encrypted path 16, the in-house virtual PC 3, and the in-house system are not affected by the virus attack and are protected.
  • FIGS. 18 and 19 it is assumed that the user inputs an account and password from the startup screen (console) when the PC is started.
  • the user when connecting the PC 1 to the network in the company, the user logs in to the PC 1 with an in-house account (for example, “user1-intra”), and when connecting the PC 1 to the network outside the user, It is assumed that the user logs in to the PC 1 with an external account (for example, “user1-outer”).
  • an in-house account for example, “user1-intra”
  • an external account for example, “user1-outer”.
  • FIG. 18 shows a state where the user uses the PC 1 of FIG. 1 in the company in the second usage mode.
  • the externally connectable PC 1 is connected to the corporate LAN and is not activated. Further, neither the internal virtual PC 3 nor the external virtual PC 4 is permitted to communicate with the outside.
  • the user When starting up the PC, the user logs in with an account for accessing the in-house LAN from the startup screen.
  • login is performed with the ID “user1-intra”.
  • the host OS having a display function of the PC 1 or the startup screen as a part of function manages a correspondence table (not shown) in which the logged-in account is associated with an identification number for identifying the account, and based on the correspondence table During the login process, the identification number and the network adapter (in this case, the value is always set to “LAN”) are output to a predetermined file.
  • the information output to the predetermined file effectively determines the operation mode of the NAT unit 6.
  • the NAT unit 6 operates in an operation mode in which communication permission is given to the in-house virtual PC 3 and communication permission is not given to the outside virtual PC 4.
  • the communication between the in-house virtual PC 3 and the outside is address-converted by the NAT function included in the virtual PC software 2, and is recognized as the communication with the main body PC 1 from the outside such as the authentication HUB or the server.
  • the in-house virtual PC 3 can communicate with the external server.
  • the external virtual PC 4 that may contain a virus remains unable to communicate with the outside, and a virus that may be lurking in the external virtual PC 4 cannot attack the main body PC 1 or outside the network.
  • FIG. 19 shows a state in which the user uses the PC 1 of FIG. 1 outside the company in the second usage mode.
  • the externally connectable PC 1 is connected to the public LAN and is not activated. Further, neither the internal virtual PC 3 nor the external virtual PC 4 is permitted to communicate with the outside.
  • the user When starting up the PC, the user logs in with a public LAN access account from the startup screen.
  • login is performed with the ID “user1-outer”.
  • the host OS having a display function of the PC 1 or the startup screen as a part of function manages a correspondence table (not shown) in which the logged-in account is associated with an identification number for identifying the account, and based on the correspondence table
  • the identification number and the network adapter (in this case, the value is always set to “LAN”) are output to a predetermined file.
  • the information output to the predetermined file effectively determines the operation mode of the NAT unit 6.
  • the NAT unit 6 operates in an operation mode in which communication permission is given to the external virtual PC 4 and communication permission is not given to the internal virtual PC 3.
  • the user authentication process is not performed between the PC 1 and the nearby authentication HUB 38, but packets can still be transmitted from the PC 1 regardless of whether the user authentication process is performed.
  • the communication between the external virtual PC 4 and the outside is address-converted by the NAT function included in the virtual PC software 2, and is recognized as the communication with the main body PC 1 from the outside such as the authentication HUB or the server.
  • the external virtual PC 4 can communicate with the external server.
  • FIG. 20 and FIG. 21 it is assumed that the login client 41 to the internal server is used to log in to the internal server 39.
  • FIG. 20 shows a state in which the user uses the PC 1 of FIG. 1 in the company in the third usage mode.
  • the externally connectable PC 1 is connected to the in-house LAN. Further, neither the internal virtual PC 3 nor the external virtual PC 4 is permitted to communicate with the outside.
  • Log-in processing to the internal server 39 is performed manually or automatically by the login client 41 to the internal server. If the login is successful, the login client 41 to the in-house server outputs the login account identification number and the network adapter to a predetermined file. The information output to the predetermined file effectively determines the operation mode of the NAT unit 6.
  • the NAT unit 6 operates in an operation mode in which communication permission is given to the in-house virtual PC 3 and communication permission is not given to the outside virtual PC 4.
  • the communication between the in-house virtual PC 3 and the outside is address-converted by the NAT function included in the virtual PC software 2, and is recognized as the communication with the main body PC 1 from the outside such as the authentication HUB or the server.
  • the in-house virtual PC 3 can communicate with the external server.
  • the external virtual PC 4 that may contain a virus remains unable to communicate with the outside, and a virus that may be lurking in the external virtual PC 4 cannot attack the main body PC 1 or outside the network.
  • FIG. 21 shows a state where the user uses the PC 1 of FIG. 1 outside the company in the third usage mode.
  • the externally connectable PC 1 is connected to the public LAN. Further, neither the internal virtual PC 3 nor the external virtual PC 4 is permitted to communicate with the outside.
  • the user tries to log in to the internal server 39 manually or automatically by the login client 41 to the internal server.
  • the login process fails.
  • the login process is canceled by the user.
  • the PC 1 can still transmit packets.
  • the login client 41 that logs in to the in-house server outputs information indicating that the login has failed and the network adapter (value is always set to “LAN”) to a predetermined file.
  • the information output to this file effectively determines the operation mode of the NAT unit 6.
  • the NAT unit 6 is controlled to operate in an operation mode in which communication permission is given to the external virtual PC 4 and communication permission is not given to the internal virtual PC 3.
  • the communication between the external virtual PC 4 and the outside is address-converted by the NAT function included in the virtual PC software 2, and is recognized as communication with the main body PC 1 from the authentication HUB and the server.
  • the external virtual PC 4 can communicate with the external server.
  • the path through which data enters and exits one virtual PC does not intersect with the path through which data enters and exits another virtual PC. Therefore, for example, even when a virus invades one virtual PC, the virus infection can remain in that virtual PC so that the virus is not transmitted to other virtual PCs, the PC main body, and the virtual machine execution program.
  • the security level of the PC main body can be improved.
  • FIG. 22 is a diagram illustrating an example of a storage medium for storing a program for executing processing according to the present embodiment.
  • the program and data for the processing of this embodiment can be loaded from the storage device 51 of the computer 50 to the memory of the computer 50 and executed, or can be loaded from the portable storage medium 53 to the memory of the computer 50 and executed. It is also possible to load the program from the external storage device 54 to the memory of the computer 50 via the network 55 and execute it.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)

Abstract

 本発明の仮想マシン実行プログラムは、通信が許可されている送信元の仮想マシンからネットワーク上に送出されるデータはスルーさせ、通信が許可されていない送信元の仮想マシンからネットワーク上に送出されるデータは破棄する。

Description

仮想マシン実行プログラム、ユーザ認証プログラムおよび情報処理装置
 本発明は、仮想マシン実行プログラム、ユーザ認証プログラムおよびそれらプログラムの機能を有する情報処理装置に関する。
 機密漏洩防止技術として、シンクライアントなどによる情報可搬化を防ぐ方法と、USBメモリの暗号化などによる可搬情報の暗号化とが知られている。
 情報可搬化を防ぐ技術では、機密情報が社外で必要になったときに、手元で参照することすら不可能であるため、例えば秘密保持契約を結んだ相手のところであっても参照できず、業務に支障が起こる。
 可搬情報を暗号化する方法の場合、必要になって暗号化された情報を復号したときに、復号されたデータが流出する可能性を防ぐことはできない。
 また、ウィルスの持ち込みを防止する技術として、パーソナルコンピュータ上のウィルスチェックソフトウェアによる感染防止と、ネットワーク上のファイアウォールによる攻撃防御とがある。
 しかし、ウィルスチェックソフトウェアは未知のウィルスを検知することはできない。
 一方、ファイアウォールは通信パターンによって、未知のウィルスもある程度は検知可能である。しかし、ファイアウォールを設けることは高価であり、通信性能にも大きく影響するので、例えば、外から会社に持ち帰ったパーソナルコンピュータを接続する各HUBにファイアウォールを設置するのは困難である。
 また、ネットワークへのアクセスを制御する技術として様々な技術が知られている。
 例えば特許文献1では、利用者ごとのアクセス制御情報を記憶した記憶手段を用いて、利用者に応じた通信ネットワークへのアクセス制御を行っている。
 また、特許文献2では、Webサーバの設置情報を、ユーザのファイル管理サーバへのアクセス権情報の一部として利用し、ユーザがクライアントから社内Webサーバを経由してファイル管理サーバへログインした場合と、ユーザがクライアントから社外Webサーバを経由してファイル管理サーバへログインした場合とで、アクセス権を異ならせるように制御している。
 しかし、これらはいずれも外部からのアクセスに対する制御であり、自身の装置からの外部へのアクセスについては制御自体何ら行っていない。
特開2003-44441号公報 「ネットワーク・アクセス制御管理システム」 特開2004-46460号公報 「ファイル管理システムにおけるアクセス制御方式」
 本発明は、外部から装置へのアクセスに対しても、装置から外部へのアクセスに対しても、共にアクセス制御を行なうことができる仮想マシン実行プログラム、ユーザ認証プログラムおよび情報処理装置を提供することを目的とする。
 本発明の第1態様の仮想マシン実行プログラムは、物理マシンとしての情報処理装置上で、1つまたは複数の仮想マシンを実行する処理を該情報処理装置に実行させる仮想マシン実行プログラムにおいて、ユーザ認証の処理結果として、ログインしたアカウントの識別番号を取得または受信するステップと、アカウントの識別番号と、通信を許可する仮想マシンとを対応付けた第一記憶部を用いて、取得または受信したアカウントの識別番号に対応する仮想マシンを取得するステップと、いずれかの仮想マシンからネットワーク上に送出されるデータに対し、データの送信元の仮想マシンが取得した仮想マシンに一致するかどうかを判定する第一判定ステップと、前記第一判定ステップにおいて一致すると判定された場合、ネットワーク上に送出されるデータをスルーさせ、一致しないと判定された場合、ネットワーク上に送出されるデータを破棄するフィルタ処理ステップと、ネットワークを通ってきていずれかの仮想マシンに送出されるデータに対し、データの送信先の仮想マシンが取得した仮想マシンに一致するかどうかを判定する第二判定ステップと、前記第二判定ステップにおいて一致すると判定された場合、送信先の仮想マシンに送出されるデータをスルーさせ、一致しないと判定された場合、送信先の仮想マシンに送出されるデータを破棄するフィルタ処理ステップと、を前記情報処理装置に実行させる仮想マシン実行プログラムである。
 ここで、ログインしたアカウントの識別番号に基づいて、アカウントの識別番号と、通信を許可する仮想マシンとを対応付けた第一記憶部を参照して、通信を許可する仮想マシンを決めている。また、データの送信元の仮想マシンが通信を許可した仮想マシンである場合にはデータをスルーさせ、データの送信元の仮想マシンが通信を許可した仮想マシンでない場合にはデータを破棄している。また、ネットワークを通ってきたデータの送信先の仮想マシンが通信を許可した仮想マシンである場合にはデータをスルーさせ、データの送信先の仮想マシンが通信を許可した仮想マシンでない場合にはデータを破棄している。すなわち、外部からの装置へのアクセスに対しても、装置からの外部へのアクセスに対しても共に制御を行なうことができる。
 よって、例えば、ユーザが社内にいる場合は、社内用アカウントを入力するようにし、社外にいる場合は、社外用アカウントを入力するようにし、前記第一記憶部において、社内用アカウントの識別番号に対しては社内用として起動される仮想マシンを対応付けるようにし、社外用アカウントの識別番号に対しては社外用として起動される仮想マシンを対応付けるようにすれば、社内用アカウントでログインした場合には、社内用の仮想マシンの通信が許可され、社外用アカウントでログインした場合には、社外用の仮想マシンの通信が許可される。
 よって、社内にいて、社外用アカウントでログインしたことにより、社外用の仮想マシンの外部との通信が許可され、その社外用の仮想マシンに潜むウィルスからの攻撃を社内システムが受けたり、社外にいて、社内用アカウントでログインしたことにより、社内用の仮想マシンの外部との通信が許可され、機密情報を含む社内用の仮想マシンがウィルスにより攻撃されたりするのを防ぐことができ、例えば携帯用の情報処理装置本体のセキュリティレベルを高めることが可能となる。
 本発明の第2態様の仮想マシン実行プログラムは、前記第1態様において、ユーザ認証の処理結果として、ログインしたアカウントの識別番号の他に、ネットワークアダプタをさらに取得または受信し、前記第一判定ステップにおいて一致すると判定された場合、取得または受信したネットワークアダプタおよびルーティング情報を用いて、データの送出先のネットワークは、取得または受信したネットワークアダプタに対応するネットワークであるかどうかを判定する第三判定ステップと、第三判定ステップにおいて対応するネットワーク上に送出されると判定されたデータはスルーさせ、対応するネットワーク上に送出されないと判定されたデータは破棄するフィルタ処理ステップと、前記第二判定ステップにおいて一致すると判定された場合、取得または受信したネットワークアダプタおよびルーティング情報を用いて、データが通ってきたネットワークは、取得または受信したネットワークアダプタに対応するネットワークであるかどうかを判定する第四判定ステップと、第四判定ステップにおいて対応するネットワークを通ってきたと判定されたデータはスルーさせ、対応するネットワークを通って来なかったと判定されたデータは破棄するフィルタ処理ステップと、を備える、仮想マシン実行プログラムである。
 本発明の第3態様の仮想マシン実行プログラムは、前記第2態様において、新たに仮想マシンに外部との通信を許可する場合は、その仮想マシンと同じネットワークアダプタを使用して外部と通信可能な他の仮想マシンのネットワーク・アクセスを止める仮想マシン実行プログラムである。
 このようなアクセス制御を行うことで、1つの仮想マシンに出入りするデータの通るパスと、他の仮想マシンに出入りするデータの通るパスとが交わることがなくなる。よって、例えば、1つの仮想マシンにウィルスが侵入した場合でも、ウィルスの感染を、その仮想マシンにとどまらせることができ、他の仮想マシン、情報処理装置本体、仮想マシン実行プログラムには伝染しないようにできる。
 本発明によれば、外部からの装置へのアクセスに対しても、装置からの外部へのアクセスに対しても共に制御を行なうことができ、例えば携帯用の情報処理装置本体のセキュリティレベルを高めることが可能となる。
本発明の一実施形態に係る仮想PCソフトウェアがインストールされたPCを示す図である。 図1の仮想PCソフトウェアが管理する各ファイルを示した図である。 社内用仮想PCを起動した状態を示す図である。 PCを出入りするパケットの流れを示した図である。 PCの初期状態を示した図である。 仮想PCソフトウェアが保持するアカウント表およびユーザ認証ソフトウェアが保持するアカウント表を示した図である。 ユーザ認証ソフトウェアによる認証手続きを示した図である。 ログインできた場合のユーザ認証ソフトウェアおよび仮想PCソフトウェアの動作を示す図である。 ログイン後のPCの状態を示した図である。 社外用仮想PCと外部との通信が許可された場合の各フィルタ部およびNAT部の動作を示す図(その1)である。 社外用仮想PCと外部との通信が許可された場合の各フィルタ部およびNAT部の動作を示す図(その2)である。 社内用仮想PCと外部との通信が許可された場合の各フィルタ部およびNAT部の動作を示す図(その1)である。 社内用仮想PCと外部との通信が許可された場合の各フィルタ部およびNAT部の動作を示す図(その2)である。 図1のPCの動作例(その1)を示す図である。 図1のPCの動作例(その2)を示す図である。 図1のPCの動作例(その3)を示す図である。 図1のPCの動作例(その4)を示す図である。 PCの第二の動作例(その1)を示す図である。 PCの第二の動作例(その2)を示す図である。 PCの第三の動作例(その1)を示す図である。 PCの第三の動作例(その2)を示す図である。 記憶媒体例を示す図である。
 以下図面に基づいて、本発明の実施形態について詳細に説明する。
 コンピュータ(情報処理装置)の物理的資源を論理的資源にマッピングする技術として仮想化技術がある。この技術では、例えば、1台の物理的なパーソナルコンピュータ(以下、PCという)上で複数の仮想的なPCを動作実行させることができる。物理的なPC上のOS(Operating System)をホストOSと呼ぶのに対し、仮想PC上のOSをゲストOSという。
 図1は、本発明の一実施形態に係る仮想PC実行プログラム(以下、仮想PCソフトウェアという)がインストールされたPCを示す図である。
 図1において、PC1のホストOS上で仮想PCソフトウェア2が実行される。
 仮想PCソフトウェア2は、複数(図では2つ)の仮想PCを物理的なPC1上で実行するソフトウェアである。
 図1の例では、社内用仮想PC3と社外用仮想PC4とが、同一の物理的なPC1上で動作する。そして、図1の例では、社内用仮想PC3を通して、PC1上の機密情報が含まれるデータにアクセスすることができる。また、社外用仮想PC4を通して、社内用仮想PC3が扱うデータよりも機密性が低いPC1上のデータにアクセスすることができる。
 ネットワークアダプタ11は、社内用仮想PC3と、PC1のホストOSとをつなぐネットワークアダプタであり、ネットワークアダプタ12は、社外用仮想PC4と、PC1のホストOSとをつなぐネットワークアダプタである。本実施形態では、ネットワークアダプタはソフトウェアにより実現される。
 また、図1の例では、PC1は社外に持ち出されており、例えば駅内の所定の場所に設置された公衆の無線LAN(Local Area Network)15の近くでユーザにより使用されているものとする。
 ネットワークアダプタ14は、PC1と公衆LAN15とをつなぐネットワークアダプタである。
 ネットワークアダプタ13は、PC1と、VPN(Virtual Private Network)アクセスポイント17とをつなぐネットワークアダプタである。なお、VPNクライアント21と、VPNアクセスポイント17との間には暗号通信パス16が確立されている。
 802.1Xクライアント22は、802.1Xプロトコルに従ったユーザ認証処理を行なうユーザ認証プログラムである。社外で802.1Xクライアント22からログインした場合は、社外用仮想PC4から送出されるパケット(データ)の外部との通信が許可される。すなわち、社外用仮想PC4から送出されるパケット(データ)は、フィルタ部8、NAT(Network Address Transform)部6、フィルタ部9、公衆LAN15、インターネット19を通して、ネットワーク上に送出される。また、ネットワーク上から社外用仮想PC4あてに送出されたパケットは、公衆LAN15、フィルタ部9、NAT部6、フィルタ部8を通して、社外用仮想PC4に受信される。
 フィルタ部5は、社内用仮想PC3側に設けられたフィルタであり、社内用仮想PC3から通信が許可されているネットワークに送出されるパケットをスルーさせ、社内用仮想PC3から通信が許可されていないネットワークに送出されるパケットを破棄する。
 フィルタ部7は、物理PC(PC1)側に設けられたフィルタであり、通信が許可されているネットワークを通ってきて社内用仮想PC3に送出されるパケットをスルーさせ、通信が許可されていないネットワークを通ってきて社内用仮想PC3に送出されるパケットを破棄する。
 フィルタ部8は、社外用仮想PC4側に設けられたフィルタであり、社外用仮想PC4から通信が許可されているネットワークに送出されるパケットをスルーさせ、社外用仮想PC4から通信が許可されていないネットワークに送出されるパケットを破棄する。
 フィルタ部9は、物理PC(PC1)側に設けられたフィルタであり、通信が許可されているネットワークを通ってきて社外用仮想PC4に送出されるパケットをスルーさせ、通信が許可されていないネットワークを通ってきて社外用仮想PC4に送出されるパケットを破棄する。
 NAT部6は、フィルタ部5または8によりスルーされてネットワーク上に送出されるパケットに対して、送信元アドレスを仮想PCのものから物理PC(PC1)のものへと変換するとともに、フィルタ部7または9によりスルーされてネットワークを通ってきて送信先の仮想PCに送出されるパケットに対して、送信先アドレスを物理PC(PC1)のものから仮想PCのものへと変換する。
 VPNクライアント21は、VPNプロトコルに従ったユーザ認証処理を行なうユーザ認証プログラムである。ユーザは、社外から社内システム(社内LAN18)にアクセスするときに、VPNクライアント21によるログインを試みる。社外でVPNクライアント21からログインした場合は、社内用仮想PC3から送出されるパケットの外部との通信が許可される。すなわち、社内用仮想PC3から送出されるパケットは、フィルタ部5、NAT部6、フィルタ部7、暗号通信パス16を通して、ネットワーク上に送出される。また、ネットワーク上から社内用仮想PC3あてに送出されたパケットは、VPNアクセスポイント17、暗号通信パス16、フィルタ部7、NAT部6、フィルタ部5を通して、社内用仮想PC3に受信される。
 続いて、図2~図5を参照して、図1のPC1におけるネットワーク・アクセス制御方法について説明する。
 図2は、図1の仮想PCソフトウェア2が管理する各ファイルを示した図である。
 図2では、図1のネットワークアダプタ11はtap-A、ネットワークアダプタ12はtap-B、ネットワークアダプタ13はLAN、ネットワークアダプタ14はVPNとそれぞれ表記されている。
 各ネットワークアダプタの名称に続く「接続」は、そのネットワークアダプタを用いた通信が許可されていることを、「未接続」は、そのネットワークアダプタを用いた通信が許可されていないことをそれぞれ示している。
 また、図2は、OSの観点から描いており、仮想PCソフトウェア2(図2では、不図示)が管理する設定ファイル24や、各ディスクイメージファイルはホストOS23上に描かれている。ディスクイメージファイルは、仮想PCがディスクとして使用するファイルであり、ゲストOSなどのデータを格納している。ディスクイメージファイルは、仮想PC毎に設けられる。
 設定ファイル24では、図1の仮想PCソフトウェア2上で起動するそれぞれの仮想PC、この例では、社内用仮想PC3、社外用仮想PC4がどのネットワークアダプタを使用するか、各仮想PC上で起動するゲストOSなどのデータが入ったファイルとしてどのファイルを使用するか、仮想PCが使用する各フィルタがそれぞれどのようなラベルをパケットに貼り付けるか等が指定される。
 図2の例では、社内用仮想PC3に対してはネットワークアダプタとしてtap-Aが、ゲストOSなどのデータを格納するファイルとしてディスクイメージファイルAが指定されており、社外用仮想PC4に対しては、ネットワークアダプタとしてtap-Bが、ゲストOSなどのデータを格納するファイルとしてディスクイメージファイルBが指定されている。
 また、LANは、イーサネット(登録商標)などのネットワークに対するアダプタであり、VPNは、図1のVPNクライアント21によりVPNアクセスポイント17に正しくログインできた場合にのみ使用可能なアダプタである。
 図2のいずれの仮想PCも起動されていない状態から社内用仮想PC3を起動すると、図3の状態に移行する。なお、ここでは、社内用仮想PC3が起動されるものと仮定したが、実際には、図2の設定ファイル24上に設定された仮想PC(この例では、社内用仮想PC3および社外用仮想PC4)の全てあるいは一部を指定により任意に起動できる。
 図3では、OSの観点から描いており、社内用仮想PC3はネットワークアダプタtap-Aにつながっている。そして、ホストOS23上で、仮想PCソフトウェア2が1つまたは複数起動し、起動された仮想PCソフトウェア2の中のユニットとして複数の仮想PCが起動する。なお、本実施形態では、仮想PCソフトウェアが1つ起動する場合を扱う。
 仮想PCソフトウェア2は、仮想PCに対して、ハードウェアであるPCであるかのように振舞うとともに、ネットワークアダプタであるかのように振舞う。このため、ホストOS23は、ネットワークアダプタtap-Aやtap-Bを通して仮想PCが現れたように認識できる。
 このように、社内用仮想PC3を起動すると、ホストOS23と社内用仮想PC3とをつなぐネットワークアダプタtap-Aが未接続から接続に変化する。また、ディスクイメージファイルAは、社内用仮想PC3によってディスクとして使用されるようになる。
 なお、図3には示していないが、社外用仮想PC4を起動した場合には、ホストOS23と社外用仮想PC4とをつなぐネットワークアダプタtap-Bが未接続から接続に変化する。また、ディスクイメージファイルBは、社外用仮想PC4によりディスクとして使用されるようになる。
 続いて、仮想PCが外部と通信を行なう方法について図4を参照して説明する。
 仮想PCと外部とのパケットのやり取りは、NAT部6を通してなされる。すなわち、パケットが仮想PCから外部に送出される場合(図4の(1)の場合)は、NAT部6によって、送信元を示すソースアドレス(送信元アドレス)が仮想PCのアドレスであるG1から、PC1のアドレスであるL1に変換されて外部に送出される。
 また、パケットが外部から仮想PCに送出される場合(図4の(2)の場合)は、L1(PC1のアドレス)あてに戻ってきたパケットが、NAT部6によって、宛先アドレス(送信先アドレス)がPC1のアドレスL1から仮想PCのアドレスG1に変換されて仮想PCに送出される。
 この方法によれば、ゲストOS上の仮想PCによる通信であってもホストOS23による通信であるかのように見せることができる。
 なお、初期状態においては、図5に示すように、社内用仮想PC3と、社外用仮想PC4は外部と通信できない。
 続いて、802.1Xクライアント22などのユーザ認証ソフトウェアにより行われる公衆LANへの接続とユーザ認証の処理結果の出力または通知の処理、および、ログイン結果を受けて仮想PCソフトウェア2側で行われる仮想PCからのパケット送出時または仮想PCへのパケット送出時の処理について、図6~図13を参照して説明する。
 なお、本実施形態においては、ユーザは、社内、家、駅ナカなどで使用するアカウント、パスワードを記憶しており、それぞれの場所で適切なアカウントを手動で802.1Xクライアント22などのユーザ認証ソフトウェアを通して入力してユーザ認証を行なうものとする。ここで、ユーザは社外にいるときは社外用アカウントを使用し、社内にいるときは社内用アカウントを使用するものとする。
 802.1Xクライアント22などのユーザ認証ソフトウェアにより自動でログインを行なう場合、次のようになる。
 すなわち、仮想PCソフトウェア2は、社内での使用か社外での使用かをユーザに選択させる使用モード選択画面を起動時に表示させるようにし、ユーザに使用モード、つまり社内での使用か社外での使用かを選択させる。選択結果は所定のファイルに書き込まれる。このファイルは、各ユーザ認証ソフトウェアにとって既知のファイルである。
 また、ユーザ認証ソフトウェア、例えば802.1Xクライアント22は、図6に示すアカウント表28を有している。アカウント表28では、社内-id、家庭-id、駅ナカ-idなどの複数のアカウントと、各アカウント用のパスワードとが、アカウントとパスワードとの組を識別する識別番号に対応付けられている。また、アカウント表28には、それぞれのアカウントが社内で使用するものか社外で使用するものかを定めた項目(「使用場所」)がさらに追加されている。なお、ユーザが手動でユーザ認証ソフトウェアを操作する場合のみを想定する場合、「使用場所」を追加する必要はない。
 802.1Xクライアント22は、所定のファイルに書き込まれている、ユーザにより選択された「社内での使用」あるいは「社外での使用」を示す使用モードの値を参照し、図7に示すように、その値と同じ値を持つアカウント表28上の行についてアカウントによるログインを次々と試行する。この方法によれば、社内にいる場合、社内アカウントでログインすることになり、社外にいる場合、社外アカウントでログインすることになる。
 すなわち、ユーザによる使用モード選択に誤りがあった場合、あるいは意図的に異なったモードを選択した場合を除いては、社内にいて社外アカウントでログインすることにより、社外用仮想PC4の外部との通信が許可され、社外用仮想PC4に潜むウィルスからの攻撃を社内システムが受けることを防止できる。また、社外にいて社内アカウントでログインすることにより、社内用仮想PC3の外部との通信が許可され、機密情報を含む社内用仮想PC3がウィルスにより攻撃されるのを防ぐことができる。
 なお、802.1Xプロトコル内の情報を参照することにより、自動で接続した公衆LAN内の認証HUB31と認証手続きを行なってもよい。
 また、ここでは、802.1Xで説明しているが、802.1X以外の規格、例えば、802.11gであれば、SSID(Service Set ID)によって使用可能なアカウントを選別できる。
 仮想PCソフトウェア2が管理するアカウント表27は、アカウント表28に記録されたアカウントとパスワードとの組を識別する識別番号と、外部と通信可能にする仮想PC(名)とを対応付けている。
 ログインできた場合、802.1Xクライアント22は、図8に示すように、認証結果出力用のファイル32に、ログインできたアカウントの識別番号と、そのアカウントが外部通信に用いるネットワークアダプタを識別する情報とを出力する。
 仮想PCソフトウェア2は、ファイル32を常時監視し、ファイル32にデータが書き込まれたら、直ちに、書き込まれたデータをファイル32から読み出してキャッシュ(不図示)に格納する。または、仮想PCソフトウェア2は、仮想PCから外部へのパケット送出時、または、外部から仮想PCへのパケット送出時にフィルタ処理のためにデータをファイル32から読み出す。
 このログイン結果を受けて、図9に示すように、仮想PCソフトウェア2は、使用できるネットワークアダプタがLANに限定された状態で、社外用仮想PC4と外部との通信が許可された状態となる。その後の仮想PCソフトウェア2の動作については、図10および図11にて後述する。
 なお、PC1上には、複数のユーザ認証ソフトウェアがインストールされている。そして、ユーザ認証ソフトウェア毎に、図6のアカウント表28を持っている。このため、図6の仮想PCソフトウェア2が管理するアカウント表27も、PC1にインストールされているユーザ認証ソフトウェアの数だけ存在する。
 また、ユーザ認証ソフトウェア毎に、認証結果が出力されるファイル32がある。このため、仮想PCソフトウェア2は、どのユーザ認証ソフトウェアがどのファイルに認証結果を出力するのか(出力先ファイル一覧)を保持したファイルを管理している。
 図9の状態からさらにVPNクライアント21(図9では不図示)を用いて社内用仮想PC3にログインした場合、VPNクライアント21から不図示のファイルに「アカウントの識別番号=1、ネットワークアダプタ=VPN」のデータが書き込まれる。
 仮想PCソフトウェア2は、そのファイルに書き込まれたデータを直ちに読み出してキャッシュ(不図示)に格納する。または、仮想PCソフトウェア2は、仮想PCから外部へのパケット送出時、または、外部から仮想PCへのパケット送出時にフィルタ処理のためにデータをそのファイルから読み出す。
 仮想PCソフトウェア2が管理するVPNクライアント21用の不図示のアカウント表には、ファイルに書き込まれたデータのうち、VPNクライアント21でログインしたアカウントの識別番号(この場合、「1」)に対応する仮想PC名として、社内用仮想PCが設定されていたとする。
 この場合、このログイン結果を受けて、仮想PCソフトウェア2は、使用できるネットワークアダプタがVPNに限定された状態で、社内用仮想PC3と外部との通信が許可された状態となる。その後の仮想PCソフトウェア2の動作については、図12および図13にて後述する。
 図10および図11は、社外用仮想PCと外部との通信が許可された場合の各フィルタ部およびNAT部6の動作を示す図である。
 ここで、「社外用仮想PC4と外部との通信が許可された」とは、社外用仮想PC4と外部との通信が許可されたことに対応するデータが、仮想PCソフトウェア2が管理するログイン結果の出力先ファイル一覧中のいずれかのファイル(ファイル32)に書き込まれたか、または、対応するデータの通知を仮想PCソフトウェア2が802.1Xクライアント22などのユーザ認証ソフトウェアから受けたかしたことを意味する。
 図2からは定かでないが、図2の設定ファイル21内には、起動する各仮想PCに関するデータ中に、使用するネットワークアダプタの情報などと共に、使用する2つのフィルタ、例えば、社外用仮想PC4の場合にはフィルタ部8および9についての情報すなわち自分がパケットに貼り付けるラベル名が記述される。
 例えば、802.1Xクライアント22を使用して、社外の、駅内のアクセスポイント近くの所定の場所からログインした場合、ファイル32には、駅内のアクセスポイントを示すアカウントの識別番号「3」と、利用しているネットワークアダプタ「LAN」というデータが書き込まれる。
 この場合、図10において、社外用仮想PC4から送信されたパケットをフィルタ部8が受信すると、フィルタ部8は、そのパケットに補足データが追加されているかどうかを判定する。パケットに補足データが追加されていない場合、フィルタ部8は、仮想PCソフトウェア2が管理する、インストールされているすべてのユーザ認証ソフトウェアに対するログイン結果の出力先ファイルの一覧を参照して、そのファイル一覧中に存在しているファイルに対し以下の処理を行なう。あるいは、ファイル一覧中の各ファイルの内容が書き出された上述のキャッシュの各行(1行は1つのファイルのデータ)を参照して以下の処理を行なう。
 すなわち、現在のファイルのデータ(アカウントの識別番号、ネットワークアダプタ)中のアカウントの識別番号を参照して、仮想PCソフトウェア2が管理するアカウント表中のこの識別番号に一致する行(アカウントの識別番号、通信を許可する仮想PC名)を取得し、この行に記述される仮想PC名を抽出する。なお、このとき、(仮想PC名、ネットワークアダプタ)を後の処理で使用される一時的なリストに追加する。
 抽出された仮想PC名がフィルタ部8が担当する仮想PCの名称に一致した場合、対応する仮想PCが通信許可の状態にあることをフィルタ部8は知り、フィルタ部8は、パケットを送信した仮想PCの特定処理や、ラベルの貼り付け処理を行なう。
 一方、抽出された仮想PC名がフィルタ部8が担当する仮想PCの名称に一致しない場合、フィルタ部8は処理対象とするファイルを一覧中の次のファイルに変更し、上記仮想PC名の抽出から繰り返す。
 一覧の最後に達し、処理対象とするファイルがなくなった場合、フィルタ部8は社外用仮想PC4から受信したパケットを破棄する。
 上記処理を実行した場合、具体的には、次のようになる。すなわち、フィルタ部8は、所定のファイル32のデータ中のアカウントの識別番号(この場合、「3」)を参照して、仮想PCソフトウェア2が管理するアカウント表27中のこの識別番号に一致する行を取得し、この行に記述される仮想PC名として、社外用仮想PCを抽出する。
 抽出された仮想PC名が、フィルタ部8が担当する仮想PCの名称に一致した場合、フィルタ部8は、パケットに含まれる送信元アドレスを参照し、この送信元アドレスからパケットを送信した仮想PC(この場合、社外用仮想PC4)を割り出す。
 割り出された送信元の仮想PC名が自分が担当する仮想PCの名称に一致しなかった場合、フィルタ部8は、受信したパケットを破棄する。
 割り出された送信元の仮想PC名が自分が担当する仮想PCの名称に一致した場合、フィルタ部8は作成した一時的なリストを参照して、フィルタ部8が担当する仮想PCに対応するネットワークアダプタを取得する。そして、ルーティングテーブルなどを参照して、受信したパケットが、取得したネットワークアダプタに対応するネットワーク上に送出されるかどうかを判定する。
 対応するネットワーク上に受信したパケットが送出されないと判定された場合、フィルタ部8は、受信したパケットを破棄する。
 対応するネットワーク上に受信したパケットが送出されると判定された場合、フィルタ部8は、「社外用」ラベルおよび変換対象となるアドレスが送信先アドレスであることを示す「送信先」ラベルをパケットに補足データとして追加して、NAT部6に送出する。
 NAT部6は、パケットの補足データを参照して、パケットに含まれる送信元アドレスを社外用仮想PC4のものからPC1のものに変換して、ルーティングテーブルなどを参照して、変換結果のパケットをフィルタ部9および7に送出する。
 変換結果のパケットを受信したフィルタ部9では、そのパケットに補足データが追加されているかどうかを判定する。補足データが追加されていれば、フィルタ部9は、その補足データの内容が「社外用」であるかどうかを判定する。
 補足データの内容が「社外用」でない場合、フィルタ部9は、受信したパケットを破棄する。
 補足データの内容が「社外用」である場合、フィルタ部9は、補足データのみを受信したパケットから破棄して残りの部分をLAN15上に送出する。
 一方、変換結果のパケットを受信したフィルタ部7では、そのパケットの補足データの内容が「社外用」であり、「社内用」ではないので、その受信したパケットを破棄する。
 図10で送信したパケットに対して応答があった場合について図11を参照して説明する。
 図11において、図10で送信したパケットに対する応答パケットを受信したフィルタ部9では、そのパケットに補足データが追加されているかどうかを判定する。
 パケットに補足データが追加されていない場合、フィルタ部9は、仮想PCソフトウェア2が管理する、インストールされているすべてのユーザ認証ソフトウェアに対するログイン結果の出力先ファイルの一覧を参照して、そのファイル一覧中に存在しているファイルに対し以下の処理を行なう。
 すなわち、現在のファイルのデータ(アカウントの識別番号、ネットワークアダプタ)中のアカウントの識別番号を参照して、仮想PCソフトウェア2が管理するアカウント表中のこの識別番号に一致する行(アカウントの識別番号、通信を許可する仮想PC名)を取得し、この行に記述される仮想PC名を抽出する。なお、このとき、(仮想PC名、ネットワークアダプタ)を後の処理で使用される一時的なリストに追加する。
 抽出された仮想PC名がフィルタ部9が担当する仮想PCの名称に一致した場合、対応する仮想PCが通信許可の状態にあることをフィルタ部9は知り、フィルタ部9は、パケットを受信する仮想PCの特定処理や、ラベルの貼り付け処理を行なう。
 一方、抽出された仮想PC名がフィルタ部9が担当する仮想PCの名称に一致しない場合、処理対象とするファイルを一覧中の次のファイルに変更し、上記仮想PC名の抽出から繰り返す。
 一覧の最後に達し、処理対象とするファイルがなくなった場合、フィルタ部9は受信したパケットを破棄する。
 上記処理を実行した場合、具体的には、次のようになる。すなわち、フィルタ部9は、所定のファイル32のデータ中のアカウントの識別番号(この場合、「3」)を参照して、仮想PCソフトウェア2が管理するアカウント表27中のこの識別番号に一致する行を取得し、この行に記述される仮想PC名として、社外用仮想PCを抽出する。
 抽出された仮想PC名がフィルタ部9が担当する仮想PCの名称に一致した場合、フィルタ部9は、PC1が保持する送信履歴情報やNAT部6が管理するルーティングテーブルを参照して、受信したパケットの送信先を割り出す。
 割り出された送信先の仮想PC名が自分が担当する仮想PCの名称に一致しなかった場合、フィルタ部9は、受信したパケットを破棄する。
 割り出された送信先の仮想PC名が自分が担当する仮想PCの名称に一致した場合、フィルタ部9は作成した一時的なリストを参照して、フィルタ部9が担当する仮想PCに対応するネットワークアダプタを取得する。そして、ルーティングテーブルなどを参照して、受信したパケットが、取得したネットワークアダプタに対応するネットワーク上を通ってきたかどうかを判定する。
 受信したパケットが対応するネットワーク上を通っていないと判定された場合、フィルタ部9は、受信したパケットを破棄する。
 一方、受信したパケットが対応するネットワーク上を通ってきたと判定された場合、フィルタ部9は、「社外用」ラベル、変換対象となるアドレスが送信先アドレスであることを示す「送信先」ラベル、および割り出された送信先をパケットに補足データとして追加して、NAT部6に送出する。
 NAT部6は、受信したパケット中の補足データを参照して、受信したパケットの送信先アドレスをPC1のものから社外用仮想PC4のものに変換して、変換結果のパケットをフィルタ部8および5に送出する。
 変換結果のパケットを受信したフィルタ部8では、そのパケットに補足データが追加されているかどうかを判定する。補足データが追加されていれば、フィルタ部8は、その補足データの内容が「社外用」であるかどうかを判定する。
 補足データの内容が「社外用」でない場合、フィルタ部8は、受信したパケットを破棄する。
 補足データの内容が「社外用」である場合、フィルタ部8は、補足データのみを受信したパケットから破棄して残りの部分を社外用仮想PC4に送出する。
 一方、変換結果のパケットを受信したフィルタ部5では、そのパケットの補足データの内容が「社外用」であり、「社内用」ではないので、その受信したパケットを破棄する。
 図12および図13は、社内用仮想PC3と外部との通信が許可された場合の各フィルタ部およびNAT部6の動作を示す図である。
 ここで、「社内用仮想PC3と外部との通信が許可された」とは、社内用仮想PC3と外部との通信が許可されたことに対応するデータが仮想PCソフトウェア2が管理するログイン結果の出力先ファイル一覧中のいずれかのファイルに書き込まれたか、または、対応するデータの通知を仮想PCソフトウェア2がいずれかのユーザ認証ソフトウェアから受けたかしたことを意味する。
 例えば、VPNクライアント21を使用して、社外の、駅内のアクセスポイント近くの所定の場所からログインした場合、ファイル(不図示)には、「アカウントの識別番号=3、ネットワークアダプタ=VPN」というデータが書き込まれる。
 この場合、図12において、社内用仮想PC3から送信されたパケットをフィルタ部5が受信すると、フィルタ部5は、そのパケットに補足データが追加されているかどうかを判定する。パケットに補足データが追加されていない場合、フィルタ部5は、仮想PCソフトウェア2が管理する、インストールされているすべてのユーザ認証ソフトウェアに対するログイン結果の出力先ファイルの一覧を参照して、そのファイル一覧中の存在しているファイルに対し以下の処理を行なう。
 すなわち、現在のファイルのデータ(アカウントの識別番号、ネットワークアダプタ)中のアカウントの識別番号を参照して、仮想PCソフトウェア2が管理するアカウント表中のこの識別番号に一致する行(アカウントの識別番号、通信を許可する仮想PC名)を取得し、この行に記述される仮想PC名を抽出する。なお、このとき、(仮想PC名、ネットワークアダプタ)を後の処理で使用される一時的なリストに追加する。
 抽出された仮想PC名が、フィルタ部5が担当する仮想PCの名称に一致した場合、対応する仮想PCが通信許可の状態にあることをフィルタ部5は知り、フィルタ部5は、パケットを送信した仮想PCの特定処理や、ラベルの貼り付け処理を行なう。
 一方、抽出された仮想PC名が、フィルタ部5が担当する仮想PCの名称に一致しない場合、処理対象とするファイルを一覧中の次のファイルに変更し、上記仮想PC名の抽出から繰り返す。
 一覧の最後に達し、処理対象とするファイルがなくなった場合、受信したパケットを破棄する。
 上記処理を実行した場合、具体的には、次のようになる。すなわち、フィルタ部5は、所定のファイル(不図示)のデータ中のアカウントの識別番号(この場合、「1」)を参照して、仮想PCソフトウェア2が管理するアカウント表(不図示)中のこの識別番号に一致する行を取得し、この行に記述される仮想PC名として、例えば社外用仮想PCを抽出する。
 抽出された仮想PC名が、フィルタ部5が担当する仮想PCの名称に一致した場合、フィルタ部5は、パケットに含まれる送信元アドレスを参照し、この送信元アドレスからパケットを送信した仮想PC(この場合、社内用仮想PC3)を割り出す。
 割り出された送信元の仮想PC名が自分が担当する仮想PCの名称に一致しなかった場合、フィルタ部5は、受信したパケットを破棄する。
 割り出された送信元の仮想PC名が自分が担当する仮想PCの名称に一致した場合、作成した一時的なリストを参照して、フィルタ部5が担当する仮想PCに対応するネットワークアダプタを取得する。そして、ルーティングテーブルなどを参照して、受信したパケットが、取得したネットワークアダプタに対応するネットワーク上に送出されるかどうかを判定する。
 対応するネットワーク上に送出されないと判定された場合、フィルタ部5は、受信したパケットを破棄する。
 対応するネットワーク上に送出されると判定された場合、フィルタ部5は、「社内用」ラベルおよび変換対象となるアドレスが送信元アドレスであることを示す「送信元」ラベルをパケットに補足データとして追加して、NAT部6に送出する。
 NAT部6は、パケットの補足データを参照して、パケットに含まれる送信元アドレスを社内用仮想PC3のものからPC1のものに変換して、変換結果のパケットをフィルタ部7および9に送出する。
 変換結果のパケットを受信したフィルタ部7では、そのパケットに補足データが追加されているかどうかを判定する。補足データが追加されていれば、フィルタ部7は、その補足データの内容が「社内用」であるかどうかを判定する。
 補足データの内容が「社内用」でない場合、フィルタ部7は、受信したパケットを破棄する。
 補足データの内容が「社内用」である場合、フィルタ部7は、補足データのみを受信したパケットから破棄して残りの部分を暗号通信パス16上に送出する。
 一方、変換結果のパケットを受信したフィルタ部9では、そのパケットの補足データの内容が「社内用」であり、「社外用」ではないので、その受信したパケットを破棄する。
 図12で送信したパケットに対して応答があった場合について図13を参照して説明する。
 図13において、図12で送信したパケットに対する応答パケットを受信したフィルタ部7では、そのパケットに補足データが追加されているかどうかを判定する。
 パケットに補足データが追加されていない場合、フィルタ部7は、仮想PCソフトウェア2が管理する、インストールされているすべてのユーザ認証ソフトウェアに対するログイン結果の出力先ファイルの一覧を参照して、そのファイル一覧中に存在しているファイルに対し以下の処理を行なう。
 すなわち、現在のファイルのデータ(アカウントの識別番号、ネットワークアダプタ)中のアカウントの識別番号を参照して、仮想PCソフトウェア2が管理するアカウント表中のこの識別番号に一致する行(アカウントの識別番号、通信を許可する仮想PC名)を取得し、この行に記述される仮想PC名を抽出する。なお、このとき、(仮想PC名、ネットワークアダプタ)を後の処理で使用される一時的なリストに追加する。
 抽出された仮想PC名が、フィルタ部7が担当する仮想PCの名称に一致した場合、対応する仮想PCが通信許可の状態にあることをフィルタ部7は知り、フィルタ部7は、パケットを受信する仮想PCの特定処理や、ラベルの貼り付け処理を行なう。
 一方、抽出された仮想PC名が、フィルタ部7が担当する仮想PCの名称に一致しない場合、処理対象とするファイルを一覧中の次のファイルに変更し、上記仮想PC名の抽出から繰り返す。
 一覧の最後に達し、処理対象とするファイルがなくなった場合、受信したパケットを破棄する。
 上記処理を実行した場合、具体的には、次のようになる。すなわち、フィルタ部7は、所定のファイル(不図示)のデータ中のアカウントの識別番号(この場合、「1」)を参照して、仮想PCソフトウェア2が管理するアカウント表(不図示)中のこの識別番号に一致する行を取得し、この行に記述される仮想PC名として、社内用仮想PCを抽出する。
 抽出された仮想PC名が、フィルタ部7が担当する仮想PCの名称に一致した場合、フィルタ部7は、PC1が保持する送信履歴情報(不図示)やNAT部6が管理するルーティングテーブル(不図示)を参照して、受信したパケットの送信先を割り出す。
 割り出された送信先の仮想PC名が自分が担当する仮想PCの名称に一致しなかった場合、フィルタ部7は、受信したパケットを破棄する。
 割り出された送信先の仮想PC名が自分が担当する仮想PCの名称に一致した場合、作成した一時的なリストを参照して、フィルタ部7が担当する仮想PCに対応するネットワークアダプタを取得する。そして、ルーティングテーブルなどを参照して、受信したパケットが、取得したネットワークアダプタに対応するネットワーク上を通ってきたかどうかを判定する。
 対応するネットワーク上に通っていないと判定された場合、フィルタ部7は、受信したパケットを破棄する。
 対応するネットワーク上に通ってきたと判定された場合、フィルタ部7は、「社内用」ラベル、変換対象となるアドレスが送信先アドレスであることを示す「送信先」ラベル、および割り出された送信先をパケットに補足データとして追加して、NAT部6に送出する。
 NAT部6は、受信したパケット中の補足データを参照して、受信したパケットの送信先アドレスをPC1のものから社内用仮想PC3のものに変換して、変換結果のパケットをフィルタ部5および8に送出する。
 変換結果のパケットを受信したフィルタ部5では、そのパケットに補足データが追加されているかどうかを判定する。補足データが追加されていれば、フィルタ部5は、その補足データの内容が「社内用」であるかどうかを判定する。
 補足データの内容が「社内用」でない場合、フィルタ部5は、受信したパケットを破棄する。
 補足データの内容が「社内用」である場合、フィルタ部5は、補足データのみを受信したパケットから破棄して残りの部分を社内用仮想PC3に送出する。
 一方、変換結果のパケットを受信したフィルタ部8では、そのパケットの補足データの内容が「社内用」であり、「社外用」ではないので、その受信したパケットを破棄する。
 続いて、図1のPCの動作について図14~図17を参照して説明する。
 図14は、図1のPC1をユーザが社内で利用している状態を示している。
 この場合、ユーザ認証前の状態では、外部接続可能なPC1は、社内に設置される802.1X認証HUB35によりまだ認証されていないため、LAN外とは通信できない。また、社内用仮想PC3および社外用仮想PC4はいずれも外部との通信が許可されていない。
 802.1Xクライアント22により手動でまたは自動で802.1X認証処理が行われる。認証に成功すると、PC1は802.1X認証HUB31により通信が許可される。
 802.1X認証に成功すると、802.1Xクライアント22から、認証されたアカウントの識別番号とネットワークアダプタの組が所定のファイルに出力される。このファイルに出力された情報が、NAT部6の動作モードを決めることになる。ここでは、社内用仮想PC3に通信許可を与え、社外用仮想PC4に通信許可を与えない動作モードでNAT部6は動作する。
 このとき、上記したように、社内用仮想PC3と外部との通信時には、仮想PCソフトウェア2に含まれるNAT機能によってアドレス変換され、認証HUBやサーバなどの外部からは本体PC1との通信として認識される。これにより、機密情報を含む社内用仮想PC3は外部サーバと通信可能となる。
 これに対し、ウィルスを含むかも知れない社外用仮想PC4は外部と通信できない。これにより、社外用仮想PC4の内部に潜んでいるかも知れないウィルスは本体PC1やネットワーク外に攻撃を仕掛けることができなくなる。
 図15は、図1のPC1をユーザが社外で利用している状態(その1)を示している。
 この場合、認証前の状態では、外部接続可能なPC1は、公衆LAN内の認証HUB31によりまだ認証されていないため、外部とは通信できない。また、社内用仮想PC3および社外用仮想PC4はいずれも外部との通信が許可されていない。
 802.1Xクライアント22により手動でまたは自動で802.1X認証処理が行われる。この場合、認証HUB35は、802.1X認証に対応しているため、認証に成功するものと仮定する。認証に成功すると、PC1は認証HUB31により通信が許可される。
 802.1X認証に成功すると、802.1Xクライアント22からアカウントの識別番号とネットワークアダプタの組が所定のファイルに出力される。この所定のファイルに出力された情報が、事実上、NAT部6の動作モードを決めることになる。ここでは、社外用仮想PC4に通信許可を与え、社内用仮想PC3に通信許可を与えていないような動作モードでNAT部6は動作する。
 このとき、上記したように、社外用仮想PC4と外部との通信は、仮想PCソフトウェア2に含まれるNAT機能によってアドレス変換され、外部(認証HUBやサーバ)からは本体PC1との通信として認識される。これにより、公衆LANを通過して、社外用仮想PC4は外部サーバと通信可能となる。
 これにより、ウィルスなどから攻撃を受けたり、ウィルスに感染したりする危険が生じるが、社内LANの制約を受けずに通信が可能となる。また、機密情報を持つ社内用仮想PC3は、外部との通信ができないままなので、社内用仮想PC3からの機密情報の漏洩や、社内用仮想PC3に対するウィルスなどからの攻撃を防ぐことができる。
 図16は、図1のPC1をユーザが社外で利用している状態(その2)を示している。
 この場合、認証前の事前状態では、外部接続可能なPC1は、公衆LAN内の認証HUB36によりまだ認証されていないため、外部とは通信できない。また、社内用仮想PC3および社外用仮想PC4はいずれも外部との通信が許可されていない。
 802.1Xクライアント22により手動でまたは自動で802.1X認証処理が行われる。この場合、認証HUB36は、802.1X認証に対応していないため、認証に失敗するものと仮定する。認証に失敗しても、PC1からは、パケットの送信を依然として行なうことができる。
 802.1X認証に失敗すると、802.1Xクライアント22から失敗したことを示す情報とネットワークアダプタ(値は常に「LAN」に設定される)の組が所定のファイルに出力される。この所定のファイルに出力された情報が、事実上、NAT部6の動作モードを決めることになる。ここでは、認証に失敗した場合には、社外用仮想PC4に通信許可を与え、社内用仮想PC3に通信許可を与えていないような動作モードでNAT部6が動作するように制御される。
 このとき、上記したように、社外用仮想PC4と外部との通信は、仮想PCソフトウェア2に含まれるNAT機能によってアドレス変換され、認証HUBやサーバなどの外部からは本体PC1との通信として認識される。これにより、公衆LANを通過して、社外用仮想PC4は外部サーバと通信可能となる。
 これにより、ウィルスなどから攻撃を受けたり、ウィルスに感染したりする危険が生じるが、社内LANの制約を受けずに通信が可能となる。また、機密情報を持つ社内用仮想PC3は、外部との通信ができないままなので、社内用仮想PC3からの機密情報の漏洩や、社内用仮想PC3に対するウィルスなどからの攻撃を防ぐことができる。
 図17は、図1のPC1をユーザが社外で利用している状態(その3)を示している。
 図15または図16における認証処理後の状態、もしくは、図16における事前状態が、この図17における事前状態となっている。
 図15または図16における認証処理後の状態であれば、社外用仮想PC4はインターネットを介した通信が許可され、社内用仮想PC3はインターネットを介した通信が許可されていない。また、図16における事前状態であれば、社外用仮想PC4および社内用仮想PC3は共にインターネットを介した通信が許可されていない。いずれの場合も、社内用仮想PC3はインターネットを介した通信が許可されていない。
 VPNクライアント21によりVPNアクセスポイント17に接続し、VPN認証処理が行われる。VPN認証に成功すると、VPNクライアント21とVPNアクセスポイント17との間で暗号化された暗号通信パス16が確立される。
 VPN認証に成功すると、VPNクライアント21からアカウントの識別番号とネットワークアダプタの組が所定のファイルに出力される。この所定のファイルに出力された情報が、事実上、NAT部6の動作モードを決めることになる。ここでは、少なくとも社内用仮想PC3には暗号通信パス16を通した通信許可が与えられるような動作モードでNAT部6は動作する。社外用仮想PC4については、インターネットを介した通信が許可されたままであるか、または、外部との通信が許可されていないままである。いずれにしても、社外用仮想PC4向けのNATについての動作モードの変更はここでは行わない。
 このとき、上記したように、社内用仮想PC3と外部との通信は、仮想PCソフトウェア2に含まれるNAT機能によってアドレス変換された上で、VPNクライアント21によりパケットごとに暗号化されてVPNアクセスポイント17に送信される。このため、VPNアクセスポイント17で復号された際には本体PC1との通信として認識される。これにより、VPNアクセスポイント17を通過し、社内サーバと通信可能となる。
 機密情報を持つ社内用仮想PC3は、このように、暗号化されたパス16を通じた社内へのアクセスのみが可能となる。よって、機密情報がインターネット上を流れる際は、常に暗号化された状態で流れることになり、機密情報の漏洩や改ざんは困難となる。
 社外用仮想PC4については、例えば、図15または図16における認証処理後の状態であれば、インターネットを介した通信が許可されているが、社外用仮想PC4の中に潜むかも知れないウィルスは、暗号化されたパス16内には流れないため、暗号化されたパス16、社内用仮想PC3、社内のシステムは、そのウィルスによる攻撃の影響を受けずに済み、保護される。
 続いて、図1のPC1を第二の利用形態について図18および図19を参照して説明する。
 図18および図19では、PCの起動時にスタートアップ画面(コンソール)からユーザがアカウント、パスワードを入力する場合を想定している。
 この場合、社内でPC1をネットワークにつなぐときは、ユーザはPC1に対し、社内向けのアカウント(例えば、“user1-intra”)でログインし、また、社外でPC1をネットワークにつなぐときは、ユーザはPC1に対し、社外向けのアカウント(例えば、“user1-outer”)でログインするものとする。
 図18は、図1のPC1をユーザが第二の利用形態において社内で利用している状態を示している。
 この場合、事前状態では、外部接続可能なPC1は、社内LANに接続されていて、起動されていない状態である。また、社内用仮想PC3および社外用仮想PC4はいずれも外部との通信が許可されていない。
 PCの起動時にスタートアップ画面から、ユーザは、社内LANアクセス用のアカウントでログインする。ここでは、“user1-intra”というIDでログインする。
 PC1またはスタートアップ画面の表示処理を一部の機能としてもつホストOSは、ログインしたアカウントと、そのアカウントを識別する識別番号とを対応付けた対応表(不図示)を管理し、その対応表に基づいて、ログイン処理時に、識別番号およびネットワークアダプタ(この場合、値は常に「LAN」に設定される)を所定のファイルに出力する。この所定のファイルに出力された情報が、事実上、NAT部6の動作モードを決めることになる。ここでは、社内用仮想PC3に通信許可を与え、社外用仮想PC4に通信許可を与えていないような動作モードでNAT部6は動作する。
 このとき、上記したように、社内用仮想PC3と外部との通信は、仮想PCソフトウェア2に含まれるNAT機能によってアドレス変換され、認証HUBやサーバなどの外部からは本体PC1との通信として認識される。これにより、社内用仮想PC3は外部サーバと通信可能となる。
 ウィルスを含むかも知れない社外用仮想PC4は、外部と通信できないままであり、社外用仮想PC4に潜んでいるかも知れないウィルスは、本体PC1やネットワーク外に攻撃を仕掛けることができなくなる。
 図19は、図1のPC1をユーザが第二の利用形態において社外で利用している状態を示している。
 この場合、事前状態では、外部接続可能なPC1は、公衆LANに接続されていて、起動されていない状態である。また、社内用仮想PC3および社外用仮想PC4はいずれも外部との通信が許可されていない。
 PCの起動時にスタートアップ画面から、ユーザは、公衆LANアクセス用のアカウントでログインする。ここでは、“user1-outer”というIDでログインする。
 PC1またはスタートアップ画面の表示処理を一部の機能としてもつホストOSは、ログインしたアカウントと、そのアカウントを識別する識別番号とを対応付けた対応表(不図示)を管理し、その対応表に基づいて、ログイン処理時に、識別番号およびネットワークアダプタ(この場合、値は常に「LAN」に設定される)を所定のファイルに出力する。この所定のファイルに出力された情報が、事実上、NAT部6の動作モードを決めることになる。ここでは、社外用仮想PC4に通信許可を与え、社内用仮想PC3に通信許可を与えていないような動作モードでNAT部6は動作する。なお、図19では、PC1から、近くの認証HUB38との間でユーザ認証処理は行わないが、ユーザ認証処理を行なうかどうかに関わりなく、PC1からは、パケットの送信を依然として行なうことができる。
 このとき、上記したように、社外用仮想PC4と外部との通信は、仮想PCソフトウェア2に含まれるNAT機能によってアドレス変換され、認証HUBやサーバなどの外部からは本体PC1との通信として認識される。これにより、社外用仮想PC4は外部サーバと通信可能となる。
 機密情報を含む社内用仮想PC3は、外部と通信できないままなので、社内用仮想PC3からの機密情報の漏洩や、社内用仮想PC3に対するウィルスなどからの攻撃を防ぐことができる。
 続いて、図1のPC1を第三の利用形態について図20および図21を参照して説明する。
 図20および図21では、社内サーバへのログインクライアント41を用いて、社内サーバ39へログインする場合を想定している。
 図20は、図1のPC1をユーザが第三の利用形態において社内で利用している状態を示している。
 この場合、事前状態では、外部接続可能なPC1は、社内LANに接続されている状態である。また、社内用仮想PC3および社外用仮想PC4はいずれも外部との通信が許可されていない。
 社内サーバへのログインクライアント41により手動または自動で社内サーバ39へのログイン処理が行われる。
 ログインに成功すると、社内サーバへのログインクライアント41は、ログインしたアカウントの識別番号およびネットワークアダプタを所定のファイルに出力する。この所定のファイルに出力された情報が、事実上、NAT部6の動作モードを決めることになる。ここでは、社内用仮想PC3に通信許可を与え、社外用仮想PC4に通信許可を与えていないような動作モードでNAT部6は動作する。
 このとき、上記したように、社内用仮想PC3と外部との通信は、仮想PCソフトウェア2に含まれるNAT機能によってアドレス変換され、認証HUBやサーバなどの外部からは本体PC1との通信として認識される。これにより、社内用仮想PC3は外部サーバと通信可能となる。
 ウィルスを含むかも知れない社外用仮想PC4は、外部と通信できないままであり、社外用仮想PC4に潜んでいるかも知れないウィルスは、本体PC1やネットワーク外に攻撃を仕掛けることができなくなる。
 図21は、図1のPC1をユーザが第三の利用形態において社外で利用している状態を示している。
 この場合、事前状態では、外部接続可能なPC1は、公衆LANに接続されている状態である。また、社内用仮想PC3および社外用仮想PC4はいずれも外部との通信が許可されていない。
 社内サーバへのログインクライアント41により、ユーザは手動または自動で社内サーバ39へのログイン処理を試みる。しかし、PC1は社内サーバに接続されておらず、ログインクライアント41がログインする相手がいないため、ログイン処理は失敗する。もしくは、ユーザによりログイン処理が中止される。しかし、ログイン処理に失敗しても、PC1からはパケットの送信を依然として行なうことができる。
 ログイン処理に失敗すると、社内サーバへログインを行なうログインクライアント41は、ログインに失敗したことを示す情報およびネットワークアダプタ(値は常に「LAN」に設定される)を所定のファイルに出力する。このファイルに出力された情報が、事実上、NAT部6の動作モードを決めることになる。ここでは、ログイン処理に失敗した場合、社外用仮想PC4に通信許可を与え、社内用仮想PC3に通信許可を与えないような動作モードでNAT部6を動作させるように制御する。
 このとき、上記したように、社外用仮想PC4と外部との通信は、仮想PCソフトウェア2に含まれるNAT機能によってアドレス変換され、認証HUBやサーバからは本体PC1との通信として認識される。これにより、社外用仮想PC4は外部サーバと通信可能となる。
 機密情報を含む社内用仮想PC3は、外部と通信できないままなので、社内用仮想PC3からの機密情報の漏洩や、社内用仮想PC3に対するウィルスなどからの攻撃を防ぐことができる。
 なお、新たに仮想PCに外部との通信を許可する場合は、その仮想PCと同じネットワークアダプタを使用して外部と通信可能な他の仮想PCのネットワーク・アクセスを止めることが好ましい。
 このようなアクセス制御を行うことで、1つの仮想PCに出入りするデータの通るパスと、他の仮想PCに出入りするデータの通るパスとが交わることがなくなる。よって、例えば、1つの仮想PCにウィルスが侵入した場合でも、ウィルスの感染を、その仮想PCにとどまらせることができ、他の仮想PC、PC本体、仮想マシン実行プログラムにはウィルスが伝染しないようにでき、PC本体のセキュリティレベルを向上させることができる。
 図22は、本実施例による処理を実行するプログラムを記憶するための記憶媒体例を示す図である。
 本実施例の処理のためのプログラムやデータは、コンピュータ50の記憶装置51からコンピュータ50のメモリにロードして実行することも、可搬型記憶媒体53からコンピュータ50のメモリにロードして実行することも、また、外部記憶装置54からネットワーク55を介してコンピュータ50のメモリにロードして実行することも可能である。

Claims (16)

  1.  物理マシンとしての情報処理装置上で、1つまたは複数の仮想マシンを実行する処理を該情報処理装置に実行させる仮想マシン実行プログラムにおいて、
     ログインしたアカウントの識別番号を取得するステップと、
     第一記憶部に記憶された、アカウントの識別番号と、通信を許可する仮想マシンとを対応付けた情報を用いて、取得したアカウントの識別番号に対応する仮想マシンを取得するステップと、
     いずれかの仮想マシンからネットワーク上に送出されるデータに対し、データの送信元の仮想マシンが、取得した仮想マシンに一致するかどうかを判定する第一判定ステップと、
     前記第一判定ステップにおいて一致すると判定された場合、ネットワーク上に送出されるデータをスルーさせ、一致しないと判定された場合、ネットワーク上に送出されるデータを破棄するフィルタ処理ステップと、
      を前記情報処理装置に実行させることを特徴とする仮想マシン実行プログラム。
  2.  前記ネットワーク上にスルーさせて送出されるデータに対して、送信元アドレスを仮想マシンのものから物理マシンのものへと変換するステップ、をさらに備えることを特徴とする請求項1記載の仮想マシン実行プログラム。
  3.  ユーザ認証の処理結果として、ログインしたアカウントの識別番号の他に、ネットワークアダプタをさらに取得または受信し、
     前記第一判定ステップにおいて一致すると判定された場合、取得または受信したネットワークアダプタおよびルーティング情報を用いて、データの送出先のネットワークは、取得または受信したネットワークアダプタに対応するネットワークであるかどうかを判定する第三判定ステップと、
     第三判定ステップにおいて対応するネットワーク上に送出されると判定されたデータはスルーさせ、対応するネットワーク上に送出されないと判定されたデータは破棄するフィルタ処理ステップと、
     を備える、ことを特徴とする請求項1記載の仮想マシン実行プログラム。
  4.  前記対応するネットワーク上にスルーさせて送出されるデータに対して、送信元アドレスを仮想マシンのものから物理マシンのものへと変換するステップ、をさらに備えることを特徴とする請求項3記載の仮想マシン実行プログラム。
  5.  物理マシンとしての情報処理装置上で、1つまたは複数の仮想マシンを実行する処理を該情報処理装置に実行させる仮想マシン実行プログラムにおいて、
     ログインしたアカウントの識別番号を取得するステップと、
     第一記憶部に記憶された、アカウントの識別番号と、通信を許可する仮想マシンとを対応付けた情報を用いて、取得したアカウントの識別番号に対応する仮想マシンを取得するステップと、
     ネットワークを通ってきていずれかの仮想マシンに送出されるデータに対し、データの送信先の仮想マシンが、取得した仮想マシンに一致するかどうかを判定する第二判定ステップと、
     前記第二判定ステップにおいて一致すると判定された場合、送信先の仮想マシンに送出されるデータをスルーさせ、一致しないと判定された場合、送信先の仮想マシンに送出されるデータを破棄するフィルタ処理ステップと、
     を前記情報処理装置に実行させることを特徴とする仮想マシン実行プログラム。
  6.  前記ネットワークを通って送信先の仮想マシンにスルーさせて送出されるデータに対して、送信先アドレスを物理マシンのものから仮想マシンのものへと変換するステップ、
     をさらに備えることを特徴とする請求項5記載の仮想マシン実行プログラム。
  7.  ユーザ認証の処理結果として、ログインしたアカウントの識別番号の他に、ネットワークアダプタをさらに取得または受信し、
     前記第二判定ステップにおいて一致すると判定された場合、取得したネットワークアダプタおよびルーティング情報を用いて、データが通ってきたネットワークは、取得ネットワークアダプタに対応するネットワークであるかどうかを判定する第四判定ステップと、
     第四判定ステップにおいて対応するネットワークを通ってきたと判定されたデータはスルーさせ、対応するネットワークを通って来なかったと判定されたデータは破棄するフィルタ処理ステップと、
     を備える、ことを特徴とする請求項5記載の仮想マシン実行プログラム。
  8.  前記対応するネットワークを通ってきて送信先の仮想マシンにスルーさせて送出されるデータに対して、送信先アドレスを物理マシンのものから仮想マシンのものへと変換するステップ、をさらに備えることを特徴とする請求項7記載の仮想マシン実行プログラム。
  9.  管理するデータに要求されるセキュリティレベルに応じて、複数の仮想マシンが設けられることを特徴とする請求項1または5記載の仮想マシン実行プログラム。
  10.  ユーザ認証の処理結果として、ログインしたアカウントとネットワークアダプタを予め定められたファイルに出力するか、または、請求項1記載の仮想マシン実行プログラムに通知する処理を情報処理装置に実行させることを特徴とするユーザ認証プログラム。
  11.  1つまたは複数の仮想マシンが実行される物理マシンとしての情報処理装置において、
     ユーザ認証を行い、ログインしたアカウントの識別番号を出力するユーザ認証処理部と、
     アカウントの識別番号と、通信を許可する仮想マシンとを対応付けた情報を格納する第一記憶部と、
     前記第一記憶部に格納された情報を用いて、通知されたアカウントの識別番号に対応する仮想マシンを取得するステップと、
     いずれかの仮想マシンからネットワーク上に送出されるデータに対し、データの送信元の仮想マシンが、前記第一記憶部に格納された情報から取得した仮想マシンに一致するかどうかを判定する第一判定部と、
     前記第一判定部において仮想マシンが一致すると判定された場合、ネットワーク上に送出されるデータをスルーさせ、仮想マシンが一致しないと判定された場合、ネットワーク上に送出されるデータを破棄する第一フィルタ処理部と、
     ネットワークを通ってきていずれかの仮想マシンに送出されるデータに対し、データの送信先の仮想マシンが、前記第一記憶部に格納された情報から取得した仮想マシンに一致するかどうかを判定する第二判定部と、
     前記第二判定部において仮想マシンが一致すると判定された場合、送信先の仮想マシンに送出されるデータをスルーさせ、仮想マシンが一致しないと判定された場合、送信先の仮想マシンに送出されるデータを破棄する第二フィルタ処理部と、を備えることを特徴とする情報処理装置。
  12.  前記ネットワーク上にスルーさせて送出されるデータに対して、仮想マシンの送信元アドレスを物理マシンの送信元アドレスへと変換するとともに、前記ネットワークを通って送信先の仮想マシンにスルーさせて送出されるデータに対して、物理マシンの送信先アドレスから仮想マシンの送信先アドレスへと変換するアドレス変換部、をさらに備えることを特徴とする請求項11記載の情報処理装置。
  13.  前記ユーザ認証処理部は、ログインしたアカウントの識別番号の他に、ネットワークアダプタを識別する情報をさらに出力し、
     前記第一判定部において仮想マシンが一致すると判定された場合、取得したネットワークアダプタおよびルーティング情報を用いて、データの送出先のネットワークは、通知されたネットワークアダプタに対応するネットワークであるかどうかを判定する第三判定部と、
     第三判定部において対応するネットワーク上に送出されると判定されたデータはスルーさせ、対応するネットワーク上に送出されないと判定されたデータは破棄する第三フィルタ処理部と、
     前記第二判定部において一致すると判定された場合、取得または受信したネットワークアダプタおよびルーティング情報を用いて、データが通ってきたネットワークは、通知されたネットワークアダプタに対応するネットワークであるかどうかを判定する第四判定部と、
     第四判定部において対応するネットワークを通ってきたと判定されたデータはスルーさせ、対応するネットワークを通って来なかったと判定されたデータは破棄する第四フィルタ処理部と、
     を備える、ことを特徴とする請求項11記載の情報処理装置。
  14.  前記対応するネットワーク上にスルーさせて送出されるデータに対して、送信元アドレスを仮想マシンのものから物理マシンのものへと変換するとともに、
     前記対応するネットワークを通ってきて送信先の仮想マシンにスルーさせて送出されるデータに対して、送信先アドレスを物理マシンのものから仮想マシンのものへと変換するアドレス変換部、をさらに備えることを特徴とする請求項13記載の情報処理装置。
  15.  情報処理装置の起動時に、情報処理装置が社内にいるのか社外にいるのかをユーザに選択可能とさせる選択操作部と、
     アカウントと、パスワードと、そのアカウントおよびパスワードの組の識別番号と、そのアカウントが社内用のものか社外用のものかを示す使用場所とを対応付けた第三記憶部と、をさらに備え、
     前記ユーザ認証処理部は、前記操作選択部の選択結果に一致する使用場所を持つ前記第三記憶部のアカウントを次々と試行する、ことを特徴とする請求項11記載の情報処理装置。
  16.  前記情報処理装置は、携帯可能なパーソナルコンピュータであることを特徴とする請求項11記載の情報処理装置。
PCT/JP2008/000009 2008-01-09 2008-01-09 仮想マシン実行プログラム、ユーザ認証プログラムおよび情報処理装置 WO2009087702A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2008/000009 WO2009087702A1 (ja) 2008-01-09 2008-01-09 仮想マシン実行プログラム、ユーザ認証プログラムおよび情報処理装置
JP2009548804A JP5029701B2 (ja) 2008-01-09 2008-01-09 仮想マシン実行プログラム、ユーザ認証プログラムおよび情報処理装置
US12/825,928 US8738896B2 (en) 2008-01-09 2010-06-29 Virtual machine execution program and information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2008/000009 WO2009087702A1 (ja) 2008-01-09 2008-01-09 仮想マシン実行プログラム、ユーザ認証プログラムおよび情報処理装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/825,928 Continuation US8738896B2 (en) 2008-01-09 2010-06-29 Virtual machine execution program and information processing device

Publications (1)

Publication Number Publication Date
WO2009087702A1 true WO2009087702A1 (ja) 2009-07-16

Family

ID=40852828

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2008/000009 WO2009087702A1 (ja) 2008-01-09 2008-01-09 仮想マシン実行プログラム、ユーザ認証プログラムおよび情報処理装置

Country Status (3)

Country Link
US (1) US8738896B2 (ja)
JP (1) JP5029701B2 (ja)
WO (1) WO2009087702A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011034349A (ja) * 2009-07-31 2011-02-17 Nippon Telegr & Teleph Corp <Ntt> 端末保護システム及び端末保護方法
JP2013500531A (ja) * 2009-07-28 2013-01-07 エアバス 異なるセキュリティレベル又は異なる責任限界を必要とする機能を実施する多目的データの自動処理
JP2013522761A (ja) * 2010-03-15 2013-06-13 シマンテック コーポレーション 仮想環境においてネットワークアクセス制御を行うシステムおよび方法

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8429739B2 (en) * 2008-03-31 2013-04-23 Amazon Technologies, Inc. Authorizing communications between computing nodes
US20120317184A1 (en) * 2011-06-07 2012-12-13 Syed Mohammad Amir Husain Zero Client Device With Integrated Global Position System Capability
US8640238B2 (en) * 2011-09-14 2014-01-28 Architecture Technology Corporation Fight-through nodes for survivable computer network
US9094449B2 (en) 2011-09-14 2015-07-28 Architecture Technology Corporation Fight-through nodes for survivable computer network
US9838415B2 (en) 2011-09-14 2017-12-05 Architecture Technology Corporation Fight-through nodes for survivable computer network
US9766986B2 (en) 2013-08-08 2017-09-19 Architecture Technology Corporation Fight-through nodes with disposable virtual machines and rollback of persistent state
US9769250B2 (en) 2013-08-08 2017-09-19 Architecture Technology Corporation Fight-through nodes with disposable virtual machines and rollback of persistent state
US8881136B2 (en) * 2012-03-13 2014-11-04 International Business Machines Corporation Identifying optimal upgrade scenarios in a networked computing environment
US9509601B2 (en) * 2012-11-01 2016-11-29 Cisco Technology, Inc. Device driver for a software router
WO2015063539A1 (en) * 2013-10-28 2015-05-07 Pismo Labs Technology Ltd. Methods and systems for transmitting and receiving data
US9413783B1 (en) * 2014-06-02 2016-08-09 Amazon Technologies, Inc. Network interface with on-board packet processing
US10007498B2 (en) 2015-12-17 2018-06-26 Architecture Technology Corporation Application randomization mechanism
US10284592B1 (en) 2015-12-17 2019-05-07 Architecture Technology Corporation Application randomization mechanism
US10200401B1 (en) 2015-12-17 2019-02-05 Architecture Technology Corporation Evaluating results of multiple virtual machines that use application randomization mechanism
US10200406B1 (en) 2015-12-17 2019-02-05 Architecture Technology Corporation Configuration of application randomization mechanism
US10412114B1 (en) 2015-12-17 2019-09-10 Architecture Technology Corporation Application randomization mechanism
US10412116B1 (en) 2015-12-17 2019-09-10 Architecture Technology Corporation Mechanism for concealing application and operation system identity
US20180088977A1 (en) * 2016-09-28 2018-03-29 Mark Gray Techniques to determine and mitigate latency in virtual environments
JP6852495B2 (ja) * 2017-03-23 2021-03-31 富士通株式会社 アドレス変換装置、情報処理システム及び情報処理システムの制御方法
US10554685B1 (en) 2017-05-25 2020-02-04 Architecture Technology Corporation Self-healing architecture for resilient computing services

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006119754A (ja) * 2004-10-19 2006-05-11 Fujitsu Ltd ネットワーク型ウィルス活動検出プログラム、処理方法およびシステム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003044441A (ja) 2001-07-26 2003-02-14 Japan Science & Technology Corp ネットワーク・アクセス制御管理システム
JP4240929B2 (ja) 2002-07-10 2009-03-18 日本電気株式会社 ファイル管理システムにおけるアクセス制御方式
US7246174B2 (en) * 2003-10-28 2007-07-17 Nacon Consulting, Llc Method and system for accessing and managing virtual machines
US7373451B2 (en) * 2003-12-08 2008-05-13 The Board Of Trustees Of The Leland Stanford Junior University Cache-based system management architecture with virtual appliances, network repositories, and virtual appliance transceivers
US7738457B2 (en) * 2006-12-20 2010-06-15 Oracle America, Inc. Method and system for virtual routing using containers
US7975024B2 (en) * 2007-02-14 2011-07-05 Yakov Nudler Virtual personal computer access over multiple network sites

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006119754A (ja) * 2004-10-19 2006-05-11 Fujitsu Ltd ネットワーク型ウィルス活動検出プログラム、処理方法およびシステム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
TAL GARFINKEL ET AL.: "Terra: a virtual machine-based platform for trusted computing", ACM SIGOPS OPERATING SYSTEMS REVIEW, vol. 37, no. 5, December 2003 (2003-12-01), pages 193 - 206, XP002340992 *
TTS: "Personal firewall no Settei o Kiwameru", PC JAPAN, vol. 12, no. 5, 1 May 2007 (2007-05-01), pages 86 - 93 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013500531A (ja) * 2009-07-28 2013-01-07 エアバス 異なるセキュリティレベル又は異なる責任限界を必要とする機能を実施する多目的データの自動処理
JP2011034349A (ja) * 2009-07-31 2011-02-17 Nippon Telegr & Teleph Corp <Ntt> 端末保護システム及び端末保護方法
JP2013522761A (ja) * 2010-03-15 2013-06-13 シマンテック コーポレーション 仮想環境においてネットワークアクセス制御を行うシステムおよび方法
JP2016006670A (ja) * 2010-03-15 2016-01-14 シマンテック コーポレーションSymantec Corporation 仮想環境においてネットワークアクセス制御を行うシステムおよび方法

Also Published As

Publication number Publication date
JP5029701B2 (ja) 2012-09-19
US8738896B2 (en) 2014-05-27
US20100269167A1 (en) 2010-10-21
JPWO2009087702A1 (ja) 2011-05-19

Similar Documents

Publication Publication Date Title
JP5029701B2 (ja) 仮想マシン実行プログラム、ユーザ認証プログラムおよび情報処理装置
US11604861B2 (en) Systems and methods for providing real time security and access monitoring of a removable media device
US11757941B2 (en) System and method for providing network and computer firewall protection with dynamic address isolation to a device
JP4168052B2 (ja) 管理サーバ
US20140020067A1 (en) Apparatus and method for controlling traffic based on captcha
JP2008015786A (ja) アクセス制御システム及びアクセス制御サーバ
JP2008299617A (ja) 情報処理装置、および情報処理システム
JP2006252256A (ja) ネットワーク管理システム、方法およびプログラム
JP4713186B2 (ja) ネットワーク監視方法及びネットワーク監視システム
JP2006074705A (ja) 通信サービスを制限するための装置
JP2006260027A (ja) 検疫システム、およびvpnとファイアウォールを用いた検疫方法
JP2008276457A (ja) ネットワーク保護プログラム、ネットワーク保護装置およびネットワーク保護方法
JP2003258795A (ja) コンピュータ集合体運用方法及びその実施システム並びにその処理プログラム
JP2008234410A (ja) リモートアクセスシステム、情報処理装置、リモートアクセスプログラム、及びリモートアクセス方法
JP5321256B2 (ja) 検疫ネットワークシステム、アクセス管理装置、アクセス管理方法、及びアクセス管理プログラム
JP2009169781A (ja) ネットワーク検疫システム
JP2008028899A (ja) 通信システム、端末装置、vpnサーバ、プログラム、及び、通信方法
JP2017085273A (ja) 制御システム、制御装置、制御方法およびプログラム
JP7444596B2 (ja) 情報処理システム
JP2009259041A (ja) サーバ装置およびセキュリティ制御方法
JP2017117273A (ja) ミドルウェア
CN116015692A (zh) 一种网络准入控制方法、装置、终端及存储介质
CN115378622A (zh) 访问控制方法、装置、设备及计算机程序产品
JP2007128198A (ja) ログ情報通知システム、通信機器、および中継サーバ
JP2012199758A (ja) 検疫管理装置、検疫システム、検疫管理方法、およびプログラム

Legal Events

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

Ref document number: 08702750

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2009548804

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08702750

Country of ref document: EP

Kind code of ref document: A1