WO2016167249A1 - アクセス制御装置、およびアクセス制御方法 - Google Patents

アクセス制御装置、およびアクセス制御方法 Download PDF

Info

Publication number
WO2016167249A1
WO2016167249A1 PCT/JP2016/061801 JP2016061801W WO2016167249A1 WO 2016167249 A1 WO2016167249 A1 WO 2016167249A1 JP 2016061801 W JP2016061801 W JP 2016061801W WO 2016167249 A1 WO2016167249 A1 WO 2016167249A1
Authority
WO
WIPO (PCT)
Prior art keywords
access control
attribute
access
resource
query
Prior art date
Application number
PCT/JP2016/061801
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 株式会社日立製作所
Publication of WO2016167249A1 publication Critical patent/WO2016167249A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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

Definitions

  • the present invention relates to a technique for controlling access to data.
  • Data access control is a technology that controls access to data only for access to limited data.
  • access control defines a rule for controlling access called an access control policy, determines whether access is possible according to this rule, and controls access according to the determination.
  • access control with fine granularity may be desired for users and resources.
  • attribute-based access control ABAC
  • the attribute-based access control can perform access control with a complicated access control policy, and can realize access control with fine granularity.
  • Patent Document 2 discloses a technique for performing access control by dynamically correcting a query based on an external policy as an access control method having better performance.
  • an object of the present invention is to provide an access control apparatus and an access control method capable of executing access control based on an access control policy more efficiently and broadly than before without complicating a query statement.
  • the present invention provides an access control apparatus for controlling access to a resource by attribute-based access control, wherein the first subject attribute and access request accompanying the access requester Information including a first object attribute associated with the target resource and a first action attribute associated with the operation of the resource, wherein the first information associated with the access request to the resource and the resource
  • a first access control unit that controls access to the resource by changing a query of the access request based on a first access control policy that defines an access control rule, and attached to the access requester
  • Second subject attributes and second object attributes associated with the resource for which access is requested Information including a second action attribute associated with the operation of the resource and based on second information associated with the access request and a second access control policy defining the access control rule,
  • a second access control unit that performs the access control by changing a response query to the query, and configured as an access control device.
  • the present invention can also be understood as an access control method performed by the access control device.
  • access control based on an access control policy can be performed more efficiently and broadly than before without complicating a query statement.
  • the figure which shows the system example of embodiment which concerns on this invention Schematic which shows an access control apparatus. Schematic which shows a resource delivery management server. The figure which shows the structure of the attribute information of an access request. The figure which shows an example of the table of a subject attribute database. The figure which shows an example of the table of a resource database. The figure which shows the structure of the message
  • FIG. 1 is an overall configuration diagram of an access control apparatus 100 to which an access control apparatus and an access control method according to the present invention are applied, and a system related thereto.
  • the access control apparatus is connected to the user terminal 200 via the network 1000.
  • the access control device is connected to the resource distribution management server 300.
  • FIG. 2 is a schematic diagram of the access control apparatus 100 in the present embodiment.
  • the access control device 100 includes a control unit 110, a data transmission / reception unit 120, a storage unit 130, a global attribute reverse calculation unit 140, and a local policy determination unit 150.
  • the access control apparatus is an apparatus that is installed between communication paths between the user terminal 200 and the resource distribution management server 300 and controls access from the user terminal to the resource distribution management server.
  • the access control device 100 is controlled by the control unit 110.
  • the access control apparatus 100 is connected to the network 1000 and the resource distribution management server 300 through the data transmission / reception unit 120, and exchanges data with the user terminal 200 and the data distribution apparatus 300.
  • the storage unit 130 can store data, and stores an access control policy 160 and a subject attribute database 170.
  • User terminal 200 is a terminal used by a system user. Using the user terminal, the user accesses the resource distribution management server 300 to view, change, manage, etc. the resource.
  • FIG. 3 shows the resource distribution management server 300 connected to the access control device 100.
  • the resource distribution management server 300 includes a control unit 310, a data transmission / reception unit 320, and a storage unit 330.
  • the resource distribution management server 300 is a server that distributes and manages resources based on a received query request statement.
  • the resource distribution management server 300 is controlled by the control unit 310.
  • the resource distribution management server 300 is connected to the access control apparatus 100 through the data transmission / reception unit 320, exchanges information with the access control apparatus 100, and further exchanges information with the user terminal 200 through the access control apparatus 100. Exchange.
  • the storage unit 330 stores a resource database 340.
  • the resource database 340 is a database that holds resources 350 and object attributes 420 that are subject to access control. Details of the resource database 340 will be described later.
  • the resource distribution management server 300 connected to the access control apparatus 100 there is a relational database management system (RDBMS).
  • RDBMS relational database management system
  • the query language interpreted by the server may be SQL (Structured Query) Language.
  • the resource distribution management server 300 connected to the access control apparatus 100 is not limited to the RDBMS.
  • Other examples include WebFeature Service and WebMapService defined by OpenGeospatialConsortium.
  • a user of a system that requests access to the resource 350 on the resource distribution management server 300 operates the user terminal 200 and transmits an access request message 700 as an access request message 700. Then, the access control device 100 receives the access request message, and the access control device relays communication between the user terminal 200 and the resource distribution management server 300 to change the communication data, so that the resource by the user Access to is controlled. Access control in the access control apparatus 100 is performed based on access permission determination obtained by applying the access control policy 160 to the attribute information 400 of the access request associated with the access request from the user.
  • FIG. 7 illustrates an example of the access request message 700.
  • the access request message includes a user ID 710 and a query request statement 720.
  • the user ID 710 is the user ID of the user who is operating the user terminal, and matches the value of the user ID subject attribute value 411 described later.
  • FIG. 7 shows a case where the user ID is included in the access request message, it may be a secret category or department to be described later as a subject attribute value.
  • an object attribute value, an action attribute value, and an environment attribute value may be used. In other words, it may be information that conceptually classifies access requests to resources and can be a key for access control.
  • the query request statement 720 is a query command described in a query language that the resource distribution management server 300 interprets a user access request to a resource.
  • the query language may be SQL, for example, OQL (Object Query Language), RDF (Resource Description Framework), SPARQL (SPARQL Protocol and RDF Query Language), OWS ( Other query languages used in Web services such as OGC (Web Services) can also be used.
  • OQL Object Query Language
  • RDF Resource Description Framework
  • SPARQL SPARQL Protocol and RDF Query Language
  • OWS Other query languages used in Web services such as OGC (Web Services) can also be used.
  • OGC Web Services
  • FIG. 4 shows the structure of access request attribute information 400.
  • the access request attribute information 400 is meta information associated with a user access request to one resource 350, and includes a subject attribute 410, an object attribute 420, an action attribute 430, and an environment attribute 440. Become. Since these attributes are conceptually classified access requests as described above, it is not always necessary to have these attributes.
  • the subject attribute 410 is an attribute associated with the user who has requested access.
  • the subject attribute 410 includes zero or one or more subject attribute values.
  • the subject attribute 410 includes three types: a user ID subject attribute value 411, a secret category subject attribute value 412, and a department subject attribute value 413.
  • the user ID subject attribute value 411 is an ID on the user's system.
  • the secret classification subject attribute value 412 is a value indicating the level of confidentiality of resources that can be handled by the user, and takes a value of “secret” or “no classification” for each user.
  • the department subject attribute value 413 represents the department to which the user belongs, and takes one of the values of “sales department” and “development department” for each user.
  • the types and values of the subject attribute values are not limited to the above, and arbitrary types and values of attribute values can be defined and used as described above.
  • other types include a subject attribute value representing the user age, a subject attribute value representing the residence, a subject attribute value representing the mail address, and the like.
  • the object attribute 420 is an attribute associated with the resource 350 that is requested to be accessed.
  • the object attribute 420 includes two items: a global object attribute 421 and a local object attribute 422.
  • the global object attribute 421 includes zero or one or more global object attribute values.
  • the local object attribute 422 includes zero or one or more local object attribute values.
  • the global object attribute 421 includes one of the secret section global object attribute values 423.
  • the secret category global object attribute value 423 is a value representing the level of data secrecy, and takes a value of “secret” or “no category” for each resource.
  • the local object attribute 422 includes one of the data price local object attribute values 424.
  • the data price local object attribute value 424 is a value indicating the value of data in a yen price, and takes an arbitrary integer value of 0 or more for each resource.
  • the types and values of the attribute values of the global object attribute 421 and the local object attribute 422 are not limited to the above, and any attribute value type and value can be defined and used. Can do. For example, as other types, a global object attribute value indicating a resource type as a global object attribute value or the like, and as a local object attribute value, a local object attribute value indicating a belonging department or the like can be cited.
  • the action attribute 430 is an attribute associated with the operation requested by the access request.
  • the action attribute 430 is composed of zero or one or more action attribute values.
  • the action attribute 430 includes one type of operation content action attribute value 431.
  • the operation content action attribute value 431 is an attribute value indicating the operation content, and takes either “read” or “write”.
  • the type and value of the action attribute value are not limited to the above, and any attribute value type and value can be defined and used.
  • another type includes an action attribute value indicating the presence or absence of access urgency.
  • the environment attribute 440 is an attribute associated with the environment for which an access request is made.
  • the environment attribute 440 includes zero or one or more environment attribute values.
  • the environment attribute 440 includes one type of access time environment attribute value.
  • the access time environment attribute value is an attribute value indicating the time when an access request is made, and takes a date and time value.
  • environmental attribute values and their values are not limited to the above, and any type of attribute value can be defined and used.
  • any type of attribute value can be defined and used.
  • the subject attribute database 170 is a database that stores subject attributes 410 for users of the system.
  • FIG. 5 shows an example of the table 500 of the subject attribute database 170.
  • One record of the table corresponds to the subject attribute 410 of one user, and one subject attribute value is stored in one field of the record.
  • the user ID subject attribute value is stored in the first column
  • the secret subject attribute value is stored in the second column
  • the department subject attribute value to which the department belongs is stored in the third column.
  • “User 1” is “no division” (that is, access to a resource whose secret classification is “secret” is not allowed) and belongs to “development department”. Show.
  • the resource database 340 stores the resources 350 to be distributed and managed by the resource distribution management server 300 and the object attributes 420.
  • FIG. 6 shows an example of the table 600 of the resource database 340.
  • One record of the table corresponds to one resource 350, and a reference to actual data of the resource and an object attribute 420 of the resource are stored.
  • the object attribute 420 includes the global object attribute 421 and the local object attribute 422.
  • the secret global object attribute value 423 of the global object attribute of the resource is stored in the “secret global object attribute value” field 610 that is one field of the record.
  • “resource 1” is associated with “reference to document 1 file” (for example, access command or link to document 1) information, and access of “resource 1” is “no division”. Indicates that you are not restricted as.
  • the resource price local object attribute value 424 of the local object attribute value is embedded in the actual data of the resource, specifically, in the “Price” tag 620.
  • FIG. 6 shows that, for example, 5,000 yen is set as the attribute value in the Price tag of the “document 1 file”.
  • the global object attribute value is stored in the field of the table of the resource database 340 and the local object attribute value is embedded in the resource data, but the storage location of the global object attribute value and the local object attribute value Is not limited to this example. Also, as with other attributes such as subject attributes, the types and values of each object attribute value are not limited to the above, and any attribute value type and value can be defined and used. These object attribute values can be stored in any location in the resource database.
  • the access control policy 160 is a set of rules for determining whether or not to allow access based on the attribute information 400 of the access request from the user, and includes a global policy 161 and a local policy 162.
  • the global policy 161 is a set of rules that determine whether access is possible based on the subject attribute 410, the global object attribute 421, the action attribute 430, and the environment attribute 440 of the access request.
  • the following rule is used as an example of the rule belonging to the global policy.
  • Global policy 1 The secret category subject attribute value 412 of the subject attribute 410 must be at the same level or higher than the secret category global object attribute value 423 of the global object attribute 421.
  • the global policy 1 is an example of a global policy rule.
  • the global policy rule is not limited to this.
  • the local policy 162 is a set of rules that determines whether or not access is possible based on the subject attribute 410, the object attribute 420, the action attribute 430, and the environment attribute 440 of the access request.
  • the following rule is used as an example of the rule belonging to the local policy.
  • the resource price local object attribute value 424 of the local object attribute 422 must be 100,000 or less.
  • the local policy 1 is an example of a local policy rule. However, the local policy rule is not limited to this.
  • the access control policy 160, the global policy 161, and the local policy 162 can be expressed as functions each having a Boolean value in the range.
  • a variable representing attribute information is defined.
  • a variable representing a subject attribute is defined as a subject attribute variable s
  • a variable representing an object attribute is defined as an object attribute variable o.
  • a variable representing the global object attribute is defined as a global object attribute variable og
  • a variable representing the local object attribute is defined as a local object attribute variable ol.
  • a variable representing an action attribute is defined as an action attribute variable a
  • a variable representing an environment attribute is defined as an environment attribute variable e.
  • the access control policy function f is called a factorized structure.
  • the global policy function fg describes a global policy that does not include a local object attribute variable but includes a global object attribute variable as a Boolean function.
  • the access request query of the user terminal 200 is rewritten so as to be limited to only global object attributes that satisfy the global policy in the access control apparatus 100, and then transmitted to the resource distribution server 300.
  • the local policy function fl describes a local policy including a local object attribute variable and a global object attribute variable as a Boolean function.
  • the access control apparatus 100 further determines whether or not the resource can be accessed by a local policy, and limits the resource to satisfy the local policy. Access is allowed.
  • the global policy 161 corresponds to the first access control policy described in the claims
  • the local policy 162 corresponds to the second access control policy described in the claims.
  • the local policy determination unit 150 is given the subject attribute 410, the object attribute 420, the action attribute 430, and the environment attribute 440 of the access request, and evaluates whether or not access is possible according to the local policy 162. That is, the value of the local policy function fl (s, o, a, e) is evaluated.
  • FIG. 9 is a diagram showing a processing image of access control performed in this system. Specifically, as will be described later with reference to FIG. 8, in this system, as shown in FIG. 9, when an access request is transmitted from the user terminal 200 to the access control apparatus 100, the global attribute back calculation of the access control apparatus 100 is performed. First, the unit 140 refers to the global policy 161 to grasp the global object attribute, and transmits the access request changed to satisfy the global policy that can be described in the query language to the resource distribution management server 300. When it is determined that the access request transmitted from the user terminal 200 does not satisfy the global policy, the global attribute reverse calculation unit 140 notifies the user terminal 200 that access to the resource is not accepted.
  • the resource distribution management server 300 transmits, to the access control device 100, a query language response statement describing the resource after filtering the accessible resource with the global policy in accordance with the access request received from the access control device 100.
  • the local policy determination unit 150 of the access control device 100 transmits only resources that have been further filtered by the local policy to the user terminal 200 among the resources accessed by the response sentence in the query language received from the resource distribution management server 300. Send.
  • the access control device 100 described above includes, for example, a CPU (Central Processing Unit) 1010, a memory 1020, an external storage device 1030 such as an HDD (Hard Disk Drive), and a CD-ROM (see FIG. 10).
  • Read / write device 1050 for reading / writing information from / to a portable storage medium 1040 such as Compact Disk / Read / Only Memory / DVD-ROM (Digital Versatile / Disk / Read Only Memory) and NIC (Network Interface) for connection to a communication network
  • a general computer 1000 including a communication device 1060 such as a card).
  • the storage unit 130 can be realized by the CPU 1010 using the memory 1020 or the external storage device 1030, and the control unit 110 stores the first predetermined program stored in the external storage device 1030 in the memory 1020.
  • the global attribute inverse calculation unit 140 can be realized by loading the second predetermined program stored in the external storage device 1030 into the memory 1020 and executing it by the CPU 1010.
  • the local policy determination unit 150 can be realized by loading the third predetermined program stored in the external storage device 1030 into the memory 1020 and executing it by the CPU 1010. By using the communication device 1060 by the CPU 1010 Is the current possible.
  • the first, second, and third predetermined programs are downloaded from the storage medium 1040 via the reading device 1050 or from the network via the communication device 1060 to the external storage device 1030 and then stored in the memory. It may be loaded on the computer 1020 and executed by the CPU 1010. Alternatively, the program may be directly loaded onto the memory 1020 from the storage medium 1040 via the reading device 1050 or from the network via the communication device 1060 and executed by the CPU 1010.
  • the access control according to the present embodiment performs at least two stages of changing the query request statement based on the attribute information of the access request and changing the query response statement based on the attribute information of the access request. Is done. Next, the access control procedure will be described with reference to a flowchart.
  • FIG. 8 is a flowchart showing an access control procedure in the access control apparatus.
  • a message 700 for requesting access to the resource 350 is transmitted from the user terminal 200 (step 801).
  • the data transmitting / receiving unit 120 of the access control apparatus 100 receives the access request message 700.
  • the control unit 110 of the access control apparatus 100 generates an access time environment attribute value 441 that becomes the environment attribute 440 from the reception time of the access request message 700 (step 803).
  • the control unit 110 extracts the operation content action attribute value 431 from the query request statement 720 of the access request message 700, and acquires the action attribute 430 (step 804).
  • the control unit 110 extracts the user ID subject attribute value 411 from the access request message 700, searches the subject attribute database 170 of the storage unit 130 using the user ID subject attribute value 411 as a key, and obtains the subject attribute 410 corresponding to the user ID. (Step 805).
  • the control unit 110 passes the obtained subject attribute 410, action attribute 430, environment attribute 440, and global policy 161 of the storage unit to the global attribute reverse calculation unit 140, and the global attribute reverse calculation unit 140 is permitted by the global policy 161. All the global object attributes 420 to be processed are obtained and passed to the control unit 110 (step 806).
  • the control unit 110 determines whether the number of allowed global object attributes 420 is 1 or more (step 807).
  • control unit 110 changes the query request statement 720 so as to limit to only the data of the permitted global object attributes (step 808).
  • the control unit 110 transmits the changed query request statement to the resource distribution management server 300 through the data transmission / reception unit 120 (step 809).
  • the resource distribution management server 300 processes the received query request sentence, obtains the requested resource and its object attribute from the storage unit 330, and sends it back on the query response sentence (step 810).
  • the data transmitting / receiving unit 120 of the access control device 100 receives the query response sentence (step 811).
  • the control unit 110 receives the query response sentence from the data transmission / reception unit 120, and determines the query response sentence, the subject attribute 410, the action attribute 430, the environment attribute 440, and the local policy 162 of the storage unit 130 as a local policy determination unit.
  • the local policy determination unit 150 indicates in the subject attribute 410, the action attribute 430, the environment attribute 440, and the query response text about whether or not the user can access the resource 350 indicated in the query response text.
  • a determination is made based on the local policy 162, and the determination result of whether access is possible is returned to the control unit 110 (step 812).
  • the control unit 110 Based on the determination result of the local policy determination unit 150, the control unit 110 deletes the resource 350 and its object attribute 420 whose access is not permitted from the query response sentence (step 813). The control unit 110 returns the changed query response text to the user terminal 200 via the data transmission / reception unit 120 (step 814). If the number of global object attributes 420 permitted in step 807 is zero, the control unit 110 determines that the user cannot access the resource 350 (step 820). The control unit 110 returns a query response sentence with no resources to the user terminal 200 (step 821).
  • access control is performed by applying the global policy 161 and the local policy 162 in order.
  • access control by the global policy 161 is performed in steps 806, 807, and 808 by the access control device changing the query based on the global policy 161 using the global attribute reverse calculation unit 140, and resource distribution management in step 810 is performed.
  • the result of the query processing by the server 300 follows the global policy 161.
  • the steps 806, 807, and 808 correspond to the first access control means described in the claims.
  • the access control by the local policy 162 is performed using the local policy determination unit 150 for each of the resources 350 indicated in the query response sentence from the resource distribution management server 300 in steps 812 and 813. This is done by determining access and changing the query response.
  • the resources 350 included in the query response to the user are only those permitted by both the global policy 161 and the local policy 162, that is, only those permitted by the access control policy 160.
  • the steps 812 and 813 correspond to the second access control means described in the claims.
  • the access control according to the present embodiment is performed by performing at least two steps of changing the query request sentence and changing the query response sentence in this order based on the attribute information of the access request.
  • access control by the global policy 161 is performed by changing the query request statement, and by narrowing down the amount of resources included in the query response statement sent from the resource distribution management server 300 to the access control device 100, Compared to the case where the resources to be queried are not limited at all by the global policy, it is possible to reduce the communication amount between the access control device and the resource distribution management server when transmitting the query response statement.
  • the local policy 162 is evaluated for the resource of the query response statement that has been subjected to access control by the global policy 161, the resource of the query response statement that has not been subjected to access control by the global policy is accessed. Compared with the case where the control policy 160 is evaluated, it can be expected that the amount of processing related to access control in the access control apparatus 100 is reduced.
  • a complex access control policy can be realized by making an access determination for each resource using a local policy in the access control device for the resource indicated in the query response statement.
  • any access control policy using the attribute information of the access request can be realized.
  • access control is performed only by changing a query request statement, only an access control policy that can be realized within a range that can be expressed by a query language can be realized. For example, if part of the object attribute is embedded in the resource data and the data cannot be read in the query language, access control using the part of the object attribute is a query request statement using the query language. It cannot be achieved by access control with only changes.
  • the query may be complicated or divided into multiple queries. May need to be done.
  • query processing may take time, communication between the resource distribution management device and the access control device may take time, and a delay in the overall access control processing may occur.
  • the access control policy is divided into a global policy and a local policy, and the global policy is determined so that the query change is simple, so that the delay of the entire process can be avoided.
  • the access control policy function f When the entire access control policy is executed only by changing the query, it is necessary to evaluate the access control policy function f for all the domain of the object attribute to obtain the permitted object attribute. If the object attribute space becomes large, this evaluation may cause a delay in access control processing.
  • the global policy function fg is evaluated only for the domain of the global object attribute, and the permitted global object attribute may be obtained.
  • the object attribute can be divided into a global object attribute and a local object attribute, and a delay in the access control process can be avoided.
  • FIG. 5 An example of access control processing in this embodiment will be exemplified.
  • user 1 and user 2 are registered in the system.
  • the user ID subject attribute value is “user 1”
  • the secret category subject attribute value is “no category”
  • the department subject attribute value is “development department”.
  • the user ID subject attribute value is “user 2”
  • the secret category subject attribute value is “secret”
  • the department subject attribute value is “sales department”.
  • the resource database 330 stores three resources “resource 1”, “resource 2”, and “resource 3”.
  • the secret classification global object attribute of resource 1 is “no classification”
  • the resource price local object attribute is “5,000”
  • the secret classification global object attribute of resource 2 is “secret”
  • the resource price local object attribute is “5”.
  • 000 the secret category global object attribute of resource 3 is“ no category ”
  • the resource price local object attribute is“ 1,000,000 ”.
  • each resource is XML data
  • the resource price local object attribute value is embedded in the Price tag 620 of the data.
  • step 801 it is assumed that the user 1 issues a read access request for a resource including the word “resource” in the resource name.
  • the access control apparatus 100 that has received the access request message in step 802 acquires environment attributes, action attributes, and subject attributes in steps 803 to 805.
  • step 806 the global attribute inverse calculation unit 140 obtains “no classification” as the secret global object attribute that is allowed to be accessed from the global policy 1 and the secret classification subject attribute value “no classification” of the user 1.
  • step 807 is determined to be YES.
  • step 808 the query request statement is changed so that it is limited to “no division” resources, and in step 809, the query request statement is sent to the resource distribution management server 300. It is done.
  • step 810 the resource distribution management server 300 processes the query request statement, and returns the resource 1 and the resource 3, which are resources corresponding to the query request statement, on the query response statement.
  • step 811 the access control apparatus 100 receives a query response sentence.
  • the local policy determination unit evaluates local policy 1 for each of resource 1 and resource 3 using the attribute information of the access request, and resource 1 whose resource price local object attribute value is 5,000.
  • step 813 the resource 3 and its object attribute are deleted from the query response text.
  • step 814 the query response text changed so that only the resource 1 is loaded is returned to the user terminal 200.
  • the object attribute 420 is stored in the resource database 330, but the storage location of the object attribute is not limited to this.
  • the object attribute may be stored in the storage unit 130 of the access control apparatus 100 or may be stored in another location.
  • object attributes do not need to be stored in a single location, but each divided part is stored in a separate location, or some or all copies are stored in a different location from the original. May be.
  • the storage location is not limited to the example of this embodiment as in the case of the object attribute. Similar to the object attribute, these attributes can be divided and stored, or a copy can be stored.
  • the subject attribute is input to both the global policy and the local policy.
  • the subject attribute is divided into a global subject attribute and a local subject attribute.
  • the global policy is a global subject attribute among the subject attributes. Only the local policy can be extended to take both global and local subject attributes as input.
  • Action attributes are also divided into global action attributes and local action attributes.
  • the global policy takes only the global action attribute as an input, and the local policy takes both the global action attribute and the local action attribute as input. Can be expanded.
  • the environment attributes are also divided into global environment attributes and local environment attributes.
  • the global policy takes only the global environment attributes of the environment attributes as input, and the local policy takes both the global environment attributes and local environment attributes as input. Can be expanded.
  • the extended access control policy When all the extensions related to the subject attribute, action attribute, and environment attribute are combined, the extended access control policy, the extended global policy, and the extended local policy can be expressed by mathematical expressions as follows: Can do.
  • variable representing the extended subject attribute is the subject attribute variable s'
  • the global subject attribute variable representing the global subject attribute is sg
  • the local subject attribute variable representing the local subject attribute is sl
  • a variable representing the extended action attribute is a subject attribute variable a '
  • a global action attribute variable representing the global action attribute is ag
  • a local action attribute variable representing the local action attribute is al.
  • the variable representing the extended environment attribute is assumed to be the environment attribute variable e ′
  • the global environment attribute variable representing the global environment attribute is set to eg
  • the local environment attribute variable representing the local environment attribute is set to el.
  • the global attribute reverse calculation unit 140 and the local policy determination unit 150 are changed as follows.
  • the local policy determination unit is provided with the extended subject attribute of the access request, the object attribute 420, the extended action attribute, and the extended environment attribute, and whether or not the access is permitted according to the extended local policy. To evaluate. That is, the value of the expanded local policy function fl ′ (s ′, o, a ′, e ′) is evaluated, and if it is 1, it is determined to be permitted, and if it is 0, it is determined to be rejected.
  • access control based on information accompanying the access request is based on at least access control by changing a requested query sentence and access control by changing a query response sentence.
  • the two-stage access control is executed, and the requested query statement is changed based on the first access control policy, and the query response statement is changed based on the second access control policy. Since the second access control policy can be freely determined regardless of the query language, any access control policy that uses information accompanying an access request can be realized. That is, a complicated access control policy can be realized more widely than in the prior art.
  • the logical product of the first access control policy and the second access control policy is the access control policy as a whole. If the logical product matches the access control policy as a whole, the access control policy for the access control device as a whole does not change no matter how the first access control policy and the second access control policy are determined. . In other words, there is a degree of freedom to define the first access control policy under the condition that the logical product does not change, and the query statement after changing the first access control policy using this degree of freedom does not become complicated. Can be determined on things.
  • the query statement changed by the first access control policy can reduce the size of the corresponding query response statement compared to the query statement not changed.
  • By reducing the query response text it is possible to reduce the amount of communication and the amount of calculation required during access control processing. That is, the access control as a whole becomes efficient.
  • Access control apparatus 100 Access control apparatus 110 Control part 120 Data transmission / reception part 130 Storage part 140 Global attribute reverse calculation part 150 Local policy judgment part 160 Access control policy 161 Global policy 162 Local policy 170 Subject attribute database 200 User terminal 300 Resource distribution management server 310 Control part 320 Data transceiver 330 Storage unit 340 Resource database 350 Resource 400 Access request attribute information 410 Subject attribute 411 User ID subject attribute value 412 Secret category subject attribute value 420 Object attribute 421 Global object attribute 422 Local object attribute 423 Secret category global object attribute Value 424 Resource Price Local Object Attribute Value 430 Action Message 710 the user ID of the emission attributes 431 ...
  • Action attribute value 440 environment attribute 441 access time environment attribute value 500
  • Subject table 610 secret classification attribute database table 600 resource database global object attribute value fields 620
  • Price element 700 access request 720
  • Computer 910 CPU 920 Memory 930
  • External storage device 940
  • Portable storage medium 950
  • Reading device 960 Communication device 1000 Network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

アクセス要求者に付随する第一のサブジェクト属性とアクセス要求対象のリソースに付随する第一のオブジェクト属性とリソースの操作に付随する第一のアクション属性とを含む情報であってリソースへのアクセス要求に付随する第一の情報とリソースへのアクセス制御のルールを定めた第一のアクセス制御ポリシーとに基づいて、アクセス要求のクエリを変更することによりリソースへのアクセスを制御し、アクセス要求者に付随する第二のサブジェクト属性とアクセス要求対象のリソースに付随する第二のオブジェクト属性とリソースの操作に付随する第二のアクション属性とを含む情報であってアクセス要求に付随する第二の情報とアクセス制御のルールを定めた第二のアクセス制御ポリシーとに基づいて、クエリに対する応答クエリを変更することによりアクセス制御する。

Description

アクセス制御装置、およびアクセス制御方法
 本発明は、データへのアクセスを制御する技術に関する。
 データのアクセス制御は、限られたデータへのアクセスのみに、データへのアクセスを制御する技術である。一般に、アクセス制御は、アクセス制御ポリシーと呼ばれるアクセスを制御するためのルールを定め、このルールに従ってアクセスの可否を判断し、判断に沿ってアクセスを制御する。システムのセキュリティを高めるために、ユーザやリソースについて細かい粒度でのアクセス制御が望まれることがある。細かい粒度でのアクセス制御を可能にする仕組みとして、例えば、属性ベースアクセス制御(ABAC)が知られている(非特許文献1参照)。属性ベースアクセス制御は、複雑なアクセス制御ポリシーでのアクセス制御が可能であり、細かい粒度でのアクセス制御を実現できる。
 複雑なアクセス制御ポリシーは、システムのセキュリティを高めることができる反面、アクセス制御の処理にかかる計算量や時間や通信量が大きくなり、問題になることがある。
特許文献2では、よりよい性能を有するアクセス制御の方法として、外部ポリシーに基づき動的にクエリを修正することで、アクセス制御を行う技術が示されている。
Vincent C. Hu, David Ferraiolo, Rick Kuhn, Adam Schnitzer, Kenneth Sandlin, Robert Miller, Karen Scarfone, "Guide to Attribute Based Access Control (ABAC) Definition and Considerations," NIST Special Publication 800-162, NIST, 2014.
米国出願公開US2007/0130616号公報
 特許文献2に記載のアクセス制御の方法では、クエリを修正することによりアクセス制御を行うため、クエリに用いるクエリ言語で記述できないアクセス制御ポリシーを実現することができない。そのため、実現できるアクセス制御ポリシーの範囲が小さくなり、システムに求められるアクセス制御が実現できない場合がある。
 また、特許文献2に記載のアクセス制御の方法では、アクセス制御ポリシーに基づきクエリを修正できた場合でも、クエリ文が複雑になる場合があり、クエリ処理時間や通信回数が大きくなることで結果としてアクセス制御の処理が非効率になり、問題となる可能性がある。
 そこで、本発明は、アクセス制御ポリシーによるアクセス制御を、クエリ文を複雑化することなく従来に比べて幅広く効率的に実行することが可能なアクセス制御装置、およびアクセス制御方法を提供することを目的とする。
 以上の課題を解決し、目的を達成するため、本発明は、属性ベースアクセス制御によりリソースへのアクセスを制御するアクセス制御装置であって、アクセス要求者に付随する第一のサブジェクト属性とアクセス要求対象の前記リソースに付随する第一のオブジェクト属性と前記リソースの操作に付随する第一のアクション属性とを含む情報であって前記リソースへのアクセス要求に付随する第一の情報と前記リソースへのアクセス制御のルールを定めた第一のアクセス制御ポリシーとに基づいて、前記アクセス要求のクエリを変更することにより前記リソースへのアクセスを制御する第一のアクセス制御部と、前記アクセス要求者に付随する第二のサブジェクト属性とアクセス要求対象の前記リソースに付随する第二のオブジェクト属性と前記リソースの操作に付随する第二のアクション属性とを含む情報であって前記アクセス要求に付随する第二の情報と前記アクセス制御のルールを定めた第二のアクセス制御ポリシーとに基づいて、前記クエリに対する応答クエリを変更することにより前記アクセス制御を行う第二のアクセス制御部と、を備えることを特徴とするアクセス制御装置として構成される。
 また、本発明は、上記アクセス制御装置で行われるアクセス制御方法としても把握される。
 以上のように、本発明によれば、アクセス制御ポリシーによるアクセス制御を、クエリ文を複雑化することなく従来に比べて幅広く効率的に実行することが可能となる。
本発明に係る実施形態のシステム例を示す図。 アクセス制御装置を示す概略図。 リソース配信管理サーバを示す概略図。 アクセス要求の属性情報の構造を示す図。 サブジェクト属性データベースのテーブルの一例を示す図。 リソースデータベースのテーブルの一例を示す図。 アクセス要求の電文の構造を示す図。 アクセス制御の手順を示すフローチャート図。 アクセス制御の処理イメージを示す図。 一般的な計算機を示す概略図。
 以下、本発明の実施の形態を説明する。
 図1は、本発明にかかるアクセス制御装置、およびアクセス制御方法を適用したアクセス制御装置100とそれに関わるシステムの全体構成図である。本実施形態では、当該アクセス制御装置がネットワーク1000を介して利用者端末200と接続されている。また、当該アクセス制御装置はリソース配信管理サーバ300と接続されている。
 図2は、本実施形態におけるアクセス制御装置100の概略図である。
 図示するように、アクセス制御装置100は、制御部110と、データ送受信部120と、記憶部130と、グローバル属性逆算部140と、ローカルポリシー判断部150と、を備える。当該アクセス制御装置は、利用者端末200とリソース配信管理サーバ300とが行う通信経路の間に設置され、当該利用者端末から当該リソース配信管理サーバへのアクセスを制御する装置である。
 アクセス制御装置100は、制御部110により制御されている。アクセス制御装置100は、データ送受信部120を通じて、ネットワーク1000およびリソース配信管理サーバ300と接続され、利用者端末200およびデータ配信装置300とデータを交換する。
 記憶部130は、データを格納することができ、アクセス制御ポリシー160と、サブジェクト属性データベース170と、を格納する。
 グローバル属性逆算部140と、ローカルポリシー判断部150と、アクセス制御ポリシー160と、サブジェクト属性データベース170とについては、詳細を後で説明する。
 利用者端末200は、システムのユーザが利用する端末である。当該利用者端末を用いて、ユーザはリソース配信管理サーバ300にアクセスし、リソースを閲覧、変更、管理等する。
 図3は、アクセス制御装置100に接続されたリソース配信管理サーバ300を示したものである。
 リソース配信管理サーバ300は、制御部310と、データ送受信部320と、記憶部330と、を備える。リソース配信管理サーバ300は、受信するクエリ要求文に基づき、リソースの配信、および、管理を行うサーバである。
 リソース配信管理サーバ300は、制御部310により制御される。リソース配信管理サーバ300は、データ送受信部320を通して、アクセス制御装置100に接続されており、アクセス制御装置100と情報を交換し、さらに、アクセス制御装置100を介して、利用者端末200と情報を交換する。
 記憶部330は、リソースデータベース340を格納する。リソースデータベース340は、アクセス制御の対象となるリソース350とオブジェクト属性420とを保持するデータベースである。リソースデータベース340の詳細については、後で説明する。
 アクセス制御装置100に接続されたリソース配信管理サーバ300の一例としては、リレーショナル・データベース・マネジメント・システム(RDBMS:relational database management system)がある。この場合、当該サーバが解釈するクエリ言語はSQL(Structured Query Language)が挙げられる。また、アクセス制御装置100に接続されたリソース配信管理サーバ300は、RDBMSに限られるものではない。他にも、OpenGeospatialConsortiumが定義するWebFeatureServiceやWebMapServiceなどが例として挙げられる。
 本実施形態では、リソース配信管理サーバ300上のリソース350へのアクセスを要求するシステムのユーザが利用者端末200を操作し、当該リソースへのアクセス要求をアクセス要求電文700として送信する。そして、当該アクセス要求電文をアクセス制御装置100が受信し、当該アクセス制御装置が、利用者端末200とリソース配信管理サーバ300の間の通信を中継し通信データを変更することで、ユーザによる当該リソースへのアクセスが制御される。アクセス制御装置100におけるアクセスの制御は、ユーザからのアクセス要求に紐付けられたアクセス要求の属性情報400に対して、アクセス制御ポリシー160を適用して得られるアクセス可否の判断に基づいて行われる。
 図7は、アクセス要求電文700の一例を図示している。図示するとおり、当該アクセス要求電文は、ユーザID710と、クエリ要求文720とを含む。ユーザID710は、利用者端末を操作しているユーザのユーザIDであり、後記するユーザIDサブジェクト属性値411の値と一致するものである。図7では、ユーザIDがアクセス要求電文に含まれる場合について示しているが、サブジェクト属性値として後記する秘区分や所属部門であってもよい。また、サブジェクト属性値ではなく、オブジェクト属性値、アクション属性値、環境属性値であってもよい。すなわち、リソースへのアクセス要求を概念的に分類する情報であって、アクセス制御するためのキーとなり得る情報であればよい。クエリ要求文720は、ユーザによるリソースへのアクセス要求をリソース配信管理サーバ300が解釈するクエリ言語で記述したクエリ命令である。例えば、リソース配信管理サーバ300がRDBMSである場合、クエリ言語はSQLが一例として挙げられるが、OQL(Object Query Language)、RDF(Resource Description Framework)、SPARQL(SPARQL Protocol and RDF Query Language)、OWS(OGC Web Services)等、Webサービスで用いられる他のクエリ言語を用いることも可能である。ここで、アクセス要求の属性情報400について説明する。
 図4は、アクセス要求の属性情報400の構造を示している。アクセス要求の属性情報400は、ユーザによる一つのリソース350へのアクセス要求に対して紐付けられるメタ情報であり、サブジェクト属性410と、オブジェクト属性420と、アクション属性430と、環境属性440と、からなる。これらの属性は、上記のとおりアクセス要求を概念的に分類したものであるため、必ずしもこれらの属性を有していなくてもよい。
 サブジェクト属性410はアクセスの要求を行っているユーザに紐付く属性である。サブジェクト属性410は0個あるいは1個以上のサブジェクト属性値からなる。
本実施形態ではサブジェクト属性410は、ユーザIDサブジェクト属性値411と、秘区分サブジェクト属性値412と、部門サブジェクト属性値413の3種類からなる。ユーザIDサブジェクト属性値411は、ユーザのシステム上でのIDである。秘区分サブジェクト属性値412は、ユーザが扱うことのできるリソースの秘密度のレベルを示す値であり、ユーザ毎に“秘密”、あるいは、“区分なし”の値をとる。部門サブジェクト属性値413は、ユーザが所属する部門を表すもので、ユーザ毎に“営業部門”、“開発部門”のうちいずれかの値をとる。
 なお、サブジェクト属性値の種類とその値は上記に限定されるものではなく、上記のとおり任意の属性値の種類と値を定義し、利用することができる。例えば、他の種類としてはユーザ年齢を表すサブジェクト属性値、居住地を表すサブジェクト属性値、メールアドレスを表すサブジェクト属性値などが挙げられる。
 オブジェクト属性420はアクセスを要求されるリソース350に紐付く属性である。オブジェクト属性420はグローバルオブジェクト属性421とローカルオブジェクト属性422の2つからなる。グローバルオブジェクト属性421は、0個または1個以上のグローバルオブジェクト属性値からなる。ローカルオブジェクト属性422は、0個または1個以上のローカルオブジェクト属性値からなる。
 本実施形態においては、一例として、グローバルオブジェクト属性421は秘区分グローバルオブジェクト属性値423の一つからなる。秘区分グローバルオブジェクト属性値423はデータの秘密度のレベルを表す値であり、リソース毎に“秘密”、あるいは、“区分なし”のいずれかの値をとる。さらに、本実施形態においては、一例として、ローカルオブジェクト属性422はデータ価格ローカルオブジェクト属性値424の一つからなる。データ価格ローカルオブジェクト属性値424はデータの価値を円価格で示す値であり、リソース毎に任意の0以上の整数値をとる。
 なお、サブジェクト属性と同様、グローバルオブジェクト属性421とローカルオブジェクト属性422の属性値の種類とその値は上記に限定されるものではなく、それぞれ任意の属性値の種類と値を定義し、利用することができる。例えば他の種類としては、グローバルオブジェクト属性値としてリソースの種別を表すグローバルオブジェクト属性値などが、ローカルオブジェクト属性値としては所属部門を表すローカルオブジェクト属性値などが挙げられる。
 アクション属性430はアクセス要求で要求されている操作に紐付く属性である。アクション属性430は、0個あるいは1個以上のアクション属性値からなる。
 本実施形態では、一例として、アクション属性430は操作内容アクション属性値431の1種類からなる。操作内容アクション属性値431は、操作内容を示す属性値であり、“読み込み”、あるいは、“書き込み”のいずれかの値をとる。
 なお、サブジェクト属性等の他の属性と同様、アクション属性値の種類とその値は上記に限定されるものではなく、任意の属性値の種類と値を定義し、利用することができる。例えば、他の種類としてはアクセスの緊急度の有無を表すアクション属性値などが挙げられる。
 環境属性440はアクセスの要求がなされている環境に紐付く属性である。環境属性440は、0個あるいは1個以上の環境属性値からなる。
 本実施形態では、一例として、環境属性440はアクセス時刻環境属性値の1種類からなる。アクセス時刻環境属性値は、アクセス要求があった時刻を示す属性値であり、日付と時刻の値をとる。
 なお、環境属性値の種類とその値は上記に限定されるものではなく、任意の属性値の種類を定義し、利用することができる。例えば、他の種類としてはアクセス場所を表す環境属性値などが挙げられる。
 ここで、前記した、サブジェクト属性データベース170について説明する。サブジェクト属性データベース170は、システムのユーザについてのサブジェクト属性410を格納したデータベースである。
 図5に、サブジェクト属性データベース170のテーブル500の一例を示している。当該テーブルの一つのレコードは、一人のユーザのサブジェクト属性410に対応しており、レコードの一つのフィールドには一つのサブジェクト属性値が格納されている。図5に示した例では、第一列目にユーザIDサブジェクト属性値、第二列目に秘区分サブジェクト属性値、第三列目に所属部門サブジェクト属性値が格納されている。また、図5では、例えば、「ユーザ1」は、「区分なし」(すなわち、秘区分が「秘密」であるリソースへのアクセスが不可)であり、「開発部門」に所属していることを示している。
 ここで、前記した、リソースデータベース340の詳細について説明する。前記したとおり、リソースデータベース340には、リソース配信管理サーバ300が配信および管理対象とするリソース350と、オブジェクト属性420と、が格納されている。
 図6は、リソースデータベース340のテーブル600の一例を示している。当該テーブルの一つのレコードは、一つのリソース350に対応付いており、当該リソースの実データへの参照と、当該リソースのオブジェクト属性420とが、格納される。前記のとおり、オブジェクト属性420は、グローバルオブジェクト属性421と、ローカルオブジェクト属性422と、からなる。
 図6に示したとおり、本実施形態においては、リソースのグローバルオブジェクト属性の秘区分グローバルオブジェクト属性値423は、レコードの一つのフィールドである“秘区分グローバルオブジェクト属性値”フィールド610に格納されている。図6では、例えば、「リソース1」については、「文書1ファイルへの参照」(例えば、文書1へのアクセスコマンドやリンク)情報が対応付けられ、「リソース1」のアクセスは「区分なし」として制限されていないことを示している。
 また、図6に示したとおり、本実施形態においては、ローカルオブジェクト属性値のリソース価格ローカルオブジェクト属性値424は、リソースの実データの中、具体的には“Price”タグ620の中に埋め込まれて格納されている。図6では、例えば、上記「文書1ファイル」のPriceタグに、属性値として5,000円が設定されていることを示している。
 図6の例では、グローバルオブジェクト属性値は、リソースデータベース340のテーブルのフィールドに格納され、ローカルオブジェクト属性値はリソースのデータに埋め込まれていたが、グローバルオブジェクト属性値およびローカルオブジェクト属性値の格納場所は、この例に限定されない。また、サブジェクト属性等の他の属性と同様、各オブジェクト属性値の種類とその値は上記に限定されるものではなく、任意の属性値の種類と値を定義し、利用することができ、いずれのオブジェクト属性値も、リソースデータベース内に格納される場所は任意の場所とできる。
 ここで、前記した、アクセス制御ポリシー160について説明する。アクセス制御ポリシー160は、ユーザからのアクセス要求の属性情報400に基づいて、当該アクセスの可否を決定するためのルールの集合であり、グローバルポリシー161と、ローカルポリシー162と、からなる。
 グローバルポリシー161は、アクセス要求のサブジェクト属性410、グローバルオブジェクト属性421、アクション属性430と、環境属性440に基づいて、アクセスの可否を定めるルールの集合である。本実施形態においては、グローバルポリシーに属するルールの一例として、次のルールを用いる。
 グローバルポリシー1:サブジェクト属性410の秘区分サブジェクト属性値412は、グローバルオブジェクト属性421の秘区分グローバルオブジェクト属性値423と同じかそれ以上のレベルでなくてはならない。
 ただし、ここで秘区分サブジェクト属性値412および秘区分グローバルオブジェクト属性値423のレベルに関して、“秘密”は“区分なし”よりもレベルが高いものとする。なお、本実施形態では上記グローバルポリシー1をグローバルポリシーのルールの一例としたが、グローバルポリシーのルールはこれに限定されるものではない。
 ローカルポリシー162はアクセス要求のサブジェクト属性410と、オブジェクト属性420と、アクション属性430と、環境属性440とに基づいて、アクセスの可否を定めるルールの集合である。本実施形態においては、ローカルポリシーに属するルールの一例として、次のルールを用いる。
 ローカルポリシー1:サブジェクト属性410の部門サブジェクト属性値413が“開発部門”の場合、ローカルオブジェクト属性422のリソース価格ローカルオブジェクト属性値424は、100,000以下でなくてはならない。なお、本実施形態では上記ローカルポリシー1をローカルポリシーのルールの一例としたが、ローカルポリシーのルールはこれに限定されるものではない。
 ユーザからのリソースへのアクセス要求の属性情報がグローバルポリシー161とローカルポリシー162の両方を満たす場合のみ、当該ユーザは当該リソースへのアクセスが許可される。
 アクセス制御ポリシー160と、グローバルポリシー161と、ローカルポリシー162とは、それぞれブール値を値域に持つ関数として表すことができる。各ポリシーを関数として記述する準備として、属性情報を表す変数を定義しておく。サブジェクト属性を表す変数をサブジェクト属性変数sと定義し、オブジェクト属性を表す変数をオブジェクト属性変数oと定義する。また、グローバルオブジェクト属性を表す変数をグローバルオブジェクト属性変数ogと定義し、ローカルオブジェクト属性を表す変数をローカルオブジェクト属性変数olと定義する。
 定義より、オブジェクト属性変数oはグローバルオブジェクト変数ogと、ローカルオブジェクト変数olの組である。
o=(og,ol)として表される。また、アクション属性を表す変数をアクション属性変数aと定義し、環境属性を表す変数を環境属性変数eと定義する。
 アクセス制御ポリシー160を表すアクセス制御ポリシー関数fは、サブジェクト属性変数s、オブジェクト属性変数o=(og,ol)、アクション属性変数a、環境属性変数eを入力として取り、f(s,o,a,e)=1(アクセス許可の場合)、f(s,o,a,e)=0(アクセス拒否の場合)と記述できる。
 グローバルポリシー161を表すグローバルポリシー関数fgは、サブジェクト属性変数s、グローバルオブジェクト属性変数og,アクション属性変数a、環境属性変数eを入力として取り、fg(s,og,a,e)=1(アクセス許可の場合)、fg(s,og,a,e)=0(アクセス拒否の場合)と記述できる。
 ローカルポリシー162を表すローカルポリシー関数flは、サブジェクト属性変数s、オブジェクト属性変数o=(og,ol)、アクション属性変数a、環境属性変数eを入力として取り、fl(s,o,a,e)=1(アクセス許可の場合)、fl(s,o,a,e)=0(アクセス拒否の場合)と記述できる。
 アクセス制御ポリシーは、グローバルポリシーとローカルポリシーを論理積して得られるものであり、次の関係式を満たす。
f=fg・fl
 アクセス制御ポリシー関数fがとるこの構造のことを、因子化構造(ファクタライズ構造)と呼ぶ。上記各属性変数を引数として、グローバルポリシー関数fgは、ローカルオブジェクト属性変数を包含せず、グローバルオブジェクト属性変数を包含するグローバルポリシーを、ブール関数として記述する。利用者端末200のアクセス要求のクエリは、アクセス制御装置100でグローバルポリシーを満たすグローバルオブジェクト属性のみに制限されるように書き換えられてから、リソース配信サーバ300に送信される。一方、ローカルポリシー関数flは、ローカルオブジェクト属性変数とグローバルオブジェクト属性変数を包含するローカルポリシーを、ブール関数として記述する。前記書き換えられたクエリによりアクセスされたリソースが記述されたクエリ応答に対して、アクセス制御装置100で、さらにローカルポリシーによりリソースへのアクセスの可否を判断し、そのローカルポリシーを満たすリソースに限定してアクセスが許可される。
 なお、本実施形態においては、グローバルポリシー161が特許請求の範囲に記載の第一のアクセス制御ポリシーに相当し、ローカルポリシー162が特許請求の範囲に記載の第二のアクセス制御ポリシーに相当する。
 ここで、前記したグローバル属性逆算部140について説明する。グローバル属性逆算部140は、アクセス要求のサブジェクト属性410と、アクション属性430と、環境属性440とを与えられて、グローバルポリシー161で許可されるグローバルオブジェクト属性421を全て求める。つまり、サブジェクト属性変数s、アクション属性変数aと、環境属性変数eを与えられて、fg(s,og,a,e)=1を満たすグローバルオブジェクト変数ogの値全てを求める。
 次に、前記したローカルポリシー判断部150について説明する。ローカルポリシー判断部150は、アクセス要求のサブジェクト属性410と、オブジェクト属性420と、アクション属性430と、環境属性440と、を与えられて、ローカルポリシー162によりアクセスの可否を評価する。つまり、ローカルポリシー関数fl(s,o,a,e)の値を評価し、1ならば許可、0ならば拒否と判断する。
 図9は、本システムで行われるアクセス制御の処理イメージを示す図である。具体的には図8を用いて後述するが、本システムでは、図9に示すように、利用者端末200からアクセス要求がアクセス制御装置100に送信されると、アクセス制御装置100のグローバル属性逆算部140は、まず、グローバルポリシー161を参照してグローバルオブジェクト属性を把握し、クエリ言語で記述可能なグローバルポリシーを満たすように変更したアクセス要求をリソース配信管理サーバ300に送信する。グローバル属性逆算部140は、利用者端末200から送信されたアクセス要求が上記グローバルポリシーを満たさないと判断した場合には、リソースへのアクセスを受け付けない旨、利用者端末200に通知する。
 リソース配信管理サーバ300は、アクセス制御装置100から受け取ったアクセス要求にしたがって、アクセス可能なリソースをグローバルポリシーでフィルタリングした後のリソースを記述したクエリ言語の応答文をアクセス制御装置100に送信する。アクセス制御装置100のローカルポリシー判断部150は、リソース配信管理サーバ300から受け取った上記クエリ言語の応答文によりアクセスされたリソースのうち、さらにローカルポリシーでフィルタリングした後のリソースのみを利用者端末200に送信する。
 以上に記載したアクセス制御装置100は、例えば、図10に示すような、CPU(Central Processing Unit)1010と、メモリ1020と、HDD(Hard Disk Drive)等の外部記憶装置1030と、CD-ROM(Compact Disk Read Only Memory)やDVD-ROM(Digital Versatile Disk Read Only Memory)等の可搬性を有する記憶媒体1040に対して情報を読み書きする読書装置1050と、通信ネットワークに接続するためのNIC(Network Interface Card)等の通信装置1060と、を備えた一般的な計算機1000で実現できる。
 例えば、記憶部130は、CPU1010がメモリ1020又は外部記憶装置1030を利用することにより実現可能であり、制御部110は、外部記憶装置1030に記憶されている第一の所定のプログラムをメモリ1020にロードしてCPU1010で実行することで実現可能であり、グローバル属性逆算部140は、外部記憶装置1030に記憶されている第二の所定のプログラムをメモリ1020にロードしてCPU1010で実行することで実現可能であり、ローカルポリシー判断部150は、外部記憶装置1030に記憶されている第三の所定のプログラムをメモリ1020にロードしてCPU1010で実行することで実現可能であり、データ送受信部120は、CPU1010が通信装置1060を利用することにより実現可能である。
 この第一、第二、および、第三の所定のプログラムは、読書装置1050を介して記憶媒体1040から、あるいは、通信装置1060を介してネットワークから、外部記憶装置1030にダウンロードされ、それから、メモリ1020上にロードされてCPU1010により実行されるようにしてもよい。また、読書装置1050を介して記憶媒体1040から、あるいは、通信装置1060を介してネットワークから、メモリ1020上に直接ロードされ、CPU1010により実行されるようにしてもよい。
 既述のとおり、本実施形態のアクセスの制御は、アクセス要求の属性情報に基づいたクエリ要求文の変更と、アクセス要求の属性情報に基づいたクエリ応答文の変更と、の少なくとも2段階を行うことにより行われる。次にこのアクセス制御の手順についてフローチャートを用いて説明する。
 図8は、本アクセス制御装置におけるアクセス制御の手順を表したフローチャートである。
 まず、利用者端末200から、リソース350へのアクセス要求の電文700が、送信される(ステップ801)。アクセス制御装置100のデータ送受信部120がアクセス要求電文700を受信する。(ステップ802)。アクセス制御装置100の制御部110は、アクセス要求電文700の受信時刻から、環境属性440となるアクセス時刻環境属性値441を生成する(ステップ803)。制御部110は、アクセス要求電文700のクエリ要求文720から操作内容アクション属性値431を抜き出し、アクション属性430を取得する(ステップ804)。
 制御部110は、アクセス要求電文700からユーザIDサブジェクト属性値411を抜き出し、ユーザIDサブジェクト属性値411をキーとして格納部130のサブジェクト属性データベース170を検索し、ユーザIDに対応するサブジェクト属性410を取得する(ステップ805)。制御部110は得られたサブジェクト属性410と、アクション属性430と、環境属性440と、格納部のグローバルポリシー161と、をグローバル属性逆算部140に渡し、グローバル属性逆算部140はグローバルポリシー161により許可されるグローバルオブジェクト属性420を全て求め、制御部110に渡す(ステップ806)。制御部110は、許可されるグローバルオブジェクト属性420の数が1以上かどうかを判断する(ステップ807)。
 ステップ807で許可されるグローバルオブジェクト属性が1個以上ある場合、制御部110は許可されるグローバルオブジェクト属性のデータのみに制限するように、クエリ要求文720を変更する(ステップ808)。制御部110は変更したクエリ要求文を、データ送受信部120を通してリソース配信管理サーバ300に送信する(ステップ809)。リソース配信管理サーバ300は受け取ったクエリ要求文を処理し、要求されたリソースとそのオブジェクト属性を記憶部330から取得し、クエリ応答文に乗せて返信する(ステップ810)。
 アクセス制御装置100のデータ送受信部120がクエリ応答文を受信する(ステップ811)。制御部110は、データ送受信部120からクエリ応答文を受け取り、クエリ応答文と、サブジェクト属性410と、アクション属性430と、環境属性440と、格納部130のローカルポリシー162と、をローカルポリシー判断部150に渡し、ローカルポリシー判断部150は、クエリ応答文に示されているリソース350へのユーザのアクセスの可否について、サブジェクト属性410と、アクション属性430と、環境属性440と、クエリ応答文に示されている当該リソース350に対応するオブジェクト属性420とを用いて、ローカルポリシー162に基づき判断し、アクセス可否の判断結果を制御部110に返す(ステップ812)。
 制御部110はローカルポリシー判断部150の判断結果に基づき、クエリ応答文からアクセスが許可されないリソース350とそのオブジェクト属性420を削除する(ステップ813)。制御部110は、データ送受信部120を介して、変更したクエリ応答文を利用者端末200に返信する(ステップ814)。ステップ807で許可されるグローバルオブジェクト属性420の数が0個である場合、制御部110はユーザのリソース350へのアクセスは不可と判断する(ステップ820)。制御部110は、リソースがのっていないクエリ応答文を利用者端末200に返信する(ステップ821)。
 前記図8のフローチャートを用いて説明したとおり、本実施形態では、アクセス制御はグローバルポリシー161とローカルポリシー162を順に適用することで行われる。まず、グローバルポリシー161によるアクセス制御は、ステップ806、807、808で、アクセス制御装置がグローバル属性逆算部140を用いてクエリをグローバルポリシー161に基づき変更することでなされ、ステップ810でのリソース配信管理サーバ300によるクエリ処理の結果はグローバルポリシー161に従うものとなる。本実施形態においては、このステップ806、807、808の手順が特許請求の範囲に記載の第一のアクセス制御手段に相当する。
 次にローカルポリシー162によるアクセス制御は、ステップ812と813において、リソース配信管理サーバ300からのクエリ応答文に示されているリソース350の一つ一つに対して、ローカルポリシー判断部150を用いてアクセス判断し、クエリ応答文を変更することにより行われる。これにより、ステップ814において、ユーザへのクエリ応答文にのるリソース350は、グローバルポリシー161およびローカルポリシー162の両方で許されるもののみ、つまり、アクセス制御ポリシー160で許されるもののみ、となる。本実施形態においては、このステップ812と813の手順が特許請求の範囲に記載の第二のアクセス制御手段に相当する。このように、本実施形態でのアクセス制御はアクセス要求の属性情報に基づきクエリ要求文の変更とクエリ応答文の変更の少なくとも2段階をこの順番で経ることにより行われる。
 本実施形態では、グローバルポリシー161によるアクセス制御をクエリ要求文を変更することで行い、リソース配信管理サーバ300からアクセス制御装置100に送付されるクエリ応答文にのるリソースの量を絞ることで、クエリ応答されるリソースをグローバルポリシーによって一切絞らない場合に比べて、クエリ応答文を送信する際の当該アクセス制御装置と当該リソース配信管理サーバ間の通信量を削減することができる。また、本実施形態では、グローバルポリシー161によるアクセス制御を受けたクエリ応答文のリソースに対してローカルポリシー162を評価するため、グローバルポリシーによるアクセス制御を受けていないクエリ応答文のリソースに対してアクセス制御ポリシー160を評価する場合に比べ、アクセス制御装置100でのアクセス制御に関わる処理量が少なくなることが期待できる。
 本実施形態では、クエリ応答文に示されているリソースに対して、アクセス制御装置でローカルポリシーを用いてリソース一つ一つのアクセス判断を行うことにより、複雑なアクセス制御ポリシーを実現できる。具体的には、アクセス要求の属性情報を用いたいかなるアクセス制御ポリシーでも実現できる。アクセス制御をクエリ要求文を変更することのみによって行う場合、クエリ言語が表現できる範囲で実現できるアクセス制御ポリシーしか実現できない。例えば、オブジェクト属性の一部がリソースのデータ内部に埋め込まれており、クエリ言語によるデータ内部の読み込みができない場合、当該オブジェクト属性の一部を利用したアクセス制御は当該クエリ言語を用いたクエリ要求文のみの変更によるアクセス制御では実現できない。
 アクセス制御ポリシー全体をクエリの変更のみで実行する場合、仮にアクセス制御ポリシー全体をクエリの変更のみで実行できる場合でも、アクセス制御ポリシーによっては、クエリが複雑になったり、複数のクエリに分割したりする必要がでる可能性がある。この場合、クエリ処理に時間がかかったり、リソース配信管理装置とアクセス制御装置間の通信に時間がかかったりすることがあり、全体のアクセス制御の処理の遅延が発生することがある。本実施形態では、当該アクセス制御ポリシーを、グローバルポリシーとローカルポリシーに分割し、グローバルポリシーをクエリ変更が単純になるように定めることで、全体の処理の遅延を回避することができる。
 アクセス制御ポリシー全体をクエリの変更のみで実行する場合、アクセス制御ポリシー関数fの評価をオブジェクト属性の定義域全てに対して行い、許されるオブジェクト属性を求める必要がある。オブジェクト属性の空間が大きくなると、この評価によりアクセス制御の処理の遅延が起きる可能性がある。本実施形態によると、グローバルポリシー関数fgの評価をグローバルオブジェクト属性の定義域のみに対して行い、許されるグローバルオブジェクト属性を求めればよい。本実施形態では、オブジェクト属性をグローバルオブジェクト属性とローカルオブジェクト属性の2つに分割することができ、当該アクセス制御の処理の遅延を回避することができる。
 本実施形態における、アクセス制御の処理の具体例について例示する。図5が示すとおり、システムにはユーザ1とユーザ2が登録されている。ユーザ1については、ユーザIDサブジェクト属性値が“ユーザ1”、秘区分サブジェクト属性値が“区分なし”、部門サブジェクト属性値が“開発部門”である。ユーザ2については、ユーザIDサブジェクト属性値が“ユーザ2”、秘区分サブジェクト属性値が“秘密”、部門サブジェクト属性値が“営業部門”であるとする。
 図6が示すとおり、リソースデータベース330には、“リソース1”、“リソース2”、“リソース3”の3つのリソースが格納されている。リソース1の秘区分グローバルオブジェクト属性は“区分なし”、リソース価格ローカルオブジェクト属性は“5,000”であり、リソース2の秘区分グローバルオブジェクト属性は“秘密”、リソース価格ローカルオブジェクト属性は“5,000”であり、リソース3の秘区分グローバルオブジェクト属性は“区分なし”、リソース価格ローカルオブジェクト属性は“1,000,000”である。この例では各リソースはXMLデータであり、リソース価格ローカルオブジェクト属性値は、データのPriceタグ620のなかに埋め込まれている。
 前記ステップ801において、ユーザ1が“リソース”という文字をリソース名に含むリソースへの読み込みのアクセス要求を出したとする。前記802でアクセス要求電文を受け取ったアクセス制御装置100は、前記ステップ803から805にかけて環境属性、アクション属性、サブジェクト属性を取得する。ステップ806で、グローバル属性逆算部140は、前記グローバルポリシー1とユーザ1の秘区分サブジェクト属性値“区分なし”とから、アクセスが許される秘区分グローバルオブジェクト属性を“区分なし”と求める。
 許されるグローバルオブジェクト属性が1個あるためステップ807はYESと判断され、ステップ808でクエリ要求文は、“区分なし”のリソースに限られるように変更され、ステップ809でリソース配信管理サーバ300に送られる。ステップ810で、リソース配信管理サーバ300は、クエリ要求文を処理し、クエリ要求文に該当するリソースであるリソース1とリソース3をクエリ応答文にのせて返信する。ステップ811で、アクセス制御装置100がクエリ応答文を受信する。ステップ812で、ローカルポリシー判断部が、アクセス要求の属性情報を用いて、ローカルポリシー1をリソース1とリソース3のそれぞれに対して評価し、リソース価格ローカルオブジェクト属性値が5,000であるリソース1についてはアクセス許可、1,000,000であるリソース3についてはアクセス拒否と判断する。この際、ローカルポリシー判断部150は、各リソースのデータ内部にあるPriceタグを見に行く必要がある。ステップ813でクエリ応答文からリソース3とそのオブジェクト属性が削除され、ステップ814でリソース1のみがのるように変更されたクエリ応答文が利用者端末200に返信される。
 本実施形態においては、オブジェクト属性420はリソースデータベース330に格納されるものとしたが、オブジェクト属性の格納場所はこれに限らない。例えば、オブジェクト属性は、アクセス制御装置100の記憶部130に格納してもよいし、その他の場所に格納してもよい。また、オブジェクト属性は一つの場所に格納する必要はなく、複数に分割して分割した各部分をそれぞれ別の場所に格納したり、一部あるいは全部の複写をオリジナルとは別の場所に格納してもよい。
 サブジェクト属性と、アクション属性と、環境属性についても、前記オブジェクト属性と同様に格納場所は本実施形態の例に限定されるものではない。これらの属性を分割して格納したり、複写を格納したりできる点も、また前記オブジェクト属性と同様である。
 本実施形態においては、サブジェクト属性はグローバルポリシーとローカルポリシーの両方に入力されるとしたが、サブジェクト属性をグローバルサブジェクト属性とローカルサブジェクト属性の2つに分け、グローバルポリシーはサブジェクト属性のうちグローバルサブジェクト属性だけを、ローカルポリシーはグローバルサブジェクト属性とローカルサブジェクト属性の両方を入力としてとる、ように拡張できる。
 アクション属性についても、グローバルアクション属性とローカルアクション属性に分け、グローバルポリシーはアクション属性のうちグローバルアクション属性だけを入力としてとり、ローカルポリシーはグローバルアクション属性とローカルアクション属性の両方を入力としてとる、ように拡張できる。
 環境属性についても、グローバル環境属性とローカル環境属性に分け、グローバルポリシーは環境属性のうちグローバル環境属性だけを入力としてとり、ローカルポリシーはグローバル環境属性とローカル環境属性の両方を入力としてとる、ように拡張できる。
 これらサブジェクト属性と、アクション属性と、環境属性とに関する拡張をすべてあわせると、拡張されたアクセス制御ポリシーと、拡張されたグローバルポリシーと、拡張されたローカルポリシーとは、次のように数式で表すことができる。
 拡張されたサブジェクト属性を表す変数をサブジェクト属性変数s’、グローバルサブジェクト属性を表すグローバルサブジェクト属性変数をsg、ローカルサブジェクト属性を表すローカルサブジェクト属性変数をslとする。また、拡張されたアクション属性を表す変数をサブジェクト属性変数a’、グローバルアクション属性を表すグローバルアクション属性変数をag、ローカルアクション属性を表すローカルアクション属性変数をalとする。また、拡張された環境属性を表す変数を環境属性変数e’、グローバル環境属性を表すグローバル環境属性変数をeg、ローカル環境属性を表すローカル環境属性変数をelとする。
 拡張されたアクセス制御ポリシーを表す拡張されたアクセス制御ポリシー関数f’は、f’(s’,o’,a’,e’)=1(許可の場合)、f’(s’,o’,a’,e’)=0(拒否の場合)となる。
 拡張されたグローバルポリシーを表す拡張されたグローバルポリシー関数fg’は、fg’(sg,og,ag,eg)=1(許可の場合)、fg’(sg,og,ag,eg)=0(拒否の場合)となる。
 拡張されたローカルポリシーを表す拡張されたローカルポリシー関数fl’は、fl’(s’,o’,a’,e’)=1(許可の場合)、fl’(s’,o’,a’,e’)=0(拒否の場合)となる。
 拡張されたアクセス制御ポリシー関数f’と、拡張されたグローバルポリシー関数fg’と、拡張されたローカルポリシー関数fl’との間には、次の関係式が成り立つ。
f’=fg’・fl’
 拡張されたアクセス制御ポリシーを用いたアクセス制御装置においては、グローバル属性逆算部140とローカルポリシー判断部150が以下のように変更される。当該グローバル属性逆算部は、アクセス要求のグローバルサブジェクト属性と、グローバルアクション属性と、グローバル環境属性とを与えられて、拡張されたグローバルポリシーで許可されるグローバルオブジェクト属性421を全て求める。つまり、グローバルサブジェクト属性変数sg、グローバルアクション属性変数agと、グローバル環境属性変数egを与えられて、fg’(sg,og,ag,eg)=1を満たすグローバルオブジェクト変数ogの値全てを求める。
 当該ローカルポリシー判断部は、アクセス要求の拡張されたサブジェクト属性と、オブジェクト属性420と、拡張されたアクション属性と、拡張された環境属性と、を与えられて、拡張されたローカルポリシーによりアクセスの可否を評価する。つまり、拡張されたローカルポリシー関数fl’(s’,o,a’,e’)の値を評価し、1ならば許可、0ならば拒否と判断する。
 このように、本システムでは、アクセスの制御をアクセスの要求に付随する情報(例えば、上記属性情報)に基づき、要求されるクエリ文の変更によるアクセス制御とクエリ応答文の変更によるアクセス制御の少なくとも2段階のアクセス制御を実行し、要求されるクエリ文の変更は第一のアクセス制御ポリシーに基づき行われ、クエリ応答文の変更は第二のアクセス制御ポリシーに基づき行われる。第二のアクセス制御ポリシーはクエリ言語に関係なく自由に定めることができるため、アクセスの要求に付随する情報を利用するアクセス制御ポリシーであればいかなるものでも実現できる。つまり、複雑なアクセス制御ポリシーを従来技術より幅広く実現することができる。
 さらに、本システムにおけるアクセス制御では、第一のアクセス制御ポリシーと第二のアクセス制御ポリシーの論理積が全体としてのアクセス制御ポリシーとなる。当該論理積が全体としてのアクセス制御ポリシーと一致していれば、第一のアクセス制御ポリシーと第二のアクセス制御ポリシーをどのように定めても、アクセス制御装置全体としてのアクセス制御ポリシーは変わらない。つまり、論理積が変わらないという条件のもとで第一のアクセス制御ポリシーを定める自由度があり、この自由度を用いて第一のアクセス制御ポリシーを変更後のクエリ文が複雑にならないようなものに定めることができる。
 さらに、第一のアクセス制御ポリシーにより変更されたクエリ文は、変更されないクエリ文に比べて、対応するクエリ応答文の大きさを小さくできる。クエリ応答文を小さくすることにより、アクセス制御の処理時に必要な通信量や計算量を削減することができる。つまり、全体としてのアクセス制御は効率的なものとなる。
100 アクセス制御装置
110 制御部
120 データ送受信部
130 記憶部
140 グローバル属性逆算部
150 ローカルポリシー判断部
160 アクセス制御ポリシー
161 グローバルポリシー
162 ローカルポリシー
170 サブジェクト属性データベース
200 利用者端末
300 リソース配信管理サーバ
310 制御部
320 データ送受信部
330 記憶部
340 リソースデータベース
350 リソース
400 アクセス要求の属性情報
410 サブジェクト属性
411 ユーザIDサブジェクト属性値
412 秘区分サブジェクト属性値
420 オブジェクト属性
421 グローバルオブジェクト属性
422 ローカルオブジェクト属性
423 秘区分グローバルオブジェクト属性値
424 リソース価格ローカルオブジェクト属性値
430 アクション属性
431 操作内容アクション属性値
440 環境属性
441 アクセス時刻環境属性値
500 サブジェクト属性データベースのテーブル
600 リソースデータベースのテーブル
610 秘区分グローバルオブジェクト属性値フィールド
620 Price要素
700 アクセス要求の電文
710 ユーザID
720 要求クエリ文
900 計算機
910 CPU
920 メモリ
930 外部記憶装置
940 可搬性を有する記憶媒体
950 読書装置
960 通信装置
1000 ネットワーク。

Claims (7)

  1.  属性ベースアクセス制御によりリソースへのアクセスを制御するアクセス制御装置であって、
     アクセス要求者に付随する第一のサブジェクト属性とアクセス要求対象の前記リソースに付随する第一のオブジェクト属性と前記リソースの操作に付随する第一のアクション属性とを含む情報であって前記リソースへのアクセス要求に付随する第一の情報と前記リソースへのアクセス制御のルールを定めた第一のアクセス制御ポリシーとに基づいて、前記アクセス要求のクエリを変更することにより前記リソースへのアクセスを制御する第一のアクセス制御部と、
     前記アクセス要求者に付随する第二のサブジェクト属性とアクセス要求対象の前記リソースに付随する第二のオブジェクト属性と前記リソースの操作に付随する第二のアクション属性とを含む情報であって前記アクセス要求に付随する第二の情報と前記アクセス制御のルールを定めた第二のアクセス制御ポリシーとに基づいて、前記クエリに対する応答クエリを変更することにより前記アクセス制御を行う第二のアクセス制御部と、
     を備えることを特徴とするアクセス制御装置。
  2.  請求項1に記載のアクセス制御装置であって、
     前記第一のアクセス制御部は、前記第二のサブジェクト属性または前記第二のオブジェクト属性または前記第二のアクション属性を包含しない前記第一のサブジェクト属性または前記第一のオブジェクト属性または前記第一のアクション属性を引数とした因子化構造で表される関数を用いて前記属性ベースアクセス制御を実行し、
     前記第二のアクセス制御部は、前記第一のサブジェクト属性または前記第一のオブジェクト属性または前記第一のアクション属性を包含する前記第二のサブジェクト属性または前記第二のオブジェクト属性または前記第二のアクション属性を引数とする因子化構造で表される関数を用いて前記属性ベースアクセス制御を実行する、
     ことを特徴とするアクセス制御装置。
  3.  請求項1に記載のアクセス制御装置であって、
     前記第一のアクセス制御部は、さらにアクセス要求の環境に付随する第一の環境属性を含む前記第一の情報と、前記第一のアクセス制御ポリシーとに基づいて、前記アクセス要求のクエリを変更することにより前記リソースへのアクセスを制御し、
     前記第二のアクセス制御部は、さらにアクセス要求の環境に付随する第二の環境属性を含む前記第二の情報と、前記第二のアクセス制御ポリシーとに基づいて、前記クエリに対する応答クエリを変更することにより前記アクセス制御を行う、
     ことを特徴とするアクセス制御装置。
  4.  請求項3に記載のアクセス制御装置であって、
     前記第一のアクセス制御部は、さらにアクセス要求の環境に付随する第二の環境属性を包含しない前記第一の環境属性を引数とする因子化構造で表される関数を用いて前記属性ベースアクセス制御を実行し、
     前記第二のアクセス制御部は、さらにアクセス要求の環境に付随する第一の環境属性を包含する前記第二の環境属性を引数とする因子化構造で表される関数を用いて前記属性ベースアクセス制御を実行する、
     ことを特徴とするアクセス制御装置。
  5.  請求項1に記載のアクセス制御装置であって、
     前記第一のアクセス制御部および前記第二のアクセス制御部は、SQL言語(Structured Query Language)で表された前記クエリと前記クエリの応答文により前記アクセス制御を実行する、
     ことを特徴とするアクセス制御装置。
  6.  請求項5に記載のアクセス制御装置であって、
     前記第一のアクセス制御部および前記第二のアクセス制御部は、OQL(Object Query Language)、またはRDF(Resource Description Framework)、またはSPARQL(SPARQL Protocol and RDF Query Language)、またはOWS(OGC Web Services)を含む、Webサービスで用いられる他のクエリ言語で表された前記クエリ文と前記クエリの応答文により前記アクセス制御を実行する、
     ことを特徴とするアクセス制御装置。
  7.  属性ベースアクセス制御によりリソースへのアクセスを制御するアクセス制御方法であって、
     アクセス要求者に付随する第一のサブジェクト属性とアクセス要求対象の前記リソースに付随する第一のオブジェクト属性と前記リソースの操作に付随する第一のアクション属性とを含む情報であって前記リソースへのアクセス要求に付随する第一の情報と前記リソースへのアクセス制御のルールを定めた第一のアクセス制御ポリシーとに基づいて、前記アクセス要求のクエリを変更することにより前記リソースへのアクセスを制御し、
     前記アクセス要求者に付随する第二のサブジェクト属性とアクセス要求対象の前記リソースに付随する第二のオブジェクト属性と前記リソースの操作に付随する第二のアクション属性とを含む情報であって前記アクセス要求に付随する第二の情報と前記アクセス制御のルールを定めた第二のアクセス制御ポリシーとに基づいて、前記クエリに対する応答クエリを変更することにより前記アクセス制御する、
     ことを特徴とするアクセス制御方法。
PCT/JP2016/061801 2015-04-13 2016-04-12 アクセス制御装置、およびアクセス制御方法 WO2016167249A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015-081966 2015-04-13
JP2015081966A JP2016201043A (ja) 2015-04-13 2015-04-13 アクセス制御装置、およびアクセス制御方法

Publications (1)

Publication Number Publication Date
WO2016167249A1 true WO2016167249A1 (ja) 2016-10-20

Family

ID=57126546

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/061801 WO2016167249A1 (ja) 2015-04-13 2016-04-12 アクセス制御装置、およびアクセス制御方法

Country Status (2)

Country Link
JP (1) JP2016201043A (ja)
WO (1) WO2016167249A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109995738A (zh) * 2018-01-02 2019-07-09 中国移动通信有限公司研究院 一种访问控制方法、网关及云端服务器

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005022391A1 (ja) * 2003-08-28 2005-03-10 International Business Machines Corporation データベースシステム、情報取得可否検査システム、情報取得方法、およびプログラム
US20100241641A1 (en) * 2009-03-20 2010-09-23 Oracle International Corporation View mechanism for data security, privacy and utilization
US20130117313A1 (en) * 2011-11-08 2013-05-09 Microsoft Corporation Access control framework
US20130325841A1 (en) * 2012-06-05 2013-12-05 Tanvir Ahmed Sql transformation-based optimization techniques for enforcement of data access control
WO2014109009A1 (ja) * 2013-01-09 2014-07-17 株式会社日立製作所 データベースの管理方法、管理計算機及び記憶媒体

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005022391A1 (ja) * 2003-08-28 2005-03-10 International Business Machines Corporation データベースシステム、情報取得可否検査システム、情報取得方法、およびプログラム
US20100241641A1 (en) * 2009-03-20 2010-09-23 Oracle International Corporation View mechanism for data security, privacy and utilization
US20130117313A1 (en) * 2011-11-08 2013-05-09 Microsoft Corporation Access control framework
US20130325841A1 (en) * 2012-06-05 2013-12-05 Tanvir Ahmed Sql transformation-based optimization techniques for enforcement of data access control
WO2014109009A1 (ja) * 2013-01-09 2014-07-17 株式会社日立製作所 データベースの管理方法、管理計算機及び記憶媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109995738A (zh) * 2018-01-02 2019-07-09 中国移动通信有限公司研究院 一种访问控制方法、网关及云端服务器

Also Published As

Publication number Publication date
JP2016201043A (ja) 2016-12-01

Similar Documents

Publication Publication Date Title
US10185773B2 (en) Systems and methods of precision sharing of big data
US10404757B1 (en) Privacy enforcement in the storage and access of data in computer systems
EP2864900A1 (en) System and method for end-to-end exposure of exported representations of native data types to third-party applications
US20220335007A1 (en) Method and system for using dynamic content types
US11157641B2 (en) Short-circuit data access
US20240176822A1 (en) Projection constraint policies in a database system
JP2017538998A (ja) 要求元位置に基づくアクセス制御
US11966489B2 (en) Data certification process for cloud database platform
US11775559B1 (en) Distributing large amounts of global metadata using object files
US11522704B1 (en) Encrypted data management system
US11693648B2 (en) Automatically producing and code-signing binaries
WO2016167249A1 (ja) アクセス制御装置、およびアクセス制御方法
WO2022071946A1 (en) Data transformations based on policies
US11706472B2 (en) Modifying event playlists
US11829367B2 (en) Data certification process for updates to data in cloud database platform
US11392587B1 (en) Rule generation and data certification onboarding process for cloud database platform
US20240232421A1 (en) Data Certification Process for Cloud Database Platform
US20240143825A1 (en) Sidecar data services for enforcing data policies
EP4345643A1 (en) Distributing large amounts of global metadata using object files
US20230088566A1 (en) Techniques for controlling access to segmented data
US20240111784A1 (en) Distributing large amounts of global metadata using object files
US20240171544A1 (en) Bi-directional data sharing between private and public clouds
WO2023114164A1 (en) Data certification process for cloud database platform

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16780040

Country of ref document: EP

Kind code of ref document: A1