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].
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:
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:
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:
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.
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:
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:
Das Aglets-Sicherheitsmodell bietet eine fortgeschrittene, wenn auch extrem detailarme Darstellung der Sicherheitsproblematik in SmA. Nicht betrachtet werden allerdings wichtige Punkte wie
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.