Projektstudium SS98 - distributed computing


vorherige SeiteInhaltnächste Seite

Das original Sandkastenmodel

Das original Sicherheitmodell unterstützt von der Javaplatform ist bekannt geworden unter den Namen "sandbox modell". Dieses wurde entwickelt in Hinblick eine sehr beschränkte Umgebung zu schaffen, in der man nicht vertrauenswürdigen Code von irgend wo aus dem offenen Netzwerk laufen lassen konnte.

 

Das Wesentliche von diesen Sandkastenmodell ist, das lokalen Code volles Vertrauen und so auch voller Zugang zu allen Systemresourcen (wie auch einschließlich des Dateisystems) gewährt wird. Wo hingegen remote Code aus dem Netzwerk absolut nicht getraut wird und aus diesen Grund nur sehr beschränkten Zugang zu einigen Systemresourcen, die im Sandkasten unterstützt werden, erhält. Dieses Sandboxmodell, welches in JDK 1.0 implementiert wurde ist im Folgenden abgebildet:

 

 

 

(Sun Microsystems - JDK/1.2/Dokumentation)

 

 

Es wurde das Sandkastenmodell außerdem für web browser entwickelt die Java unterstützen.

 

Sicherheit wir gewährleistet durch eine Anzahl von Mechanismen. Das erste von allen ist die Typsicherheit, die von Java konsequent verfolgt wird. Daneben spielt die Einfachheit der Benutzung eine große Rolle. Die Hoffnung ist, daß sich durch diese Philosophie die Anzahl der vielen subtielen Fehler, die von Programmieren in anderen Sprachen wie C oder C++ begangen wurden, verringert. Dafür soll eine automatische Speicherverwaltung , garbage collection und range checking von Strings und Arrays sorgen.

 

Zudem sorgen der Compiler und ein Bytecode Verifiziere dafür, das nur legtimer Java-Bytecode ausgeführt wird. Der Bytecode, verifiziert mit der Java Virtuellen Maschine, garantiert Sicherheit zur Laufzeit.

 

Ein Classloader, wie wir schon zuvor gesehen haben, sorgt dafür, daß ein nicht vertrauenswürdiges Applet nicht die Ausführung andere Java-Programme beeinflussen kann. Zu aller letzt wird der Zugriff auf kritische Systemresourcen durch die Java Virtuelle Maschine vermittelt und zudem von einen SecurityManager überprüft, der die Aktionen einer vertrauenunwürdigen Klasse zuvor prüft.

 

JDK 1.1 führt ein Konzept von "signed applets" ein. Ein korrekt digital Signiertes Applet wird behandelt wie eine lokale Classe. Dieses jedoch nur wenn der Signaturschlüssel dem System, das die Klasse läd, als Vertrauenswürdig bekannt ist. Signierte Applets werden zusammen mit ihrer Signartur im JAR format übermittelt.

 

Alle anderen Applets werden in JDK 1.1 immer noch in der sandbox ausgeführt, wie die folgende Abbildung zeigt.

 

 

 

(Sun Microsystems - JDK/1.2/Dokumentation)

 

 

 

vorherige SeiteInhaltnach obennächste Seite 


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