Projektstudium SS98 - distributed computing


vorherige SeiteInhaltnächste Seite

Was steckt hinter der Java Architektur?

Nach dem wir nun doch recht eindringlich die Architektur uns zu gemüte geführt haben, werden wir diese nun Auf Herz und Nieren test. Zunächst einmal ist zu prüfen, ob das was hinter dieser Architektur steht auch mit den Anforderungen mithalten kann. Im zweiten Schritt werden wir uns einige Sicherheitsklassen zu gemüte führen. Hier ist ein Augenmerk darauf zu werfen, ob die unhaldbaren Schwächen von den vorherigen JDK Versionen wirklich behoben wurden oder nur kaschiert sind.

 

Im wesentlichen stützt sich das Sicherheitssystem von Java auf die von Saltzer und Schröder im Jahre 1975 entworfene Protection Domain Konzept. Dieses besagt, daß eine Domain jeweils durch die Menge der derzeit direkt über ein Prinzipal zugreifbaren Objekte begrenzt wird. Wobei ein Prinzipal eine Einheit im Computer ist zu der Zugang gewährt wurde. Die Java-Sandkiste ist hier ein Beispiel für eine Protection Domain mit festen Grenzen. Die Protection Domain dient als ein Mechanismus zum gruppieren und isolieren zwischen Einheiten verschiedener Sicherheiten.

 

Protection Domains sind generell in zwei Kategorien ein zu teilen:

 

 

Es ist wesentlich für diesen Ansatz, daß alle geschützten externen Resourcen, wie das Dateisystem, nur über die System Domain erreichbar sind. Die Abbildung zeigt eine domain Komposition von einen Java runtime environment.

 

 

(Sun Microsystems - JDK/1.2/Dokumentation)

 

 

Es existiert eine Systemsicherheitspolitik, die vom Benutzer oder Systemadministrator definiert wird. Diese spezifiziert, welche neuen Protection Domains erzeugt und welche Protection Domains welche Erlaubnisse erteilen. Das Java Laufzeitsystem hält soche Beziehung zwischen Code, Protection Domains und zu deren Erlaubnissen aufrecht.

 

 

(Sun Microsystems - JDK/1.2/Dokumentation)

 

 

Während der Ausführung eines Programmcodes ist es wichtig, daß beim Zugriff auf kritische Systemresourcen (wie die Datei I/O und Netzwerk I/O), der Resourcenverwaltendecode, direkt oder indirect eine spezielle Zugriffskontroll Klasse einschließt, die den Zugriff bewertet und entscheidet ob dieser gewährt oder verboten wird.

 

Die aktuelle Art und Weise, wie die Bewertung umgesetzt ist, kann von Implementation zu Implementation sich unterscheiden. Das Grundprinzip ist es, die Aufrufvergangenheit und die Erlaubnisse der relevanten Protection Domains zu überprüfen, und eine security exception auszulösen , wenn der Zugriff verneint wird.

 

Jede Domain (System oder Application) kann zudem zusätzlichen Schutz von internen Resourcen implementieren innerhalb ihrer eigenen Grenzen.

 

Es zeigt sich, daß der neue Schutzmechanismus dem System zu deutlich mehr Flexibilität verholfen hat. Es ist zu klären ob die neuen Errungenschaften auch entsprechend implementiert wurden, und in wie weit diese Wartbar, Benutzbar und Skalierbar sind.

 

 

vorherige SeiteInhaltnach obennächste Seite 


© Copyright 1998 André Möller, Oliver Mentz & Magnus Wiencke