SOUTEI is a trust-management system, a dialect of Binder, for access control in distributed systems. Soutei policies and credentials are written in a declarative logic-based security language and thus constitute distributed logic programs. Soutei policies are modular, concise, and readable. They support policy verification, and, despite the simplicity of the language, express role- and attribute-based access control lists, and conditional delegation.
SOUTEI is designed to be an authorization decision system: it is meant to give advice whether a particular action should be permitted. A policy-enforcement point such as a web server, after receiving a request to fetch a web page, consults Soutei. Soutei receives the details of the request and replies with the `yes' or `no' answer, possibly qualified with attributes. It is up to the policy-enforcement point to follow the given advice. To reach a decision, Soutei consults the attributes of the request (such as the users and resources involved), information about the world, and policies.
SOUTEI can be either embedded into applications or run as a stand-alone network service. In the latter case, Soutei can work with applications written in any language or running on any operating system. Originally, Soutei is a Haskell library. Soutei server is an application built on the top of the library.
Soutei, a logic-based trust-management system (system description)
Andrew Pimlott and Oleg Kiselyov. Proceedings of FLOPS 2006, 8th International Symposium on Functional and Logic Programming. Fuji-Susono, Japan, April 24-26, 2006.
The paper is published in Springer's Lecture Notes in Computer Science 3945, pp. 130-145, 2006.
Specification, use cases and design notes
The current version of SOUTEI is 2.1. SOUTEI is OpenSource, distributed under the GPL license.
SOUTEI has been tested on the following Haskell systems:
GHC 6.10.4, The Haskell Platform, on Linux and FreeBSD. It is known to work on Microsoft Windows.
SOUTEI download site at SourceForge:
The SVN Tree
Converted from SXML by SXML->HTML