Hva er en sikkerhetskernel?
En sikkerhetskjerne er egentlig kjernen i en datamaskin- eller nettverkssikkerhetsimplementering. Det er kjernen i et sikkert databehandlingsmiljø, som kan implementeres i form av en maskinvarekomponent installert i en datamaskin- eller nettverkstopologi, en programvareimplementering eller et firmwaresystem installert i en datamaskin-mikrobrikke. Uansett hva det betyr, blir kjernen det sentrale stedet for å etablere tilgangstillatelser for datamaskinens eller nettverkets ressurser.
En tidlig implementering av sikkerhetskjerner var en skjerm for virtuell maskin som ble utviklet på 1970-tallet for Digital Equipment Corporation® (DEC®) virtuelle adresseforlengelsesdatasystemer (VAX). Datamaskinen kan settes opp i flere virtuelle maskiner som hver kan kjøre et annet operativsystem med tilgang til forskjellige ressurser og med forskjellige sikkerhetsprotokoller. I dette tilfellet bodde sikkerhetskjernen på den virkelige maskinen der de virtuelle maskinene ble etablert og håndterte tilgangskontroll for de forskjellige virtuelle maskinene som da kunne ha forskjellige nivåer av sikkerhet.
Den vanligste implementeringen av en sikkerhetskjerne er via et programvarelag i datamaskinens operativsystem. Systemets design kan sees på som en serie ringer, i likhet med en løk, der hvert lag får tilgang til de under. I det absolutte sentrum er maskinvaren. Det første laget over maskinvaren ville være sikkerhetskjernen, som inneholder alle tilgangskontroll- og autentiseringsinstruksjonene for tilgang til datamaskinens maskinvare. Over sikkerhetskjernen er resten av operativsystemet, og over er program- og deretter brukernivåoperasjoner.
Dette danner den essensielle sammensetningen av et operativsystem som faller inn under den pålitelige databasemetodikken (TCB). I en TCB-implementering blir sikkerhetskjernen i et operativsystem også referert til som en referansemonitor. Det gir full kontroll til enhver tid og kan ikke tukles med på noen måte. Deretter håndheves sikkerhetspolitikken for programmer og brukere på systemet, slik at de kan lese og skrive til filene på systemet, samt de forskjellige tilgangspunktene for nettverksprotokoller og annen kommunikasjon mellom prosesser. Ved å tilby disse funksjonene må den også kunne analyseres og overvåkes for å sikre at den oppfyller disse kravene.
Gitt at konseptet med en sikkerhetskjerne har en så omfattende definisjon, er det ikke begrenset til programvareimplementeringer. Kjernesikkerhetspolicyer kan også ha form av en maskinvareenhet, for eksempel et smartkortsystem eller annet maskinvaretillegg. På denne måten kan ikke tilgang til systemets ressurser låses opp uten bruk av et spesifikt kort satt inn i datamaskinen.
En annen teknikk for implementering av en sikkerhetskjerne kan være gjennom et distribuert system. I en implementering, kjent som den pålitelige timing computing base (TTCB), blir nettverket sett på som et system som ofte er utsatt for en form for sikkerhetsbrudd. I stedet for å forhindre angrep, tolererer TTCB-systemet innbrudd og gir et middel for å håndtere dem. Med denne typen implementering har nettverksnodene hver den distribuerte sikkerhetskjernen, som gir sin egen sikre kanal for kommunikasjon og kontroll.