WO2010128926A1 - A system and method for controlling policy distribution with partial evaluation - Google Patents

A system and method for controlling policy distribution with partial evaluation Download PDF

Info

Publication number
WO2010128926A1
WO2010128926A1 PCT/SE2010/050035 SE2010050035W WO2010128926A1 WO 2010128926 A1 WO2010128926 A1 WO 2010128926A1 SE 2010050035 W SE2010050035 W SE 2010050035W WO 2010128926 A1 WO2010128926 A1 WO 2010128926A1
Authority
WO
WIPO (PCT)
Prior art keywords
policy
protected
access control
operable
attributes
Prior art date
Application number
PCT/SE2010/050035
Other languages
French (fr)
Inventor
Erik Rissanen
Original Assignee
Axiomatics Ab
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 Axiomatics Ab filed Critical Axiomatics Ab
Priority to EP10772328.0A priority Critical patent/EP2428018B1/en
Priority to EP19197309.8A priority patent/EP3651430B1/en
Priority to US13/318,886 priority patent/US20120066739A1/en
Publication of WO2010128926A1 publication Critical patent/WO2010128926A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management

Definitions

  • the present invention relates in a first aspect to a system operable to control policy distribution with partial evaluation in order to permit/deny access to a protected means.
  • the present invention relates to a method for controlling policy distribution with partial evaluation in order to permit/deny access to a protected means.
  • the present invention relates to at least one computer program product for controlling policy distribution with partial evaluation in order to permit/deny access to a protected means.
  • XACML is an access control policy language.
  • XACML is an access control policy language.
  • a large enterprise will have many different resources and lots of policies about different resources.
  • Another approach is to manually decide which policies to send to which PDP.
  • This represents an administrative overhead and is prone to error.
  • a third approach is to use a subset of XACML for control over distribution, for instance the XACML standard has a "profile" (an additional extra piece of "appendix” we could say) by which it is possible to request a policy based on matching of the top level target only.
  • this represents an administrative overhead since the policies must be kept in this form. Besides, it does not allow distribution of any XACML policy, since the policies must be in a special form where the top level target is used for distribution control. Furthermore, it is prone to error.
  • the above mentioned problems are solved by a system operable to control policy distribution with partial evaluation in order to permit/deny access to a protected means according to Claim 1.
  • the system comprises a storing means operable to store ail access control policy functions for all protected means.
  • the system also comprises a guard means operable to guard access to a protected means and to construct an access control request comprising attributes regarding the protected means.
  • the system also comprises a policy decision means connected to the guard means and operable to receive the access control request from the guard means.
  • the system also comprises a policy distribution means connected to the storing means, and to the policy decision means.
  • the policy decision means is also operable to collect the static attributes of the protected means, and to send the static attributes to the policy distribution means, which in turn is operable to construct a partial access control request from the static attributes of the protected means, and to perform partial evaluation against the access control policy function stored in the storing means, resulting in a simplified access controi policy function.
  • the policy distribution means is operable to send the simplified access control policy function to the policy decision means, which in turn is operable to use the simplified access control policy function to evaluate access control requests regarding the protected means, and to return a permit/deny response to the guard means.
  • the system also comprises an input means connected to the storing means, and operable to input a new access control policy function or to amend an access control policy function in the storing means.
  • a further advantage in this context is achieved if each protected means is connected to the guard means closest to the protected means.
  • the storing means is in the form of a database.
  • attributes are in the form of attributes which are present, attributes which are not present and attributes which are undefined.
  • the above mentioned problems are also solved with a method for controlling policy distribution with partial evaluation in order to permit/deny access to a protected means according to Claim 7.
  • the method is performed with the aid of a system. The method comprises the steps:
  • the method also comprises the step: - with the aid of an input means comprised in the system and connected to the storing means, to input a new access control policy function, or to amend an access control poiicy function in the storing means.
  • the attributes are in the form of attributes which are present, attributes which are not present and attributes which are undefined.
  • the step to perform partial evaluation is performed by substituting the attributes which are present in the partial access control request with values into the access control policy function.
  • the above mentioned problems are also solved with at least one computer program product according to Claim 12.
  • the at least one computer program product is/are directly loadable into the internal memory of at least one digital computer, and comprises software code portions for performing the steps of the method according the present invention when the at least one product is/are run on the at least one computer.
  • FIG. 1 is a block diagram of the XACML architecture according to prior art
  • Fig. 2 is a block diagram of a system operable to control policy distribution with partial evaluation in order to permit/deny access to a protected means according to the present invention
  • Fig. 3 is a flow chart of a method for controiii ⁇ g policy distribution with partial evaluation in order to permit/deny access to a protected means according to the present invention.
  • Fig. 4 schematically shows a number of computer program products according to the present invention.
  • fig. 1 there is disclosed a block diagram of the XACML architecture 200, although simplified, according to the prior art.
  • XACML is an access control policy language.
  • An attempt to access a resource 202 is described in terms of a "Request", which lists attributes of the subject 204, the resource 202, the action and the environment 206.
  • Most kinds of "facts" about the subject 204, resource 202, action and environment 206 can be described in terms of attributes.
  • An attribute is an identifier, a data type and a value. It can also be described as a variable with a name (the identifier), a data type and a value.
  • the request is constructed by a Policy Enforcement Point, PEP 208.
  • PEP 208 The purpose of a PEP 208 Is to guard access to a resource 202 and let only authorized users through.
  • the PEP 208 itself does not know who is authorized, rather it submits the request to a Policy Decision Point, PDP 210, which contain policies about which requests that shall be permitted respective denied.
  • PDP 210 evaluates the policies, and returns a permit/deny response to the PEP 208.
  • the PEP 208 then either lets the access proceed or stops it.
  • the fundamentai purpose with this architecture is to establish separation of concerns, that is, to differentiate between policy decision making and policy enforcement. Enforcement is by its nature specific to a particular resource 202, while a decision engine can be made general purpose and reusable.
  • fig. 2 there is disclosed a block diagram of a system 10 operable to control policy distribution with partial evaluation in order to permit/deny access to protected means 12 according to the present invention.
  • the system 10 comprises a storing means 14 operable to store all access control policy functions for ail protected means 12, It is pointed out that for the sake of simplicity there is only disclosed one protected means 12 in fig. 2.
  • the system 10 also comprises a guard means 16 connected to the protected means 12, and operable to guard access to the protected means 12, and to construct an access controi request comprising attributes regarding the protected means 12, As is apparent in fig.
  • the system 10 also comprises a policy decision means 18 connected to the guard means 16 and operable to receive the access control request from the guard means 16. Furthermore, the system 10 comprises a policy distribution means 20 connected to the storing means 14 and to the policy decision means 18. The policy decision means 18 is in turn also operable to collect the static attributes of the protected means 12, and to send the static attributes to the policy distribution means 20. Furthermore, the policy distribution means 20 is operable to construct a partial access control request from the static attributes of the protected means 12, and to perform partial evaluation against the access contra! policy function stored in the storing means 14, resulting in a simplified access control policy function.
  • each protected means 12 is a resource, a subject, an action, an environment, or a combination of two or more of these alternatives.
  • system 10 also comprises an input means 22 connected to the storing means 14 (see fig. 2).
  • the input means 22 is operable to input a new access control policy function or to amend an access control policy function in the storing means 14.
  • each protected means 12 is connected to the guard means 16 closest to the protected means 12. Although it is not disclosed in fig. 2, it is pointed out that there can be several protected means 12 connected to the same guard means 16.
  • the storing means 14 is in the form of a database 14.
  • the attributes can be partitioned into attributes which are present, attributes which are not present and attributes which are undefined. Since these three sets partition the set of possible attributes, it is necessary to only define two of them and the third is implied. Typically, the set of attributes which are present and the set of undefined attributes are explicitly listed in an actual request, but this need not always to be the case.
  • fig. 3 there is disclosed a flow chart of a method for controlling policy distribution with partial evaluation in order to permit/deny access to a protected means 12 (see fig. 2) according to the present invention. The method begins at block 50. The method continues, at block 52, with the step: with the aid of the policy decision means 18 connected to the guard means 16, to collect the static attributes of the protected means 12.
  • the method continues, at block 54, with the step: to send the static attributes to the policy distribution means 20 comprised in the system 10 and connected to the policy decision means 18, and to the storing means 14.
  • the storing means 14 is operable to store ail access control policy functions for all protected means 12.
  • the method continues, at block 56, with the step: to construct a partial access control request from the static attributes of the protected means 12. This is performed by the policy distribution means 20.
  • the method continues, at block 58, with the step: to perform partial evaluation against the access control policy function stored in the storing means 14, resulting in a simplified access control policy function. This is also performed by the policy distribution means 20.
  • the method continues, at block 60, with the step: to send the simplified access control policy function to the policy decision means 18.
  • the method continues, at block 62, with the step: with the aid of the guard means 16, to construct an access control request comprising attributes regarding the protected means 12.
  • the method continues, at block 64, with the step: to send the access control request to the policy decision means 18. This is performed by the guard means 16.
  • the method continues, at block 66, with the step: to use the simplified access control policy function to evaluate access control requests regarding the protected means 12.
  • the method continues, at block 68, with the step: to return a permit/deny response to the guard means 16. This is performed by the policy decision means 18.
  • the method is completed at block 70.
  • each protected means 12 is a resource, a subject, an action, an environment, or a combination of two or more of these alternatives.
  • the method also comprises the step: with the aid of the input means 22 comprised in the system 10 and connected to the storing means 14, to input a new access contra! policy function, or to amend an access control policy function in the storing means 14.
  • the attributes can be partitioned into attributes which are present, attributes which are not present and attributes which are undefined. Since these three sets partition the set of possible attributes, it is necessary to only define two of them and the third is implied. Typica ⁇ y, the set of attributes which are present and the set of undefined attributes are explicitly listed in an actual request, but this need not always to be the case.
  • the step to perform partiai evaluation is performed by substituting the attributes which are present in the partial access control request with values into the access control policy function.
  • Partial evaluation works on an access control poiicy language.
  • the policy language consists of functional expressions.
  • the access control policy is a functional expression formed by nesting the functionai components of the language. At the ieaf levei in the functional tree, there are references to the attributes in the access control request, such that selected attributes from the access control request form the inputs to the arguments of the access control policy function.
  • the access control policy has a form such as below.
  • F1 , F2 and so on denote functions
  • A1 , A2 and so on denote references to attributes in the access control request.
  • Each function may take any number of arguments and the functions may be nested arbitrarily deep.
  • the topmost function (F1 in this case) returns an access control decision Permit, Deny or any of a number of error or diagnostic codes.
  • Nested functions may return any data type.
  • a partial request is an access control request which does not contain al! the attributes which are expected in a full access control request.
  • Partial evaluation is performed by substituting the attributes which are present in the partiai request into the access control policy function and evaluating the function as far as possible. For instance, if in the above given example, A2, A5 and A6 are present in the partiai request, but the other attributes are not, the function can be substituted as follows:
  • the new access control policy function will give the same result as the origfna! to each full request, as long as the full access control request contains the attributes which were defined in the partial request in fig. 4, some computer program products 102i, .... 102 n according to the present invention are schematically shown.
  • n different digital computers 100i, ..., 10O n are shown, where n is an integer.
  • n different computer program products 102i, ..., 102 n are shown, here shown in the form of CD discs.
  • the different computer program products 102i 102 n are directly loadable into the internal memory of the n different computers 100i, .... 10O n .
  • Each computer program product 102i, ..., 102 n comprises software code portions for performing all the steps according to fig. 3, when the product/products 102i, .... 102 n is/are run on the computers 100i 10O n .
  • 102 n may, for instance, be in the form of diskettes, RAM discs, magnetic tapes, magneto-optical discs or some other suitable products.

Landscapes

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

Abstract

The present invention relates to a system (10) operable to control policy distribution with partial evaluation in order to permit/deny access to a protected means (12). The system (10) comprises a storing means (14) operable to store all access control policy functions for all protected means (12), a guard means (16) operable to guard access to a protected means (12) and to construct an access control request comprising attributes regarding the protected means (12), a policy decision means (18) connected to the guard means (16) and operable to receive the access control request from the guard means (18). The system (10) also comprises a policy distribution means (20) connected to the storing means (14) and to the policy decision means (18). The policy decision means (18) is operable to collect the static attributes of the protected means (12), and to send the static attributes to the poiicy distribution means (20), which in turn is operable to construct a partial access control request from the static attributes of the protected means (12), and to perform partial evaluation against the access control poiicy function stored in the storing means (14), resulting in a simplified access control policy function. The policy distribution means (20) is operable to send the simplified access control poiicy function to the policy decision means (18), which in turn is operabie to use the simplified access control policy function to evaiuate access control requests regarding the protected means (12), and to return a permit/deny response to the guard means (18).

Description

A SYSTEM AND METHOD FOR CONTROLLING POLICY DISTRIBUTION WITH PARTIAL EVALUATION
Field of the invention The present invention relates in a first aspect to a system operable to control policy distribution with partial evaluation in order to permit/deny access to a protected means.
According to a second aspect the present invention relates to a method for controlling policy distribution with partial evaluation in order to permit/deny access to a protected means.
According to a third aspect the present invention relates to at least one computer program product for controlling policy distribution with partial evaluation in order to permit/deny access to a protected means.
Background of the invention
XACML is an access control policy language. In practical use of XACML a large enterprise will have many different resources and lots of policies about different resources. There is a desire to make management of the policies easy to handle. It is desirable to centralize the machinery for policy management so it is easy to manage all the policies, rather than having lots of policies spread around all over with little control over them.
It is also desirable to make the "physical" distance between a PEP (Policy Enforcement Point) and a PDP (Policy Decision Point) short for performance reasons. Sending each request to a single central PDP in a large enterprise does not scale well. The load on the PDP will get high and the delay from the request and response in transit over a network will degrade performance.
So it is desirable to have many PDPs around, close to the resources. These many PDPs need to be managed efficiently. Each PDP must receive the right policies about those resources (or perhaps users) which they receive requests about. But at the same time it is desirable to hide this machinery of many PDPs from the administration, and present a consolidated view of the whole enterprise to the administrators.
Existing approaches to policy distribution have a lot of problems. One approach is to distribute all policies to ail PDPs. This is simple and the whole enterprise looks like a single PDP to the administrators. However, distributing all policies is inefficient, because there is an overhead in network communications sending policies which are not needed at each PDP. Each PDP wil! have a large set of policies to evaluate, which degrades runtime performance. Furthermore, distributing all policies may be undesirable, because policies may be sensitive/confidential and must not be disclosed to any PDP.
Another approach is to manually decide which policies to send to which PDP. However, this represents an administrative overhead and is prone to error. A third approach is to use a subset of XACML for control over distribution, for instance the XACML standard has a "profile" (an additional extra piece of "appendix" we could say) by which it is possible to request a policy based on matching of the top level target only. However, this represents an administrative overhead since the policies must be kept in this form. Besides, it does not allow distribution of any XACML policy, since the policies must be in a special form where the top level target is used for distribution control. Furthermore, it is prone to error.
Summary of the invention The above mentioned problems are solved by a system operable to control policy distribution with partial evaluation in order to permit/deny access to a protected means according to Claim 1. The system comprises a storing means operable to store ail access control policy functions for all protected means. The system also comprises a guard means operable to guard access to a protected means and to construct an access control request comprising attributes regarding the protected means. Furthermore, the system also comprises a policy decision means connected to the guard means and operable to receive the access control request from the guard means. The system also comprises a policy distribution means connected to the storing means, and to the policy decision means. The policy decision means is also operable to collect the static attributes of the protected means, and to send the static attributes to the policy distribution means, which in turn is operable to construct a partial access control request from the static attributes of the protected means, and to perform partial evaluation against the access control policy function stored in the storing means, resulting in a simplified access controi policy function. The policy distribution means is operable to send the simplified access control policy function to the policy decision means, which in turn is operable to use the simplified access control policy function to evaluate access control requests regarding the protected means, and to return a permit/deny response to the guard means.
The main advantages with this system can be summarised in below. Policies are distributed automatically to the right resource/protected means without administrator intervention or coordination. It works for any kind of XACML policy, though some policies can be "simplified" more than others. We get a consolidated policy view for administrators for the whole enterprise. Furthermore, each PEP/guard means can get a set of resource/protected means specific policies which are located close to the PEP1 and are "minimar in that they apply only to the specific resource and ali static attributes have already been calculated in the policies. A further advantage in this context is achieved if each protected means is a resource, a subject, an action, an environment, or a combination of two or more of these alternatives.
Furthermore, it is an advantage in this context if the system also comprises an input means connected to the storing means, and operable to input a new access control policy function or to amend an access control policy function in the storing means.
A further advantage in this context is achieved if each protected means is connected to the guard means closest to the protected means.
Furthermore, it is an advantage in this context if the storing means is in the form of a database.
A further advantage in this context is achieved if the attributes are in the form of attributes which are present, attributes which are not present and attributes which are undefined.
The above mentioned problems are also solved with a method for controlling policy distribution with partial evaluation in order to permit/deny access to a protected means according to Claim 7. The method is performed with the aid of a system. The method comprises the steps:
- with the aid of a policy decision means connected to a guard means, both comprised in the system, to collect the static attributes of the protected means; - to send the static attributes to a policy distribution means comprised in the system and connected to the policy decision means, and to a storing means comprised in the system and operable to store all access control policy functions for all protected means; - to construct a partial access control request from the static attributes of the protected means;
- to perform partial evaluation against the access control policy function stored in the storing means, resulting in a simplified access control policy function;
- to send the simplified access control policy function to the policy decision means; - with the aid of the guard means, to construct an access control request comprising attributes regarding the protected means;
- to send the access control request to the policy decision means;
- to use the simplified access control policy function to evaluate access control requests regarding the protected means; and - to return a permit/deny response to the guard means.
The main advantages with this method can be summarised in below. Policies are distributed automatically to the right resource/protected means without administrator intervention or coordination. St works for any kind of XACML policy, though some policies can be "simplified" more than others. We get a consolidated poiicy view for administrators for the whole enterprise. Furthermore, each PEP/guard means can get a set of resource/protected means specific policies which are located close to the PEP1 and are "minima!" in that they apply only to the specific resource and ail static attributes have already been calculated in the policies. A further advantage in this context is achieved if each protected means is a resource, a subject, an action, an environment, or a combination of two or more of these alternatives.
Furthermore, it is an advantage in this context if the method also comprises the step: - with the aid of an input means comprised in the system and connected to the storing means, to input a new access control policy function, or to amend an access control poiicy function in the storing means. A further advantage in this context is achieved if the attributes are in the form of attributes which are present, attributes which are not present and attributes which are undefined.
Furthermore, it is an advantage in this context if the step to perform partial evaluation is performed by substituting the attributes which are present in the partial access control request with values into the access control policy function.
The above mentioned problems are also solved with at least one computer program product according to Claim 12. The at least one computer program product is/are directly loadable into the internal memory of at least one digital computer, and comprises software code portions for performing the steps of the method according the present invention when the at least one product is/are run on the at least one computer.
The main advantages with this computer program product can be summarised in beiow. Policies are distributed automatically to the right resource/protected means without administrator intervention or coordination. It works for any kind of XACML policy, though some policies can be "simplified" more than others. We get a consolidated policy view for administrators for the whole enterprise. Furthermore, each PEP/guard means can get a set of resource/protected means specific policies which are located close to the PEP, and are "minimal" in that they only apply to the specific resource and all static attributes have already been calculated in the policies.
It will be noted that the term "comprises/comprising" as used in this description is intended to denote the presence of a given characteristic, step or component, without excluding the presence of one or more other characteristic, features, integers, steps, components or groups thereof.
Embodiments of the invention will now be described with a reference to the accompanying drawings, in which:
Brief description of the drawings Fig. 1 is a block diagram of the XACML architecture according to prior art;
Fig. 2 is a block diagram of a system operable to control policy distribution with partial evaluation in order to permit/deny access to a protected means according to the present invention; Fig. 3 is a flow chart of a method for controiiiπg policy distribution with partial evaluation in order to permit/deny access to a protected means according to the present invention; and
Fig. 4 schematically shows a number of computer program products according to the present invention.
Detailed description of the preferred embodiments
!n fig. 1 there is disclosed a block diagram of the XACML architecture 200, although simplified, according to the prior art. As stated before, XACML is an access control policy language. An attempt to access a resource 202 is described in terms of a "Request", which lists attributes of the subject 204, the resource 202, the action and the environment 206. Most kinds of "facts" about the subject 204, resource 202, action and environment 206 can be described in terms of attributes. An attribute is an identifier, a data type and a value. It can also be described as a variable with a name (the identifier), a data type and a value.
The request is constructed by a Policy Enforcement Point, PEP 208. The purpose of a PEP 208 Is to guard access to a resource 202 and let only authorized users through. The PEP 208 itself does not know who is authorized, rather it submits the request to a Policy Decision Point, PDP 210, which contain policies about which requests that shall be permitted respective denied. The PDP 210 evaluates the policies, and returns a permit/deny response to the PEP 208. The PEP 208 then either lets the access proceed or stops it.
The fundamentai purpose with this architecture is to establish separation of concerns, that is, to differentiate between policy decision making and policy enforcement. Enforcement is by its nature specific to a particular resource 202, while a decision engine can be made general purpose and reusable.
In general policies can be nested in a tree form. Different policies are combined using so called combining algorithms which define which policy takes precedence over another. In fig. 2 there is disclosed a block diagram of a system 10 operable to control policy distribution with partial evaluation in order to permit/deny access to protected means 12 according to the present invention. The system 10 comprises a storing means 14 operable to store all access control policy functions for ail protected means 12, It is pointed out that for the sake of simplicity there is only disclosed one protected means 12 in fig. 2. Furthermore, the system 10 also comprises a guard means 16 connected to the protected means 12, and operable to guard access to the protected means 12, and to construct an access controi request comprising attributes regarding the protected means 12, As is apparent in fig. 2, the system 10 also comprises a policy decision means 18 connected to the guard means 16 and operable to receive the access control request from the guard means 16. Furthermore, the system 10 comprises a policy distribution means 20 connected to the storing means 14 and to the policy decision means 18. The policy decision means 18 is in turn also operable to collect the static attributes of the protected means 12, and to send the static attributes to the policy distribution means 20. Furthermore, the policy distribution means 20 is operable to construct a partial access control request from the static attributes of the protected means 12, and to perform partial evaluation against the access contra! policy function stored in the storing means 14, resulting in a simplified access control policy function. The policy distribution means 20 is thereafter operable to send the simplified access control policy function to the policy decision means 18, which in turn is operable to use the simplified access control policy function to evaluate access controi requests regarding the protected means 12, and to return a permit/deny response to the guard means 16. According to a preferred embodiment of the system 10, each protected means 12 is a resource, a subject, an action, an environment, or a combination of two or more of these alternatives.
Furthermore, according to another embodiment the system 10 also comprises an input means 22 connected to the storing means 14 (see fig. 2). The input means 22 is operable to input a new access control policy function or to amend an access control policy function in the storing means 14.
According to another preferred embodiment of the system 10, each protected means 12 is connected to the guard means 16 closest to the protected means 12. Although it is not disclosed in fig. 2, it is pointed out that there can be several protected means 12 connected to the same guard means 16.
Furthermore, according to another alternative the storing means 14 is in the form of a database 14.
The attributes can be partitioned into attributes which are present, attributes which are not present and attributes which are undefined. Since these three sets partition the set of possible attributes, it is necessary to only define two of them and the third is implied. Typically, the set of attributes which are present and the set of undefined attributes are explicitly listed in an actual request, but this need not always to be the case. In fig. 3 there is disclosed a flow chart of a method for controlling policy distribution with partial evaluation in order to permit/deny access to a protected means 12 (see fig. 2) according to the present invention. The method begins at block 50. The method continues, at block 52, with the step: with the aid of the policy decision means 18 connected to the guard means 16, to collect the static attributes of the protected means 12. Thereafter, the method continues, at block 54, with the step: to send the static attributes to the policy distribution means 20 comprised in the system 10 and connected to the policy decision means 18, and to the storing means 14. The storing means 14 is operable to store ail access control policy functions for all protected means 12. The method continues, at block 56, with the step: to construct a partial access control request from the static attributes of the protected means 12. This is performed by the policy distribution means 20. Thereafter, the method continues, at block 58, with the step: to perform partial evaluation against the access control policy function stored in the storing means 14, resulting in a simplified access control policy function. This is also performed by the policy distribution means 20. The method continues, at block 60, with the step: to send the simplified access control policy function to the policy decision means 18. This is also performed by the policy distribution means 20. Thereafter, the method continues, at block 62, with the step: with the aid of the guard means 16, to construct an access control request comprising attributes regarding the protected means 12. The method continues, at block 64, with the step: to send the access control request to the policy decision means 18. This is performed by the guard means 16. Thereafter, the method continues, at block 66, with the step: to use the simplified access control policy function to evaluate access control requests regarding the protected means 12. The method continues, at block 68, with the step: to return a permit/deny response to the guard means 16. This is performed by the policy decision means 18. The method is completed at block 70.
According to a preferred embodiment of the method, each protected means 12 is a resource, a subject, an action, an environment, or a combination of two or more of these alternatives. According to another embodiment, the method also comprises the step: with the aid of the input means 22 comprised in the system 10 and connected to the storing means 14, to input a new access contra! policy function, or to amend an access control policy function in the storing means 14. Furthermore, the attributes can be partitioned into attributes which are present, attributes which are not present and attributes which are undefined. Since these three sets partition the set of possible attributes, it is necessary to only define two of them and the third is implied. Typicaϋy, the set of attributes which are present and the set of undefined attributes are explicitly listed in an actual request, but this need not always to be the case.
According to a preferred embodiment of the method, the step to perform partiai evaluation is performed by substituting the attributes which are present in the partial access control request with values into the access control policy function. Partial evaluation works on an access control poiicy language. The policy language consists of functional expressions. The access control policy is a functional expression formed by nesting the functionai components of the language. At the ieaf levei in the functional tree, there are references to the attributes in the access control request, such that selected attributes from the access control request form the inputs to the arguments of the access control policy function.
Thus the access control policy has a form such as below.
F1(F2(F3(A1 , A2, ...), F4(A3, A4t ...), F5{A5P A6, ...), ...)) where F1 , F2 and so on denote functions, and A1 , A2 and so on denote references to attributes in the access control request. Each function may take any number of arguments and the functions may be nested arbitrarily deep. The topmost function (F1 in this case) returns an access control decision Permit, Deny or any of a number of error or diagnostic codes. Nested functions may return any data type. A partial request is an access control request which does not contain al! the attributes which are expected in a full access control request. Partial evaluation is performed by substituting the attributes which are present in the partiai request into the access control policy function and evaluating the function as far as possible. For instance, if in the above given example, A2, A5 and A6 are present in the partiai request, but the other attributes are not, the function can be substituted as follows:
F1(F2(F3(A1 , a2, ...), F4(A3, A4, ...), F5(a5, aβ. ...), -)) where a2, a5 and a6 denote the values for the attributes A2S A5 and Aδ respectiveiy.
It may be possible to simplify the function further since given the values of some attributes, some functions may be determined regardless of the value of the other arguments. For instance, the Boolean function AND(A8, A9, A10) can be evaluated to False if it can be found that at least one of its arguments is False. Thus, partial evaluation results in a simplified access control policy function, where parts of, or the full original access contra! policy function may be determined. For instance, the above given example might simplify into a new function:
F1(F2(F6(A1, A4})) The new access control policy function will give the same result as the origfna! to each full request, as long as the full access control request contains the attributes which were defined in the partial request in fig. 4, some computer program products 102i, .... 102n according to the present invention are schematically shown. In fig. 4, n different digital computers 100i, ..., 10On are shown, where n is an integer. In fig. 4, n different computer program products 102i, ..., 102n are shown, here shown in the form of CD discs.
The different computer program products 102i 102n are directly loadable into the internal memory of the n different computers 100i, .... 10On. Each computer program product 102i, ..., 102n comprises software code portions for performing all the steps according to fig. 3, when the product/products 102i, .... 102n is/are run on the computers 100i 10On. The computer program products 102-j, ... ,
102n may, for instance, be in the form of diskettes, RAM discs, magnetic tapes, magneto-optical discs or some other suitable products.
The invention is not limited to the described embodiments. It will be evident for those skilled in the art that many different modifications are feasible within the scope of the following Claims.

Claims

1. A system (10) operable to control policy distribution with partial evaluation in order to permit/deny access to a protected means (12), said system (10) comprising a storing means (14) operable to store al! access control policy functions for all protected means (12), a guard means (16) operable to guard access to a protected means (12) and to construct an access control request comprising attributes regarding said protected means (12), a policy decision means (18) connected to said guard means (16) and operable to receive said access control request from said guard means (16), characterized in that said system (10) also comprises a policy distribution means (20) connected to said storing means (14), and to said policy decision means (18), wherein said policy decision means (18) also is operable to collect the static attributes of said protected means (12), and to send said static attributes to said policy distribution means (20), which in turn is operable to construct a partial access control request from said static attributes of said protected means (12), and to perform partial evaluation against the access contra! policy function stored in said storing means (14), resulting in a simplified access control policy function, wherein said poiicy distribution means (20) is operable to send said simplified access control policy function to said policy decision means (18), which in turn is operable to use said simplified access control policy function to evaluate access control requests regarding said protected means (12), and to return a permit/deny response to said guard means (16).
2. A system (10) operable to control poiicy distribution with partial evaluation in order to permit/deny access to a protected means (12) according to Claim 1, characterized in that each said protected means (12) is a resource, a subject, an action, an environment, or a combination of two or more of these alternatives.
3. A system (10) operable to contra! policy distribution with partial evaluation in order to permit/deny access to a protected means (12) according to Claim 1 or 2, characterized in that said system (10) also comprises an input means (22) connected to said storing means (14), and operable to input a new access control policy function or to amend an access controi policy function in said storing means (14).
4. A system (10) operable to control policy distribution with partial evaluation in order to permit/deny access to a protected means (12) according to any one of
Claims 1-3, eharaeterϊxed in that each said protected means (12) is connected to said guard means (16) closest to said protected means (12).
5. A system (10) operable to control policy distribution with partial evaluation in order to permit/deny access to a protected means (12) according to any one of
Claims 1-4» characterized in that said storing means (14) is in the form of a database (14).
6. A system (10) operable to control policy distribution with partial evaluation in order to permit/deny access to a protected means (12) according to any one of
Claims 1-5, characterized in that said attributes are in the form of attributes which are present, attributes which are not present and attributes which are undefined.
7. A method for controlling, with the aid of a system (10), policy distribution with partial evaluation in order to permit/deny access to a protected means (12), said method comprises the steps:
- with the aid of a poiicy decision means (18) connected to a guard means (16), both comprised in said system (10), to collect the static attributes of said protected means (12); - to send said static attributes to a poiicy distribution means (20) comprised in said system (10) and connected to said policy decision means (18), and to a storing means (14) comprised in said system (10) and operable to store all access controi policy functions for all protected means (12);
- to construct a partial access control request from said static attributes of said protected means (12);
- to perform partial evaluation against the access control poiicy function stored in said storing means (14), resulting in a simplified access contra! policy function;
- to send said simplified access control policy function to said policy decision means (18); - with the aid of said guard means (16), to construct an access control request comprising attributes regarding said protected means (12);
- to send said access control request to said policy decision means (18);
~ to use said simplified access control poucy function to evaluate access control requests regarding said protected means (12); and
- to return a permit/deny response to said guard means (16),
8. A method for controlling policy distribution with partial evaluation in order to permit/deny access to a protected means (12) according to Claim 7, characterized in that each said protected means (12) is a resource, a subject, an action, an environment, or a combination of two or more of these alternatives.
9. A method for controlling policy distribution with partial evaluation in order to permit/deny access to a protected means (12) according to Claim 7 or 8, characterized! in that said method also comprises the step:
- with the aid of an input means (22) comprised in said system (10) and connected to said storing means (14), to input a new access control policy function, or to amend an access control policy function in said storing means (14).
10. A method for controlling policy distribution with partial evaluation in order to permit/deny access to a protected means (12) according to any one of Ciaims 7-9, characterized in that said attributes are in the form of attributes which are present, attributes which are not present and attributes which are undefined.
11. A method for controlling policy distribution with partial evaluation in order to permit/deny access to a protected means (12) according to any one of Claims 7-10, characterized in that said step to perform partial evaluation is performed by substituting said attributes which are present in said partial access contra! request with values into said access contra! poϋcy function.
12. At ieast one computer program product (102i, ..., 102n) directly loadable into the internal memory of at ieast one digital computer (10O1, ... , 10On), comprising software code portions for performing the steps of Claim 7 when said ast one product (1021, .... 102n) is/are run on said at least one computer (1001 , ..., 100n).
PCT/SE2010/050035 2009-05-07 2010-01-14 A system and method for controlling policy distribution with partial evaluation WO2010128926A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP10772328.0A EP2428018B1 (en) 2009-05-07 2010-01-14 A system and method for controlling policy distribution with partial evaluation
EP19197309.8A EP3651430B1 (en) 2009-05-07 2010-01-14 A system and method for controlling policy distribution with partial evaluation
US13/318,886 US20120066739A1 (en) 2009-05-07 2010-01-14 System and method for controlling policy distribution with partial evaluation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
SE0950322-8 2009-05-07
SE0950322A SE534334C2 (en) 2009-05-07 2009-05-07 A system and procedure for controlling policy distribution with partial evaluation

Publications (1)

Publication Number Publication Date
WO2010128926A1 true WO2010128926A1 (en) 2010-11-11

Family

ID=43050274

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/SE2010/050035 WO2010128926A1 (en) 2009-05-07 2010-01-14 A system and method for controlling policy distribution with partial evaluation

Country Status (4)

Country Link
US (1) US20120066739A1 (en)
EP (2) EP2428018B1 (en)
SE (1) SE534334C2 (en)
WO (1) WO2010128926A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012091652A1 (en) * 2010-12-30 2012-07-05 Axiomatics Ab A system and method for using partial evaluation for efficient remote attribute retrieval
WO2012091653A1 (en) 2010-12-30 2012-07-05 Axiomatics Ab A system and method for evaluating a reverse query
EP2521066A1 (en) * 2011-05-05 2012-11-07 Axiomatics AB Fine-grained relational database access-control policy enforcement using reverse queries
US8966576B2 (en) 2012-02-27 2015-02-24 Axiomatics Ab Provisioning access control using SDDL on the basis of a XACML policy
US9626452B2 (en) 2011-05-05 2017-04-18 Axiomatics Ab Fine-grained database access-control policy enforcement using reverse queries
US9646164B2 (en) 2010-12-30 2017-05-09 Aziomatics Ab System and method for evaluating a reverse query

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8799986B2 (en) * 2009-05-07 2014-08-05 Axiomatics Ab System and method for controlling policy distribution with partial evaluation
US9432375B2 (en) 2013-10-10 2016-08-30 International Business Machines Corporation Trust/value/risk-based access control policy

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005009003A1 (en) * 2003-07-11 2005-01-27 Computer Associates Think, Inc. Distributed policy enforcement using a distributed directory
US20060041666A1 (en) * 2002-11-01 2006-02-23 Paulus Karremans Method and system for policy-based control in a distributed network
US20060200664A1 (en) * 2005-03-07 2006-09-07 Dave Whitehead System and method for securing information accessible using a plurality of software applications
WO2008046227A1 (en) * 2006-10-20 2008-04-24 Her Majesty The Queen, In Right Of Canada As Represented By The Minister Of Health Through The Public Health Agency Of Canada Method and apparatus for software policy management
EP1927930A1 (en) * 2006-11-30 2008-06-04 Sap Ag Method and system for access control using resouce filters
US20080184336A1 (en) * 2007-01-29 2008-07-31 Sekhar Sarukkai Policy resolution in an entitlement management system
US20090228951A1 (en) * 2008-03-05 2009-09-10 The Boeing Company Distributed security architecture

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7051366B1 (en) * 2000-06-21 2006-05-23 Microsoft Corporation Evidence-based security policy manager

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060041666A1 (en) * 2002-11-01 2006-02-23 Paulus Karremans Method and system for policy-based control in a distributed network
WO2005009003A1 (en) * 2003-07-11 2005-01-27 Computer Associates Think, Inc. Distributed policy enforcement using a distributed directory
US20060200664A1 (en) * 2005-03-07 2006-09-07 Dave Whitehead System and method for securing information accessible using a plurality of software applications
WO2008046227A1 (en) * 2006-10-20 2008-04-24 Her Majesty The Queen, In Right Of Canada As Represented By The Minister Of Health Through The Public Health Agency Of Canada Method and apparatus for software policy management
EP1927930A1 (en) * 2006-11-30 2008-06-04 Sap Ag Method and system for access control using resouce filters
US20080184336A1 (en) * 2007-01-29 2008-07-31 Sekhar Sarukkai Policy resolution in an entitlement management system
US20090228951A1 (en) * 2008-03-05 2009-09-10 The Boeing Company Distributed security architecture

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2428018A4 *

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2921986A1 (en) * 2010-12-30 2015-09-23 Axiomatics AB A system and method for evaluating a reverse query
US9223992B2 (en) 2010-12-30 2015-12-29 Axiomatics Ab System and method for evaluating a reverse query
US10158641B2 (en) 2010-12-30 2018-12-18 Axiomatics Ab System and method for evaluating a reverse query
US9646164B2 (en) 2010-12-30 2017-05-09 Aziomatics Ab System and method for evaluating a reverse query
EP2548141A1 (en) * 2010-12-30 2013-01-23 Axiomatics AB A system and method for evaluating a reverse query
EP2548141A4 (en) * 2010-12-30 2013-05-29 Axiomatics Ab A system and method for evaluating a reverse query
US20130291059A1 (en) * 2010-12-30 2013-10-31 Axiomatics Ab System and method for using partial evaluation for efficient remote attribute retrieval
WO2012091652A1 (en) * 2010-12-30 2012-07-05 Axiomatics Ab A system and method for using partial evaluation for efficient remote attribute retrieval
US9401930B2 (en) 2010-12-30 2016-07-26 Axiomatics Ab System and method for using partial evaluation for efficient remote attribute retrieval
WO2012091653A1 (en) 2010-12-30 2012-07-05 Axiomatics Ab A system and method for evaluating a reverse query
EP3299989A1 (en) 2011-05-05 2018-03-28 Axiomatics AB Database access-control policy enforcement using reverse queries
US8930403B2 (en) 2011-05-05 2015-01-06 Axiomatics Ab Fine-grained relational database access-control policy enforcement using reverse queries
EP3572963A1 (en) 2011-05-05 2019-11-27 Axiomatics AB Database access-control policy enforcement using reverse queries
EP3057030A1 (en) 2011-05-05 2016-08-17 Axiomatics AB Database access-control policy enforcement using reverse queries
US9626452B2 (en) 2011-05-05 2017-04-18 Axiomatics Ab Fine-grained database access-control policy enforcement using reverse queries
WO2012150316A1 (en) 2011-05-05 2012-11-08 Axiomatics Ab Fine-grained relational database access-control policy enforcement using reverse queries
US9037610B2 (en) 2011-05-05 2015-05-19 Axiomatics Ab Fine-grained relational database access-control policy enforcement using reverse queries
EP2521066A1 (en) * 2011-05-05 2012-11-07 Axiomatics AB Fine-grained relational database access-control policy enforcement using reverse queries
US9509722B2 (en) 2012-02-27 2016-11-29 Axiomatics Ab Provisioning access control using SDDL on the basis of an XACML policy
US8966576B2 (en) 2012-02-27 2015-02-24 Axiomatics Ab Provisioning access control using SDDL on the basis of a XACML policy

Also Published As

Publication number Publication date
US20120066739A1 (en) 2012-03-15
EP2428018B1 (en) 2019-09-18
SE0950322A1 (en) 2010-11-08
EP3651430B1 (en) 2022-03-23
EP2428018A1 (en) 2012-03-14
EP2428018A4 (en) 2017-02-08
EP3651430A1 (en) 2020-05-13
SE534334C2 (en) 2011-07-12

Similar Documents

Publication Publication Date Title
US8799986B2 (en) System and method for controlling policy distribution with partial evaluation
EP2428018B1 (en) A system and method for controlling policy distribution with partial evaluation
CN107070848B (en) Encrypting data for analytical web applications
US8122484B2 (en) Access control policy conversion
KR100968003B1 (en) Mechanism for evaluating security risks
US8990900B2 (en) Authorization control
US20090165110A1 (en) Delegation in logic-based access control
US11206262B2 (en) Policy-based triggering of revision of access control information
US9509722B2 (en) Provisioning access control using SDDL on the basis of an XACML policy
US20110314261A1 (en) Prefetch of Attributes in Evaluating Access Control Requests
EP1571526A1 (en) Metered execution of code
WO2012150316A1 (en) Fine-grained relational database access-control policy enforcement using reverse queries
JP2000047924A (en) System and method for restricting database access to managed object information using permission table that specifies access right corresponding to user access right to managed object
US20050268325A1 (en) Method and system for integrating policies across systems
US20220012158A1 (en) Application monitoring using workload metadata
US8010560B2 (en) Abducing assertion to support access query
US9049237B2 (en) System and method for performing partial evaluation in order to construct a simplified policy
SE1051167A1 (en) A system and method for performing partial evaluation in order to construct a simplified policy
Leicht et al. P2BAC: Privacy Policy Based Access Control Using P-LPL.
US7703135B2 (en) Accessing protected resources via multi-identity security environments
Trabelsi et al. Optimizing access control performance for the cloud

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2010772328

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 13318886

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE