Abstract: “This paper reviews some of the difficulties that arise in the verification of kernel- ized secure systems and suggests new techniques for their resolution. It is proposed that secure systems should be conceived as distributed systems in which security is achieved partly through the physical separation of their individual components and partly through the mediation of trusted functions performed within some of those components. The purpose of a security kernel is simply to allow such a ‘distributed’ system to actually run within a single processor; policy enforcement is not the concern of a security kernel.
This approach decouples verification of components which perform trusted functions from verification of the security kernel. This latter task may be accomplished by a new verification technique called ‘proof of separability’ which explicitly addresses the security relevant aspects of interrupt handling and other issues ignored by present methods.”