Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've been reading the following papers in access control.

The papers ultimately try to reduce the access control mechanisms to lattice based access control. But I do not understand why reducing to lattice model is so important.

Can anyone comment?

share|cite|improve this question

Access control has to incorporate hierarchical structure, as can be modeled by a tree. It should also be possible to have more than one independent hierarchy controlling the access, as would be given by the direct product of the partial orders associated to the corresponding trees. The result will still be a partial order, but no longer a tree.

Working with general partial orders for access control would be inconvenient, because two access classes wouldn't necessarily have a unique superior access class. We could try to define an associative, commutative and idempotent binary operation $\oplus$ which computes the superior access class $a\oplus b$ for two given access classes $a$ and $b$. However, this operation $\oplus$ canonically defines a join-semilattice via $a\oplus b=b \leftrightarrow a \leq_\oplus b$, and the corresponding order $\leq_\oplus$ would better respect the given order $\leq$ in the sense that $a\leq_\oplus b \to a\leq b$. At this point, it is convenient to assume that the initial partial order is identical to the partial order defined by $\oplus$, because we could otherwise find $a$ and $b$ with $a\leq b$ but $a\oplus b > b$.

Now we have a join-semilattice. We may also safely assume that the number of access classes is finite. This is probably all that is needed for an access control mechanism. However, since all that is missing to get a lattice is a minimal element for the access classes, we simply add it. The advantage of a lattice is that it is much easier to find information about lattices than about join-semilattices. We also get the meet operation $\otimes$ for free, but it's unclear whether this operation will really be of much use in practice. (I only skimmed through the given references, so this conclusion might be wrong.) Trying to ensure that both $\oplus$ and $\otimes$ can be evaluated efficiently might even needlessly complicate the data-structure used for the access classes. Another issue with using a lattice instead of a join-semilattice is that a tree is only a join-semilattice, and adding a minimal element will destroy the property of being a tree.

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.