WO2015087923A1 - アクセス制御装置、プログラム及びアクセス制御システム - Google Patents
アクセス制御装置、プログラム及びアクセス制御システム Download PDFInfo
- Publication number
- WO2015087923A1 WO2015087923A1 PCT/JP2014/082718 JP2014082718W WO2015087923A1 WO 2015087923 A1 WO2015087923 A1 WO 2015087923A1 JP 2014082718 W JP2014082718 W JP 2014082718W WO 2015087923 A1 WO2015087923 A1 WO 2015087923A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- software
- access
- condition
- access control
- file
- Prior art date
Links
- 238000000034 method Methods 0.000 description 116
- 230000008569 process Effects 0.000 description 113
- 238000012545 processing Methods 0.000 description 58
- 238000004891 communication Methods 0.000 description 10
- 238000012544 monitoring process Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
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
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- 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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/106—Enforcing content protection by specific content processing
- G06F21/1064—Restricting content processing at operating system level
-
- 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
-
- 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
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6281—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database at program execution time, where the protection is within the operating system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/102—Entity profiles
Definitions
- the present invention relates to an access control device, a program, and an access control system.
- Patent Document 1 Japanese Patent Application Laid-Open No. 2010-154419
- the access control device includes a control unit that restricts access to the electronic file by software that is permitted or prohibited to access the electronic file based on predetermined access control information. .
- the program causes the computer to function as the access control device.
- an access control system is provided outside the access control device and at least one of a predetermined access control information and a determination result based on the predetermined access control information. And a management device that provides the access control device.
- An example of an access control system 100 is shown along with a communication network 90.
- An example of a functional block composition of user equipment 130 is shown typically.
- An example of parameters used for the permission condition is shown in a table format.
- An example of parameters used for the rejection condition is shown in a table format.
- An example of parameters used for the rejection condition is shown in a table format.
- An example of the processing flow in the user apparatus 130 is shown.
- An example of the process flow regarding the access process in the user apparatus 130 is shown.
- FIG. 1 shows an example of an access control system 100 together with a communication network 90.
- the access control system 100 provides an IRM (Information Rights Management) function for data such as electronic files.
- the access control system 100 includes a user device 110, a management server 120, and a user device 130.
- the communication network 90 includes the Internet, for example.
- the communication network 90 may include a fixed network and a mobile communication network.
- the management server 120 is provided outside the user device 110.
- the management server 120 is provided outside the user device 130.
- the user device 110, the management server 120, and the user device 130 transmit and receive information via the communication network 90.
- the user device 110 may be, for example, a personal computer, a mobile phone terminal, a mobile information terminal, or the like.
- the user device 130 may be, for example, a personal computer, a mobile phone terminal, a mobile information terminal, or the like.
- User device 130 is an example of an access control device that restricts access to an electronic file based on access control information.
- Control software 10 for restricting access to the electronic file based on the access control information is installed in the user device 130.
- the management server 120 is realized by a computer.
- the management server 120 is an example of a management device that provides access control information to the user device 130.
- the user 180 is a creator who creates the electronic file 20.
- the user 180 creates an electronic file using the user device 110.
- the user 190 is an accessor who accesses the data of the electronic file 20 created by the user 180. For example, the user 190 browses the data of the electronic file 20 using the user device 130.
- the user device 110 creates the electronic file 20 based on an instruction from the user 180. Further, the user device 110 sets access restrictions on the data of the electronic file 20 based on an instruction from the user 180. For example, the user 180 designates an access authorized person who is permitted to access the data of the electronic file 20. In addition, the user 180 designates the operation content permitted or prohibited by the access permitter for the data of the electronic file 20. Examples of operations that are permitted or prohibited for the data of the electronic file 20 include browsing, printing, watermarked printing, editing, saving, copying data to a storage area such as a clipboard, and capturing a display screen. Can do. The user device 110 generates operation restriction information including permitter information including user identification information of an access permitter and operation information identifying operation contents permitted or prohibited.
- the user device 110 generates the encrypted file 30 by encrypting the electronic file 20 using the passphrase 60.
- the passphrase 60 may be generated by the user device 110 or specified by the user 180.
- the pass phrase may be referred to as a password.
- the encrypted file 30 includes information indicating the extension of the electronic file 20 and information specifying the file identification information of the electronic file 20.
- the user device 110 transmits file management information including file identification information for identifying the electronic file 20, operation restriction information, and the passphrase 60 to the management server 120.
- the management server 120 stores file management information received from the user device 110.
- User device 110 provides data of encrypted file 30 to user 190.
- the user device 110 transmits an e-mail 70 attached with the encrypted file 30 to the user 190 via the communication network 90. Further, the user device 110 records the data of the encrypted file 30 on the nonvolatile recording medium 80. In this case, when the recording medium 80 is passed to the user 190, the data of the encrypted file 30 is provided to the user 190.
- the user device 110 may store the data of the encrypted file 30 in a shared storage that can be accessed by the user device 110 and the user device 130.
- User device 130 acquires data of encrypted file 30 provided from user device 110.
- the user device 130 acquires the data of the encrypted file 30 by receiving the electronic mail to which the encrypted file 30 is attached. Also, the user device 130 acquires the data of the encrypted file 30 by reading the encrypted file 30 from the recording medium 80.
- the user device 130 acquires the data of the encrypted file 30 by acquiring the data of the encrypted file 30 from the shared storage described above.
- the data of the encrypted file 30 acquired by the user device 130 is the same as the data of the encrypted file 30 created by the user device 110. Therefore, for the purpose of easily explaining the present embodiment, the data of the encrypted file 30 handled by the user device 130 may be referred to as “encrypted file 30”.
- the user device 130 opens the encrypted file 30 in response to an instruction from the user 190.
- the user device 130 determines whether or not access to the data of the electronic file 20 is permitted based on at least one of the software execution setting and the software operation state. For example, the user device 130 is in a state where access is permitted when browsing software used for browsing an electronic file obtained by decrypting the encrypted file 30 is software that satisfies a predetermined permission condition. It is determined that Further, the user device 130 determines that access is permitted when software that satisfies a predetermined rejection condition is not operating on the user device 130.
- the permission condition and the rejection condition are examples of access control information.
- permission software software that satisfies a predetermined permission condition
- rejection software software that allows the control software 10 to control operations such as browsing described above.
- the permission software that can manage the IRM function by the control software 10 is designated as the permission software.
- the reject software software that may not be able to be controlled by the control software 10
- software that performs data access operations such as a display screen capture operation and a data copy operation to the clipboard or the like is designated as reject software.
- the user device 130 determines that access to the data of the electronic file 20 is permitted, the user device 130 requests the management server 120 for the passphrase 60 and the operation restriction information together with the user identification information and file identification information for identifying the user 190. To do.
- the management server 120 determines whether the user 190 is included in the authorized person to access the data of the electronic file 20. Judge whether or not.
- the management server 120 transmits the passphrase 60 and the operation restriction information to the user device 130 when it is determined that the user 190 is included in the access authorized person.
- the user device 130 When the user device 130 receives the passphrase 60 and the operation restriction information from the management server 120, the user device 130 decrypts the encrypted file 30 using the received passphrase 60 and generates the decrypted file 50.
- the user device 130 opens the decryption file 50 using the browsing software under the control of the control software 10, and accesses the decryption file 50 based on the operation restriction information received from the management server 120. Thereby, the user apparatus 130 can access the same data as the data of the original electronic file 20.
- control by the control software 10 can prevent the decryption file 50 from being opened by browsing software that may not be controlled by the control software 10.
- control software 10 it is possible to prevent the data of the decrypted file 50 from being accessed by software other than software that cannot be controlled by the control software 10 or software other than browsing software.
- FIG. 2 schematically illustrates an example of a functional block configuration of the user device 130.
- the user device 130 includes a control unit 200, a transmission / reception unit 202, and a storage unit 204.
- the control unit 200 is realized by a processor such as an MPU, for example.
- the transmission / reception unit 202 is realized by a communication module such as a network interface.
- the transmission / reception unit 202 is responsible for communication through the communication network 90. Specifically, the transmission / reception unit 202 transmits user identification information and file identification information to the management server 120.
- the transmission / reception unit 202 acquires operation restriction information, a passphrase, and access control information from the management server 120.
- the storage unit 204 is realized by a non-volatile storage medium such as a hard disk or a volatile storage medium such as a RAM.
- the storage unit 204 stores the access control information received by the transmission / reception unit 202.
- the control unit 200 includes a determination unit 210, an operation state acquisition unit 220, a software identification unit 230, an operation processing unit 240, and an access processing unit 250.
- the user device 130 functions as a determination unit 210, an operation state acquisition unit 220, a software identification unit 230, an operation processing unit 240, and an access processing unit 250 when the control unit 200 operates according to the control of the control software 10.
- the control unit 200 restricts access to the electronic file by software that is permitted or prohibited to access the electronic file based on predetermined access control information.
- the access control information includes permission conditions to be satisfied by software permitted to be used for accessing the electronic file.
- the access control information includes a predetermined refusal condition that should be satisfied by software that is prohibited from accessing the electronic file.
- the permission condition and the rejection condition are provided from the management server 120.
- the storage unit 204 stores permission conditions and rejection conditions received from the management server 120.
- the control unit 200 permits access by software that satisfies the permission condition when the software to be used for accessing the electronic file satisfies the permission condition.
- the software specifying unit 230 specifies software to be used for accessing an electronic file.
- the software specifying unit 230 specifies software to be used for accessing the electronic file based on the extension of the electronic file.
- the determining unit 210 determines whether the software specified by the software specifying unit 230 satisfies the permission condition stored in the storage unit 204. When the determination unit 210 determines that the software specified by the software specifying unit 230 satisfies the permission condition, the operation processing unit 240 starts access by the software that satisfies the permission condition.
- the permission condition includes a judgment condition based on a permitted software name that is a name of software to which access should be permitted.
- the software specifying unit 230 specifies the name of the software to be used for accessing the electronic file.
- the determination unit 210 identifies the software identification unit 230 when the software name that matches the software name identified by the software identification unit 230 is included in the permitted software name used in the permission condition. It is determined that the software satisfies the permission condition.
- the software name is an example of software identification information for identifying the software.
- the control unit 200 restricts access by software that satisfies the rejection condition. Further, the control unit 200 restricts access to the electronic file by software satisfying the permission condition when software satisfying the rejection condition is operating.
- control unit 200 determines whether software satisfying the rejection condition is operating before the software satisfying the permission condition starts accessing the electronic file. When the control unit 200 determines that software that satisfies the rejection condition is operating, the control unit 200 prohibits software that satisfies the permission condition from starting access to the electronic file. Further, the control unit 200 restricts the operation of the software satisfying the rejection condition when the operation of the software satisfying the rejection condition is detected after the software satisfying the permission condition starts accessing the electronic file. .
- the operation state acquisition unit 220 acquires list information for identifying software operating on the user device 130 before starting software that satisfies the permission conditions to access the electronic file.
- the denial condition includes a judgment condition based on the name of the software whose access should be denied.
- the rejection condition includes a determination condition based on a prohibited process name that is a name of a process generated when software to be rejected is executed.
- the operation state acquisition unit 220 acquires the name of the currently executing process.
- the determination unit 210 determines that the software satisfying the rejection condition is operating when the name of the process acquired by the operation state acquisition unit 220 is included in one or more prohibited process names used in the prohibition condition. To do. In this case, the operation processing unit 240 does not start software that satisfies the permission condition to access the electronic file. On the other hand, when the process name acquired by the operation state acquisition unit 220 is not included in one or more prohibited process names used in the prohibition condition, the determination unit 210 operates software that satisfies the rejection condition. Judge that there is no. In this case, the operation processing unit 240 causes software that satisfies the permission condition to start accessing the electronic file.
- control unit 200 restricts the operation of the software satisfying the rejection condition when the operation of the software satisfying the rejection condition is detected after the software satisfying the permission condition starts accessing the electronic file. .
- the operation state acquisition unit 220 periodically acquires the name of the process being executed even while the electronic file is being accessed.
- the determination unit 210 operates when a process with a name that matches one of one or more prohibited process names used in the prohibition condition is detected from among the process names acquired by the operation state acquisition unit 220.
- the processing unit 240 stops the operation of the detected process.
- the denial condition may include an operation condition related to an operation content performed by software whose access should be prohibited.
- the rejection condition may include a determination condition based on whether or not the software calls a predetermined prohibited API.
- the rejection condition may include a determination condition as to whether or not the software includes a code for calling a predetermined prohibited API.
- the determination unit 210 operates when software that satisfies the rejection condition operates.
- the access processing unit 250 acquires a passphrase used for decrypting the encrypted electronic file from the management server 120, and decrypts the encrypted electronic file using the acquired passphrase.
- the determination unit 210 uses, in the access control information, whether or not to permit access to a decrypted file, which is an electronic file obtained by decryption, before the access processing unit 250 decrypts the encrypted electronic file. Judgment based on.
- the access processing unit 250 acquires a passphrase from the management server 120 when the determination unit 210 determines that access to the decrypted file is permitted. Then, the access processing unit 250 generates a decrypted file by decrypting the encrypted electronic file using the passphrase acquired from the management server 120. Then, the operation processing unit 240 causes the generated decrypted file to be accessed by software that satisfies the permission condition.
- the user device 130 accesses the management server 120 and acquires access control information including a permission condition and a rejection condition from the management server 120.
- the user device 130 may periodically access the management server 120 to obtain access control information.
- the user device 130 may access the management server 120 and acquire access control information when a predetermined event occurs. For example, when notified from the management server 120, the access control information may be acquired from the management server 120 when the management server 120 is notified that the access control information should be acquired.
- the storage unit 204 stores access control information acquired from the management server 120.
- the access control information stored in the storage unit 204 is updated with the access control information newly acquired from the management server 120.
- the access control condition of the management server 120 is updated by the administrator of the management server 120. Updated to the latest information by the administrator of the management server 120.
- FIG. 3 shows an example of parameters used for the permission condition in a table format.
- the storage unit 204 stores the file extension, the software name of the permitted software, and the permission type in association with each other as parameters used for the permission condition.
- the determination unit 210 determines whether or not the browsing software is permission software based on permission conditions using the parameters shown in FIG. 3 as a determination criterion.
- Extension is an example of information for identifying a file type.
- the file extension may be simply referred to as “extension”.
- the extension may be used by basic software such as an operating system running on the user device 130 to determine software used to open the file.
- the basic software setting information includes association information for associating software used for opening a file with an extension. Therefore, the extension is an example of association information used for associating software used for opening a file with the file.
- the “Software name” stores the name of the permitted software.
- the “permission type” stores information indicating whether or not priority should be given to the setting of the basic software. In the “permission type”, either a value indicating “basic software priority” or a value indicating “control software priority” is stored.
- “Basic software priority” indicates that the association based on the basic software setting information is prioritized. Specifically, when opening the encrypted file 30, the software specifying unit 230 uses the extension of the decrypted file obtained by decrypting the encrypted file 30 and the association information included in the basic software setting information. Based on the above, the software used to open the decrypted file is specified. When the software name specified by the software specifying unit 230 matches one of the software names associated with the extension of the decrypted file, the determining unit 210 determines that the software specifying unit 230 It is determined that access to the decrypted file data is permitted using the specified software. The number of permitted software associated with “basic software priority” may be one or more. The number of permitted software associated with “basic software priority” may be two or more.
- Control software priority indicates that the software is opened using specific software associated with the permission conditions regardless of the basic software settings. For example, when the extension of the encrypted file is “jpg”, the determination unit 210 determines that access to the data of the decrypted file is permitted using software named “AA Paint”. The number of permitted software associated with “control software priority” may be one. In this case, the determination unit 210 uses the permitted software on the decrypted file on the condition that one permitted software associated with “control software priority” is installed in the user device 130. It is determined that access to data is permitted.
- the determination unit 210 specifies and specifies one or more permitted software installed in the user device 130 among the two or more permitted software associated with “control software priority”. It may be determined that access to the decrypted file data is permitted using one or more permission software.
- the determination unit 210 determines that two or more permissions associated with “control software priority”. It is determined that access to the data of the decrypted file is permitted using one of the software. At this time, the determination unit 210 selects one permission software that permits access to the data of the decrypted file from two or more permission software associated with “control software priority”.
- the selection may be made based on a predetermined selection condition.
- the storage unit 204 stores, as selection conditions, priorities for selecting each permitted software in association with two or more permitted software.
- the determination unit 210 decrypts one permitted software with the highest priority among the two or more permitted software installed in the user device 130. Select as permission software that permits access to file data. In this way, one browsing software is specified.
- the selection condition may be provided from the management server 120 to the user device 130 as part of the access control information.
- the name of the permitted software is an example of permitted software specifying information for specifying the permitted software.
- the permitted software specifying information may include information indicating the name of the permitted software and the version of the permitted software. Further, the permitted software specifying information may include a hash value obtained by hashing a part of the executable file of the permitted software instead of the name of the permitted software or in addition to the name of the permitted software.
- FIG. 4 shows an example of parameters used for the rejection condition in a table format.
- the storage unit 204 stores a process name as part of parameters used for the rejection condition.
- the determination unit 210 determines the operating state of the rejection software based on the rejection condition using the parameters shown in FIG. 4 as the determination criteria.
- Process name stores the name of the process generated when the reject software is executed.
- the process is an execution unit assigned by the basic software when the execution file of the reject software is executed. Processes and executables are related to each other.
- the determination unit 210 determines whether to permit access to the data of the decrypted file based on the rejection condition based on the parameter stored in the storage unit 204.
- the operation state acquisition unit 220 opens the encrypted file 30, the operation state acquisition unit 220 acquires the name of the currently executing process from the basic software.
- the determination unit 210 accesses the data of the decrypted electronic file. Judge to refuse.
- the process name rejection condition may include a partial match condition for the process name string.
- the parameter “* capture *” in FIG. 4 is a program name that includes zero or more characters before “capture” and is composed of a character string that includes zero or more characters after “capture”. It is judged that the conditions are met.
- refusal software depending on the refusal condition based on the process name, not only so-called commercial software but also software that can access the data of the decrypted file may be determined as refusal software.
- FIG. 5 shows an example of parameters of the rejection condition stored in the storage unit 204 in a table format.
- the storage unit 204 stores the API name as a part of the parameter of the rejection condition.
- the determination unit 210 determines the operation state of the rejection software based on the rejection condition using the parameters shown in FIG. 5 as the determination criteria.
- API name stores the name of the API (application programming interface) that is called when the reject software is executed.
- the API includes APIs and system calls that the basic software provides to external software.
- the API is an example of a software interface including functions provided as a library. In addition to the software interface provided by the library provided as part of the basic software, the software interface provided by a library provided by a third party or a library created by an individual is provided. Software interface etc.
- the determination unit 210 determines whether to permit access to the data of the electronic file after decrypting the encrypted file 30 based on the rejection condition based on the API-related parameters. For example, when the process execution file acquired by the operation state acquisition unit 220 calls an API whose name matches the name stored in the “API name”, the determination unit 210 accesses the data of the decrypted file. Judge to refuse. For example, when the execution file of the process acquired by the operation state acquisition unit 220 includes a code that calls an API stored in “API name”, the determination unit 210 accesses the data of the decrypted file. Judge to refuse.
- the API name rejection condition may include a partial matching condition for the API name character string.
- the parameter “* Clipboard *” in FIG. 5 is an API having an API name including a string including zero or more characters before “Clipboard” and including zero or more characters after “Clipboard”. It is determined that the calling software meets the rejection condition.
- rejection condition based on the API name, not only so-called commercial software but also software that may access the data of the decrypted file may be determined as rejection software.
- the rejection software identification information may include a hash value obtained by hashing at least a part of the executable file of the permitted software.
- the determination unit 210 has a hash value obtained by hashing a predetermined portion of the execution file related to the process being executed matches one of the hash values stored as the reject software specifying information, It may be determined that access to the decrypted file data is denied.
- the reject software specific information may include information indicating the storage location of the software execution file.
- the determination unit 210 may determine that access to the decrypted file data is denied if the directory in which the software execution file is stored is not under a predetermined directory.
- the determination unit 210 performs decryption when the directory in which the process execution file acquired by the operation state acquisition unit 220 is stored is not under the “Program Files” directly under the specified drive where the software is installed. It may be determined that access to the data in the data file is denied.
- FIG. 6 shows an example of a processing flow executed by the user device 130.
- the processing flow in FIG. 6 is started when the user 190 instructs to open the encrypted file 30.
- the processing flow of FIG. 6 is started when an icon associated with the encrypted file 30 is double-clicked.
- step S602 execution of the control software 10 is started.
- the control software 10 is activated by basic software.
- the basic software setting information includes association information between software and an extension.
- the access control software 10 is associated with the extension of the encrypted file by the basic software association information. Therefore, for example, when an icon associated with the encrypted file 30 is double-clicked, the basic software designates the encrypted file 30 as the file to be opened, and the execution file of the control software 10 is activated. .
- step S604 the software specifying unit 230 specifies the extension of the electronic file 20 before encryption based on the encrypted file 30. For example, when the electronic file 20 is encrypted in the user device 110, the user device 110 generates the encrypted file 30 including the extension information indicating the extension of the electronic file 20 before encryption. The software specifying unit 230 specifies the extension of the electronic file 20 before encryption by extracting extension information from the encrypted file 30. The extension of the electronic file 20 before encryption matches the extension of the decrypted file 50.
- step S606 the software specifying unit 230 determines whether to prioritize the association based on the setting information of the basic software or the setting information by the control software 10 based on the extension specified in step S604. .
- the software specifying unit 230 sets the basic software when the information stored in the permission type of the permission condition in association with the extension specified in step S604 is “basic software priority” information. Judge that priority is given to association based on information.
- the software identifying unit 230 Judge that priority is given to association based on information.
- step S606 if the software identification unit 230 determines that the association based on the basic software setting information is prioritized, the process proceeds to step S608. If the software identification unit 230 determines that the association based on the setting information of the control software is prioritized, the process proceeds to step S622. In step S622, the software identified by the name stored in the “software name” in association with the extension identified in step S604 is identified as browsing software. When the process of step S622 is completed, the process proceeds to step S612.
- step S608 the software specifying unit 230 specifies the browsing software based on the extension specified in step S604 and the basic software setting information. As described above, the software specifying unit 230 specifies the software used to open the extension specified in step S604 based on the association information included in the basic software setting information, and specifies the specified software. As browsing software.
- step S610 the determination unit 210 determines whether or not access to the data of the decrypted file is permitted using the browsing software specified in step S608. Specifically, the determination unit 210 sets the software name specified in step S608 to the software name stored in the software name of the permission condition in association with the extension specified in step S604. If there is a match, it is determined that access to the data of the decrypted file is permitted using the browsing software identified in step S608.
- step S610 If it is determined in step S610 that access to the decrypted file data is permitted using the browsing software identified in step S608, the process proceeds to step S612, and decryption is performed using the browsing software identified in step S608. If it is determined that the access to the data in the conversion file is not permitted, the process proceeds to step S632. In step S632, the user 190 is notified that access to the decrypted file data is denied by the associated software, and the operation of the control software 10 is terminated.
- step S612 the operation state acquisition unit 220 acquires the name of the process currently being executed. Specifically, the operation state acquisition unit 220 acquires the name of the currently executing process through an API provided by the basic software.
- step S614 the determination unit 210 determines whether to permit access to the decrypted file by the browsing software based on the process currently being executed. As a specific determination process, the determination unit 210 matches the name of at least one of the process names acquired in step S612 with any of the process names stored in the process name of the rejection condition. In this case, it is determined that access to the decrypted file by the browsing software is denied.
- the determination unit 210 also browses when the execution file of the process acquired in step S612 includes a code that calls an API whose name matches the name stored in the “API name” of the rejection condition. It is determined that access to the decrypted file by software is denied.
- step S614 If it is determined in step S614 that access to the decrypted electronic file data is denied, the process proceeds to step S642. If it is determined that access to the decrypted electronic file data is not denied, the process proceeds to step S616. In step S642, the user 190 is notified that the decrypted file data cannot be accessed, and the operation of the control software 10 is terminated. At this time, the access control software 10 presents the name of the software whose operation is to be terminated to the user 190 before terminating the operation, and after the operation of the presented software is terminated, the encrypted file 30 is stored. The user 190 is notified to open.
- step S616 file access processing for the encrypted file 30 is performed.
- Step S616 includes an access process to the decrypted file that is performed in accordance with the operation of the user 190.
- the operation of the control software 10 is terminated.
- FIG. 7 is an example of a processing flow regarding access processing for the encrypted file 30 in the user device 130. This process flow can be applied to the process of step S616 in FIG.
- step S702 the access processing unit 250 requests the management server 120 for the passphrase 60 for decrypting the encrypted file 30 and the operation restriction information. Specifically, the access processing unit 250 transmits request information for requesting the passphrase 60 and the operation restriction information to the management server 120 together with the user identification information of the user 190 and the file identification information specified based on the encrypted file 30. .
- the management server 120 authenticates the user 190 based on the user identification information received from the user device 130.
- the management server 120 is able to authenticate the user 190, the user 190 is permitted to access based on the user identification information and the file identification information received from the user device 130 and the operation control information managed by the management server 120. It is judged whether it is included in.
- the management server 120 determines that the user 190 is included in the access authorized person, the management server 120 transmits the passphrase 60 and the operation restriction information stored in association with the file identification information to the user device 130. .
- step S704 the access processing unit 250 determines whether or not the decryption passphrase 60 and the operation restriction information for the encrypted file 30 have been received from the management server 120.
- step S704 If the access processing unit 250 cannot receive the passphrase 60 and the operation restriction information in step S704, the user 190 is notified that the decrypted file information cannot be accessed in step S722, and the encrypted file 30 is transmitted in step S720. Is closed, and the operation of the control software 10 is terminated.
- the access processing unit 250 can receive the passphrase 60 and the operation restriction information in step S704, the access processing unit 250 decrypts the encrypted file 30 using the passphrase 60 received from the management server 120 in step S706. To generate a decrypted file 50.
- step S708 the operation processing unit 240 opens the decrypted file 50 using the browsing software specified in step S608 or step S622 of FIG.
- the operation processing unit 240 may activate the browsing software based on the operation restriction information acquired from the management server 120. For example, when the operation processing unit 240 determines that it is necessary to restrict uploading of the decryption file 50 to the network based on the operation restriction information, the operation software 240 operates the browsing software in an operation mode in which uploading of the decryption file 50 is not permitted. It can be activated.
- step S710 the browsing software is made to access the decryption file 50 in a state where the operations on the decryption file 50 are restricted based on the operation restriction information.
- step S710 a process for acquiring the operation content of the user 190 regarding access to the decrypted file 50, a process for determining whether or not the user 190 is permitted to operate the acquired operation content, based on the operation restriction information, the user 190 For example, a process for allowing the browsing software to perform only a process corresponding to the permitted operation is performed.
- the access processing unit 250 transmits information indicating the operation content to the management server 120 together with the user identification information and file identification information of the user 190.
- the management server 120 stores information indicating the received operation content in association with the user identification information and file identification information received from the user device 130. According to the operation of the access control system 100, an operation log indicating what operation the user 190 has performed on the data of the electronic file 20 can be managed for each electronic file 20.
- step S712 the operation state acquisition unit 220 acquires the name of the process currently being executed. Specifically, the operation state acquisition unit 220 acquires the name of the process currently being executed through an API provided by the basic software, as in step S612.
- step S714 the determination unit 210 determines whether it is necessary to protect access to the data of the decrypted file 50 based on the process currently being executed.
- the specific determination process is the same as the process of step S614. Specifically, the determination unit 210 performs decryption when the name of at least one of the processes acquired in step S712 matches one of the process names stored in the process name of the rejection condition. It is determined that it is necessary to protect access to the data of the conversion file 50.
- the determination unit 210 decrypts the process execution file acquired in step S712 when a code that calls an API having a name that matches the name stored in the “API name” of the rejection condition is included. It is determined that it is necessary to protect access to the data of the conversion file 50.
- step S714 determines in step S714 that it is not necessary to protect access to the data of the decrypted file 50. If the determination unit 210 determines in step S714 that it is not necessary to protect access to the data of the decrypted file 50, the process proceeds to step S718.
- step S716 the operation processing unit 240 ends the operation of the process that meets the rejection condition. Specifically, the operation processing unit 240 ends the operation of a process having a name that meets any of the process name rejection conditions. In addition, the operation processing unit 240 ends the operation of the process related to the execution file that calls the API whose name matches the name stored in the “API name” of the rejection condition. When the process termination process that satisfies the rejection condition is completed in step S716, the process proceeds to step S718.
- step S718 the access processing unit 250 determines whether there is an instruction to end access to the decrypted file 50 based on the operation of the user 190. If there is no instruction to end access to the decrypted file 50, the process returns to step S710.
- step S720 an operation for ending the access processing to the data in the decrypted file 50 is performed. Specifically, the access processing unit 250 deletes the decrypted file 50 after the browsing software closes the decrypted file 50. In addition, the access processing unit 250 transmits information that the access to the data of the electronic file 20 is completed together with the user identification information and the file identification information. When the process for ending the access process to the data of the electronic file 20 is completed, the operation of the control software 10 is ended.
- step S714 the determination unit 210 determines whether the process name acquired in step S712 matches any of the process names stored in the process name of the rejection condition. To do. Further, the determination unit 210 determines whether or not the execution file of the process acquired in step S712 calls an API whose name matches the name stored in the “API name” of the rejection condition.
- the determination unit 210 may perform the determination in step S714 on the processes acquired in step S712, excluding the processes acquired in step S612. As described above, the determination unit 210 may perform the above determination on a process newly generated after step S612 among the processes acquired in step S712. In addition, the determination unit 210 may perform the determination in step S714 for a process newly generated after the previous determination.
- processing in step S612 and the processing in step S614 may be performed in an execution unit for process monitoring different from the execution unit for access processing for accessing the encrypted file 30.
- the execution unit for process monitoring may periodically perform the process in step S612 and the process in step S614.
- the processing in step S612 and the processing in step S614 may be performed by a process monitoring process that is different from the access processing process.
- the processing in step S612 and the processing in step S614 may be performed by a process monitoring thread different from the access processing thread.
- the execution unit for access processing is acquired from the execution unit for process monitoring by acquiring information indicating the determination result of step S614 from the execution unit for process monitoring instead of the processing of step S612 and step S614, for example.
- Whether to proceed to step S642 or step S616 may be determined based on the determination result indicated by the information. Similarly, whether the execution unit for access processing acquires information indicating the determination result of step S714 from the execution unit for process monitoring instead of the processing of step S712 and step S714, and performs the processing of step S716. You may judge whether.
- the process monitoring execution unit may perform the process of step S716. In this case, the access execution unit may request the process monitoring execution unit to end the operation of the process that meets the rejection condition. Instead, the process monitoring execution unit terminates the operation of the process that meets the rejection condition according to the determination result in step S614 while the access execution unit performs the processing from step S716. It's okay.
- the user device 130 may acquire information indicating the result of the determination process performed by the management server 120 from the management server 120. In this case, the user device 130 may transmit information necessary for the management server 120 to perform these determination processes to the management server 120. For example, the user device 130 may transmit information indicating the name of the browsing software identified in step S608 or step S622 to the management server 120. In addition, the user device 130 may transmit information indicating the name of the process specified in step S612 or step S712 to the management server 120. Thereby, the user device 130 can control access to the encrypted file 30 based on the latest permission condition and rejection condition managed by the management server 120.
- the permission conditions can be regarded as equivalent to a so-called white list for software.
- the rejection condition can be regarded as corresponding to a so-called black list for software. Therefore, according to the access control system 100, it can be said that access to the data of the electronic file 20 can be controlled based on the white list and black list regarding software.
- the encrypted file is an example of an electronic file.
- the access process for the encrypted file has been described.
- the access restriction process described with respect to the present embodiment is not limited to an encrypted file, and can be applied to an unencrypted electronic file.
- the access restriction process described in relation to the present embodiment is not limited to electronic file data, and can be applied to various data or information.
- the processing described as the operation of the control unit 200 is realized by the processor controlling each hardware included in the user device 130 in accordance with a program such as the control software 10 and basic software. That is, the processing of the user device 130 described in relation to the user device 130 of the present embodiment is performed by the processor operating according to the program to control each hardware, and thereby each hardware and program including the processor, the memory, etc. Can be realized by operating together. That is, the process can be realized by a so-called computer.
- the computer may load a program for controlling execution of the above-described processing, operate according to the read program, and execute the processing.
- the computer can load the program from a computer-readable recording medium storing the program.
- Control software 20 Electronic file 30 Encrypted file 50 Decrypted file 60 Passphrase 70 E-mail 80 Recording medium 90 Communication network 100 Access control system 110 User apparatus 120 Management server 130 User apparatus 180 User 190 User 200 Control part 202 Transmission / reception part 204 Storage Unit 210 Judgment Unit 220 Operational State Acquisition Unit 230 Software Identification Unit 240 Operation Processing Unit 250 Access Processing Unit
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Storage Device Security (AREA)
Abstract
アクセス制御装置は、電子ファイルのアクセスが許可または禁止されているソフトウエアが予め定められたアクセス制御情報に基づいて、電子ファイルへアクセスすることを制限する制御部を備える。アクセス制御システムは、電子ファイルのアクセスが許可または禁止されているソフトウエアが予め定められたアクセス制御情報に基づいて、電子ファイルへアクセスすることを制限する制御部を備えるアクセス制御装置と、アクセス制御装置の外部に設けられ、予め定められたアクセス制御情報及び予め定められたアクセス制御情報に基づく判断結果の少なくとも一方を、アクセス制御装置に提供する管理装置とを備える。
Description
本発明は、アクセス制御装置、プログラム及びアクセス制御システムに関する。
暗号化された電子ファイルの復号化に必要な復号用パスワードを管理する管理サーバを用いて、安全かつ簡単に電子ファイルを送信する方法が知られている(例えば、特許文献1参照)。
特許文献1 特開2010-154419号公報
特許文献1 特開2010-154419号公報
電子ファイルのアクセスが許可または禁止されているソフトウエアによる電子ファイルへアクセスをアクセス制御情報に基づいて制限することができないという課題があった。
第1の態様においては、アクセス制御装置は、電子ファイルのアクセスが許可または禁止されているソフトウエアが予め定められたアクセス制御情報に基づいて、電子ファイルへアクセスすることを制限する制御部を備える。
第2の態様においては、プログラムは、コンピュータを上記のアクセス制御装置として機能させる。
第3の態様においては、アクセス制御システムは、上記のアクセス制御装置と、アクセス制御装置の外部に設けられ、予め定められたアクセス制御情報及び予め定められたアクセス制御情報に基づく判断結果の少なくとも一方を、アクセス制御装置に提供する管理装置とを備える。
なお、上記の発明の概要は、本発明の特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、アクセス制御システム100の一例を通信ネットワーク90とともに示す。アクセス制御システム100は、電子ファイル等のデータに対するIRM(Information Rights Management)機能を提供する。アクセス制御システム100は、ユーザ装置110と、管理サーバ120と、ユーザ装置130とを備える。通信ネットワーク90は、例えばインターネットを含む。通信ネットワーク90は、固定網及び移動体通信網を含んでよい。
管理サーバ120は、ユーザ装置110の外部に設けられる。管理サーバ120は、ユーザ装置130の外部に設けられる。ユーザ装置110、管理サーバ120及びユーザ装置130は、通信ネットワーク90を介して情報を送受信する。ユーザ装置110は、例えば、パーソナルコンピュータ、携帯電話端末、携帯情報端末等であってよい。ユーザ装置130は、例えば、パーソナルコンピュータ、携帯電話端末、携帯情報端末等であってよい。
ユーザ装置130は、アクセス制御情報に基づいて電子ファイルへのアクセスを制限するアクセス制御装置の一例である。ユーザ装置130には、アクセス制御情報に基づいて電子ファイルへのアクセスを制限するための制御ソフトウエア10がインストールされる。
管理サーバ120は、コンピュータによって実現される。管理サーバ120は、アクセス制御情報をユーザ装置130に提供する管理装置の一例である。
本実施形態において、ユーザ180は、電子ファイル20を作成する作成者である。ユーザ180は、ユーザ装置110を用いて電子ファイルを作成する。ユーザ190は、ユーザ180が作成した電子ファイル20のデータにアクセスするアクセス者である。例えば、ユーザ190は、ユーザ装置130を用いて、電子ファイル20のデータを閲覧する。
ユーザ装置110は、ユーザ180の指示に基づいて、電子ファイル20を作成する。また、ユーザ装置110は、ユーザ180の指示に基づいて、電子ファイル20のデータに対するアクセス制限を設定する。例えば、ユーザ180は、電子ファイル20のデータにアクセスすることが許可されるアクセス許可者を指定する。また、ユーザ180は、電子ファイル20のデータに対してアクセス許可者が行うことが許可される操作内容または禁止される操作内容を指定する。電子ファイル20のデータに対して許可または禁止される操作内容としては、閲覧、印刷、透かし付き印刷、編集、保存、クリップボード等の記憶領域へのデータのコピー、表示画面のキャプチャ等を例示することができる。ユーザ装置110は、アクセス許可者のユーザ識別情報を含む許可者情報と、許可または禁止される操作内容を識別する操作情報とを含む操作制限情報を生成する。
ユーザ装置110は、パスフレーズ60を用いて電子ファイル20を暗号化することにより、暗号化ファイル30を生成する。パスフレーズ60は、ユーザ装置110が生成してよく、ユーザ180が指定してもよい。パスフレーズは、パスワードと称される場合がある。暗号化ファイル30には、電子ファイル20の拡張子を示す情報と、電子ファイル20のファイル識別情報を特定する情報とを含む。ユーザ装置110は、電子ファイル20を識別するファイル識別情報と、操作制限情報と、パスフレーズ60とを含むファイル管理情報を、管理サーバ120に送信する。管理サーバ120は、ユーザ装置110から受信したファイル管理情報を格納する。
ユーザ装置110は、暗号化ファイル30のデータをユーザ190に提供する。例えば、ユーザ装置110は、暗号化ファイル30を添付した電子メール70を、通信ネットワーク90を介してユーザ190宛に送信する。また、ユーザ装置110は、不揮発性の記録メディア80に暗号化ファイル30のデータを記録する。この場合、記録メディア80がユーザ190に渡されることにより、暗号化ファイル30のデータがユーザ190に提供される。また、ユーザ装置110は、ユーザ装置110及びユーザ装置130がアクセスできる共有ストレージに暗号化ファイル30のデータを格納してよい。
ユーザ装置130は、ユーザ装置110から提供された暗号化ファイル30のデータを取得する。ユーザ装置130は、暗号化ファイル30が添付された電子メールを受信することにより、暗号化ファイル30のデータを取得する。また、ユーザ装置130は、記録メディア80から暗号化ファイル30を読み込むことにより、暗号化ファイル30のデータを取得する。ユーザ装置130は、上述した共有ストレージから暗号化ファイル30のデータを取得することにより、暗号化ファイル30のデータを取得する。
なお、ユーザ装置130が取得した暗号化ファイル30のデータは、ユーザ装置110で作成された暗号化ファイル30のデータと同一である。そのため、本実施形態を分かり易く説明することを目的として、ユーザ装置130において扱われる暗号化ファイル30のデータのことを、「暗号化ファイル30」と呼ぶ場合がある。
ユーザ装置130は、ユーザ190の指示に応じて、暗号化ファイル30を開く。このとき、ユーザ装置130は、ソフトウエアの実行設定及びソフトウエアの動作状態の少なくとも一方に基づいて、電子ファイル20のデータに対するアクセスが許可される状態にあるか否かを判断する。例えば、ユーザ装置130は、暗号化ファイル30を復号化して得られる電子ファイルの閲覧に用いられる閲覧ソフトウエアが、予め定められた許可条件を満たすソフトウエアである場合に、アクセスが許可される状態にあると判断する。また、ユーザ装置130は、予め定められた拒否条件を満たすソフトウエアがユーザ装置130で動作していない場合に、アクセスが許可される状態にあると判断する。なお、許可条件及び拒否条件は、アクセス制御情報の一例である。
本実施形態の説明において、予め定められた許可条件を満たすソフトウエアを、許可ソフトウエアと呼ぶ場合がある。また、予め定められた拒否条件を満たすソフトウエアを、拒否ソフトウエアと呼ぶ場合がある。許可ソフトウエアとしては、制御ソフトウエア10が上述した閲覧等の操作を制御することが可能なソフトウエアが指定される。例えば、制御ソフトウエア10によってIRM機能を管理できる許可ソフトウエアが、許可ソフトウエアとして指定される。これに対し、拒否ソフトウエアとしては、上述した閲覧等の操作を、制御ソフトウエア10が制御できない可能性があるソフトウエアが指定される。また、表示画面のキャプチャ動作やクリップボード等へのデータのコピー動作等のデータアクセス動作を行うソフトウエアを、拒否ソフトウエアとして指定する。ユーザ装置130は、電子ファイル20のデータに対するアクセスが許可される状態にあると判断すると、ユーザ190を識別するユーザ識別情報及びファイル識別情報とともに、管理サーバ120にパスフレーズ60及び操作制限情報を要求する。
管理サーバ120は、ユーザ装置130から取得したユーザ識別情報及びファイル識別情報と、ファイル管理情報に含まれる許可者情報とに基づいて、ユーザ190が電子ファイル20のデータに対するアクセス許可者に含まれるか否かを判断する。管理サーバ120は、ユーザ190がアクセス許可者に含まれると判断した場合に、パスフレーズ60及び操作制限情報をユーザ装置130に送信する。
ユーザ装置130は、管理サーバ120からパスフレーズ60及び操作制限情報を受信すると、受信したパスフレーズ60を用いて暗号化ファイル30を復号化して、復号化ファイル50を生成する。ユーザ装置130は、制御ソフトウエア10の制御に従って、閲覧ソフトウエアを用いて復号化ファイル50を開き、管理サーバ120から受信した操作制限情報に基づいて復号化ファイル50にアクセスする。これにより、ユーザ装置130は、元の電子ファイル20のデータと同じデータにアクセスすることができる。
制御ソフトウエア10による係る制御により、制御ソフトウエア10で制御できない可能性がある閲覧ソフトウエアで復号化ファイル50が開かれることを抑制できる。また、制御ソフトウエア10で制御できないソフトウエアや閲覧ソフトウエア以外のソフトウエアによって、復号化ファイル50のデータがアクセスされることを抑制できる。
図2は、ユーザ装置130の機能ブロック構成の一例を模式的に示す。ユーザ装置130は、制御部200と、送受信部202と、格納部204とを有する。制御部200は、例えば、MPU等のプロセッサで実現される。送受信部202は、ネットワークインタフェース等の通信モジュール等で実現される。なお、送受信部202は、通信ネットワーク90を通じた通信を担う。具体的には、送受信部202は、管理サーバ120に、ユーザ識別情報およびファイル識別情報を送信する。送受信部202は、管理サーバ120から、操作制限情報、パスフレーズ及びアクセス制御情報を取得する。格納部204は、ハードディスク等の不揮発性の記憶媒体、RAM等の揮発性の記憶媒体で実現される。格納部204は、送受信部202が受信したアクセス制御情報を格納する。
制御部200は、判断部210と、動作状態取得部220と、ソフトウエア特定部230と、動作処理部240と、アクセス処理部250とを有する。ユーザ装置130は、制御ソフトウエア10の制御に従って制御部200が動作することにより、判断部210、動作状態取得部220、ソフトウエア特定部230、動作処理部240及びアクセス処理部250として機能する。
制御部200は、電子ファイルのアクセスが許可または禁止されているソフトウエアが電子ファイルへアクセスすることを予め定められたアクセス制御情報に基づいて制限する。アクセス制御情報は、電子ファイルへのアクセスに用いることが許可されるソフトウエアが満たすべき許可条件を含む。また、アクセス制御情報は、電子ファイルへのアクセスが禁止されるソフトウエアが満たすべき予め定められた拒否条件を含む。本実施形態において、許可条件及び拒否条件は、管理サーバ120から提供される。格納部204は、管理サーバ120から受信した許可条件及び拒否条件を格納する。
制御部200は、電子ファイルのアクセスに用いるべきソフトウエアが許可条件を満たす場合に、許可条件を満たすソフトウエアによるアクセスを許可する。具体的には、ソフトウエア特定部230は、電子ファイルのアクセスに用いるべきソフトウエアを特定する。例えば、ソフトウエア特定部230は、電子ファイルの拡張子に基づいて、電子ファイルのアクセスに用いるべきソフトウエアを特定する。判断部210は、ソフトウエア特定部230が特定したソフトウエアが、格納部204が格納している許可条件を満たすか否かを判断する。動作処理部240は、ソフトウエア特定部230が特定したソフトウエアが許可条件を満たすと判断部210が判断した場合に、許可条件を満たすソフトウエアによるアクセスを開始させる。
一例として、許可条件は、アクセスが許可されるべきソフトウエアの名前である許可ソフトウエア名に基づく判断条件を含む。この場合、ソフトウエア特定部230は、電子ファイルのアクセスに用いるべきソフトウエアの名前を特定する。判断部210は、ソフトウエア特定部230が特定したソフトウエアの名前に一致するソフトウエア名が、許可条件で用いられる許可ソフトウエア名の中に含まれる場合に、ソフトウエア特定部230が特定したソフトウエアが許可条件を満たすと判断する。なお、ソフトウエアの名前は、ソフトウエアを識別するためのソフトウエア識別情報の一例である。
制御部200は、拒否条件を満たすソフトウエアによるアクセスを制限する。また、制御部200は、拒否条件を満たすソフトウエアが動作している場合に、許可条件を満たすソフトウエアによる電子ファイルへのアクセスを制限する。
例えば、制御部200は、許可条件を満たすソフトウエアが電子ファイルへのアクセスを開始する前に、拒否条件を満たすソフトウエアが動作しているか否かを判断する。制御部200は、拒否条件を満たすソフトウエアが動作していると判断した場合に、許可条件を満たすソフトウエアが電子ファイルへのアクセスを開始することを禁止する。また、制御部200は、許可条件を満たすソフトウエアが電子ファイルへのアクセスを開始した後に、拒否条件を満たすソフトウエアの動作が検出された場合に、拒否条件を満たすソフトウエアの動作を制限する。
具体的には、動作状態取得部220は、許可条件を満たすソフトウエアに電子ファイルへのアクセスを開始させる前に、ユーザ装置130で動作しているソフトウエアを識別する一覧情報を取得する。
一例として、拒否条件は、アクセスが拒否されるべきソフトウエアの名前に基づく判断条件を含む。例えば、拒否条件は、拒否するべきソフトウエアを実行した場合に生成されるプロセスの名前である禁止プロセス名に基づく判断条件を含む。この場合、動作状態取得部220は、現在実行中のプロセスの名前を取得する。
判断部210は、動作状態取得部220が取得したプロセスの名前が、禁止条件で用いられる1以上の禁止プロセス名の中に含まれる場合に、拒否条件を満たすソフトウエアが動作していると判断する。この場合、動作処理部240は、許可条件を満たすソフトウエアに電子ファイルへのアクセスを開始させない。一方、判断部210は、動作状態取得部220が取得したプロセスの名前が、禁止条件で用いられる1以上の禁止プロセス名の中に含まれない場合に、拒否条件を満たすソフトウエアが動作していないと判断する。この場合、動作処理部240は、許可条件を満たすソフトウエアに電子ファイルへのアクセスを開始させる。
また、制御部200は、許可条件を満たすソフトウエアが電子ファイルへのアクセスを開始した後に、拒否条件を満たすソフトウエアの動作が検出された場合に、拒否条件を満たすソフトウエアの動作を制限する。具体的には、動作状態取得部220は、電子ファイルのアクセス中においても、実行中のプロセスの名前を定期的に取得する。そして、判断部210は、動作状態取得部220が取得したプロセスの名前の中から、禁止条件で用いられる1以上の禁止プロセス名のいずれかに一致する名前のプロセスが検出された場合に、動作処理部240は、検出されたプロセスの動作を停止させる。
なお、拒否条件は、アクセスが禁止されるべきソフトウエアが行う動作内容に関する動作条件を含んでよい。例えば、拒否条件は、予め定められた禁止されたAPIをコールするソフトウエアであるか否かに基づく判断条件を含んでよい。例えば、拒否条件は、予め定められた禁止されたAPIをコールするコードをソフトウエアが含むか否かの判断条件を含んでよい。この場合、判断部210は、動作状態取得部220が取得したプロセスの実行ファイルに、予め定められた禁止されたAPIをコールするコードが含まれる場合に、拒否条件を満たすソフトウエアが動作していると判断する。
なお、アクセス処理部250は、暗号化された電子ファイルの復号化に用いるパスフレーズを管理サーバ120から取得して、取得したパスフレーズを用いて、暗号化された電子ファイルを復号化する。判断部210は、暗号化された電子ファイルをアクセス処理部250が復号化する前に、復号化により得られる電子ファイルである復号化ファイルへのアクセスを許可するか否かを、アクセス制御情報に基づいて判断する。アクセス処理部250は、判断部210が復号化ファイルへのアクセスを許可すると判断した場合に、管理サーバ120からパスフレーズを取得する。そして、アクセス処理部250は、暗号化した電子ファイルを、管理サーバ120から取得したパスフレーズを用いて復号化することにより復号化ファイルを生成する。そして、動作処理部240は、生成された復号化ファイルを、許可条件を満たすソフトウエアでアクセスさせる。
なお、ユーザ装置130は、管理サーバ120にアクセスして、管理サーバ120から許可条件及び拒否条件を含むアクセス制御情報を取得する。ユーザ装置130は、定期的に管理サーバ120にアクセスしてアクセス制御情報を取得してよい。ユーザ装置130は、予め定められたイベントが生じた場合に、管理サーバ120にアクセスしてアクセス制御情報を取得してよい。例えば、管理サーバ120から通知された場合に、管理サーバ120にアクセス制御情報を取得すべき旨が通知された場合に、管理サーバ120からアクセス制御情報を取得してよい。格納部204は、管理サーバ120から取得されたアクセス制御情報を格納する。格納部204が格納するアクセス制御情報は、管理サーバ120から新たに取得されたアクセス制御情報によって更新される。なお、管理サーバ120のアクセス制御条件は、管理サーバ120の管理者によって更新される。管理サーバ120の管理者によって、最新の情報に更新される。
図3は、許可条件に用いられるパラメータの一例をテーブル形式で示す。格納部204は、許可条件に用いられるパラメータとして、ファイルの拡張子と、許可ソフトウエアのソフトウエア名と、許可種別とを対応づけて格納する。判断部210は、図3に示すパラメータを判断基準として用いた許可条件に基づいて、閲覧ソフトウエアが許可ソフトウエアであるか否かを判断する。
「拡張子」は、ファイルの種類を識別する情報の一例である。なお、本実施形態の説明において、ファイルの拡張子のことを単に「拡張子」と呼ぶ場合がある。拡張子は、ユーザ装置130で動作するオペレーティングシステム等の基本ソフトウエアが、ファイルを開くのに用いるソフトウエアを決定するために用いる場合がある。基本ソフトウエアの設定情報には、ファイルを開くのに用いるソフトウエアと拡張子とを関連づける関連付け情報が含まれる。したがって、拡張子は、ファイルを開くのに用いるソフトウエアとファイルとの関連付けに用いられる関連付け情報の一例でもある。
「ソフトウエア名」には、許可ソフトウエアの名前が格納される。「許可種別」には、基本ソフトウエアの設定を優先するべきであるか否かを示す情報が格納される。「許可種別」には、「基本ソフトウエア優先」を示す値及び「制御ソフトウエア優先」を示す値の何れかが格納される。
「基本ソフトウエア優先」は、基本ソフトウエアの設定情報に基づく関連付けを優先することを示す。具体的には、ソフトウエア特定部230は、暗号化ファイル30を開く場合に、暗号化ファイル30の復号化により得られる復号化ファイルの拡張子と、基本ソフトウエアの設定情報に含まれる関連付け情報とに基づいて、復号化ファイルを開くのに用いるソフトウエアを特定する。判断部210は、ソフトウエア特定部230が特定したソフトウエアの名前が、復号化ファイルの拡張子に対応づけられているソフトウエアの名前のいずれかに一致する場合に、ソフトウエア特定部230が特定したソフトウエアを用いて、復号化ファイルのデータに対するアクセスを許可すると判断する。なお、「基本ソフトウエア優先」に対応づけられる許可ソフトウエアの数は、1以上であってよい。「基本ソフトウエア優先」に対応づけられる許可ソフトウエアの数は2以上であってよい。
「制御ソフトウエア優先」は、基本ソフトウエアの設定にかかわらず、許可条件で対応づけられた特定のソフトウエアを用いて開くことを示す。例えば、暗号化ファイルの拡張子が"jpg"である場合、判断部210は、"AA Paint"の名前のソフトウエアを用いて、復号化ファイルのデータに対するアクセスを許可すると判断する。「制御ソフトウエア優先」に対応づけられる許可ソフトウエアの数は、1であってよい。この場合、判断部210は、「制御ソフトウエア優先」に対応づけられている1つの許可ソフトウエアがユーザ装置130にインストールされていることを条件として、当該許可ソフトウエアを用いて復号化ファイルのデータに対してアクセスすることを許可すると判断する。
なお、「制御ソフトウエア優先」に対応づけられる許可ソフトウエアの数は2以上であってよい。この場合、判断部210は、「制御ソフトウエア優先」に対応づけられている2以上の許可ソフトウエアのうち、ユーザ装置130にインストールされている1以上の許可ソフトウエアを特定して、特定した1以上の許可ソフトウエアを用いて復号化ファイルのデータに対してアクセスすることを許可すると判断してよい。「制御ソフトウエア優先」に対応づけられている2以上の許可ソフトウエアがユーザ装置130にインストールされている場合、判断部210は、「制御ソフトウエア優先」に対応づけられている2以上の許可ソフトウエアのうち1つの許可ソフトウエアを用いて復号化ファイルのデータに対してアクセスすることを許可すると判断する。このとき、判断部210は、「制御ソフトウエア優先」に対応づけられている2以上の許可ソフトウエアの中から、復号化ファイルのデータに対してアクセスすることを許可する1つの許可ソフトウエアを、予め定められた選択条件に基づいて選択してよい。例えば格納部204は、選択条件として、2以上の許可ソフトウエアに対応づけてそれぞれの許可ソフトウエアを選択する優先順位を格納している。判断部210は、格納部204が格納している選択条件に基づき、ユーザ装置130にインストールされている2以上の許可ソフトウエアの中で、優先順位が最も高い1つの許可ソフトウエアを、復号化ファイルのデータに対してアクセスすることを許可する許可ソフトウエアとして選択する。このようにして、1つの閲覧ソフトウエアが特定される。なお、選択条件は、アクセス制御情報の一部として、管理サーバ120からユーザ装置130に提供されてよい。
なお、許可ソフトウエアの名前は、許可ソフトウエアを特定するための許可ソフトウエア特定情報の一例である。許可ソフトウエア特定情報には、許可ソフトウエアの名前及び許可ソフトウエアのバージョンを示す情報を含んでよい。また、許可ソフトウエア特定情報には、許可ソフトウエアの名前に代えてまたは許可ソフトウエアの名前に加えて、許可ソフトウエアの実行ファイルの一部をハッシュ化したハッシュ値等を含んでよい。
図4は、拒否条件に用いられるパラメータの一例をテーブル形式で示す。格納部204は、拒否条件に用いられるパラメータの一部として、プロセス名を格納する。判断部210は、図4に示すパラメータを判断基準として用いた拒否条件に基づいて、拒否ソフトウエアの動作状態を判断する。
「プロセス名」には、拒否ソフトウエアを実行した場合に生成されるプロセスの名前が格納される。プロセスは、拒否ソフトウエアの実行ファイルを実行した場合に基本ソフトウエアが割り当てる実行単位である。プロセスと実行ファイルとは互いに関連する。判断部210は、格納部204が格納しているパラメータに基づく拒否条件に基づいて、復号化ファイルのデータに対するアクセスを許可するか否かを判断する。
例えば、動作状態取得部220は、暗号化ファイル30を開く場合に、基本ソフトウエアから現在実行中のプロセスの名前を取得する。判断部210は、動作状態取得部220が取得したプロセスの名前が、「プロセス名」に格納されているプロセスの名前のいずれかに一致する場合に、復号化後の電子ファイルのデータに対するアクセスを拒否すると判断する。
プロセス名の拒否条件には、プロセス名の文字列に対する部分一致条件が含まれてよい。例えば、図4におけるパラメータ"*capture*"は、"capture"の前に0個以上の文字を含み、"capture"の後に0個以上の文字を含む文字列で構成されるプログラム名が、拒否条件に適合すると判断される。このように、プロセス名に基づく拒否条件によって、いわゆる商用ソフトウエアに限らず、復号化ファイルのデータにアクセスする可能性があるソフトウエアを、拒否ソフトウエアとして判断することができる場合がある。
図5は、格納部204が格納する拒否条件のパラメータの一例をテーブル形式で示す。格納部204は、拒否条件のパラメータの一部として、API名を格納する。判断部210は、図5に示すパラメータを判断基準として用いた拒否条件に基づいて、拒否ソフトウエアの動作状態を判断する。
「API名」には、拒否ソフトウエアを実行した場合に呼び出されるAPI(アプリケーションプログラミングインタフェース)の名前が格納される。APIには、基本ソフトウエアが外部のソフトウエアに提供するAPIやシステムコール等が含まれる。APIには、ライブラリとして提供される関数等を含む、ソフトウエアインタフェースの一例である。なお、ソフトウエアインタフェースには、基本ソフトウエアの一部として提供されるライブラリが提供するソフトウエアインタフェース以外にも、サードパーティが提供するライブラリが提供するソフトウエアインタフェースや、個人が自作したライブラリが提供するソフトウエアインタフェース等を含む。
判断部210は、APIに関するパラメータに基づく拒否条件に基づいて、暗号化ファイル30を復号化した後の電子ファイルのデータに対するアクセスを許可するか否かを判断する。例えば、判断部210は、動作状態取得部220が取得したプロセスの実行ファイルが、「API名」に格納されている名前に適合する名前のAPIを呼ぶ場合に、復号化ファイルのデータに対するアクセスを拒否すると判断する。例えば、判断部210は、動作状態取得部220が取得したプロセスの実行ファイルに、「API名」に格納されているAPIをコールするコードが含まれている場合に、復号ファイルのデータに対するアクセスを拒否すると判断する。
なお、API名の拒否条件には、API名の文字列に対する部分一致条件が含まれてよい。例えば、図5におけるパラメータ"*Clipboard*"は、"Clipboard"の前に0個以上の文字を含み、"Clipboard"の後に0個以上の文字を含む文字列で構成されるAPI名のAPIをコールするソフトウエアが、拒否条件に適合すると判断される。このように、API名に基づく拒否条件によって、いわゆる商用ソフトウエアに限らず、復号化ファイルのデータにアクセスする可能性があるソフトウエアを、拒否ソフトウエアとして判断することができる場合がある。
なお、上述したプロセスの名前及びAPIの名前は、拒否ソフトウエアを特定するための拒否ソフトウエア特定情報の一例である。拒否ソフトウエア特定情報は、許可ソフトウエアの実行ファイルの少なくとも一部をハッシュ化して得られたハッシュ値を含んでよい。判断部210は、実行中のプロセスに関する実行ファイルの予め定められた部分をハッシュ値して得られたハッシュ値が、拒否ソフトウエア特定情報として格納されたハッシュ値のいずれかに一致した場合に、復号化ファイルのデータに対するアクセスを拒否すると判断してよい。
また、拒否ソフトウエア特定情報は、ソフトウエアの実行ファイルの格納場所を示す情報を含んでよい。例えば、判断部210は、ソフトウエアの実行ファイルが格納されているディレクトリが、予め定められたディレクトリの配下にない場合に、復号化ファイルのデータに対するアクセスを拒否すると判断してよい。例えば、判断部210は、動作状態取得部220が取得したプロセスの実行ファイルが格納されているディレクトリが、ソフトウエアがインストールされる規定のドライブ直下の"Program Files"の配下にない場合に、復号化ファイルのデータに対するアクセスを拒否すると判断してよい。
図6は、ユーザ装置130が実行する処理フローの一例を示す。図6の処理フローは、暗号化ファイル30を開くことをユーザ190から指示された場合に、開始される。例えば、図6の処理フローは、暗号化ファイル30に関連付けられたアイコンがダブルクリックされた場合に、開始される。
ステップS602において、制御ソフトウエア10の実行が開始される。例えば、制御ソフトウエア10は、基本ソフトウエアによって起動される。上述したように、基本ソフトウエアの設定情報には、ソフトウエアと拡張子との関連付け情報が含まれる。基本ソフトウエアの関連付け情報によって、暗号化ファイルの拡張子にはアクセス制御ソフトウエア10が関連付けられている。このため、例えば暗号化ファイル30に関連付けられたアイコンがダブルクリックされた場合、基本ソフトウエアは、オープン対象のファイルとして暗号化ファイル30を指定して、制御ソフトウエア10の実行ファイルが起動される。
ステップS604において、ソフトウエア特定部230は、暗号化ファイル30に基づいて、暗号化前の電子ファイル20の拡張子を特定する。例えば、ユーザ装置110において電子ファイル20が暗号化される場合に、ユーザ装置110は暗号化前の電子ファイル20の拡張子を示す拡張子情報を含めて暗号化ファイル30を生成する。ソフトウエア特定部230は、暗号化ファイル30から拡張子情報を抽出することにより、暗号化前の電子ファイル20の拡張子を特定する。なお、暗号化前の電子ファイル20の拡張子は、復号化ファイル50の拡張子と一致する。
ステップS606において、ソフトウエア特定部230は、ステップS604で特定した拡張子に基づいて、基本ソフトウエアの設定情報に基づく関連付けを優先するか、制御ソフトウエア10による設定情報を優先するかを判断する。例えば、ソフトウエア特定部230は、ステップS604で特定した拡張子に対応づけて許可条件の許可種別に格納されている情報が「基本ソフトウエア優先」の情報である場合に、基本ソフトウエアの設定情報に基づく関連付けを優先すると判断する。一方、ソフトウエア特定部230は、ステップS604で特定した拡張子に対応づけて許可条件の許可種別に格納されている情報が「制御ソフトウエア優先」の情報である場合に、制御ソフトウエア10の情報に基づく関連付けを優先すると判断する。
ステップS606において、ソフトウエア特定部230が基本ソフトウエアの設定情報に基づく関連付けを優先すると判断した場合、ステップS608に進む。ソフトウエア特定部230が制御ソフトウエアの設定情報に基づく関連付けを優先すると判断した場合、ステップS622に進む。ステップS622では、ステップS604で特定した拡張子に対応づけて「ソフトウエア名」に格納されている名前で識別されるソフトウエアを、閲覧ソフトウエアとして特定する。ステップS622の処理が完了すると、ステップS612に進む。
ステップS608において、ソフトウエア特定部230は、ステップS604で特定した拡張子及び基本ソフトウエアの設定情報に基づき、閲覧ソフトウエアを特定する。上述したように、ソフトウエア特定部230は、基本ソフトウエアの設定情報に含まれる関連付け情報に基づいて、ステップS604で特定した拡張子を開くのに用いるソフトウエアを特定して、特定したソフトウエアを閲覧ソフトウエアとして決定する。
ステップS610において、判断部210は、ステップS608で特定した閲覧ソフトウエアを用いて復号化ファイルのデータにアクセスすることが許可されるか否かを判断する。具体的には、判断部210は、ステップS604で特定した拡張子に対応づけて許可条件のソフトウエア名に格納されているソフトウエアの名前の中に、ステップS608で特定したソフトウエアの名前に一致するものが存在する場合に、ステップS608で特定した閲覧ソフトウエアを用いて復号化ファイルのデータにアクセスすることが許可されると判断する。
ステップS610において、ステップS608で特定した閲覧ソフトウエアを用いて復号化ファイルのデータにアクセスすることが許可されると判断した場合、ステップS612に進み、ステップS608で特定した閲覧ソフトウエアを用いて復号化ファイルのデータにアクセスすることが許可されないと判断した場合、ステップS632に進む。ステップS632では、関連付けされたソフトウエアでは復号化ファイルのデータへのアクセスが拒否されている旨をユーザ190に通知して、制御ソフトウエア10の動作を終了する。
ステップS612において、動作状態取得部220は、現在実行中のプロセスの名前を取得する。具体的には、動作状態取得部220は、基本ソフトウエアが提供するAPIを通じて、現在実行中のプロセスの名前を取得する。
ステップS614において、判断部210は、現在実行中のプロセスに基づいて、閲覧ソフトウエアによる復号化ファイルへのアクセスを許可するか否かを判断する。具体的な判断処理として、判断部210は、ステップS612で取得したプロセスの名前のうちの少なくとも一つのプロセスの名前が、拒否条件のプロセス名に格納されているプロセスの名前のいずれかに一致する場合に、閲覧ソフトウエアによる復号化ファイルへのアクセスを拒否すると判断する。また、判断部210は、ステップS612で取得したプロセスの実行ファイルに、拒否条件の「API名」に格納されている名前に適合する名前のAPIをコールするコードが含まれている場合に、閲覧ソフトウエアによる復号化ファイルへのアクセスを拒否すると判断する。
ステップS614において、復号化後の電子ファイルのデータへのアクセスを拒否すると判断した場合、ステップS642に進み、復号化後の電子ファイルのデータに対するアクセスを拒否しないと判断した場合、ステップS616に進む。ステップS642では、復号化ファイルのデータにアクセスできない旨をユーザ190に通知して、制御ソフトウエア10の動作を終了する。このとき、アクセス制御ソフトウエア10は、動作を終了する前に、動作を終了させるべきソフトウエアの名前をユーザ190に提示して、提示したソフトウエアの動作を終了してから暗号化ファイル30を開くよう、ユーザ190に通知する。
ステップS616において、暗号化ファイル30に対するファイルアクセス処理を行う。ステップS616では、ユーザ190の操作に応じて行われる復号化ファイルへのアクセス処理を含む。復号化ファイルをクローズする操作をユーザ190が行った場合に、制御ソフトウエア10の動作を終了する。
図7は、ユーザ装置130における暗号化ファイル30に対するアクセス処理に関する処理フローの一例である。本処理フローは、図6のステップS616の処理に適用できる。
ステップS702で、アクセス処理部250は、管理サーバ120に対して、暗号化ファイル30の復号化用のパスフレーズ60及び操作制限情報を要求する。具体的には、アクセス処理部250は、ユーザ190のユーザ識別情報及び暗号化ファイル30に基づき特定したファイル識別情報とともに、パスフレーズ60及び操作制限情報を要求する要求情報を管理サーバ120に送信する。
管理サーバ120は、ユーザ装置130から受信したユーザ識別情報に基づいて、ユーザ190を認証する。管理サーバ120は、ユーザ190を認証できた場合、ユーザ装置130から受信したユーザ識別情報及びファイル識別情報と、管理サーバ120が管理している操作制御情報とに基づいて、ユーザ190がアクセス許可者に含まれるか否かを判断する。管理サーバ120は、ユーザ190がアクセス許可者に含まれると判断した場合に、管理サーバ120がファイル識別情報に対応づけて格納しているパスフレーズ60および操作制限情報を、ユーザ装置130に送信する。
ステップS704において、アクセス処理部250は、暗号化ファイル30の復号化用のパスフレーズ60及び操作制限情報を管理サーバ120から受信できたか否かを判断する。
ステップS704においてアクセス処理部250がパスフレーズ60及び操作制限情報を受信できなかった場合、ステップS722において、復号化ファイルの情報にアクセスできない旨をユーザ190に通知して、ステップS720において暗号化ファイル30のクローズ処理を行い、制御ソフトウエア10の動作を終了する。
ステップS704においてアクセス処理部250がパスフレーズ60及び操作制限情報を受信できた場合、ステップS706において、アクセス処理部250は、管理サーバ120から受信したパスフレーズ60を用いて、暗号化ファイル30を復号化して、復号化ファイル50を生成する。
ステップS708において、動作処理部240は、図6のステップS608またはステップS622で特定された閲覧ソフトウエアを用いて、復号化ファイル50を開く。このとき、動作処理部240は、管理サーバ120から取得した操作制限情報に基づいて、閲覧ソフトウエアを起動させてよい。例えば、動作処理部240は、操作制限情報に基づき復号化ファイル50をネットワーク上へのアップロードを制限する必要があると判断した場合、復号化ファイル50のアップロードを許可しない動作モードで閲覧ソフトウエアを起動させてよい。
ステップS710で、復号化ファイル50に対する操作を操作制限情報に基づき制限した状態で、閲覧ソフトウエアに復号化ファイル50をアクセスさせる。ステップS710では、復号化ファイル50へのアクセスに関するユーザ190の操作内容を取得する処理、取得した操作内容の操作がユーザ190に許可されているか否かを操作制限情報に基づき判断する処理、ユーザ190に対して許可された操作に応じた処理だけを閲覧ソフトウエアが行うことを許容する処理等を行う。なお、アクセス処理部250は、予め定められた条件に適合する操作があった場合、その操作内容を示す情報を、ユーザ190のユーザ識別情報及びファイル識別情報とともに管理サーバ120に送信する。管理サーバ120は、ユーザ装置130から受信したユーザ識別情報及びファイル識別情報に対応づけて、受信した操作内容を示す情報を格納する。係るアクセス制御システム100の動作によれば、電子ファイル20のデータに対してユーザ190がどのような操作を行ったかを示す操作ログを、電子ファイル20毎に管理することができる。
ステップS712において、動作状態取得部220は、現在実行中のプロセスの名前を取得する。具体的には、動作状態取得部220は、ステップS612と同様に、基本ソフトウエアが提供するAPIを通じて、現在実行中のプロセスの名前を取得する。
ステップS714において、判断部210は、現在実行中のプロセスに基づいて、復号化ファイル50のデータへのアクセスを保護する必要があるかを判断する。具体的な判断処理は、ステップS614の処理と同様である。具体的には、判断部210は、ステップS712で取得したプロセスのうちの少なくとも一つのプロセスの名前が、拒否条件のプロセス名に格納されているプロセスの名前のいずれかに一致する場合に、復号化ファイル50のデータへのアクセスを保護する必要があると判断する。また、判断部210は、ステップS712で取得したプロセスの実行ファイルに、拒否条件の「API名」に格納されている名前に適合する名前のAPIをコールするコードが含まれている場合に、復号化ファイル50のデータへのアクセスを保護する必要があると判断する。
ステップS714において判断部210が復号化ファイル50のデータへのアクセスを保護する必要がないと判断した場合、ステップS718に処理を進める。
ステップS714において判断部210が復号化ファイル50のデータへのアクセスを保護する必要があると判断した場合、ステップS716において、動作処理部240は、拒否条件に適合するプロセスの動作を終了させる。具体的には、動作処理部240は、プロセス名の拒否条件のいずれかに適合する名前を持つプロセスの動作を終了させる。また、動作処理部240は、拒否条件の「API名」に格納されている名前に適合する名前のAPIをコールする実行ファイルに関連するプロセスの動作を終了させる。ステップS716で拒否条件を満たすプロセスの終了処理が完了すると、ステップS718に処理を進める。
ステップS718で、アクセス処理部250は、ユーザ190の操作に基づいて、復号化ファイル50に対するアクセスを終了する指示があった否かを判断する。復号化ファイル50に対するアクセスを終了する指示がなかった場合は、ステップS710に処理を戻す。
ステップS718で復号化ファイル50に対するアクセスを終了する指示があったと判断した場合、ステップS720において、復号化ファイル50のデータに対するアクセス処理を終了する動作を行う。具体的には、アクセス処理部250は、閲覧ソフトウエアが復号化ファイル50をクローズした後に、復号化ファイル50を削除する。また、アクセス処理部250は、電子ファイル20のデータへのアクセスを終了した旨を、ユーザ識別情報及びファイル識別情報とともに送信する。電子ファイル20のデータに対するアクセス処理を終了する処理が完了すると、制御ソフトウエア10の動作を終了する。
なお、上述したように、ステップS714において、判断部210は、ステップS712で取得したプロセスの名前が、拒否条件のプロセス名に格納されているプロセスの名前のいずれかに一致するか否かを判断する。また、判断部210は、ステップS712で取得したプロセスの実行ファイルが、拒否条件の「API名」に格納されている名前に適合する名前のAPIをコールするか否かを判断する。ここで、判断部210は、ステップS712で取得したプロセスのうち、ステップS612で取得したプロセスを除くプロセスを対象として、ステップS714の判断を行ってよい。このように、判断部210は、ステップS712で取得したプロセスのうち、ステップS612より後に新たに生成されたプロセスを対象として、上記の判断を行ってよい。また、判断部210は、ステップS714の判断を、直前の判断より後に新たに生成されたプロセスを対象として行ってよい。
なお、ステップS612の処理及びステップS614の処理は、暗号化ファイル30にアクセスするアクセス処理用の実行単位とは異なるプロセス監視用の実行単位で行ってよい。プロセス監視用の実行単位は、ステップS612の処理及びステップS614の処理を定期的に行ってよい。例えば、ステップS612の処理及びステップS614の処理は、アクセス処理用のプロセスとは異なる、プロセス監視用のプロセスで行ってよい。また、ステップS612の処理及びステップS614の処理は、アクセス処理用のスレッドとは異なる、プロセス監視用のスレッドで行ってよい。そして、アクセス処理用の実行単位は、例えばステップS612及びステップS614の処理に代えて、プロセス監視用の実行単位からステップS614の判断結果を示す情報を取得して、プロセス監視用の実行単位から取得した情報が示す判断結果に基づいて、ステップS642及びステップS616のいずれに進むかを判断してよい。同様に、アクセス処理用の実行単位は、ステップS712及びステップS714の処理に代えて、プロセス監視用の実行単位からステップS714の判断結果を示す情報を取得して、ステップS716の処理を行うか否かを判断してよい。なお、プロセス監視用の実行単位が、ステップS716の処理を行ってよい。この場合、アクセス用の実行単位は、プロセス監視用の実行単位に、拒否条件に適合するプロセスの動作を終了させる処理を依頼してよい。これに代えて、プロセス監視用の実行単位は、アクセス用の実行単位がステップS716以降の処理を行っている間、ステップS614の判断結果に応じて、拒否条件に適合するプロセスの動作を終了させてよい。
また、制御ソフトウエア10の動作によってユーザ装置130で行われるステップS610の判断処理、ステップS614の判断処理及びステップS714の判断処理のうち少なくとも一つの判断処理を、ユーザ装置130の代わりに管理サーバ120が行ってもよい。そして、ユーザ装置130は、管理サーバ120によって行われた判断処理の結果を示す情報を、管理サーバ120から取得してよい。この場合、ユーザ装置130は、これらの判断処理を行うために管理サーバ120が必要とする情報を、管理サーバ120に送信してよい。例えば、ユーザ装置130は、ステップS608またはステップS622で特定した閲覧ソフトウエアの名前を示す情報を、管理サーバ120に送信してよい。また、ユーザ装置130は、ステップS612またはステップS712で特定したプロセスの名前を示す情報を、管理サーバ120に送信してよい。これにより、ユーザ装置130は、管理サーバ120で管理されている最新の許可条件及び拒否条件に基づいて、暗号化ファイル30に対するアクセスを制御することができる。
なお、許可条件は、ソフトウエアに関するいわゆるホワイトリストに相当するとみなせる。また、拒否条件は、ソフトウエアに関するいわゆるブラックリストに相当するとみなせる。そのため、アクセス制御システム100によれば、ソフトウエアに関するホワイトリスト及びブラックリストに基づいて、電子ファイル20のデータに対するアクセスを制御することができるといえる。
なお、暗号化ファイルは、電子ファイルの一例である。本実施形態では、暗号化ファイルに対するアクセス処理を取り上げて説明した。しかし、本実施形態に関して説明したアクセス制限処理は、暗号化ファイルに限られず、暗号化されていない電子ファイルを対象に適用し得る。また、本実施形態に関して説明したアクセス制限処理は、電子ファイルのデータに限られず、種々のデータまたは情報を対象に適用し得る。
上記の説明において、制御部200の動作として説明した処理は、プロセッサが制御ソフトウエア10及び基本ソフトウエア等のプログラムに従ってユーザ装置130が有する各ハードウェアを制御することにより実現される。すなわち、本実施形態のユーザ装置130に関連して説明したユーザ装置130の処理は、プロセッサがプログラムに従って動作して各ハードウェアを制御することにより、プロセッサ、メモリ等を含む各ハードウェアとプログラムとが協働して動作することにより実現することができる。すなわち、当該処理を、いわゆるコンピュータで実現することができる。コンピュータは、上述した処理の実行を制御するプログラムをロードして、読み込んだプログラムに従って動作して、当該処理を実行してよい。コンピュータは、当該プログラムを記憶しているコンピュータ読取可能な記録媒体から当該プログラムをロードすることができる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。
請求の範囲、明細書、及び図面中において示した装置、システム、プログラム、及び方法における動作、手順、ステップ、及び段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
10 制御ソフトウエア
20 電子ファイル
30 暗号化ファイル
50 復号化ファイル
60 パスフレーズ
70 電子メール
80 記録メディア
90 通信ネットワーク
100 アクセス制御システム
110 ユーザ装置
120 管理サーバ
130 ユーザ装置
180 ユーザ
190 ユーザ
200 制御部
202 送受信部
204 格納部
210 判断部
220 動作状態取得部
230 ソフトウエア特定部
240 動作処理部
250 アクセス処理部
20 電子ファイル
30 暗号化ファイル
50 復号化ファイル
60 パスフレーズ
70 電子メール
80 記録メディア
90 通信ネットワーク
100 アクセス制御システム
110 ユーザ装置
120 管理サーバ
130 ユーザ装置
180 ユーザ
190 ユーザ
200 制御部
202 送受信部
204 格納部
210 判断部
220 動作状態取得部
230 ソフトウエア特定部
240 動作処理部
250 アクセス処理部
Claims (10)
- 電子ファイルのアクセスが許可または禁止されているソフトウエアが予め定められたアクセス制御情報に基づいて電子ファイルへアクセスすることを制限する制御部
を備えるアクセス制御装置。 - 前記アクセス制御情報は、前記アクセスに用いることが許可されるソフトウエアが満たすべき予め定められた第1条件を含み、
前記制御部は、前記電子ファイルのアクセスに用いるべきソフトウエアが前記第1条件を満たす場合に、前記第1条件を満たすソフトウエアによる前記アクセスを許可する
請求項1に記載のアクセス制御装置。 - 前記アクセス制御情報は、前記アクセスが禁止されるソフトウエアが満たすべき予め定められた第2条件を含み、
前記制御部は、前記第2条件を満たすソフトウエアによる前記アクセスを制限する
請求項2に記載のアクセス制御装置。 - 前記制御部は、前記第2条件を満たすソフトウエアが動作している場合に、前記第1条件を満たすソフトウエアによる前記アクセスを制限する
請求項3に記載のアクセス制御装置。 - 前記制御部は、前記第1条件を満たすソフトウエアが前記電子ファイルへのアクセスを開始する前に、前記第2条件を満たすソフトウエアが動作しているか否かを判断し、前記第2条件を満たすソフトウエアが動作していると判断した場合に、前記第1条件を満たすソフトウエアが前記電子ファイルへのアクセスを開始することを禁止する
請求項4に記載のアクセス制御装置。 - 前記制御部は、前記第1条件を満たすソフトウエアが前記電子ファイルへのアクセスを開始した後に、前記第2条件を満たすソフトウエアの動作が検出された場合に、前記第2条件を満たすソフトウエアの動作を制限する
請求項5に記載のアクセス制御装置。 - 前記第2条件は、前記アクセスが禁止されるべきソフトウエアが行う動作内容に関する条件を含む
請求項3から6のいずれか一項に記載のアクセス制御装置。 - 暗号化された電子ファイルの復号化に用いるパスフレーズを外部の管理装置から取得するパスフレーズ取得部と、
前記パスフレーズ取得部が取得した前記パスフレーズを用いて、前記暗号化された電子ファイルを復号化する復号化部と
をさらに備え、
前記制御部は、前記復号化部が前記暗号化された電子ファイルを復号化する前に、前記復号化部により復号化された電子ファイルへのアクセスを許可するか否かを前記予め定められたアクセス制御情報に基づいて判断し、前記復号化部により復号化された電子ファイルへのアクセスを許可すると判断した場合に、前記パスフレーズ取得部に前記管理装置から前記パスフレーズを取得させ、前記暗号化された電子ファイルを前記復号化部に前記パスフレーズを用いて復号化させる
請求項2から7のいずれか一項に記載のアクセス制御装置。 - コンピュータを、請求項1から8のいずれか一項に記載のアクセス制御装置として機能させるためのプログラム。
- 請求項1から8のいずれか一項に記載のアクセス制御装置と、
前記アクセス制御装置の外部に設けられ、前記予め定められたアクセス制御情報及び前記予め定められたアクセス制御情報に基づく判断結果の少なくとも一方を、前記アクセス制御装置に提供する管理装置と
を備えるアクセス制御システム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201480006222.2A CN105247534B (zh) | 2013-12-11 | 2014-12-10 | 访问控制装置及访问控制系统 |
EP14869418.5A EP2933751B1 (en) | 2013-12-11 | 2014-12-10 | Access control device, program and access control system |
US14/799,581 US10262152B2 (en) | 2013-12-11 | 2015-07-15 | Access control apparatus, computer-readable medium, and access control system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013-256344 | 2013-12-11 | ||
JP2013256344A JP5750497B2 (ja) | 2013-12-11 | 2013-12-11 | アクセス制御装置、プログラム及びアクセス制御システム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/799,581 Continuation US10262152B2 (en) | 2013-12-11 | 2015-07-15 | Access control apparatus, computer-readable medium, and access control system |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015087923A1 true WO2015087923A1 (ja) | 2015-06-18 |
Family
ID=53371224
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2014/082718 WO2015087923A1 (ja) | 2013-12-11 | 2014-12-10 | アクセス制御装置、プログラム及びアクセス制御システム |
Country Status (6)
Country | Link |
---|---|
US (1) | US10262152B2 (ja) |
EP (1) | EP2933751B1 (ja) |
JP (1) | JP5750497B2 (ja) |
CN (1) | CN105247534B (ja) |
TW (1) | TWI654536B (ja) |
WO (1) | WO2015087923A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3441903A4 (en) * | 2015-10-14 | 2019-10-23 | Digital Arts Inc. | ACCESS MANAGEMENT SYSTEM, FILE ACCESS SYSTEM, ENCRYPTION DEVICE AND PROGRAM |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107563171B (zh) * | 2017-09-11 | 2020-08-28 | 英业达科技有限公司 | 具有生物特征辨识模块的储存装置 |
SG11202006183XA (en) * | 2017-12-28 | 2020-07-29 | Digital Arts Inc | Information processing device, information processing method, program, and recording medium |
JP7040467B2 (ja) * | 2019-01-11 | 2022-03-23 | 日本電信電話株式会社 | 更新装置および更新方法 |
WO2020160429A1 (en) | 2019-01-31 | 2020-08-06 | Ecolab Usa Inc. | Controller for a rinse water reuse system and methods of use |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007109016A (ja) * | 2005-10-13 | 2007-04-26 | Nec Corp | アクセスポリシ生成システム、アクセスポリシ生成方法及びアクセスポリシ生成用プログラム |
JP2008118265A (ja) * | 2006-11-01 | 2008-05-22 | Fujitsu Ltd | 情報処理装置 |
JP2010154419A (ja) | 2008-12-26 | 2010-07-08 | Digital Arts Inc | 電子ファイル送信方法 |
JP2011053893A (ja) * | 2009-09-01 | 2011-03-17 | Hitachi Ltd | 不正プロセス検知方法および不正プロセス検知システム |
JP2013114614A (ja) * | 2011-11-30 | 2013-06-10 | Nippon Telegr & Teleph Corp <Ntt> | 情報流通システムとそのアクセス制御方法 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ATE221677T1 (de) * | 1996-02-09 | 2002-08-15 | Digital Privacy Inc | Zugriffssteuerungs/verschlüsselungssystem |
US6848047B1 (en) * | 1999-04-28 | 2005-01-25 | Casio Computer Co., Ltd. | Security managing system, data distribution apparatus and portable terminal apparatus |
US7660902B2 (en) * | 2000-11-20 | 2010-02-09 | Rsa Security, Inc. | Dynamic file access control and management |
US20020196944A1 (en) * | 2001-02-16 | 2002-12-26 | United Parcel Service Of America, Inc. | Systems and methods for licensing and providing selective access to network applications |
US7340214B1 (en) * | 2002-02-13 | 2008-03-04 | Nokia Corporation | Short-range wireless system and method for multimedia tags |
US20030195858A1 (en) | 2002-04-10 | 2003-10-16 | Fujio Watanabe | Distributed information storage, authentication and authorization system |
US20030200459A1 (en) * | 2002-04-18 | 2003-10-23 | Seeman El-Azar | Method and system for protecting documents while maintaining their editability |
US7577838B1 (en) * | 2002-12-20 | 2009-08-18 | Alain Rossmann | Hybrid systems for securing digital assets |
US7409389B2 (en) * | 2003-04-29 | 2008-08-05 | International Business Machines Corporation | Managing access to objects of a computing environment |
US20040230806A1 (en) * | 2003-05-14 | 2004-11-18 | International Business Machines Corporation | Digital content control including digital rights management (DRM) through dynamic instrumentation |
JP2005122474A (ja) * | 2003-10-16 | 2005-05-12 | Fujitsu Ltd | 情報漏洩防止プログラムおよびその記録媒体並びに情報漏洩防止装置 |
CN100421111C (zh) * | 2004-12-13 | 2008-09-24 | 佳能株式会社 | 图像处理装置、信息处理方法 |
JP2007213546A (ja) | 2006-01-13 | 2007-08-23 | Keytel:Kk | 暗号化ファイル受渡システム、電子ファイル暗号化プログラム及び暗号化ファイル受渡方法 |
JP2007306261A (ja) | 2006-05-11 | 2007-11-22 | Hitachi Software Eng Co Ltd | データ送信システム |
JP2008071216A (ja) | 2006-09-15 | 2008-03-27 | Keytel:Kk | 情報伝達システム、情報伝達計算機及びプログラム |
WO2009063552A1 (ja) * | 2007-11-13 | 2009-05-22 | Fujitsu Limited | アーカイブシステム制御プログラム、アーカイブシステム、管理装置および制御方法 |
CN101925913A (zh) * | 2008-01-31 | 2010-12-22 | 国际商业机器公司 | 加密文件访问的方法和系统 |
US9189628B2 (en) * | 2008-04-10 | 2015-11-17 | Adobe Systems Incorporated | Data driven system for responding to security vulnerability |
JP5463112B2 (ja) * | 2009-09-24 | 2014-04-09 | Necパーソナルコンピュータ株式会社 | 情報処理装置、ファイルアクセス制御方法、プログラム及びコンピュータ読取可能な記録媒体 |
US20120303827A1 (en) * | 2011-05-24 | 2012-11-29 | Microsoft Corporation | Location Based Access Control |
JP5027337B2 (ja) * | 2012-01-18 | 2012-09-19 | キヤノンItソリューションズ株式会社 | 情報処理システム、情報処理装置、その制御方法及びプログラム |
US9152811B2 (en) * | 2012-03-12 | 2015-10-06 | International Business Machines Corporation | Transparent real-time access to encrypted non-relational data |
US9253209B2 (en) * | 2012-04-26 | 2016-02-02 | International Business Machines Corporation | Policy-based dynamic information flow control on mobile devices |
KR101959738B1 (ko) | 2012-05-24 | 2019-03-19 | 삼성전자 주식회사 | 장치 식별자와 사용자 인증 정보에 기반한 보안 키 생성 장치 |
US20150358357A1 (en) * | 2012-12-31 | 2015-12-10 | British Telecommunication Public Limited Company | Processing device and method of operation thereof |
EP2939390B1 (en) * | 2012-12-31 | 2021-01-06 | British Telecommunications public limited company | Processing device and method of operation thereof |
TWI444849B (zh) | 2013-05-31 | 2014-07-11 | Taiwan Dls Corp Ltd | 透過伺服器驗證並授權解密以監控個資檔案之系統及方法 |
-
2013
- 2013-12-11 JP JP2013256344A patent/JP5750497B2/ja active Active
-
2014
- 2014-12-10 CN CN201480006222.2A patent/CN105247534B/zh active Active
- 2014-12-10 EP EP14869418.5A patent/EP2933751B1/en active Active
- 2014-12-10 WO PCT/JP2014/082718 patent/WO2015087923A1/ja active Application Filing
- 2014-12-11 TW TW103143345A patent/TWI654536B/zh active
-
2015
- 2015-07-15 US US14/799,581 patent/US10262152B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007109016A (ja) * | 2005-10-13 | 2007-04-26 | Nec Corp | アクセスポリシ生成システム、アクセスポリシ生成方法及びアクセスポリシ生成用プログラム |
JP2008118265A (ja) * | 2006-11-01 | 2008-05-22 | Fujitsu Ltd | 情報処理装置 |
JP2010154419A (ja) | 2008-12-26 | 2010-07-08 | Digital Arts Inc | 電子ファイル送信方法 |
JP2011053893A (ja) * | 2009-09-01 | 2011-03-17 | Hitachi Ltd | 不正プロセス検知方法および不正プロセス検知システム |
JP2013114614A (ja) * | 2011-11-30 | 2013-06-10 | Nippon Telegr & Teleph Corp <Ntt> | 情報流通システムとそのアクセス制御方法 |
Non-Patent Citations (1)
Title |
---|
See also references of EP2933751A4 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3441903A4 (en) * | 2015-10-14 | 2019-10-23 | Digital Arts Inc. | ACCESS MANAGEMENT SYSTEM, FILE ACCESS SYSTEM, ENCRYPTION DEVICE AND PROGRAM |
Also Published As
Publication number | Publication date |
---|---|
US10262152B2 (en) | 2019-04-16 |
JP5750497B2 (ja) | 2015-07-22 |
EP2933751A4 (en) | 2016-08-10 |
EP2933751A1 (en) | 2015-10-21 |
CN105247534A (zh) | 2016-01-13 |
CN105247534B (zh) | 2019-07-19 |
JP2015114837A (ja) | 2015-06-22 |
TW201543262A (zh) | 2015-11-16 |
EP2933751B1 (en) | 2019-08-14 |
US20150317488A1 (en) | 2015-11-05 |
TWI654536B (zh) | 2019-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11610014B2 (en) | Controlling access to application data | |
CN101901313B (zh) | 一种Linux文件保护系统及方法 | |
US9515832B2 (en) | Process authentication and resource permissions | |
WO2015087923A1 (ja) | アクセス制御装置、プログラム及びアクセス制御システム | |
US10979450B2 (en) | Method and system for blocking phishing or ransomware attack | |
JP6045728B1 (ja) | アクセス管理システム、ファイルアクセスシステム、暗号化装置及びプログラム | |
JP6082130B1 (ja) | システム、及びプログラム | |
WO2013080659A1 (ja) | 機密情報漏洩防止システム、機密情報漏洩防止方法、及びコンピュータ読み取り可能な記録媒体 | |
US10503920B2 (en) | Methods and systems for management of data stored in discrete data containers | |
US9460305B2 (en) | System and method for controlling access to encrypted files | |
US10210337B2 (en) | Information rights management using discrete data containerization | |
US8793507B2 (en) | Information processing apparatus, file encryption determination method and authority determination method | |
TWI573079B (zh) | 電子文件資訊安全控管系統及其方法 | |
EP2835758B1 (en) | System and method for controlling access to encrypted files | |
CN106897613B (zh) | 一种操作执行方法及装置 | |
KR100981301B1 (ko) | 개인용 컴퓨터에서 보호정보의 외부유출을 실용적으로방지하는 방법 및 그 장치 | |
CN113507445B (zh) | 一种物联网第三方规则安全性的检测方法和装置 | |
JP6782900B2 (ja) | 情報処理装置、情報処理方法、及び情報処理プログラム | |
JP2022038591A (ja) | 情報処理装置、情報処理方法、及び情報処理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 2014869418 Country of ref document: EP |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14869418 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: IDP00201504906 Country of ref document: ID |
|
NENP | Non-entry into the national phase |
Ref country code: DE |