WO2021250867A1 - コンピュータ可読媒体、ユーザ装置、アクセス制御方法、及びアクセス制御システム - Google Patents

コンピュータ可読媒体、ユーザ装置、アクセス制御方法、及びアクセス制御システム Download PDF

Info

Publication number
WO2021250867A1
WO2021250867A1 PCT/JP2020/023092 JP2020023092W WO2021250867A1 WO 2021250867 A1 WO2021250867 A1 WO 2021250867A1 JP 2020023092 W JP2020023092 W JP 2020023092W WO 2021250867 A1 WO2021250867 A1 WO 2021250867A1
Authority
WO
WIPO (PCT)
Prior art keywords
target file
target
user
file
access authority
Prior art date
Application number
PCT/JP2020/023092
Other languages
English (en)
French (fr)
Inventor
匠 廣田
秀之 安岡
Original Assignee
日本電気株式会社
Necソリューションイノベータ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社, Necソリューションイノベータ株式会社 filed Critical 日本電気株式会社
Priority to JP2022529971A priority Critical patent/JP7485456B2/ja
Priority to US18/009,027 priority patent/US20230252175A1/en
Priority to PCT/JP2020/023092 priority patent/WO2021250867A1/ja
Publication of WO2021250867A1 publication Critical patent/WO2021250867A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2111Location-sensitive, e.g. geographical location, GPS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Definitions

  • the present invention relates to file access control.
  • Patent Document 1 is a prior art document that discloses a technique for realizing such management of a shared file.
  • Patent Document 1 discloses a system for controlling file access by a user device.
  • the user device When accessing the encrypted shared file, the user device requests a decryption key from the management server.
  • the management server that receives this request acquires the access right information of the shared folder in which the shared file is stored from the linkage server.
  • the management server sends the decryption key and access right information to the user device.
  • the user device uses the shared file by using the acquired decryption key according to the access right shown in the acquired access right information.
  • the present invention has been made in view of the above problems, and one of the objects thereof is to provide a technique for avoiding concentration of load on one server in an environment where files are shared by using a server. Is.
  • a determination unit that determines whether or not the target file is used, and an acquisition unit that acquires key information used for decrypting the target file from the second server device when it is determined that the target user has access authority to the target file. It has a decoding unit that decodes the target file by using the acquired key information.
  • the access control method of the present invention is executed by a computer.
  • the access control method obtains access authority information regarding the access authority of the target user for the encrypted target file from the first server device, and whether or not the target user has the access authority to the target file.
  • the computer is neither the first server device nor the second server device.
  • the computer-readable medium of the present invention stores a program that causes a computer to execute the access control method of the present invention.
  • the access control system of the present invention includes a user device, a first server device, and a second server device.
  • the user apparatus sends a first request to the first server apparatus for requesting access authority information regarding the access authority of the target user for the encrypted target file, and the access acquired from the first server apparatus.
  • a second request for requesting the key information used for decrypting the target file is transmitted to the server device, and the acquisition unit for acquiring the key information from the second server device and the acquired key information are used. It has a decoding unit that decodes the target file.
  • the first server device provides the access authority information to the user device in response to the first request.
  • the second server device provides the key information to the user device in response to the second request.
  • FIG. It is a figure which illustrates the outline of the operation of the user apparatus of Embodiment 1.
  • FIG. It is a block diagram which illustrates the functional structure of the access control system of Embodiment 1.
  • FIG. It is a block diagram which illustrates the hardware composition of the computer which realizes a user apparatus. It is a flowchart which illustrates the flow of the process executed by the user apparatus of Embodiment 1.
  • FIG. It is a figure which conceptually explains access control based on a reference position. It is a figure which shows the concrete realization example of an access control system. It is a figure which illustrates the flow of access control in the access control system of the realization example.
  • FIG. 1 is a diagram illustrating an outline of the operation of the user apparatus 2000 of the first embodiment.
  • FIG. 1 is a diagram for facilitating an understanding of the outline of the user apparatus 2000, and the operation of the user apparatus 2000 is not limited to that shown in FIG.
  • the user device 2000 constitutes an access control system 5000 together with the first server device 3000 and the second server device 4000.
  • access control system 5000 access control based on the access authority is performed for the file access by the user apparatus 2000.
  • the file for which access control is performed using the access control system 5000 is referred to as a target file 10.
  • the storage device in which the target file 10 is stored may be any storage device accessible from the user device 2000, and may be provided inside or outside the user device 2000.
  • the target file 10 is stored in the storage device in an encrypted state. Therefore, in the access control system 5000, in addition to the access control for the target file 10, the target file 10 is also decoded.
  • the user device 2000 is a device used by the user and accesses the target file 10.
  • the user who uses the user device 2000 is referred to as a target user 40.
  • the access to the target file 10 may be performed in response to an operation by the target user 40, or may be automatically performed by software running on the user apparatus 2000.
  • FIG. 1 illustrates a case where the target file 10 is accessed in response to an operation by the target user 40.
  • the first server device 3000 is a device that manages information regarding the access authority of the target file 10.
  • the second server device 4000 is a server device that manages information necessary for decoding the target file 10.
  • the user device 2000 When the target file 10 is used in the user device 2000, the user device 2000 has the authority to access the first server device 3000 and the target user 40 to access the target file 10 (access authority to the target file 10). Judge whether or not. More specifically, the user apparatus 2000 acquires information regarding access authority (hereinafter, access authority information 20) for the target file 10 from the first server apparatus 3000, and uses the acquired access authority information 20 to obtain information. It is determined whether or not the target user 40 has access authority to the target file 10.
  • access authority information 20 information regarding access authority
  • the user device 2000 accesses the second server device 4000 and decodes the target file 10. More specifically, the user apparatus 2000 acquires information (hereinafter, key information 30) necessary for decoding the target file 10 from the second server apparatus 4000. Then, the user device 2000 decodes the target file 10 by using the key information 30.
  • the key information 30 includes a decryption key for decrypting the target file 10.
  • the user apparatus 2000 decodes the target file 10 with the decryption key included in the key information 30.
  • the data included in the key information 30 is not limited to the decryption key.
  • access control and file decryption are performed using separate servers for the target file 10 that is the target of access control and is encrypted. .. More specifically, access control is performed using the first server device 3000, and decoding of the target file 10 is performed using the second server device 4000. Therefore, it is possible to prevent the processing load from being concentrated on one type of server for access to a file that requires both access control and decryption.
  • FIG. 2 is a block diagram illustrating a functional configuration of the user apparatus 2000 of the first embodiment.
  • the user device 2000 constitutes the access control system 5000 together with the first server device 3000 and the second server device 4000.
  • the user device 2000 has a determination unit 2020, an acquisition unit 2040, and a decoding unit 2060.
  • the determination unit 2020 acquires the access authority information 20 from the first server device 3000, and determines whether or not the target user 40 has the access authority to the target file 10.
  • the acquisition unit 2040 acquires the key information 30 for the target file 10 from the second server device 4000.
  • the decryption unit 2060 decodes the target file 10 by using the key information 30.
  • Each functional component of the user device 2000 may be realized by hardware (eg, a hard-wired electronic circuit, etc.) that realizes each functional component, or a combination of hardware and software (eg, electronic). It may be realized by a combination of a circuit and a program that controls it).
  • hardware eg, a hard-wired electronic circuit, etc.
  • software eg, electronic
  • It may be realized by a combination of a circuit and a program that controls it).
  • a case where each functional component of the user apparatus 2000 is realized by a combination of hardware and software will be further described.
  • FIG. 3 is a block diagram illustrating a hardware configuration of a computer 500 that realizes a user device 2000.
  • the computer 500 is any computer.
  • the computer 500 is a stationary computer such as a PC (Personal Computer) or a server machine.
  • the computer 500 is a portable computer such as a smartphone or a tablet terminal.
  • the computer 500 may be a dedicated computer designed to realize the user apparatus 2000, or may be a general-purpose computer.
  • each function of the user device 2000 is realized on the computer 500.
  • the above application is composed of a program for realizing the functional component of the user apparatus 2000.
  • the computer 500 has a bus 502, a processor 504, a memory 506, a storage device 508, an input / output interface 510, and a network interface 512.
  • the bus 502 is a data transmission path for the processor 504, the memory 506, the storage device 508, the input / output interface 510, and the network interface 512 to transmit and receive data to and from each other.
  • the method of connecting the processors 504 and the like to each other is not limited to the bus connection.
  • the processor 504 is various processors such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or an FPGA (Field-Programmable Gate Array).
  • the memory 506 is a main storage device realized by using RAM (RandomAccessMemory) or the like.
  • the storage device 508 is an auxiliary storage device realized by using a hard disk, an SSD (Solid State Drive), a memory card, a ROM (Read Only Memory), or the like.
  • the input / output interface 510 is an interface for connecting the computer 500 and the input / output device.
  • an input device such as a keyboard and an output device such as a display device are connected to the input / output interface 510.
  • the network interface 512 is an interface for connecting the computer 500 to the network.
  • This network may be a LAN (Local Area Network) or a WAN (Wide Area Network).
  • the storage device 508 stores a program (a program that realizes the above-mentioned application) that realizes each functional component of the user device 2000.
  • the processor 504 reads this program into the memory 506 and executes it to realize each functional component of the user apparatus 2000. Further, the target file 10 may be stored in the storage device 508.
  • the user device 2000 may be realized by one computer 500 or may be realized by a plurality of computers 500. In the latter case, the configurations of the computers 500 do not have to be the same and can be different.
  • the first server device 3000 and the second server device 4000 are also realized by various computers.
  • the computer that realizes the first server device 3000 and the computer that realizes the second server device 4000 have the hardware configuration shown in FIG. 3, like the computer 500 that realizes the user device 2000, for example.
  • the hardware configurations of the computers that realize the user device 2000, the first server device 3000, and the second server device 4000 may be different from each other.
  • the first server device 3000 and the second server device 4000 may be realized by a plurality of computers, respectively.
  • the computer that realizes the user device 2000, the first server device 3000, and the second server device 4000 is communicably connected via a network.
  • the network connecting these to each other may be a LAN or a WAN. Further, two of these three may be connected to each other via LAN, and the remaining one may be connected to each other via WAN.
  • the first server device 3000 and the second server device 4000 are provided in the same LAN, and the user device 2000 is connected to the first server device 3000 and the second server device 4000 via the WAN.
  • FIG. 4 is a flowchart illustrating the flow of processing executed by the user apparatus 2000 of the first embodiment.
  • the determination unit 2020 detects access to the target file 10 (S102).
  • the determination unit 2020 acquires the access authority information 20 from the first server device 3000 (S104).
  • the determination unit 2020 uses the access authority information 20 to determine whether or not the target user 40 has access authority to the target file 10 (S106).
  • the acquisition unit 2040 acquires the key information 30 from the second server device 4000 (S108).
  • the decryption unit 2060 decodes the target file 10 by using the key information 30 (S110).
  • the processing performed when it is determined that the target user 40 does not have the access authority to the target file 10 is arbitrary.
  • the target file 10 is accessed in response to a user operation, for example, an error message indicating that the user device 2000 cannot access the target file 10 because the display device or the like viewed by the target user 40 does not have access authority. And so on.
  • the target file 10 is accessed by the software running on the user device 2000, for example, the user device 2000 gives an error to the effect that the software does not have the authority to access the target file 10. Notify.
  • ⁇ Detection of access to target file 10 S102>
  • the determination unit 2020 detects access to the target file 10 (S102).
  • various existing techniques can be used as techniques for detecting access to a file subject to specific control.
  • the user device 2000 detects access to an arbitrary file and determines whether or not the file is the target file 10. This determination can be achieved, for example, by referring to the metadata of the accessed file.
  • the metadata of the target file 10 that is, the metadata of the file whose access is controlled by the access control system 5000
  • the determination unit 2020 determines whether or not the above flag is included in the metadata of the file. If the metadata of the accessed file contains the above flag, the determination unit 2020 determines that the accessed file is the target file 10. On the other hand, if the metadata of the accessed file does not include the above flag, the determination unit 2020 determines that the accessed file is not the target file 10.
  • the metadata of the target file 10 includes information indicating a reference position described later, an encryption key used for encrypting the target file 10, and the like. By doing so, this information can be used in the same way as the above-mentioned flag.
  • the directory in which the target file 10 can be stored is limited to a specific directory (hereinafter referred to as the target directory).
  • the determination unit 2020 determines whether or not the file is stored in the target directory.
  • the determination unit 2020 determines that the file is the target file 10.
  • the determination unit 2020 determines that the file is not the target file 10. There may be multiple target directories.
  • the information that defines the target directory is stored in, for example, a storage device that can be accessed from the user device 2000.
  • the metadata of the directory may be provided with a flag indicating that the directory is the target directory.
  • the access authority managed by the first server device 3000 will be described.
  • the access authority may be set for each user or for each group of users. Further, the access authority may be set individually for each of various operations on the file, or may be set collectively for all operations.
  • the access authority may be set for each file or for each group of files. In the latter case, for example, access authority is set for the location (directory) where the file is stored. That is, the same access authority is set for the target file 10 stored in the same directory. If a subdirectory is stored in a directory for which access permissions have been set, the same access permissions will be recursively set for the files and subdirectories stored in that subdirectory. Is preferable.
  • the access authority for a certain file is not the directory in which the file is currently stored, but the directory in which the file was stored in the past (hereinafter referred to as the reference position).
  • the access authority may be set for the file. For example, it is assumed that the target file 10 stored in the file server is copied to the user apparatus 2000. After that, it is assumed that the user device 2000 accesses the target file 10 stored in the user device 2000. In this case, it is conceivable to set the storage position on the file server as the reference position of the target file 10. In such a situation, if the access authority set for the reference position is used, even after the target file 10 is copied to the user device 2000, the access authority set for the storage position on the file server is used. Access control can be realized.
  • FIG. 5 is a diagram conceptually explaining access control based on a reference position.
  • the file f1 is stored in the directory / dir1 / dir2 / dir3 provided in the file server 50. Then, / dir1 / dir2 / dir3 of the file server 50 is set as the reference position of the file f1.
  • the file f1 is copied from / dir1 / dir2 / dir3 of the file server 50 to / dir4 / dir5 of the user device 2000.
  • the reference position "/ dir1 / dir2 / dir3 of the file server 50" is not used instead of the current position "/ dir4 / dir5 of the user device 2000".
  • the access to the target file 10 is controlled based on the access authority set for. Therefore, for example, even if the target user 40 operating the user device 2000 has access authority to the file stored in / dir4 / dir5, he / she has access authority to / dir1 / dir2 / dir3. Otherwise, the target file 10 stored in / dir4 / dir5 cannot be accessed.
  • the file f1 is deleted on the file server 50.
  • the file f1 copied to the user apparatus 2000 may not be accessible even by the target user 40 who has the access authority to the reference position of the file f1.
  • Various existing methods can be adopted as the method for realizing the grasp.
  • the metadata of the file copied to the user apparatus 2000 includes the path of the file on the file server 50 which is the original data of the file.
  • the target user 40 when determining whether or not the target user 40 has access authority to the target file 10, it is also determined whether or not the file on the file server 50, which is the original data of the target file 10, has been deleted. , If it is deleted, it is determined that you do not have access authority.
  • the reference position of the target file 10 may be updatable. For example, a specific user is given the authority to change the reference position of the target file 10. In this case, it is assumed that the target file 10 stored in the file server 50 is moved to another directory in the file server 50 by the user. At this time, for example, the file server 50 causes the user to select whether or not to change the reference position to the destination directory for the moved target file 10. When it is selected to change the reference position, the first server device 3000 sets the destination directory to the new reference position of the moved target file 10. On the other hand, if it is selected not to change the reference position, the reference position is not changed. The first server device 3000 does not have to ask the user for selection. In this case, when the target file 10 is moved by a user who has the authority to change the reference position, the reference position of the target file 10 is automatically changed.
  • the reference position of the target file 10 is not changed.
  • the reference position of the target file 10 is changed to the destination directory.
  • Any method can be adopted as a method for enabling two movement operations, that is, normal movement and movement that involves changing the reference position.
  • a movement operation performed with the left mouse button may be treated as a normal movement operation
  • a movement operation performed with the right mouse button may be treated as a movement operation accompanied by a change in the reference position.
  • the reference position is updated according to the movement of the file has been described, but the reference position may be updated according to the copy of the file by the same method.
  • different reference positions are set for two files having the same content. That is, the reference position is not changed for the copy source file, and the copy destination directory is set as the reference position for the file generated by copying.
  • the determination unit 2020 acquires the access authority information 20 (S104). More specifically, the determination unit 2020 transmits a request for access authority information 20 to the first server device 3000. Then, the determination unit 2020 receives the access authority information 20 as a response transmitted from the first server device 3000 in response to the above request. Then, the determination unit 2020 determines whether or not the target user 40 has the access authority by using the access authority information 20.
  • the access authority information 20 may be information indicating 1) the result of determining whether or not the target user 40 has access authority to the target file 10, and 2) the target user 40 has access to the target file 10. It may be information that can be used to determine whether or not the user has access authority.
  • the access authority information 20 may be information indicating 1) the result of determining whether or not the target user 40 has access authority to the target file 10, and 2) the target user 40 has access to the target file 10. It may be information that can be used to determine whether or not the user has access authority.
  • the first server device 3000 acquires necessary information from the determination unit 2020 and determines whether or not the target user 40 has access authority to the target file 10. By making the determination of the access authority performed by the first server device 3000 in this way, it is possible to reduce the information regarding the access authority handled by the user device 2000.
  • the user's identification information and the identification information of the file or directory that the user can access specified by the identification information for example, a path
  • the storage device accessible from the first server device 3000 hereinafter referred to as the first storage device.
  • the type of access read, write, execute, etc.
  • a user group may be used instead of the user.
  • the determination unit 2020 transmits to the first server device 3000 a request indicating the identification information of the target file 10, the identification information of the target user 40, and the detected access type.
  • the first server device 3000 receives the request and determines the access authority by using the identification information of the target file 10 shown in the request, the identification information of the target user 40, and the type of access.
  • the first server device 3000 has a correspondence of "identification information of the target user 40, identification information of the target file 10, access type" shown in the request, and "user's” stored in the first storage device. By comparing with the correspondence of "identification information, file / directory identification information, permitted access type", it is determined whether or not the target user 40 is permitted to access the target file 10.
  • the first server device 3000 searches for the information stored in the first storage device by combining the "identification information of the target user 40 and the identification information of the target file 10" shown in the request, and thus the target user. 40 identifies the type of access allowed for the target file 10. Then, the first server device 3000 determines whether or not the type of access indicated in the request is included in the types of access permitted to the target file 10 by the target user 40. When the type of access indicated in the request is included in the types of access permitted, the first server device 3000 determines that "the target user 40 has access authority".
  • the first server device 3000 determines that "the target user 40 does not have access authority". do. Then, the first server device 3000 generates the access authority information 20 indicating the result of the determination and transmits it to the determination unit 2020.
  • the determination unit 2020 determines whether or not the determination result shown in the received access authority information 20 is a determination result that "the target file 10 has an access authority". When the determination result that "the target file 10 has the access authority" is shown, the determination unit 2020 determines that "the target user 40 has the access authority". On the other hand, when the determination result that "the target file 10 has the access authority" is not shown, the determination unit 2020 determines that "the target user 40 does not have the access authority".
  • the determination unit 2020 transmits a request including a combination of "identification information of the target user 40, a reference position, and an access type" to the first server device 3000.
  • the first server device 3000 is permitted to the target user 40 with respect to the reference position by searching the first storage device with the combination of "identification information of the target user 40, reference position" shown in the request. Identify the type of access. If the type of access indicated in the request is included in the types of access permitted to the reference position by the target user 40, the determination result that "the target user 40 has access authority" is obtained. Become. On the other hand, if the type of access indicated in the request is not included in the types of access permitted to the reference position by the target user 40, "the target user 40 does not have access authority". The judgment result is.
  • the access authority information 20 is information indicating a file or directory accessible to the target user 40.
  • the determination unit 2020 transmits a request indicating the identification information of the target user 40 to the first server device 3000.
  • the first server device 3000 searches for the first storage device using the identification information of the target user 40 indicated in the request, and "permits a file or directory accessible to the target user 40, the file or directory". Specify one or more combinations of "types of access being made”. Then, the first server device 3000 transmits the information indicating the specified combination as the access authority information 20 to the user device 2000.
  • the user apparatus 2000 performed the operation on the target file 10 by comparing the combination of "identification information of the target file 10 and the type of access made to the target file 10" with the access authority information 20. It is determined whether or not access is permitted to the target user 40. For example, the determination unit 2020 determines whether or not the identification information of the file or directory shown in the access authority information 20 corresponds to the identification information of the target file 10.
  • the identification information of the directory corresponds to the identification information of the target file 10
  • the target file 10 is stored under the directory.
  • the determination unit 2020 states that "the target user 40 does not have access authority". Is determined. On the other hand, when some of the identification information of the file or directory shown in the access authority information 20 corresponds to the identification information of the target file 10, the determination unit 2020 is associated with the file or directory. It is determined whether or not the type of access (that is, the type of permitted access) includes the type of access made to the target file 10. If it is included, the determination unit 2020 determines that "the target user 40 has access authority". On the other hand, if it is not included, the determination unit 2020 determines that "the target user 40 does not have access authority".
  • the determination unit 2020 may send a request indicating the identification information of the target file 10 to the first server device 3000.
  • the first server device 3000 searches for the first storage device using the identification information of the target file 10 shown in the request, so that "user identification information, the user is permitted to the target file 10".
  • the first server device 3000 transmits information indicating the above-specified combination as the access authority information 20 to the user device 2000.
  • the user device 2000 is performed on the target file 10 by comparing the combination of "identification information of the target user 40 and the type of access made to the target file 10" with the access authority information 20. It is determined whether or not access is permitted to the target user 40.
  • the reference position may be used to determine the access authority.
  • the reference position is used instead of the identification information of the target file 10.
  • the determination unit 2020 indicates an access indicating a combination of "file or directory accessible to the target user 40, permitted access type". It is assumed that the authority information 20 is acquired. In this case, some of the identification information of the file or directory shown in the access authority information 20 corresponds to the reference position, and the type of access associated with the identification information of the file or directory. If the type of access made to the target file 10 is included in, it is determined that "the target user 40 has access authority".
  • the target file 10 does not have access authority.
  • ⁇ Decoding of target file 10 S108, S110>
  • the acquisition unit 2040 acquires the key information 30 from the second server device 4000 (S108). Then, the decoding unit 2060 decodes the target file 10 by using the key information 30.
  • the key information 30 may be 1) a decryption key used to decrypt the target file 10, or 2) information that can be used to generate the decryption key.
  • a decryption key used to decrypt the target file 10
  • information that can be used to generate the decryption key may be 1) a decryption key used to decrypt the target file 10, or 2) information that can be used to generate the decryption key.
  • the second server device 4000 transmits the key information 30 including the decryption key for decrypting the target file 10 to the user device 2000 in response to the request from the acquisition unit 2040.
  • the decryption key for decrypting the target file 10 can be generated from the encryption key used for encrypting the target file 10.
  • the acquisition unit 2040 transmits a request including the encryption key used for encrypting the target file 10 to the second server device 4000.
  • the second server device 4000 generates a decryption key from the encryption key included in the request.
  • the second server device 4000 generates the key information 30 including the generated decryption key and transmits it to the user device 2000.
  • the method by which the user device 2000 acquires the encryption key used for encrypting the target file 10 is arbitrary.
  • the encryption key used for encrypting the target file 10 is stored together with the target file 10 in a storage device accessible from the user device 2000 (for example, stored as one of the metadata of the target file 10). ing).
  • the data used to generate the decryption key is not limited to the encryption key, and can be any data.
  • the decryption key corresponding to the encryption key may be stored in advance in a storage device accessible from the second server device 4000.
  • the second server device 4000 acquires the decryption key by searching the storage device with the encryption key included in the request, and transmits the key information 30 including the decryption key to the user device 2000.
  • the decryption unit 2060 decodes the target file 10 with the decryption key included in the key information 30 acquired by the various methods described above.
  • An existing technique can be used as a technique for decrypting an encrypted file with a decryption key.
  • the decryption unit 2060 has a function of obtaining a decryption key by using the key information 30.
  • a decryption key can be generated from an encryption key.
  • the identification information of the target file 10 and the encryption key used for encryption of the target file 10 are stored in association with each other in a storage device accessible from the second server device 4000.
  • the acquisition unit 2040 sends a request indicating the identification information of the target file 10 to the second server device 4000.
  • the second server device 4000 acquires the encryption key corresponding to the received identification information of the target file 10 from the storage device, and generates the key information 30 including the encryption key. Then, the second server device 4000 transmits the generated key information 30 to the user device 2000.
  • the decryption unit 2060 generates a decryption key from the encryption key included in the key information 30. Then, the decoding unit 2060 decodes the target file 10 with the generated decoding key.
  • the user apparatus 2000 can make the type of access detected in S102 to the decrypted target file 10. For example, when the operation performed on the target file 10 is a read, the user apparatus 2000 can read the contents of the decoded target file 10. In addition, for example, when the operation performed on the target file 10 is a light, the user apparatus 2000 can make changes to the contents of the decoded target file 10.
  • FIG. 6 is a diagram showing a specific implementation example of the access control system 5000.
  • a file server 50 and a management server 60 are provided as devices that function as the first server device 3000 and the second server device 4000, respectively.
  • the access control for the target file 10 is performed based on the reference position set for the target file 10. Further, the decryption key of the target file 10 is generated by using the encryption key used for encrypting the target file 10.
  • the file server 50 accepts file uploads.
  • the file uploaded to the file server 50 is subject to access control by the access control system 5000 (that is, treated as the target file 10).
  • the target file 10 is uploaded from the user device 2000.
  • the target file 10 uploaded to the file server 50 is stored in the storage device 52.
  • the target file 10 stored in the storage device 52 is encrypted by the management server 60.
  • the management server 60 acquires the target file 10 uploaded from the user device 2000 to the file server 50, and encrypts the target file 10.
  • the management server 60 adds the encryption key to the metadata of the file.
  • the management server 60 transmits the encrypted target file 10 to the file server 50.
  • the file server 50 stores the target file 10 received from the management server 60 in the storage device 52.
  • the directory in which the target file 10 is to be stored is specified by the user device 2000 that uploaded the target file 10.
  • the file server 50 adds data representing a reference position to the metadata of the target file 10 stored in the storage device 52.
  • the reference position at this time represents the path of the directory in which the target file 10 is stored.
  • the user device 2000 can access the target file 10 managed by the file server 50 (that is, stored in the storage device 52). Further, the user device 2000 can also download the target file 10 managed by the file server 50 and store it in the storage device 70 accessible from the user device 2000. However, as described above, since the access control is performed based on the reference position, the downloaded target file 10 can also be accessed based on the reference position.
  • FIG. 7 is a diagram illustrating a flow of access control in the access control system 5000 of the implementation example.
  • the user apparatus 2000 detects access to the target file 10 (S202).
  • the user apparatus 2000 transmits a request indicating "identification information of the target user 40, a reference position stored in the metadata of the target file 10, and the type of detected access" to the file server 50 (S204).
  • the file server 50 determines whether or not the target user 40 has access authority to the target file 10 in response to the request (S206).
  • the file server 50 transmits the access authority information 20 indicating the determination result to the user apparatus 2000 (S208).
  • the storage device 52 stores in advance an association of "user identification information, file / directory identification information, and permitted access types".
  • the file server 50 determines whether or not the target user 40 has access authority by comparing the request received from the user device 2000 with the above-mentioned correspondence stored in the storage device 52.
  • the specific determination method is as described above.
  • the user apparatus 2000 uses the access authority information 20 received from the file server 50 to determine whether or not the target file 10 has access authority (S210). When the target file 10 does not have the access authority (S210: NO), the user apparatus 2000 notifies the error (S212). On the other hand, when the target file 10 has access authority (S210: YES), the user apparatus 2000 transmits a request including the encryption key stored in the metadata of the target file 10 to the management server 60 (S214). ..
  • the management server 60 generates a decryption key from the encryption key included in the request received from the user device 2000 (S216). Then, the management server 60 transmits the key information 30 including the generated decryption key to the user apparatus 2000 (S218). The user apparatus 2000 uses the received key information 30 to decode the target file 10 (S220).
  • Non-temporary computer-readable media include various types of tangible storage mediums.
  • Examples of non-temporary computer readable media are magnetic recording media (eg, flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (eg, magneto-optical disks), CD-ROMs, CD-Rs, CD-Rs. / W, including semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM).
  • the program may also be provided to the computer by various types of temporary computer readable medium. Examples of temporary computer-readable media include electrical, optical, and electromagnetic waves.
  • the temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.
  • the access authority of the target user to the target file is determined in association with the reference position, which is the position where the target file was stored in the past.
  • the program according to Appendix 1 which determines whether or not the target user has the access authority to the target file based on the access authority associated with the reference position of the target file in the determination step.
  • Appendix 3 In the determination step, information indicating the identification information of the target user and the reference position of the target file is transmitted to the first server device.
  • the program according to Appendix 2 wherein the access authority information indicates a result of determination by the first server device as to whether or not the target user has access authority to the reference position.
  • the target file is copied or moved from the first directory provided in the storage device of the file server to the second directory provided in the storage device of the computer before the determination step is executed. And The program according to Appendix 2 or 3, wherein the reference position of the target file is set in the first directory. (Appendix 5) The program according to Appendix 4, wherein the first server device is the file server. (Appendix 6) In the acquisition step The encryption key used for encrypting the target file is provided to the second server device, and the encryption key is provided to the second server device. The decryption key of the target file generated from the encryption key is acquired as the key information, and the key information is obtained.
  • a determination unit that determines whether or not the target user has access authority to the target file by acquiring access authority information regarding the access authority of the target user for the encrypted target file from the first server device.
  • An acquisition unit that acquires key information used for decrypting the target file from the second server device when it is determined that the target user has access authority to the target file.
  • a user device having a decoding unit that decodes the target file using the acquired key information.
  • the access authority of the target user to the target file is determined in association with the reference position, which is the position where the target file was stored in the past.
  • the user device according to Appendix 7, wherein the determination unit determines whether or not the target user has access authority to the target file based on the access authority associated with the reference position of the target file. .. (Appendix 9)
  • the determination unit transmits the identification information of the target user and the information indicating the reference position of the target file to the first server device.
  • the user apparatus according to Appendix 8, wherein the access authority information indicates a result of determination by the first server apparatus as to whether or not the target user has access authority to the reference position.
  • the target file is copied from the first directory provided in the storage device of the file server to the second directory provided in the storage device of the user device before the determination by the determination unit is executed.
  • the user device according to Appendix 8 or 9, wherein the reference position of the target file is set in the first directory.
  • Appendix 11 The user device according to Appendix 10, wherein the first server device is the file server.
  • Appendix 12 The acquisition unit The encryption key used for encrypting the target file is provided to the second server device, and the encryption key is provided to the second server device.
  • the decryption key of the target file generated from the encryption key is acquired as the key information, and the key information is obtained.
  • the user device according to any one of Supplementary note 7 to 11, wherein the decoding unit decodes the target file with the decryption key.
  • An access control method performed by a computer A determination step for determining whether or not the target user has access authority to the target file by acquiring access authority information regarding the access authority of the target user for the encrypted target file from the first server device.
  • the acquisition step of acquiring the key information used for decrypting the target file from the second server device and the acquisition step. It has a decryption step of decoding the target file by using the acquired key information.
  • An access control method in which the computer is neither the first server device nor the second server device.
  • the access authority of the target user to the target file is determined in association with the reference position, which is the position where the target file was stored in the past.
  • Method. (Appendix 15) In the determination step, information indicating the identification information of the target user and the reference position of the target file is transmitted to the first server device.
  • the target file is copied or moved from the first directory provided in the storage device of the file server to the second directory provided in the storage device of the computer before the determination step is executed.
  • Appendix 17 The access control method according to Appendix 16, wherein the first server device is the file server.
  • Appendix 18 In the acquisition step The encryption key used for encrypting the target file is provided to the second server device, and the encryption key is provided to the second server device. The decryption key of the target file generated from the encryption key is acquired as the key information, and the key information is obtained.
  • An access control system having a user device, a first server device, and a second server device.
  • the user device is The first request for requesting the access authority information regarding the access authority of the target user is transmitted to the first server device for the encrypted target file, and the access authority information acquired from the first server device is used.
  • a determination unit for determining whether or not the target user has access authority to the target file, and When it is determined that the target user has access authority to the target file, a second request requesting key information used for decrypting the target file is transmitted to the second server device, and the second server
  • An acquisition unit that acquires the key information from the device, It has a decoding unit that decodes the target file using the acquired key information.
  • the first server device provides the access authority information to the user device in response to the first request.
  • the second server device is an access control system that provides the key information to the user device in response to the second request.
  • the access authority of the target user to the target file is determined in association with the reference position, which is the position where the target file was stored in the past.
  • the first request includes the identification information of the target user and the reference position of the target file.
  • the first server device determines whether or not the target user has access authority to the target file based on the access authority associated with the reference position of the target file, and determines whether or not the target user has access authority to the target file, and determines the result of the determination.
  • the access control system according to Appendix 19, which provides the access authority information shown to the user apparatus.
  • the second request includes an encryption key used for encrypting the target file, and includes the encryption key.
  • the second server device generates a decryption key of the target file from the encryption key included in the second request, and provides the key information including the generated decryption key to the user device in Appendix 19 or 20.
  • Target file 20 Access permission information 30 Key information 40 Target user 50 File server 52 Storage device 60 Management server 70 Storage device 500 Computer 502 Bus 504 Processor 506 Memory 508 Storage device 510 Input / output interface 512 Network interface 2000 User device 2020 Judgment unit 2040 Acquisition unit 2060 Decoding unit 3000 1st server device 4000 2nd server device 5000 Access control system

Landscapes

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

Abstract

ユーザ装置(2000)は、第1サーバ装置(3000)からアクセス権限情報(20)を取得して、対象ユーザ(40)が対象ファイル(10)に対するアクセス権限を有するか否かを判定する。ユーザ装置(2000)は、対象ユーザ(40)が対象ファイル(10)に対するアクセス権限を有する場合に、第2サーバ装置(4000)から、対象ファイル(10)についての鍵情報(30)を取得する。ユーザ装置(2000)は、鍵情報(30)を利用して対象ファイル(10)を復号する。

Description

コンピュータ可読媒体、ユーザ装置、アクセス制御方法、及びアクセス制御システム
 本発明は、ファイルのアクセス制御に関する。
 ネットワークを介し、複数のユーザの間でファイルを共有する技術が開発されている。そして、このようなファイル共有では、ファイルの不正利用等を防止するために、ファイルの暗号化や、アクセス権限に基づくアクセス制御などが行われている。
 このような共有ファイルの管理を実現する技術について開示する先行技術文献としては、例えば、特許文献1がある。特許文献1は、ユーザ装置によるファイルのアクセスを制御するシステムを開示している。ユーザ装置は、暗号化された共有ファイルにアクセスする際、管理サーバに対して復号鍵を要求する。この要求を受け付けた管理サーバは、連携サーバから、共有ファイルが格納されている共有フォルダのアクセス権情報を取得する。管理サーバは、復号鍵とアクセス権情報をユーザ装置に送信する。ユーザ装置は、取得したアクセス権情報に示されているアクセス権に従い、取得した復号鍵を用いて、共有ファイルを利用する。
国際公開第2017/064780号
 特許文献1のシステムでは、アクセス権の情報と復号鍵の取得が、管理サーバという1つのサーバを介して行われる。そのため、管理サーバに負荷が集中してしまい、管理サーバにかかる負荷が大きくなってしまう。
 本発明は上記の課題に鑑みてなされたものであり、その目的の一つは、サーバを利用してファイルを共有する環境において、1つのサーバに負荷が集中することを避ける技術を提供することである。
 本発明のユーザ装置は、第1サーバ装置から、暗号化されている対象ファイルについて、対象ユーザのアクセス権限に関するアクセス権限情報を取得することで、前記対象ユーザが前記対象ファイルに対するアクセス権限を有するか否かを判定する判定部と、前記対象ユーザが前記対象ファイルに対するアクセス権限を有すると判定された場合に、第2サーバ装置から前記対象ファイルの復号に利用する鍵情報を取得する取得部と、前記取得した鍵情報を利用して前記対象ファイルを復号する復号部と、を有する。
 本発明のアクセス制御方法は、コンピュータによって実行される。当該アクセス制御方法は、第1サーバ装置から、暗号化されている対象ファイルについて、対象ユーザのアクセス権限に関するアクセス権限情報を取得することで、前記対象ユーザが前記対象ファイルに対するアクセス権限を有するか否かを判定する判定ステップと、前記対象ユーザが前記対象ファイルに対するアクセス権限を有すると判定された場合に、第2サーバ装置から前記対象ファイルの復号に利用する鍵情報を取得する取得ステップと、前記取得した鍵情報を利用して前記対象ファイルを復号する復号ステップと、を有する。前記コンピュータは、前記第1サーバ装置ではなく、前記第2サーバ装置でもない。
 本発明のコンピュータ可読媒体は、コンピュータに本発明のアクセス制御方法を実行させるプログラムを格納している。
 本発明のアクセス制御システムは、ユーザ装置、第1サーバ装置、及び第2サーバ装置を有する。前記ユーザ装置は、第1サーバ装置に対し、暗号化されている対象ファイルについて、対象ユーザのアクセス権限に関するアクセス権限情報を要求する第1リクエストを送信し、前記第1サーバ装置から取得した前記アクセス権限情報を利用して、前記対象ユーザが前記対象ファイルに対するアクセス権限を有するか否かを判定する判定部と、前記対象ユーザが前記対象ファイルに対するアクセス権限を有すると判定された場合に、第2サーバ装置に対し、前記対象ファイルの復号に利用する鍵情報を要求する第2リクエストを送信し、前記第2サーバ装置から前記鍵情報を取得する取得部と、前記取得した鍵情報を利用して前記対象ファイルを復号する復号部と、を有する。
 前記第1サーバ装置は、前記第1リクエストに応じて、前記アクセス権限情報を前記ユーザ装置へ提供する。
 前記第2サーバ装置は、前記第2リクエストに応じて、前記鍵情報を前記ユーザ装置へ提供する。
 サーバを利用してファイルを共有する環境において、1つのサーバに負荷が集中することを避ける技術が提供される。
実施形態1のユーザ装置の動作の概要を例示する図である。 実施形態1のアクセス制御システムの機能構成を例示するブロック図である。 ユーザ装置を実現するコンピュータのハードウエア構成を例示するブロック図である。 実施形態1のユーザ装置によって実行される処理の流れを例示するフローチャートである。 基準位置に基づくアクセス制御を概念的に説明する図である。 アクセス制御システムの具体的な実現例を示す図である。 実現例のアクセス制御システムにおけるアクセス制御の流れを例示する図である。
 以下では、本開示の実施形態について、図面を参照しながら詳細に説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。
 図1は、実施形態1のユーザ装置2000の動作の概要を例示する図である。ここで、図1は、ユーザ装置2000の概要の理解を容易にするための図であり、ユーザ装置2000の動作は、図1に示したものに限定されない。
 ユーザ装置2000は、第1サーバ装置3000と第2サーバ装置4000と共に、アクセス制御システム5000を構成している。アクセス制御システム5000では、ユーザ装置2000によるファイルアクセスについて、アクセス権限に基づくアクセス制御が行われる。
 ここで、ユーザ装置2000によってアクセスされるファイルのうち、アクセス制御システム5000を利用したアクセス制御が行われるファイルを、対象ファイル10と呼ぶ。対象ファイル10が格納されている記憶装置は、ユーザ装置2000からアクセス可能な任意の記憶装置でよく、ユーザ装置2000の内部と外部のどちらに設けられていてもよい。
 また、対象ファイル10は、暗号化された状態で記憶装置に格納されている。そのため、アクセス制御システム5000では、対象ファイル10に対するアクセス制御に加え、対象ファイル10の復号も行われる。
 ユーザ装置2000は、ユーザによって利用される装置であり、対象ファイル10に対してアクセスする。ここで、ユーザ装置2000を利用するユーザを、対象ユーザ40と呼ぶ。対象ファイル10に対するアクセスは、対象ユーザ40による操作に応じて行われてもよいし、ユーザ装置2000上で動作しているソフトウエアによって自動的に行われてもよい。図1では、対象ユーザ40による操作に応じて対象ファイル10へのアクセスが行われるケースを例示している。第1サーバ装置3000は、対象ファイル10のアクセス権限に関する情報を管理する装置である。第2サーバ装置4000は、対象ファイル10を復号するために必要な情報を管理するサーバ装置である。
 ユーザ装置2000において対象ファイル10を利用する際、ユーザ装置2000は、第1サーバ装置3000にアクセスして、対象ユーザ40が対象ファイル10に対してアクセスする権限(対象ファイル10に対するアクセス権限)を有するか否かを判定する。より具体的には、ユーザ装置2000は、第1サーバ装置3000から、対象ファイル10について、アクセス権限に関する情報(以下、アクセス権限情報20)を取得し、取得したアクセス権限情報20を利用して、対象ユーザ40が対象ファイル10に対するアクセス権限を有するか否かを判定する。
 対象ユーザ40が対象ファイル10に対するアクセス権限を有する場合、ユーザ装置2000は、第2サーバ装置4000にアクセスして、対象ファイル10の復号を行う。より具体的には、ユーザ装置2000は、第2サーバ装置4000から、対象ファイル10の復号に必要な情報(以下、鍵情報30)を取得する。そして、ユーザ装置2000は、鍵情報30を利用して対象ファイル10を復号する。例えば鍵情報30には、対象ファイル10を復号するための復号鍵が含まれる。この場合、ユーザ装置2000は、鍵情報30に含まれる復号鍵で対象ファイル10を復号する。ただし、鍵情報30に含まれるデータは、復号鍵に限定されない。
<作用効果の一例>
 本実施形態のアクセス制御システム5000によれば、アクセス制御の対象であり、なおかつ暗号化が施されている対象ファイル10について、アクセス制御とファイルの復号とが、別々のサーバを利用して行われる。より具体的には、アクセス制御は第1サーバ装置3000を利用して行われ、対象ファイル10の復号は第2サーバ装置4000を利用して行われる。よって、アクセス制御と復号の双方が必要なファイルへのアクセスについて、処理負荷が一種類のサーバに集中してしまうことを防ぐことができる。
 以下、本実施形態のユーザ装置2000について、より詳細に説明する。
<機能構成の例>
 図2は、実施形態1のユーザ装置2000の機能構成を例示するブロック図である。前述した様に、ユーザ装置2000は、第1サーバ装置3000及び第2サーバ装置4000と共に、アクセス制御システム5000を構成する。ユーザ装置2000は、判定部2020、取得部2040、及び復号部2060を有する。判定部2020は、第1サーバ装置3000からアクセス権限情報20を取得して、対象ユーザ40が対象ファイル10に対するアクセス権限を有するか否かを判定する。取得部2040は、対象ユーザ40が対象ファイル10に対するアクセス権限を有する場合に、第2サーバ装置4000から、対象ファイル10についての鍵情報30を取得する。復号部2060は、鍵情報30を利用して対象ファイル10を復号する。
<ハードウエア構成の例>
 ユーザ装置2000の各機能構成部は、各機能構成部を実現するハードウエア(例:ハードワイヤードされた電子回路など)で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ(例:電子回路とそれを制御するプログラムの組み合わせなど)で実現されてもよい。以下、ユーザ装置2000の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
 図3は、ユーザ装置2000を実現するコンピュータ500のハードウエア構成を例示するブロック図である。コンピュータ500は、任意のコンピュータである。例えばコンピュータ500は、PC(Personal Computer)やサーバマシンなどといった、据え置き型のコンピュータである。その他にも例えば、コンピュータ500は、スマートフォンやタブレット端末などといった可搬型のコンピュータである。コンピュータ500は、ユーザ装置2000を実現するために設計された専用のコンピュータであってもよいし、汎用のコンピュータであってもよい。
 例えば、コンピュータ500に対して所定のアプリケーションをインストールすることにより、コンピュータ500で、ユーザ装置2000の各機能が実現される。上記アプリケーションは、ユーザ装置2000の機能構成部を実現するためのプログラムで構成される。
 コンピュータ500は、バス502、プロセッサ504、メモリ506、ストレージデバイス508、入出力インタフェース510、及びネットワークインタフェース512を有する。バス502は、プロセッサ504、メモリ506、ストレージデバイス508、入出力インタフェース510、及びネットワークインタフェース512が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ504などを互いに接続する方法は、バス接続に限定されない。
 プロセッサ504は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、又は FPGA(Field-Programmable Gate Array)などの種々のプロセッサである。メモリ506は、RAM(Random Access Memory)などを用いて実現される主記憶装置である。ストレージデバイス508は、ハードディスク、SSD(Solid State Drive)、メモリカード、又は ROM(Read Only Memory)などを用いて実現される補助記憶装置である。
 入出力インタフェース510は、コンピュータ500と入出力デバイスとを接続するためのインタフェースである。例えば入出力インタフェース510には、キーボードなどの入力装置や、ディスプレイ装置などの出力装置が接続される。
 ネットワークインタフェース512は、コンピュータ500をネットワークに接続するためのインタフェースである。このネットワークは、LAN(Local Area Network)であってもよいし、WAN(Wide Area Network)であってもよい。
 ストレージデバイス508は、ユーザ装置2000の各機能構成部を実現するプログラム(前述したアプリケーションを実現するプログラム)を記憶している。プロセッサ504は、このプログラムをメモリ506に読み出して実行することで、ユーザ装置2000の各機能構成部を実現する。また、ストレージデバイス508には、対象ファイル10が格納されていてもよい。
 ユーザ装置2000は、1つのコンピュータ500で実現されてもよいし、複数のコンピュータ500で実現されてもよい。後者の場合において、各コンピュータ500の構成は同一である必要はなく、それぞれ異なるものとすることができる。
 ユーザ装置2000と同様に、第1サーバ装置3000と第2サーバ装置4000も、種々のコンピュータによって実現される。第1サーバ装置3000を実現するコンピュータや、第2サーバ装置4000を実現するコンピュータは、例えばユーザ装置2000を実現するコンピュータ500と同様に、図3に示すハードウエア構成を有する。ただし、ユーザ装置2000、第1サーバ装置3000、及び第2サーバ装置4000を実現するコンピュータのハードウエア構成は、互いに異なっていてもよい。また、第1サーバ装置3000と第2サーバ装置4000はそれぞれ、複数のコンピュータで実現されてもよい。
 ユーザ装置2000、第1サーバ装置3000、及び第2サーバ装置4000を実現するコンピュータは、ネットワークを介して通信可能に接続されている。これらを互いに接続するネットワークは、LAN であってもよいし、WAN であってもよい。また、これら3つのうちの2つが互いに LAN で接続されており、残りの1つとは WAN を介して接続されるようにしてもよい。例えば、第1サーバ装置3000と第2サーバ装置4000が同一の LAN 内に設けられ、ユーザ装置2000が WAN を介して第1サーバ装置3000及び第2サーバ装置4000と接続される。
<処理の流れ>
 図4は、実施形態1のユーザ装置2000によって実行される処理の流れを例示するフローチャートである。判定部2020は、対象ファイル10に対するアクセスを検出する(S102)。判定部2020は、第1サーバ装置3000からアクセス権限情報20を取得する(S104)。判定部2020は、アクセス権限情報20を利用して、対象ユーザ40が対象ファイル10に対するアクセス権限を有するか否かを判定する(S106)。対象ユーザ40が対象ファイル10に対するアクセス権限を有する場合(S106:YES)、取得部2040は、第2サーバ装置4000から鍵情報30を取得する(S108)。復号部2060は、鍵情報30を利用して対象ファイル10を復号する(S110)。
 なお、対象ユーザ40が対象ファイル10に対するアクセス権限を有さないと判定された場合(S106:NO)に行われる処理は任意である。ユーザ操作に応じて対象ファイル10へのアクセスが行われた場合、例えばユーザ装置2000は、対象ユーザ40によって閲覧されるディスプレイ装置などに、アクセス権限が無いため対象ファイル10へアクセスできない旨のエラーメッセージなどを出力する。また、ユーザ装置2000上で動作しているソフトウエアによって対象ファイル10に対するアクセスが行われた場合、例えばユーザ装置2000は、上記ソフトウエアに対して、対象ファイル10にアクセスする権限がない旨のエラーを通知する。
<対象ファイル10に対するアクセスの検出:S102>
 対象ファイル10に対するアクセスが行われたら、対象ユーザ40が対象ファイル10に対するアクセス権限を有するか否かについての判定が行われる。そのため、判定部2020は、対象ファイル10に対するアクセスを検出する(S102)。ここで、特定の制御の対象となっているファイルへのアクセスを検出する技術には、既存の種々の技術を利用することができる。
 例えばユーザ装置2000は、任意のファイルへのアクセスを検出し、そのファイルが対象ファイル10であるか否かを判定する。この判定は、例えば、アクセスされたファイルのメタデータを参照することで実現できる。例えば、対象ファイル10のメタデータ(すなわち、アクセス制御システム5000によってアクセス制御が行われるファイルのメタデータ)には、特定のフラグを設けておく。判定部2020は、ファイルに対するアクセスが検出されたら、そのファイルのメタデータに上記フラグが含まれているか否かを判定する。アクセスされたファイルのメタデータに上記フラグが含まれていたら、判定部2020は、アクセスされたファイルが対象ファイル10であると判定する。一方、アクセスされたファイルのメタデータに上記フラグが含まれていなかったら、判定部2020は、アクセスされたファイルが対象ファイル10でないと判定する。
 また、上述したフラグ以外のメタデータを用いて、アクセスされたファイルが対象ファイル10であるか否かを判定してもよい。例えば、対象ファイル10のメタデータに後述する基準位置を示す情報や、対象ファイル10の暗号化に利用された暗号鍵などを含めるようにする。こうすることで、これらの情報を前述したフラグと同様に利用することができる。
 その他にも例えば、対象ファイル10を格納できるディレクトリが、特定のディレクトリ(以下、対象ディレクトリ)のみに限定されるようにしておく。この場合、判定部2020は、ファイルへのアクセスが検出されたら、そのファイルが対象ディレクトリに格納されているか否かを判定する。アクセスされたファイルが対象ディレクトリに格納されている場合、判定部2020は、そのファイルが対象ファイル10であると判定する。一方、アクセスされたファイルが対象ディレクトリに格納されていない場合、判定部2020は、そのファイルが対象ファイル10でないと判定する。なお、対象ディレクトリは複数あってもよい。
 対象ディレクトリを定義した情報は、例えば、ユーザ装置2000からアクセス可能な記憶装置に格納しておく。その他にも例えば、ディレクトリのメタデータに、対象ディレクトリであることを表すフラグを設けてもよい。
<アクセス権限について>
 ここで、第1サーバ装置3000によって管理されるアクセス権限について説明する。アクセス権限は、ユーザごとに設定されてもよいし、ユーザのグループごとに設定されてもよい。また、アクセス権限は、ファイルに対する種々の操作それぞれについて個別に設定されてもよいし、全ての操作について一括で設定されてもよい。
 アクセス権限は、ファイルごとに設定されてもよいし、ファイルのグループごとに設定されてもよい。後者の場合、例えば、ファイルが格納されている位置(ディレクトリ)に対してアクセス権限が設定される。すなわち、同一のディレクトリに格納されている対象ファイル10に対し、同一のアクセス権限が設定される。なお、アクセス権限が設定されたディレクトリの中にサブディレクトリが格納されている場合、そのサブディレクトリの中に格納されているファイルやサブディレクトリに対しても、同じアクセス権限が再帰的に設定されることが好適である。
 なお、あるファイルについて、当該ファイルに対して個別に設定されたアクセス権限と、当該ファイルが属するグループに対して設定されたアクセス権限の双方が存在する場合の扱い方については、任意である。例えば、それら2種類のいずれか一方のみが適用されるようにする。
 なお、ディレクトリに対してアクセス権限が設定される場合、あるファイルに対するアクセス権限は、そのファイルが現在格納されているディレクトリではなく、そのファイルが過去に格納されていたディレクトリ(以下、基準位置)に対して設定されたアクセス権限であってもよい。例えば、ファイルサーバに格納されている対象ファイル10が、ユーザ装置2000へコピーされたとする。そしてその後に、ユーザ装置2000が、ユーザ装置2000に格納されている対象ファイル10に対してアクセスしたとする。この場合、対象ファイル10の基準位置として、ファイルサーバ上の格納位置を設定することが考えられる。このような状況において、基準位置に対して設定されたアクセス権限を利用すると、対象ファイル10がユーザ装置2000へコピーされた後も、ファイルサーバ上の格納位置に対して設定されたアクセス権限に基づくアクセス制御を実現できる。
 図5は、基準位置に基づくアクセス制御を概念的に説明する図である。図5において、ファイルサーバ50に設けられているディレクトリ /dir1/dir2/dir3 には、ファイル f1 が格納されている。そして、ファイル f1 の基準位置として、ファイルサーバ50の /dir1/dir2/dir3 が設定されている。
 さらに、図5において、ファイル f1 は、ファイルサーバ50の /dir1/dir2/dir3 から、ユーザ装置2000の /dir4/dir5 へコピーされている。この場合において、ユーザ装置2000にコピーされた対象ファイル10へアクセスすると、現在位置である「ユーザ装置2000の /dir4/dir5」ではなく、基準位置である「ファイルサーバ50の /dir1/dir2/dir3」に対して設定されたアクセス権限に基づいて、対象ファイル10へのアクセスが制御される。そのため例えば、ユーザ装置2000を操作している対象ユーザ40が、/dir4/dir5 に格納されているファイルへのアクセス権限を有していたとしても、/dir1/dir2/dir3 に対するアクセス権限を有していなければ、/dir4/dir5 に格納されている対象ファイル10に対してアクセスすることができない。
 また、ファイルサーバ50においてファイル f1 が削除されたとする。この場合、ユーザ装置2000にコピーされたファイル f1 は、ファイル f1 の基準位置に対するアクセス権限を有している対象ユーザ40であってもアクセスできないようにしてもよい。この動作を実現する場合、ユーザ装置2000にコピーされたファイルが、ファイルサーバ50上のどのファイルに該当するのかを把握できる必要がある。当該把握を実現する方法には、既存の種々の方法を採用できる。例えば、ユーザ装置2000にコピーされたファイルのメタデータに、当該ファイルの元データであるファイルサーバ50上のファイルのパスを含めておく。また、対象ユーザ40が対象ファイル10に対するアクセス権限を有しているか否かを判定する際には、対象ファイル10の元データであるファイルサーバ50上のファイルが削除されていないかどうかも判定し、削除されている場合には、アクセス権限を有しないと判定するようにする。
 なお、対象ファイル10の基準位置は、更新可能であってもよい。例えば、特定のユーザに対し、対象ファイル10の基準位置を変更する権限を与えるようにする。この場合において、当該ユーザにより、ファイルサーバ50に格納されている対象ファイル10が、ファイルサーバ50内の別のディレクトリに移動されたとする。この際、例えばファイルサーバ50は、移動された対象ファイル10について、基準位置を移動先のディレクトリに変更するか否かを、ユーザに選択させる。基準位置を変更することが選択された場合、第1サーバ装置3000は、当該移動先のディレクトリを、移動された対象ファイル10の新たな基準位置に設定する。一方、基準位置を変更しないことが選択された場合には、基準位置の変更が行われない。なお、第1サーバ装置3000は、ユーザに選択を求めなくてもよい。この場合、基準位置を変更する権限を有するユーザによって対象ファイル10が移動された場合、自動的に、その対象ファイル10の基準位置が変更される。
 なお、通常の移動とは別に、基準位置の変更を伴う移動の操作ができるようにしてもよい。この場合、対象ファイル10について通常の移動の操作が行われた場合には、当該対象ファイル10の基準位置は変更されない。一方、基準位置の変更を伴う移動の操作が行われた場合には、対象ファイル10の基準位置が、移動先のディレクトリに変更される。
 なお、通常の移動と基準位置の変更を伴う移動という2つの移動操作を可能にする方法には、任意の方法を採用できる。例えば、マウスの左ボタンで行われた移動操作は通常の移動操作として扱い、マウスの右ボタンで行われた移動操作は基準位置の変更を伴う移動操作として扱うといった方法が考えられる。
 なお、上述の説明ではファイルの移動に応じて基準位置を更新するケースについて説明したが、同様の方法で、ファイルのコピーに応じて基準位置が更新されるようにしてもよい。この場合、同一内容の2つのファイルに対し、それぞれ異なる基準位置が設定されることとなる。すなわち、コピー元のファイルについては、基準位置が変更されず、コピーによって生成されたファイルについては、コピー先のディレクトリが基準位置として設定される。
<アクセス権限の判定:S104、S106>
 判定部2020は、アクセス権限情報20を取得する(S104)。より具体的には、判定部2020は、第1サーバ装置3000に対して、アクセス権限情報20を要求するリクエストを送信する。そして、判定部2020は、上記リクエストに応じて第1サーバ装置3000から送信されたレスポンスとして、アクセス権限情報20を受信する。そして、判定部2020は、アクセス権限情報20を利用して、対象ユーザ40がアクセス権限を有するか否かを判定する。
 ここで、アクセス権限情報20は、1)対象ユーザ40が対象ファイル10に対するアクセス権限を有するか否かを判定した結果を示す情報であってもよいし、2)対象ユーザ40が対象ファイル10に対するアクセス権限を有するか否かを判定するために利用可能な情報であってもよい。以下、それぞれのケースについて具体的に説明する。
<<1)のケース>>
 このケースにおいて、第1サーバ装置3000は、判定部2020から必要な情報を取得して、対象ユーザ40が対象ファイル10に対するアクセス権限を有するか否かを判定する。このようにアクセス権限の判定が第1サーバ装置3000によって行われるようにすることで、ユーザ装置2000によって扱われるアクセス権限に関する情報を少なくすることができる。
 例えば、第1サーバ装置3000からアクセス可能な記憶装置(以下、第1記憶装置)に、ユーザの識別情報と、その識別情報によって特定されるユーザがアクセス可能なファイルやディレクトリの識別情報(例えばパス)と、それらのファイルやディレクトリについてそのユーザが許可されているアクセスの種類(リード、ライト、実行など)とを対応づけた情報が格納されている。なお、ユーザの代わりにユーザグループが利用されてもよい。
 判定部2020は、第1サーバ装置3000に対し、対象ファイル10の識別情報、対象ユーザ40の識別情報、及び検出したアクセスの種類を示すリクエストを送信する。第1サーバ装置3000は、上記リクエストを受信し、そのリクエストに示されている対象ファイル10の識別情報、対象ユーザ40の識別情報、及びアクセスの種類を用いて、アクセス権限の判定を行う。例えば第1サーバ装置3000は、リクエストに示されている「対象ユーザ40の識別情報、対象ファイル10の識別情報、アクセスの種類」という対応付けと、第1記憶装置に格納されている「ユーザの識別情報、ファイルやディレクトリの識別情報、許可されているアクセスの種類」という対応付けとの比較を行うことで、対象ユーザ40による対象ファイル10に対するアクセスが許可されているか否かを判定する。
 上記比較を実現する具体的な方法は任意である。例えば第1サーバ装置3000は、リクエストに示されている「対象ユーザ40の識別情報、対象ファイル10の識別情報」の組み合わせで第1記憶装置に格納されている情報を検索することにより、対象ユーザ40が対象ファイル10に対して許可されているアクセスの種類を特定する。そして、第1サーバ装置3000は、対象ユーザ40が対象ファイル10に対して許可されているアクセスの種類の中に、リクエストに示されているアクセスの種類が含まれているか否かを判定する。許可されているアクセスの種類の中に、リクエストに示されているアクセスの種類が含まれている場合、第1サーバ装置3000は、「対象ユーザ40はアクセス権限を有する」と判定する。一方、許可されているアクセスの種類の中に、リクエストに示されているアクセスの種類が含まれていない場合、第1サーバ装置3000は、「対象ユーザ40はアクセス権限を有さない」と判定する。そして、第1サーバ装置3000は、判定の結果を示すアクセス権限情報20を生成し、判定部2020へ送信する。
 判定部2020は、受信したアクセス権限情報20に示されている判定結果が、「対象ファイル10はアクセス権限を有する」という旨の判定結果であるか否かを判定する。「対象ファイル10はアクセス権限を有する」という旨の判定結果が示されている場合、判定部2020は、「対象ユーザ40はアクセス権限を有する」と判定する。一方、「対象ファイル10はアクセス権限を有する」という旨の判定結果が示されていない場合、判定部2020は、「対象ユーザ40はアクセス権限を有さない」と判定する。
 なお、前述したように、アクセス権限の判定に基準位置を利用するケースもある。この場合、前述した方法において、対象ファイル10の識別情報の代わりに、基準位置を利用する。例えば判定部2020は、第1サーバ装置3000に対し、「対象ユーザ40の識別情報、基準位置、アクセスの種類」という組み合わせを含むリクエストを送信する。第1サーバ装置3000は、リクエストに示されている「対象ユーザ40の識別情報、基準位置」という組み合わせで第1記憶装置を検索することにより、対象ユーザ40が基準位置に対して許可されているアクセスの種類を特定する。対象ユーザ40が基準位置に対して許可されているアクセスの種類の中に、リクエストに示されているアクセスの種類が含まれていれば、「対象ユーザ40はアクセス権限を有する」という判定結果となる。一方、対象ユーザ40が基準位置に対して許可されているアクセスの種類の中に、リクエストに示されているアクセスの種類が含まれていない場合、「対象ユーザ40はアクセス権限を有さない」という判定結果となる。
<<2)のケース>>
 このケースにおいて、例えばアクセス権限情報20は、対象ユーザ40がアクセス可能なファイルやディレクトリを示す情報などである。例えば判定部2020は、第1サーバ装置3000に対し、対象ユーザ40の識別情報を示すリクエストを送信する。第1サーバ装置3000は、リクエストに示されている対象ユーザ40の識別情報で第1記憶装置を検索することで、「対象ユーザ40がアクセス可能なファイル又はディレクトリ、当該ファイル又はディレクトリに対して許可されているアクセスの種類」という組み合わせを1つ以上特定する。そして、第1サーバ装置3000は、アクセス権限情報20として、上記特定した組み合わせを示す情報をユーザ装置2000へ送信する。
 ユーザ装置2000は、「対象ファイル10の識別情報、対象ファイル10に対して行われたアクセスの種類」という組み合わせと、アクセス権限情報20とを比較することで、対象ファイル10に対して行われたアクセスが対象ユーザ40に対して許可されているか否かを判定する。例えば判定部2020は、アクセス権限情報20に示されているファイル又はディレクトリの識別情報の中に、対象ファイル10の識別情報に対応するものがあるか否かを判定する。ここで、「ディレクトリの識別情報が対象ファイル10の識別情報に対応する」とは、対象ファイル10が当該ディレクトリの配下に格納されていることを意味する。
 アクセス権限情報20に示されているファイル又はディレクトリの識別情報の中に、対象ファイル10の識別情報に対応するものがない場合、判定部2020は、「対象ユーザ40はアクセス権限を有さない」と判定する。一方、アクセス権限情報20に示されているファイル又はディレクトリの識別情報の中に、対象ファイル10の識別情報に対応するものがある場合、判定部2020は、当該ファイル又はディレクトリに対応づけられているアクセスの種類(すなわち、許可されているアクセスの種類)に、対象ファイル10に対して行われたアクセスの種類が含まれているか否かを判定する。含まれている場合、判定部2020は、「対象ユーザ40はアクセス権限を有する」と判定する。一方、含まれていない場合、判定部2020は、「対象ユーザ40はアクセス権限を有さない」と判定する。
 その他にも例えば、判定部2020は、第1サーバ装置3000に対し、対象ファイル10の識別情報を示すリクエストを送信してもよい。この場合、第1サーバ装置3000は、リクエストに示されている対象ファイル10の識別情報で第1記憶装置を検索することで、「ユーザの識別情報、そのユーザが対象ファイル10に対して許可されているアクセスの種類」という組み合わせを1つ以上特定する。すなわち、対象ファイル10に対して何らかのアクセスが許可されている各ユーザについて、ユーザの識別情報と、そのユーザが許可されているアクセスの種類との対応づけが得られる。
 第1サーバ装置3000は、アクセス権限情報20として、上記特定した組み合わせを示す情報をユーザ装置2000へ送信する。ユーザ装置2000は、「対象ユーザ40の識別情報、対象ファイル10に対して行われたアクセスの種類」という組み合わせと、アクセス権限情報20とを比較することで、対象ファイル10に対して行われたアクセスが対象ユーザ40に対して許可されているか否かを判定する。
 なお、2)のケースにおいても、前述したように、アクセス権限の判定に基準位置を利用することがありうる。この場合、前述した方法において、対象ファイル10の識別情報の代わりに、基準位置を利用する。例えば判定部2020が第1サーバ装置3000に対して対象ユーザ40の識別情報を送信することで、「対象ユーザ40がアクセス可能なファイル又はディレクトリ、許可されているアクセスの種類」という組み合わせを示すアクセス権限情報20を取得するとする。この場合、アクセス権限情報20の中に示されているファイル又はディレクトリの識別情報の中に基準位置に対応するものがあり、なおかつ、そのファイル又はディレクトリの識別情報に対応づけられているアクセスの種類の中に、対象ファイル10に対して行われたアクセスの種類が含まれていれば、「対象ユーザ40はアクセス権限を有する」と判定される。一方、アクセス権限情報20の中に示されているファイル又はディレクトリの識別情報の中に基準位置に対応するものがない場合や、基準位置に対応するファイル又はディレクトリに対応づけられているアクセスの種類の中に、対象ファイル10に対して行われたアクセスの種類が含まれていない場合には、「対象ファイル10はアクセス権限を有さない」と判定される。
<対象ファイル10の復号:S108、S110>
 対象ユーザ40がアクセス権限を有すると判定された場合、取得部2040は、第2サーバ装置4000から鍵情報30を取得する(S108)。そして、復号部2060は、鍵情報30を利用して対象ファイル10を復号する。
 鍵情報30は、1)対象ファイル10を復号するために利用する復号鍵であってもよいし、2)当該復号鍵の生成に利用できる情報であってもよい。以下、それぞれの場合について具体的に例示する。
<<1)のケース>>
 このケースにおいて、第2サーバ装置4000は、取得部2040からのリクエストに応じて、ユーザ装置2000に対して、対象ファイル10を復号するための復号鍵を含む鍵情報30を送信する。例えば対象ファイル10を復号するための復号鍵が、対象ファイル10の暗号化に利用された暗号鍵から生成可能であるとする。この場合、取得部2040は、対象ファイル10の暗号化に利用された暗号鍵を含むリクエストを、第2サーバ装置4000へ送信する。第2サーバ装置4000は、リクエストに含まれる暗号鍵から、復号鍵を生成する。そして、第2サーバ装置4000は、生成した復号鍵を含む鍵情報30を生成し、ユーザ装置2000へ送信する。
 対象ファイル10の暗号化に利用された暗号鍵をユーザ装置2000が取得する方法は任意である。例えば対象ファイル10の暗号化に利用された暗号鍵は、その対象ファイル10と共に、ユーザ装置2000からアクセス可能な記憶装置に格納されている(例えば、対象ファイル10のメタデータの1つとして格納されている)。
 なお、復号鍵の生成に利用されるデータは暗号鍵に限定されず、任意のデータとすることができる。
 また、暗号鍵に対応する復号鍵は、第2サーバ装置4000からアクセス可能な記憶装置に予め格納されていてもよい。この場合、第2サーバ装置4000は、リクエストに含まれる暗号鍵で上記記憶装置を検索することによって復号鍵を取得し、その復号鍵を含む鍵情報30をユーザ装置2000へ送信する。
 復号部2060は、上述した種々の方法で取得した鍵情報30に含まれる復号鍵で、対象ファイル10を復号する。なお、暗号化されたファイルを復号鍵で復号する技術には、既存の技術を利用することができる。
<<2)のケース>>
 このケースでは、復号部2060が、鍵情報30を利用して復号鍵を得る機能を有する。例えば前述したように、暗号鍵から復号鍵が生成できるとする。例えばこの場合、第2サーバ装置4000からアクセス可能な記憶装置に、対象ファイル10の識別情報と、対象ファイル10の暗号化に利用された暗号鍵とを対応づけて格納しておく。
 取得部2040は、第2サーバ装置4000に対し、対象ファイル10の識別情報を示すリクエストを送信する。第2サーバ装置4000は、受信した対象ファイル10の識別情報に対応する暗号鍵を記憶装置から取得して、その暗号鍵を含む鍵情報30を生成する。そして、第2サーバ装置4000は、生成した鍵情報30をユーザ装置2000へ送信する。
 復号部2060は、鍵情報30に含まれる暗号鍵から、復号鍵を生成する。そして、復号部2060は、生成した復号鍵で対象ファイル10を復号する。
<復号後の処理>
 ユーザ装置2000は、S102で検出された種類のアクセスを、復号された対象ファイル10に対して行うことができる。例えば対象ファイル10に対して行われた操作がリードである場合、ユーザ装置2000は、復号された対象ファイル10の中身を読み出すことができる。その他にも例えば、対象ファイル10に対して行われた操作がライトである場合、ユーザ装置2000は、復号された対象ファイル10の内容に変更を加えることができる。
<アクセス制御システム5000の具体的な実現例>
 ここで、アクセス制御システム5000の理解をさらに容易にするため、アクセス制御システム5000の具体的な実現例について説明する。ただし、ここで説明する実現例は、アクセス制御システム5000の具体的な実現形態の一例であり、アクセス制御システム5000の具体的な実現方法はここで説明する例に限定されない。
 図6は、アクセス制御システム5000の具体的な実現例を示す図である。本実現例では、第1サーバ装置3000及び第2サーバ装置4000として機能する装置としてそれぞれ、ファイルサーバ50と管理サーバ60が設けられている。ここで示す例において、対象ファイル10に対するアクセス制御は、対象ファイル10に対して設定された基準位置に基づいて行われる。また、対象ファイル10の復号鍵の生成は、対象ファイル10の暗号化に利用された暗号鍵を用いて行われる。
 ファイルサーバ50は、ファイルのアップロードを受け付ける。ファイルサーバ50に対してアップロードされたファイルは、アクセス制御システム5000によるアクセス制御の対象となる(すなわち、対象ファイル10として扱われる)。例えば対象ファイル10は、ユーザ装置2000からアップロードされる。
 ファイルサーバ50に対してアップロードされた対象ファイル10は記憶装置52に格納される。ただし、記憶装置52に格納される対象ファイル10は、管理サーバ60によって暗号化される。例えば、管理サーバ60は、ユーザ装置2000からファイルサーバ50に対してアップロードされた対象ファイル10を取得し、その対象ファイル10を暗号化する。この際、管理サーバ60は、ファイルのメタデータに暗号鍵を加える。管理サーバ60は、暗号化した対象ファイル10をファイルサーバ50へ送信する。
 ファイルサーバ50は、管理サーバ60から受信した対象ファイル10を記憶装置52に格納する。ここで、対象ファイル10を格納すべきディレクトリは、対象ファイル10をアップロードしたユーザ装置2000によって指定される。ファイルサーバ50は、記憶装置52に格納する対象ファイル10のメタデータに、基準位置を表すデータを加える。この際の基準位置は、対象ファイル10が格納されるディレクトリのパスを表す。
 ユーザ装置2000は、ファイルサーバ50によって管理されている(すなわち、記憶装置52に格納されている)対象ファイル10に対してアクセスすることができる。また、ユーザ装置2000は、ファイルサーバ50によって管理されている対象ファイル10をダウンロードして、ユーザ装置2000からアクセス可能な記憶装置70に格納することもできる。ただし、前述したように、アクセス制御は基準位置に基づいて行われるため、ダウンロードした対象ファイル10についても、基準位置に基づくアクセス制御が可能となる。
 例えばアクセス制御は、以下の流れで行われる。図7は、実現例のアクセス制御システム5000におけるアクセス制御の流れを例示する図である。ユーザ装置2000は、対象ファイル10に対するアクセスを検出する(S202)。ユーザ装置2000は、「対象ユーザ40の識別情報、対象ファイル10のメタデータに格納されている基準位置、検出されたアクセスの種類」を示すリクエストをファイルサーバ50へ送信する(S204)。
 ファイルサーバ50は、リクエストに応じて、対象ユーザ40が対象ファイル10に対するアクセス権限を有するか否かを判定する(S206)。ファイルサーバ50は、その判定結果を示すアクセス権限情報20をユーザ装置2000へ送信する(S208)。ここで、記憶装置52には、「ユーザの識別情報、ファイルやディレクトリの識別情報、許可されているアクセスの種類」という対応付けが予め格納されている。ファイルサーバ50は、ユーザ装置2000から受信したリクエストと、記憶装置52に格納されている上記対応付けとを比較することで、対象ユーザ40がアクセス権限を有するか否かを判定する。具体的な判定の方法については前述した通りである。
 ユーザ装置2000は、ファイルサーバ50から受信したアクセス権限情報20を用いて、対象ファイル10がアクセス権限を有するか否かを判定する(S210)。対象ファイル10がアクセス権限を有さない場合(S210:NO)、ユーザ装置2000は、エラーの通知を行う(S212)。一方、対象ファイル10がアクセス権限を有する場合(S210:YES)、ユーザ装置2000は、管理サーバ60に対し、対象ファイル10のメタデータに格納されている暗号鍵を含むリクエストを送信する(S214)。
 管理サーバ60は、ユーザ装置2000から受信したリクエストに含まれる暗号鍵から、復号鍵を生成する(S216)。そして、管理サーバ60は、生成した復号鍵を含む鍵情報30をユーザ装置2000へ送信する(S218)。ユーザ装置2000は、受信した鍵情報30を利用して、対象ファイル10を復号する(S220)。
 以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 なお、上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに提供することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM、CD-R、CD-R/W、半導体メモリ(例えば、マスク ROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに提供されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
 上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
 (付記1)
 コンピュータに、
 第1サーバ装置から、暗号化されている対象ファイルについて、対象ユーザのアクセス権限に関するアクセス権限情報を取得することで、前記対象ユーザが前記対象ファイルに対するアクセス権限を有するか否かを判定する判定ステップと、
 前記対象ユーザが前記対象ファイルに対するアクセス権限を有すると判定された場合に、第2サーバ装置から前記対象ファイルの復号に利用する鍵情報を取得する取得ステップと、
 前記取得した鍵情報を利用して前記対象ファイルを復号する復号ステップと、を実行させ、
 前記コンピュータは、前記第1サーバ装置ではなく、前記第2サーバ装置でもない、プログラム。
 (付記2)
 前記対象ファイルに対する前記対象ユーザのアクセス権限は、過去に前記対象ファイルが格納されていた位置である基準位置に対応づけて定められており、
 前記判定ステップにおいて、前記対象ファイルの前記基準位置に対応づけられているアクセス権限に基づいて、前記対象ユーザが前記対象ファイルに対するアクセス権限を有するか否かを判定する、付記1に記載のプログラム。
 (付記3)
 前記判定ステップにおいて、前記第1サーバ装置に対し、前記対象ユーザの識別情報と、前記対象ファイルの前記基準位置とを示す情報を送信し、
 前記アクセス権限情報は、前記基準位置に対して前記対象ユーザがアクセス権限を有するか否かについて、前記第1サーバ装置が判定した結果を示す、付記2に記載のプログラム。
 (付記4)
 前記対象ファイルは、前記判定ステップが実行される前の時点において、ファイルサーバの記憶装置に設けられている第1ディレクトリから、前記コンピュータの記憶装置に設けられている第2ディレクトリにコピー又は移動されており、
 前記対象ファイルの前記基準位置は前記第1ディレクトリに設定されている、付記2又は3に記載のプログラム。
 (付記5)
 前記第1サーバ装置は前記ファイルサーバである、付記4に記載のプログラム。
 (付記6)
 前記取得ステップにおいて、
  前記対象ファイルの暗号化に利用された暗号鍵を前記第2サーバ装置へ提供し、
  前記暗号鍵から生成された前記対象ファイルの復号鍵を前記鍵情報として取得し、
 前記復号ステップにおいて、前記対象ファイルを前記復号鍵で復号する、付記1から5いずれか一項に記載のプログラム。
 (付記7)
 第1サーバ装置から、暗号化されている対象ファイルについて、対象ユーザのアクセス権限に関するアクセス権限情報を取得することで、前記対象ユーザが前記対象ファイルに対するアクセス権限を有するか否かを判定する判定部と、
 前記対象ユーザが前記対象ファイルに対するアクセス権限を有すると判定された場合に、第2サーバ装置から前記対象ファイルの復号に利用する鍵情報を取得する取得部と、
 前記取得した鍵情報を利用して前記対象ファイルを復号する復号部と、を有するユーザ装置。
 (付記8)
 前記対象ファイルに対する前記対象ユーザのアクセス権限は、過去に前記対象ファイルが格納されていた位置である基準位置に対応づけて定められており、
 前記判定部は、前記対象ファイルの前記基準位置に対応づけられているアクセス権限に基づいて、前記対象ユーザが前記対象ファイルに対するアクセス権限を有するか否かを判定する、付記7に記載のユーザ装置。
 (付記9)
 前記判定部は、前記第1サーバ装置に対し、前記対象ユーザの識別情報と、前記対象ファイルの前記基準位置とを示す情報を送信し、
 前記アクセス権限情報は、前記基準位置に対して前記対象ユーザがアクセス権限を有するか否かについて、前記第1サーバ装置が判定した結果を示す、付記8に記載のユーザ装置。
 (付記10)
 前記対象ファイルは、前記判定部による判定が実行される前の時点において、ファイルサーバの記憶装置に設けられている第1ディレクトリから、当該ユーザ装置の記憶装置に設けられている第2ディレクトリにコピー又は移動されており、
 前記対象ファイルの前記基準位置は前記第1ディレクトリに設定されている、付記8又は9に記載のユーザ装置。
 (付記11)
 前記第1サーバ装置は前記ファイルサーバである、付記10に記載のユーザ装置。
 (付記12)
 前記取得部は、
  前記対象ファイルの暗号化に利用された暗号鍵を前記第2サーバ装置へ提供し、
  前記暗号鍵から生成された前記対象ファイルの復号鍵を前記鍵情報として取得し、
 前記復号部は、前記対象ファイルを前記復号鍵で復号する、付記7から11いずれか一項に記載のユーザ装置。
 (付記13)
 コンピュータによって実行されるアクセス制御方法であって、
 第1サーバ装置から、暗号化されている対象ファイルについて、対象ユーザのアクセス権限に関するアクセス権限情報を取得することで、前記対象ユーザが前記対象ファイルに対するアクセス権限を有するか否かを判定する判定ステップと、
 前記対象ユーザが前記対象ファイルに対するアクセス権限を有すると判定された場合に、第2サーバ装置から前記対象ファイルの復号に利用する鍵情報を取得する取得ステップと、
 前記取得した鍵情報を利用して前記対象ファイルを復号する復号ステップと、を有し、
 前記コンピュータは、前記第1サーバ装置ではなく、前記第2サーバ装置でもない、アクセス制御方法。
 (付記14)
 前記対象ファイルに対する前記対象ユーザのアクセス権限は、過去に前記対象ファイルが格納されていた位置である基準位置に対応づけて定められており、
 前記判定ステップにおいて、前記対象ファイルの前記基準位置に対応づけられているアクセス権限に基づいて、前記対象ユーザが前記対象ファイルに対するアクセス権限を有するか否かを判定する、付記13に記載のアクセス制御方法。
 (付記15)
 前記判定ステップにおいて、前記第1サーバ装置に対し、前記対象ユーザの識別情報と、前記対象ファイルの前記基準位置とを示す情報を送信し、
 前記アクセス権限情報は、前記基準位置に対して前記対象ユーザがアクセス権限を有するか否かについて、前記第1サーバ装置が判定した結果を示す、付記14に記載のアクセス制御方法。
 (付記16)
 前記対象ファイルは、前記判定ステップが実行される前の時点において、ファイルサーバの記憶装置に設けられている第1ディレクトリから、前記コンピュータの記憶装置に設けられている第2ディレクトリにコピー又は移動されており、
 前記対象ファイルの前記基準位置は前記第1ディレクトリに設定されている、付記14又は15に記載のアクセス制御方法。
 (付記17)
 前記第1サーバ装置は前記ファイルサーバである、付記16に記載のアクセス制御方法。
 (付記18)
 前記取得ステップにおいて、
  前記対象ファイルの暗号化に利用された暗号鍵を前記第2サーバ装置へ提供し、
  前記暗号鍵から生成された前記対象ファイルの復号鍵を前記鍵情報として取得し、
 前記復号ステップにおいて、前記対象ファイルを前記復号鍵で復号する、付記13から17いずれか一項に記載のアクセス制御方法。
 (付記19)
 ユーザ装置、第1サーバ装置、及び第2サーバ装置を有するアクセス制御システムであって、
 前記ユーザ装置は、
  第1サーバ装置に対し、暗号化されている対象ファイルについて、対象ユーザのアクセス権限に関するアクセス権限情報を要求する第1リクエストを送信し、前記第1サーバ装置から取得した前記アクセス権限情報を利用して、前記対象ユーザが前記対象ファイルに対するアクセス権限を有するか否かを判定する判定部と、
  前記対象ユーザが前記対象ファイルに対するアクセス権限を有すると判定された場合に、第2サーバ装置に対し、前記対象ファイルの復号に利用する鍵情報を要求する第2リクエストを送信し、前記第2サーバ装置から前記鍵情報を取得する取得部と、
  前記取得した鍵情報を利用して前記対象ファイルを復号する復号部と、を有し、
 前記第1サーバ装置は、前記第1リクエストに応じて、前記アクセス権限情報を前記ユーザ装置へ提供し、
 前記第2サーバ装置は、前記第2リクエストに応じて、前記鍵情報を前記ユーザ装置へ提供する、アクセス制御システム。
 (付記20)
 前記対象ファイルに対する前記対象ユーザのアクセス権限は、過去に前記対象ファイルが格納されていた位置である基準位置に対応づけて定められており、
 前記第1リクエストは、前記対象ユーザの識別情報と、前記対象ファイルの前記基準位置とを含み、
 前記第1サーバ装置は、前記対象ファイルの前記基準位置に対応づけられているアクセス権限に基づいて、前記対象ユーザが前記対象ファイルに対するアクセス権限を有するか否かを判定し、当該判定の結果を示す前記アクセス権限情報を前記ユーザ装置へ提供する、付記19に記載のアクセス制御システム。
 (付記21)
 前記第2リクエストは、前記対象ファイルの暗号化に利用された暗号鍵を含み、
 前記第2サーバ装置は、前記第2リクエストに含まれる暗号鍵から前記対象ファイルの復号鍵を生成し、前記生成した復号鍵を含む前記鍵情報を前記ユーザ装置へ提供する、付記19又は20に記載のアクセス制御システム。
10 対象ファイル
20 アクセス権限情報
30 鍵情報
40 対象ユーザ
50 ファイルサーバ
52 記憶装置
60 管理サーバ
70 記憶装置
500 コンピュータ
502 バス
504 プロセッサ
506 メモリ
508 ストレージデバイス
510 入出力インタフェース
512 ネットワークインタフェース
2000 ユーザ装置
2020 判定部
2040 取得部
2060 復号部
3000 第1サーバ装置
4000 第2サーバ装置
5000 アクセス制御システム

Claims (21)

  1.  プログラムが格納されているコンピュータ可読媒体であって、
     前記プログラムは、コンピュータに、
      第1サーバ装置から、暗号化されている対象ファイルについて、対象ユーザのアクセス権限に関するアクセス権限情報を取得することで、前記対象ユーザが前記対象ファイルに対するアクセス権限を有するか否かを判定する判定ステップと、
      前記対象ユーザが前記対象ファイルに対するアクセス権限を有すると判定された場合に、第2サーバ装置から前記対象ファイルの復号に利用する鍵情報を取得する取得ステップと、
      前記取得した鍵情報を利用して前記対象ファイルを復号する復号ステップと、を実行させ、
     前記コンピュータは、前記第1サーバ装置ではなく、前記第2サーバ装置でもない、コンピュータ可読媒体。
  2.  前記対象ファイルに対する前記対象ユーザのアクセス権限は、過去に前記対象ファイルが格納されていた位置である基準位置に対応づけて定められており、
     前記判定ステップにおいて、前記対象ファイルの前記基準位置に対応づけられているアクセス権限に基づいて、前記対象ユーザが前記対象ファイルに対するアクセス権限を有するか否かを判定する、請求項1に記載のコンピュータ可読媒体。
  3.  前記判定ステップにおいて、前記第1サーバ装置に対し、前記対象ユーザの識別情報と、前記対象ファイルの前記基準位置とを示す情報を送信し、
     前記アクセス権限情報は、前記基準位置に対して前記対象ユーザがアクセス権限を有するか否かについて、前記第1サーバ装置が判定した結果を示す、請求項2に記載のコンピュータ可読媒体。
  4.  前記対象ファイルは、前記判定ステップが実行される前の時点において、ファイルサーバの記憶装置に設けられている第1ディレクトリから、前記コンピュータの記憶装置に設けられている第2ディレクトリにコピー又は移動されており、
     前記対象ファイルの前記基準位置は前記第1ディレクトリに設定されている、請求項2又は3に記載のコンピュータ可読媒体。
  5.  前記第1サーバ装置は前記ファイルサーバである、請求項4に記載のコンピュータ可読媒体。
  6.  前記取得ステップにおいて、
      前記対象ファイルの暗号化に利用された暗号鍵を前記第2サーバ装置へ提供し、
      前記暗号鍵から生成された前記対象ファイルの復号鍵を前記鍵情報として取得し、
     前記復号ステップにおいて、前記対象ファイルを前記復号鍵で復号する、請求項1から5いずれか一項に記載のコンピュータ可読媒体。
  7.  第1サーバ装置から、暗号化されている対象ファイルについて、対象ユーザのアクセス権限に関するアクセス権限情報を取得することで、前記対象ユーザが前記対象ファイルに対するアクセス権限を有するか否かを判定する判定部と、
     前記対象ユーザが前記対象ファイルに対するアクセス権限を有すると判定された場合に、第2サーバ装置から前記対象ファイルの復号に利用する鍵情報を取得する取得部と、
     前記取得した鍵情報を利用して前記対象ファイルを復号する復号部と、を有するユーザ装置。
  8.  前記対象ファイルに対する前記対象ユーザのアクセス権限は、過去に前記対象ファイルが格納されていた位置である基準位置に対応づけて定められており、
     前記判定部は、前記対象ファイルの前記基準位置に対応づけられているアクセス権限に基づいて、前記対象ユーザが前記対象ファイルに対するアクセス権限を有するか否かを判定する、請求項7に記載のユーザ装置。
  9.  前記判定部は、前記第1サーバ装置に対し、前記対象ユーザの識別情報と、前記対象ファイルの前記基準位置とを示す情報を送信し、
     前記アクセス権限情報は、前記基準位置に対して前記対象ユーザがアクセス権限を有するか否かについて、前記第1サーバ装置が判定した結果を示す、請求項8に記載のユーザ装置。
  10.  前記対象ファイルは、前記判定部による判定が実行される前の時点において、ファイルサーバの記憶装置に設けられている第1ディレクトリから、当該ユーザ装置の記憶装置に設けられている第2ディレクトリにコピー又は移動されており、
     前記対象ファイルの前記基準位置は前記第1ディレクトリに設定されている、請求項8又は9に記載のユーザ装置。
  11.  前記第1サーバ装置は前記ファイルサーバである、請求項10に記載のユーザ装置。
  12.  前記取得部は、
      前記対象ファイルの暗号化に利用された暗号鍵を前記第2サーバ装置へ提供し、
      前記暗号鍵から生成された前記対象ファイルの復号鍵を前記鍵情報として取得し、
     前記復号部は、前記対象ファイルを前記復号鍵で復号する、請求項7から11いずれか一項に記載のユーザ装置。
  13.  コンピュータによって実行されるアクセス制御方法であって、
     第1サーバ装置から、暗号化されている対象ファイルについて、対象ユーザのアクセス権限に関するアクセス権限情報を取得することで、前記対象ユーザが前記対象ファイルに対するアクセス権限を有するか否かを判定する判定ステップと、
     前記対象ユーザが前記対象ファイルに対するアクセス権限を有すると判定された場合に、第2サーバ装置から前記対象ファイルの復号に利用する鍵情報を取得する取得ステップと、
     前記取得した鍵情報を利用して前記対象ファイルを復号する復号ステップと、を有し、
     前記コンピュータは、前記第1サーバ装置ではなく、前記第2サーバ装置でもない、アクセス制御方法。
  14.  前記対象ファイルに対する前記対象ユーザのアクセス権限は、過去に前記対象ファイルが格納されていた位置である基準位置に対応づけて定められており、
     前記判定ステップにおいて、前記対象ファイルの前記基準位置に対応づけられているアクセス権限に基づいて、前記対象ユーザが前記対象ファイルに対するアクセス権限を有するか否かを判定する、請求項13に記載のアクセス制御方法。
  15.  前記判定ステップにおいて、前記第1サーバ装置に対し、前記対象ユーザの識別情報と、前記対象ファイルの前記基準位置とを示す情報を送信し、
     前記アクセス権限情報は、前記基準位置に対して前記対象ユーザがアクセス権限を有するか否かについて、前記第1サーバ装置が判定した結果を示す、請求項14に記載のアクセス制御方法。
  16.  前記対象ファイルは、前記判定ステップが実行される前の時点において、ファイルサーバの記憶装置に設けられている第1ディレクトリから、前記コンピュータの記憶装置に設けられている第2ディレクトリにコピー又は移動されており、
     前記対象ファイルの前記基準位置は前記第1ディレクトリに設定されている、請求項14又は15に記載のアクセス制御方法。
  17.  前記第1サーバ装置は前記ファイルサーバである、請求項16に記載のアクセス制御方法。
  18.  前記取得ステップにおいて、
      前記対象ファイルの暗号化に利用された暗号鍵を前記第2サーバ装置へ提供し、
      前記暗号鍵から生成された前記対象ファイルの復号鍵を前記鍵情報として取得し、
     前記復号ステップにおいて、前記対象ファイルを前記復号鍵で復号する、請求項13から17いずれか一項に記載のアクセス制御方法。
  19.  ユーザ装置、第1サーバ装置、及び第2サーバ装置を有するアクセス制御システムであって、
     前記ユーザ装置は、
      第1サーバ装置に対し、暗号化されている対象ファイルについて、対象ユーザのアクセス権限に関するアクセス権限情報を要求する第1リクエストを送信し、前記第1サーバ装置から取得した前記アクセス権限情報を利用して、前記対象ユーザが前記対象ファイルに対するアクセス権限を有するか否かを判定する判定部と、
      前記対象ユーザが前記対象ファイルに対するアクセス権限を有すると判定された場合に、第2サーバ装置に対し、前記対象ファイルの復号に利用する鍵情報を要求する第2リクエストを送信し、前記第2サーバ装置から前記鍵情報を取得する取得部と、
      前記取得した鍵情報を利用して前記対象ファイルを復号する復号部と、を有し、
     前記第1サーバ装置は、前記第1リクエストに応じて、前記アクセス権限情報を前記ユーザ装置へ提供し、
     前記第2サーバ装置は、前記第2リクエストに応じて、前記鍵情報を前記ユーザ装置へ提供する、アクセス制御システム。
  20.  前記対象ファイルに対する前記対象ユーザのアクセス権限は、過去に前記対象ファイルが格納されていた位置である基準位置に対応づけて定められており、
     前記第1リクエストは、前記対象ユーザの識別情報と、前記対象ファイルの前記基準位置とを含み、
     前記第1サーバ装置は、前記対象ファイルの前記基準位置に対応づけられているアクセス権限に基づいて、前記対象ユーザが前記対象ファイルに対するアクセス権限を有するか否かを判定し、当該判定の結果を示す前記アクセス権限情報を前記ユーザ装置へ提供する、請求項19に記載のアクセス制御システム。
  21.  前記第2リクエストは、前記対象ファイルの暗号化に利用された暗号鍵を含み、
     前記第2サーバ装置は、前記第2リクエストに含まれる暗号鍵から前記対象ファイルの復号鍵を生成し、前記生成した復号鍵を含む前記鍵情報を前記ユーザ装置へ提供する、請求項19又は20に記載のアクセス制御システム。
PCT/JP2020/023092 2020-06-11 2020-06-11 コンピュータ可読媒体、ユーザ装置、アクセス制御方法、及びアクセス制御システム WO2021250867A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2022529971A JP7485456B2 (ja) 2020-06-11 2020-06-11 プログラム、ユーザ装置、アクセス制御方法、及びアクセス制御システム
US18/009,027 US20230252175A1 (en) 2020-06-11 2020-06-11 Computer readable medium, user apparatus, access control method, and access control system
PCT/JP2020/023092 WO2021250867A1 (ja) 2020-06-11 2020-06-11 コンピュータ可読媒体、ユーザ装置、アクセス制御方法、及びアクセス制御システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/023092 WO2021250867A1 (ja) 2020-06-11 2020-06-11 コンピュータ可読媒体、ユーザ装置、アクセス制御方法、及びアクセス制御システム

Publications (1)

Publication Number Publication Date
WO2021250867A1 true WO2021250867A1 (ja) 2021-12-16

Family

ID=78847089

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/023092 WO2021250867A1 (ja) 2020-06-11 2020-06-11 コンピュータ可読媒体、ユーザ装置、アクセス制御方法、及びアクセス制御システム

Country Status (3)

Country Link
US (1) US20230252175A1 (ja)
JP (1) JP7485456B2 (ja)
WO (1) WO2021250867A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003209541A (ja) * 2002-01-10 2003-07-25 Matsushita Electric Ind Co Ltd コンテンツ保護蓄積装置、端末装置、及びコンテンツ保護システム
US20050060545A1 (en) * 2003-09-17 2005-03-17 Hewlett-Packard Development Company, L.P. Secure provision of image data
JP2011018128A (ja) * 2009-07-07 2011-01-27 Panasonic Corp Avコンテンツ配信システム、avコンテンツ再生端末、プログラム及び記録媒体
JP2011138434A (ja) * 2009-12-29 2011-07-14 Sharp Corp 動作制御装置、動作制御方法、ライセンス提供システム、動作制御プログラム、および記録媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003209541A (ja) * 2002-01-10 2003-07-25 Matsushita Electric Ind Co Ltd コンテンツ保護蓄積装置、端末装置、及びコンテンツ保護システム
US20050060545A1 (en) * 2003-09-17 2005-03-17 Hewlett-Packard Development Company, L.P. Secure provision of image data
JP2011018128A (ja) * 2009-07-07 2011-01-27 Panasonic Corp Avコンテンツ配信システム、avコンテンツ再生端末、プログラム及び記録媒体
JP2011138434A (ja) * 2009-12-29 2011-07-14 Sharp Corp 動作制御装置、動作制御方法、ライセンス提供システム、動作制御プログラム、および記録媒体

Also Published As

Publication number Publication date
US20230252175A1 (en) 2023-08-10
JPWO2021250867A1 (ja) 2021-12-16
JP7485456B2 (ja) 2024-05-16

Similar Documents

Publication Publication Date Title
US11057355B2 (en) Protecting documents using policies and encryption
US10505988B2 (en) System and method for secure synchronization of data across multiple computing devices
JP6796194B2 (ja) カーネルイベントトリガ
JP6810172B2 (ja) 文書管理およびアクセス制御を有する分散データシステム
US20140344570A1 (en) Data Protection For Organizations On Computing Devices
US8812874B1 (en) Content deduplication in enterprise rights management
WO2014132246A1 (en) System and method for conflict-free cloud storage encryption
JP2010244432A (ja) ファイル共有システム、共有ファイルサーバ装置、ファイル共有方法、共有ファイルサーバ装置のアクセス制御方法、及びこれらのプログラム
US8656159B1 (en) Versioning of modifiable encrypted documents
JP2018136626A (ja) アクセス制御装置、アクセス制御方法及びアクセス制御プログラム
EP2212825B1 (en) Cryptographically controlling access to documents
WO2021250867A1 (ja) コンピュータ可読媒体、ユーザ装置、アクセス制御方法、及びアクセス制御システム
WO2021250863A1 (ja) 管理装置、制御方法、コンピュータ可読媒体、及びアクセス制御システム
JP2004341961A (ja) ストレージシステムおよびストレージプログラム
WO2021250869A1 (ja) 管理装置、制御方法、コンピュータ可読媒体、及びアクセス制御システム
KR102057113B1 (ko) 클라우드 스토리지 암호화 시스템
JP6435616B2 (ja) ストレージ装置、ストレージシステム、ストレージシステムの制御方法および制御プログラム
US20240171389A1 (en) Secure caching of namespace keys
US9928380B2 (en) Managing file usage
JP2019060920A (ja) 情報処理装置及び情報処理プログラム
JP2012159919A (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: 20940143

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022529971

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20940143

Country of ref document: EP

Kind code of ref document: A1