A security kernel is essentially the nucleus of a computer or network security implementation. It is the core of a secure computing environment, which can be implemented in the form of a hardware component installed in a computer or network topology, a software implementation, or a firmware system installed in a computer microchip. By whatever means, the kernel becomes the central location for establishing access permissions for a computer or network's resources.
One early security kernel implementation was a virtual machine monitor developed in the 1970s for the Digital Equipment Corporation® (DEC®) virtual address extension (VAX) computer systems. The computer could be set up into multiple virtual machines that could each run a different operating system with access to different resources and with different security protocols. In this instance, the kernel resided on the real machine where the virtual machines were established and handled access control for the different virtual machines which could then have varying levels of security.
The most common implementation of a security kernel is via a software layer within a computer's operating system. The system's design can be viewed as a series of rings, akin to an onion, where each layer accesses those beneath. At the absolute center is the hardware. The first layer over the hardware would be the security kernel, which carries all of the access control and authentication instructions for accessing a computer's hardware. Above this is the rest of the operating system, and above that are program and then user-level operations.
This forms the essential makeup of an operating system that falls under the trusted computing base (TCB) methodology. In a TCB implementation, the security kernel in an operating system is also referred to as a reference monitor. It provides complete control at all times and cannot be tampered with in any way. It then enforces the security policy for programs and users on the system so that they may read and write to the files on the system, as well as the various points of access for networking protocols and other inter-process communications. In providing these functions, it must also be capable of being analyzed and monitored to ensure it meets these requirements.
Given that the concept of a security kernel has such a broad-reaching definition, it isn't limited to software implementations. Core security policies may also take the form of a hardware device, such as a smart-card system or other hardware addition. In this way, access to the system's resources cannot be unlocked without the use of a specific card inserted into the computer.
Another technique for implementing a security kernel can be through a distributed system. In one implementation, known as the trusted timely computing base (TTCB), the network is viewed as a system that is frequently susceptible to some form of security breach. Instead of preventing attacks, the TTCB system tolerates intrusions and provides a means for dealing with them. With this type of implementation, the network nodes each carry the distributed security kernel, which provides its own secure channel for communication and control.