Non-interference (security)


Non-interference is a strict multilevel security policy model, first described by Goguen and Meseguer in 1982, and amplified further in 1984.

Introduction

In simple terms, a computer is modeled as a machine with inputs and outputs. Inputs and outputs are classified as either low or high. A computer has the non-interference property if and only if any sequence of low inputs will produce the same low outputs, regardless of what the high level inputs are.
That is, if a low user is working on the machine, it will respond in exactly the same manner whether or not a high user is working with sensitive data. The low user will not be able to acquire any information about the activities of the high user.

Formal expression

Let be a memory configuration, and let and be the projection of the memory to the low and high parts, respectively. Let be the function that compares the low parts of the memory configurations, i.e., iff. Let be the execution of the program starting with memory configuration and terminating with the memory configuration.
The definition of non-interference for a deterministic program is the following:

Limitations

Strictness

This is a very strict policy, in that a computer system with covert channels may comply with, say, the Bell–LaPadula model, but will not comply with non-interference. The reverse could be true except for the "No classified information at startup" exceptions noted below. However, non-interference has been shown to be stronger than non-deducibility.
This strictness comes with a price. It is very difficult to make a computer system with this property. There may be only one or two commercially available products that have been verified to comply with this policy, and these would essentially be as simple as switches and one-way information filters.

No classified information at startup

If the computer has any high information within it, or low users create high information subsequent to time=0, then the computer can legally leak all that high information to the low user, and can still be said to comply with the non-interference policy. The low user will not be able to learn anything about high user activities, but can learn about any high information that was created through means other than the actions of high users.
Computer systems that comply with the Bell-LaPadula Model do not suffer from this problem since they explicitly forbid "read-up." Consequently, a computer system that complies with non-interference will not necessarily comply with the Bell-LaPadula Model. Thus, the Bell–LaPadula model and the non-interference model are incomparable: the Bell-LaPadula Model is stricter regarding read-up, and the non-interference model is stricter with respect to covert channels.

No summarisation

Some legitimate multilevel security activities treat individual data records as sensitive, but allow statistical functions of the data to be released more widely. This cannot be achieved with a non-interference machine.

Generalizations

The noninterference property requires that the system should not reveal any information about the high inputs from the observable output for various low inputs. However, one can argue that achieving noninterference is oftentimes not possible for a large class of practical systems, and moreover, it may not be desirable: programs need to reveal information that depends on the secret inputs, e.g. the output must be different when a user enters a correct credential vs when she enters incorrect credentials. Shannon entropy, guessing entropy, and min-entropy are prevalent notions of quantitative information leakage that generalize noninterference.