![](bg2.png)
obligations, permissions and interdictions. Deontic logics are typically endowed with
systems of inference rules whereby given facts of the logics can be proved or refuted [3,
4]. To our current understanding, what appears to be missing is some mechanism for the
automatic generation of tests, hence a full verification method. For example, let us con-
sider a security policy for file-system access. Checking that a candidate norm such as ”a
System Security Officer is permitted to write on system files” induces no contradiction
is indeed interesting. But verifying that none of the norms for a System Security Offi-
cer induces contradiction or that no norm at all induces contradiction would be deeper
results, much closer to some notion of policy correctness. Equivalent terminology is
policy consistency.
Absence of contradictions and absence of dilemmas are the basic requirements of
policy correctness. There is a contradiction when something is at the same time permit-
ted and forbidden, or at the same time obligatory and forbidden — for example, ”Bob
is permitted to issue a nonce; Bob is forbidden to issue a nonce”. There is a dilemma
when both something and its opposite are obligatory, or both are forbidden — for exam-
ple , ”it is obligatory that Alice registers her public key; it is obligatory that Alice does
not register her public key”. The specific application domain may impose additional re-
quirements to policy correctness, such as secrecy, i.e. protecting resources from agents
with insufficient rights, and fairness, i.e. distributing resources equally
Our idea is to use mathematical induction to model security policies. We borrow
concepts from the inductive method to verifying security protocols introduced by Paul-
son [5] and developed with Bella [6, 7]. Each policy norm can be expressed as an in-
ductive rule extending a given trace of norms. The security policy can then be modelled
inductively as the set of all possible traces of norms that the policy admits. Agents and
actions to which the norms apply can be specified for the sake of expressiveness, or left
as generic members of unbounded sets. Once the policy is a set built up by induction,
the corresponding inductive principle can be used to prove safety properties of the set.
The basic requirements of policy correctness indeed are safety properties. This position
paper sets up and demonstrates the foundations of our approach to verifying security
policies, while the next step is to complete mechanizing the approach with the proof
assistant Isabelle/HOL [8]. The language of Higher Order Logic will make the specifi-
cation of policy properties easier, while Isabelle’s simplifier will resolve the trivial cases
without human intervention. These features will make the analysis of vast policies pos-
sible. If we compare security protocols and security policies in terms of specification
efforts, we expect many more, though simpler, rules in the case of policies. Hence, the
human efforts required by the verification can be expected to be smaller.
The structure of this position paper is simple. The treatment of security policies
(§2) begins with the concepts of contradictions and dilemmas and terminates with a
published, example policy [9]. Our inductive modelling of policies and their properties
comes next (§3). A few remarks conclude (§4).
2 Security policies
A security policy explains how a system should behave to be considered secure. To take
an example from the real world, modern building evacuation systems are considered
117