WO2023144932A1 - 情報処理方法、プログラム及び記憶媒体 - Google Patents
情報処理方法、プログラム及び記憶媒体 Download PDFInfo
- Publication number
- WO2023144932A1 WO2023144932A1 PCT/JP2022/002902 JP2022002902W WO2023144932A1 WO 2023144932 A1 WO2023144932 A1 WO 2023144932A1 JP 2022002902 W JP2022002902 W JP 2022002902W WO 2023144932 A1 WO2023144932 A1 WO 2023144932A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- information
- policy
- access
- communication device
- resource
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
Definitions
- the present invention relates to an information processing method, program, and storage medium for controlling access to network resources.
- PC personal computer
- the present invention has been made in view of the above problems, and its purpose is to implement extended access control that is in line with the usage status of workers for network resources that can be used by workers.
- an obtaining step of obtaining information of a policy selected for the communication device first, when receiving an access request to a computer resource on the network resource from the communication device, capturing an operation request from a process or an operating system to the computer resource on the network resource before accessing the computer resource; a capturing step; a first determination step of determining whether or not there is an access right to the computer resource specified by the operation request captured in the first capturing step based on the policy information acquired in the acquiring step; a processing step of passing the result of the determination in the first determination step to the operating system as per the operation request if there is an access right, and returning the result to the source of the request; and a refusal step of denying access
- FIG. 1 is a diagram showing a configuration example of an access control system according to an embodiment of the present invention
- FIG. It is a figure which shows the functional structural example of PC in one Embodiment of this invention.
- FIG. 3 is a diagram showing the functional configuration of a resource management program and the relationship between the OS and applications for explaining the API capture technology of an embodiment;
- It is a figure which shows the data structural example of the access authority management table for demonstrating the API acquisition technique of one embodiment.
- FIG. 1 is a sequence diagram illustrating a first basic type of API monitoring/control to describe an embodiment's API capture technique
- FIG. FIG. 4 is a sequence diagram illustrating a second basic form of API monitoring/control to illustrate the API capture technique of an embodiment
- 1 is a diagram (1) showing an example of a separation policy of an embodiment
- FIG. 2 is a diagram (2) showing an example of a separation policy of an embodiment
- FIG. 4 is a diagram showing the operation of selecting a separation policy by a terminal PC in one embodiment of the present invention
- FIG. 4 is a diagram showing the operation of a server selecting a separation policy in one embodiment of the present invention
- 1 is a diagram (1) illustrating an example of a separation policy for separating network resources according to an embodiment of the present invention
- FIG. 2B is a diagram (2-1) for explaining an example of a separation policy for separating network resources in an embodiment of the present invention
- FIG. 2B is a diagram (2-2) illustrating an example of a separation policy for separating network resources according to an embodiment of the present invention
- FIG. 4 is a diagram illustrating an operation example of applying a separation policy to a PC and a file server in one embodiment of the present invention
- FIG. 4 is a diagram showing an operation of executing access control processing by a file server according to an embodiment of the present invention
- Access control system 10 includes a server 100 and a personal computer (PC) 102 . Access control system 10 may further include proxy 104 . Server 100 and PC 102 can communicate via network 106 . Communications of the PC 102 may be connected to, for example, the Internet via a proxy 104 as needed.
- PC 102 is an example of a communication device. However, the communication device may be another terminal such as a tablet terminal or a smart phone.
- PC 102 provides user 101 with appropriate access to internal and network resources.
- the server 100 to be controlled is an example of an information processing device, and for example, a file server for storing in-house file data operates.
- the proxy 104 is an example of a communication device, and operates as a proxy server that controls access when the PC 102 accesses the Internet, for example.
- FIG. 1B shows functional blocks constituting a personal computer as an example of the communication device of this embodiment. Note that each of the functional blocks to be described may be integrated or separated, and the functions to be described may be realized by separate blocks. Also, what is described as hardware may be implemented in software, and vice versa.
- the communication unit 1201 includes, for example, a communication circuit and the like, accesses the server 100 and the Internet via wireless communication such as a wireless LAN, and transmits and receives necessary data.
- the control unit 1202 includes a CPU 1210 and a RAM 1211 .
- the computer program recorded in the recording unit 1207 is developed in the RAM 1211 and executed by the CPU 1210 to control the operation of each unit in the PC 102 .
- the control unit 1202 controls access to internal resources of the PC 102 and network resources outside the PC, which are input via the operation unit 1203 or the like, for example.
- the operation unit 1203 may include input devices such as a keyboard, mouse, and touch panel provided in the PC 102, and receives operations for various operation GUIs displayed on the display unit 1206.
- the external IF 204 is an interface between a predetermined device such as a printer and the PC 102 .
- the imaging device 205 is, for example, a camera device including an imaging element, and performs imaging according to instructions from the control unit 1202 .
- the display unit 1206 includes a display device such as an LCD or OLED, and displays, for example, a GUI for operation and data successfully accessed by the user.
- the recording unit 1207 includes a nonvolatile memory (nonvolatile storage medium) such as a semiconductor memory, for example, and holds computer programs executed by the control unit 1202 and setting values. In addition, data such as files created for the business of a company or the like are stored.
- the computer programs stored in the recording unit 1207 include an operating system for realizing various functions of the PC 102, various applications, and programs for executing various processes such as an access control program described below.
- a communication unit 1301 includes a communication circuit that communicates with the PC 102 via a network. It transmits information processed by the control unit 1302 to the PC 102 and receives information processed by the control unit 1302 from the PC 102 .
- the control unit 1302 includes a CPU 1310 and a RAM 1311.
- CPU 1310 is the central processing unit.
- the control unit 1302 implements each function of the server 100 by developing the computer program stored in the recording unit 1304 into the RAM 1311 and executing it by the CPU 1310 .
- the RAM 1311 includes a volatile storage medium such as a DRAM, and temporarily stores parameters, processing results, and the like for the control unit 1302 to execute the computer program.
- the recording unit 1304 includes a non-volatile storage medium such as a hard disk or semiconductor memory, and stores setting values and computer programs necessary for the operation of the server 100 .
- the recording unit 1304 also stores in the database 1330 data of various business-related files uploaded from the PC 102 .
- the computer programs stored in the recording unit 1304 include an operating system for realizing various functions of the server 100, various applications, and programs for executing various processes such as an access control program described below.
- the administrator of the server 100 uses the operation unit 1303 to perform some operations such as making necessary settings and inputting necessary information.
- API capture technology First, API capture technology will be described.
- the API capture technology is applied to a terminal (eg, PC) handled by a user, as well as to, for example, a file server and network devices (network resources) on a network.
- a terminal eg, PC
- network devices network resources
- the API capture technology is applied to a general electronic device (for example, a PC) as an example.
- a general electronic device for example, a PC
- the API capturing technology described below can be applied in substantially the same manner to each OS and applications of file servers and network devices.
- APIs Application Program Interfaces
- the method of using this API is determined by the OS, and it is possible to determine the execution code portion that uses the API.
- a monitoring routine is provided to monitor all APIs necessary for accessing resources, and before the application uses the API, the execution code part is changed or the entry point of API processing is replaced with the monitoring routine. , so that the monitoring routine is used when the API is used.
- the monitor routine either processes the API requested by the application or returns the result to the application as an illegal command without processing the API.
- Management of access authority extended by the resource management program of the present invention is managed by this program separately from management of the OS, and a monitoring routine is provided for each type of access authority. This method restricts access from applications that illegally use resources.
- a resource management program intervening between an application and an operating system receives an operation request from a specified application to access a computer resource, before the operation issued by the application. Among requests, it monitors and captures operation requests for specified computer resources. Then, whether or not access authority to the computer resource specified by the captured operation request is permitted is determined based on a separation policy summarizing computer access authority, and access is restricted.
- FIG. 2 is a diagram showing the configuration of the resource management program 203 and the concept of API monitoring/control according to the present invention.
- the resource management program 203 includes an API monitoring controller (API monitoring CTRL) 2031, an APL (application) monitoring controller (APL 2032 , an access control controller (access control CTRL) 2033 , and an OS monitoring controller (OS monitoring CTRL) 2034 .
- API monitoring CTRL API monitoring controller
- APL application monitoring controller
- APL 2032 access control controller
- access control CTRL access control CTRL
- OS monitoring CTRL OS monitoring controller
- This resource management program 203 is located between the general-purpose OS 201 and the user environment 202 consisting of general applications including an application 2021 that issues resource access requests and OS function operations 2022 such as screen capture. is designed to monitor requests for resources provided by
- the general-purpose OS 201 includes resources 2011 managed by the OS and an API group 2012 provided by the OS to the application 2021 .
- the API monitoring CTRL 2031 in the resource management program 203 is a module that monitors all APIs required for access control.
- the APL monitoring CTRL 2032 is a module that stores resources held by the application 2021 .
- the access control CTRL 2033 is a module for determining whether access to the resource 2011 is permitted, and has an access authority management table 2035 .
- the OS monitoring CTRL 2034 is a module that monitors resource access operations by the functions of the general-purpose OS 201 .
- the access authority management table 2035 is configured so that resource designation information 20351, conditions 20352, and n pieces of access authority information 20353 to 2035n can be registered for each resource.
- the resource designation information 20351 is information for designating a specific one of the resources 2011 managed by the general-purpose OS 201. For example, in the case of files, information such as file names and file IDs are registered. If it is an application, for example, the program name is registered. In the case of communication data, in addition to the host name, port number, and IP address, the Bluetooth identifier, Wi-Fi AP (access point) address, etc. are registered, and in the case of memory, the object name, address, etc. that indicate the object is registered. In the case of an external device, a device name indicating its device driver, a unique identifier called a device ID, and the like are registered.
- the condition 20352 indicates the conditions under which the access authority is valid or a combination thereof, for example, user name/ID, group name/ID, time, etc. are registered.
- the access authority information 20353 to 2035n indicates the authority added to the designated resource among the extended access authority not defined in the existing environment, such as the authority to move to another medium, the authority to copy to another medium, Printing authority, reading authority to shared memory (clipboard in Windows, etc.), screen capture authority, restrictions on applications to be used (prohibition of use other than specific applications, prohibition of attachment to e-mail), etc. are registered.
- each authority can be registered for a resource that has read and write capabilities. For example, it is possible to permit reading but not writing to a specific USB memory. Also, even when writing is permitted, it is possible to designate writing by encryption, and the encryption key at that time is defined in the separation policy (separation policy will be described in detail later).
- the separation policy having the same encryption key can read the information, so that it is possible to separate the information that can be substantially referred to in units of the separation policy.
- This can be specified for resources that have write permission, such as files, USB devices, and clipboards.
- communication resources In addition to reading (receiving) and writing (sending), communication resources also have connection (CONNECT) and acceptance (ACCEPT) information.
- resources may be accessed by multiple APIs, and the resource designation information in that case may be converted into IDs (handles, etc.) managed by the OS.
- IDs handles, etc.
- the resource designation information and its ID are regarded as the same.
- the API monitoring CTRL 2031 captures the request and conveys it to the access control CTRL 2033 .
- the access control CTRL 2033 acquires resource information held by the application 2021 from the APL monitoring CTRL 2032 as necessary when performing an access authority check.
- the access authority management table 2035 is referred to for the access request of (1) above to access the resource. Perform access authority check. As a result of the check, if there is no authorization, the API issued by the application 2021 is not processed, and an access violation error is returned as a result.
- the access authority management table 2035 is referred to and the access authority to the resource is checked for the access request of (1).
- the resource management program 203 does not process the resource requested by the application 2021. API processing is performed instead of requesting access to the prepared dummy resource.
- application 2021 behaves as if it has successfully requested, but cannot actually access the requested resource.
- the API monitoring CTRL 2031 captures the access request, and directly conveys the API processing issued by the application 2021 to the general-purpose OS 201, The result is returned to the application 2021.
- the APL monitor CTRL 2032 When the application 2021 issues a resource release request API and the API succeeds, the APL monitor CTRL 2032 is also notified. The APL monitor CTRL 2032 deletes the correspondence between the application 2021 and the retained resource.
- the OS monitor CTRL 2034 captures the access request and notifies it to the access control CTRL 2033 .
- FIG. 4 shows the first basic type of API monitoring and control (see FIG. 4) showing exchanges between the application 2021, the resource management program 203, and the general-purpose OS 201 until the resource is released when there is an access right to the target resource.
- 1) is a sequence diagram.
- the resource management program 203 determines that the application 2021 has the right to access the resource. is checked (step 402). As a result of the check, if there is access authority (step 403), the API issued by the application 2021 is conveyed to the general-purpose OS 201 as it is. The general-purpose OS 201 performs the original API processing of the OS (step 404).
- the resource management program 203 registers information that the application 2021 holds the resource (step 405). Then, the API result from the general-purpose OS 201 is returned to the application 2021 as it is (step 406). This completes access to the resource (step 407).
- the resource management program 203 notifies the general-purpose OS 201 of the release request.
- the general-purpose OS 201 performs the original API processing of the OS (step 409).
- the resource management program 203 cancels the information that the application 2021 holds the resource (step 410).
- the API result from the general-purpose OS 201 is returned to the application 2021 as it is (step 411). This completes the release of the held resource (step 412).
- FIG. 5 shows the second basis of API monitoring and control, showing exchanges between the application 2021, the resource management program 203, and the general-purpose OS 201 until the access is denied when there is no access authority to the target resource.
- FIG. 10 is a sequence diagram of type (2);
- the resource management program 203 determines that the application 2021 has the right to access the resource. is checked (step 502). As a result of checking, if there is no access authority (step 503), an access violation error is returned to the application 2021 (step 504). This completes the resource access processing (step 505).
- the resource management program 203 asks whether the application 2021 has the right to access the resource. is checked (step 507). As a result of the check, if there is no access authority and the application 2021 does not handle the access violation error (step 508), the resource management program 203 replaces it with an access request to a dummy resource prepared in advance and passes it to the general-purpose OS 201. (Step 509).
- the general-purpose OS 201 performs the original API processing of the OS (step 510).
- the resource management program 203 directly returns the API processing result from the general-purpose OS 201 to the application 2021 (step 511). As a result, the access processing to the target resource ends, but since it is a dummy resource, nothing is actually done (step 512).
- the separation policy is information collectively defining the access rights required for each of the multiple types of business as a policy for each business (hereinafter referred to as a separation policy).
- Separation policies include applications that are executable or unexecutable in the corresponding business, areas that are readable and writable (specific local disks, network disks, etc.), permitted communication destinations (email, Internet, etc.). ), target users, PCs, time zones, locations of use, and other information.
- the plurality of defined isolation policies are switched by the user or automatically switched when the PC is used, and one of the isolation policies is always applied to the resource management program 203 during operation of the PC. Become.
- the resource management program 203 controls to allow resource access requests only within the scope defined by the applied separation policy.
- the resource management program 203 captures processes executed by the OS and software at the API level, prohibits processes that violate the separation policy, and executes only processes that satisfy the separation policy, thereby controlling the separation policy. I do. Alternatively, processing that violates the separation policy is prohibited, and switching is made to another processing that satisfies the separation policy.
- the "API capture" by the resource management program 203 captures not only the application level, but also the system level called drivers and services. Realize
- the resource management program 203 determines whether or not to access a communication resource (for example, a network card) that implements communication with the network at the API level inside the PC. If it is, the communication will not flow to the connected network. This has the same effect as physical separation in response to recent concerns that communication devices themselves may become targets of cyberattacks.
- a communication resource for example, a network card
- control information of the separation policy includes the following. These can correspond to the resource designation information in FIG. 3, for example.
- Executable/Prohibited Program Designation of execution permission or prohibition of each program is registered by program name, program path, hash of program file.
- Read access (connection) permission/prohibition area The area that specifies permission or prohibition to read various information is registered with the file path, URL, IP address, host name, USB device ID, email address, and wireless LAN AP. .
- (3) Writable/Unwritable Area The area for designating write permission or prohibition is registered with a file path, URL (POST/PUT command), USB device ID, mail address (SMTP), and clipboard data type. Encrypted writing can also be specified for write permission.
- the encryption key at that time is defined in the separation policy.
- the separation policy As already explained, by defining the encryption key for encrypted writing for each separation policy, only the separation policy with the same encryption key can read the relevant information. Information can be separated. (4) Temporarily accessible area When the applied separation policy is changed, log off/not, terminate the program being used/not, delete area (path specification), use with the changed separation policy Specifies whether to restart the program that was running.
- Applicable terminal (PC) information Register the machine name, IP address, and MAC address.
- Applicable user information Register the user name and group name.
- Applied location information Location information obtained from the OS, connected AP, connected domain name, and specific in-house PC are registered.
- Applicable time information (time information) Register applicable times, periods, and days of the week.
- one separation policy is defined as a set of the above control information, application target information, and clear information. It should be noted that a plurality of separation policies can be defined by defining a name, and are applied to the resource management program 203 by switching with a separation policy switching mechanism.
- the separation policy supplied to the resource management program 203 is analyzed by the access control CTRL 2033 shown in FIG. is applied by developing it into resource specification information, access authority information, etc.
- the mechanism for switching the separation policy may be configured so that the user can select and switch, or the switching can be automatically performed based on location information (for example, office or home) where the PC is used. It may be configured as
- FIGS. 6A and 6B are diagrams showing specific examples of separation policies.
- the separation policies used in companies include a separation policy for internal confidential work, a separation policy for internal office work, a separation policy for remote work at home, a separation policy for business trip work, and an unregistered location. Isolation policy for , default isolation policy, etc.
- the resource management program 203 to which the separation policy for in-house confidential work is applied permits access requests from the application 2021 to almost all resources.
- usable programs basically all programs such as schedule management applications, development applications, and document creation applications are accessible.
- the readable area and the writable area almost all of the external HDD, the own HDD, and other storage areas can be used.
- the resource management program 203 divides the accessible resources when this isolation policy is applied into isolation for internal confidential work. Less than policy. For example, with regard to usable programs, development applications cannot be used, and only programs that are basically required for office work, such as schedule management applications and document creation applications, can be accessed.
- the readable area, the writable area, and the like are not accessible to an external HDD, and are accessible only to the own HDD.
- access to the network since there are cases where the Internet is used for research, etc., access to the company network and the Internet is made possible. Alternatively, depending on the business, there are cases where the internal network is permitted but communication to the Internet is prohibited.
- the applicable terminal is a mobile PC registered with the company, and the place where it can be used is the home of the employee registered with the company.
- the terminal refers to its own GPS information and the registered employee's home address, and applies it to the resource management program 203 .
- Working remotely from home is less secure than it is at work, so the programs you can use are even more limited. For example, applications for development and office work will not be available, and only programs that are basically required for work at home, such as document creation applications, will be accessible.
- the readable area and the writable area access to an external HDD is prohibited, only reading is permitted to the own HDD, and reading and writing are permitted only to the storage provided in the company.
- VPN Virtual Private Network
- the applicable terminal is the mobile PC registered with the company, and the place where it can be used is the outside location registered with the company.
- the resource management program 203 When applying the separation policy for business trip work outside the company, it applies to the resource management program 203 by referring to its own GPS information and the registered address of the place where it is outside the office.
- the programs that can be used are more limited than when working from home, such as browsers and e-mail only.
- the readable area is limited to only the contents of the USB memory brought by the user. Access to the network is prohibited.
- the default separation policy is a pre-defined separation policy that is adopted when there is no applicable policy, and is a separation policy that can be used by general office work programs, document creation applications, email, etc.
- the default isolation policy assumes company use of the device and allows for general company work.
- access to the network as with the separation policy for office work within the company, access to the company network and the Internet is made possible because there are cases where the Internet is used for research.
- the file of the separation policy stores the information of "separation policy example" as it is or encrypted.
- the separation policy file may be stored in advance in the terminal PC to be used, or may be stored in the management server so that the latest policy is transferred to the terminal PC when connecting to the server. good too.
- the management server and the terminal PC are set to be able to communicate so that the separation policy can be received from the management server regardless of the applied policy.
- the separation policy is dynamically passed from the management server to the PC
- the terminal PC does not have a policy file as an entity, and the terminal PC saves the separation policy received from the management server in its own memory and uses it. .
- the default separation policy is a predefined separation policy that is adopted when there is no applicable policy, as described above.
- the default isolation policy may be stored as a file on the terminal or implemented as a default value in the system. Usually, it is defined with contents restricted to conditions such as, for example, communication between the management server and the terminal PC being possible, and the local disk being unusable.
- the separation policy that is a candidate for application at the start of use of the PC is limited to those whose application target information registered in the separation policy matches the usage status of the PC. Furthermore, priority can be defined for the separation policy based on information types such as applicable terminal information, applicable user information, applicable location information, and applicable time information among the information to be applied. Those who do are candidates.
- the candidate is the isolation policy for terminal A.
- FIG. 7 is a flow chart showing the operation when the terminal PC selects the separation policy. The operation of the flowchart of FIG. 7 is started when the terminal PC is activated. Note that the terminal PC may be the terminal PC shown in FIG. 1B, and the operations of this flowchart may be realized by the CPU 1210 developing and executing a program stored in the recording unit 1207 .
- step S701 the CPU 1210 of the terminal PC acquires its own PC name, user name, place of use, and time information.
- step S702 the CPU 1210 of the terminal PC acquires the separation policy file stored in its own hard disk or the like.
- step S703 the CPU 1210 of the terminal PC selects the separation policy that matches the application target information with the highest priority among the application target information such as the PC name, user name, place of use, and time.
- step S704 the CPU 1210 of the terminal PC determines whether or not there are multiple policies corresponding to the application target information with the highest priority selected in step S703. If so, go to step 706 .
- step S705 the CPU 1210 of the terminal PC selects the separation policy with the preset highest priority among the plurality of candidate separation policies.
- step S706 the CPU 1210 of the terminal PC determines whether there is one separation policy. If there is one separation policy, the process proceeds to step S708, and if there is no separation policy, the process proceeds to step S707.
- step S707 the CPU 1210 of the terminal PC selects the default separation policy.
- step S708 the separation policy selected in any of steps S705-S707 is applied to the resource management program 203.
- step S706 the separation policy with the highest preset priority is selected from among the plurality of candidate separation policies, but the user may select it.
- FIG. 8 is a flow chart showing the operation of the management server selecting the separation policy when the separation policy is supplied to the terminal PC from the management server that manages the separation policy.
- the operation of the flowchart in FIG. 8 is started when the management server receives a separation policy transmission request from the terminal PC.
- the management server may be the management server shown in FIG.
- the hardware configuration of the management server may be substantially the same as the hardware configuration of the server shown in FIG. 1C (ie communication circuit, CPU, RAM, recording device, etc.).
- step S801 the CPU of the management server acquires information on the PC name, user name, place of use, and time from the terminal PC.
- step S802 the CPU of the management server acquires the separation policy file stored in its own hard disk or the like.
- step S803 the CPU of the management server selects the separation policy that matches the application target information with the highest priority among the application target information received from the terminal PC, such as the PC name, user name, place of use, and time.
- step S804 the CPU of the management server determines whether or not there are multiple policies corresponding to the application target information with the highest priority selected in step S803. If so, go to step 806 .
- step S805 the CPU of the management server selects the separation policy with the preset highest priority among the plurality of candidate separation policies.
- step S806 the CPU of the management server determines whether there is one separation policy. If there is one separation policy, the process proceeds to step S808, and if there is no separation policy, the process proceeds to step S807.
- step S807 the CPU of the management server selects the default separation policy.
- the CPU of the management server transmits the separation policy selected at any one of steps S805 to S807 to the terminal PC.
- step S805 the separation policy with the highest preset priority is selected from among the plurality of candidate separation policies.
- the user may select the separation policy to be applied on the terminal PC.
- a separation policy that enables separation of network resources will be described with reference to FIGS. 9A, 9B-1 and 9B-2.
- the isolation policy that enables isolation of network resources is an extension of the isolation policy described with reference to Figures 6A and 6B.
- a unique separation policy name (that is, information for identifying a separation policy) is assigned to each separation policy.
- the separation policy for separating network resources is based on the control information and application target information of the separation policy shown in FIGS. 6A and 6B, as described later with reference to FIGS. Additionally, network resource control information is further added.
- the isolation policy for isolating network resources is obtained by analyzing the isolation policy supplied to the resource management program 203 by the access control CTRL 2033 shown in FIG. , as shown in FIG. 3, it is applied by developing it into resource designation information, access authority information, and the like.
- FIG. 9A illustrates an example of an environment realized by a separation policy that enables separation of network resources.
- "For internal confidential work A” and “For internal confidential work B” shown in FIG. It shows an example extended to separate work policies.
- the data areas that exist (seem to exist) on the file server are different between “for internal confidential work A” and “for internal confidential work B”.
- the separation policies of "watermark printing business”, “cloud only”, and “cloud only (application only)" shown in FIG. 9A are new examples that do not directly correspond to the examples shown in FIGS. 6A and 6B. is.
- a separation policy for separating network resources includes separation policy control information, application target information, and network resource control information, as shown in FIG. 9B-1.
- the control information includes usable programs, readable areas, writable areas, and temporary access information, as described above. Since the example shown in FIG. 9B-1 may be similar to FIG. 6A, its detailed illustration is omitted.
- the separation policy application target information indicates a target (for example, a PC) that can access the network resource.
- the separation policy application target information includes terminal information, user information, location information, and time information, as in the configuration described with reference to FIGS. 6A and 6B. That is, "terminal information" may be specified by at least one of a machine name, IP address, and MAC address, for example.
- “User information” can be specified by a user name or a group name.
- “Location information” may include at least one of location information obtained from the OS of the PC used by the user, a connected AP, a connected domain name, an identifier indicating a specific in-house machine, and the like.
- the "time information” can be specified by the period of time and date when the PC can be used by applying the separation policy, or by the day of the week.
- the network resource control information includes at least one of IP addresses, host names, URLs, file server directory paths, network device names (printers, scanners, etc.) for network resources subject to access control (permission or prohibition). contains information about The example shown in FIG. 9B-2 includes, for example, an IP address/host name, a directory path within the server, and a URL.
- the IP address/host name specifies the IP address or host name of a network resource for which access is permitted or prohibited.
- a directory path within a server specifies a resource for which access is permitted or prohibited on a file server or remote device.
- the separation policies for "confidential internal work A" and "confidential internal work B" permit access only to data areas dedicated to each business on the file server. It is configured.
- URL specifies the URL of the web service for which access is permitted or prohibited.
- these pieces of information may be specified in combination with the accessing application program.
- programs that specify whether to allow or disallow access to network resources may be specified using program names, program paths, and/or hashes of program files.
- the separation policy "cloud only (app only)" specifies the accessing programs “teams.exe” and "edge.exe”.
- the access program is determined, for example, by API capture control processing that captures the API.
- the information that constitutes the application target and the information that constitutes the network resource control information are used as separate separation policies that are omitted or masked according to the role (PC, gateway, file server, etc.) as necessary. can also In that case, when applying the separate separation policy to the PC or file server, the separation policy name or the identification ID of the separation policy may be linked.
- multiple separation policies may be automatically switched (to satisfy the information to be provided), and when the user uses the PC, the separation policy may be automatically switched.
- the separation policy may be switched as long as the target information is satisfied. By these switching, when the user operates the PC, one of the separation policies is always applied.
- the resource management program described above that performs access control according to separation policies also operates on one or more network resources such as gateways, proxies, and file servers.
- the resource management program existing on the network resource identifies the current isolation policy of the access source PC, and the policy applied to the PC among the isolation policies possessed by the resource management program. Access control is performed according to the policy content of the name and the same name.
- the separation policy applied on the PC is changed, the PC sends the changed separation policy name (information identifying the separation policy) to the network resource (file server or proxy), and the network resource applies it.
- the isolation policy may be linked to the isolation policy applied by the PC.
- each resource management program can apply a separation policy with the same separation policy name to perform API capture.
- both the PC and the network resource are separated in conjunction with the applied separation policy, and strong security can be ensured.
- the PC may obtain the name of the isolation policy to be applied, but may not perform API capture.
- the API capture to which the separation policy (corresponding to the separation policy name acquired by the PC) is applied may be performed only by the file server or gateway on the network resource side. Even in this case, the network resources beyond the PC are appropriately separated and controlled according to the separation policy, but since there is no need for special control such as API capture on the PC side, implementation on the PC side is easy. and your PC will run faster.
- API capture according to the separation policy may be performed only at one or more gateways on the path.
- no API capture is performed on the PC and the file server, so no special control is required for the PC and the file server, but one or more gateways follow the isolation policy (corresponding to the isolation policy name obtained by the PC).
- the isolation policy for isolating network resources may store the above isolation policy information in the form of a file (separation policy file), for example.
- the isolation policy file may be encrypted.
- the isolation policy file may be pre-stored on the PC and network resources.
- a management server may be arranged to manage the contents of the separation policy, and the separation policy may be distributed from the management server.
- the separation policy held by the PC may contain only application target information
- the separation policy held by the network resource may contain only network resource control information.
- management of network resource control may be facilitated, for example, when policy content is changed in accordance with a change in network configuration.
- the separation policy can be exchanged after authentication between the devices.
- exchanged isolation policies and other exchanged data may be encrypted.
- PCs and network resources may periodically or irregularly access the management server and acquire the latest separation policy file to update the separation policy of each device.
- the separation policy used by PCs and network resources is managed by the management server, the PCs and network resources are set to the management server so that they can acquire the separation policy file regardless of the content of the separation policy that is set. configured to be accessible.
- the management server may dynamically provide separation policy information to PCs and network resources.
- the PC and the network resource store the separation policy information received from the management server in the internal memory or recording unit and use it.
- the later-described "default separation policy" may be used.
- the PC may use a predetermined specific separation policy (referred to as the default separation policy).
- the default separation policy is, for example, a default separation policy that is provisionally applied when there is no separation policy to apply.
- the control unit in the network resource may apply the separation policy as a default when the access source has no applicable policy or applies a non-existent separation policy.
- a default isolation policy can be defined with the most restrictive policy content.
- a maximally restrictive policy could be, for example, only being able to communicate with the management server, or prohibiting access to all network resources, etc.).
- FIG. 10 schematically illustrates how the PC 102 and the file server 100 are located within the company, and the PC 102 accesses file data in the file server 100 according to the separation policy.
- separation policy files for separating network resources
- Separation policy files respectively stored in the PC 102 and the file server 100 are distributed and updated in advance by the management server (S1000).
- the management server S1000
- the separation policy is applied by the processing of the PC 102 shown in FIG. 7 (S1002).
- S1002 the separation policy "for in-house confidential work A" is applied to the PC 102.
- the PC 102 transmits the identification information of the separation policy applied to itself (that is, the separation policy name) to the file server 100 (S1004). It should be noted that the acquisition of separation policy identification information may be performed after the file is accessed from the PC 102, as will be described in the later-described access control operation in the file server.
- the file server 100 When the file server 100 receives a file access (that is, an access request) from the PC 102 (S1006), the file server 100 specifies (applies) a separation policy (for example, "for internal confidential work A") corresponding to the acquired separation policy identification information. Then, the resource management program of the file server 100 performs access control according to the separation policy (S1008). The file server 100 transmits the requested file data to the PC 102 if the access is to the data area permitted by the separation policy (S1010).
- a separation policy for example, "for internal confidential work A”
- the resource management program of the file server 100 confirms the contents of the current separation policy in this terminal at the timing of access from the PC 102 (when control information is registered in combination with the program, the access source program is also confirmed). do. Then, access is permitted or denied according to the separation policy in the API capture control process. In this way, detailed network resource control such as access control to directories in the file server becomes possible.
- protocols such as TCP/UDP that have a process of "establishing a connection” and access that has an "open” process such as file access
- this process is controlled and Control can be omitted in subsequent processing.
- the management server distributes the separation policy information to the PC and the file server, and stores the separation policy information in the respective recording units. selection is not limited to this.
- Application of the separation policy in PC 102 may be determined by the management server, and the determined separation policy name may be sent to PC 102, as shown in FIG.
- corresponding separation policy information for example, network resource control information
- the file server 100 may acquire the corresponding separation policy information by transmitting information identifying the access source (for example, information identifying the PC) to the management server.
- the file server 100 may acquire separation policy identification information from the gateway machine. Then, the file server 100 may acquire separation policy information (for example, network resource control information) corresponding to the identification information from the management server.
- separation policy information for example, network resource control information
- gateway machines are placed in the access path from the PC to the file server 100 as a network configuration, there is no need to have a separation policy in subsequent network resources. Separation policy information may be transmitted. In this case, policy management becomes easier.
- existing simple control technology proxy program, gateway program, etc.
- the CPU 1310 of the file server 100 acquires the separation policy file from, for example, the management server. Note that it is not essential for the file server 100 to acquire the separation policy file from the management server in advance.
- the content of the separation policy may be obtained in advance from the PC, or the file server 100 may obtain the content of the separation policy from the management server when the PC accesses the file server 100 .
- the CPU 1310 determines whether there is a file access request from the PC 102. At this time, the CPU 1310 may acquire information (terminal information, user information, location information, time information) related to the application target together with the file access. If the PC 102 accesses the file, the CPU 1310 advances the process to S1103; otherwise, the process advances to S1102.
- the CPU 1310 acquires the identification information of the separation policy applied by the PC 102.
- the CPU 1310 extracts the network resource control information of the separation policy file according to the obtained identification information of the separation policy, and extracts information used for access control (for example, resource designation information, conditions, and access authority shown in FIG. 3). set as The CPU 1310 may further set the information to which the separation policy file is applied as information used for access control.
- the CPU 1310 performs access control by a resource management program using API capture according to network resource control information set as information used for access control.
- the access control is also performed according to the information of the application target.
- the CPU 1310 transmits the result (for example, transmits the accessed file to the PC 102) according to the result of access control by the resource management program.
- CPU1310 will complete
- the PC 102 issues a request for access to a file, which is a computer resource on the file server 100, has been described.
- a network device for example, when a proxy is requested to access the Internet.
- the proxy should apply the separation policy, and access control to computer resources (for example, ports, established connections/tunnels, etc.) on the proxy should be performed according to the separation policy.
- access control by API capture according to the separation policy is performed in conjunction with the PC used by the user and the network resources (for example, file servers and network devices). bottom.
- the PC and network resources operate in conjunction with the same separation policy, the network environment itself can behave as if it were a physically separate environment. That is, while using the existing OS and processes of terminals and devices on the network, it is possible to implement extended access control suited to the worker's usage situation with respect to network resources that can be used by the worker.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本開示に係る情報処理方法は、利用者が用いる通信装置からの、ネットワークリソース上のコンピュータリソースに対するアクセスを制御する情報処理方法であって、複数種類の業務ごとに許可されるアクセス権限をそれぞれの業務ごとのポリシーとして定義した複数のポリシーから、通信装置の状態に適したポリシーを選択する選択工程と、ネットワークリソースにおいて、通信装置に対して選択されたポリシーの情報を取得する取得工程と、通信装置からネットワークリソース上のコンピュータリソースに対するアクセス要求を受信した場合に、ネットワークリソース上のコンピュータリソースに対するプロセスまたはオペレーティングシステムからの操作要求を当該コンピュータリソースにアクセスする前に捕捉する第1捕捉工程と、第1捕捉工程で捕捉した操作要求によって指定されるコンピュータリソースに対するアクセス権限があるか否かを、取得工程で取得されたポリシーの情報に基づいて判定する第1判定工程と、第1判定工程の判定の結果、アクセス権限があれば当該操作要求の通りにオペレーティングシステムに渡し、その結果を要求元に返す処理工程と、第1判定工程の判定の結果、アクセス権限がなければ当該操作要求によって指定されるコンピュータリソースに対するアクセスを拒否する拒否工程と、を有する。
Description
本発明は、ネットワークリソースに対するアクセスを制御する情報処理方法、プログラム及び記憶媒体に関するものである。
従来、会社等の業務において、一人に1台のパーソナルコンピュータ(PC)が支給されることが一般的になっている。PCを使用する際のセキュリティの観点から、既存のOS(Operating System)やプロセスを用いながら、コンピュータリソースへのアクセス権限の無いユーザによるリソースの操作を制限する技術が知られている(特許文献1)。
ところで、会社等における業務内容の多様化に伴い、会社等の業務においてPCを使用する場合に、セキュリティの観点から、業務内容に応じて複数のPCを使い分けることが増えてきている。例えば、社内の機密性の高い情報を扱う業務、インターネットを利用する業務或いはテレワーク時の業務に、同一のPCを使用する場合、社内情報が外部に漏洩するリスクやサイバー攻撃を受けるリスクなどが懸念される。このため、業務内容に即してアクセス可能なストレージ領域や利用可能なネットワークなどの運用環境を個別に用意した、別々のPCで業務を行う場合がある。実際には、物理的に複数のPCを使用したり、1台のPCでVDI(Virtual Desktop Infrastructure)や仮想PCを利用したりといった方法を用いることで、業務ごとに別々の運用環境を実現することができる。
他方、業務内容ごとに分離された物理PCと仮想PCとを用意することは、管理すべき資産(PCそのものや、OSをはじめとするソフトウェア)や、複数のPCを使用する煩雑さ、様々なコスト等の増加が伴う。更に、物理的に存在するネットワークリソースまで利用者や業務内容によって使い分けるために、従来の仮想化技術を利用してアクセスする端末を物理的に分けることも考えられるが、十分な分離を行おうとすると多くの仮想マシンを用意する必要がある。また、例えばファイルサーバを分離する場合には、業務に応じた複数のユーザアカウントを用意してログイン段階で使い分けるという方法もあり得るが、ユーザ管理が煩雑化する。いずれにしても、利便性が損なわれ全体としてコストが増大し得る。
本発明は、上記課題に鑑みてなされ、その目的は、作業者が利用できるネットワークリソースに対して、作業者の利用状況に即した拡張されたアクセス制御を実現することにある。
本発明によれば、
利用者が用いる通信装置からの、ネットワークリソース上のコンピュータリソースに対するアクセスを制御する情報処理方法であって、
複数種類の業務ごとに許可されるアクセス権限をそれぞれの業務ごとのポリシーとして定義した複数のポリシーから、前記通信装置の状態に適したポリシーを選択する選択工程と、
前記ネットワークリソースにおいて、
前記通信装置に対して選択されたポリシーの情報を取得する取得工程と、
前記通信装置から前記ネットワークリソース上のコンピュータリソースに対するアクセス要求を受信した場合に、前記ネットワークリソース上の前記コンピュータリソースに対するプロセスまたはオペレーティングシステムからの操作要求を当該コンピュータリソースにアクセスする前に捕捉する第1捕捉工程と、
前記第1捕捉工程で捕捉した操作要求によって指定されるコンピュータリソースに対するアクセス権限があるか否かを、前記取得工程で取得されたポリシーの情報に基づいて判定する第1判定工程と、
前記第1判定工程の判定の結果、アクセス権限があれば当該操作要求の通りにオペレーティングシステムに渡し、その結果を要求元に返す処理工程と、
前記第1判定工程の判定の結果、アクセス権限がなければ当該操作要求によって指定されるコンピュータリソースに対するアクセスを拒否する拒否工程と、を有することを特徴とする情報処理方法が提供される。
利用者が用いる通信装置からの、ネットワークリソース上のコンピュータリソースに対するアクセスを制御する情報処理方法であって、
複数種類の業務ごとに許可されるアクセス権限をそれぞれの業務ごとのポリシーとして定義した複数のポリシーから、前記通信装置の状態に適したポリシーを選択する選択工程と、
前記ネットワークリソースにおいて、
前記通信装置に対して選択されたポリシーの情報を取得する取得工程と、
前記通信装置から前記ネットワークリソース上のコンピュータリソースに対するアクセス要求を受信した場合に、前記ネットワークリソース上の前記コンピュータリソースに対するプロセスまたはオペレーティングシステムからの操作要求を当該コンピュータリソースにアクセスする前に捕捉する第1捕捉工程と、
前記第1捕捉工程で捕捉した操作要求によって指定されるコンピュータリソースに対するアクセス権限があるか否かを、前記取得工程で取得されたポリシーの情報に基づいて判定する第1判定工程と、
前記第1判定工程の判定の結果、アクセス権限があれば当該操作要求の通りにオペレーティングシステムに渡し、その結果を要求元に返す処理工程と、
前記第1判定工程の判定の結果、アクセス権限がなければ当該操作要求によって指定されるコンピュータリソースに対するアクセスを拒否する拒否工程と、を有することを特徴とする情報処理方法が提供される。
本発明によれば、端末やネットワーク上の機器の既存のOSやプロセスを利用しつつ、作業者が利用できるネットワークリソースに対して、作業者の利用状況に即した拡張されたアクセス制御を実現することができる。
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
添付図面は明細書に含まれ、その一部を構成し、本発明の実施の形態を示し、その記述と共に本発明の原理を説明するために用いられる。
本発明の一実施形態におけるアクセス制御システムの構成例を示す図である。
本発明の一実施形態におけるPCの機能構成例を示す図である。
本発明の一実施形態におけるサーバの機能構成例を示す図である。
ある実施形態のAPI捕捉技術を説明するための、リソース管理プログラムの機能構成及びOSとアプリケーションとの関係を示す図である。
ある実施形態のAPI捕捉技術を説明するための、アクセス権限管理テーブルのデータ構成例を示す図である。
ある実施形態のAPI捕捉技術を説明するための、APIの監視/制御の第1の基本型を示すシーケンス図である。
ある実施形態のAPI捕捉技術を説明するための、APIの監視/制御の第2の基本型を示すシーケンス図である。
ある実施形態の分離ポリシーの例を示す図(1)である。
ある実施形態の分離ポリシーの例を示す図(2)である。
本発明の一実施形態における端末PCが分離ポリシーを選択する動作を示す図である。
本発明の一実施形態におけるサーバが分離ポリシーを選択する動作を示す図である。
本発明の一実施形態におけるネットワークリソースを分離する分離ポリシーの例を説明する図(1)である。
本発明の一実施形態におけるネットワークリソースを分離する分離ポリシーの例を説明する図(2-1)である。
本発明の一実施形態におけるネットワークリソースを分離する分離ポリシーの例を説明する図(2-2)である。
本発明の一実施形態においてPCとファイルサーバに分離ポリシーを適用する動作例を説明する図である。
本発明の一実施形態におけるファイルサーバがアクセス制御処理を実行する動作を示す図である。
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態で説明されている特徴の組み合わせの全てが発明に必須のものとは限らない。実施形態で説明されている複数の特徴のうち二つ以上の特徴は任意に組み合わされてもよい。また、同一若しくは同様の構成には同一の参照番号を付し、重複した説明は省略する。
<アクセス制御システムの構成>
図1Aを参照して、本実施形態に係るアクセス制御システム10の構成について説明する。アクセス制御システム10は、サーバ100とパーソナルコンピュータ(PC)102とを含む。アクセス制御システム10は、プロキシー104を更に含んでもよい。サーバ100とPC102とはネットワーク106を介して通信可能である。PC102の通信は、必要に応じてプロキシー104を介して、例えばインターネットに接続されてもよい。PC102は、通信装置の一例である。しかし、通信装置は、他の端末、例えばタブレット端末やスマートフォンなどであってもよい。PC102は、利用者101に対して、内部リソース及びネットワークリソースへの適切なアクセスを提供する。制御するサーバ100は、情報処理装置の一例であり、例えば、社内のファイルデータを格納するためのファイルサーバが動作している。プロキシー104は通信装置の一例であり、例えば、PC102がインターネットにアクセスする際のアクセスを制御するプロキシーサーバとして動作する。
図1Aを参照して、本実施形態に係るアクセス制御システム10の構成について説明する。アクセス制御システム10は、サーバ100とパーソナルコンピュータ(PC)102とを含む。アクセス制御システム10は、プロキシー104を更に含んでもよい。サーバ100とPC102とはネットワーク106を介して通信可能である。PC102の通信は、必要に応じてプロキシー104を介して、例えばインターネットに接続されてもよい。PC102は、通信装置の一例である。しかし、通信装置は、他の端末、例えばタブレット端末やスマートフォンなどであってもよい。PC102は、利用者101に対して、内部リソース及びネットワークリソースへの適切なアクセスを提供する。制御するサーバ100は、情報処理装置の一例であり、例えば、社内のファイルデータを格納するためのファイルサーバが動作している。プロキシー104は通信装置の一例であり、例えば、PC102がインターネットにアクセスする際のアクセスを制御するプロキシーサーバとして動作する。
<PCの機能構成例>
図1Bを参照して、PC102の機能構成例について説明する。図1Bに示す構成は、本実施形態の通信装置の一例としてのパーソナルコンピュータを構成する機能ブロックを示している。なお、説明する機能ブロックの各々は、統合されまたは分離されてもよく、また説明する機能が別のブロックで実現されてもよい。また、ハードウェアとして説明するものがソフトウェアで実現されてもよく、その逆であってもよい。
図1Bを参照して、PC102の機能構成例について説明する。図1Bに示す構成は、本実施形態の通信装置の一例としてのパーソナルコンピュータを構成する機能ブロックを示している。なお、説明する機能ブロックの各々は、統合されまたは分離されてもよく、また説明する機能が別のブロックで実現されてもよい。また、ハードウェアとして説明するものがソフトウェアで実現されてもよく、その逆であってもよい。
通信部1201は、例えば通信用回路等を含み、例えば無線LAN等の無線通信を介してサーバ100やインターネットにアクセスし、必要なデータの送受信を行う。制御部1202は、CPU1210及びRAM1211を含み、例えば記録部1207に記録されたコンピュータプログラムをRAM1211に展開し、CPU1210が実行することにより、PC102内の各部の動作を制御する。また、制御部1202は、例えば、操作部1203等を介して入力される、PC102の内部リソース及びPCの外部のネットワークリソースに対するアクセスを制御する。
操作部1203は、PC102の備えるキーボード、マウス、タッチパネルなどの入力装置を含んでよく、表示部1206に表示される各種操作用のGUIに対する操作を受け付ける。外部IF204は、プリンタなどの所定のデバイスとPC102との間のインタフェースである。撮像デバイス205は、例えば、撮像素子を含むカメラデバイスであり、制御部1202からの指示に応じて、撮影を行う。表示部1206は、例えばLCDやOLED等の表示デバイスを含み、例えば、操作用のGUIやユーザが成功裏にアクセスしたデータを表示する。
記録部1207は、例えば半導体メモリ等の不揮発性メモリ(不揮発性の記憶媒体)を含み、制御部1202が実行するコンピュータプログラムや設定値を保持する。また、会社等の業務のために作成したファイルなどのデータが格納される。記録部1207に格納されるコンピュータプログラムは、PC102の諸機能を実現するためのオペレーティングシステム、種々のアプリケーション、及び以下で説明するアクセス制御プログラムなどの各種処理を実行するプログラム等を含む。
<サーバの構成>
次に、サーバ100の機能構成例について、図1Cを参照して説明する。なお、説明する機能ブロックの各々は、統合されまたは分離されてもよく、また説明する機能が別のブロックで実現されてもよい。また、ハードウェアとして説明するものがソフトウェアで実現されてもよく、その逆であってもよい。
次に、サーバ100の機能構成例について、図1Cを参照して説明する。なお、説明する機能ブロックの各々は、統合されまたは分離されてもよく、また説明する機能が別のブロックで実現されてもよい。また、ハードウェアとして説明するものがソフトウェアで実現されてもよく、その逆であってもよい。
通信部1301は、ネットワークを介してPC102と通信する通信回路を含む。制御部1302によって処理された情報をPC102に送信したり、制御部1302によって処理される情報をPC102から受信したりする。
制御部1302は、CPU1310とRAM1311とを含む。CPU1310は中央演算装置である。制御部1302は、CPU1310により、記録部1304に記憶されたコンピュータプログラムをRAM1311に展開、実行することにより、サーバ100の各機能を実現する。RAM1311は、例えばDRAM等の揮発性の記憶媒体を含み、制御部1302がコンピュータプログラムを実行するためのパラメータや処理結果等を一時的に記憶する。
記録部1304は、例えばハードディスクや半導体メモリ等の不揮発性の記憶媒体を含み、サーバ100の動作に必要な設定値やコンピュータプログラムを記憶する。また、記録部1304は、PC102からアップロードされる、業務に関する様々なファイルのデータをデータベース1330に格納する。記録部1304に格納されるコンピュータプログラムは、サーバ100の諸機能を実現するためのオペレーティングシステム、種々のアプリケーション、及び以下で説明するアクセス制御プログラムなどの各種処理を実行するプログラム等を含む
操作部1303は、サーバ100を直接または遠隔で操作可能な操作機構であり、マウスやキーボードのほか、通信を介して外部装置から操作指示を受ける構成を含む。例えば、サーバ100の管理者が操作部1303を用いて、必要な設定を行ったり必要な情報を入力するなどのいくつかの操作を行う。
操作部1303は、サーバ100を直接または遠隔で操作可能な操作機構であり、マウスやキーボードのほか、通信を介して外部装置から操作指示を受ける構成を含む。例えば、サーバ100の管理者が操作部1303を用いて、必要な設定を行ったり必要な情報を入力するなどのいくつかの操作を行う。
本実施形態に係るネットワークリソースの分離について説明する前に、本実施形態を実現するための2つの技術、すなわち、API捕捉技術と、分離ポリシーの適用技術について説明する。
<API捕捉技術>
まず、API捕捉技術について説明する。本実施形態では、API捕捉技術は、利用者の扱う端末(例えばPC)のほか、例えばネットワーク上のファイルサーバやネットワーク機器(ネットワークリソース)に適用される。API捕捉技術をより一般的に説明するため、一般的な電子機器(例えばPC)にAPI捕捉技術が適用される場合を例に説明する。なお、当業者であれば、以下で説明するAPI捕捉技術が、ファイルサーバやネットワーク機器の各OSやアプリケーションとの間に実質的に同様に適用できることは明らかである。
まず、API捕捉技術について説明する。本実施形態では、API捕捉技術は、利用者の扱う端末(例えばPC)のほか、例えばネットワーク上のファイルサーバやネットワーク機器(ネットワークリソース)に適用される。API捕捉技術をより一般的に説明するため、一般的な電子機器(例えばPC)にAPI捕捉技術が適用される場合を例に説明する。なお、当業者であれば、以下で説明するAPI捕捉技術が、ファイルサーバやネットワーク機器の各OSやアプリケーションとの間に実質的に同様に適用できることは明らかである。
一般的に、アプリケーションがOSの管理するリソースにアクセスするには、OSが提供するAPI(Application Program Interface)を利用する。このAPIの利用方法はOSにより確定しており、APIを利用する実行コード部を判別することができる。本発明では、リソースへのアクセスに必要なすべてのAPIを監視する監視ルーチンを設け、アプリケーションがAPIを利用する前に、その実行コード部を変更するか、API処理の入り口を監視ルーチンと置き換えることで、API利用時に監視ルーチンが利用されるようにする。監視ルーチンは、アプリケーションが求めるAPIを処理するか、もしくはAPIの処理をせずに不正命令としてアプリケーションに結果を返す。本発明のリソース管理プログラムによって拡張したアクセス権限の管理は、OSの管理とは別に本プログラムが管理し、アクセス権限の種類別に監視ルーチンを設ける。この方法により、リソースを不正に利用するアプリケーションから、そのアクセスを制限する。
より具体的には、アプリケーションとオペレーティングシステムとの間に介在するリソース管理プログラムは、コンピュータリソースにアクセスするために指定されたアプリケーションからの操作要求をコンピュータリソースにアクセスする前に、アプリケーションが発行する操作要求のうち、指定されたコンピュータリソースに対する操作要求を監視して捕捉する。そして、捕捉した操作要求によって指定されるコンピュータリソースに対するアクセス権限の可否を、後述するコンピュータのアクセス権限をまとめた分離ポリシーに基づいて判断し、アクセスを制限する。
図2は、本発明に係るリソース管理プログラム203の構成及びAPI監視/制御の概念を示す図であり、リソース管理プログラム203はAPI監視コントローラ(API監視CTRL)2031、APL(アプリケーション)監視コントローラ(APL監視CTRL)2032、アクセス制御コントローラ(アクセス制御CTRL)2033、OS監視コントローラ(OS監視CTRL)2034から構成されている。
このリソース管理プログラム203は、リソースアクセス要求を出すアプリケーション2021や画面キャプチャーなどのOS機能操作2022を備える一般的なアプリケーションからなるユーザ環境202と汎用OS201との間に位置し、汎用OS201およびユーザ環境202が提供するリソースに対する要求を監視するようになっている。
なお、汎用OS201は、OSが管理するリソース2011と、OSがアプリケーション2021に提供しているAPI群2012を備える。
本発明に係るリソース管理プログラム203におけるAPI監視CTRL2031は、アクセス制御を行なうのに必要な全てのAPIを監視するモジュールである。また、APL監視CTRL2032は、アプリケーション2021が保持しているリソースを記憶するモジュールである。アクセス制御CTRL2033はリソース2011のアクセスが許可されているかを判断するモジュールであり、アクセス権限管理テーブル2035を備える。また、OS監視CTRL2034は、汎用OS201の機能によってリソースへアクセスする操作を監視するモジュールである。
アクセス権限管理テーブル2035は、図3に示すように、リソース指定情報20351、条件20352、n個のアクセス権限情報20353~2035nをリソース毎に登録可能に構成されている。
リソース指定情報20351は、汎用OS201が管理しているリソース2011のうち、特定のものを指定するための情報であり、例えば、ファイルの場合はファイル名やファイルIDなどの情報が登録される。アプリケーションであれば、例えばプログラム名が登録される。通信データの場合は、ホスト名、ポート番号、IPアドレスの他にBlueToothの識別子やWi-FiのAP(アクセスポイント)アドレスなどが登録され、メモリの場合は、そのオブジェクトを示すオブジェクト名、アドレスなどが登録される。また、外部装置の場合は、そのデバイスドライバを示すデバイス名やデバイスIDと呼ばれる一意の識別子などが登録される。
条件20352は、アクセス権限が有効となる条件またはその組み合わせを示すものであり、例えばユーザ名/ID、グループ名/ID、時刻などが登録される。
アクセス権限情報20353~2035nは、既存環境で定義されていない拡張したアクセス権限のうち、指定したリソースに付加した権限を示すものであり、例えば他媒体への移動権限、他媒体へのコピー権限、印刷権限、共有メモリへの読み込み権限(Windowsではクリップボードなど)、画面キャプチャー権限、使用アプリケーションの限定(特定アプリケーション以外での使用禁止やメール添付の禁止)などが登録される。また、読み取りと書き込みが存在するリソースにはそれぞれの権限が登録でき、例えば、特定USBメモリに対して書き込みはできないが読み込みは許可するということができる。また、書き込みが許可の場合でも暗号化による書き込みを指定することもでき、そのときの暗号鍵は分離ポリシー(分離ポリシーについては、後に詳しく説明する)に定義される。したがって、同じ暗号鍵を持つ分離ポリシーのみが当該情報を読み込むことができ、これにより、分離ポリシー単位で実質的に参照可能な情報を分離することが可能となる。ファイルやUSBデバイス、クリップボードなど書き込み権限を持つリソースで可能な指定である。通信リソースにおいては、読み込み(受信)、書き込み(送信)の他に接続(CONNECT)や受付(ACCEPT)の情報も持つ。
なお、一般的に、リソースへのアクセスは複数のAPIによって行われることがあり、その場合のリソース指定情報はOSが管理するID(ハンドルなど)に変換されることがある。その場合、リソース管理プログラム203の内部においては、リソース指定情報とそのIDは同一視するようにしている。
このような構成に係るリソース管理プログラム203の処理について、図2の(1)~(9)(図中の数字1~9に対応)で示す情報伝達手順に従って説明する。
(1)アプリケーション2021が発行したAPIによってリソースへのアクセス要求があれば、API監視CTRL2031がその要求を捕捉し、アクセス制御CTRL2033に伝える。
(2)アクセス制御CTRL2033は、アクセス権限チェックを行なう際、必要に応じて、アプリケーション2021が保持しているリソースの情報をAPL監視CTRL2032から取得する。
(3)アクセスを拒否する条件として2通りあるが、第1の条件A(アクセス拒否A)では、上記(1)のアクセス要求に対して、アクセス権限管理テーブル2035を参照してそのリソースへのアクセス権限チェックを行なう。チェックの結果、権限がない場合、アプリケーション2021が発行したAPIの処理を行なわずに、結果としてアクセス違反のエラーを返す。
(4)第2の条件B(アクセス拒否B)では、(1)のアクセス要求に対して、アクセス権限管理テーブル2035を参照してそのリソースへのアクセス権限チェックを行なう。チェックの結果、権限がなく、かつ、アプリケーション2021が発行したAPI{処理}の結果としてエラーを返すことができない場合、アプリケーション2021が要求したリソースへの処理を行なわずに、リソース管理プログラム203が予め用意したダミーのリソースへのアクセス要求に代えて、APIの処理を行なう。
その結果、アプリケーション2021は要求に成功したように動作するが、実際には要求したリソースにアクセスできない。
(5)アクセス要求(1)に対してアクセス権限チェックを行った結果、権限がある場合、API監視CTRL2031がそのアクセス要求を捕捉し、アプリケーション2021が発行したAPIの処理をそのまま汎用OS201に伝え、その結果をアプリケーション2021に返す。
(6)上記(5)の処理によって、APIが成功し、かつ、そのAPIによってアプリケーション2021がリソースを保持する場合は、APL監視CTRL2032に伝える。APL監視CTRL2032はアプリケーション2021と保持しているリソースの対応を登録する。
アプリケーション2021がリソースの解放要求APIを発行し、かつそのAPIが成功した場合も、APL監視CTRL2032に伝える。APL監視CTRL2032はアプリケーション2021と保持していたリソースの対応を抹消する。
(7)OS標準機能の操作によって、リソースへのアクセス要求があれば、OS監視CTRL2034がそのアクセス要求を捕捉し、アクセス制御CTRL2033に伝える。
(8)アクセス要求(7)に対して、アクセス権限管理テーブル2035を参照してそのリソースへのアクセス権限チェックを行なう。チェックの結果、権限がない場合、(7)の操作を無視する。
(9)アクセス要求(7)に対して、アクセス権限管理テーブル2035を参照してそのリソースへのアクセス権限チェックを行なう。チェックの結果、権限がある場合、(7)の操作を汎用OS201に伝える。
図4は、目的とするリソースに対するアクセス権限がある場合に、そのリソースを解放するまでのアプリケーション2021、リソース管理プログラム203、汎用OS201のやり取りを示したAPIの監視及び制御の第1の基本型(1)のシーケンス図である。
この第1の基本型(1)では、アプリケーション2021が発行したAPIによって目的のリソースへのアクセス要求があった場合(ステップ401)、リソース管理プログラム203はアプリケーション2021がそのリソースへのアクセス権限があるかをチェックする(ステップ402)。チェックの結果、アクセス権限がある場合(ステップ403)、汎用OS201にアプリケーション2021が発行したAPIをそのまま伝える。汎用OS201は、OS本来のAPI処理を行なう(ステップ404)。
リソース管理プログラム203は、API処理が成功した場合、アプリケーション2021がそのリソースを保持しているという情報を登録する(ステップ405)。そして、汎用OS201からのAPI結果をそのままアプリケーション2021に返す(ステップ406)。これにより、リソースへのアクセス完了となる(ステップ407)。
この後、アプリケーション2021から保持しているリソースの解放要求が発行された場合(ステップ408)、リソース管理プログラム203はその解放要求を汎用OS201に伝える。汎用OS201は、OS本来のAPI処理を行なう(ステップ409)。リソース管理プログラム203は、API処理が成功した場合、アプリケーション2021がそのリソースを保持しているという情報を解除する(ステップ410)。そして、汎用OS201からのAPI結果をそのままアプリケーション2021へ返す(ステップ411)。これにより、保持しているリソースの解放完了となる(ステップ412)。
図5は、目的とするリソースに対するアクセス権限がなかった場合に、そのアクセスが拒否されるまでのアプリケーション2021、リソース管理プログラム203、汎用OS201のやり取りを示したAPIの監視及び制御の第2の基本型(2)のシーケンス図である。
この第2の基本型(2)では、アプリケーション2021が発行したAPIによって目的のリソースへのアクセス要求があった場合(ステップ501)、リソース管理プログラム203はアプリケーション2021がそのリソースへのアクセス権限があるかをチェックする(ステップ502)。チェックの結果、アクセス権限がなかった場合(ステップ503)、アクセス違反エラーをアプリケーション2021に返す(ステップ504)。これにより、リソースへのアクセス処理終了となる(ステップ505)。
また、アクセス違反エラーに対応していないアプリケーション2021が発行したAPIによって目的のリソースへのアクセス要求があった場合(ステップ506)、リソース管理プログラム203はアプリケーション2021がそのリソースへのアクセス権限があるかをチェックする(ステップ507)。チェックの結果、アクセス権限がなく、かつ、アプリケーション2021がアクセス違反エラーに対応していない場合(ステップ508)、リソース管理プログラム203が予め用意したダミーのリソースへのアクセス要求に置き換え、汎用OS201に渡す(ステップ509)。
汎用OS201は、OS本来のAPI処理を行なう(ステップ510)。リソース管理プログラム203は、汎用OS201からのAPI処理結果をそのままアプリケーション2021へ返す(ステップ511)。この結果、目的のリソースへのアクセス処理終了となるが、ダミーリソースのため、実質的には何も行われない(ステップ512)。
なお、上記の説明では、アクセス権限がなかった場合、アクセス違反エラーをアプリケーション2021に返す場合と、予め用意したダミーのリソースへのアクセス要求に置き換える場合について説明したが、アクセスが許可された別のリソースにアクセスするように置き換えてもよい。ダミーあるいは別のリソースに置き換えることは、アクセス権限管理テーブル2035にて指定される。
<分離ポリシーの適用技術の概要>
以下、分離ポリシーの適用技術について説明する。分離ポリシーの適用技術をより一般的に説明するため、一般的な電子機器(例えばPC)に分離ポリシーの適用技術が適用される場合を例に説明する。別途後述するように、分離ポリシーの適用技術は、例えばネットワーク上のファイルサーバ(或いは他のネットワーク機器)においても適用される。
以下、分離ポリシーの適用技術について説明する。分離ポリシーの適用技術をより一般的に説明するため、一般的な電子機器(例えばPC)に分離ポリシーの適用技術が適用される場合を例に説明する。別途後述するように、分離ポリシーの適用技術は、例えばネットワーク上のファイルサーバ(或いは他のネットワーク機器)においても適用される。
以下の分離ポリシーの適用についての説明では、分離ポリシーに基づいてリソース管理プログラム203がリソースへのアクセス要求を管理する例を示す。分離ポリシーは、複数種類の業務について、それぞれの業務ごとに必要とされるアクセス権をそれぞれの業務ごとのポリシー(以下、分離ポリシーと呼ぶ)としてまとめて定義した情報である。
分離ポリシーには、対応する業務において実行可能あるいは実行不可能なアプリケーション、読み込み・書き込みが可能なあるいは不可能な領域(特定のローカルディスクやネットワークディスクなど)、許可された通信先(メールやインターネットなど)、対象となる利用者、PC、時間帯、利用場所などの情報が含まれる。
これら複数の定義された分離ポリシーは、PCの利用時に、利用者によって切り替えられ、あるいは自動的に切り替えられ、PCの動作時には、常にいずれかの分離ポリシーがリソース管理プログラム203に適用されることとなる。
PCで動作するOSやソフトウェアに対しては、リソース管理プログラム203が、適用されている分離ポリシーに定義された範囲でのみ、リソースへのアクセス要求を許可するように制御する。言い換えると、OSやソフトウェアが実行する処理を、リソース管理プログラム203により、APIレベルで捕捉し、分離ポリシーに反する処理は禁止し、分離ポリシーを満たす処理のみを実行させることで、分離ポリシーを満たす制御を行う。あるいは、分離ポリシーに反する処理は禁止するとともに、その分離ポリシーを満たす別の処理に切り替えるようにする。
さらに、リソース管理プログラム203による「APIの捕捉」では、アプリケーションレベルだけでなく、ドライバーやサービスと呼ばれるシステムレベルでも必要な捕捉を行うことで、PCが物理的に分離している環境と同等の分離を実現する。
例えば、インターネットにアクセスさせないためには、通信経路の途中で拒否するなど様々な従来技術でも実現可能であるが、物理的な分離ではそもそもPCをそのようなネットワークに接続しないことで実現する。これに対し、本実施形態では、リソース管理プログラム203により、PCの内側にあるAPIレベルでネットワークとの通信を実現する通信リソース(例えば、ネットワークカードなど)へのアクセスと拒否を判断するため、拒否される場合には、繋いだネットワークに通信が流れることはない。これは、通信機器自体がサイバー攻撃の対象になるなど昨今の懸念に対し、物理的分離と同等の効果がある。
次に、本実施形態における分離ポリシーで許可、禁止を規定する項目の例について説明する。
まず、分離ポリシーの制御情報として、以下のものが挙げられる。これらは、例えば、図3のリソース指定情報に対応させることができる。
(1)実行可否プログラム
それぞれのプログラムの実行許可もしくは禁止の指定を、プログラム名、プログラムパス、プログラムファイルのハッシュで登録する。
(2)読み出しアクセス(接続)の可否領域
各種情報の読み出しの許可もしくは禁止を指定する領域を、ファイルパス、URL、IPアドレス、ホスト名、USBデバイスID、メールアドレス、無線LANのAPで登録する。
(3)書き込み可否領域
書き込み許可もしくは禁止を指定する領域を、ファイルパス、URL(POST・PUT命令)、USBデバイスID、メールアドレス(SMTP)、クリップボードのデータタイプで登録する。書き込み許可においては暗号化書き込みの指定をすることもできる。その際の暗号鍵は、分離ポリシーで定義される。すでに説明したが、暗号化書き込みの暗号鍵を分離ポリシーごとに定義することにより、同じ暗号鍵を持つ分離ポリシーのみが当該情報を読み込むことがき、これにより、分離ポリシー単位で実質的に参照可能な情報を分離することが可能となる。
(4)一時アクセス可能領域
適用される分離ポリシーが変更されるタイミングで、ログオフする/しない、利用していたプログラムを終了する/しない、削除する領域(パス指定)、変更後の分離ポリシーで利用していたプログラムを再開する/しない、を指定する。
(1)実行可否プログラム
それぞれのプログラムの実行許可もしくは禁止の指定を、プログラム名、プログラムパス、プログラムファイルのハッシュで登録する。
(2)読み出しアクセス(接続)の可否領域
各種情報の読み出しの許可もしくは禁止を指定する領域を、ファイルパス、URL、IPアドレス、ホスト名、USBデバイスID、メールアドレス、無線LANのAPで登録する。
(3)書き込み可否領域
書き込み許可もしくは禁止を指定する領域を、ファイルパス、URL(POST・PUT命令)、USBデバイスID、メールアドレス(SMTP)、クリップボードのデータタイプで登録する。書き込み許可においては暗号化書き込みの指定をすることもできる。その際の暗号鍵は、分離ポリシーで定義される。すでに説明したが、暗号化書き込みの暗号鍵を分離ポリシーごとに定義することにより、同じ暗号鍵を持つ分離ポリシーのみが当該情報を読み込むことがき、これにより、分離ポリシー単位で実質的に参照可能な情報を分離することが可能となる。
(4)一時アクセス可能領域
適用される分離ポリシーが変更されるタイミングで、ログオフする/しない、利用していたプログラムを終了する/しない、削除する領域(パス指定)、変更後の分離ポリシーで利用していたプログラムを再開する/しない、を指定する。
また、分離ポリシーの適用対象情報として、以下のものが挙げられる。これらは、制御可能な条件又は図3のアクセス権限に対応させることができる。
(1)適用端末(PC)情報
マシン名、IPアドレス、MACアドレスを登録する。
(2)適用ユーザ情報
ユーザ名、グループ名を登録する。
(3)適用位置情報
OSから取得する位置情報、接続AP、接続ドメイン名、特定の社内PCを登録する。
(4)適用時間情報(時刻情報)
適用される時刻、期間、曜日を登録する。
(1)適用端末(PC)情報
マシン名、IPアドレス、MACアドレスを登録する。
(2)適用ユーザ情報
ユーザ名、グループ名を登録する。
(3)適用位置情報
OSから取得する位置情報、接続AP、接続ドメイン名、特定の社内PCを登録する。
(4)適用時間情報(時刻情報)
適用される時刻、期間、曜日を登録する。
また、別の分離ポリシーに切り替わるときの情報のクリア処理は、以下のように行われる。
(1)クリップボードを「クリアする/特定タイプに限定する/そのまま残す」を指定する。
(2)一時アクセス可能領域を「クリアする/同一ポリシーが適用されるまでアクセス不可にする/そのまま残す」を指定する。
(1)クリップボードを「クリアする/特定タイプに限定する/そのまま残す」を指定する。
(2)一時アクセス可能領域を「クリアする/同一ポリシーが適用されるまでアクセス不可にする/そのまま残す」を指定する。
そして、上記の制御情報、適用対象情報、クリア情報をセットとして一つの分離ポリシーを定義する。なお、分離ポリシーは名前を定義して複数定義することができ、分離ポリシーの切り替えの仕組みにより切り替えて、リソース管理プログラム203に適用される。
リソース管理プログラム203に分離ポリシーを適用する場合は、リソース管理プログラム203に供給された分離ポリシーを、図2に示したアクセス制御CTRL2033で解析し、アクセス権限管理テーブル2035に、図3に示したように、リソース指定情報、アクセス権限情報などに展開することにより適用される。なお、分離ポリシーを切り替える仕組みは、ユーザが選択して切り替えられるように構成されていてもよいし、PCを使用する地点情報(例えば会社なのか自宅なのかなど)に基づいて自動的に切り替えられるように構成されていてもよい。
ここで、図6A、6Bは、分離ポリシーの具体的な例を示す図である。
例えば、企業などで使用する分離ポリシーとしては、社内機密作業用の分離ポリシー、社内事務作業用の分離ポリシー、自宅でのリモート作業用の分離ポリシー、社外出張作業用の分離ポリシー、未登録の場所用の分離ポリシー、既定の分離ポリシーなどが考えられる。
より具体的には、社内機密作業用の分離ポリシーでは、その分離ポリシーが適用されるPCを限定するとともに、使用する人物を例えば一部の管理職や開発担当者などに限定し、さらに使用できる場所なども厳しく限定する。そして、社内機密作業用の分離ポリシーが適用されたリソース管理プログラム203は、アプリケーション2021からのアクセス要求をほとんどすべてのリソースに対して許可する。例えば、使用可能なプログラムについては、スケジュール管理アプリ、開発用アプリ、文書作成アプリなど、基本的にすべてのプログラムをアクセス可能とする。また、読み出し可能領域、書き込み可能領域などについても、外部のHDD、自身のHDD、その他の記憶領域のほぼすべてを使用可能とする。このようにすることで、社内の機密情報などを一部の人物のみがアクセス可能となり、且つその情報を用いた各種作業なども自由に行うことができる。ただし、社内機密を扱う可能性がある性質上、ネットワークに対するアクセスは、社内ネットワークにはアクセス可能であるが、インターネットにはアクセス不可とする。
また、社内事務作業用の分離ポリシーでは、社内機密作業用の分離ポリシーに比べて、端末を使用可能な人物を会社内で事務作業用に登録された人物に広げ、また、使用可能な位置情報なども、より広い範囲とする。このように、使用可能な人物や場所を広げることにより、セキュリティの程度が低くなるため、リソース管理プログラム203は、この分離ポリシーが適用された場合のアクセス可能なリソースを、社内機密作業用の分離ポリシーに比べて少なくする。例えば、使用可能なプログラムについては、開発用アプリなどは利用不可とし、スケジュール管理アプリ、文書作成アプリなど、基本的に事務作業に必要とされるプログラムのみにアクセス可能とする。また、読み出し可能領域、書き込み可能領域などについては、外部のHDDにはアクセス不可とし、自身のHDDのみにアクセス可能とする。また、ネットワークに対するアクセスは、インターネットを使用して調べ物をする場合などもあるため、社内ネットワーク、インターネットにアクセス可能とする。あるいは、業務によっては、社内ネットワークは許可するがインターネットへの通信は不可とするケースもある。
また、自宅でのリモート作業用の分離ポリシーでは、適用される端末を、会社に登録されたモバイルPCとし、使用できる場所は、会社に登録された社員の自宅とする。リモート作業用の分離ポリシーを適用する場合は、端末が、自身のGPS情報と、登録された社員の自宅の住所を参照して、リソース管理プログラム203に適用する。自宅でのリモート作業では、会社でのセキュリティよりもその程度が低くなるため、使用できるプログラムもさらに制限される。例えば、開発用アプリ、事務作業用アプリなどは利用不可とし、文書作成アプリなど、基本的に自宅での仕事に必要とされるプログラムのみにアクセス可能とする。また、読み出し可能領域、書き込み可能領域などについては、外部のHDDにはアクセス不可とし、自身のHDDは読み出しのみ可能とし、社内に用意されたストレージのみを読み書き可能とする。また、インターネットや社内ストレージを社内ネットワークを経由して利用させるために、ネットワークは社内ネットワークに接続するためのVPN(Virtual Private Network)のみをアクセス可能とする。
また、社外出張作業用の分離ポリシーでは、適用される端末を、会社に登録されたモバイルPCとし、使用できる場所は、会社に登録された外出先とする。社外出張作業用の分離ポリシーを適用する場合は、自身のGPS情報と、登録された外出先の住所を参照して、リソース管理プログラム203に適用する。また、使用できるプログラムも自宅作業よりも制限され、ブラウザやメールのみなどとする。さらに、読み出し可能領域は、持参したUSBメモリの内容のみなどに限定する。また、ネットワークに対するアクセスは不可とする。
また、社員あるいは他の人物が未登録の場所などの不明な場所で、会社に登録されている端末を使用しようとした場合は、セキュリティの状態が不明であるため、リソース管理プログラム203は、全てのリソースへのアクセスを禁止する。
また、既定分離ポリシーとは、適用ポリシーが存在しない場合に採用される予め規定された分離ポリシーであり、一般的な事務作業用プログラム、文書作成アプリ、メールなどが使用可能な分離ポリシーである。既定分離ポリシーでは、会社での端末の使用が前提となり、会社での一般的な作業を可能とする。また、ネットワークに対するアクセスは、社内事務作業用の分離ポリシーと同様に、インターネットを使用して調べ物をする場合などもあるため、社内ネットワーク、インターネットにアクセス可能とする。
次に、分離ポリシーの管理方法について説明する。
(1)分離ポリシーをファイルで持つ場合
分離ポリシーのファイルには「分離ポリシーの例」の情報が、そのままあるいは暗号化されて格納されている。分離ポリシーのファイルは、利用する端末PCに事前に記憶させておいてもよく、また、管理サーバに保存しておき、サーバへの接続時に最新ポリシーが端末PCに転送されるようにしておいてもよい。分離ポリシーのファイルを管理サーバで管理する場合は、適用されているポリシーにかかわらず、分離ポリシーを管理サーバから受信できるように、管理サーバと端末PCは通信可能に設定される。
(2)分離ポリシーが管理サーバからPCに動的に渡される場合
端末PCが実体としてポリシーファイルを持たずに、管理サーバから受け取った分離ポリシーを、端末PCが自身のメモリに保存して利用する。端末PCから、ポリシー選択に必要なデータ(PC名、ユーザ名、場所)を定期的に又は特定のイベントごとにサーバへ送信し、サーバがそれに応じた分離ポリシーを端末PCに提供する。再起動後などのポリシーが存在しないタイミングにおいては、前述の「既定分離ポリシー」を利用する。
(3)既定分離ポリシーを利用する場合
既定分離ポリシーとは、すでに説明したように、適用ポリシーが存在しない場合に採用される予め規定された分離ポリシーである。既定分離ポリシーは、端末にファイルとして保存されている場合と、システム内に規定値として実装される場合がある。通常は、例えば管理サーバと端末PCの通信が可能、ローカルディスクが使用不可などの条件に制限された内容で定義される。
(1)分離ポリシーをファイルで持つ場合
分離ポリシーのファイルには「分離ポリシーの例」の情報が、そのままあるいは暗号化されて格納されている。分離ポリシーのファイルは、利用する端末PCに事前に記憶させておいてもよく、また、管理サーバに保存しておき、サーバへの接続時に最新ポリシーが端末PCに転送されるようにしておいてもよい。分離ポリシーのファイルを管理サーバで管理する場合は、適用されているポリシーにかかわらず、分離ポリシーを管理サーバから受信できるように、管理サーバと端末PCは通信可能に設定される。
(2)分離ポリシーが管理サーバからPCに動的に渡される場合
端末PCが実体としてポリシーファイルを持たずに、管理サーバから受け取った分離ポリシーを、端末PCが自身のメモリに保存して利用する。端末PCから、ポリシー選択に必要なデータ(PC名、ユーザ名、場所)を定期的に又は特定のイベントごとにサーバへ送信し、サーバがそれに応じた分離ポリシーを端末PCに提供する。再起動後などのポリシーが存在しないタイミングにおいては、前述の「既定分離ポリシー」を利用する。
(3)既定分離ポリシーを利用する場合
既定分離ポリシーとは、すでに説明したように、適用ポリシーが存在しない場合に採用される予め規定された分離ポリシーである。既定分離ポリシーは、端末にファイルとして保存されている場合と、システム内に規定値として実装される場合がある。通常は、例えば管理サーバと端末PCの通信が可能、ローカルディスクが使用不可などの条件に制限された内容で定義される。
次に、上記のような分離ポリシーを業務に応じて切り替える方法について説明する。
まず、PCの利用開始時に適用の候補となる分離ポリシーは、分離ポリシーに登録された適用対象情報がそのPCの利用状況に適合したものに限定される。さらに、適用対象情報のうち、適用端末情報、適用ユーザ情報、適用位置情報、適用時間情報等の情報種別に基づいて分離ポリシーに優先順位を定義することができ、この優先順位の最上位で適合したものが候補となる。
例えば、情報種別の優先順位を適用端末情報が上位で、適用ユーザ情報が下位と定義していた場合において、端末AをユーザBが利用する場合、端末A用の分離ポリシーとユーザB用の分離ポリシーについて考えると、候補となるのは端末A用の分離ポリシーとなる。
また、同じ情報種別に属する分離ポリシーに対しても適用優先順位を定義することもでき、また同じ優先順位を定義することもできる。情報種別の優先順位で限定された後においてもまだ複数の候補があった場合は、分離ポリシーの優先順に従って選択される。
このように分離ポリシーの候補を限定した結果、複数の分離ポリシーが候補となった場合は、その中から利用者が任意に選択することができる。選択しない場合は、PCの内部で最初に適合した分離ポリシーが適用される。
図7は、端末PCが分離ポリシーを選択する場合の動作を示すフローチャートである。図7のフローチャートの動作は、端末PCが起動された時に開始される。なお、端末PCは、図1Bに示した端末PCであってよく、本フローチャートの動作は、CPU1210が記録部1207に格納されるプログラムを展開、実行することにより実現されてよい。
ステップS701において、端末PCのCPU1210は、自身のPC名、ユーザ名、使用場所、時刻の情報を取得する。
ステップS702では、端末PCのCPU1210は、自身のハードディスクなどに保存されている分離ポリシーのファイルを取得する。
ステップS703では、端末PCのCPU1210は、PC名、ユーザ名、使用場所、時刻などの適用対象情報のうち、優先順位の最も高い適用対象情報に合致する分離ポリシーを選択する。
ステップS704では、端末PCのCPU1210は、ステップS703で選択された最も優先度の高い適用対象情報に対応するポリシーが複数あるか否かを判定し、複数ある場合はステップS705に進み、そうではない場合はステップ706に進む。
ステップS705では、端末PCのCPU1210は、複数の候補となる分離ポリシーのうち、予め設定された優先順位の最も高い分離ポリシーを選択する。
ステップS706では、端末PCのCPU1210は、分離ポリシーが1つであるか否かを判定する。分離ポリシーが1つである場合は、ステップS708に進み、分離ポリシーが1つもない場合は、ステップS707に進む。
ステップS707では、端末PCのCPU1210は、既定分離ポリシーを選択する。
ステップS708では、ステップS705~S707のいずれかで選択された分離ポリシーをリソース管理プログラム203に適用する。
なお、ステップS706では、複数の候補となる分離ポリシーのうち、予め設定された優先順位の最も高い分離ポリシーを選択するように説明したが、ユーザが選択するようにしてもよい。
図8は、分離ポリシーを管理する管理サーバから端末PCに分離ポリシーを供給する場合の、管理サーバが分離ポリシーを選択する動作を示すフローチャートである。図8のフローチャートの動作は、管理サーバが端末PCから分離ポリシーの送信要求を受けた時に開始される。なお、管理サーバは、図10に示す管理サーバであってよい。管理サーバのハードウェア構成は、図1Cに示したサーバが具備するハードウェア構成(すなわち通信回路、CPU、RAM、記録デバイスなど)と実質的同一であってよい。
ステップS801において、管理サーバのCPUは、端末PCから、PC名、ユーザ名、使用場所、時刻の情報を取得する。
ステップS802では、管理サーバのCPUは、自身のハードディスクなどに保存されている分離ポリシーのファイルを取得する。
ステップS803では、管理サーバのCPUは、端末PCから受け取ったPC名、ユーザ名、使用場所、時刻などの適用対象情報のうち、優先順位の最も高い適用対象情報に合致する分離ポリシーを選択する。
ステップS804では、管理サーバのCPUは、ステップS803で選択された最も優先度の高い適用対象情報に対応するポリシーが複数あるか否かを判定し、複数ある場合はステップS805に進み、そうではない場合はステップ806に進む。
ステップS805では、管理サーバのCPUは、複数の候補となる分離ポリシーのうち、予め設定された優先順位の最も高い分離ポリシーを選択する。
ステップS806では、管理サーバのCPUは、分離ポリシーが1つであるか否かを判定する。分離ポリシーが1つである場合は、ステップS808に進み、分離ポリシーが1つもない場合は、ステップS807に進む。
ステップS807では、管理サーバのCPUは、既定分離ポリシーを選択する。
ステップS808では、管理サーバのCPUは、ステップS805~S807のいずれかで選択された分離ポリシーを端末PCに送信する。
なお、ステップS805では、複数の候補となる分離ポリシーのうち、予め設定された優先順位の最も高い分離ポリシーを選択するように説明したが、複数の分離ポリシーの候補を端末PCにそのまま送信し、端末PC上で適用する分離ポリシーをユーザが選択するようにしてもよい。
また、上記の説明では、どの分離ポリシーを選択するかは、端末の起動時に判定されるものとして説明した。しかし、ログオン時やユーザの切り替え時などのユーザ情報が変更された場合、登録した位置情報が確定・変更された場合、OSから取得した日時が変更された場合などのタイミングにおいても上記の処理を行い、分離ポリシーが適宜更新される。そして、その都度、上記の選択方法によって選択・適用された分離ポリシーに従って、PCの利用時のOS及びすべてのプログラムの動作が制御される。
<ネットワークリソースの分離>
次に、本実施形態に係るネットワークリソースの分離について説明する。ネットワークリソースの分離では、ネットワークリソース(例えばファイルサーバ、ゲートウェイマシン、又はプロキシサーバ)においてもAPI捕捉と分離ポリシーを適用してアクセス対象を分離する。なお、ネットワークリソースにおけるアクセス制御は、本実施形態に係る分離ポリシーに従ったアクセス制御が可能な限り、上述のAPI捕捉を用いる代わりに、各ネットワークリソースに実装されている既存のアクセス制御技術を用いて実施されてもよい。
次に、本実施形態に係るネットワークリソースの分離について説明する。ネットワークリソースの分離では、ネットワークリソース(例えばファイルサーバ、ゲートウェイマシン、又はプロキシサーバ)においてもAPI捕捉と分離ポリシーを適用してアクセス対象を分離する。なお、ネットワークリソースにおけるアクセス制御は、本実施形態に係る分離ポリシーに従ったアクセス制御が可能な限り、上述のAPI捕捉を用いる代わりに、各ネットワークリソースに実装されている既存のアクセス制御技術を用いて実施されてもよい。
ネットワークリソースの分離を可能にする分離ポリシーについて、図9A、図9B-1及び図9B-2を参照して説明する。ネットワークリソースの分離を可能にする分離ポリシーは、図6A及び図6Bを参照して説明した分離ポリシーを拡張したものである。分離ポリシーには、分離ポリシーごとに固有の分離ポリシー名(すなわち分離ポリシーを識別する情報)が付与される。また、ネットワークリソースを分離するための分離ポリシーは、図9B-1及び図9B-2を参照して後述するように、図6A及び図6Bに示した分離ポリシーの制御情報と適用対象の情報に加えて、ネットワークリソース制御情報が更に追加される。
ネットワークリソースを分離する分離ポリシーは、ネットワークリソース上において、上述の分離ポリシーと同様、リソース管理プログラム203に供給された分離ポリシーを、図2に示したアクセス制御CTRL2033で解析し、アクセス権限管理テーブル2035に、図3に示したように、リソース指定情報、アクセス権限情報などに展開することにより適用される。
図9Aには、ネットワークリソースの分離を可能する分離ポリシーによって実現される環境の例を説明している。図9Aに示す「社内機密作業A用」と「社内機密作業B用」は、例えば、図6A及び図6Bに示した「社内機密作業用」の分離ポリシーを作業ごとにアクセス先が異なるように別個の作業ポリシーに拡張させた例を示している。「社内機密作業A用」と「社内機密作業B用」では、とりわけ、ファイルサーバ上で存在する(存在しているように見える)データ領域が異なる。図9Aに示す「すかし印刷業務」、「クラウド限定」、「クラウド限定(アプリ限定)」なる分離ポリシーは、図6A及び図6Bに示した例とは直接的に対応していない新たな例示である。
ネットワークリソースを分離するための分離ポリシーは、図9B-1に示すように、分離ポリシーの制御情報と、適用対象の情報と、ネットワークリソース制御情報とを含む。制御情報は、上述のように、使用可能プログラムと読み出し可能領域と書き込み可能領域と、一時アクセスの情報を含む。図6Aと同様であってよいため、図9B-1に示す例ではその詳細な例示を省略している。分離ポリシーの適用対象情報はネットワークリソースにアクセス可能な対象(例えばPC)を示す。分離ポリシーの適用対象情報は、図6A及び図6Bを参照して説明した構成と同様に、端末情報、ユーザ情報、位置情報、時間情報を含む。すなわち、「端末情報」は、例えば、マシン名、IPアドレス、MACアドレスの少なくともいずれかで指定されてよい。「ユーザ情報」は、ユーザ名、或いはグループ名で指定することができる。「位置情報」は、ユーザが利用するPCのOSから取得する位置情報、接続AP、接続ドメイン名、特定の社内マシンを示す識別子、などの少なくともいずれかを含んでよい。更に、「時間情報」は、分離ポリシーを適用してPCを使用可能な日時の期間、或いは曜日で指定することができる。
ネットワークリソース制御情報は、アクセス制御(許可もしくは禁止)の対象となるネットワークリソースを、IPアドレス、ホスト名、URL、ファイルサーバのディレクトリパス、及びネットワーク機器名(プリンターやスキャナなど)などの少なくともいずれかの情報を含む。図9B-2に示す例では、例えば、IPアドレス・ホスト名と、サーバ内のディレクトリパスと、URLとを含む。IPアドレス・ホスト名は、アクセスを許可する又は禁止するネットワークリソースのIPアドレスやホスト名を指定する。サーバ内のディレクトリパスは、ファイルサーバやリモート機器においてアクセスを許可する又は禁止するリソースを指定する。図9B-2に示す例では、「社内機密作業A用」と「社内機密作業B用」の分離ポリシーでは、ファイルサーバ上のそれぞれの業務専用のデータ領域のみへのアクセスが許可されるように構成されている。URLは、アクセスを許可する又は禁止するウェブサービスのURLを指定する。
また、ネットワークリソース制御情報では、アクセスを行うアプリケーションプログラムとの組み合わせでこれらの情報を指定するようにしてもよい。例えば、ネットワークリソースへのアクセスの許可もしくは禁止を指定するプログラムを、プログラム名、プログラムパス、プログラムファイルのハッシュの少なくともいずれかを用いて指定してよい。図9B-2に示す例では、分離ポリシー「クラウド限定(アプリ限定)」において、アクセスを行うプログラム「teams.exe」及び「edge.exe」が指定されている。アクセスを行うプログラムは、例えば、APIを捕捉するAPI捕捉制御処理で判別される。
なお、適用対象を構成する情報と、ネットワークリソース制御情報を構成する情報とは、必要に応じて、役割(PC、ゲートウェイ、ファイルサーバなど)に応じて省略或いはマスクした、別個の分離ポリシーとして用いることもできる。その場合には、当該別個の分離ポリシーをPCやファイルサーバに適用するにあたって、分離ポリシー名或いは分離ポリシーの識別IDで連動させるようにしてもよい。
ネットワークリソースの分離においても、図7で説明したように、複数の分離ポリシーが、(提供対象情報を満たすように)自動的に切り替えられてよいし、利用者がPCを利用する際に、適用対象情報を満たす範囲で、分離ポリシーを切り替えてもよい。これらの切り替えにより、利用者がPCを動作させる際には、常にいずれかの分離ポリシーが適用される状態となっている。
PCがファイルサーバなどのネットワークリソースにアクセスする構成では、分離ポリシーの応じたアクセス制御を行う上述のリソース管理プログラムが、ゲートウェイやプロキシ、ファイルサーバなどの1つ以上のネットワークリソース上でも動作する。PCがネットワークリソースにアクセスしようとする場合、ネットワークリソース上に存在するリソース管理プログラムが、アクセス元のPCの現在の分離ポリシーを特定し、リソース管理プログラムが持つ分離ポリシーのうちPCに適用されるポリシー名と同名のもののポリシー内容にしたがって、アクセス制御を行う。PCで適用されている分離ポリシーが変更された場合、PCが変更後の分離ポリシー名(分離ポリシーを識別する情報)をネットワークリソース(ファイルサーバやプロキシー)に送信することで、ネットワークリソースが適用する分離ポリシーをPCが適用する分離ポリシーに連動させてもよい。なお、PCとネットワークリソースの両方において、それぞれのリソース管理プログラムが同一の分離ポリシー名の分離ポリシーを適用してAPI捕捉を行うことができる。このようにすれば、PCとネットワークリソースの両方が、適用される分離ポリシーに連動して分離され、強固なセキュリティを確保することができる。一方、PCでは、適用する分離ポリシー名を取得するがAPI捕捉を実行しないようにしてもよい。つまり、ネットワークリソース側のファイルサーバやゲートウェイだけで(PCが取得した分離ポリシー名に対応する)分離ポリシーを適用したAPI捕捉を行うようにしてもよい。この場合であっても、PCから先のネットワークリソースは分離ポリシーに従って適切に分離制御されるが、PC側ではAPI捕捉のような特別な制御を行う必要がないため、PC側の実装が簡易になり、またPCの動作が高速になる。また、複数のPCからファイルサーバにアクセスする経路上に1つ以上のゲートウェイが存在する場合に、経路上の1つ以上のゲートウェイのみにおいて、分離ポリシーに従うAPI捕捉を行うようにしてもよい。この場合、PCとファイルサーバではAPI捕捉を行わないため、PCとファイルサーバに特別な制御を必要としないが、1つ以上のゲートウェイが(PCが取得した分離ポリシー名に対応する)分離ポリシーに従うアクセス制御を行うことで、簡便にかつセキュリティを高めたネットワーク分離を実現することができる。
ネットワークリソースを分離する分離ポリシーは、例えばファイルの形式(分離ポリシーファイル)で上述した分離ポリシーの情報が格納されていてよい。分離ポリシーファイルは暗号化されていてもよい。分離ポリシーファイルは、PCおよびネットワークリソースに事前に記憶されていてよい。
また、分離ポリシーの内容を管理するための管理サーバを配置して、管理サーバから分離ポリシーを配布するようにしてもよい。更に、PCが保持する分離ポリシーには適用対象情報のみが含まれるようにし、ネットワークリソースが保持する分離ポリシーにはネットワークリソース制御情報のみが含まれるようにしてもよい。このようにする場合には、ネットワーク構成の変更に伴ってポリシー内容も変更するケースなど、ネットワークリソース制御の管理が容易になる場合がある。分離ポリシーを装置間でやり取りする場合には、機器間で認証を行ったうえで分離ポリシーをやり取りし得る。また、やり取りする分離ポリシーやその他のやり取りされるデータは暗号化され得る。
管理サーバを用いる場合には、PC及びネットワークリソースが、定期的に又は不定期に管理サーバにアクセスし、最新の分離ポリシーファイルを取得することにより、各機器の分離ポリシーを更新してもよい。なお、PC及びネットワークリソースが利用する分離ポリシーを管理サーバで管理する場合、PCとネットワークリソースは、設定される分離ポリシーの内容に関わらず、分離ポリシーファイルを取得できるように管理サーバに対してはアクセス可能であるように構成される。
また、分離ポリシーの一態様として、管理サーバがPC及びネットワークリソースに分離ポリシーの情報を動的に提供してもよい。この場合、PC及びネットワークリソースは、管理サーバから受け取った分離ポリシーの情報を機器内のメモリ又は記録部に記憶させ、利用する。再起動後などの分離ポリシーの情報が存在しないタイミングにおいては、後述の「既定分離ポリシー」を利用してもよい。
PCの起動直後や分離ポリシーの切り替えのタイミングでは、PC(及びネットワークリソース)は、予め定められた特定の分離ポリシー(既定分離ポリシーという)を用いるようにしてよい。既定分離ポリシーは、例えば、適用する分離ポリシーが存在しない場合に暫定的に適用される既定の分離ポリシーである。ネットワークリソース内の制御部は、アクセス元が適用ポリシーを持たないか存在しない分離ポリシーを適用している場合、既定値としての分離ポリシーを適用してよい。既定分離ポリシーは、最大限に制限されたポリシーの内容で定義され得る。最大限に制限されたポリシーは、例えば、管理サーバとのみ通信可能であったり、全てのネットワークリソースへのアクセスを禁止するなどであり得る)。
図10は、PC102とファイルサーバ100とが社内に配置されており、分離ポリシーに従って、PC102がファイルサーバ100のファイルデータにアクセスする様子を模式的に示している。この例では、(ネットワークリソースを分離する)分離ポリシーのファイルが、PC102とファイルサーバ100とのそれぞれの記録部に予め記憶されるものとする。また、PC102とファイルサーバ100とのそれぞれが記憶する分離ポリシーのファイルは、管理サーバによって予め配信されて更新されている(S1000)。利用者101がPC102の使用を開始すると、例えば、図7に示したPC102の処理により分離ポリシーが適用される(S1002)。例えば、このとき、分離ポリシー「社内機密作業A用」がPC102に適用されたものとする。PC102は、自身に適用されている分離ポリシーの識別情報(すなわち分離ポリシー名)をファイルサーバ100に送信する(S1004)。なお、後述するファイルサーバにおけるアクセス制御の動作で説明するように、分離ポリシーの識別情報の取得は、PC102からファイルアクセスがあった後に行なわれてもよい。
ファイルサーバ100は、PC102からのファイルアクセス(すなわちアクセス要求)を受信する(S1006)と、取得した分離ポリシーの識別情報に対応する分離ポリシー(例えば「社内機密作業A用」)を特定(適用)して、ファイルサーバ100のリソース管理プログラムが当該分離ポリシーに応じたアクセス制御を行う(S1008)。ファイルサーバ100は、分離ポリシーにおいて許可されているデータ領域へのアクセスであれば、要求されたファイルデータをPC102に送信する(S1010)。
ファイルサーバ100のリソース管理プログラムは、PC102からアクセスがあったタイミングで当端末に現在の分離ポリシーの内容を確認(プログラムとの組み合わせで制御情報が登録されているときはアクセス元のプログラムも確認)する。そして、API捕捉制御処理において分離ポリシーに従ってアクセスを許可したり拒否したりする。このようにすれば、ファイルサーバ内のディレクトリへのアクセス制御などの、細かなネットワークリソース制御が可能になる。なお、TCP/UDPのように「接続を確立する」処理が存在するプロトコルや、ファイルアクセスのように「オープン」処理が存在するアクセスの場合には、当処理に対して制御を実行し、それ以降の処理においては制御を省略することができる。
図10に示した例では、管理サーバが分離ポリシーの情報をPCとファイルサーバとに配信し、それぞれの記録部に分離ポリシーの情報を記憶させる例を示したが、分離ポリシーの配信及び分離ポリシーの選択はこれに限らない。PC102における分離ポリシーの適用は、図8に示したように、管理サーバによって決定され、決定された分離ポリシー名がPC102に送信されてもよい。この場合、例えば、ファイルサーバ100に適用される、対応する分離ポリシーの情報(例えば、ネットワークリソース制御情報)が管理サーバからファイルサーバ100へ送信されてもよい。この場合には、ファイルサーバ100は、アクセス元を識別する情報(例えばPCを識別する情報)を管理サーバに送信することにより、対応する分離ポリシーの情報を取得してもよい。更に、ネットワーク構成としてPCからファイルサーバ100へのアクセス経路中に1つ以上のゲートウェイマシンを置く場合は、ファイルサーバ100は、分離ポリシーの識別情報を当該ゲートウェイマシンから取得してもよい。そして、ファイルサーバ100は、当該識別情報に対応する分離ポリシーの情報(例えば、ネットワークリソース制御情報)を管理サーバから取得してもよい。
また、ネットワーク構成としてPCからファイルサーバ100へのアクセス経路中に1つ以上のゲートウェイマシンを置く場合は、これ以降のネットワークリソース内に分離ポリシーを持つ必要はなく、ゲートウェイマシンが例えばファイルサーバ100に分離ポリシーの情報を伝えるようにしても良い。この場合、ポリシー管理は容易になる。なお、プロキシサーバでアクセス可能なURLを制御するだけといったケースでは、既存の単純な制御技術(プロキシプログラムやゲートウェイプログラムなど)を利用してアクセス制御しても良い。
このように、ネットワーク内のネットワークリソースにおいて、アクセス元となるPCで適用される現在の分離ポリシーに連動して、分離ポリシーで定義されたアクセス可能なネットワークリソースに限定されたアクセス制御を実現することができる。このようにすることで、結果として同一端末からのアクセスでありながら利用可能なネットワークリソースが必要に応じて(別のネットワークリソースであるかのように)随時分離できるようになる。
<ファイルサーバにおけるアクセス制御処理>
次に、図11を参照して、ネットワークリソースであるファイルサーバ100において、分離ポリシーに従ったアクセス制御を行う処理について説明する。本フローチャートの動作は、CPU1310が記録部1304に格納されるプログラムを展開、実行することにより実現されてよい。このとき、このCPU1310による本処理の一部又は全部は、CPU1310がプログラムを実行して動作させる上述のリソース管理プログラムによって実現される。なお、以下で説明する動作例では、PC102が自身に適用されている分離ポリシーの識別情報をファイルサーバ100に送信するタイミングが、図10で説明したタイミングと異なる例を示している。しかし、PC102に適用されている分離ポリシーの識別情報を送信するタイミングは図10に示したタイミングであってもよい。
次に、図11を参照して、ネットワークリソースであるファイルサーバ100において、分離ポリシーに従ったアクセス制御を行う処理について説明する。本フローチャートの動作は、CPU1310が記録部1304に格納されるプログラムを展開、実行することにより実現されてよい。このとき、このCPU1310による本処理の一部又は全部は、CPU1310がプログラムを実行して動作させる上述のリソース管理プログラムによって実現される。なお、以下で説明する動作例では、PC102が自身に適用されている分離ポリシーの識別情報をファイルサーバ100に送信するタイミングが、図10で説明したタイミングと異なる例を示している。しかし、PC102に適用されている分離ポリシーの識別情報を送信するタイミングは図10に示したタイミングであってもよい。
ステップ1101では、ファイルサーバ100のCPU1310は、例えば管理サーバから分離ポリシーファイルを取得する。なお、ファイルサーバ100が管理サーバから分離ポリシーファイルを予め取得することは必須ではない。分離ポリシーの内容を予めPCから取得するように構成されてもよいし、PCがファイルサーバ100にアクセスする際に、ファイルサーバ100が管理サーバから分離ポリシーの内容を取得してもよい。
ステップ1102では、CPU1310は、PC102からファイルに対するアクセス要求があったかを判定する。このとき、CPU1310は、ファイルアクセスと共に、適用対象に関する情報(端末情報、ユーザ情報、位置情報、時間情報)を合わせて取得してもよい。CPU1310は、PC102からファイルに対するアクセスがあったときは、処理をS1103に進め、そうでない場合にはS1102に進む。
ステップ1103では、CPU1310は、PC102が適用する分離ポリシーの識別情報を取得する。ステップ1104では、CPU1310は、取得した分離ポリシーの識別情報に応じて、分離ポリシーファイルのネットワークリソース制御情報を抽出し、アクセス制御に用いる情報(例えば図3に示すリソース指定情報や条件、アクセス権限)として設定する。CPU1310は、分離ポリシーファイルの適用対象の情報を更にアクセス制御に用いる情報として設定してもよい。
ステップ1105では、CPU1310は、アクセス制御に用いる情報として設定されたネットワークリソース制御情報に従って、API捕捉を用いたリソース管理プログラムによるアクセス制御を行う。このとき、S1104において、分離ポリシーファイルの適用対象の情報が設定されている場合、当該適用対象の情報にも従ってアクセス制御を行う。
ステップ1106では、CPU1310は、リソース管理プログラムによるアクセス制御の結果に応じて、結果を送信する(例えばアクセスしたファイルをPC102に送信する)。CPU1310は、結果を送信すると本処理を終了する。
なお、上述の説明では、PC102からファイルサーバ100上のコンピュータリソースであるファイルへのアクセス要求が実行される例について説明した。しかし、PC102からネットワーク機器へアクセスされる場合(例えばプロキシーへインタネットへのアクセス要求が行われる場合)も同様である。すなわち、プロキシーが分離ポリシーを適用し、分離ポリシーに従ってプロキシー上のコンピュータリソース(例えばポートや確立した接続・トンネルなど)へのアクセス制御を行えばよい。
以上説明したように、上述の実施形態では、分離ポリシーに応じたAPI捕捉によるアクセス制御を、利用者が使用するPCとネットワークリソース(例えばファイルサーバやネットワーク機器)上とで連動させて行うようにした。このようにすることで、業務ごとにPCとネットワークリソース側のそれぞれが物理的に分離している環境であるように振る舞うことができる。また、PCとネットワークリソースとが連動して同じ分離ポリシーで動作するため、ネットワーク環境自体が、物理的に分離した別個の環境であるかのように振る舞うことができる。すなわち、端末やネットワーク上の機器の既存のOSやプロセスを利用しつつ、作業者が利用できるネットワークリソースに対して、作業者の利用状況に即した拡張されたアクセス制御を実現することができる。
発明は上記の実施形態に制限されるものではなく、発明の要旨の範囲内で、種々の変形・変更が可能である。
Claims (14)
- 利用者が用いる通信装置からの、ネットワークリソース上のコンピュータリソースに対するアクセスを制御する情報処理方法であって、
複数種類の業務ごとに許可されるアクセス権限をそれぞれの業務ごとのポリシーとして定義した複数のポリシーから、前記通信装置の状態に適したポリシーを選択する選択工程と、
前記ネットワークリソースにおいて、
前記通信装置に対して選択されたポリシーの情報を取得する取得工程と、
前記通信装置から前記ネットワークリソース上のコンピュータリソースに対するアクセス要求を受信した場合に、前記ネットワークリソース上の前記コンピュータリソースに対するプロセスまたはオペレーティングシステムからの操作要求を当該コンピュータリソースにアクセスする前に捕捉する第1捕捉工程と、
前記第1捕捉工程で捕捉した操作要求によって指定されるコンピュータリソースに対するアクセス権限があるか否かを、前記取得工程で取得されたポリシーの情報に基づいて判定する第1判定工程と、
前記第1判定工程の判定の結果、アクセス権限があれば当該操作要求の通りにオペレーティングシステムに渡し、その結果を要求元に返す処理工程と、
前記第1判定工程の判定の結果、アクセス権限がなければ当該操作要求によって指定されるコンピュータリソースに対するアクセスを拒否する拒否工程と、を有することを特徴とする情報処理方法。 - 前記取得工程では、前記通信装置に対して選択されたポリシーを識別する情報を前記通信装置から受信したうえで、前記ポリシーを識別する情報と対応する、前記通信装置に対して選択されたポリシーの情報を取得する、ことを特徴とする請求項1に記載の情報処理方法。
- 前記取得工程では、前記通信装置に対して選択されたポリシーを識別する情報を他のネットワークリソースから受信したうえで、前記ポリシーを識別する情報と対応する、前記通信装置に対して選択されたポリシーの情報を取得することを特徴とする請求項1に記載の情報処理方法。
- 前記取得工程では、前記ポリシーを識別する情報と対応する、前記通信装置に対して選択されたポリシーの情報を、前記ネットワークリソースの記憶手段に記憶されたファイルから取得する、ことを特徴とする請求項2又は3に記載の情報処理方法。
- 前記取得工程では、前記ポリシーを識別する情報と対応する、前記通信装置に対して選択されたポリシーの情報を、外部の管理サーバから取得する、ことを特徴とする請求項2又は3に記載の情報処理方法。
- 前記取得工程では、前記通信装置に対して選択されたポリシーの情報を、前記通信装置から取得する、ことを特徴とする請求項1に記載の情報処理方法。
- 前記通信装置からアクセスされるネットワークリソースである第2ネットワークリソースにおいて、
前記通信装置に対して選択されたポリシーの情報を取得する第2取得工程と、
前記第2ネットワークリソース上のコンピュータリソースに対するプロセスまたはオペレーティングシステムからの操作要求を当該コンピュータリソースにアクセスする前に捕捉する第2捕捉工程と、
前記第2捕捉工程で捕捉した操作要求によって指定されるコンピュータリソースに対するアクセス権限があるか否かを、前記第2取得工程で取得されたポリシーの情報に基づいて判定する第2判定工程と、を更に有する、ことを特徴とする請求項1から6のいずれか1項に記載の情報処理方法。 - 前記通信装置において、前記通信装置上のコンピュータリソースに対するプロセスまたはオペレーティングシステムからの操作要求を当該コンピュータリソースにアクセスする前に捕捉する第3捕捉工程と、
前記通信装置において、前記第3捕捉工程で捕捉した操作要求によって指定されるコンピュータリソースに対するアクセス権限があるか否かを、前記選択工程で選択されたポリシーの情報に基づいて判定する第3判定工程と、を更に有する、ことを特徴とする請求項1から7のいずれか1項に記載の情報処理方法。 - 前記複数のポリシーは、ポリシーごとに、アクセス制御の対象となるネットワークリソースについての、IPアドレス、ホスト名、URL、ファイルサーバのディレクトリパス、及びネットワーク機器名の少なくともいずれかの情報を含み、
第1判定工程では、前記第1捕捉工程で捕捉した操作要求によって指定されるコンピュータリソースに対するアクセス権限があるか否かを、各ポリシーに含まれるネットワークリソースの情報に基づいて判定する、ことを特徴とする請求項1から8のいずれか1項に記載の情報処理方法。 - 前記複数のポリシーは、ポリシーごとに、アクセス制御の対象となるネットワークリソースにアクセスするための前記通信装置で動作するプログラムを指定する情報を更に含み、
第1判定工程では、前記第1捕捉工程で捕捉した操作要求によって指定されるコンピュータリソースに対するアクセス権限があるか否かを、各ポリシーに含まれる前記プログラムを指定する情報に更に基づいて判定する、ことを特徴とする請求項9に記載の情報処理方法。 - 前記複数のポリシーは、ポリシーごとに、前記通信装置の情報、ユーザの情報、前記通信装置の位置情報、及び前記通信装置を使用する時刻情報の少なくともいずれかを指定する適用対象の情報を更に含む、ことを特徴とする請求項9又は10に記載の情報処理方法。
- 前記通信装置の状態とは、適用する通信装置の情報、ユーザの情報、通信装置の位置情報、時刻情報を含む、ことを特徴とする請求項1から10のいずれか1項に記載の情報処理方法。
- 1つ以上のコンピュータに、利用者が用いる通信装置からの、ネットワークリソース上のコンピュータリソースに対するアクセスを制御する情報処理方法の各工程を実行させる1つ以上のプログラムであって、前記情報処理方法は、
複数種類の業務ごとに許可されるアクセス権限をそれぞれの業務ごとのポリシーとして定義した複数のポリシーから、前記通信装置の状態に適したポリシーを選択する選択工程と、
前記ネットワークリソースにおいて、
前記通信装置に対して選択されたポリシーの情報を取得する取得工程と、
前記通信装置から前記ネットワークリソース上のコンピュータリソースに対するアクセス要求を受信した場合に、前記ネットワークリソース上の前記コンピュータリソースに対するプロセスまたはオペレーティングシステムからの操作要求を当該コンピュータリソースにアクセスする前に捕捉する第1捕捉工程と、
前記第1捕捉工程で捕捉した操作要求によって指定されるコンピュータリソースに対するアクセス権限があるか否かを、前記取得工程で取得されたポリシーの情報に基づいて判定する第1判定工程と、
前記第1判定工程の判定の結果、アクセス権限があれば当該操作要求の通りにオペレーティングシステムに渡し、その結果を要求元に返す処理工程と、
前記第1判定工程の判定の結果、アクセス権限がなければ当該操作要求によって指定されるコンピュータリソースに対するアクセスを拒否する拒否工程と、を有することを特徴とする1つ以上のプログラム。 - 請求項13に記載の1つ以上のプログラムを格納する1つ以上の記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2022/002902 WO2023144932A1 (ja) | 2022-01-26 | 2022-01-26 | 情報処理方法、プログラム及び記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2022/002902 WO2023144932A1 (ja) | 2022-01-26 | 2022-01-26 | 情報処理方法、プログラム及び記憶媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023144932A1 true WO2023144932A1 (ja) | 2023-08-03 |
Family
ID=87471216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2022/002902 WO2023144932A1 (ja) | 2022-01-26 | 2022-01-26 | 情報処理方法、プログラム及び記憶媒体 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2023144932A1 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01209561A (ja) * | 1988-02-17 | 1989-08-23 | Fujitsu Ltd | セキュリティ管理処理方式 |
JP2003044297A (ja) * | 2000-11-20 | 2003-02-14 | Humming Heads Inc | コンピュータリソースの制御を行なう情報処理方法および装置、情報処理システム及びその制御方法並びに記憶媒体、プログラム |
JP2006053824A (ja) * | 2004-08-13 | 2006-02-23 | Nec Corp | アクセス制御システム、アクセス制御方法、及び、プログラム |
-
2022
- 2022-01-26 WO PCT/JP2022/002902 patent/WO2023144932A1/ja unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01209561A (ja) * | 1988-02-17 | 1989-08-23 | Fujitsu Ltd | セキュリティ管理処理方式 |
JP2003044297A (ja) * | 2000-11-20 | 2003-02-14 | Humming Heads Inc | コンピュータリソースの制御を行なう情報処理方法および装置、情報処理システム及びその制御方法並びに記憶媒体、プログラム |
JP2006053824A (ja) * | 2004-08-13 | 2006-02-23 | Nec Corp | アクセス制御システム、アクセス制御方法、及び、プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6718530B2 (ja) | 画像分析および管理 | |
US20220224726A1 (en) | Distribution and Management of Services in Virtual Environments | |
US10404708B2 (en) | System for secure file access | |
US9065771B2 (en) | Managing application execution and data access on a device | |
JP4827523B2 (ja) | 情報処理装置、情報処理方法、ならびに制御プログラム | |
US8136117B2 (en) | Information processor and information processing system | |
US10757079B2 (en) | Method and system for controlling remote session on computer systems using a virtual channel | |
US10331599B2 (en) | Employing session level restrictions to limit access to a redirected interface of a composite device | |
WO2011142996A2 (en) | Methods and systems for forcing an application to store data in a secure storage location | |
WO2011143068A2 (en) | Systems and methods for creation and delivery of encrypted virtual disks | |
JP7076641B2 (ja) | Saasアプリケーションのためのプッシュ配信通知サービスのためのシステムおよび方法 | |
US20180103026A1 (en) | Secure authentication to provide mobile access to shared network resources | |
WO2013080659A1 (ja) | 機密情報漏洩防止システム、機密情報漏洩防止方法、及びコンピュータ読み取り可能な記録媒体 | |
US20080086738A1 (en) | Mechanisms For Executing A Computer Program | |
JP2022504499A (ja) | 中間デバイスのシステムオンチップを介したトラフィック最適化のためのシステムおよび方法 | |
JP6994607B1 (ja) | Saasアプリケーションのためのインテリセンスのためのシステムおよび方法 | |
JP4640776B2 (ja) | 情報システム設定装置、情報システム設定方法及びプログラム | |
WO2023144932A1 (ja) | 情報処理方法、プログラム及び記憶媒体 | |
KR101056423B1 (ko) | 로그인된 계정권한 제어를 이용한 프로그램 실행관리 방법 및 기록매체 | |
US20110214159A1 (en) | Computer system | |
WO2023007570A1 (ja) | 情報処理方法、プログラム、記憶媒体 | |
EP2645293A2 (en) | Method and apparatus for controlling operations performed by a mobile computing device | |
KR102269885B1 (ko) | 사용자별 맞춤형 서버 작업 환경의 생성 기능을 구비한 접근통제 시스템 | |
JP2004178565A (ja) | 通信管理用サーバ、通信方法、及び、プログラム | |
JP2024076740A (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: 22923799 Country of ref document: EP Kind code of ref document: A1 |