A computer security policy defines the goals and elements of an organization's computer systems. The definition can be highly formal or informal. Security policies are enforced by organizational policies or security mechanisms. A technical implementation defines whether a computer system is secure or insecure. These formal policy models can be categorized into the core security principles of Confidentiality, Integrity, and Availability. For example, the Bell-La Padula model is a confidentiality policy model, whereas the Biba model is an integrity policy model.[1]
Formal description
If a system is regarded as a finite-state automaton with a set of transitions (operations) that change the system's state, then a security policy can be seen as a statement that partitions these states into authorized and unauthorized ones.
Given this simple definition, one can define a secure system as one that starts in an authorized state and will never enter an unauthorized state.
To represent a concrete policy, especially for automated enforcement of it, a language representation is needed. There exist a lot of application-specific languages that are closely coupled with the security mechanisms that enforce the policy in that application.
Compared with this abstract policy languages, e.g., the Domain Type Enforcement-Language, is independent of the concrete mechanism.
Bishop, Matt (2004). Computer security: art and science. Addison-Wesley.
McLean, John (1994). "Security Models". Encyclopedia of Software Engineering. Vol. 2. New York: John Wiley & Sons, Inc. pp. 1136–1145.
Clark, D.D. and Wilson, D.R., 1987, April. A comparison of commercial and military computer security policies. In 1987 IEEE Symposium on Security and Privacy (pp. 184–184). IEEE.