WO2021124568A1 - アクセス制御装置、制御方法、及びプログラム - Google Patents

アクセス制御装置、制御方法、及びプログラム Download PDF

Info

Publication number
WO2021124568A1
WO2021124568A1 PCT/JP2019/050161 JP2019050161W WO2021124568A1 WO 2021124568 A1 WO2021124568 A1 WO 2021124568A1 JP 2019050161 W JP2019050161 W JP 2019050161W WO 2021124568 A1 WO2021124568 A1 WO 2021124568A1
Authority
WO
WIPO (PCT)
Prior art keywords
access
information
authority
user
storage device
Prior art date
Application number
PCT/JP2019/050161
Other languages
English (en)
French (fr)
Inventor
崇 安田
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to PCT/JP2019/050161 priority Critical patent/WO2021124568A1/ja
Priority to US17/783,077 priority patent/US20230024635A1/en
Priority to JP2021565303A priority patent/JP7521540B2/ja
Publication of WO2021124568A1 publication Critical patent/WO2021124568A1/ja

Links

Images

Classifications

    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • 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
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority

Definitions

  • the present invention relates to data sharing.
  • Patent Document 1 discloses that information on an event generated in a terminal is stored and shared in a blockchain storage.
  • Blockchain storage has the advantage that it is difficult to tamper with the stored data. On the other hand, with blockchain storage, it is also difficult to delete the stored data, so if the data owner stores data (for example, personal information) that may be desired to be deleted later on the blockchain storage, It becomes difficult to deal with when the owner wants to delete it.
  • data for example, personal information
  • the present invention has been made in view of the above problems, and one of the purposes thereof is to provide a technique for utilizing blockchain storage while enabling data deletion.
  • the access control device of the present invention has 1) a request acquisition unit for acquiring a request for access to data stored in the first storage device, and 2) authority information indicating access authority for access to the first storage device. Whether the access is within the access authority of the target entity by using the authority information acquisition unit that acquires the authority information from the stored second storage device and 3) the authority information about the target entity that is the subject of the request. It has an authority determination unit for determining whether or not, and 4) an access execution unit for executing access when it is determined that the access is within the access authority range of the target entity.
  • the second storage device is blockchain storage.
  • the control method of the present invention is executed by a computer.
  • the control method stores 1) a request acquisition step for acquiring a request for access to data stored in the first storage device, and 2) authority information indicating access authority for access to the first storage device. Whether or not the access is within the access authority of the target entity is determined by using the authority information acquisition step of acquiring the authority information from the second storage device and 3) the authority information about the target entity that is the subject of the request. It has an authority determination step for determining, and 4) an access execution step for executing access when it is determined that the access is within the access authority range of the target entity.
  • the second storage device is blockchain storage.
  • the program of the present invention causes a computer to execute the control method of the present invention.
  • FIG. It is a figure which conceptually illustrates the operation of the access control device which concerns on Embodiment 1.
  • FIG. It is a block diagram which illustrates the functional structure of an access control device. It is a figure which illustrates the computer for realizing the access control device. It is a flowchart which illustrates the flow of the process executed by the access control device of Embodiment 1. It is a figure which illustrates the authority information stored in the 2nd storage device in a table format. It is a figure which illustrates the access control apparatus of an Example.
  • each block diagram represents a configuration of a functional unit, not a configuration of a hardware unit.
  • various predetermined values are stored in advance in a storage device accessible from the functional configuration unit that uses the values.
  • FIG. 1 is a diagram conceptually illustrating the operation of the access control device 2000 according to the first embodiment.
  • the operation of the access control device 2000 described with reference to FIG. 1 is an example for facilitating the understanding of the access control device 2000, and does not limit the operation of the access control device 2000. Details and variations of the operation of the access control device 2000 will be described later.
  • the access control device 2000 controls access to the first storage device 30 requested by the entity based on the access authority given to the entity.
  • the entity referred to here is an entity that requests access to the first storage device 30.
  • an entity is a user or a group of users.
  • the access authority is set for each user or each group of users.
  • an entity is a terminal or a group of terminals.
  • the access authority is set for each terminal or each group of terminals.
  • the terminal may be a physical machine or a virtual machine.
  • Arbitrary data is stored in the first storage device 30.
  • what is stored in the first storage device 30 is user authentication information used for user authentication, user personal information, and the like.
  • the second storage device 40 is a storage (blockchain storage) constructed by using the blockchain technology.
  • the existing technology can be used as the technology for constructing the blockchain storage.
  • the second storage device 40 is also referred to as a blockchain storage 40.
  • the first storage device 30 is not a blockchain storage.
  • the access control device 2000 receives a request for access to the data stored in the first storage device 30.
  • the entity that is the subject of the request received by the access control device 2000 is referred to as the target entity 10.
  • the access control device 2000 acquires the authority information 70 of the target entity 10.
  • the access control device 2000 uses the authority information 70 of the target entity 10 to determine whether or not the requested access is within the range of the access authority given to the target entity 10.
  • the access control device 2000 determines that the requested access is within the range of the access authority given to the target entity, the access control device 2000 executes the requested access. On the other hand, if it is determined that the requested access is not within the range of the access authority given to the target entity, the access control device 2000 does not execute the requested access.
  • the access control device 2000 of the present embodiment with respect to the request for access to the first storage device 30, whether or not to execute the requested access is determined by using the authority information 70 stored in the blockchain storage 40. It is judged.
  • the blockchain storage has an advantage that it is difficult to falsify the stored data. Therefore, it can be said that the authority information 70 stored on the blockchain storage 40 is difficult to falsify and has high reliability. Therefore, according to the access control device 2000, it is possible to prevent the data stored in the first storage device 30 from being illegally accessed by the target entity 10 that does not have a legitimate access authority.
  • the permission information 70 representing the access authority is stored in the blockchain storage 40, while the data to be accessed is stored in the first storage device 30 which is not the blockchain storage. ..
  • the permission information 70 representing the access authority is stored in the blockchain storage 40, while the data to be accessed is stored in the first storage device 30 which is not the blockchain storage. ..
  • FIG. 2 is a block diagram illustrating the functional configuration of the access control device 2000.
  • the access control device 2000 includes a request acquisition unit 2020, an authority information acquisition unit 2040, an authority determination unit 2060, and an access execution unit 2080.
  • the request acquisition unit 2020 acquires the request 20.
  • Request 20 is a request for access to the first storage device 30 by the target entity 10.
  • the authority information acquisition unit 2040 acquires the authority information 70 indicating the access authority of the target entity 10 from the second storage device 40.
  • the authority determination unit 2060 uses the authority information 70 to determine whether or not the access shown in the request 20 is within the range of the access authority of the target entity 10. If it is determined that the access authority is within the range, the access execution unit 2080 executes the access indicated in the request 20.
  • the first storage device 30 is not a blockchain storage
  • the second storage device 40 is a blockchain storage.
  • Each functional component of the access control device 2000 may be realized by hardware that realizes each functional component (eg, a hard-wired electronic circuit, etc.), or a combination of hardware and software (eg, example). It may be realized by a combination of an electronic circuit and a program that controls it).
  • each functional component of the access control device 2000 is realized by a combination of hardware and software will be further described.
  • FIG. 3 is a diagram illustrating a computer 1000 for realizing the access control device 2000.
  • the computer 1000 is an arbitrary computer.
  • the computer 1000 is a stationary computer such as a PC (Personal Computer) or a server machine.
  • the computer 1000 is a portable computer such as a smartphone or a tablet terminal.
  • the computer 1000 may be a dedicated computer designed to realize the access control device 2000, or may be a general-purpose computer. In the latter case, for example, by installing a predetermined application on the computer 1000, each function of the access control device 2000 is realized on the computer 1000.
  • the above application is composed of a program for realizing a functional component of the access control device 2000.
  • the computer 1000 has a bus 1020, a processor 1040, a memory 1060, a storage device 1080, an input / output interface 1100, and a network interface 1120.
  • the bus 1020 is a data transmission line for the processor 1040, the memory 1060, the storage device 1080, the input / output interface 1100, and the network interface 1120 to transmit and receive data to and from each other.
  • the method of connecting the processors 1040 and the like to each other is not limited to the bus connection.
  • the processor 1040 is various processors such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), and an FPGA (Field-Programmable Gate Array).
  • the memory 1060 is a main storage device realized by using RAM (Random Access Memory) or the like.
  • the storage device 1080 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 1100 is an interface for connecting the computer 1000 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 1100.
  • the network interface 1120 is an interface for connecting the computer 1000 to the communication network.
  • This communication network is, for example, LAN (Local Area Network) or WAN (Wide Area Network).
  • the storage device 1080 stores a program (a program that realizes the above-mentioned application) that realizes each functional component of the access control device 2000.
  • the processor 1040 reads this program into the memory 1060 and executes it to realize each functional component of the access control device 2000.
  • FIG. 4 is a flowchart illustrating a flow of processing executed by the access control device 2000 of the first embodiment.
  • the request acquisition unit 2020 acquires the request 20 (S102).
  • the authority information acquisition unit 2040 acquires the authority information 70 of the target entity 10 (S104).
  • the authority determination unit 2060 determines whether or not the access requested by the request 20 is within the range of the access authority of the target entity 10 (S106). If it is within the range of the access authority (S106: YES), the access execution unit 2080 executes the access requested by the request 20 (S108).
  • the process of FIG. 4 ends.
  • the access control device 2000 may perform some processing in this case as well. For example, as will be described later, the access control device 2000 outputs a notification indicating that the requested access is not within the range of access authority.
  • the access authority to the first storage device 30 is represented by the authority information 70.
  • the authority information 70 is defined for the combination of the subject of access and the object. As mentioned above, the subject of access is an entity.
  • the authority information 70 defined for the combination "entity A, object B" represents the access authority that entity A has for accessing object B.
  • the object of access can be represented in various ways.
  • the access object is represented by the data stored in the first storage device 30.
  • access authority is set for the combination of "entity identification information and data identification information (data identification information)".
  • the access authority can be set for each data unit.
  • the data identification information any information that can identify the data with each other can be used.
  • the data identification information is a file name or a path.
  • the data identification information is information for identifying the data in the table.
  • the access object is represented by a group of data stored in the first storage device 30.
  • access authority is set for the combination of "entity identification information and data group identification information (data group identification information)". According to this method, the access authority can be set for each group of data.
  • the access object may be represented by a partial storage area (hereinafter, partial area) in the first storage device 30.
  • access authority is set for the combination of "entity identification information and partial area identification information (area identification information)". According to this method, the access authority can be set for each partial area.
  • a partial area is allocated to a specific user.
  • the user stores the data in the allocated subarea.
  • the access authority By enabling the access authority to be set for each sub-area, the user can allow only a specific entity to access the sub-area assigned to him / her.
  • the access authority setting method (that is, the method of generating the authority information 70) will be described later.
  • FIG. 5 is a diagram illustrating the authority information 70 stored in the second storage device 40 in a table format.
  • the table of FIG. 5 is called a table 100.
  • Table 100 has three columns: entity identification information 102, object identification information 104, and authority information 70.
  • entity identification information 102 indicates the identification information of the entity.
  • object identification information 104 indicates the identification information of the object (data identification information, data group identification information, or area identification information).
  • authority information 70 represents the authority that the entity specified by the corresponding entity identification information 102 has over the object specified by the corresponding object identification information 104. In the authority information 70 of FIG.
  • the access authority setting (that is, the registration of the record in the table 100) may be performed via the access control device 2000 or may be performed without going through the access control device 2000.
  • the access control device 2000 provides the user with a website or the like that accepts the setting of access authority.
  • the user sets the access authority by inputting the necessary information on the website.
  • the access control device 2000 stores the access authority (record of the table 100) specified by the user in the blockchain storage 40.
  • the existing technology can be used as the technology for storing data in the blockchain storage.
  • the request acquisition unit 2020 acquires the request 20.
  • the request 20 is transmitted from an arbitrary terminal communicably connected to the access control device 2000.
  • the access control device 2000 is realized by a server machine or the like that is communicably connected to a terminal operated by the user.
  • the request acquisition unit 2020 may accept the input of the request 20 using the input device connected to the access control device 2000.
  • the access control device 2000 is realized by a terminal or the like operated by the user.
  • the request 20 includes at least the entity identification information of the target entity 10 and the information representing the access content (hereinafter, access content information).
  • Entity identification information is information used to identify entities from each other. For example, when a user is treated as an entity, the identification information of the user, the identification information of the user group to which the user belongs, and the like can be used as the entity identification information.
  • the terminal identification information address information such as IP address and MAC address
  • the identification information of the terminal group to which the terminal belongs network group identification information, etc.
  • the access content information represents the content of the access requested by the request 20.
  • the access content information includes data identification information of the data to be accessed and the type of access to the data.
  • the types of access are read and write. Further, when the type of access is writing, the access content information further includes the content of writing.
  • the authority information 70 may be associated with a data group or a partial area. Therefore, the identification information of the data group or the partial area may be used to determine the presence or absence of the access authority.
  • the access content information further indicates the group identification information of the group to which the data to be accessed belongs and the area identification information of the partial area in which the data to be accessed is stored.
  • the authority information acquisition unit 2040 acquires the authority information 70 (S104). As described above, the authority information 70 is defined for the combination of the access subject (entity) and the object. Therefore, the authority information acquisition unit 2040 acquires the authority information 70 corresponding to the combination of the identification information of the subject and the object shown in the request 20.
  • the identification information of the access subject is the entity identification information of the target entity.
  • the identification information of the access object is, for example, data identification information included in the access content information.
  • the request 20 may include data group identification information and area identification information. In this case, the data group identification information and the area identification information are used as the identification information of the access object.
  • the authority information 70 is stored in the blockchain storage 40. Therefore, for example, the authority information acquisition unit 2040 acquires the authority information 70 corresponding to the combination of the identification information of the subject and the object shown in the request 20 from the blockchain storage 40.
  • the authority information acquisition unit 2040 copies a part or all of the information stored in the blockchain storage 40 to another storage device (hereinafter referred to as a third storage device) in advance, and acquires the information in response to the request 20.
  • the authority information 70 to be performed may be acquired from this third storage device. It is preferable that the access from the access control device 2000 to the third storage device can be performed at a higher speed than the access from the access control device 2000 to the blockchain storage 40. By copying the authority information 70 in advance to a storage device that can be accessed at high speed in this way, the access authority can be determined at higher speed.
  • the third storage device is a storage device provided in the access control device 2000.
  • the authority information acquisition unit 2040 synchronizes the contents of the third storage device and the blockchain storage 40.
  • An existing technique can be used as a specific technique for synchronizing the contents of the two storage devices.
  • the authority determination unit 2060 uses the authority information 70 to determine whether or not the access requested by the request 20 is within the range of the access authority of the target entity 10 (S106). More specifically, the authority determination unit 2060 determines whether or not the type of access shown in the access content information is permitted in the acquired authority information 70. If permitted, it is determined that it is within the range of the access authority of the target entity 10. On the other hand, if it is not permitted, it is determined that it is not within the range of the access authority of the target entity 10.
  • the request 20 may indicate the identification information of the data group or the partial area as the object for determining the access authority.
  • the authority information 70 corresponding to the identification information of the data group or the partial area is acquired. Therefore, for example, the authority determination unit 2060 refers to the pair of "data, the type of access to the data" indicated by the access content information, and 1) belongs to the data group or subarea in which the data is used for determining the access authority. Whether or not, and 2) whether or not that type of access is permitted in the authority information 70 are determined.
  • the authority determination Unit 2060 determines that the requested access is within the access authority of the target entity 10. On the other hand, when the data indicated by the access content information does not belong to the data group or subarea used to determine the access authority, or when the type of access indicated by the access content information is not permitted in the authority information 70. The authority determination unit 2060 determines that the requested access is not within the range of the access authority of the target entity 10.
  • the authority determination unit 2060 does not perform the determination 1), and the range in which the access execution unit 2080 searches for data to be accessed from the first storage device 30 is limited to the data group or partial area used for determining the access authority. You may try to do it. By doing so, if the data indicated by the access content information does not belong to the data group for which the access authority has been determined, or if it is not stored in the partial area for which the access authority has been determined, Since the access execution unit 2080 cannot find the data, it cannot access the data. Therefore, even with this method, it is possible to prevent access that is not within the scope of access authority.
  • the access execution unit 2080 outputs a notification indicating that the requested access cannot be executed because there is no access authority.
  • the access control device 2000 transmits a notification to that terminal.
  • the access control device 2000 outputs a notification to the display device or the like connected to the access control device 2000.
  • the access execution unit 2080 may output a predetermined notification (notification that the access is completed, etc.) even when the requested access can be executed.
  • the output destination of the notification is the same as the notification when the requested access is not executed.
  • the access control device 2000 can be used to confirm the identity of a user who is going to use a predetermined service.
  • the access control device 2000 used for identity verification will be described.
  • the following description is merely an example, and the method of using the access control device 2000 is not limited to the identification of the user.
  • FIG. 6 is a diagram illustrating the access control device 2000 of the embodiment.
  • user 110 takes out the insurance provided by insurance company C.
  • the insurance company C needs to acquire the legitimate personal information (name, address, etc.) of the user 110. Therefore, for example, the insurance company C receives the personal information provided by the user 110 at the store S, and confirms that the personal information is the legitimate personal information of the user 110 (that is, identity verification). In other words, it is confirmed whether or not the user 110 has provided false personal information.
  • information that can be used for identity verification of the user is stored in the first storage device 30 in advance.
  • the personal information of the user is stored in the first storage device 30 in association with the authentication information of the user.
  • the user authentication information is arbitrary information that can be used for user authentication, such as biometric information such as a face image and account information (user name and password pair).
  • biometric information such as a face image and account information (user name and password pair).
  • a face image which is a kind of biometric information, is used as authentication information.
  • the user's authentication information and personal information are stored in the partial area 32 assigned to the user.
  • the authentication information and the personal information stored in the same partial area 32 are associated with each other.
  • the authority information 70 is defined in association with the identification information of the partial area 32.
  • the identity verification of the user 110 is performed according to the following flow.
  • the user 110 goes to the store S of the insurance company C.
  • the user 110 provides the store terminal 120 of the store S with the authentication information of the user 110 and the area identification information of the partial area 32 of the user 110.
  • the face image of the user 110 is provided to the store terminal 120 by capturing the face of the user 110 with the camera provided in the store terminal 120.
  • the store terminal 120 transmits the request 20 to the access control device 2000.
  • This request 20 indicates the identification information of the insurance company C as the entity identification information of the target entity 10, and indicates "reading out the face image" as the access content information. Further, the area identification information of the partial area 32 of the user 110 is shown for determining the access authority.
  • the authority determination unit 2060 determines whether or not the requested access is within the access authority of the insurance company C by determining whether or not the acquired authority information 70 is permitted to be read.
  • the user 110 gives the insurance company C read authority to the partial area 32 of the user 110 in advance. Therefore, it is determined that the requested access is within the access authority of the insurance company C. Therefore, the access execution unit 2080 reads the face image of the user 110 from the partial area 32 of the user 110.
  • the access control device 2000 collates a face image acquired from the store terminal 120 (a face image obtained by imaging the user 110 at the store S) with a face image acquired from the partial area 32 (these are the same individual). (Determine whether or not it is). When it is determined that these belong to the same individual, it can be said that the personal information stored in the partial area 32 is the legitimate personal information of the user 110. Therefore, the access control device 2000 acquires the personal information of the user 110 from the partial area 32 of the user 110 and provides it to the store terminal 120. On the other hand, when it is determined that these are not the same individual, the access control device 2000 transmits an error notification to the effect that the authentication has failed to the store terminal 120.
  • An existing method can be used as a method for determining whether or not the two facial images belong to the same individual. For example, the control device 2000 calculates the similarity between two face images and compares the similarity with a predetermined threshold value. If the similarity is equal to or higher than a predetermined threshold, it is determined that the two facial images belong to the same individual, and if the similarity is less than the predetermined threshold, the two facial images belong to the same individual. It is determined that it is not.
  • the store terminal 120 receives the personal information provided by the user 110 and the personal information provided by the access control device 2000 (that is, from the partial area 32 of the user 110). It is determined whether or not the read personal information) matches. When these match, the store terminal 120 determines that the personal information provided by the user 110 at the store S is valid. That is, it can be confirmed that the user 110 who visited the store S of the insurance company C is the person himself / herself.
  • the store terminal 120 does not necessarily have to confirm the matching of the personal information described above. For example, confirmation of matching of personal information may be performed by the access control device 2000. In this case, the store terminal 120 also transmits the personal information provided by the user 110 to the access control device 2000. Then, does the access control device 2000 match the personal information provided by the store terminal 120 (that is, the personal information provided by the user 110 in the store S) with the personal information acquired from the partial area 32 of the user 110? Confirm whether or not.
  • the store terminal 120 does not have to acquire personal information from the user 110.
  • the user 110 fills in the personal information on the application form or the like.
  • the clerk of the store S refers to the personal information of the partial area 32 of the user 110 displayed by the store terminal 120 via the access control device 2000, and compares it with the personal information entered in the application form. Confirm the identity of user 110.
  • the insurance company C does not require the user 110 to input or fill in the personal information, and the personal information acquired from the access control device 2000 by the store terminal 120 in the above-mentioned flow is used as the personal information of the user 110. You may use it.
  • the user 110 can automatically provide personal information by providing authentication information such as a face image. Therefore, the trouble of inputting personal information by the user is reduced. In addition, it is possible to prevent an error in inputting personal information.
  • the access control device 2000 provides the information indicating that the validity of the pair of the authentication information and the personal information of the user 110 has been confirmed (hereinafter referred to as the confirmation information) to the part of the user 110. It may be stored in the area 32.
  • the confirmation information includes identification information of a company or a government agency (hereinafter, a company, etc.) that has confirmed the identity.
  • the company, etc. that has confirmed the identity is also referred to as the confirmer.
  • confirmation information By storing such confirmation information, whether other companies or the like that the user 110 uses after that should provide the service to the user 110 by utilizing the fact that the identity verification has already been performed for the user 110. It is possible to make an efficient judgment. For example, 1) the institution issuing the passport stores the confirmation information indicating that the passport data stored in the user's partial area 32 is valid in the partial area 32, and 2) the institution issuing the driver's license. However, the company that provides the payment service stores the confirmation information indicating that the driver's license data stored in the user's partial area 32 is valid in the partial area 32. For example, confirmation information indicating that the stored information about the payment service (payment reserve capacity, etc.) is valid is stored in the partial area 32.
  • the confirmation information may further include information indicating the results of various procedures and the like performed after the identity verification.
  • the confirmation information can include information on the insurance contract concluded after the identity verification.
  • the information for which the identity verification has been performed may be digitally signed by the confirmer. For example, if it is confirmed that the pair of the authentication information and the personal information of the user 110 is valid, the electronic signature generated by using the private key of the confirmer is attached to the pair. Specifically, the identification information of the confirmer and the confirmation information including the data with the electronic signature are stored in the partial area 32 of the user 110.
  • Case 1 using confirmation information For example, suppose user 110 uses a rental car. In this case, the user 110 makes a reservation for a rental car in advance on the website provided by the rental car company X. At the time of reservation, the user 110 provides authentication information and personal information. As a result, the reservation information including the user's authentication information, the user's personal information, the reservation date and time, the type of car to be used, and the like are stored in the reservation management server of the rental car company X. Further, the user 110 gives the rental car company X read authority to the partial area 32 of the user 110. Then, on the day of using the rental car, the user 110 goes to the store Y of the rental car company X.
  • the store terminal R of the store Y reads the reservation information regarding the user 110 from the server. Therefore, the store terminal R acquires the authentication information from the user 110 and transmits it to the reservation management server. For example, the reservation management server identifies, from the reservation information whose reservation date and time is the current day, the authentication information that matches the authentication information provided by the store terminal R, and provides the reservation information to the store terminal R.
  • the store terminal R confirms the identity of the user 110. Specifically, the personal information of the user 110 is acquired or referred to from the partial area 32 of the user 110, and it is confirmed whether or not the personal information and the personal information included in the reservation information match.
  • the flow of the process of acquiring or referring to the personal information of the user 110 from the partial area 32 of the user 110 is the same as the flow described in the case of the insurance company C described above.
  • the insurance company C described above stores the confirmation information in the partial area 32 of the user 110.
  • This confirmation information may include information on the insurance contract concluded with the user 110 in addition to the identification information of the insurance company C.
  • the rental car company X can use this confirmation information to obtain information whose validity is guaranteed by the insurance company C for the insurance that the user 110 has subscribed to.
  • the rental car company X can check whether or not the user 110 needs to take out temporary insurance in order to use the rental car by referring to the information of the insurance that the user 110 has. It will be possible.
  • confirmation information can be used for cashless payment. Therefore, the user 110 uses the biometric information (authentication information) stored in the first storage device 30 to apply for the payment service to the company Z (for example, a credit card company) that provides the payment service. As a result, confirmation information including information on the payment service provided by the company Z is stored in the partial area 32 of the user 110.
  • the "application for payment service” referred to here may be a new application for the payment service provided by company Z, or in a situation where a medium such as a credit card of company Z is already used. It may be an additional application that enables payment only with biometric information without such a medium.
  • the user 110 makes a purchase at a store where the payment service can be used.
  • the payment terminal P1 of the store acquires the biometric information of the user 110 in order to make a payment (for example, the face of the user 110 is imaged by a camera).
  • the payment terminal P1 transmits a request including the biometric information to the access control device 2000.
  • the access control device 2000 acquires the biometric information from the partial area 32 of the user 110 and collates it with the biometric information of the user 110 provided from the payment terminal P1.
  • the access control device 2000 acquires the confirmation information stored in the partial area 32 and provides it to the payment terminal P1.
  • the payment terminal P1 executes payment by using the information of the payment service included in the confirmation information. According to such a flow, the user 110 can make a payment without presenting a medium such as cash or a card.
  • the access authority In order to realize the above-mentioned payment service, it is necessary to set the access authority so that the data can be read from the partial area 32 of the user 110 in response to the request from the above-mentioned payment terminal P1. Therefore, for example, an entity representing a group of each store that accepts the payment service provided by the company Z is prepared, and the entity is given read access authority to the partial area 32.
  • the payment terminal of each store that accepts the payment service provided by the company Z transmits the request 20 to the access control device 2000, the request is transmitted as the above-mentioned entity.
  • access authority can be set for a plurality of stores at once.
  • confirmation information is used to realize MaaS (Mobility as a Service).
  • MaaS Mobility as a Service
  • a service is provided that allows unlimited rides on various means of transportation within a specific range for a fixed amount per day.
  • the user 110 makes a contract for using the MaaS service described above in the same flow as the flow for concluding an insurance contract with the insurance company C described above.
  • the service usage contract referred to here is a contract for freely using each means of transportation provided within a specified range during a specified period.
  • confirmation information including the contract contents of the service available to the user is stored in the partial area 32 of the user 110.
  • the user 110 provides authentication information to the payment terminal P2 installed in the vehicle V (the payment terminal P2 captures the face of the user 110 with a camera).
  • the payment terminal P2 transmits a request 20 including the acquired authentication information to the access control device 2000.
  • the access control device 2000 reads the above-mentioned confirmation information from the partial area 32 and provides it to the payment terminal P2.
  • the payment terminal P2 refers to the contract details of the service included in the acquired confirmation information, and determines whether or not the use of the vehicle V is within the scope of the contract. If it is within the scope of the contract, the payment terminal P2 allows the user 110 to use the vehicle V (for example, opens the entrance gate) without asking the user 110 to pay the price. On the other hand, if it is not within the range of the contracted service, the payment terminal P2 requests the user 110 to pay the price.
  • the access authority In order to realize the above-mentioned Maas service, it is necessary to set the access authority so that the data can be read from the partial area 32 of the user 110 in response to the request from the payment terminal P2. Therefore, for example, an entity representing a group of operators of each means of transportation that subscribes to the above-mentioned MaaS service is prepared, and the entity is given read access authority to the partial area 32.
  • the payment terminal or the like of each means of transportation subscribed to the MaaS service transmits the request 20 to the access control device 2000, the request is transmitted as the above-mentioned entity. By doing so, access authority can be set for a plurality of businesses at once.
  • a request acquisition unit that acquires a request for access to the data stored in the first storage device
  • An authority information acquisition unit that acquires the authority information from the second storage device that stores the authority information indicating the access authority related to the access to the first storage device.
  • An authority determination unit that determines whether or not the access is within the access authority of the target entity by using the authority information about the target entity that is the subject of the request. When it is determined that the access is within the range of the access authority of the target entity, the access execution unit for executing the access is provided.
  • the second storage device is an access control device which is a blockchain storage.
  • User authentication information is stored in the first storage device. The access indicated by the request includes reading the user's authentication information.
  • the request contains the authentication information of the user to be authenticated.
  • the access execution unit authenticates the user to be authenticated by comparing the authentication information included in the request with the authentication information read by accessing the first storage device.
  • the authentication information is biometric information.
  • the access execution unit outputs a notification indicating the result of the authentication, and outputs a notification.
  • the notification does not include the authentication information acquired from the first storage device. Or 3.
  • a partial storage area is allocated to each user.
  • the authority information representing the access authority that the entity has for the partial storage area is stored in association with the combination of the identification information of the entity and the identification information of the partial storage area. 1. 1.
  • the access control device according to any one of 4. 6.
  • the authentication information and personal information of the first user are stored in the partial storage area of the first user.
  • the access execution unit succeeds in authenticating the first user and confirms that the personal information of the first user is valid, the access execution unit provides confirmation information indicating the result of the confirmation. Store in the partial storage area 5.
  • a control method performed by a computer A request acquisition step for acquiring a request for access to the data stored in the first storage device, and The authority information acquisition step of acquiring the authority information from the second storage device in which the authority information representing the access authority related to the access to the first storage device is stored, and Using the authority information about the target entity that is the subject of the request, the authority determination step of determining whether or not the access is within the access authority of the target entity, and If it is determined that the access is within the access authority of the target entity, the access execution step for executing the access is provided.
  • a control method in which the second storage device is a blockchain storage. 8.
  • User authentication information is stored in the first storage device. The access indicated by the request includes reading the user's authentication information.
  • the request contains the authentication information of the user to be authenticated.
  • the user to be authenticated is authenticated by comparing the authentication information included in the request with the authentication information read by accessing the first storage device.
  • the control method described in. 9. The authentication information is biometric information, 8.
  • a notification indicating the result of the authentication is output.
  • the notification does not include the authentication information acquired from the first storage device, 8. Or 9.
  • the control method described in. 11 In the first storage device, a partial storage area is allocated to each user. In the second storage device, the authority information representing the access authority that the entity has for the partial storage area is stored in association with the combination of the identification information of the entity and the identification information of the partial storage area. 7. 10.
  • the control method according to any one of 10. 12.
  • the authentication information and personal information of the first user are stored in the partial storage area of the first user.
  • the confirmation information representing the result of the confirmation is provided.
  • Store in the partial storage area 11.
  • the control method described in. 13 7.
  • Target entity 20 Request 30 First storage device 32 Subregion 40 Second storage device, blockchain storage 70 Permission information 100 Table 102 Entity identification information 104 Object identification information 110 User 120 Store terminal 1000 Computer 1020 Bus 1040 Processor 1060 Memory 1080 Storage Device 1100 Input / output interface 1120 Network interface 2000 Access control device 2020 Request acquisition unit 2040 Authority information acquisition unit 2060 Authority judgment unit 2080 Access execution unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Biomedical Technology (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

アクセス制御装置(2000)は、第1記憶装置30に格納されているデータへのアクセスのリクエスト(20)を取得する。アクセス制御装置(2000)は、ブロックチェーンストレージ(40)から権限情報(70)を取得する。権限情報(70)は、第1記憶装置(30)へのアクセスに関するアクセス権限を表す。アクセス制御装置(2000)は、リクエスト(20)の主体である対象エンティティ(10)についての権限情報(70)を用いて、リクエストされたアクセスが対象エンティティ(10)のアクセス権限の範囲内であるか否かを判定する。アクセスが対象エンティティ(10)のアクセス権限の範囲内であると判定された場合、アクセス制御装置(2000)は、当該アクセスを実行する。

Description

アクセス制御装置、制御方法、及びプログラム
 本発明はデータの共有に関する。
 複数の端末からアクセス可能な記憶装置にデータを格納することで、データの共有が行われている。このようなデータの共有に利用される記憶装置の1つとして、ブロックチェーン技術を利用して実現されるブロックチェーンストレージがある。例えば特許文献1は、端末で発生したイベントに関する情報をブロックチェーンストレージに格納して共有することが開示されている。
特開2018-081464号公報
 ブロックチェーンストレージには、格納されたデータの改ざんが難しいという利点がある。一方で、ブロックチェーンストレージでは、格納されたデータを削除することも難しいため、データの持ち主が後に削除を望む可能性があるデータ(例えば個人情報)をブロックチェーンストレージ上に格納してしまうと、持ち主が削除を望んだ際の対処が難しくなってしまう。
 本発明は上記課題に鑑みてなされたものであり、その目的の一つは、データの削除を可能にしつつ、ブロックチェーンストレージを活用する技術を提供することである。
 本発明のアクセス制御装置は、1)第1記憶装置に格納されているデータへのアクセスのリクエストを取得するリクエスト取得部と、2)第1記憶装置へのアクセスに関するアクセス権限を表す権限情報が格納されている第2記憶装置から権限情報を取得する権限情報取得部と、3)リクエストの主体である対象エンティティについての権限情報を用いて、アクセスが対象エンティティのアクセス権限の範囲内であるか否かを判定する権限判定部と、4)アクセスが対象エンティティのアクセス権限の範囲内であると判定された場合、アクセスを実行するアクセス実行部と、を有する。第2記憶装置はブロックチェーンストレージである。
 本発明の制御方法はコンピュータによって実行される。当該制御方法は、1)第1記憶装置に格納されているデータへのアクセスのリクエストを取得するリクエスト取得ステップと、2)第1記憶装置へのアクセスに関するアクセス権限を表す権限情報が格納されている第2記憶装置から権限情報を取得する権限情報取得ステップと、3)リクエストの主体である対象エンティティについての権限情報を用いて、アクセスが対象エンティティのアクセス権限の範囲内であるか否かを判定する権限判定ステップと、4)アクセスが対象エンティティのアクセス権限の範囲内であると判定された場合、アクセスを実行するアクセス実行ステップと、を有する。第2記憶装置はブロックチェーンストレージである。
 本発明のプログラムは、本発明の制御方法をコンピュータに実行させる。
 本発明によれば、データの削除を可能にしつつ、ブロックチェーンストレージを活用する技術が提供される。
実施形態1に係るアクセス制御装置の動作を概念的に例示する図である。 アクセス制御装置の機能構成を例示するブロック図である。 アクセス制御装置を実現するための計算機を例示する図である。 実施形態1のアクセス制御装置によって実行される処理の流れを例示するフローチャートである。 第2記憶装置に格納されている権限情報をテーブル形式で例示する図である。 実施例のアクセス制御装置を例示する図である。
 以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また、特に説明する場合を除き、各ブロック図において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。以下の説明において、特に説明しない限り、各種所定の値(閾値など)は、その値を利用する機能構成部からアクセス可能な記憶装置に予め記憶させておく。
[実施形態1]
<概要>
 図1は、実施形態1に係るアクセス制御装置2000の動作を概念的に例示する図である。ここで、図1を用いて説明するアクセス制御装置2000の動作は、アクセス制御装置2000の理解を容易にするための例示であり、アクセス制御装置2000の動作を限定するものではない。アクセス制御装置2000の動作の詳細やバリエーションについては後述する。
 アクセス制御装置2000は、エンティティに付与されたアクセス権限に基づいて、エンティティからリクエストされた第1記憶装置30へのアクセスを制御する。ここでいうエンティティとは、第1記憶装置30に対するアクセスをリクエストする主体である。例えばエンティティは、ユーザや、ユーザのグループである。この場合、ユーザごとやユーザのグループごとにアクセス権限が設定される。その他にも例えば、エンティティは、端末や、端末のグループである。この場合、端末ごとや端末のグループごとにアクセス権限が設定される。なお、端末は、物理的なマシンであってもよいし、仮想的なマシンであってもよい。
 第1記憶装置30には、任意のデータが格納されている。例えば第1記憶装置30に格納されるのはユーザ認証に利用するユーザの認証情報や、ユーザの個人情報などである。
 各エンティティのアクセス権限を表す情報(権限情報70)は、第2記憶装置40に格納されている。第2記憶装置40は、ブロックチェーン技術を利用して構築されたストレージ(ブロックチェーンストレージ)である。なお、ブロックチェーンストレージを構築する技術には、既存の技術を利用することができる。以下、第2記憶装置40を、ブロックチェーンストレージ40とも表記する。ここで、第1記憶装置30はブロックチェーンストレージではない。
 アクセス制御装置2000は、第1記憶装置30に格納されているデータへのアクセスのリクエストを受け付ける。以下、アクセス制御装置2000が受信したリクエストの主体であるエンティティを、対象エンティティ10と呼ぶ。アクセス制御装置2000は、対象エンティティ10の権限情報70を取得する。アクセス制御装置2000は、対象エンティティ10の権限情報70を利用して、リクエストされたアクセスが、対象エンティティ10に与えられたアクセス権限の範囲内であるか否かを判定する。
 アクセス制御装置2000は、リクエストされたアクセスが対象エンティティに与えられたアクセス権限の範囲内であると判定した場合、リクエストされたアクセスを実行する。一方、リクエストされたアクセスが対象エンティティに与えられたアクセス権限の範囲内でないと判定した場合、アクセス制御装置2000は、リクエストされたアクセスを実行しない。
<作用効果の一例>
 本実施形態のアクセス制御装置2000によれば、第1記憶装置30へのアクセスのリクエストについて、リクエストされたアクセスの実行の許否が、ブロックチェーンストレージ40に格納されている権限情報70を利用して判定される。ここで、ブロックチェーンストレージには、格納されているデータの改ざんが難しいという利点がある。そのため、ブロックチェーンストレージ40上に格納されている権限情報70は改ざんが難しく、信頼度が高い情報であると言える。よって、アクセス制御装置2000によれば、正当なアクセス権限を持たない対象エンティティ10によって第1記憶装置30に格納されているデータが不正にアクセスされてしまうことを防ぐことができる。
 ここで、アクセス対象であるデータ自体をブロックチェーンストレージ40に格納するという方法も考えられる。しかしながら、ブロックチェーンストレージ上のデータは、改ざんだけでなく、削除することも難しい。そのため、ユーザが他者と共有するデータをブロックチェーンストレージに格納してしまうと、そのデータを当該ユーザが削除したいと思ったとしても、そのデータを削除することができなくなってしまう。例えばそのデータがユーザの個人情報であれば、GDPR(General Data Protection Regulation)の「忘れられる権利」を達成できないといった不都合も生じうる。
 この点、アクセス制御装置2000では、アクセス権限を表す権限情報70についてはブロックチェーンストレージ40に格納される一方で、アクセス対象のデータについては、ブロックチェーンストレージではない第1記憶装置30に格納される。このようにすることで、ブロックチェーンストレージの利点を活かして、権限情報70が改ざんされてデータに対する不正なアクセスが発生してしまうことを防ぎつつ、データを削除することも可能となる。よって、データの削除を可能にしつつ、ブロックチェーンストレージの利点を活かしたセキュアなデータ共有を実現することができる。
 以下、アクセス制御装置2000についてより詳細に説明する。
<機能構成の例>
 図2は、アクセス制御装置2000の機能構成を例示するブロック図である。アクセス制御装置2000は、リクエスト取得部2020、権限情報取得部2040、権限判定部2060、及びアクセス実行部2080を有する。リクエスト取得部2020は、リクエスト20を取得する。リクエスト20は、対象エンティティ10による第1記憶装置30へのアクセスのリクエストである。権限情報取得部2040は、第2記憶装置40から、対象エンティティ10のアクセス権限を示す権限情報70を取得する。権限判定部2060は、権限情報70を利用して、リクエスト20に示されているアクセスが、対象エンティティ10のアクセス権限の範囲内であるか否かを判定する。アクセス権限の範囲内であると判定された場合、アクセス実行部2080は、リクエスト20に示されているアクセスを実行する。なお、第1記憶装置30はブロックチェーンストレージではなく、第2記憶装置40はブロックチェーンストレージである。
<アクセス制御装置2000のハードウエア構成の例>
 アクセス制御装置2000の各機能構成部は、各機能構成部を実現するハードウエア(例:ハードワイヤードされた電子回路など)で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ(例:電子回路とそれを制御するプログラムの組み合わせなど)で実現されてもよい。以下、アクセス制御装置2000の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
 図3は、アクセス制御装置2000を実現するための計算機1000を例示する図である。計算機1000は、任意の計算機である。例えば計算機1000は、PC(Personal Computer)やサーバマシンなどといった、据え置き型の計算機である。その他にも例えば、計算機1000は、スマートフォンやタブレット端末などといった可搬型の計算機である。
 計算機1000は、アクセス制御装置2000を実現するために設計された専用の計算機であってもよいし、汎用の計算機であってもよい。後者の場合、例えば、計算機1000に対して所定のアプリケーションをインストールすることにより、計算機1000で、アクセス制御装置2000の各機能が実現される。上記アプリケーションは、アクセス制御装置2000の機能構成部を実現するためのプログラムで構成される。
 計算機1000は、バス1020、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120を有する。バス1020は、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ1040などを互いに接続する方法は、バス接続に限定されない。
 プロセッサ1040は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、FPGA(Field-Programmable Gate Array)などの種々のプロセッサである。メモリ1060は、RAM(Random Access Memory)などを用いて実現される主記憶装置である。ストレージデバイス1080は、ハードディスク、SSD(Solid State Drive)、メモリカード、又は ROM(Read Only Memory)などを用いて実現される補助記憶装置である。
 入出力インタフェース1100は、計算機1000と入出力デバイスとを接続するためのインタフェースである。例えば入出力インタフェース1100には、キーボードなどの入力装置や、ディスプレイ装置などの出力装置が接続される。
 ネットワークインタフェース1120は、計算機1000を通信網に接続するためのインタフェースである。この通信網は、例えば LAN(Local Area Network)や WAN(Wide Area Network)である。
 ストレージデバイス1080は、アクセス制御装置2000の各機能構成部を実現するプログラム(前述したアプリケーションを実現するプログラム)を記憶している。プロセッサ1040は、このプログラムをメモリ1060に読み出して実行することで、アクセス制御装置2000の各機能構成部を実現する。
<処理の流れ>
 図4は、実施形態1のアクセス制御装置2000によって実行される処理の流れを例示するフローチャートである。リクエスト取得部2020は、リクエスト20を取得する(S102)。権限情報取得部2040は、対象エンティティ10の権限情報70を取得する(S104)。権限判定部2060は、リクエスト20で要求されているアクセスが、対象エンティティ10のアクセス権限の範囲内であるか否かを判定する(S106)。アクセス権限の範囲内である場合(S106:YES)、アクセス実行部2080は、リクエスト20で要求されているアクセスを実行する(S108)。
 アクセス権限の範囲内でない場合(S106:NO)、図4の処理は終了する。ただし、アクセス制御装置2000は、この場合にも何らかの処理を行ってもよい。例えば後述するように、アクセス制御装置2000は、リクエストされたアクセスがアクセス権限の範囲内でないことを表す通知を出力する。
<権限情報70について>
 第1記憶装置30へのアクセス権限は、権限情報70によって表される。権限情報70は、アクセスの主体と客体の組み合わせに対して定められる。前述したように、アクセスの主体はエンティティである。例えば、「エンティティA、客体B」という組み合わせに対して定められている権限情報70は、エンティティAが客体Bへのアクセスについて持つアクセス権限を表す。
 アクセスの客体は、様々な方法で表すことができる。例えばアクセスの客体は、第1記憶装置30に格納されているデータで表される。この場合、「エンティティ識別情報、データの識別情報(データ識別情報)」の組み合わせに対して、アクセス権限が設定される。この方法によれば、データ単位でアクセス権限を設定することができる。
 ここで、データ識別情報としては、データを互いに識別できる任意の情報を利用することができる。例えばデータがファイルとして管理されている場合、データ識別情報は、ファイル名やパスである。その他にも例えば、データがテーブルで管理されている場合、データ識別情報は、テーブル内のデータを特定するための情報である。
 その他にも例えば、アクセスの客体は、第1記憶装置30に格納されているデータのグループで表される。この場合、「エンティティ識別情報、データグループの識別情報(データグループ識別情報)」の組み合わせに対して、アクセス権限が設定される。この方法によれば、データのグループ単位でアクセス権限を設定することができる。
 その他にも例えば、アクセスの客体は、第1記憶装置30内の部分的な記憶領域(以下、部分領域)で表されてもよい。この場合、「エンティティ識別情報、部分領域の識別情報(領域識別情報)」の組み合わせに対して、アクセス権限が設定される。この方法によれば、部分領域単位でアクセス権限を設定することができる。
 例えば部分領域は、特定のユーザに対して割り当てられる。ユーザは、割り当てられた部分領域にデータを格納する。部分領域単位でアクセス権限を設定できるようにすることで、ユーザは、自分に割り当てられた部分領域へのアクセスを、特定のエンティティのみに許可することが可能になる。
 なお、アクセス権限の設定方法(すなわち、権限情報70の生成方法)については後述する。
 図5は、第2記憶装置40に格納されている権限情報70をテーブル形式で例示する図である。図5のテーブルを、テーブル100と呼ぶ。テーブル100は、エンティティ識別情報102、客体識別情報104、及び権限情報70という3つの列を有する。エンティティ識別情報102は、エンティティの識別情報を示す。客体識別情報104は、客体の識別情報(データ識別情報、データグループ識別情報、又は領域識別情報)を示す。権限情報70は、対応するエンティティ識別情報102によって特定されるエンティティが、対応する客体識別情報104によって特定される客体に対して有する権限を表す。図5の権限情報70では、「read」は読み出し権限を有することを示し、「write」は書き込み権限を有することを示し、「read, write」は読み出しと書き込みの両方の権限を有することを示している。なお、読み出し権限と書き込み権限の他に、実行権限が設定可能であってもよい。
 ここで、アクセス権限の設定(すなわち、テーブル100のレコードの登録)は、アクセス制御装置2000を介して行われてもよいし、アクセス制御装置2000を介さずに行われてもよい。前者の場合、例えばアクセス制御装置2000は、アクセス権限の設定を受け付けるウェブサイトなどをユーザに対して提供する。ユーザは、当該ウェブサイトに必要な情報を入力することにより、アクセス権限の設定を行う。アクセス制御装置2000は、ユーザによって指定されたアクセス権限(テーブル100のレコード)を、ブロックチェーンストレージ40に格納する。なお、ブロックチェーンストレージにデータを格納する技術には、既存の技術を利用することができる。
<リクエスト20の取得:S102>
 リクエスト取得部2020は、リクエスト20を取得する。例えばリクエスト20は、アクセス制御装置2000と通信可能に接続されている任意の端末から送信される。この場合、アクセス制御装置2000は、ユーザによって操作させる端末と通信可能に接続されているサーバマシンなどで実現される。その他にも例えば、リクエスト取得部2020は、アクセス制御装置2000に接続されている入力デバイスを用いたリクエスト20の入力を受け付けてもよい。この場合、アクセス制御装置2000は、ユーザによって操作される端末などで実現される。
 リクエスト20は、少なくとも、対象エンティティ10のエンティティ識別情報と、アクセスの内容を表す情報(以下、アクセス内容情報)を含む。エンティティ識別情報は、エンティティ同士を互いに識別するために利用される情報である。例えばユーザをエンティティとして扱う場合、エンティティ識別情報には、ユーザの識別情報や、ユーザが属するユーザグループの識別情報などを利用することができる。端末をエンティティとして扱う場合、エンティティ識別情報には、端末の識別情報(IP アドレスや MAC アドレスなどのアドレス情報など)や、端末が属する端末グループの識別情報(ネットワークグループの識別情報など)などを利用することができる。
 アクセス内容情報は、リクエスト20によってリクエストされるアクセスの内容を表す。例えばアクセス内容情報は、アクセスされるデータのデータ識別情報と、そのデータに対するアクセスの種類を含む。アクセスの種類は、読み出しや書き込みなどである。また、アクセスの種類が書き込みである場合、アクセス内容情報には、書き込みの内容がさらに含まれる。
 なお、前述したように、権限情報70は、データのグループや部分領域に対応付けられていることもある。そこで、アクセス権限の有無の判定に、データのグループや部分領域の識別情報を利用してもよい。この場合、アクセス内容情報は、アクセスされるデータが属するグループのグループ識別情報や、アクセスされるデータが格納されている部分領域の領域識別情報をさらに示す。グループや部分領域についてのアクセス権限をチェックすることにより、その中に含まれる複数のデータにアクセスする際に、アクセス権限の有無の判定に要する時間を短くすることができる。
<権限情報70の取得:S104>
 権限情報取得部2040は権限情報70を取得する(S104)。前述したように、権限情報70は、アクセスの主体(エンティティ)と客体の組み合わせに対して定められる。そこで権限情報取得部2040は、リクエスト20に示されている主体と客体の識別情報の組み合わせに対応する権限情報70を取得する。
 リクエスト20において、アクセスの主体の識別情報は、対象エンティティのエンティティ識別情報である。一方、アクセスの客体の識別情報は、例えば、アクセス内容情報に含まれるデータ識別情報である。ただし前述したように、リクエスト20には、データグループ識別情報や領域識別情報が含まれていてもよい。この場合、アクセスの客体の識別情報として、データグループ識別情報や領域識別情報を利用する。
<<権限情報70の取得元について>>
 前述したように、権限情報70はブロックチェーンストレージ40に格納されている。そこで例えば、権限情報取得部2040は、リクエスト20に示されている主体と客体の識別情報の組み合わせに対応する権限情報70を、ブロックチェーンストレージ40から取得する。
 ただし、権限情報取得部2040は、ブロックチェーンストレージ40に格納されている情報の一部又は全てを予め別の記憶装置(以下、第3記憶装置)にコピーしておき、リクエスト20に応じて取得する権限情報70については、この第3記憶装置から取得するようにしてもよい。アクセス制御装置2000から第3記憶装置へのアクセスは、アクセス制御装置2000からブロックチェーンストレージ40へのアクセスよりも高速に行えることが好ましい。このように、高速にアクセスできる記憶装置に予め権限情報70をコピーしておくことにより、アクセス権限の判定をより高速に行えるようになる。例えば第3記憶装置は、アクセス制御装置2000内に設けられている記憶装置である。
 権限情報取得部2040は、第3記憶装置とブロックチェーンストレージ40の内容を同期させておく。なお、2つの記憶装置の内容を同期させる具体的な技術には、既存の技術を利用することができる。
<アクセス権限の判定:S106>
 権限判定部2060は、権限情報70を利用して、リクエスト20でリクエストされているアクセスが、対象エンティティ10のアクセス権限の範囲内であるか否かを判定する(S106)。より具体的には、権限判定部2060は、アクセス内容情報に示されている種類のアクセスが、取得した権限情報70において許可されているか否かを判定する。許可されている場合、対象エンティティ10のアクセス権限の範囲内であると判定される。一方、許可されていない場合、対象エンティティ10のアクセス権限の範囲内でないと判定される。
 ここで前述したように、リクエスト20は、アクセス権限を判定するための客体として、データグループや部分領域の識別情報を示していてもよい。この場合、データグループや部分領域の識別情報に対応する権限情報70が取得される。そこで例えば、権限判定部2060は、アクセス内容情報によって示される「データ、そのデータへのアクセスの種類」のペアについて、1)そのデータがアクセス権限の判定に利用されたデータグループ又は部分領域に属するか否か、及び2)その種類のアクセスが権限情報70において許可されているか否かという2つを判定する。
 アクセス内容情報によって示されるデータがアクセス権限の判定に利用されたデータグループ又は部分領域に属しており、なおかつ、アクセス内容情報によって示される種類のアクセスが権限情報70において許可されている場合、権限判定部2060は、リクエストされたアクセスが対象エンティティ10のアクセス権限の範囲内であると判定する。一方、アクセス内容情報によって示されるデータがアクセス権限の判定に利用されたデータグループ又は部分領域に属していない場合や、アクセス内容情報によって示される種類のアクセスが権限情報70において許可されていない場合、権限判定部2060は、リクエストされたアクセスが対象エンティティ10のアクセス権限の範囲内でないと判定する。
 なお、権限判定部2060では1)の判定を行わず、アクセス実行部2080が第1記憶装置30からアクセス対象のデータを探す範囲を、アクセス権限の判定に利用されたデータグループや部分領域に限定するようにしてもよい。このようにすることで、アクセス内容情報によって示されるデータが、アクセス権限の判定が行われたデータグループに属していない場合や、アクセス権限の判定が行われた部分領域に格納されていない場合、アクセス実行部2080はそのデータを見つけることができないため、そのデータにアクセスできない。よって、この方法でも、アクセス権限の範囲内でないアクセスが行われることを防ぐことができる。
<判定結果に基づくアクセスの制御:S108>
 リクエストされたアクセスが対象エンティティ10のアクセス権限の範囲内であると判定された場合(S106:YES)、アクセス実行部2080は、リクエストされたアクセスを実行する(S108)。一方、リクエストされたアクセスが対象エンティティ10のアクセス権限の範囲内でないと判定された場合(S106:NO)、アクセス実行部2080は、リクエスト20によって示されているアクセスを実行しない。
 後者の場合、例えばアクセス実行部2080は、アクセス権限が無いためにリクエストされたアクセスを実行することができない旨を示す通知を出力する。リクエスト20が他の端末からアクセス制御装置2000へ送信されたものである場合、アクセス制御装置2000は、その端末へ通知を送信する。一方、リクエスト20が入力デバイス等を用いてアクセス制御装置2000へ入力されたものである場合、アクセス制御装置2000は、アクセス制御装置2000に接続されているディスプレイ装置などに通知を出力する。
 なお、アクセス実行部2080は、リクエストされたアクセスを実行できた場合にも、所定の通知(アクセスを完了した旨の通知など)を出力してもよい。通知の出力先は、リクエストされたアクセスが実行されなかった場合の通知と同様である。
[実施例]
 例えばアクセス制御装置2000は、所定のサービスを利用しようとしているユーザの本人確認に利用することができる。以下、アクセス制御装置2000の実施例として、本人確認に利用されるアクセス制御装置2000について説明する。ただし、以下の説明はあくまで例示であり、アクセス制御装置2000の利用方法は、ユーザの本人確認に限定されない。
 図6は、実施例のアクセス制御装置2000を例示する図である。この例では、ユーザ110が、保険会社Cによって提供されている保険に加入する手続を行う。この際、保険会社Cは、ユーザ110の正当な個人情報(氏名や住所など)を取得する必要がある。そこで例えば、保険会社Cは、店舗Sにおいてユーザ110から個人情報の提供を受け、なおかつ、その個人情報がユーザ110の正当な個人情報であることの確認(すなわち、本人確認)を行う。言い換えれば、ユーザ110が虚偽の個人情報を提供していないかどうかの確認が行われる。
 アクセス制御装置2000を利用した本人確認を実現するため、ユーザの本人確認に利用できる情報を、予め第1記憶装置30に格納しておく。具体的には、ユーザの個人情報を、ユーザの認証情報と対応づけて第1記憶装置30に格納しておく。ユーザの認証情報は、ユーザ認証に利用できる任意の情報であり、例えば、顔画像などの生体情報や、アカウント情報(ユーザ名とパスワードのペア)などである。図6の例では、生体情報の一種である顔画像が認証情報として利用されている。
 例えば第1記憶装置30において、ユーザの認証情報と個人情報は、そのユーザに割り当てられた部分領域32に格納される。言い換えれば、同一の部分領域32に格納された認証情報と個人情報は、互いに対応づけられたものである。権限情報70は、部分領域32の識別情報に対応付けて定められる。
 保険会社Cを利用するユーザ110は、予め、ユーザ110の部分領域32への読み出し権限を、保険会社Cに対して与えておく。すなわち、「主体=保険会社C、客体=ユーザ110の部分領域32」という組み合わせに対応付けて、読み出し許可を示す権限情報70を、ブロックチェーンストレージ40に格納しておく。
 例えばユーザ110の本人確認は、以下の流れで行われる。まず、ユーザ110は、保険会社Cの店舗Sへ行く。そして、ユーザ110は、店舗Sの店舗端末120に対し、ユーザ110の認証情報と、ユーザ110の部分領域32の領域識別情報とを提供する。図6の例では、店舗端末120に設けられているカメラでユーザ110の顔を撮像することにより、店舗端末120に対してユーザ110の顔画像が提供される。
 店舗端末120は、アクセス制御装置2000へリクエスト20を送信する。このリクエスト20は、対象エンティティ10のエンティティ識別情報として保険会社Cの識別情報を示し、アクセス内容情報として「顔画像の読み出し」を示す。また、アクセス権限の判定のために、ユーザ110の部分領域32の領域識別情報を示す。
 権限情報取得部2040は、「主体=保険会社Cの識別情報、客体=ユーザ110の部分領域32の領域識別情報」に対応する権限情報70を取得する。権限判定部2060は、取得した権限情報70において読み出しが許可されているか否かを判定することにより、リクエストされたアクセスが保険会社Cのアクセス権限の範囲内であるか否かを判定する。
 前述したように、ユーザ110は、予め保険会社Cに対し、ユーザ110の部分領域32への読み出し権限を与えておく。そのため、リクエストされたアクセスは保険会社Cのアクセス権限の範囲内であると判定される。そこでアクセス実行部2080は、ユーザ110の部分領域32から、ユーザ110の顔画像を読み出す。
 アクセス制御装置2000は、店舗端末120から取得した顔画像(店舗Sでユーザ110を撮像することによって得られた顔画像)と、部分領域32から取得した顔画像とを照合する(これらが同一個人のものであるか否かを判定する)。これらが同一個人のものであると判定された場合、部分領域32に格納されている個人情報は、ユーザ110の正当な個人情報であると言える。そこでアクセス制御装置2000は、ユーザ110の部分領域32からユーザ110の個人情報を取得し、店舗端末120へ提供する。一方、これらが同一個人のものでないと判定された場合、アクセス制御装置2000は、認証に失敗した旨のエラー通知を店舗端末120へ送信する。なお、2つの顔画像が同一個人のものであるか否かを判定する方法には、既存の方法を利用できる。例えば制御装置2000は、2つの顔画像の類似度を算出し、その類似度を所定の閾値と比較する。類似度が所定の閾値以上である場合には、2つの顔画像が同一個人のものであると判定され、類似度が所定の閾値未満である場合には、2つの顔画像が同一個人のものでないと判定される。
 アクセス制御装置2000からユーザ110の個人情報を取得した場合、店舗端末120は、ユーザ110から提供された個人情報と、アクセス制御装置2000から提供された個人情報(すなわち、ユーザ110の部分領域32から読み出された個人情報)とが一致するか否かを判定する。これらが一致した場合、店舗端末120は、店舗Sにおいてユーザ110から提供された個人情報が正当なものであると判定する。すなわち、保険会社Cの店舗Sを訪れたユーザ110が本人であることを確認することができる。
 なお、店舗端末120は、必ずしも上述した個人情報の一致の確認を行わなくてもよい。例えば、個人情報の一致の確認は、アクセス制御装置2000によって行われてもよい。この場合、店舗端末120は、ユーザ110から提供された個人情報もアクセス制御装置2000へ送信する。そして、アクセス制御装置2000は、店舗端末120から提供された個人情報(すなわち、店舗Sにおいてユーザ110から提供された個人情報)と、ユーザ110の部分領域32から取得した個人情報とが一致するか否かの確認を行う。
 また、店舗端末120は、ユーザ110から個人情報を取得しなくてもよい。例えばこの場合、ユーザ110は、個人情報を申込用紙などに記入する。そして、店舗Sの店員が、店舗端末120がアクセス制御装置2000を経由して表示する、ユーザ110の部分領域32の個人情報を参照し、申込用紙に記入された個人情報と比較することで、ユーザ110の本人確認をする。
 その他にも例えば、保険会社Cは、ユーザ110に対して個人情報の入力や記入を求めず、店舗端末120が上述した流れでアクセス制御装置2000から取得する個人情報を、ユーザ110の個人情報として利用してもよい。この場合、ユーザ110は、顔画像などの認証情報を提供すれば自動的に個人情報を提供することができる。そのため、ユーザによる個人情報の入力の手間が軽減される。また、個人情報の入力誤りが生じることを防ぐことができる。
 上述した流れで本人確認に成功した場合、アクセス制御装置2000は、ユーザ110の認証情報と個人情報のペアの正当性が確認されたことを表す情報(以下、確認情報)を、ユーザ110の部分領域32に格納してもよい。例えば確認情報には、本人確認を行った会社や政府の機関など(以下、会社等)の識別情報が含まれる。以下、本人確認を行った会社等を確認者とも表記する。
 このような確認情報を格納することにより、その後にユーザ110が利用する他の会社等は、既にユーザ110について本人確認が行われている事実を利用して、ユーザ110へサービスを提供すべきかどうかの判断などを効率的に行うことができる。例えば、1)パスポートを発行する機関が、ユーザの部分領域32に格納されているパスポートのデータが正当であることを表す確認情報を部分領域32に格納する、2)運転免許証を発行する機関が、ユーザの部分領域32に格納されている運転免許証のデータが正当であることを表す確認情報を部分領域32に格納する、3)決済サービスを提供する会社が、ユーザの部分領域32に格納されている決済サービスについての情報(決済余力など)が正当であることを表す確認情報を部分領域32に格納する、などといった例が挙げられる。
 また、確認情報には、本人確認の後に行われた種々の手続等の結果を表す情報がさらに含まれてもよい。例えば前述した保険会社の例では、本人確認の後に締結された保険契約に関する情報を確認情報に含めることができる。
 なお、本人確認が行われた情報がその後に書き換えられることを防ぐため、本人確認が行われた情報に対して確認者の電子署名が付されてもよい。例えば、ユーザ110の認証情報と個人情報のペアが正当であることが確認されたら、確認者の秘密鍵を利用して生成された電子署名が当該ペアに対して付される。具体的には、確認者の識別情報、及び上記電子署名付きのデータを含む確認情報が、ユーザ110の部分領域32に格納される。
 その後にユーザ110の認証情報及び個人情報を利用したい他の会社等は、ユーザ110の部分領域32から上記確認情報を取得し、確認情報に示されている識別情報で特定される確認者の公開鍵を利用して、確認情報に含まれるデータに付されている電子署名の復号を行う。こうすることで、確認情報に含まれる電子署名付きのデータが、本人確認後に更新されていないこと、および他の確認者が当該個人情報の正当性を認めた事実を確認できる。なお、電子署名を利用してデータの書き換えが行われていないことを確認する具体的な方法については、既存の方法を利用することができる。
 以下、確認情報を利用する具体的なケースについて例示する。
<<確認情報を利用するケース1>>
 例えばユーザ110が、レンタカーを利用するとする。この場合、ユーザ110は予め、レンタカー会社Xが提供するウェブサイトで、レンタカーの予約をしておく。予約の際、ユーザ110は、認証情報や個人情報を提供する。その結果、ユーザの認証情報、ユーザの個人情報、予約日時、及び利用する車の種類などを含む予約情報が、レンタカー会社Xの予約管理サーバに保存される。また、ユーザ110は、ユーザ110の部分領域32への読み出し権限を、レンタカー会社Xに与えておく。そして、レンタカーを利用する当日、ユーザ110は、レンタカー会社Xの店舗Yへ行く。
 ユーザ110は、店舗Yでレンタルの手続を行う。具体的には、まず、店舗Yの店舗端末Rが、ユーザ110に関する予約情報をサーバから読み出す。そのために、店舗端末Rは、ユーザ110から認証情報を取得し、予約管理サーバへ送信する。例えば予約管理サーバは、予約日時が当日である予約情報の中から、店舗端末Rから提供された認証情報とマッチする認証情報を示すものを特定し、店舗端末Rへ提供する。
 また、店舗端末Rは、ユーザ110の本人確認を行う。具体的には、ユーザ110の部分領域32からユーザ110の個人情報を取得もしくは参照し、その個人情報と予約情報に含まれる個人情報が一致するか否かを確認する。なお、ユーザ110の部分領域32からユーザ110の個人情報を取得もしくは参照する処理の流れは、前述した保険会社Cのケースで説明した流れと同様である。
 さらに今回のケースでは、前述した保険会社Cにより、ユーザ110の部分領域32に確認情報が格納されている。この確認情報には、保険会社Cの識別情報に加えて、ユーザ110との間で締結された保険契約に関する情報も含むことができる。レンタカー会社Xは、この確認情報を利用して、ユーザ110が加入している保険について、保険会社Cによって正当性が保証されている情報を得ることができる。
 例えばレンタカー会社Xは、ユーザ110が加入している保険の情報を参照することにより、ユーザ110がレンタカーを利用するために一時的な保険へ加入する必要があるか否かをチェックするといったことが可能となる。
<<確認情報を利用するケース2>>
 例えば確認情報は、キャッシュレス決済に利用することができる。そのために、ユーザ110は、第1記憶装置30に格納されている生体情報(認証情報)を利用し、決済サービスを提供する会社Z(例えばクレジットカード会社)に対し、決済サービスの申込みを行う。その結果、ユーザ110の部分領域32には、会社Zが提供する決済サービスの情報を含む確認情報が格納される。なお、ここでいう「決済サービスの申込み」は、会社Zが提供する決済サービスを新規に申し込むものであってもよいし、既に会社Zのクレジットカード等の媒体を利用している状況において、そのような媒体無しに生体情報のみで決済を行えるようにする追加の申込みであってもよい。
 決済サービスが利用可能になったら、ユーザ110は、その決済サービスを利用できる店舗で買い物をする。店舗の決済端末P1は、決済を行うために、ユーザ110の生体情報を取得する(例えばユーザ110の顔をカメラで撮像する)。決済端末P1は、その生体情報を含むリクエストをアクセス制御装置2000へ送信する。アクセス権限の確認後、アクセス制御装置2000は、ユーザ110の部分領域32から生体情報を取得し、決済端末P1から提供されたユーザ110の生体情報との照合を行う。
 決済端末P1から提供されたユーザ110の生体情報とユーザ110の部分領域32から取得した生体情報とが同一個人のものであると判定されたら(すなわち、認証に成功したら)、アクセス制御装置2000は、会社Zによって部分領域32に格納された確認情報を取得し、決済端末P1に提供する。決済端末P1は、確認情報に含まれる決済サービスの情報を利用して、決済を実行する。このような流れにより、ユーザ110は、現金やカードなどの媒体を提示することなく、決済を行うことができる。
 なお、上述の決済サービスを実現するためには、上記決済端末P1からのリクエストに応じてユーザ110の部分領域32からデータを読み出すことができるように、アクセス権限を設定しておく必要がある。そこで例えば、会社Zから提供される決済サービスを受け入れる各店舗のグループを表すエンティティを用意し、そのエンティティに対し、部分領域32への読み出しアクセスの権限を与えておく。会社Zから提供される決済サービスを受け入れる各店舗の決済端末は、アクセス制御装置2000へリクエスト20を送信する際、上述したエンティティとしてリクエストを送信する。こうすることで、複数の店舗に対して一括でアクセス権限を設定できる。
<<確認情報を利用するケース3>>
 例えば確認情報は、MaaS(Mobility as a Service)を実現するために利用される。MaaS では、飛行機、電車、又はバスなどのように、それぞれ異なる事業者によって提供される交通手段を乗り継いで移動するようなケースにおいて、事業者を跨がって一括のサービスを受けることが可能となる。例えば、特定の範囲にある様々な交通手段を、一日定額で乗り放題にするといったサービスが提供される。
 例えばユーザ110は、前述した保険会社Cと保険の契約を締結する流れと同様の流れで、上述した MaaS のサービスの利用契約を行う。ここでいうサービスの利用契約とは、指定した期間に指定した範囲で提供される各交通手段を自由に利用できるようにするための契約である。サービスの契約が完了したら、ユーザ110の部分領域32に、ユーザが利用できるサービスの契約内容を含む確認情報が格納される。
 上記サービスを利用するために、ユーザ110は、乗り物Vに設置されている決済端末P2に対し、認証情報を提供する(決済端末P2がユーザ110の顔をカメラで撮像する)。決済端末P2は、取得した認証情報を含むリクエスト20を、アクセス制御装置2000に送信する。アクセス制御装置2000は、認証に成功すると、上述した確認情報を部分領域32から読み出して、決済端末P2に提供する。
 決済端末P2は、取得した確認情報に含まれているサービスの契約内容を参照し、乗り物Vの利用が契約の範囲内であるか否かを判定する。契約の範囲内である場合、決済端末P2は、ユーザ110に代金の支払いを求めることなく、ユーザ110に乗り物Vの利用を許可する(例えば、入り口のゲートを開く)。一方、契約したサービスの範囲内でない場合、決済端末P2は、ユーザ110に対し、代金の支払いを請求する。
 なお、上述の Maas のサービスを実現するためには、決済端末P2からのリクエストに応じてユーザ110の部分領域32からデータを読み出すことができるように、アクセス権限を設定しておく必要がある。そこで例えば、前述した MaaS のサービスに加入している各交通手段の事業者のグループを表すエンティティを用意し、そのエンティティに対し、部分領域32への読み出しアクセスの権限を与えておく。MaaS のサービスに加入している各交通手段の決済端末等は、アクセス制御装置2000へリクエスト20を送信する際、上述したエンティティとしてリクエストを送信する。こうすることで、複数の事業者に対して一括してアクセス権限を設定できる。
 上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
1. 第1記憶装置に格納されているデータへのアクセスのリクエストを取得するリクエスト取得部と、
 前記第1記憶装置へのアクセスに関するアクセス権限を表す権限情報が格納されている第2記憶装置から前記権限情報を取得する権限情報取得部と、
 前記リクエストの主体である対象エンティティについての前記権限情報を用いて、前記アクセスが前記対象エンティティのアクセス権限の範囲内であるか否かを判定する権限判定部と、
 前記アクセスが前記対象エンティティのアクセス権限の範囲内であると判定された場合、前記アクセスを実行するアクセス実行部と、を有し、
 前記第2記憶装置はブロックチェーンストレージである、アクセス制御装置。
2. 前記第1記憶装置にはユーザの認証情報が格納されており、
 前記リクエストが示すアクセスは、ユーザの認証情報の読み出しを含み、
 前記リクエストには、認証対象のユーザの認証情報が含まれており、
 前記アクセス実行部は、前記リクエストに含まれる認証情報と、前記第1記憶装置に対するアクセスによって読み出した認証情報とを比較することにより、前記認証対象のユーザについて認証を行う、1.に記載のアクセス制御装置。
3. 前記認証情報は生体情報である、2.に記載のアクセス制御装置。
4. 前記アクセス実行部は、前記認証の結果を表す通知を出力し、
 前記通知には、前記第1記憶装置から取得した認証情報が含まれない、2.又は3.に記載のアクセス制御装置。
5. 前記第1記憶装置において、ユーザごとに部分記憶領域が割り当てられており、
 前記第2記憶装置において、エンティティの識別情報と前記部分記憶領域の識別情報の組み合わせに対応付けて、そのエンティティがその部分記憶領域に対して持つアクセス権限を表す前記権限情報が格納されている、1.から4いずれか一つに記載のアクセス制御装置。
6. 第1のユーザの前記部分記憶領域に、前記第1のユーザの認証情報と個人情報が格納されており、
 前記アクセス実行部は、前記第1のユーザの認証に成功し、かつ、前記第1のユーザの個人情報が正当であることが確認された場合に、当該確認の結果を表す確認情報を、前記部分記憶領域に格納する、5.に記載のアクセス制御装置。
7. コンピュータによって実行される制御方法であって、
 第1記憶装置に格納されているデータへのアクセスのリクエストを取得するリクエスト取得ステップと、
 前記第1記憶装置へのアクセスに関するアクセス権限を表す権限情報が格納されている第2記憶装置から前記権限情報を取得する権限情報取得ステップと、
 前記リクエストの主体である対象エンティティについての前記権限情報を用いて、前記アクセスが前記対象エンティティのアクセス権限の範囲内であるか否かを判定する権限判定ステップと、
 前記アクセスが前記対象エンティティのアクセス権限の範囲内であると判定された場合、前記アクセスを実行するアクセス実行ステップと、を有し、
 前記第2記憶装置はブロックチェーンストレージである、制御方法。
8. 前記第1記憶装置にはユーザの認証情報が格納されており、
 前記リクエストが示すアクセスは、ユーザの認証情報の読み出しを含み、
 前記リクエストには、認証対象のユーザの認証情報が含まれており、
 前記アクセス実行ステップにおいて、前記リクエストに含まれる認証情報と、前記第1記憶装置に対するアクセスによって読み出した認証情報とを比較することにより、前記認証対象のユーザについて認証を行う、7.に記載の制御方法。
9. 前記認証情報は生体情報である、8.に記載の制御方法。
10. 前記アクセス実行ステップにおいて、前記認証の結果を表す通知を出力し、
 前記通知には、前記第1記憶装置から取得した認証情報が含まれない、8.又は9.に記載の制御方法。
11. 前記第1記憶装置において、ユーザごとに部分記憶領域が割り当てられており、
 前記第2記憶装置において、エンティティの識別情報と前記部分記憶領域の識別情報の組み合わせに対応付けて、そのエンティティがその部分記憶領域に対して持つアクセス権限を表す前記権限情報が格納されている、7.から10いずれか一つに記載の制御方法。
12. 第1のユーザの前記部分記憶領域に、前記第1のユーザの認証情報と個人情報が格納されており、
 前記アクセス実行ステップにおいて、前記第1のユーザの認証に成功し、かつ、前記第1のユーザの個人情報が正当であることが確認された場合に、当該確認の結果を表す確認情報を、前記部分記憶領域に格納する、11.に記載の制御方法。
13. 7.から12に記載の制御方法をコンピュータに実行させるプログラム。
10 対象エンティティ
20 リクエスト
30 第1記憶装置
32 部分領域
40 第2記憶装置、ブロックチェーンストレージ
70 権限情報
100 テーブル
102 エンティティ識別情報
104 客体識別情報
110 ユーザ
120 店舗端末
1000 計算機
1020 バス
1040 プロセッサ
1060 メモリ
1080 ストレージデバイス
1100 入出力インタフェース
1120 ネットワークインタフェース
2000 アクセス制御装置
2020 リクエスト取得部
2040 権限情報取得部
2060 権限判定部
2080 アクセス実行部

Claims (13)

  1.  第1記憶装置に格納されているデータへのアクセスのリクエストを取得するリクエスト取得部と、
     前記第1記憶装置へのアクセスに関するアクセス権限を表す権限情報が格納されている第2記憶装置から前記権限情報を取得する権限情報取得部と、
     前記リクエストの主体である対象エンティティについての前記権限情報を用いて、前記アクセスが前記対象エンティティのアクセス権限の範囲内であるか否かを判定する権限判定部と、
     前記アクセスが前記対象エンティティのアクセス権限の範囲内であると判定された場合、前記アクセスを実行するアクセス実行部と、を有し、
     前記第2記憶装置はブロックチェーンストレージである、アクセス制御装置。
  2.  前記第1記憶装置にはユーザの認証情報が格納されており、
     前記リクエストが示すアクセスは、ユーザの認証情報の読み出しを含み、
     前記リクエストには、認証対象のユーザの認証情報が含まれており、
     前記アクセス実行部は、前記リクエストに含まれる認証情報と、前記第1記憶装置に対するアクセスによって読み出した認証情報とを比較することにより、前記認証対象のユーザについて認証を行う、請求項1に記載のアクセス制御装置。
  3.  前記認証情報は生体情報である、請求項2に記載のアクセス制御装置。
  4.  前記アクセス実行部は、前記認証の結果を表す通知を出力し、
     前記通知には、前記第1記憶装置から取得した認証情報が含まれない、請求項2又は3に記載のアクセス制御装置。
  5.  前記第1記憶装置において、ユーザごとに部分記憶領域が割り当てられており、
     前記第2記憶装置において、エンティティの識別情報と前記部分記憶領域の識別情報の組み合わせに対応付けて、そのエンティティがその部分記憶領域に対して持つアクセス権限を表す前記権限情報が格納されている、請求項1から4いずれか一項に記載のアクセス制御装置。
  6.  第1のユーザの前記部分記憶領域に、前記第1のユーザの認証情報と個人情報が格納されており、
     前記アクセス実行部は、前記第1のユーザの認証に成功し、かつ、前記第1のユーザの個人情報が正当であることが確認された場合に、当該確認の結果を表す確認情報を、前記部分記憶領域に格納する、請求項5に記載のアクセス制御装置。
  7.  コンピュータによって実行される制御方法であって、
     第1記憶装置に格納されているデータへのアクセスのリクエストを取得するリクエスト取得ステップと、
     前記第1記憶装置へのアクセスに関するアクセス権限を表す権限情報が格納されている第2記憶装置から前記権限情報を取得する権限情報取得ステップと、
     前記リクエストの主体である対象エンティティについての前記権限情報を用いて、前記アクセスが前記対象エンティティのアクセス権限の範囲内であるか否かを判定する権限判定ステップと、
     前記アクセスが前記対象エンティティのアクセス権限の範囲内であると判定された場合、前記アクセスを実行するアクセス実行ステップと、を有し、
     前記第2記憶装置はブロックチェーンストレージである、制御方法。
  8.  前記第1記憶装置にはユーザの認証情報が格納されており、
     前記リクエストが示すアクセスは、ユーザの認証情報の読み出しを含み、
     前記リクエストには、認証対象のユーザの認証情報が含まれており、
     前記アクセス実行ステップにおいて、前記リクエストに含まれる認証情報と、前記第1記憶装置に対するアクセスによって読み出した認証情報とを比較することにより、前記認証対象のユーザについて認証を行う、請求項7に記載の制御方法。
  9.  前記認証情報は生体情報である、請求項8に記載の制御方法。
  10.  前記アクセス実行ステップにおいて、前記認証の結果を表す通知を出力し、
     前記通知には、前記第1記憶装置から取得した認証情報が含まれない、請求項8又は9に記載の制御方法。
  11.  前記第1記憶装置において、ユーザごとに部分記憶領域が割り当てられており、
     前記第2記憶装置において、エンティティの識別情報と前記部分記憶領域の識別情報の組み合わせに対応付けて、そのエンティティがその部分記憶領域に対して持つアクセス権限を表す前記権限情報が格納されている、請求項7から10いずれか一項に記載の制御方法。
  12.  第1のユーザの前記部分記憶領域に、前記第1のユーザの認証情報と個人情報が格納されており、
     前記アクセス実行ステップにおいて、前記第1のユーザの認証に成功し、かつ、前記第1のユーザの個人情報が正当であることが確認された場合に、当該確認の結果を表す確認情報を、前記部分記憶領域に格納する、請求項11に記載の制御方法。
  13.  請求項7から12に記載の制御方法をコンピュータに実行させるプログラム。
PCT/JP2019/050161 2019-12-20 2019-12-20 アクセス制御装置、制御方法、及びプログラム WO2021124568A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2019/050161 WO2021124568A1 (ja) 2019-12-20 2019-12-20 アクセス制御装置、制御方法、及びプログラム
US17/783,077 US20230024635A1 (en) 2019-12-20 2019-12-20 Access control apparatus, control method, and non-transitory computer readable medium
JP2021565303A JP7521540B2 (ja) 2019-12-20 2019-12-20 アクセス制御装置、制御方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/050161 WO2021124568A1 (ja) 2019-12-20 2019-12-20 アクセス制御装置、制御方法、及びプログラム

Publications (1)

Publication Number Publication Date
WO2021124568A1 true WO2021124568A1 (ja) 2021-06-24

Family

ID=76478708

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/050161 WO2021124568A1 (ja) 2019-12-20 2019-12-20 アクセス制御装置、制御方法、及びプログラム

Country Status (3)

Country Link
US (1) US20230024635A1 (ja)
JP (1) JP7521540B2 (ja)
WO (1) WO2021124568A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220414726A1 (en) * 2021-06-23 2022-12-29 Human Mode, L.L.C. Blockchain-based permissions ledger for metaverse implementation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013045278A (ja) * 2011-08-24 2013-03-04 Nomura Research Institute Ltd アクセス管理装置
JP2017195627A (ja) * 2017-06-23 2017-10-26 株式会社エヌ・ティ・ティ・データ 情報処理装置、情報処理方法およびプログラム
US20190294817A1 (en) * 2018-03-26 2019-09-26 Commissariat A L'energie Atomique Et Aux Energies Alternatives Method and system for managing access to personal data by means of a smart contract

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3033385A1 (en) * 2016-08-23 2018-03-01 BBM Health LLC Blockchain-based mechanisms for secure health information resource exchange
CN107480555B (zh) 2017-08-01 2020-03-13 中国联合网络通信集团有限公司 基于区块链的数据库访问权限控制方法及设备
CN109286616B (zh) 2018-09-10 2021-04-16 湖南智慧政务区块链科技有限公司 基于区块链技术的权限校验方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013045278A (ja) * 2011-08-24 2013-03-04 Nomura Research Institute Ltd アクセス管理装置
JP2017195627A (ja) * 2017-06-23 2017-10-26 株式会社エヌ・ティ・ティ・データ 情報処理装置、情報処理方法およびプログラム
US20190294817A1 (en) * 2018-03-26 2019-09-26 Commissariat A L'energie Atomique Et Aux Energies Alternatives Method and system for managing access to personal data by means of a smart contract

Also Published As

Publication number Publication date
JPWO2021124568A1 (ja) 2021-06-24
JP7521540B2 (ja) 2024-07-24
US20230024635A1 (en) 2023-01-26

Similar Documents

Publication Publication Date Title
EP3632073B1 (en) Trustworthy data exchange using distributed databases
US6122737A (en) Method for using fingerprints to distribute information over a network
US20070136202A1 (en) Personal-information managing apparatus, method of providing personal information, computer product, and personal-information-providing system
US11843599B2 (en) Systems, methods, and non-transitory computer-readable media for secure biometrically-enhanced data exchanges and data storage
WO2007137368A1 (en) Method and system for verification of personal information
JP2004534988A (ja) 機密ネットワークアクセス
CN109274650B (zh) 一种电子影像调阅的管理系统及方法
CN109992976A (zh) 访问凭证验证方法、装置、计算机设备及存储介质
WO2016144632A2 (en) Method and apparatus for remote identity proofing service issuing trusted identities
WO2020013893A1 (en) Digital identity escrow methods and systems
US20150101065A1 (en) User controlled data sharing platform
JP7171504B2 (ja) 個人情報管理サーバ、個人情報管理方法及び個人情報管理システム
US11610196B1 (en) Officially authorized virtual identification cards
US12047511B2 (en) Information processing system and information processing method
WO2021124568A1 (ja) アクセス制御装置、制御方法、及びプログラム
JP2005208993A (ja) 利用者認証システム
CN112597452A (zh) 应用程序接口调用方法、装置、存储介质及电子设备
JP2005339308A (ja) 生体認証と連携したプライバシー管理システムおよびそのための認証サーバ
JP7567674B2 (ja) 入場管理システム、入場管理装置、入場管理方法、及びコンピュータプログラム
JP6828311B2 (ja) 情報処理システム、情報処理装置及びプログラム
JP2009086890A (ja) 申請受理システムおよび申請受理方法
JP7521185B2 (ja) 決済装置、制御方法、プログラム、及びシステム
KR20210017308A (ko) 디바이스 등록 및 데이터 분산저장을 이용하는 2차인증 서비스 제공방법
KR20210058091A (ko) 블록체인 기반 위변조 방지 및 인증마크 부여를 통한 이력관리 시스템 제공방법
KR100544795B1 (ko) 공인인증서를 이용한 무인 증명서 발급 방법

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: 19956301

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021565303

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: 19956301

Country of ref document: EP

Kind code of ref document: A1