We present our conceptual model based on set and function formalism, algebra of sets and first order logic. The conceptual model specification is guided by conventional authorization notions and expected authorization requests.
An elementary policy statement consists of an object component, a positive or negative access right component and zero or more condition components. Thus, to represent the components, we define sets of elements called objects 5#5, positive rights 6#6, negative rights 7#7 and conditions 8#8. All existing policy statements are contained in the set 9#9. In addition, we define a set of authorization requests 10#10.
All the sets, except for 8#8
, are finite dynamic and unordered. The dynamic property
means that sets are not fixed, new elements can be added and existing
elements can be deleted. The finite property assumption requires that at any
particular time, the sets are finite. Negation is applied only to the
elements of the set 6#6 to model negative rights. We do not define negative
conditions. The empty set is denoted by 11#11.
5#5 is finite dynamic non-empty unordered set of object elements:
7#7 is finite dynamic non-empty unordered set of negative access right elements.
Set 7#7 is constructed from the set 6#6 by applying negation to
each element of the set 6#6.
8#8 is dynamic unordered set of condition elements with a special condition element 16#16, which
represents an empty condition:
9#9 is finite dynamic unordered set of compound policy elements:
10#10 is finite dynamic partially ordered set
of compound authorization request
elements:
Each element 3#3 of the set 10#10 represents a set of three elements:
The elements correspond to the target object (23#23), requested access right (24#24) and a condition constant (25#25). The condition constant 25#25 represents information which is matched to the requirements specified in the condition of the relevant policy statement. In practice, this information can be represented by a set of credentials, e.g., authenticated user identity. For example, a policy statement ``Anyone can read file 1#1 from 8am till 6pm'' specifies a time condition. The request ``read (24#24) file 1#1 (23#23) at 5pm (25#25)'' specifies current time and is matched to the time condition in the policy statement.
To make our model practical, special provisions should be made for dealing with the following situations:
In order to properly deal with these situations we will adopt a three-valued logic [9], [13].
Three-valued logic is classical boolean (true/false) logic extended with a third truth value - undefined.
We define an auxiliary set 2#2, consisting of the three constants: true,
represented by 26#26, false, represented by 27#27 and 28#28, meaning uncertainty.
Table 1 shows the truth tables, when at least one argument is equal to 28#28.
In addition, 31#31. Next we define functions to express an authorization process.
The 32#32 function takes a set of policy elements 9#9 and request 3#3,
which contains particular object 33#33 as an argument and returns
a subset
34#34 where this object appears.
| 44#44 | 45#45 | 46#46 | |
| 47#47 | 48#48 | 49#49 | (13) |
The 57#57 is a composite function: