DE69029880T2 - Verfahren zur Versorgung der Sicherung von Datei-Zwangsheimlichkeit und -Integrität in einem Computersystem - Google Patents

Verfahren zur Versorgung der Sicherung von Datei-Zwangsheimlichkeit und -Integrität in einem Computersystem

Info

Publication number
DE69029880T2
DE69029880T2 DE69029880T DE69029880T DE69029880T2 DE 69029880 T2 DE69029880 T2 DE 69029880T2 DE 69029880 T DE69029880 T DE 69029880T DE 69029880 T DE69029880 T DE 69029880T DE 69029880 T2 DE69029880 T2 DE 69029880T2
Authority
DE
Germany
Prior art keywords
integrity
security label
security
file
secrecy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69029880T
Other languages
English (en)
Other versions
DE69029880D1 (de
Inventor
Larry A Wehr
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Micro Focus Software Inc
Original Assignee
Novell Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Novell Inc filed Critical Novell Inc
Application granted granted Critical
Publication of DE69029880D1 publication Critical patent/DE69029880D1/de
Publication of DE69029880T2 publication Critical patent/DE69029880T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2145Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Description

    Technisches Sachgebiet
  • Die Erfindung bezieht sich auf das Gebiet der Sicherheit in Computersystemen allgemein und insbesondere auf die Zwangssteuerung eines sicheren Zugriffs auf Files bzw. Dateien in einem Computersystem durch Benutzer, die sowohl gemäß der Geheimhaltungs- als auch der Datenintegritäts-Klassifikationen autorisiert sind.
  • Hintergrund der Erfindung
  • Computersicherheit wird eine zunehmend wichtige und dringende Auflage. Als Beweis hierfür ist die heutige Besorgnis in Bezug auf Computerviren, die, wenn sie in Computersysteme eingebracht sind, die Fähigkeit besitzen, nicht geschützte Daten zu lesen und/oder zu zerstören. Tatsächlich hat eine Anzahl solcher Virusanschläge kürzlich weltweite Aufmerksamkeit auf sich gezogen.
  • Computersicherheit ist ein umfassender Ausdruck. Traditionell umfaßt er viele Aspekte des Schutzes eines Computers oder eines Computersystems. Sicherheitsauflagen umfassen einen Systemzugriff durch nicht autorisierte Benutzer oder Programme und eine Beschränkung eines Dateizugriffs von eingeschränkten Benutzern oder Gruppen von Benutzern basierend auf Begriffen einer Sicherheit. In den letzten paar Jahren hat die Sicherheit auch damit begonnen, Begriffe von Dateizugriffseinschränkungen basierend auf einer wahrgenommenen Integrität, d.h. Rechtschaffenheit oder Gültigkeit, der Daten, die in den Dateien gespeichert sind, zu umfassen. Die Idee einer Sicherheit, die auf einer Daten-Integrität basiert, begann mit einer Veröffentlichung von K.J. Biba im Aprill 1977 mit dem Titel "INTEGRITY CONSIDERATIONS FOR SECURE COMPUTER SYSTEMS"; Deputy for Command and Management Systems; Electronic Systems Division, ASFC; Hanscom Air Force Base; Bedford, MA; Technical Report ESD-TR-76-372. Derzeit ist allgemein erkannt, daß hohe Sicherheitssysteme Elemente sowohl eines Geheimschutzes als auch eines Integritätsschutzes umfassen. Ein Geheimschutz ist primär auf das Verhindern eines Lesezugriffs auf Informationen durch nicht autorisierte Benutzer gerichtet. Ein Integritätsschutz ist pirmär auf das Verhindern einer nicht autorisierten Modifikation der Informationen, die in einem Computersystem gespeichert sind, gerichtet. Dennoch umfassen die unterschiedlichen Zwecke eines Geheim- und Integritätsschutzes, d.h. eine Observation und Modifikation jeweils, beide Arten eines Schutzes Aspekte einer Observation (Lesen von Daten) und Modifikation (Schreiben von Daten). Ohne sich in unnötigem Detail zu verlieren werden Regeln, die eine Geheimhaltung und Integrität führen, gewöhnlich wie folgt angegeben. Für eine Geheimhaltung kann ein Benutzer nicht Daten beobachten (lesen), ohne daß der Benutzer eine Geheimhaltungserlaubnis gleich oder größer als diejenige der Daten besitzt, und ein Benutzer kann nicht Daten modifizieren (schreiben), ohne daß der Benutzer eine Geheimhaltungserlaubnis gleich zu oder niedriger als diejenige der Daten besitzt. Für Integritätszwecke werden die Regeln umgekehrt. Ein Benutzer kann Daten nicht modifizieren (schreiben), ohne daß der Benutzer eine Integritätserlaubnis gleich oder größer als diejenige der Daten besitzt, und ein Benutzer kann nicht Daten lesen, ohne daß der Benutzer eine Integritätserlaubnis gleich oder niedriger als diejenigen der Daten besitzt. In einigen Systemen wird ein Datei-Beschreiben verhindert, ohne daß die Geheimhaltungs- und/oder Integritäts-Label bzw. Kennzeichen identisch sind. Die Regeln, die einer Geheimhaltung zugeordnet sind, stellen sicher, daß Daten nur nach oben in Bezug auf ein Geheimhaltungs-Niveau übertragen werden können. Die Regeln, die einer Integrität zugeordnet sind, stellen sicher, daß Daten nur nach unten in Bezug auf ein Integritäts-Niveau übertragen werden können.
  • Derzeit setzten viele kommerzielle Systeme einen gewissen Grad einer Geheimhaltungskontrolle ein. Allerdings setzen sehr wenige Systeme sowohl einen Geheimhaltungs- als auch einen Integritätsschutz ein. Der Grund hierfür ist wie folgt. Obwohl es unter Fachleuten auf dem Fachgebiet ausreichend bekannt ist, daß eine Dualität zwischen einer Geheimhaltung und einer Integrität vorhanden ist, ist die Annahme und die Praxis diejenige, daß die Vorsehung von beiden ähnliche, allerdings separate Durchsetzungs- Verfahrensweisen und -ausführungen erfordert. Das bedeutet, daß die Realisierung sowohl eines Geheimhaltungs- als auch eines Integritätsschutzes in einem einzelnen System separate Label und einen separaten Code zum Durchsetzen der Geheimhaltungsverfahren erfordert, einschließlich des Testens der separaten Geheimhaltungs-Label und der Integritäts-Label bei allen und bei jedem eines direkten und indirekten Dateizugriffs in einem System. Das Testen separater Geheimhaltungs- und Integritäts-Label bei jedem Dateizugriff erfordert wiederum einen zusätzlichen Overhead im Hinblick auf Systemzeit, um die separaten Verfahrensweisen einer Geheimhaltung und einer Integrität durchzusetzen. Kurz gesagt wird derzeit angenommen, daß es zu teuer ist, beide Geheimhaltungsverfahrensweisen in demselben System auszuführen. Demzufolge werden die wenigen Systeme, die höhere Niveaus eines Schutzes umfassen, einschließlich eines Integritäts- und Geheimhaltungsschutzes, die höheren Schutzmaßnahmen gewöhnlich separat unter zusätzlichen Kosten und als optionale Sicherheitseinheiten vermarktet.
  • Zusammenfassung der Erfindung
  • Die vorliegende Erfindung schafft die Fähigkeit, Datenzugriffs-Sicherheits- Schutzmaßnahmen basierend auf beiden Geheimhaltungsaspekten zu erzielen, die sich auf Datenobervations- und Integritätsaspekte beziehen, die sich auf die Modifikation der Daten und die wahrgenommene Güte davon beziehen. Dies wird ohne zusätzliche Kosten oder einen Overhead gegenüber herkömmlichen Techniken erreicht, die sich nur auf Schutzmaßnahmen basierend auf nur Sicherheitsaspekten beziehen. Die Erfindung ist ein Verfahren zur Zwangsdurchsetzung von Sicherheits-Schutzmaßnahmen, um einen Zugriff zu Dateien eines Computersystems nur auf Computerprozesse, die geeignet für einen Zugriff autorisiert sind, sicherzustellen. Ein separates Sicherheits-Label wird jeder Datei und jedem Prozeß des Systems zugeordnet und definiert autorisierte Sicherheitsklassen, die sich auf die zugeordnete Datei oder den Prozeß beziehen. Jedes Sicherheits-Label, das einem Prozeß zugeordnet ist, enthält Informationen, die Autorisierungen basierend auf einer Daten-Geheimhaltung und einer Daten-Integrität beschreiben. Ähnlich enthält jede Autorisierung, die einer Datei zugeordnet ist, Informationen basierend sowohl auf Daten-Geheimhaltungs- als auch Daten-Integritäts-Klassen der Prozesse, denen erlaubt ist, in einem Zugriff auf die Datei zu lesen und zu schreiben. Ein Vergleich wird bei einem versuchten Zugriff auf eine Datei durch einen Prozeß des Sicherheits-Labels, das dem Prozeß zugeordnet ist, und des Sicherheits-Labels, das der Datei zugeordnet ist, vorgenommen. Eine Verifikation wird basierend auf dem Vergleich vorgenommen, daß der Prozeß autorisiert ist, um auf die Datei zuzugreifen. Wichtig ist, daß die Verifikation sowohl gemäß dem Geheimhaltungs- als auch dem Integritätsaspekt in einem Einzel-Verifikationsschriff durchgeführt wird.
  • In einer Ausführungsform folgt der Schritt eines Verifizierens den Regeln, die traditionell einer Datengeheimhaltungs-Durchsetzung zugeordnet sind, nämlich, daß ein Verifizieren bei einem versuchten Lesezugriff, dem das Sicherheits-Label für den Leseprozeß zugeordnet ist, über das Sicherheits-Label dominiert, das dem File bzw. der Datei zugeordnet ist, und eines Verifizierens bei einem versuchten Schreibzugriff, daß das Sicherheits-Label, das der Datei zugeordnet ist, über das Sicherheits-Label dominiert, das dem Schreibprozeß zugeordnet ist. Unter "dominieren" ist gemeint, daß das Geheimhaltungs- Niveau des dominierenden Teils gleich oder größer als dasjenige des dominierten Teils ist, und daß die abteilungsmäßige Erlaubnis für den dominierenden Teil mindestens den Satz abteilungsmäßiger Erlaubnisse für den dominierten Teil umfaßt. In dem vorstehenden Fall wird die Autorisierungs-Information in einem Sicherheits-Label, basierend auf einer Integrität, als das Inverse der tatsächlichen Integritäts-Information gespeichert. Allerdings sind alternative Ausführungsformen ebenso zufriedenstellend, wobei zum Beispiel eine Durchsetzung durch Verifizieren bei einem versuchten Lesezugriff durchgeführt wird, daß das Sicherheits-Label, das der Datei zugeordnet ist, über das Sicherheits-Label dominiert, das dem Prozeß zugeordnet ist, und durch Verifizieren bei einem versuchten Schreibzugriff, daß das Sicherheits-Label, das dem Prozeß zugeordnet ist, über das Sicherheits-Label dominiert, das der Datei zugeordnet ist. In diesem Fall wird die Autorisierungs-Information in einem Sicherheits-Label basierend auf einer Geheimhaltung als das Inverse der tatsächlichen Geheimhaltungs-Information gespeichert.
  • In einem mehr gattungsgemäßen Sinne kann die Erfindung wie folgt charakterisiert werden. Jedes Sicherheits-Label weist eine Vielzahl von Feldern der Zustände des Aggregats bzw. der Ansammlung auf, die eine Vielzahl von unterschiedlichen Sätzen für Prozesse und Dateien unterschiedlicher Geheimhaltungs-Autorisierungen basierend auf einer Geheimhaltung und Integrität definieren. Der Schritt eines Verifizierens stellt sicher, daß Daten nur zu autorisierten Sätzen bei einem versuchten Dateizugriff fließen. Dies wird durch Verifizieren ausgeführt, daß Daten ermöglicht wird, von einem ersten Satz zu einem zweiten Satz nur dann zu fließen, wenn die Inhalte des Sicherheits-Labels des zweiten Satzes gleich zu allen Autorisierungen ist oder diese umfaßt, die in dem Sicherheits-Label des ersten Satzes enthalten sind. In einem solchen Fall kann es sein, daß es, obwohl die Sicherheits-Label sowohl Sicherheits- als auch Integritäts-Informationen enthalten, nicht notwendigerweise einfach oder möglich ist, separat identifizierbare Teile eines Sicherheits-Labels zu Geheimhaltungs-Autorisierungen oder Integritäts-Autorisierungen zuzuordnen.
  • Kurze Beschreibung der Zeichnung
  • In der Zeichnung:
  • Figur 1 stellt ein erläuterndes Format eines Geheimhaltungs-Labels dar, das durch die Regierung, zum Beispiel verwendet wird, einschließlich eines Geheimhaltungsniveau- Felds und einer Vielzahl von Geheimhaltungs-Abteilungen;
  • Figur 2 stellt ein erläuterndes Diagramm unterschiedlicher Sätze von Benutzern, Prozessen und Daten-Dateien, die gemäß dem Zustand des Geheimhaltungs-Labels der Figur 1 für jeden Satz definiert sind, und den zugelassenen Datenfluß zwischen dem Satz gemäß den herkömmlichen Regeln, die sich auf Geheimhaltungs-Sicherheits-Kontrollen beziehen, dar;
  • Figur 3 stellt ein erläuterndes Format eines Integritäts-Label dar;
  • Figur 4 stellt ein erläuterndes Diagramm unterschiedlicher Sätze von Benutzern, Prozessen und Daten-Dateien, die gemäß dem Zustand des Integritäts-Label der Figur 3 für jeden Satz definiert sind, und den zugelassenen Datenfluß zwischen dem Satz gemäß den herkömmlichen Regeln, die sich auf Integritäts-Sicherheits-Kontrollen beziehen, dar;
  • Figur 5 stellt ein erläuterndes, einzelnes Sicherheits-Label dar, das in einem einzelnen Label sowohl Geheimhaltungs- als auch Integritäts-Informationen einbezieht;
  • Figur 6 stellt den zugelassenen Datenfluß zwischen den Sätzen der Figur 1 als Folge des Kombinierens der Geheimhaltungs-Schutzmaßnahmen der Figur 2 und der Integritäts-Schutzmaßnahmen der Figur 4 in einem einzelnen Label und Definieren und Testen der Inhalte des Labels, der Prozesse und der Dateien gemäß einem Aspekt der Erfindung, der die herkömmlichen Regeln eines Geheimhaltungs-Datenflusses einsetzt, dar;
  • Figur 7 stellt die Datenfluß-Äquivalenz der Figur 6 dar, die durch Definieren und Testen der Inhalte der Prozeß- und Datei-Sicherheits-Label der Figur 5 in einer alternativen Art und Weise erhalten sind, die die herkömmlichen Regeln eines Integritäts-Datenflusses einsetzt; und
  • Figuren 8, 9 und 10 stellen ein anderes Beispiel eines Systems mit definierten Sätzen von Prozessen und Datein dar, einschließlich erwünschter Einschränkungen in Bezug auf den Datenfluß zwischen den Sätzen, wobei die Sicherheits-Label, die den unterschiedlichen Sätzen zugeordnet sind, sowohl Sicherheits- als auch Integritäts-Informationen umfassen, die in den Labeln als Ganzes derart zusammengefaßt sind, daß sie nicht notwendigerweise separat als Geheimhaltungs-Informationen oder Integritäts-lnformationen identifiziert werden müssen.
  • Detaillierte Beschreibung
  • Figur 1 stellt ein vereinfachtes Geheimhaltungs-Label bzw. -Etikett dar, wie es typischerweise durch Systeme verwendet wird, die Geheimhaltungserfordernisse erfüllen, wie sie in dem sogenannten Federal Government Department of Defense ORANGE book, National Computer Security Center, "Department of Defense Trusted Computer System Evaluation Criteria", DOD 5200.28-STD, Dezember 1985, angegeben sind. Ein Abschnitt 10 des Geheimhaltungs-Labels gibt ein Geheimhaltungs-Niveau an, das einem Benutzer oder einer Datei bzw. einem File zugeordnet ist. Beispiele von Geheimhaltungs-Niveaus, die Regierungs- und anderen Systemen zugeordnet sind, umfassen die ausreichend bekannten Klassifikationen TOP SECRET, SECRET AND UNCLASSIFIED (streng geheim, geheim und nicht klassifiziert). In nicht regierungsbezogenen Systemen können diese Label irgendwelche Klassifikationen umfassen, die in erwünschter Weise behandelt werden. Allgemein sind diese Geheimhaltungs-Niveaus binär codiert. Zum Beispiel könnte TOP SECRET als ein Niveau 2 codiert sein, wogegen UNCLASSIFIED als ein Niveau 0 codiert sein könnte.
  • Ein zweiter Abschnitt 12 eines Geheimhaltungs-Labels gibt eine Zahl unterschiedlicher Abteilungen 14 und 16 in Figur 1 an, auf die sich das Geheimhaltungs-Niveau des Abschnitts 10 bezieht. Als ein Beispiel könnte sich jede Abteilung von 12 auf ein separates Land oder auf einen separaten Block aus Ländern beziehen. Es ist gewöhnlich eine große Anzahl Abteilungen von 12 in irgendeinem realistischen System vorhanden. Für die vorliegenden Zwecke sind nur zwei Abteilungen A und B, 14 und 16, jeweils zur Vereinfachung dargestellt. Die Definitionen der Abteilungen A und B sind für die vorliegenden Zwecke irrelevant. Falls es das Verständnis unterstützt, könnte der Leser zum Beispiel annehmen, daß sich A und B jeweils auf alle nicht kommunistischen und kommunistischen Länder bezieht.
  • Figur 2 stellt ein erläuterndes Zustandsdiagramm für vier Sätze von Benutzern, Prozessen und Dateien dar, in die ein System-Administrator es wünschen könnte, ein System für Geheimhaltungszwecke aufzuteilen. Die vier Benutzersätze sind illustrativ OBSERVER US, THEM und PUBLIC. Für dieses Beispiel ist anzumerken, daß nur zwei Geheimhaltungs-Niveaus, 0 und 1, erforderlich sind, wie dies durch die erste Ziffer in jedem Satz angegeben ist. Das Sicherheitsniveau ist von den Abteilungen A und B durch ein Komma in der Figur getrennt. Demzufolge besitzt der Satz US zum Beispiel ein Sicherheitsniveau von 0 und die Abteilungen A, B sind auf 1, 0 eingestellt. Die Definition der Abteilungen ist für die Diskussion nicht wichtig. Pfeile zwischen den Benutzersätzen zeigen Richtungen eines erlaubten Datenflusses an. Ein Datenfluß zwischen Sätzen wird durch Anwendung zuvor festgelegter Regeln für erlaubte Dateilesungen und -beschreibungen basierend auf den Geheimhaltungs-Labels der Dateien und Benutzer, oder Prozessen, die Benutzer repräsentieren, bestimmt. Um den Leser daran zu erinnern, sind die Geheimhaltungsregeln diejenigen, daß ein Benutzer oder ein Prozeß eine Datei nur lesen kann, wenn sein Label über dasjenige der Datei dominiert. Umgekehrt kann ein Benutzer oder ein Prozeß eine Datei nur beschreiben, wenn das Datei-Label über dasjenige des Benutzers oder des Prozesses dominiert. Anders ausgedrückt können Daten nur nach oben oder innerhalb eines Satzes in der Geheimhaltungs-Label-Kette fließen. Demzufolge können Benutzer und Prozesse in PUBLIC Dateien schreiben, die in OBSERVE, US, THEM und PUBLIC liegen, da die Geheimhaltungs-Label, die OBSERVE, US, THEM und PUBLIC zugeordnet sind, über die Geheimhaltungs-Label von PUBLIC dominieren. Zusätzlich können Benutzer und Prozesse in US und THEM ein Schreiben in Dateien in OBSERVE aus demselben Grund durchführen. Umgekehrt können Benutzer und Prozesse in OBSERVE Daten von Dateien lesen, die in US, THEM und PUBLIC liegen, da die Geheimhaltungs-Label der Prozesse und der Benutzer in OBSERVE über solche von US, THEM und PUBLIC dominieren. Mit "dominieren" ist gemeint, daß das Geheimhaltungs-Niveau des dominierenden Teils gleich zu oder größer als der dominierte Teil ist, und daß die abteilungsmäßigen Erlaubnisse für den dominierenden Teil mindestens den Satz der abteilungsmäßigen Erlaubnisse für den dominierten Teil umfassen.
  • Anhang A stellt den Quellencode eines Programms dar, das Geheimhaltungsregeln, die vorstehend diskutiert sind, bei Geheimhaltungs-Labeln anwendet, um die Zulässigkeit versuchter Dateizugriffe zu bestimmen. Der Code ist in der geläufigen C-Programmiersprache geschrieben und sollte leicht für irgendeinen, der mit dieser Sprache vertraut ist, verstanden werden.
  • Figur 3 stellt ein Integritäts-Label dar, das in einem System verwendet werden könnte, das eine Integritätserhöhung einsetzt. Wie zu sehen ist, ist das erläuternde Integritäts- Label ähnlich zu dem Geheimhaltungs-Label der Figur 1. Ein Integritäts-Niveau 30 ist das Gegenstück des Sicherheits-Niveaus 10 der Figur 1. Integritäts-Niveaus könnten irgendein Satz von Klassifikationen sein, der in einem gegebenen System Sinn macht. Die früher erwähnte Publikation von Biba verwendet dieselben Integritäts-Niveau-Klassifikationen wie die regierungsmäßigen Geheimhaltungs-Klassifikationen, d.h. TOP SECRET, SECRET und UNCLASSIFIED. Für die Zwecke hier werden die erläuternden Integritäts-Klassifikationen HIGH (H), MEDIUM (M) AND LOW (L) angenommen. Das Integritäts-Label kann auch Abteilungen 32 enthalten, die im Prinzip den Sicherheits-Abteilungen des Sicherheits-Labels, wie beispielsweise in Figur 1, entsprechen. Zwei lntegritäts-Abteilungen C und D, 34 und 36, jeweils, sind hier dargestellt. Es können dort so viele Integritäts-Abteilungen vorhanden sein, wie dies in irgendeinem System benötigt wird. Es sollte auch erkannt werden, daß im allgemeinen Integrität-Abteilungen in irgendeinem System bestehen können oder nicht bestehen können, oder nicht in einer Definition zu solchen eines Geheimhaltungs-Labels entsprechen können.
  • Figur 4 erläutert ein Beispiel eines eingeschränkten Datenflusses basierend auf Integritätsprinzipien. Die Integritäts-Label, die jedem der Sätze OBSERVE, US, THEM und PUBLIC zugeordnet sind, geben die Datenflußregeln wieder, die zuvor erwähnt sind. Dies bedeutet für Integritätszwecke, daß Daten nur nach unten zu Sätzen gleicher oder niedrigerer Integritäts-Label fließen. Demzufolge können in diesem Beispiel Benutzer oder Prozesse in OBSERVE und PUBLIC Dateien in US oder THEM lesen. Benutzer in PUBLIC können Dateien in OBSERVE lesen. Allerdings können Benutzer oder Prozesse in OBSERVE nicht Dateien in PUBLIC, zum Beispiel lesen, da dies, um dies vorzunehmen, ein Datenfluß nach oben erfordern würde (die C-Abteilung in OBSERVE ist höher als die C-Abteilung in PUBLIC). Ähnlich können Benutzer oder Prozesse in OBSERVE Dateien in PUBLIC schreiben, allerdings nicht in US oder THEM.
  • Gemäß der früheren Annahme und Praxis erfordert das Einsetzen von Geheim- und Integritäts-Schutzmerkmalen, wie dies in den Figuren 2 und 4 dargestellt ist, in einem einzelnen System separate Label, wie beispielsweise solche, die in den Figuren 1 und 3 dargestellt sind, und das separate Prüfen der Label mit einem unterschiedlichen Code, der die geeigneten Datenflußregeln bei jedem Datei-Zugriff, der durch das System durchgeführt wird, anwendet.
  • Gemäß der Erfindung werden allerdings sowohl ein Sicherheits- als auch Integritätsschutz in einem einzelnen Schritt erreicht, und zwar unter Anwendung nur der Geheimhaltungsregeln, oder alternativ der Integritätsregeln. Demzufolge wird sowohl ein Geheimhaltungs- als auch Integritätsschutz mit einem einzelnen Geheimhaltungs-Label und ohne den System-Overhead über denjenigen hinaus geschaffen, der erforderlich ist, um ein herkömmliches Geheimhaltungs- oder Integritäts-Label zu verarbeiten. Figur 5 stellt ein einzelnes, erläuterndes Geheimhaltungs-Label dar, das sowohl Geheimhaltungs- als auch Integritäts-Daten einsetzt. Ein erster Abschnitt 50 enthält Geheimhaltungs-Niveaus. Ein spearates Bit ist für jedes Niveau TS (TOP SECRET), S (SECRET) und U (UNCLASSIFIED) mit einer "1", zum Beispiel, in einem Bit versehen, das anzeigt, daß das entsprechende Niveau wirksam ist. In diesem Fall würden auch alle niedrigeren Geheimhaltungs-Niveau-Bits eine "1" enthalten, um eine geeignete Dominanz-Beziehung aufrechtzuerhalten. Die Vorsehung einer Niveau-Zahl wie in der herkömmlichen Praxis könnte hier verwendet worden sein. Allerdings wird die Vorsehung separater Geheimhaltungs-Bits zur Vereinfachung verwendet. Zwei Geheimhaltungs-Abteilungs-Bits E und F (52) sind erläuternd vorgesehen. Die Bedeutungen der zwei Abteilungen ist nicht wichtig. Ähnlich sind separate Bits 54 zum Spezifizieren von Integritäts-Niveaus vorgesehen. Zum Zwecke der Diskussion werden diese Integritäts-Niveaus als HIGH INTEGRITY (H), MEDIUM INTEGRITY (M) AND LOW INTEGRITY (L) angenommen. Es sind auch erläuternd zwei Integritätsräume G und H (56) dargestellt.
  • Im Gegensatz zu dem Fall eines separaten Integritäts-Labels wie in Figur 3 werden die Zustände der Integritäts-Niveau-Bits und der Integritäts-Abteilungen in Figur 5 als inverse Zustände der tatsächlichen Integritäts-Zustände gespeichert. Anders ausgedrückt werden, wenn ein Prozeß oder eine Datei dahingehend betrachtet wird, daß sie eine hohe Integrität für eine Abteilung G erfordern, die tatsächlichen Integritäts-Bit-Zustände von H,M,L,G,H (1,1,1,1,0) in dem Label der Figur 5 als 0,0,0,0,1 gespeichert, und die Datenfluß-Regeln, die sich auf eine Geheimhaltung beziehen, werden auf dieses einzelne Label für Dateizugriffe angewandt. Als eine gleichermaßen zufriedenstellende Alternative könnten die Integritäts-Bit-Zustände als tatsächliche Werte gespeichert werden und die Zustände der Geheimhaltungs-Bits 50 und 52 könnten als deren inverse Werte gespeichert werden. In diesem Fall würden die Datenflußregeln, die sich auf eine Integrität beziehen, bei dem einzelnen Label angewandt werden. Figur 6 stellt einen erlaubten Datenfluß zwischen den Sätzen OBSERVE, US, THEM und PUBLIC durch Kombinieren der Geheimhaltungs- und Integritäts-Label der Figuren 1 und 3 in einem einzelnen Sicherheits-Label dar, wobei die Integritäts-Bits invertiert sind, und durch Anwenden der Datenflußregeln der Geheimhaltung. In dieser Figur ist der Geheimhaltungsbereich der Label von den Integritäts-Bereichen der Label durch Spalten zur Vereinfachung separiert. Auch sind die Integritäts-Zustände invertiert, wie dies vorstehend diskutiert ist. Durch Anwenden der Datenflußregeln der Geheimhaltung, d.h. daß Daten nur nach oben fließen, führt zu der Richtung der Pfeile, wie dies in Figur 6 dargestellt ist. Demzufolge ist durch Kombinieren der Geheimhaltungs- und Integritäts-Einschränkungen der Figuren 2 und 4 jeweils das Ergebnis dasjenige, daß Benutzer und Prozesse in OBSERVE in der Lage sind, nur Dateien zu lesen, die dasselbe Label besitzen, oder von US und THEM, und Benutzer oder Prozesse in US und THEM sind in der Lage, nur Dateien in OBSERVE zu beschreiben. Benutzer und Prozesse in PUBLIC sind in der Lage nur Dateien zu lesen und zu schreiben, die Geheimhaltungs-Label identisch zu denjenigen von PUBLIC besitzen. Alle anderen Datenzugriffe sind verboten. Deshalb werden die Benutzer und Prozesse in PUBLIC von dem Rest des Systems isoliert.
  • Figur 7 stellt das äquivalente System der Figur 6 dar, mit Ausnahme, daß die Geheimhaltungs-Zustände invertiert sind, im Gegensatz zu den Integritäts-Zuständen, und die Datenflußregeln der Integrität, d.h. Datenflüsse nur nach unten, werden auf versuchte Dateizugriffe angewandt. Wie zu sehen ist, ist der erlaubte Datenfluß in Figur 7 identisch zu demjenigen der Figur 6.
  • Es wird nun dargestellt werden, daß es für irgendein System möglich ist, sowohl einen Geheimhaltungs- als auch Integritäts-Schutz gemäß den Prinzipien, die hier gelehrt sind, einzusetzen, ohne daß ein System-Designer oder Administrator explizit in Ausdrücken einer Geheimhaltung oder Integrität denken muß. Es ist nur notwendig, daß ein Designer oder ein Administrator in Ausdrücken der erwünschten Einschränkungen in Bezug auf einen Datenfluß zwischen unterschiedlich definierten System-Sätzen der Benutzer oder der Prozesse und Sätzen von Dateien denkt. Wenn die erwünschten Sätze definiert sind und die Datenflußrichtungen eingerichtet sind, werden die Zustände von Geheimhaltungs-Labels eingerichtet, um sicherzustellen, daß erwünschte Einschränkungen in Bezug auf den Datenfluß zwischen Sätzen durch Anwenden entweder der Regeln einer Geheimhaltung oder einer Integrität sichergestellt werden.
  • Figur 8 stellt wiederum vier Sätze von Benutzern, Prozessen und Dateien, OBSERVE, USERS, PRIVATE und PUBLIC, mit erläuternden Einschränkungen in Bezug auf den Datenfluß zwischen den Sätzen dar. Mit dieser Architektur können Benutzer und Prozesse in OBSERVE Dateien in USERS und PUBLIC lesen, allerdings können sie nicht in USERS oder PUBLIC schreiben. Benutzer und Prozesse in PRIVATE können lesen, allerdings nicht Daten in PUBLIC schreiben. Ähnlich können USERS PUBLIC-Daten lesen, allerdings nicht schreiben. Hier ist eine vollständige Isolation der USERS von den PRIVATE Daten vorhanden. Wenn dieses System ein UNIX Betriebssystem zum Beispiel sein würde, könnte die /etc/passwd-Datei dem Satz PUBLIC zugeordnet sein, allerdings würden die verschlüsselten Passworte in einer Datei in der Einstellung PRIVATE vorhanden sein. Das vertraute Betriebssystem würde dann verhindern, daß USERS solche sensitiven Daten, wie die verschlüsselten Passworte, lesen oder schreiben. Ein Administrator würde sich, wenn er privilegierte Aufgaben durchführt, in das System an dem Satz PRIVATE einloggen. Die Systembefehle, die zum Durchführen der privilegierten Aufgaben erforderlich sind, würden in ausführbaren Dateien, auch in dem Satz PRIVATE, enthalten sein. Derselbe Administrator würde, während er auf USER-Problemen arbeitet, in das System in dem Satz OBSERVE eingeloggt werden. Dies würde Administratoren vor den ausreichend bekannten Sicherheitsverletzungen schützen, die auftreten können, wenn böswillige Benutzer versuchen, einen Administrator im Ausführen privilegierter Befehle zu hintergehen. Es ist auch anzumerken, daß ein Datei-Zugriff einen direkten ebenso wie einen indirekten Zugriff umfassen kann, bei denen die erwünschten Datenflußregeln zutreffen. Unter Verwendung des UNIX Betriebssystems wiederum als ein Beispiel können, soweit Prozesse betroffen sind, Vorrichtungen bloß Dateien sein, denen ein Sicherheits-Label zugeordnet ist, und solche nun ausreichend bekannte Operatoren, wie Datei-Umleitungen (> ) und Leitungen (I), sind auch indirekte Datei-Zugriffe, bei denen die Datenflußregeln angewandet werden.
  • Eine wichtige Sache, die in Bezug auf das System der Figur 8 anzumerken ist, ist diejenige, daß es sowohl Schutzmaßnahmen für Geheimhaltung und Integrität umfaßt, das bedeutet, es umfaßt alle erwünschten Einschränkungen in Bezug auf einen Datenfluß zwischen Sätzen. Es ist nun notwendig, lediglich Sicherheits-Label für die Sätze der Figur 8 zu definieren, um sicherzustellen, daß der erwünschte Datenfluß gemäß den Regeln der Geheimhaltung oder Integrität, was auch immer ausgewählt wird, um es anzuwenden, bewahrt wird. Figur 9 stellt solche Label dar, die wahlweise gemäß den Regeln der Geheimhaltung ausgewählt sind. Figur 10 stellt einen anderen, unterschiedlichen Satz von Labeln dar, der dieselben Ergebnisse wie die Label der Figur 9 gemäß den Regeln der Geheimhaltung vornimmt. Obwohl die Label der Figuren 9 und 10 beide Notationen der Geheimhaltung und der Integrität umfassen, sind diese Notationen in die redundanten Zustände der Label subsummiert worden und sind nicht notwendigerweise und erwünschterweise als separate Bits der Label identifizierbar. Weiterhin kann durch Invertieren jedes Label-Bits in den Figuren 9 oder 10 und durch Anwenden der Regeln der Integrität ein Designer oder Administrator exakt dasselbe Ergebnis erreichen. ANHANG A

Claims (2)

1.Verfahren einer erzwungenen Durchsetzung von Sicherheits-Schutzmaßnahmen, um einen Zugriff zu Dateien eines Computerssystems nur auf Computerprozesse sicherzustellen, die geeignet für einen Zugriff autorisiert sind, wobei ein separates Sicherheits-Label jeder Datei und jedem Prozeß des Systems zugeordnet ist und autorisierte Sicherheits-Klassen definiert, die sich auf die zugeordnete Datei oder den zugeordneten Prozeß beziehen, wobei das Verfahren die Schritte aufweist:
a) Verifizieren eines versuchten Lese-Zugriffs, daß das Sicherheits-Label, das dem Prozeß zugeordnet ist, über das Sicherheits-Label, das der Datei zugeordnet ist, dominiert, oder
b) Verifizieren bei einem versuchten Schreib-Zugriff, daß das Sicherheits-Label, das der Datei zugeordnet ist, über das Sicherheits-Label, das dem Prozeß zugeordnet ist, dominiert,
wobei ein erstes Sicherheits-Label über ein zweites Sicherheits-Label dominiert, wenn mindestens alle Geheimhaltungs- und Integritäts-Autorisierungen in dem zweiten Sicherheits-Label auch in dem ersten Sicherheits-Label vorhanden sind,
wobei das Verfahren dadurch gekennzeichnet ist, daß jedes Sicherheits-Label Informationen enthält, die Autorisierungen beschreiben, basierend auf einer Daten- Geheimhaltungs- und Daten-Intergrät, wobei Autorisierungs-Informationen in einem Sicherheits-Label, basierend auf einer Integrität, als das Inverse der tatsächlichen Integritäts-Informationen gespeichert sind, wobei eine Autorisierung basierend sowohl auf autorisierten Geheimhaltungs- als auch Integritäts-Klassen des Prozesses und denenigen, die durch die Datei für einen Zugriff erforderlich sind, in einem einzelnen Verifikationsschritt ausgeführt werden.
2. Verfahren einer erzwungenen Durchsetzung von Sicherheits-Schutzmaßnahmen, um einen Zugriff zu Dateien eines Computersystems nur auf Computerprozesse sicherzustellen, die geeignet für einen Zugriff autorisiert sind, wobei ein separates Sicherheits-Label jeder Dateil und jedem Prozeß des Systems zugeordnet ist und autorisierte Sicherheits-Klassen definiert, die sich auf die zugeordnete Datei oder den zugeordneten Prozeß beziehen, wobei das Verfahren die Schritte aufweist:
a) Verifizieren eines versuchten Lese-Zugriffs, daß das Sicherheits-Label, das der Datei zugeordnet ist, über das Sicherheits-Label, das dem Prozeß zugeordnet ist, dominiert, oder
b) Verifizieren bei einem versuchten Schreib-Zugriff, daß das Sicherheits-Label, das dem Prozeß zugeordnet ist, über das Sicherheits-Label, das der Datei zugeordnet ist, dominiert,
wobei ein erstes Sicherheits-Label über ein zweites Sicherheits-Label dominiert, wenn mindestens alle Geheimhaltungs- und Integritäts-Autorisierungen in dem zweiten Sicherheits-Label auch in dem ersten Sicherheits-Label vorhanden sind,
wobei das Verfahren dadurch gekennzeichnet ist, daß jedes Sicherheits-Label Informationen enthält, die Autorisierungen beschreiben, basierend auf einer Daten- Geheimhaltung- und Daten-Intergrät, wobei Autorisierungs-Informationen in einem Sicherheits-Label, basierend auf einer Geheimhaltung, als das Inverse der tatsächlichen Sicherheits-Informationen gespeichert sind, wobei eine Autorisierung basierend sowohl auf autorisierten Geheimhaltungs- als auch Integritäts-Klassen des Prozesses und denjenigen, die durch die Datei für einen Zugriff erforderlich sind, in einem einzeln Verifikationsschritt ausgeführt werden.
DE69029880T 1989-06-30 1990-06-20 Verfahren zur Versorgung der Sicherung von Datei-Zwangsheimlichkeit und -Integrität in einem Computersystem Expired - Lifetime DE69029880T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US37438089A 1989-06-30 1989-06-30

Publications (2)

Publication Number Publication Date
DE69029880D1 DE69029880D1 (de) 1997-03-20
DE69029880T2 true DE69029880T2 (de) 1997-08-21

Family

ID=23476563

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69029880T Expired - Lifetime DE69029880T2 (de) 1989-06-30 1990-06-20 Verfahren zur Versorgung der Sicherung von Datei-Zwangsheimlichkeit und -Integrität in einem Computersystem

Country Status (4)

Country Link
EP (1) EP0407060B1 (de)
JP (1) JPH0341535A (de)
CA (1) CA2018319C (de)
DE (1) DE69029880T2 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5574912A (en) * 1990-05-04 1996-11-12 Digital Equipment Corporation Lattice scheduler method for reducing the impact of covert-channel countermeasures
US5414844A (en) * 1990-05-24 1995-05-09 International Business Machines Corporation Method and system for controlling public access to a plurality of data objects within a data processing system
US5276901A (en) * 1991-12-16 1994-01-04 International Business Machines Corporation System for controlling group access to objects using group access control folder and group identification as individual user
US5657470A (en) * 1994-11-09 1997-08-12 Ybm Technologies, Inc. Personal computer hard disk protection system
US5586301A (en) * 1994-11-09 1996-12-17 Ybm Technologies, Inc. Personal computer hard disk protection system
US5819091A (en) * 1994-12-22 1998-10-06 Arendt; James Wendell User level control of degree of client-side processing
US7406603B1 (en) * 1999-08-31 2008-07-29 Intertrust Technologies Corp. Data protection systems and methods
GB9923340D0 (en) * 1999-10-04 1999-12-08 Secr Defence Improvements relating to security
DE10008153A1 (de) * 2000-02-22 2001-06-21 Primasoft Gmbh Verfahren zur Sicherung von in einer digitalen Verarbeitungseinheit abgelegten Daten gegen unbefugten Zugriff
DE10113828A1 (de) * 2001-03-21 2002-09-26 Infineon Technologies Ag Prozessor zum sicheren Verarbeiten von Daten unter Verwendung einer Datensicherheitsmarke und/oder von Befehlen unter Verwendung einer Befehlssicherheitsmarke
EP1698958A1 (de) * 2005-02-25 2006-09-06 Axalto SA Verfahren zur Sicherung des Schreibens im Speicher gegen Strahlungsangriffe oder ähnliches
GB2442273A (en) * 2006-09-29 2008-04-02 Ibm Mechanism for allowing access to unsecured resources via a security engine using inverted security policies
EP2819057B1 (de) * 2013-06-24 2017-08-09 Nxp B.V. Datenverarbeitungssystem, Verfahren zur Initialisierung eines Datenverarbeitungssystems und Computerprogrammprodukt

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3916385A (en) * 1973-12-12 1975-10-28 Honeywell Inf Systems Ring checking hardware
JPS5917650A (ja) * 1982-07-22 1984-01-28 Fujitsu Ltd フアイル機密保護方式
JPS62242273A (ja) * 1986-04-14 1987-10-22 Nec Corp セキユリテイ管理方式
JPS6337446A (ja) * 1986-08-01 1988-02-18 Hitachi Ltd フアイルアクセス権限検査方式
US4926476A (en) * 1989-02-03 1990-05-15 Motorola, Inc. Method and apparatus for secure execution of untrusted software

Also Published As

Publication number Publication date
CA2018319A1 (en) 1990-12-31
CA2018319C (en) 1997-01-07
EP0407060B1 (de) 1997-02-05
JPH0341535A (ja) 1991-02-22
EP0407060A2 (de) 1991-01-09
DE69029880D1 (de) 1997-03-20
EP0407060A3 (en) 1991-12-27

Similar Documents

Publication Publication Date Title
DE69324293T2 (de) Rechnersystem-Sicherheit
DE69029880T2 (de) Verfahren zur Versorgung der Sicherung von Datei-Zwangsheimlichkeit und -Integrität in einem Computersystem
DE3689569T2 (de) Verfahren zur Systemdateiensicherung und Datenverarbeitungseinheit zu dessen Durchführung.
DE69530128T2 (de) Sicherheit für rechnerbetriebsmittel
DE69427347T2 (de) Verfahren und System zur verbesserten Zugriffssteuerung auf Basis der Rollen in verteilten und zentralisierten Rechnersystemen
DE60130172T2 (de) Eine gesicherte und offene Rechnerplattform
DE3851049T2 (de) Ein Sicherheitswegmechanismus für ein Betriebssystem.
DE69522460T2 (de) System und verfahren zur erzeugung gesicherter internetzwerkdienste
DE69730321T2 (de) Verfahren und vorrichtung zum schützen von daten mit mehreren auf datenelementebene anwendbaren verschlüsselungsstufen
DE69226386T2 (de) Zugriffsteuerung in einem verteilten Rechnersystem
DE69132809T2 (de) Verfahren und Anordnung zur Ausführung von Sicherheitswegbefehlen
DE69815599T2 (de) Verfahren und Vorrichtung zum Schutz von Anwendungsdaten in sicheren Speicherbereichen
DE69130461T2 (de) Zugriffsteuerung in einem verteilten Rechnersystem
DE10226909A1 (de) System und Verfahren zur vorgeschriebenen Zugriffssteuerung auf ein Dateisystem
DE112010003971T5 (de) Vorübergehende Bereitstellung höherer Vorrechte für ein Rechensystem für eine Benutzerkennung
DE112020000134T5 (de) Sicherer, mehrstufiger zugriff auf verschleierte daten für analysen
DE112008002462T5 (de) Datensicherheitsvorrichtung
DE69032346T2 (de) Verfahren und System zur Sicherung von Datenendgeräten
DE102014208851A1 (de) Verfahren zum Verhindern eines unbefugten Betriebs eines Kraftfahrzeugs
DE102009054128A1 (de) Verfahren und Vorrichtung zum Zugriff auf Dateien eines sicheren Fileservers
EP2678795A2 (de) Verfahren zur öffentlichen bereitstellung geschützter elektronischer dokumente
WO2003025758A2 (de) Vorrichtung und verfahren zur etablierung einer sicherheitspolitik in einem verteilten system
DE102008050631A1 (de) Datenverarbeitungssystem
DE60017438T2 (de) System zur betriebsmittelzugriffsteuerung
DE102022214427A1 (de) Informationsverarbeitungsvorrichtung und steuerverfahren der informationsverarbeitungsvorrichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition