Weitere aktuelle Java-Titel finden Sie bei dpunkt.
 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index


15

Sicherheit



Sicherheit war eines der wesentlichen Designkriterien bei der Entwicklung von Java. Dies gilt zum einen hinsichtlich der Sprache selbst als auch in Bezug auf die Kontrolle von Ressourcenzugriffen. Insbesondere Programme, die über das Netz geladen werden, sollten vor der Ausführung überprüft worden sein und ständiger Überwachung unterliegen, damit ein unerlaubter Zugriff auf Ressourcen erkannt und unterbunden wird. Als Ressourcen gelten dabei Netzwerkverbindungen, Dateien und Verzeichnisse oder auch das Recht zur Ausführung eines Programms auf dem lokalen Rechner.

Generell lässt sich die technische Sicherheit von Anwendungen von zwei Standpunkten aus betrachten: Zum einen aus der Sicht der Ausführungsumgebung, in der eine Anwendung läuft (dazu gehören Netzwerk, Betriebssystem, Interpreter oder Virtual Machine), und zum anderen aus der Perspektive von Sicherheitsmechanismen, die in der Anwendung selbst realisiert sind.

Zur ersten Kategorie gehören Maßnahmen wie die Härtung des Betriebssystems, d. h., man stellt nur die zum Betrieb absolut notwendigen Programme und Netzwerkdienste zur Verfügung, oder auch die Umsetzung des »least privilege«-Prinzips, bei dem Zugriffsrechte auf Dateien so weit wie möglich beschränkt werden und Prozesse nur mit den minimal erforderlichen Berechtigungen laufen dürfen. Auch das Sandbox-Prinzip der Java Virtual Machine kann hierzu gezählt werden. Bei diesem Prinzip läuft die Anwendung innerhalb einer kontrollierten und in Bezug auf Ressourcenzugriffe abgeschotteten Umgebung.

Beispiele für Sicherheitsmaßnahmen innerhalb der Anwendung wären eine Benutzerauthentifizierung zu Beginn der Sitzung oder die Implementierung eines Rechte- und Rollenkonzepts. Bei verteilten Anwendungen kommen Aspekte wie verschlüsselter Datenaustausch oder auch die gegenseitige Authentifizierung zwischen Anwendungskomponenten hinzu.

Auch die bei Java verfügbaren Sicherheitsmechanismen lassen sich in diese beiden Kategorieren einteilen: Entsprechend dieser Aufteilung wurde dieses Kapitel aufgebaut. Im ersten Abschnitt werden die Mechanismen der Laufzeitumgebung wie der SecurityManager und das Policy-Konzept behandelt. Im zweiten Abschnitt geht es um die Verwendung von Hashing und Verschlüsselung in Anwendungen sowie den in Version 1.4 eingeführten Java Authentication and Authorization Service (JAAS).

Die Grenze zwischen diesen beiden Bereichen kann nicht völlig scharf gezogen werden. So kann ein Benutzer mit JAAS innerhalb der Applikation authentifiziert und anschließend in Abhängigkeit von der Benutzerkennung Privilegien in der Laufzeitumgebung gewährt bekommen (z. B. zum Schreiben einer bestimmten Datei).


 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index

Copyright © 2002 dpunkt.Verlag, Heidelberg. Alle Rechte vorbehalten.