Das Beschränkung-Problem


  Share  
|


Betrachten Sie einen Klienten und einen Bediener. Wenn der Klient einen Antrag zum Bediener herausgibt, schickt der Klient dem Bediener etwas Daten. Der Bediener dann verwendet die Daten, um irgendeine Funktion durchzuführen und bringt ein Resultat (oder kein Resultat) zum Klienten zurück. Zugriffssteuerung beeinflußt die Funktion des Bedieners in zwei Möglichkeiten.

  1. Der Bediener muß sichergehen, daß die Betriebsmittel, die er im Namen des Klienten zugänglich macht, nur jene Betriebsmittel einschließen, die dem Klienten autorisiert wird zugänglich zu machen.

  2. Der Bediener muß sichergehen, daß er die Daten des Klienten nicht zu irgendeinem anderen Wesen aufdeckt, das nicht autorisiert wird, um die Daten des Klienten zu sehen.

Die erste Anforderung stellt das Ziel des Diensterbringers dar. Dieses Ziel ist, den Klienten am Schicken der Anzeigen zum Bediener zu hindern, die ihn zum Zugang verursachen, Betriebsmittel ändern, übertragen oder verbrauchen, die dem Klienten nicht autorisiert wird zugänglich zu machen, zu ändern, zu übertragen oder zu verbrauchen. Die zweite Anforderung stellt das Ziel des Dienstbenutzers dar. Dieses Ziel ist, zu verhindern, daß der Bediener vertrauliche Informationen dem Diensterbringer übermittelt. In beiden Fällen muß der Bediener auf dem Zugänglich machen nur eines spezifischen Satzes Betriebsmittel begrenzt werden.

BEISPIEL: Bilanzkonten eines Bedieners für Teilnehmer. Die Teilnehmer verwenden einen Klienten, um die Registereintragungen zu übertragen, das gegenwärtige Bankguthaben und jene Zurücknahmen und Ablagerungen, die die Bank zum Bediener gelöscht haben. Der Bediener bringt die Liste der hervorragenden Überprüfungen und der Ablagerungen und jede mögliche Diskrepanz zwischen die Registerbalance und das Bankguthaben zurück. Teilnehmer zahlen eine Gebühr für jeden Gebrauch.

Der Diensterbringer erfordert, daß die Aufzeichnung des Bedieners richtig, die den Service jede Zeit es verwendete, benutzt wird. Andernfalls kann der Diensterbringer nicht den Gebrauch von dem Service berechnen. Die Drohung ist, daß jemand den Service verwenden kann, ohne ermittelt zu werden (und folglich, ohne aufgeladen zu werden) oder daß der Benutzer einen anderen Teilnehmer verkörpern kann (habend zur Folge, daß der falsche Teilnehmer aufgeladen wird). Der Diensterbringer auch wünscht den Bediener Gebührenzählung Aufzeichnungen oder keine anderen nicht autorisierten Informationen dem Klienten übermitteln. Der Bediener sollte nur die Informationen senden, die er von den Daten ableitete, die der Klient sendete. So muß der Bediener auf dem Funktionieren nur auf den Daten begrenzt werden, die es gesendet wird.

Der Teilnehmer erwartet bestimmte Sicherheit Services vom Bediener. Der Bediener muß die Anforderung des Benutzers richtig loggen, damit der Benutzer nicht falsch aufgeladen wird. (dieses bringt die Notwendigkeit des Diensterbringers.) zusammen Der Bediener darf nicht die Daten notieren oder übertragen, die der Teilnehmer zu ihm schickt, weil die Daten des Teilnehmers zum Teilnehmer vertraulich sind und nicht zum Diensterbringer relevant sind. So muß der Bediener auf dem Führen der Daten zu sich und auf dem Schicken dem Teilnehmer der Resultate nur begrenzt werden.


Lampson nennt dieses das Beschränkungproblem.

Das Beschränkungproblem ist das Problem des Verhinderns eines Bedieners an undichten Informationen, daß der Benutzer des Services vertraulich betrachtet.

Eine Eigenschaft der Prozesse, die nicht Informationen auslaufen, kommt von der Beobachtung, daß ein Prozeß Daten für neuere Wiederherstellung (das Auslaufen) speichern muß. Ein Prozeß, der nicht Informationen speichert, kann nicht sie auslaufen. Jedoch im Übermaß, können solche Prozesse keine Berechnung auch durchführen, weil ein Analytiker den Fluß der Steuerung (oder Zustand des Prozesses) beobachten könnte und von diesem Fluß leiten Sie Informationen über die Eingänge ab. Dieses führt zu die Beobachtung, der ein Prozeß, der nicht beobachtet werden kann und nicht mit anderen Prozessen verständigen kann, nicht Informationen auslaufen kann. Lampson benennt diese Gesamtlokalisierung.

In der Praxis Gesamtlokalisierung ist zu erzielen schwierig. Die Prozesse, zum begrenzte normalerweise Anteilbetriebsmittel wie CPUs, Netze und Magnetplattenspeicher mit anderem zu sein, unconfined Prozesse. Unconfined Prozesse kann Informationen Überschuß übertragen jene geteilten Betriebsmittel.

Ein verdeckter Kanal ist ein Weg der Kommunikation, die nicht entworfen war, für Kommunikation verwendet zu werden.

BEISPIEL: Prozeß p soll begrenzt werden so, daß er nicht Prozeß q sein kann. Jedoch teilen Prozesse p und q ein Dateisystem. Damit der Prozeß p, zum einer Anzeige zu Prozeß q, es zu schicken eine benannte Akte herstellt, senden Sie in ein Verzeichnis, das beide Prozesse lesen können. Kurz bevor Prozeß q die Informationen lesen soll, löscht q die sendenakte. Prozeß p überträgt dann eine Spitze, indem er eine Akte herstellt, die 0bit oder 1bit genannt wird, wie passend. Wenn q jede Akte ermittelt, notiert es die Spitze und löscht die Akte. Dieses fährt fort, bis p eine Akte herstellt, die Ende genannt wird, an dessen Punkt die Kommunikation aufhört.


Beschränkung ist transitiv. Nehmen Sie an, daß ein Prozeß p begrenzt wird, um Durchsickern zu verhindern. Wenn er einen zweiten Prozeß q hervorruft, dann muß q ähnlich begrenzt werden, oder q könnte die Informationen auslaufen, die p führt.

Die Richtlinie der transitiven Beschränkung gibt an, daß, wenn ein begrenzter Prozeß einen zweiten Prozeß hervorruft, der zweite Prozeß als begrenzt als der Anrufer sein muß.

Beschränkung ist eine Einheit für das Erzwingen der Grundregel wenigen Privilegs. Ein richtig begrenzter Prozeß kann nicht Daten einem zweiten Prozeß übermitteln, es sei denn das Getriebe erforderlich ist, ihre Aufgabe durchzuführen. Das Problem ist, daß der begrenzte Prozeß Zugang zu den Daten übertragen werden muß und also die Beschränkung auf dem Getriebe sein muß, nicht auf dem Datenzugang. Um Angelegenheiten zu erschweren, kann der Prozeß etwas Informationen dem zweiten Prozeß übermitteln müssen. In diesem Fall muß die Beschränkungeinheit zwischen Getriebe der autorisierten Daten und Getriebe der nicht autorisierten Daten unterscheiden.

Die Kombination dieser Probleme veranschaulicht die Schwierigkeit des Verhinderns des Durchsickerns. Das Dilemma ist, daß moderne Computer entworfen sind, um Betriebsmittel zu teilen, und doch durch die teilende Tat von ihnen verursachen Führungen der Kommunikation, entlang denen Informationen ausgelaufen werden können.

Lipner überprüft das Problem von einer Politik und Modellieren Aspekt. Er betrachtet zwei Arten verdeckte Kanäle. Das erste bezieht den Gebrauch von Ablage mit ein, Informationen zu übertragen. Wenn ein Modell richtig alle Weisen beschreibt, in denen Informationen gespeichert werden und lesen können, dann entzieht das Modell die gesetzmaßigen und verdeckten Kanäle, entlang denen Informationen fließen können. Das Modell begrenzt alle Zugänge zur Ablage. Die einzigen Zugänge, die erlaubt werden, sind die, die durch die Politik autorisiert werden, also sind die Flüsse der Informationen gesetzmaßig. Jedoch wenn das Modell nicht all diese Flüsse, dann nicht autorisierte Flüsse oder verdeckte Kanäle gefangennimmt, entstehen Sie.

Lipner merkt dann, daß alle Prozesse mindestens eine rauhe Idee der Zeit erhalten können. Dieses bildet Zeit einen Kommunikationskanal. Eine Programmdose "las" Zeit, indem sie den System Taktgeber oder (wechselweise) indem das Zählen der Zahl Anweisungen überprüfte, die sie während einer Periode der Wandtaktgeberzeit durchgeführt hat. Eine Programmdose "schreiben" Zeit, indem sie eine Satzanzahl von Anweisungen durchführt und stoppt und einen anderen Prozeß durchführen läßt. Diese geteilte Führung kann nicht exklusiv gebildet werden, es sei denn ein Prozeß den Computer nicht mit einem anderen Prozeß teilt, der Lokalisierung als Hilfsmittel vorschlägt.

TIMING-Angriffe Kochers auf Schlüsselsystemen veranschaulichen dieses Problem. Kocher merkt, daß die Anweisungen, die durch Implementierungen von Schlüsselsystemen durchgeführt werden, von der Einstellung der Spitzen im Schlüssel abhängen. Z.B. der Algorithmus unter Werkzeugen eine schnelle modulare Exponentiationfunktion. Wenn eine Spitze 1 ist, treten zwei Vermehrungen auf; andernfalls tritt eine Vermehrung auf. Die Extravermehrung dauert Extrazeit. Kocher stellt Spitzen des vertraulichen Exponenten fest, indem er Berechnung Zeit mißt.

Ein schnelles modulares Exponentiationprogramm. Dieses Programm rechnet x = az Umb. n. Die Spitzen von z sind zk1. . . ,z0.
x: = 1; atmp: = a; für i: = 
0 zu k-1 fangen an,        wenn zi = 1 dann           x: = (x * atmp) Umb. n;        atmp: = 
(atmp * atmp) Umb. n; Ende; Resultat: = x;

Wir erforschen die Einheit der Lokalisierung zuerst. Dann überprüfen wir verdeckte Kanäle ausführlicher und besprechen andere Annäherungen zum Analysieren sie, einschließlich Techniken für das Kennzeichnen der verdeckten Kanäle und das Lokalisieren sie.

dieses ist ein Artikel, der von Bill Kuriko hinzugefügt wird


Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions