next up previous contents
Nächste Seite: 5. Ein Sicherheitsmodell für Aufwärts: 4. Standards und Sicherheit Vorherige Seite: 4.1 Standards   Inhalt

Unterabschnitte

4.2 Überblick über Sicherheitseigenschaften in bestehenden SmA

Da MASA ein zur MASIF-Spezifikation konformes Agentensystem auf Java-Basis ist, werden nun andere, ebenfalls MASIF-konforme SmA, die in Java implementiert sind, kurz betrachtet. Eine detaillierte Untersuchung anderer Agentensysteme, die nicht MASIF-konform bzw. nicht in Java implementiert sind, würde an dieser Stelle den Rahmen sprengen. Eine knappe (keineswegs vollständige) Übersicht bietet [PhKa98].

4.2.1 Grasshopper

Das Agentensystem Grasshopper4.1 ist ein Produkt der Firma IKV++ GmbH. Für die nachfolgenden Betrachtungen wurde die Version 1.2 anhand von [Gh Tech] und [Gh Basics]4.2 untersucht.

Im Grasshopper-Modell werden folgende Entitäten unterschieden:

Agents:
Agenten

Agencies:
Agentensysteme

Places:
Gruppen von Agenten auf einem Agentensystem (vgl. [OMG 98-03-09])

Regions:
Gruppen von Agentensystemen (vgl. [OMG 98-03-09])

Die im MASA-Modell vorhandenen Entitäten Endsystem, Implementierer, Benutzer und Benutzeroberfläche von Agenten (Applet) werden nicht identifiziert. Ein Endsystem wird implizit als Teil eines Agentensystems betrachtet. Weiterhin wird keine Unterscheidung zwischen Agentengattung und Agenteninstanz getroffen. Zu eindeutigen Identifikatoren für die Grasshopper-Entitäten werden keine Aussagen gemacht. Kanäle werden in der untersuchten Grasshopper-Version mit den Kommunikationsprotokollen CORBA/IIOP, Java RMI und Sockets realisiert.

Bezüglich der Sicherheit unterscheidet Grasshopper konzeptionell zwischen zwei Ausprägungen:

``external security'':
Hier werden nur die Sicherheitsanforderung auf Kanälen betrachtet.

``internal security'':
Untersucht nur die Sicherung der Schnittstellen des Agenten-/Endsystems.

Eine Authentisierung der einzelnen Grasshopper-Entitäten wird dabei nicht explizit betrachtet. Für die Autorisierung von Schnittstellen werden nur jene des Agenten-/Endsystems betrachtet. Schnittstellen der Agenten, insbesondere im Hinblick auf die unterschiedlichen Kanaltypen, werden nicht untersucht. Places und Regions sind nicht in das Sicherheitsmodell miteinbezogen.

In der Implementierung werden die von Grasshopper unterschiedenen Sicherheitsausprägungen folgendermaßen realisiert:

external security:
Für die Sicherung der Kanaltypen Java RMI und Socket wird das SSL-Protokoll (vgl. Kap. 6.1.2) verwendet. Für CORBA/IIOP stehen keine Sicherungsmaßnahmen zur Verfügung. Zur Erteilung der für die SSL-Kommunikation benötigten X.509-Zertifikate werden keine Aussagen gemacht. Ebenso wird nicht dargelegt, welcher Entität des Grasshopper-Modells, die verwendeten X.509-Zertifikate zuzurechnen sind.

internal security:
Die zur Verfügung stehenden Mittel zur Autorisierung und Überwachung der Schnittstellen basieren komplett auf der Java Platform 2 Security Architecture (vgl. Abschnitt 6.1.1) und umfassen somit nur die Schnittstellen, die durch das Java-API bereitgestellt werden.

Bewertung

Insgesamt müssen die Sicherheitseigenschaften von Grasshopper als nur in Ansätzen ausreichend für die Anforderungen an ein SmA bewertet werden. Die für Sicherheitsfragen relevante Gruppe der Benutzer fehlt im Grasshopper-Modell. Auf die Mobilität von Agenten, und den hierdurch notwendigen Integritätsschutz ihrer Daten, wird nicht eingegangen. Ebenso werden Delegation und unterschiedliche Vertrauensverhältnisse nicht betrachtet. An den bestehenden Mechanismen in der Implementierung ist, neben den Folgen aus dem dürftigen Konzept, vor allem der fehlende Schutz des CORBA-Kanals und die unklare Zuordnung der X.509-Zertifikate zu den Entitäten zu bemängeln.

4.2.2 Aglets

Aglets4.3 ist ein SmA das am IBM Tokyo Research Laboratory entwickelt wurde.

Das Sicherheitsmodell von Aglets wird in [KLM 97] ausführlich beschrieben. Die darin unterschiedenen Entitäten sind:

Aglet:
Instanz eines Aglet-Programms - Entspricht einer Agenteninstanz im MASA-Modell.

AgletManufacturer:
Hersteller eines Aglet-Programms - Entspricht einem Implementierer einer Agentengattung im MASA-Modell.

AgletOwner:
Eigentümer/Benutzer eines Aglet - Entspricht einem Benutzer einer Agenteninstanz im MASA-Modell.

Context:
Programm das Aglets ausführt - Entspricht einem Agentensystem im MASA-Modell.

ContextManufacturer:
Hersteller eines Context

ContextMaster:
Eigentümer/Administrator eines Context.

Domain:
Gruppe von Contexts, die dem gleichen Verantwortlichkeitsbereich unterliegen.

DomainAuthority:
Eigentümer/Administrator einer Domain.

Im Vergleich zum MASA-Modell sind die folgenden Punkte auffällig. Das Endsystem des MASA-Modells wird unter dem Context subsumiert, die Benutzeroberflächen von Agenten werden nicht betrachtet. Eine explizite Unterscheidung zwischen Agentengattungen und Agenteninstanzen wird nicht getroffen, obwohl diese implizit durch den AgletManufacturer vorhanden ist. Identifikatoren für die einzelnen Entitäten werden informell angegeben, aber nicht explizit spezifiziert. Zur Authentisierung von AgletManufacturer, AgletOwner, ContextManufacturer und ContextMaster wird nur allgemein die Verwendung von Public-Key-Verfahren vorgeschlagen, die restlichen Entitäten werden nicht betrachtet. Ebenso knapp und allgemein wird die Kanalsicherung mittels Hash-Werten in Kombination mit Verschlüsselung und der Integritätsschutz der Daten eines Aglet durch digitale Signatur betrachtet.

Zur Autorisierung von Schnittstellen werden ausschließlich jene des Context bzw. des Endsystems untersucht. Hierfür wird eine umfassende Policy-Sprache informell spezifiziert, die unterschiedliche Benutzertypen (wie manufacturer, owner, master und authority) unterscheidet und Entscheidungshierarchien zwischen verschiedenen Policies definiert.

Eine Implementierung von Aglets liegt derzeit in zwei verschiedenen Versionen vor:

Beide Versionen basieren auf JDK 1.1.x. JDK 1.2 wird nicht unterstützt.

Die Version 1.0.3 soll hier nicht näher betrachtet werden, da zu erwarten ist, daß diese in Kürze vollständig durch eine Endversion basierend auf 1.1beta1 abgelöst wird. In der Version 1.1beta1 sind die folgenden Teile realisiert:

Bewertung

Das Aglets-Sicherheitsmodell bietet eine fortgeschrittene, wenn auch extrem detailarme Darstellung der Sicherheitsproblematik in SmA. Nicht betrachtet werden allerdings wichtige Punkte wie

Ebenso unterbleibt eine nähere Untersuchung von (Sicherheits-)Domänen, obgleich sie mit den Entitäten Domain und DomainAuthority bereits vorbereitet sind. Positiv hervorzuheben ist die relativ ausführliche, wenn auch größtenteils informelle Spezifikation einer Policy-Sprache zur Autorisierung der Schnittstelle des End-/Agentensystems.

In der vorliegenden Implementierung wurde allerdings ein Großteil der im Modell vorhandenen Sicherheitseigenschaften nicht umgesetzt. Vor allem die im Modell relativ konkret spezifizierte Policy-Sprache wurde nicht realisiert. Als besonders kritisch für den praktischen Einsatz muß die fehlende Verschlüsselung auf Kanälen angesehen werden.



Fußnoten

...Grasshopper4.1
[Gh Site]
...gh-basics4.2
Die verwendete Literatur bezieht sich auf die ``Light''-Fassung von Grasshopper. Dort ist nur die Anzahl der Agenten im SmA eingeschränkt, die Sicherheitsfunktionen sind identisch zum Vollprodukt
...Aglets4.3
[Aglet Site]

next up previous contents
Nächste Seite: 5. Ein Sicherheitsmodell für Aufwärts: 4. Standards und Sicherheit Vorherige Seite: 4.1 Standards   Inhalt
harald@roelle.com