Skip to main navigation Skip to search Skip to main content

A type discipline for authorization policies

Research output: Contribution to journalArticlepeer-review

Abstract

Distributed systems and applications are often expected to enforce high-level authorization policies. To this end, the code for these systems relies on lower-level security mechanisms such as digital signatures, local ACLs, and encrypted communications. In principle, authorization specifications can be separated from code and carefully audited. Logic programs in particular can express policies in a simple, abstract manner.

We consider the problem of checking whether a distributed implementation based on communication channels and cryptography complies with a logical authorization policy. We formalize authorization policies and their connection to code by embedding logical predicates and claims within a process calculus. We formulate policy compliance operationally by composing a process model of the distributed system with an arbitrary opponent process. Moreover, we propose a dependent type system for verifying policy compliance of implementation code. Using Datalog as an authorization logic, we show how to type several examples using policies and present a general schema for compiling policies.
Original languageEnglish
Number of pages37
JournalACM Letters on Programming Languages and Systems
Volume29
Issue number5
DOIs
Publication statusPublished - 2007

Fingerprint

Dive into the research topics of 'A type discipline for authorization policies'. Together they form a unique fingerprint.

Cite this