SME.Untrustworthy
Description
This module should be imported by untrustworthy code. Generally speaking, untrustworhty code's import list should look like
import SME.Untrustworthy import MyLattice
where module MyLattice
implements the security lattice under consideration.
- class Eq a => Lattice a
- class Lattice a => FiniteLattice a
- less :: Lattice a => a -> a -> Bool
- sless :: Lattice a => a -> a -> Bool
- data Level
- class FiniteLattice l => Policy l a b | a -> l b
- data ME a
- data SetLevel l = SetLevel
- readFile :: FilePath -> ME String
- writeFile :: FilePath -> String -> ME ()
- sme :: Policy l FilePath String => SetLevel l -> ME a -> IO ()
- sme' :: Policy Level FilePath String => ME a -> IO ()
Documentation
less :: Lattice a => a -> a -> BoolSource
Implementation of the order relationship between elements of the lattice.
sless :: Lattice a => a -> a -> BoolSource
Implementation of the strict order relationship between security levels of the lattice.
Data type encoding two security levels.
class FiniteLattice l => Policy l a b | a -> l bSource
Type class to specify security policies for programs run under secure multi-execution.