Für die Risikoanalyse von MASA sollen zunächst die hierfür relevanten Komponenten vorgestellt und ihr Zusammenspiel kurz erläutert werden.
Erweitert man das Modell aus Kap.
2.1 um MASA-spezifische
Eigenschaften, zerfällt zunächst der Begriff des Agenten in zwei
Teile:
Diese Unterscheidung spiegelt die Trennung zwischen den statischen (Agentengattung) und dynamischen Teilen (Agenteninstanz) eines Agenten wider. Eine solche Unterscheidung wird in [OMG 98-03-09] nicht und in [Kemp 98] nicht explizit getroffen. Vereinfacht gesagt kann diese Unterscheidung als ein Äquivalent zu jener von Klassen und Objekten in der Welt der objektorientierten Programmierung gesehen werden:
Unter Agentengattung versteht man alle statischen Teile von Agenten, die allen Agenteninstanzen einer Gattung gemein sind. Dies ist in erster Linie der Programmcode, der für alle ablaufenden Agenteninstanzen einer Agentengattung identisch ist.
Agenteninstanz meint dagegen die konkrete Ausprägung eines ablaufenden Agenten, darunter die aktuelle Belegung seiner Attribute, seiner Historie, etc.
Am Beispiel eines Agenten namens FOO erklärt bedeutet dies,
daß zum Start eines Agenten zuerst die Agentengattung gewählt wird:
FOO. Unter Angabe von Startparametern wird eine neue
Agenteninstanz erzeugt, die dann auf dem Agentensystem ausgeführt
wird. Wird mit anderen Parametern eine zweite FOO Instanz
gestartet, so gehören beide Agenten einer gemeinsamen Gattung an,
stellen aber unterschiedliche Agenteninstanzen dar.
Zur Verdeutlichung der Unterscheidung kann auch der Java-eigene
Serialisierungsmechanismus von Objekten herangezogen werden.
Wird in Java ein durch das Interface java.io.Serializable
gekennzeichnetes Objekt (beispielsweise auf einen Strom) serialisiert,
so enthalten diese Daten nur die aktuelle Belegung der Attribute. Ein
Empfänger solcher Daten muß, um das serialisierte Objekt wieder
erzeugen zu können, zusätzlich zu den Daten, über den zum Objekt
gehörigen Code verfügen.
Die Entitäten im verfeinerten Modell, skizziert in Abb.
3.1, sind nun:
Dabei wird die Kommunikation zwischen allen Komponenten mittels einem der folgenden Kanäle abgewickelt:
Die Unterscheidung der verschiedenen Arten von Benutzern wird unmittelbar durch die verschiedenen Rollen vorgegeben, die sie im MASA einnehmen.
Die Trennung zwischen Agenteninstanz und Agentengattung ruft dabei die Unterscheidung von Implementierern und Benutzern (im Sinne von Anwendern) hervor, konkret: Der Implementierer der Agentengattung ist in der Regel nicht identisch mit dem späteren Anwender des Agenten. Da beide Rollen unterschiedliche Teile des Lebenszyklusses eines Agenten berühren, sind diese für Sicherheitsbetrachtungen zu unterscheiden.
Benutzer von Agenteninstanzen und Agentensystemen sind wegen ihrer unterschiedlichen Aufgabenbereiche, die sie abdecken, zu unterscheiden. Während der Benutzer einer Agenteninstanz nur für diese zuständig ist, übernimmt der Benutzer eines Agentensystems weiterreichende administrative Aufgaben, die entsprechend auch die Agenteninstanzen auf einem Agentensystem berühren können. Somit sind diese beiden Benutzertypen aus der Sicherheitsperspektive zu unterscheiden.
Betrachtet man die Entitäten des Modells, gliedern sich diese in
solche, die selbst Aktionen (mittelbar oder unmittelbar) durchführen
(Subjekte) und jene auf die eine Aktion wirkt (Objekte):
Anforderungen zur Ausführung von Aktionen werden von Subjekten über die
unterschiedlichen Kanäle übertragen, dabei bieten Agenteninstanzen,
Agentensysteme und Endsysteme Schnittstellen an, wo die Aktionen
dann ausgeführt werden:
In den nachfolgenden Abschnitten wird das Modell nun
nacheinander aus der Sicht der Entitäten, Kanäle und Schnittstellen
betrachtet, um Möglichkeiten zur Authentisierung der Entitäten, sowie
die Gefahr von Angriffen, ansetzend an Kanälen bzw. Schnittstellen,
zu beleuchten.