Modern policy languages decide whether an action is allowed by evaluating logical conditions over the request and the surrounding context, and by attaching a result (e.g. permit or forbid) to each matching rule. Yet most of these languages are stateless: each request is evaluated in isolation, which makes history-dependent (usage) policies awkward to express. In this paper we first introduce a minimal language of policies with effects, where a policy is a guarded effect: a guard is a logical formula on the current state and the effect is a generic state transformer fired when the guard holds. We then define policy automata, a deterministic, stateful variant of usage automata in which the policy state is explicit and transitions update it through effects. Each transition also emits an access-control decision, so a policy automaton reads as a Mealy machine whose output is the verdict. Determinism removes the need to instantiate the automaton over all resource assignments and makes run-time monitoring conceptually simple. We show the model is analysable over a decidable guard logic (well-formedness, reachability of a denial, and policy subsumption and equivalence are decidable) and that it is compositional: compliant languages are closed under conjunction and disjunction, with a “deny-overriding” rule-set union recovering the conjunction. The explicit state also pays off in expressiveness: policy automata are strictly more expressive than the stateless core of Cedar and Rego, with a memory cost that grows with the usage bound.

Policy automata for stateful authorization

Miculan M.;
2026-01-01

Abstract

Modern policy languages decide whether an action is allowed by evaluating logical conditions over the request and the surrounding context, and by attaching a result (e.g. permit or forbid) to each matching rule. Yet most of these languages are stateless: each request is evaluated in isolation, which makes history-dependent (usage) policies awkward to express. In this paper we first introduce a minimal language of policies with effects, where a policy is a guarded effect: a guard is a logical formula on the current state and the effect is a generic state transformer fired when the guard holds. We then define policy automata, a deterministic, stateful variant of usage automata in which the policy state is explicit and transitions update it through effects. Each transition also emits an access-control decision, so a policy automaton reads as a Mealy machine whose output is the verdict. Determinism removes the need to instantiate the automaton over all resource assignments and makes run-time monitoring conceptually simple. We show the model is analysable over a decidable guard logic (well-formedness, reachability of a denial, and policy subsumption and equivalence are decidable) and that it is compositional: compliant languages are closed under conjunction and disjunction, with a “deny-overriding” rule-set union recovering the conjunction. The explicit state also pays off in expressiveness: policy automata are strictly more expressive than the stateless core of Cedar and Rego, with a memory cost that grows with the usage bound.
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11390/1343549
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 0
  • ???jsp.display-item.citation.isi??? ND
social impact