Fähigkeiten
Begrifflich ist eine Fähigkeit wie die Reihe einer Zugriffssteuerungmatrix. Jedes Thema hat mit ihr einen Satz Paare verbunden, wenn jedes Paar einen Gegenstand und einen Satz enthält, Rechte. Das Thema verband mit dieser Liste kann den genannten Gegenstand in irgendwelchen der Weisen zugänglich machen, die durch die genannten Rechte angezeigt wurden. Formaler:
Wir kürzen "Fähigkeit Liste" als C-Liste ab. Fähigkeiten kapseln Gegenstandidentität ein. Wenn ein Prozeß eine Fähigkeit im Namen eines Benutzers darstellt, überprüft das Betriebssystem die Fähigkeit, um den Gegenstand und den Zugang festzustellen, zu denen der Prozeß erlaubt wird. Dieses reflektiert, wie capabiliies für Gedächtnismanagement arbeiten; die Position des Gegenstandes im Gedächtnis wird in der Fähigkeit eingekapselt. Ohne eine Fähigkeit kann der Prozeß nicht den Gegenstand in einer Weise nennen, die ihm den gewünschten Zugang gibt.
Die "codewords" von Iliffe sind Fähigkeiten ähnlich. "Fähigkeiten" sind eine Weise, Zugang zu den Gegenständen im Gedächtnis zu steuern oder Fremdspeicher. Fabry generalisierte diese Idee, das Fähigkeit-gegründete Wenden einzuführen. Die Architektur von Fähigkeiten ist interessanter als die der Zugriffssteuerunglisten. Das Access Control List und die Prozeßidentität sind unter der Steuerung des Betriebssystems. In Ermangelung der Fehler, können Benutzerprozesse sie ändern, nur indem sie die Betriebssystemdienstleistungen hervorrufen. Jedoch muß ein Prozeß eine Fähigkeit kennzeichnen, um sie zu verwenden, also muß der Prozeß etwas Steuerung über den Fähigkeiten haben. Wenn der Prozeß eine Fähigkeit schmieden und sie dann verwenden kann, fallen Zugriffssteuerungen aus. Implementierung von FähigkeitenDrei Einheiten werden benutzt, um Fähigkeiten zu schützen: Umbauten, geschütztes Gedächtnis und Cryptography. Eine etikettierte Architektur hat einen Satz Spitzen, die mit jedem Kleinteilwort verbunden sind. Der Umbau hat zwei Zustände: Satz und unset. Wenn der Umbau eingestellt wird, kann ein gewöhnlicher Prozeß das Wort lesen aber nicht ändern. Wenn der Umbau unset ist, kann ein gewöhnlicher Prozeß das Wort lesen und ändern. Weiter kann ein gewöhnlicher Prozeß nicht den Zustand des Umbaus ändern; der Prozessor muß in einem privilegierten Modus sein, zum so zu tun.
Ist, die Schutzspitzen zu benutzen allgemeiner, die mit Paginierung oder Segmentation verbunden sind. Alle Fähigkeiten werden in einer Seite (Segment) gespeichert die der Prozeß lesen aber nicht ändern kann. Dieses erfordert keine für einen speziellen Zweck Kleinteile anders als das, das durch den Gedächtnismanagemententwurf verwendet wird. Aber der Prozeß muß Fähigkeiten, normalerweise durch Zeiger indirekt beziehen, anstatt direkt.
Eine dritte Alternative soll Cryptography benutzen. Das Ziel der Umbauten und des Gedächtnisschutzes ist, die Fähigkeiten an geändert werden zu verhindern. Dieses ist der Vollständigkeit Überprüfung entsprechend. Verschlüsselungsprüfsummen sind eine andere Einheit für die Überprüfung der Vollständigkeit der Informationen. Jede Fähigkeit hat eine Verschlüsselungsprüfsumme, die mit ihr verbunden ist, und die Prüfsumme wird digital mit einem Schlüsselsystem chiffroren dessen Schlüssel zum Betriebssystem bekannt. Wenn der Prozeß eine Fähigkeit dem Betriebssystem darstellt, die System ersten recomputes, welche die Verschlüsselungsprüfsumme mit der Fähigkeit verband. Sie dann entweder chiffriert die Prüfsumme mit dem Verschlüsselungsschlüssel und vergleicht sie mit dem, der in der Fähigkeit gespeichert wird oder dechiffriert die Prüfsumme, die mit der Fähigkeit versehen wird und vergleicht sie mit der Berechnungs- Prüfsumme. Wenn sie zusammenpassen, ist die Fähigkeit unverändert. Wenn nicht, wird die Fähigkeit zurückgewiesen.
Kopierenund verstärkenfähigkeitenDie Fähigkeit, Fähigkeiten zu kopieren deutet die Fähigkeit an, Rechte zu geben. Um Prozesse an wegrechte wahllos geben zu verhindern,IST eine Kopie Markierungsfahne mit Fähigkeiten verbunden. Ein Prozeß kann nicht eine Fähigkeit zu einem anderen Prozeß kopieren, es sei denn die Kopie Markierungsfahne eingestellt wird. Wenn der Prozeß die Fähigkeit kopiert, kann die Kopie Markierungsfahne abgestellt werden (an der Diskretion entweder des Prozesses oder des Kerns).
Verstärkung ist die Erhöhung von Privilegien. Die Idee der modularen Programmierung und besonders der abstrakten Datenarten, erfordert, daß die Rechte, die ein Prozeß über einem Gegenstand hat, verstärkt werden. Verstehen, warum, die folgende abstrakte Datenart für einen Kostenzähler betrachten Sie. Modulkostenzähler; Verfahren Eintragung increment(var ctr: Ganzzahl); fangen Sie ctr: = an ctr + 1; Ende; Funktion Eintragung getval(ctr: Ganzzahl); fangen Sie getval: = an ctr; Ende; Verfahren Eintragung clear(var ctr: Ganzzahl); fangen Sie ctr: = an 0; Ende; Ende. Nehmen Sie an, daß x erklärt wird, um ein Kostenzähler zu sein. Die Richtlinien der abstrakten Datenarten geben daß nur zu der durch den Zählbaustein erreicht zu werden Gegenstand. So zuerst würde die Fähigkeit für x das Recht enthalten, nur den Zählbaustein hervorzurufen. Aber, wenn der Gegenstand zum Zählbaustein geführt wird, muß der Prozeß jetzt in der LageSEIN, zu diesem Gegenstand zu lesen und zu schreiben. Folglich muß die Fähigkeit vorübergehend verstärkt werden, während der Modulkostenzähler aktiv ist.
Rücknahme von RechtenIn einem Fähigkeit System erfordert das Widerrufen des Zuganges zu einem Gegenstand, daß alle Fähigkeiten, die Zugang zu diesem Gegenstand bewilligen, widerrufen werden. Begrifflich konnte jeder Prozeß überprüft werden und die Fähigkeiten gelöscht werden. Die Kosten solch eines Betriebes würden nicht annehmbar sein, jedoch also werden alternative Methoden verwendet. Die einfachste Einheit ist Umweg. Definieren Sie eine oder mehr globalen Gegenstandtabellen. In diesem Entwurf hat jeder Gegenstand eine entsprechende Eintragung in einer Tabelle. Fähigkeiten nennen nicht den Gegenstand direkt; sie nennen die Eintragung in der Tabelle, die dem Gegenstand entspricht. Dieser Entwurf hat einige Vorteile. Zuerst Fähigkeiten zu widerrufen, wird die Eintragung in der globalen Gegenstandtabelle ungültig erklärt. Dann erhalten alle mögliche Hinweise eine unzulässige Tabelle Eintragung und werden zurückgewiesen. Zweitens wenn nur einige der Fähigkeiten widerrufen werden sollen, kann der Gegenstand mehrfache Eintragungen, jede, die einem anderen Satz Rechten entsprechen oder eine andere Gruppe Benutzer haben.
Eine alternative Rücknahmeeinheit benutzt abstrakte Datenart Manager. Mit jeder abstrakten Datenart geschlossen ein Rücknahmeverfahren ein. Wenn Zugang widerrufen werden soll, mißbilligt die Art der simpy Manager weitere Zugänge durch das Thema dessen Rechte widerrufen werden. Dieses beeinflußt nicht alternative Methoden des Zugänglich machens der zugrundeliegenden Gegenstände die abstrakten Datenarten. Z.B. kann Zugang zu einer Akte widerrufen werden, aber diese Technik würde Zugang zu den zugrundeliegenden Segmenten nicht durch eine alternative Art Manager blockieren. Das System SCP3 verwendete diese Technik. Vergleich mit Zugriffssteuerung-ListenZwei Fragen liegen dem Gebrauch von Zugriffssteuerungen zugrunde:
In der Theorie entweder Zugriffssteuerunglisten oder -fähigkeiten können diese Fragen beantworten. Für die erste Frage sind Fähigkeiten das einfachste; gerechte Liste die Elemente der dazugehörigen C-Liste des Themas. Für die zweite Frage sind ACLs das einfachste; gerechte Liste die Elemente des Access Control List des Gegenstandes. In einem ACL-based System erfordert das Beantworten der ersten Frage alle Gegenstände, abgelichtet zu werden. Das System extrahiert alle ACL Eintragungen, die mit dem Thema in der Frage verbunden sind. In einem Fähigkeit-gegründeten System erfordert das Beantworten der zweiten Frage alle Themen, abgelichtet zu werden. Das System extrahiert alle Fähigkeiten, die mit dem Gegenstand in der Frage verbunden sind. Karger und Herbert spekulieren, daß der praktische Unterschied, bezüglich, die zweite Frage zu beantworten, ist der Grund mehr Systeme Gebrauch-Zugriffssteuerunglisten als Fähigkeiten. Diese Frage wird häufig als das erste gestellt. Da der Fokus der Ereignisantwort von "sich verschiebt, wer den Gegenstand" zugänglich machte, um einzuschließen ", was sonst diesen vorbehaltlichen Zugang tat," können Fähigkeit-gegründete Systeme allgemeiner werden. dieses ist ein Artikel, der von Fred Foster hinzugefügt
wird
|
|||||||||||
|