next up previous contents
Nächste Seite: 5.12 Zusammenfassung Aufwärts: 5. Ein Sicherheitsmodell für Vorherige Seite: 5.10 Domänenbildung   Inhalt

Unterabschnitte


5.11 Fallbeispiele

In diesem Abschnitt wird die Anwendung der in diesem Kapitel beschriebenen Verfahren anhand typischer Stationen des Lebenszyklus eines Agenten beschrieben.


5.11.1 Implementierung einer Agentengattung

Abbildung 5.11: Skizze der Implementierung einer Agentengattung
\includegraphics [width=0.8\textwidth]{impl_agent}

Sei ein Implementierer nun Besitzer eines persönlichen Zertifikats und des zugehörigen privaten Schlüssels. Abb. 5.11 zeigt die folgenden Schritte:

  1. Im Zuge der Implementierung einer Agentengattung A erstellt der Implementierer I den Code der Gattung und evtl. weitere für die Gattung spezifische statische Daten.

  2. Code und statische Daten werden dann vom Implementierer I unter Benutzung seines Zertifikat signiert.

  3. Die neue Agentengattung A wird in einem Code Repository hinterlegt.

Damit wird folgendes erreicht:


5.11.2 Authentisierung eines Anwenders am Agentensystem

  1. Der Anwender meldet sich am Agentensystem an, indem er ein Zertifikat präsentiert.

  2. Das Agentensystem überprüft, ob die Zertifikatkette gültig ist.

  3. Das Agentensystem überprüft anhand der Authentication Policy, ob das Zertifikat als vertrauenswürdig angesehen werden kann, z.B. ob es von einer für das Agentensystem als vertrauenswürdig angesehenen Instanz signiert wurde.

  4. Waren beide Überprüfungen positiv, so ist der Anwender erfolgreich vom Agentensystem authentisiert.

5.11.3 Erzeugung einer Agenteninstanz

Abbildung 5.12: Skizze der Erzeugung einer Agenteninstanz
\includegraphics [width=0.9\textwidth]{create_agent}

Abb. 5.12 zeigt die einzelnen Schritte, wie eine neue Agenteninstanz, der in 5.11.1 implementierten Agentengattung A, erzeugt wird:

  1. Anwender U meldet dich am Agentensystem S an (siehe Abschnitt 5.11.2).

  2. Anwender U erbittet Erzeugung einer Instanz der Agentengattung A.

  3. Das Agentensystem S überprüft, ob die eigene Permission Policy dem Anwender das Starten einer Agenteninstanz der Gattung A gestattet.

  4. Das Agentensystem S wählt über die Code Repository Policy einen Ort aus, von dem die Daten der Agentengattung A zu laden sind und lädt diese.

  5. Das Agentensystem S überprüft die Integrität der geladenen Daten.

  6. Das Agentensystem erzeugt (gemäß Abschnitt 5.5.4) ein Sitzungszertifikat und signiert dieses.

  7. Das Agentensystem erzeugt eine Menge von Capabilities für diese Agenteninstanz aus der Permission Policy.

  8. Das Agentensystem erzeugt eine neue Agenteninstanz M mit den vorher erzeugten Capabilities, setzt dabei die Attribute Authority, Agentengattung, Implementierer und initialisiert die Historie mit der eigenen Identität als ersten Eintrag.

Damit ist die neue Agenteninstanz M der Gattung A, mit Anwender U als Authority und Implementierer I erzeugt und gestartet.

5.11.4 Migration einer Agenteninstanz

  1. Die Agenteninstanz A meldet eine Migrations-Anforderung nach Agentensystem D an das Agentensystem S.

  2. Das Agentensystem S überprüft, ob die Agenteninstanz im Besitz einer Capability ist, die die Migration auf D gestattet.

  3. S kontaktiert D und fordert dessen Zertifikat an.

  4. S überprüft die Zertifikatkette von D und entscheidet anhand der Authentication Policy, ob D als vertrauenswürdig angesehen werden kann.

  5. S übergibt die Zertifikat-Kette von D an A und A entscheidet mit der eigenen Authentication Policy, ob D als vertrauenswürdig angesehen werden kann.

  6. D fordert das Zertifikat von S an und überprüft anhand seiner Authentication Policy, ob S als vertrauenswürdig angesehen werden kann.

  7. S serialisiert A und versendet A nach D.

  8. D empfängt A und deserialisiert die empfangenen Daten.

  9. D überprüft die Integrität der Daten von A. Insbesondere wird dabei die Korrektheit der Historie von A überprüft. Hierzu muß die Integrität der Liste gewährleistet sein und S muß als letzter Eintrag in der Liste stehen.

  10. D überprüft anhand seiner Permission Policy, ob die Instanz A aufgrund ihrer Gattung, deren Implementierer, ihrer Authority und ihrer History gestartet werden darf.

Alle weiteren Schritte erfolgen analog zu den Schritten 4 bis 8 der Erzeugung einer neuen Agenteninstanz.

5.11.5 Lokale Agenteninstanz führt Aktion auf Endsystem aus

  1. Die Agenteninstanz A möchte eine Aktion X auf dem Endsystem durchführen lassen.

  2. Das Agentensystem S überprüft, ob A im Besitz einer Capability ist, die die Aktion X gestattet.

  3. Liegt eine passende Capability vor, wird die Aktion ausgeführt, ansonsten verweigert.


next up previous contents
Nächste Seite: 5.12 Zusammenfassung Aufwärts: 5. Ein Sicherheitsmodell für Vorherige Seite: 5.10 Domänenbildung   Inhalt
harald@roelle.com