Small logo of ETH main building ETH Zurich : Computer Science : Pervasive Computing : Distributed Systems : Education : Student Projects : Abstract

Jini oder die Kunst den Flaschengeist sicher zu machen (S)

Status: Abgeschlossen

Jini – ausgesprochen wie der Flaschengeist aus 1001 Nacht – ist eine Middleware-Plattform von Sun Microsystems. Middleware bezeichnet eine Software-Schicht, die zwischen Betriebssystem und Anwendungsebene angesiedelt ist, um infrastrukturelle Dienste unabhängig vom Betriebssystem und der Anwendung anzubieten.

In Jini besteht die Welt aus Diensten und Klienten. Letztere nutzen Dienste, um ihre Aufgabe zu erfüllen. Wie in der realen Welt, muss ein Kunde zuerst in Erfahrung bringen, wo er den geeigneten Dienstleister findet. Genau hier setzt Jini an, dessen Aufgabe darin besteht, in einer hoch dynamischen Welt, Dienste und Klienten, die spontan auftauchen und wieder verschwinden können, zu vermitteln. Beispiel: Student Alex kauft sich eine neue Stereoanlage und stellt diese in seinem WG-Zimmer auf. Seine Mitbewohnerin Nadine kommt mit ihrem tragbaren MP3-Spieler in sein Zimmer und möchte ihm ihre neusten Hits vorspielen. Jini’s Philosophie folgend muss das Ganze ohne Administrationsaufwand erfolgen. Beim Aufstellen der Stereoanlage hatte sich diese von selbst bei der Jini-Plattform als Audio-Dienst registriert. Als Nadine das Zimmer mit ihrem MP3-Player betrat, fragte dieser als Klient automatisch nach einem Audio-Dienst, so dass Nadine Alex ihre neusten Hits vorspielen kann, ohne eines der beiden Geräte konfigurieren zu müssen.

Das Problem, das sich in Jini auftut, ist das Fehlen eines Sicherheitskonzeptes. Neben den bekannten Sicherheitsproblemen, wie aktive oder passive Angriffe auf die Kommunikationsverbindung, mangelt es Jini einer Authentifizierungs- und Autorisationsarchitektur. Dem obigen Beispiel folgend, könnte ein böswilliger WG-Bewohner Alex’ Stereoanlage ständig abschalten, da der Audio-Dienst nicht weiss, wer ihn bedient und ob er dazu berechtigt ist.

Aufbauend auf einer bereits existierenden Diplomarbeit (nähere Informationen finden sich unter http://www.inf.ethz.ch/~schoch/jinisec.html) sollen hier im Rahmen einer weiteren Diplomarbeit oder zwei Semesterarbeiten einige weitere interessante Sicherheitsprobleme von Jini angegangen werden, u.a. bei Leases, Remote Events und Secure Sockets. Dabei sollen Lösungen erarbeitet und implementiert werden.

Student/Bearbeitet von: Daniel Schädler
Contact/Ansprechpartner: Thomas Schoch

ETH ZurichDistributed Systems Group
Last updated May 7 2012 07:19:04 PM MET ts