-
Diese
Erfindung bezieht sich auf vertrauenswürdige Hardware-Einrichtungen,
die in einer allgemeinen Computersystem-Architektur genutzt werden können, um
Mittel bereitzustellen, damit gewährleistet ist, dass Datenübertragungen
innerhalb der Systemarchitektur sicher sind. Wird eine vertrauenswürde Hardware-Einrichtung
als eine Peripherieeinrichtung eines Computersystems konfiguriert,
kann der Computer für
vorgegebene vertrauenswürde
Funktionen genutzt werden.
-
HINTERGRUND
-
Die
weit verbreitete Benutzung von Computern zur Informationsspeicherung
und Informationsverarbeitung hat zur Notwendigkeit von Systemen geführt, mit
denen Informationen geschützt
werden können,
welche von nationalem Sicherheitsinteresse, wirtschaftlich sensibel
oder persönlich
sind. Es werden Sicherheitsmethoden benötigt, welche die Benutzersicherheit
von Computersystemen auf unautorisierten Zugriff auf und Veränderungen
von Informationen prüft,
die von Computersystemen gespeichert und verarbeitet werden.
-
Als
Antwort auf die Notwendigkeit von sicheren Computern und Computersystemen
zur Arbeit in geheimen Umgebungen hat das Verteidigungsministerium
der Vereinigten Staaten die "Department
of Defense Trusted Computer System Evaluation Criteria" (Referenz Nr. DOD
5200.28-STD) veröffentlicht. Diese
Veröffentlichung,
welche meist als das "Orange
Book" genannt wird,
beschreibt Sicherheitsmaßstäbe mit messbaren
Zielen und Bewertungskriterien zur Bewertung von Design und Realisierungen
von sicheren Computern und Computersystemen.
-
Das
Orange Book betont das Konzept der Trusted Computing Base (TCB)
und der Zuständigkeitsüberwachung.
Die TCB ist die Gesamtheit aller Resourcen in einem System, die
zusammen die Sicherheitsfunktionen des Systems vorsehen. Die Zuständigkeitsüberwachung
ist der Teil der TCB, welcher alle Datenzugriffe in dem System überwacht
und nur die Zugriffe erlauben wird, wozu der Benutzer des Systems
die Rechte hat sie auszuführen.
-
Wegen
der enormen Höhe
der Kapitalinvestition in bestehende Computer-Hardware wurde von Systementwicklern
ein Ansatz gewählt,
die TCBs nach den Sicherheitskriterien des Orange Books eher in
bestehende Hardware-Plattformen zu implementieren als total neue
Hardware zu entwickeln. Dieser Ansatz bedeutete, dass die TCB in
Software implementiert werden musste und wegen der funktionalen
Anforderungen der TCH und der Zuständigkeitsüberwachung wurden große und komplizierte Software-Systeme
von Grund auf neu entwickelt. Dies bedeutete, dass die Entwickler
Betriebssysteme und Kernel mit eingebauter Sicherheit entwickeln mussten,
um Systeme zu schaffen, die die Kriterien des Orange Books erfüllten.
-
Anstrengungen
TCBs in einer solchen Art und Weise zu bauen haben aber gezeigt,
dass es eine Menge von Problemen bei diesem Ansatz gibt, nämlich:
- (i) Erhöhte
Entwicklungsanstrengungen. Dadurch, dass die TCB in Software implementiert
ist, bedeutet es, dass zusätzlicher
Aufwand darauf gerichtet werden muss, dass Gewissheit besteht, dass
die TCB korrekt funktioniert. Das Überprüfen der korrekten Funktion
der TCB hat sich als extrem zeitaufwändige Anwendung herausgestellt und
kann als undurchführbar
angesehen werden, wenn die TCB zu groß ist.
- (ii) Verringerte Leistung. Anwendungen, die auf einer in Software
implementierten TCB laufen, werden langsamer sein, da die TCB Prozessorleistung
dazu benutzt, um Sicherheitsfunktionen auszuführen. Zusätzlich beim Bemühen, die Überprüfungsvoraussetzungen
des TCBs zu reduzieren, kann die Größe der TCB dadurch reduziert
werden, dass einige der Funktionalitäten gestrichen werden, was
wiederum die Leistung des gesamten Systems reduziert.
- (iii) Verringerte Benutzbarkeit. Das Redesign von Betriebssystemen
und Kernels, um eine TCB zu implementieren, war in vielen Fällen sehr
umfassend. Daraus resultieren Inkompatibilitäten zwischen bestehender Software
und dem neuen sicheren Betriebssystem, was wiederum die Verwendbarkeit
der TCB verringert. Die von der TCB auferlegten Sicherheitsfunktionen
werden oft als zu restriktiv von den Benutzern angesehen, da sie die
Benutzer sogar daran hindern können,
Routine-Aufgaben
auszuführen.
- (iv) Verringerte Pflegbarkeit. Jede Änderung, die an einer Software
implementierten TCB gemacht wird, verlangt, dass die TCB neu evaluiert
wird und dies macht es schwierig, Funktionalität zu der TCB schrittweise hinzuzufügen.
-
Es
wurden verschiedene Ansätze
versucht, um vertrauenswürdige
Systeme zu entwickeln, einschließlich der Implementierung der
Zuständigkeitsüberwachung
in Hardware, um so viele der Probleme, die bei der Software-Implementierung
auftreten, zu vermeiden. Ein Entwurf im Stand der Technik ist der US
National Computer Security Center's Logical Coprocessing Kernel, welcher
allgemein als LOCK bekannt ist. Das LOCK-Projekt hatte die Entwicklung
eines wiederbenutzbaren Hardware-Moduls zur Folge, welches SIDEARM
(System-Independent Domain-Enforcing Assured Reference Monitor)
genannt wird, welches an eine Vielzahl von Systemen angepasst werden
konnte und eine Hardware-Version der Zuständigkeitsüberwachungsfunktion implementierte.
Das Projekt erforderte außerdem
die Portierung eines bestehenden Betriebssystems (UNIX) auf eine LOCK-Hardware-Plattform.
-
Während das
LOCK-Projekt gezeigt hat, dass eine Hardware-Implementierung der Zuständigkeitsüberwachung
viele Probleme der Software TCB-Entwicklung verhindert, ist die
Entwicklung eines LOCK ähnlichen
Systems immer noch sehr zeitaufwändig
und teuer. Zusätzlich
ist die SIDEARM sehr eng mit speziellen Resourcen des Hardware-Systems
verbunden, auf dem sie läuft
und es bleibt abzuwarten, ob das LOCK-Design auf einer Mehrzahl
von verschiedenen Hardware-Systemen genutzt werden kann.
-
Abrams
schlug eine verallgemeinerte TCB-Software-Architektur zur Implementierung
von vertrauenswürdigen
Systemen vor. Abrams schlug vor, dass die TCB aus einer Mehrzahl
von TCB-Untereinheiten zusammengesetzt sein soll, wobei jede für das zur
Verfügungstellen
einiger sicherheitsrelevanter Funktionalitäten verantwortlich ist. Dies
ist grundsätzlich
ein "divide and
conquer"-Ansatz,
wo die TCB in eine Mehr zahl von Schutzbereiche aufgeteilt wird und
das Design eine Struktur zur Implementierung von Kommunikation zwischen
Bereichen beinhaltet und zum Fällen
von Zugriffssteuerungsentscheiden, welche eine Reihe von Bereichen
betrifft.
-
Die
von Abrams verallgemeinerte TCB-Architektur bietet einen Rahmen,
um vertrauenswürdige
Systeme auf Software-Basis zu entwickeln. Abrams behauptet, dass
wenn einmal die Rahmenbedingungen verfeinert und perfektioniert
sind, dass es dann möglich
wäre, Hardware-Module
zu schaffen, die eine verallgemeinerte TCB-Architektur implementieren
und in existierende Systeme passen, in weitgehend derselben Weise
wie LOCK-Einrichtungen. Es ist nicht sofort offenkundig, wie dies
implementiert werden soll und sogar, ob es eintreten wird.
-
Während die
Entwickler von vertrauenswürdigen
Computer-Plattformen
bis jetzt noch keine entsprechenden Technologien zur allgemeinen
Nutzung von Computern geliefert haben, haben andere vertrauenswürdige Funktionalität in existierende
allgemeine Benutzungssysteme integriert.
-
Zum
Beispiel gibt es nichtvertrauenswürdige allgemeine Computersysteme,
welche mit vertrauenswürdiger
Peripherie-Hardware
nachgerüstet
werden können.
Diese Peripheriegeräte
sind so eingerichtet, um Dienste anzubieten, welche das Vertrauen
in bestimmte Funktionen des nichtvertrauenswürdigen Computers unterstützen.
-
Ein
solches Gerät
ist speziell zur Benutzung mit einem elektrisch und physikalisch
sicheren Netzwerk zur Behandlung von klassifizierten Daten ausgelegt
worden. Wenn Benutzer in dem sicheren Netzwerk Daten aus dem Netzwerk
hinaussenden wollen, z. B. bei der Benutzung von E-Mail, nutzen
sie eine sichere Peripherieeinheit, welche an ihre normale, nichtvertrauenswürdige Workstation
angebracht ist, um ein gegen unbefugte Zugriffe gesichertes Siegel an
den Daten anzubringen. Die Daten und das Siegel werden dann über das
sichere Netzwerk zu einer weiteren vertrauenswürdigen Peripherieeinheit gesendet,
welche als Gateway fungiert. Diese Gateway-Einrichtung wird untersuchen,
ob das Siegel gültig
ist, beispielsweise wird überprüft, ob die
Daten, die aus dem sicheren Netzwerk gesendet werden sollen, die
sind, die versiegelt wurden und wenn dies der Fall ist, werden die
Daten in das externe Netzwerk weitergeleitet.
-
Die
koordinierte Aktion der vertrauenswürdigen Peripherieeinheiten
bietet eine einfache Integritätsfilterfunktion
an, die auf alle, das sichere Netzwerk verlassende Daten, angewendet
wird. Das Benutzen von einem Integritätsfilter sichert, dass nur Daten
das sichere Netzwerk verlassen, welche von den Nutzern des Netzwerks
genehmigt wurden. So hat das Nachrüsten von vertrauenswürdigen Peripherieeinheiten
in das sichere Netzwerk Vertrauen in einen bestimmten Teil des Betriebes
des sicheren Netzwerkes gebracht.
-
Die
AU, 46726/93, A1, (SECURE COMPUTING CORPORATION), vom 20. Januar
1994, beschreibt eine Methode und eine Vorrichtung, um sichere Kommunikation über ein
unsicheres Kommunkationsmedium zwischen einem Nutzer, der an einer
ungesicherten Workstation oder Computer arbeitet, zu einem Host-Computer sicherzustellen.
Eine sichere Benutzerschnittstelle wird dadurch geschaffen, indem
ein vertrauenswürdiges
Wege-Subsystem zwischen Eingabe/Ausgabeeinrichtungen der Workstation
und der Workstation selbst eingesetzt wird. Im normalen Modus ist
das vertrauenswürdige
Wege-Subsystem transparent für
die Workstation. Logische Schalter verbinden den Prozessor der Workstation
direkt mit der Tastatur und dem Bildschirm.
-
Im
vertrauenswürdigen
Wegemodus ist der Workstation-Prozessor aber durch logische Schalter von
der Tastatur und dem Bildschirm getrennt.
-
Die
oben beschriebenen Probleme sind normalerweise mit der Schwierigkeit
und Komplexität der
Entwicklung von vertrauenswürdiger
Computer-Hardware und Software verbunden. Die Erfinder haben einen
Ansatz entwickelt, um Computer-Hardware mit eingebauter vertrauenswürdiger Funktionalität zu entwickeln.
Der selbe Ansatz kann genutzt werden, um eine Hardware-Einrichtung
zu entwickeln, welche nicht unähnlich
wie ein Peripheriegerät an
einem nichtvertrauenswürdigen
Computer genutzt wird, welche vorbestimmte Sicherheitsfunktionen diesem
nichtvertrauenswürdigen
Computer anbieten kann. Es ist möglich,
die Peripherieversion einer solchen Einrichtung von einem Computer
zu trennen, wenn es notwendig ist, und sie mit einem anderen Computer
zu nutzen. Die Peripherieversion einer solchen Einrichtung kann
rekonfiguriert werden, um andere sicherheitsrelevante Funktionen
oder vorbestimmte Sicherheitsfunktionen auszuführen.
-
KURZE BESCHREIBUNG
DER ERFINDUNG
-
Die
Erfindung sieht eine sichere Computervorrichtung, wie in Anspruch
1 definiert, vor.
-
Gemäß einem
bevorzugten Aspekt der Erfindung kontrolliert besagte Zugriffsüberwachung
besagte zentrale Verarbeitungseinheit.
-
In
einem bevorzugten Aspekt der Erfindung besitzt die sichere Computervorrichtung
weiter mindestens ein Speichermittel und weiter eine vertrauenswürdige Gate-Einrichtung,
welche zwischen dem besagten mindestens einem Speicher mittel und
dem besagten BUS-Mittel positioniert ist und mindestens einen Speicherplatz
in der oder den besagten Speichermitteln, und jedes der besagten
mindestens einen Eingabe- und Ausgabemittel ist mit einem jeweiligen
TAG assoziiert, welcher für
ein sicherheitsrelevantes Attribut repräsentativ ist, das von den besagten
zentralen Verarbeitungseinheitenmittel verarbeitet werden kann,
so dass, wenn die zentralen Verarbeitungseinheitenmittel versuchen,
auf einen mit einem TAG versehenen Speicherplatz zuzugreifen oder
besagtes Eingabe- oder Ausgabemittel zu benutzen, kontrolliert besagte
Zugriffsüberwachung
die Ein- oder Zweiwegrichtung des besagten Signales durch eine entsprechende
Gate-Einrichtung gemäß den jeweiligen
TAGs.
-
In
einem weiteren bevorzugten Aspekt der Erfindung sind die vertrauenswürdigen Zugriffsüberwachungsvorrichtungs-TAGs änderbar.
-
Gemäß einer
weiteren bevorzugten Aspekt der Erfindung ist die sichere Computervorrichtung
in einem tragbaren Modul vorgesehen, welches für eine Verbindung an einem
peripheren Eingangs/Ausgangsport einer Computereinrichtung angepasst
ist.
-
Diese
und andere Aspekt der Erfindung werden durch die folgende Beschreibung
eines bevorzugten Ausführungsbeispiels
verdeutlicht, wobei darauf hingewiesen wird, dass es nur zur Illustration dient
und die Erfindung nicht auf eines oder eine Kombination der folgenden
Elemente oder Funktionen beschränkt.
-
KURZE BESCHREIBUNG
DER FIGUR
-
Um
die Erfindung besser zu verstehen, wird ein Beispiel mit einer beigefügten Zeichnung
erklärt, in
der:
-
1 ein
Funktionsblockdiagramm einer Computersystem-Architektur zeigt, welche einen kontrollierten
und beschränkten
Signaltransfer zwischen Elementen des Computersystems aufweist und
die auch ein separates Computerperipheriegerät beschreiben kann.
-
DETAILLIERTE
BESCHREIBUNG DER ERFINDUNG
-
Diese
Spezifikation beschreibt ausführlich drei
separate, aber miteinander in Verbindung stehende Aspekte der Erfindung,
nämlich:
- (i) ein entfernbares oder fixiertes Hardware-Modul,
welches Zugriffsüberwachung
genannt wird, welches eine Schnittstelle mit einer Computereinrichtung
bildet und den Betrieb von Sicherheits-Gates steuert, welche den
Datentransfer innerhalb der Computereinrichtung regulieren, wobei
TAGs genutzt oder nicht genutzt werden können, da spezielle hartverdrahtete
Speicherplätze die
Funktion von TAGs in manchen Fällen
ersetzen können;
- (ii) die Integration der Zugriffsüberwachung und Sicherheits-Gates
in einer mit TAGs versehene Speicherarchitektur, wobei die Informationen
der TAGs von der Zugriffsüberwachung
dazu genutzt werden, die Steuerung der Sicherheits-Gates festzulegen;
- (iii) ein vertrauenswürdiges
allgemeines Computer-Hardware-Peripheriegerät, welches die Zugriffsüberwachung,
Sicherheits-Gates und mit TAGs versehene Speicherelemente aufweist
und konfigurierbar ist, um eine Sicherheitspolitik zu implementieren,
die für
die Anwendung peripherer Einheiten geeignet ist.
-
Um
die Erfindung besser zu verstehen, wird diese mit der beigefügten Zeichnung 1 erklärt, die
ein funktionales Blockdiagramm der Architektur einer peripheren
Computereinrichtung aufzeigt, welche im obigem Punkt (iii) beschrieben
ist, und welche die Elemente gemäß den Punkten
(i) und (ii) mit beinhaltet.
-
Zugriffsüberwachung
und Sicherheits-Gates
-
Die
Zugriffsüberwachung
und die Sicherheits-Gates kontrollieren zusammen durch Einschränkungen
den Datentransfer zwischen den verschiedenen Elementen des Computersystems
inklusive der zentralen Verarbeitungseinheit, Speicher und E/A-Einrichtungen.
Die Zugriffsüberwachung kann
ein entfernbares Hardware-Modul sein, das über eine Schnittstelle mit
dem Rechnersystem in Verbindung steht und die jeden Datentransfer,
der auf dem Systembus stattfindet, überwacht. Die Sicherheits-Gates
sind Hardware-Elemente, die zwischen dem Systembus und dem Speicher
und den E/A-Vorrichtungen platziert sind, die das System bilden.
Jeder Datentransfer von und zu dem Speicher und den E/A-Vorrichtungen
in dem System, wird ein Sicherheits-Gate passieren, welches durch
die Zugriffsüberwachung
kontrolliert ist.
-
In
einem Beispiel ist die Zugriffsüberwachung
so angepasst, dass sie die zentrale Verarbeitungseinheit kontrolliert
und in einem bevorzugten Operationsmodus die zentrale Verarbeitungseinheit in
den Anfangszustand oder den Zustand bei der Installation oder zu
einem bestimmten definierten Ereignis zurücksetzen kann.
-
Die
Zugriffsüberwachung
kann in dem gezeichneten Ausführungsbeispiel
ein Gate dynamisch kontrollieren, um Datentransfer in beide Richtungen (lesen
und schreiben) zu ge statten, in nur eine Richtung oder den kompletten
Transfer durch dieses Gate unmöglich
zu machen. Die Zugriffsüberwachung
ist so konfiguriert, dass sie die Sicherheitsregel in Kraft setzt,
die für
die Anwendung relevant ist, zu deren Durchführung die Rechnereinheit programmiert
wurde. Ein Mittel, um diese Funktion zu implementieren, ist ebenso
in dieser Spezifikation offenbart.
-
Durch
die Überwachung
der Signale auf dem Systembus kann die Zugriffsüberwachung die Einzelheiten
jedes Datenzugriffs der stattfindet feststellen, z. B. die Adresse
der Daten, auf die zugegriffen wird, und ob der Zugriff ein lesender
oder schreibender Zugriff ist. Entscheidet die Zugriffsüberwachung,
dass die Transaktion nicht erlaubt ist, kann sie das Gate deaktivieren,
durch welches der Datentransfer stattfinden würde. Versucht die CPU (Central
processing unit) des Systems einen Datentransfer durch ein deaktiviertes
Gate auszuführen,
wird ein Speicherzugriffsfehler generiert.
-
Während die
Zugriffsüberwachung
eine ähnliche
Funktion, wie die zuvor beschriebene SIDEARM-Einrichtung ausführt, gibt
es eine Menge von deutlich unterschiedlichen Merkmalen.
-
Zum
ersten ist die Zugriffsüberwachungseinheit
so ausgelegt, dass sie eine entfernbare und ersetzbare Komponente
in einer Hardware-Architektur ist. Muss die Sicherheitsregel, die
die Zugriffsüberwachung
und die Sicherheits-Gates unterstützen, geändert werden, dann kann die
Zugriffsüberwachung entfernt
werden und eine neue Zugriffsüberwachung, die
mit der neuen Sicherheitsregel programmiert ist, kann an deren Stelle
treten. Zusätzlich
arbeiten die Zugriffsüberwachung
und die Sicherheits-Gate zusammen, um die Zuständigkeitsüberwachungsfunktion zu unterstützen. Dass
diese zwei Arten von Einrichtungen zusammenarbeiten, ist der erste
Punkt der Erfindung, der in dieser Spezifikation offenbart ist.
-
Die
erfindungsgemäße Zugriffsüberwachung arbeitet
größtenteils
unabhängig
von den anderen Elementen des Systems. Die SIDEARM in der LOCK-Architektur
ist eng mit der CPU und insbesondere mit der MMU (memory management
unit) des Systems verbunden, was eindeutig anders ist als in der
Erfindung, auch wenn man sagen könnte,
dass die Zugriffsüberwachung
und die Sicherheits-Gates eine verdrahtete Version des Zuständigkeitsüberwachungskonzeptes
des Orange Book sind.
-
1 zeigt
eine typische Architektur einer Computer-Einrichtung, die angepasst
wurde, um eine Zugriffsüberwachung 28 und
Sicherheitstore 32, 34, 36, 38, 40, 42, 44, 46 und 48 aufzunehmen.
-
Implementierung
der Zugriffsüberwachung mit
TAG behafteten Speichersystemen.
-
Wie
bereits erwähnt
kann die Zugriffsüberwachung
so konfiguriert werden, dass sie eine Sicherheitsregel unterstützt, die
für die
anwendungsspezifische Operation der Recheneinheit relevant ist, welche
die Zugriffsüberwachung
kontrolliert. Eine Möglichkeit
zur Implementierung dieses Merkmals ist die Integration der Kombination
der Zugriffsüberwachung
und der Sicherheits-Gates mit einem TAG behafteten Speichersystem.
Es ist aber auch möglich, ein
solches System ohne einen TAG behafteten Speicher zu betreiben,
wenn z. B. die Adresse der Einheit, auf die zugegriffen werden soll,
ihre Sicherheitsattribute impliziert.
-
In
einem solchen System würde
die Gesamtheit der keinen oder der mehreren Speicherplätze und
der E/A-Einheiten, auf die der Systemprozessor zugreifen kann, ein
TAG mit sich assoziieren. Ein TAG hat eine digitale Repräsentation,
die durch die Zugriffsüberwachung
ausgewertet wird, die eines oder mehrere Sicherheitsattribute repräsentiert,
die relevant für
die Daten oder die E/A-Einheit sind, mit der das TAG assoziiert
ist. In diesem Ausführungsbeispiel
werden alle TAGs in einem Speicher gespeichert, der TAG-Speicher
heisst und auf den nur die Zugriffsüberwachung zugreifen kann.
-
Die
Zugriffssteuerung selbst kann einige interne TAG-Register besitzen,
die die Sicherheitsattribute des vom Prozessor ausgeführten Programms beinhalten.
Versucht der Prozessor einen Datenzugriff, vergleicht die Zugriffsüberwachung
den Inhalt ihres internen TAG-Registers mit dem TAG, welcher mit
der Adresse des Datenspeichers, auf den zugegriffen wird, assoziiert
ist. Dies erlaubt es der Zugriffsüberwachung effektiv zu überprüfen, ob
die Sicherheitsattribute des Prozesses passend sind, um den Zugriff
auf die Daten zu erlauben, und wenn der Zugriff nicht erlaubt ist,
das Gate, durch welches der Zugriff erfolgen würde, geschlossen zu halten.
-
Ein vertrauenswürdiges Computer-Peripheriegerät
-
Die
Zugriffsüberwachung
und die Sicherheits-Gates, zusammen mit dem TAG behafteten Speichersystem,
sind anfänglich
gedacht, um in das Hardware-Design eines vertrauenswürdigen Computer-Peripheriegerätes integriert
zu werden, aber sie können
genauso bei der Architektur von vertrauenswürdigen Computern für allgemeine
Zwecke genutzt werden. Der dritte Punkt der Erfindung, der in dieser Spezifikation
offenbart ist, ist ein Ausführungsbeispiel eines
Designs für
eine vertrauenswürdige
Computer-Peripherie, die eine Zugriffsüberwachung, Sicherheits-Gates
und TAGs aufweisenden Speicher umfasst. Die periphere Einrichtung
selbst kann programmiert sein, um eine bestimmte sicherheitsrelevante Funktion
zum allgemeinen Nutzen des Computers anzubieten, an dem sie verbunden
ist. Z. B. kann die periphere Einrichtung so programmiert sein,
dass sie die Integritätsfilterfunktion
eines Netzwerks, wie vorher beschrieben, ausführt, um einen sicheren Gateway-Mechanismus
zwischen einem sicheren Netzwerk und einem äußeren Netzwerk, welches sicher sein
kann oder nicht, vorzusehen.
-
1 zeigt
die Architektur der peripheren Einrichtung.
-
Die
physikalischen Elemente der Computereinrichtung weisen auf, eine
CPU 10, ein ROM 12, einen Adressbus 52,
einen Daten-BUS 54 und Speicher zugeordneten Eingabe/Ausgabeports 14, 16, 18, 20, 22 und 24,
inklusive eines Utility-Portes 26, der so ausgelegt ist,
um Tastatur, Keypad und Flüssigkristallbildschirmgerät Zugriff
und Ausgabe anzubieten (LCD); einen Video-Graphik-Port 50 und
eine Zugriffsüberwachungskarte
(AM) 28. Zusätzlich
zu dem Genannten ist ein Hauptspeicher 30, ein Random Access
Memory (RAM) Speicherplätze
aufweist, vorhanden.
-
Allgemein
ausgedrückt
beinhalten die beschriebenen Elemente einen vollfunktionsfähigen Computer
mit einem CPU-Speichersystem und Eingabe/Ausgabe-(E/A)Einrichtungen.
-
Einschränkungen
beim Austausch oder Transfer von Daten zwischen verschiedenen Elementen
des Systems sind von der AM 28 gesteuert, welche die Kontrolle über die
Gates 32 bis 48 besitzt, die physikalisch zwischen
dem Systembus und verschiedenen E/A-Einrichtungen und dem Systemspeicher
platziert sind.
-
Jeder
Zugriff der CPU 10 auf den Systemspeicher (z. B. den RAM 30)
wird von der Zugriffsüberwachung 28 kontrolliert,
indem das Gate 44 geöffnet
wird.
-
In
einem erfindungsgemäßen Ausführungsbeispiel
besitzt jedes der jeweiligen Gates, die mit jedem Speicherplatz
und jeder Speicher und E/A-Einrichtung assoziiert ist, eine einmalige
Identifizierung, die aus Vereinfachungsgründen "TAG" genannt
wird. Möchte
die CPU 10 Zugriff auf beispielsweise einen bestimmten
Speicherplatz im RAM, gibt sie ein Steuerungssignal auf ihren Steuerbus 58 aus
und gibt ein geeignetes Adresssignal auf ihrem Adressbus 52 und
ihrem Datenbus 54. Die AM entdeckt diese Signale und schaut
im TAG-Speicher 56 den TAG, der mit diesem Platz verbunden
ist, nach. Die AM nutzt den Wert des TAGs, um zu entscheiden, ob
der angefragte Zugriff der CPU gewährt oder verboten wird. Die
AM kann ebenso in einem programmierfähigen Speicherplatz alle zur
Zeit gültigen
TAG/s halten, welche sie ebenso dazu nutzt, um den TAG, der mit
dem gewünschten
Speicherplatz assoziiert ist, zu vergleichen, bevor sie der CPU
Zugriff auf diesen Speicherplatz erlaubt.
-
Ein
TAG kann unter einer Vielzahl von Dingen eine spezielle Sicherheitsstufe
für den
Zugriff, abhängig
von der Art des Kontrollsignals (z. B. lesen oder schreiben) repräsentieren;
eine andere Steuerfunktion; und/oder eine bestimmte Sicherheitsstufe, die
mit dem Speicherplatz assoziiert ist, auf den zugegriffen werden
soll.
-
Abhängig vom
Ergebnis des Vergleichs von dem TAG, der aus dem TAG-Speicher 56 erhalten wurde,
mit dem TAG, in dem programmierbaren Speicher des AM, kann Zugriff
auf diesen Speicherplatz erlaubt oder nicht erlaubt werden. Die
AM wird den Zugriff erlauben oder verbieten, indem sie das Gate 44 steuert,
um das Lese- oder Schreibkommando hindurch zu lassen oder nicht.
-
Sollte
der Zugriff auf einen Speicherplatz während der aktuellen Ausführung nicht
erlaubt sein, hat dieser Speicherzugriff keinen Erfolg und die Adress-
und/oder Datenbusse zu diesem Speicherplatz werden effektiv getrennt
und die Daten in dem Speicher werden ungelesen oder unüberschrieben belassen.
In anderen erfindungsgemäßen Ausführungsbeispielen,
in denen der Kontrollbus aufgeteilt ist, können einer oder mehrere Busse
selektiv durch die Gatebedienung blockiert werden.
-
In
einem Beispiel würde
das dem CPU passieren, wenn der Speicherplatz oder wenn der Prozess
mit einer Eingabe/Ausgabe-Einrichtung verbunden ist, die für diese
spezielle CPU-Operation nicht existiert.
-
Die
Zugriffsüberwachung
ist vorzugsweise so ausgelegt, dass sie eine gewünschte Sicherheitsregel beinhaltet,
welche die Zugriffsstufe widerspiegelt in der Zeit, in der diese
spezielle AM genutzt wird. Eine entfernbare AM-Einrichtung bedeutet, dass
die Computer-Einrichtung deaktiviert oder eine Allgemeinanwendung
zurückgeführt werden
kann und wechselbare AMs oder viele verschiedene AMs erlauben es,
Sicherheitsregeln zu ändern,
je nach dem welche AM zur Zeit genutzt wird.
-
Jeder
Speicherplatz im RAM besitzt einen TAG und der RAM selbst ist mit
einem Gate verbunden. Aber der RAM, der nichts weiter als ein Speichermittel
ist, muss nicht in einer sicheren Computer-Vorrichtung vorhanden
sein. Z. B. kann eine PCMCIA/PC Karte ausgelegt sein, um als Speichereinrichtung
zu fungieren, in welcher beispielsweise jeder Speicherplatz ein
TAG besitzt. Auf diese Weise ist die PC Karte mit einem E/A verbunden,
welcher mit einem Gate verbunden ist, unter der Kontrolle des AM.
-
Jeder
Speicher und E/A-Einrichtung (z. B. PCMCIA/PC Card), der Graphik-Darstellungsport 50 und
der Dienstport 26 sind alle mit einem Einwege- oder Zweiwegegate
verbunden.
-
Die
Gates 32 bis 48 können einwegig oder zweiwegig
sein und haben bevorzugt zwei Bedienungsmodi. Der CLOSED-Modus sichert,
dass alle ankommenden Signale von dem Adressbus 52 und dem
Datenbus 54 nicht an seinen verbundenen Speicher und E/A-Einrichtungen
oder Speicherplatz weitergeleitet werden. Weiter ist es bevorzugt,
dass das Gate einen normalerweise CLOSED-Modus aufweist, so dass
bei jedem Fehler, seine Bedienung auf einer FAIL SAFE-Einstellung
beruht, was sicherstellt, dass keine Daten oder Signale das Gate
passieren. Daten und Signale sind Ausdrücke, die in dieser Beschreibung
gegeneinander ausgetauscht werden können.
-
Ist
das Gate im OPEN-Modus, werden Adressen und Daten ohne Transformation
durch das Gate zu dem mit ihm physikalisch verbundenen Speicher
und E/A-Einrichtung oder Speicherplatz geleitet. Sollte es für die CPU-Operation
notwendig sein, Informationen, die in einem Speicherplatz oder Speicher
oder einer E/A-Einrichtung vorhanden sind, zu lesen oder zu verändern (beschreiben),
dann können nur
Daten erfolgreich durch das Gate transferiert werden, wenn das verbundene
Gate offen ist.
-
In
einer relativ einfachen Konfiguration besitzt der Computer eine
CPU 10, eine Zugriffsüberwachung 28 und
eine Vielzahl von Speicherplätzen und
E/A-Einrichtungen, auf die von der CPU über mit ihr verbundene Gates,
die unter der Kontrolle der Zugriffsüberwachung stehen, zugegriffen
wird, wie in 1 beschrieben.
-
Das
folgende Beispiel beschreibt den damit verbundenen Prozess, wenn
die CPU Zugriff auf den Hauptspeicher des Computers erreichen will.
-
In
einer bevorzugten Ausführungsform
ist das TAG ein 8 bit Wert, welcher eindeutig mit jedem 32 bit Wort
in dem RAM-Hauptspeicher
verbunden ist. Das bedeutet, dass es eine 1 zu 1 Beziehung der TAGs
zu einer 32 bit Partition innerhalb des RAM-Speicherplatzes gibt.
Ein TAG kann ebenso repräsentativ
für eine
einzige Adresse des Speichers oder eine E/A-Einrichtung sein.
-
Zum
Beispiel, wenn die CPU 10 auf einen bestimmten Speicherplatz
zugreifen muss, ist der erste Schritt, der von der Zugriffsüberwachung
gefordert wird, die Signale, die von der CPU auf die Kontroll- und
Adresslinien gelegt wurden, zu decodieren, also die von der CPU
ausgegebene Adresse zu ermitteln. Der zweite Schritt ist für die AM
von ihrem verbundenen TAG-Speicher den einmaligen TAG zu erhalten,
welcher mit der Adresse verbunden ist. Der dritte Schritt ist, den
einmaligen TAG mit erlaubten TAG oder TAGs zu vergleichen, welche
in der AM enthalten sind, so dass, wenn der TAG-Wert erlaubt ist,
das Gate, welches mit der Einrichtung assoziiert ist, die die Adresse
trägt,
von der AM geöffnet
werden kann.
-
Mehrere
unterschiedliche Vergleichstechniken können genutzt werden und in
einem Beispiel wird der einzigartige TAG für diesen Speicherplatz mit
minimalen und maximalen TAG-Werten verglichen, die in der Zugriffsüberwachung
vorhanden sind. Die minimalen und maximalen TAG-Werte sind repräsentativ
für z.
B. eine bestimmte Aufteilung der Informationen auf die die CPU zugreifen
kann und weiter, ob diese Informationen gelesen oder überschrieben
werden können.
Liegt der TAG-Wert in dem vorbestimmten Bereich, wird das Gate 44,
welches mit dem Hauptspeicher 30 verbunden ist, geöffnet und
auf den gewünschten
Speicherplatz wird zugegriffen, um entweder zu lesen oder zu schreiben, wie
von der CPU gefordert. Das Gate 44 verändert die Informationen in
keiner Weise, sondern das Gate erlaubt es, die momentane CPU-Operation
zu beenden und bis zur nächsten
CPU-Operation wird die Steuerung automatisch zurück an die Zugriffsüberwachung
gegeben und das Gate geschlossen, bis es wieder unter der Kontrolle
der AM geöffnet
wird.
-
In
einem zweiten Beispiel, in Bezug auf einen Versuch, dass die CPU
auf einen Speicher oder eine E/A-Einrichtung zugreift (z. B. eine
PCMCIA-Einrichtung, welche ein Modem sein kann), besteht der erste Schritt
wie bereits vorher beschrieben daraus, dass die Zugriffsüberwachung
die Kontroll- und Adresslinien überwacht
und decodiert, die Signale übertragen, welche
von der CPU stammen. Die bestimmte Adresse, die von der CPU angelegt
wurde, wird decodiert und der einzigartige TAG wird über eine Look-up-Funktion,
die von der Zugriffsüberwachung ausgeführt wird,
bestimmt. Der einzigartige TAG wird dann mit den minimalen und den
maximalen Werten, die in der Zugriffsüberwachung gehalten werden,
verglichen und das Gate, welches mit dem PCMCIA verbunden ist, wird
geöffnet
oder bleibt geschlossen, je nach dem Ergebnis des Vergleiches. Ob
der Zugriff ein Lese- oder Schreibezugriff ist, kann ebenso festlegen,
ob das Gate geöffnet
wird oder geschlossen bleibt.
-
In
einer bevorzugten Ausführung
kann die vertrauenswürdige
Zugriffsüberwachungseinrichtung selbst
in Form einer PCMCIA-Karte
verfügbar
sein, welche leicht in einen Computer eingesteckt und herausgenommen
werden kann. Die einmaligen TAGs sind in ihrem Speicher an die gewünschte Sicherheits regel
angepasst, die auf dem Computer und seiner Konfiguration angewendet
werden soll. TAG-Bereiche innerhalb der AM können repräsentativ für die Sicherheitsstufe des
Zugriffs sein, die der CPU erlaubt wird und deswegen benötigt die
AM entsprechende physikalische Sicherheit, da ihre Inhalte die Zugriffssicherheitsregeln
des Computers, an den sie angeschlossen ist, festlegen. Wenn jedoch
Sicherheitsregeln geändert
werden, kann die Zugriffsüberwachung
ebenso leicht geändert
werden.
-
In
einer alternativen Ausführung
kann es für bestimmte
Operationen der CPU möglich
sein, TAGs zu aktualisieren, wenn die CPU z. B. im Supervisor-Modus
ist. In diesem bestimmten Ausführungsbeispiel
ist es bevorzugt, ein vertrauenswürdiges Gate zwischen der CPU
und dem TAG-Speicher zu besitzen.
-
In
einem Beispiel der Benutzung der vorgestellten Architekturkonzepte,
kann die CPU ein serienmäßiges Gerät sein,
welches bevorzugt keinen Cache hat, welches alleine von einem vorprogrammierten
ROM 12 konfiguriert wird. Der Haupt-RAM 30 besteht bevorzugterweise
aus einer Vielzahl von Speicherplätzen, wovon jeder ein 32 bit-Wort,
welches mit einem 8 bit-TAG assoziiert ist, besitzt und wobei jedes
8 bit-TAG in einem TAG-Speicher 56 gespeichert wird, welcher
mit der Zugriffsüberwachung verbunden
ist. Eine Methode zur Speicherung von TAG-Informationen ist eine
statische 1 zu 1 Beziehung der einmaligen TAGs zu jeder Speicherpartition (Speicherplatz)
und E/A-Einrichtung zu konzipieren.
-
Jeder
PCMCIA Port, der in einem solchen Computer genutzt wird, ist ein
eindeutig adressierter einfacher oder in einigen Fällen, zweifacher
Kartenport. Jeder Speicher oder E/A-Platz besitzt ein Gate, welches
mit jedem Port einmalig verbunden ist. Das Gate kann ein Zweiwege-Gate
sein, welches Lese- und Schreiboperationen erlaubt, wenn es OPEN ist. In
den Konfigurationen, die in 1 dargestellt
sind, ist der Graphik-Darstellungsport 50 eine nur-schreibende
Einrichtung. Deshalb muss das Gate nur Einwegtransfer von Daten
vom Bus zu diesem Gate ermöglichen.
Ein Gate, wie zuvor beschrieben, kann einwegig (unidirektional)
oder zweiwegig (bidirektional) sein, abhängig von der Art der Einrichtung
von und auf die es den Zugriff kontrolliert. Bevorzugterweise besitzt
der Video-Graphik-Darstellungsport eine Graphikkarte mit einer Adresse,
um adressierbare Pixel-Graphiken
zu ermöglichen,
was normalerweise in fortschrittlichen Computer-Einrichtungen benötigt wird,
obwohl diese Funktionalität
in keinerlei Hinsicht Konsequenzen für die Architektur-Merkmale mit
sich bringt, welche in diesem Beispiel beschrieben wurden.
-
Ein
Dienst-Port besitzt vorzugsweise eine Tastatur-Schnittstelle, eine
LCD-Schnittstelle, eine Keypad-Schnittstelle und eine Echtzeituhr-Schnittstelle,
und das Gate, welches damit verbunden ist, soll ein Zweiwege-Gate
sein, welches lesen und schreiben der Daten erlaubt, während das
Gate geöffnet
ist. Diese spezielle Konfiguration wurde gewählt, da alle E/A mit dem Benutzer
auf einer Sicherheitsstufe auftreten.
-
Es
wird dem Fachmann bewusst werden, dass die Erfindung nicht in ihrer
Benutzung auf die spezielle beschriebene Anwendung eingeschränkt ist und
ebenso nicht, dass sie in ihrer bevorzugten Ausführungsform eingeschränkt ist,
im Hinblick auf spezielle Elemente und/oder Eigenschaften, die hier
beschrieben wurden. Es wird darauf hingewiesen, dass eine Vielzahl
von Modifikationen ausgeführt
werden können,
ohne von den Prinzipien der Erfindung abzuweichen, und dass die
Erfindung so verstanden werden soll, dass alle derartigen Modifikationen
innerhalb des Schutzumfangs der Erfindung liegen.