Sicherheit im Semantic Web Universität des Saarlandes FR 6.2 Informatik WS 05/06 HS Semantische Webdienste und Agenten Betreuer: Dr. Matthias Klusch Referentin: Verena Schuler
Gliederung Problemstellung Sicherheit im Semantic Web Ein abstraktes Policy-Modell Grundlagen der Policy Spezifikationssprache Rei Anwendungsbeispiele Offene Fragen
Sicherheit im Semantic Web Eine Zunahme an Diensten, die vertrauliche Informationen behandeln erfordert auch eine Verschärfung der Sicherheitsmaßnahmen Bsp.: Wissenschaftler, Weitergabe von privaten Daten
Ein abstraktes Policy-Modell Policies sollen das jetzige und zukünftige Verhalten von Entities lenken, damit deren Handlungen mit ihren Zielen und denen des Systems übereinstimmen
Ein abstraktes Policy-Modell Policy-Regeln bestehen aus 4 Teilen: Modalitäten, Subjekt, Handlung und Ziel Modalitäten lassen sich in Erlaubnis, Verbot, Verpflichtung, Befreiung unterteilen Subjekt (Student) Handlung (Drucken) wirkt auf Ziel(e) (HP-Drucker) Modalität
Ein abstraktes Policy-Modell Man kann entweder individuelle Regeln für spezifische Subjekte, Handlungen und Ziele festlegen oder generelle Policies über Mengen von Subjekten, Handlungen und Zielen festlegen Bsp.: Peter hat Zugang zum Cip-Raum 001. Alle Informatikstudenten haben Zugang zu den CIP-Räumen
Ein abstraktes Policy-Modell Konflikte: Modalitäten-Konflikt: - Das Subjekt hat zugleich die Erlaubnis und das Verbot, eine Handlung auszuführen - Das Subjekt ist zugleich verpflichtet und befreit, eine Handlung durchzuführen - Konflikt zwischen Verpflichtung und Verbot
Ein abstraktes Policy-Modell Konfliktauflösungsstrategien: Statische Konfliktauflösung Dynamische Konfliktauflösung
Die Policy Spezifikationssprache Rei Soll in dynamischen Systemen eingesetzt werden Version 1.0 basierte auf Prolog Version 2.0 wird in OWL-Lite repräsentiert
Die Policy Spezifikationssprache Rei 3 grundlegende Konzepte: Deontische Logik: Erlaubnis, Verbot, Verpflichtung, Befreiung Speech Acts: Übertragung, Widerruf, Anfrage (Anfrage für Handlung oder Anfrage für Erlaubnis), Aufhebung Konfliktauflösung: Modality-Konflikte werden erkannt Konfliktlösung: Vorrang, Prioritäten, Default Verhalten
Anwendung von Rei PolicyObjekt(Aktion, Bedingungen) Erlaubnis(Aktion, Bedingungen) Verbot(Aktion, Bedingungen) Verpflichtung(Aktion, Bedingungen) Befreiung(Aktion, Bedingungen)
Anwendung von Rei Um Policy Objekte mit Entitäten zu verknüpfen wird das hat-Konstrukt benutzt: hat(Subjekt, PolicyObjekt) Bsp.: hat(agentA, Erlaubnis(aktionB, Bedingung)) hat(Variable, Erlaubnis(aktionB, Bedingung)) Hier ist ein Beispiel für die Verwendung des hat-Konstruktes: hat(student_1, Erlaubnis(lesenNachrichten, Bedingung))
Anwendung von Rei Eine Aktion wird folgendermaßen dargestellt: aktion(AktionName, [ZielObjekte], Vorbedingung, Effekte) Eine Seite auf einem Drucker auszudrucken könnte wie folgt aussehen: aktion(druckeEineSeiteHP, [druckerHP], (enthältTinte(druckerHP), enthältPapier(druckerHP, X), X>1), enthältPapier(druckerHP, X-1))
Anwendung von Rei seq(A, B) bestimmt, dass Aktion A und B hintereinander ausgeführt werden müssen. nichtdet(A, B) bestimmt, dass entweder A oder B, aber nicht beide ausgeführt werden können. wiederholung(A) bestimmt, dass Aktion A mehrmals hintereinander ausgeführt werden kann. einmal(A) bestimmt, dass Aktion A nur einmalig ausgeführt werden darf.
Anwendung von Rei Aufbau komplexer Bedingungen: und(BedingungA, BedingungB) oder(BedingungA, BedingungB) nicht(Bedingung)
Anwendung von Rei Die Rei Policy Engine: Entwickelt in Flora, einer F-Logik Erweiterung von XSB, enthält F-Owl, einen Reasoner für RDF und OWL Die Policy Engine ist modular und kann leicht um deontische Konzepte und Speech Acts erweitert werden Es existieren 3 Interfaces, ein Java Interface zur Integration in spezifische Domänen, ein Prolog Interface zur Erweiterung der Anfragen und ein Graphical Editor zum erstellen einfacher Policies
Anwendung von Rei Die Rei Policy Engine: Flora ist eine F-Logik Erweiterung der XSB Datenbank FOWL ist die Inferenzmaschine in Flora Rei interface in Java, YAJXB ist Mittler
Anwendung von Rei Welche Probleme müssen in policybasierten Architekturen gelöst werden? Welche Ansätze bietet Rei?
Anwendung von Rei Repräsentation von domänenspezifischem Wissen Komplexität eines policybasierten Frameworks hängt stark von der Komplexität der domänenspezifischen Ontologien ab Die Rei Policy Engine kann über Ontologien in RDF, DAML+OIL und OWL urteilen
Anwendung von Rei Policy Entwicklung Da Rei auf OWL basiert ist es möglich einen Ontologie-Editor wie Protégé oder OntoEdit zu nutzen Es wurde außerdem ein einfacher graphischer Editor entwickelt, um einfache Policy-Spezifikationen in Rei zu entwickeln
Anwendung von Rei Policy Analyse Use Case Analyse StatementUseCase DeonticUseCase What-If Analyse WhatIfProperty WhatIfPolicyRule Bedingung
Anwendung von Rei Entwicklung einer Policy Engine Rei verfügt über 3 mögliche Anwendungen der Policy Engine 1.Zentralisiert 2.Verteilt 3.Semi-dezentralisiert
Anwendung von Rei Sammlung von Beglaubigungen und deren Verifikation Beglaubigungs-Verifikation nicht vorgesehen in Rei Es wird von einem Trusted-Third-Party System ausgegangen
Anwendung von Rei Policy Management Mit Hilfe der Speech Acts können Policies dynamisch zur Laufzeit verändert werden
Anwendung von Rei Zusammenfassung Keine zentrale Kontrolle in dynamischen Systemen -> Weitergabe von Rechten Dadurch entstehen Konflikte -> es werden Konfliktlösungsmechanismen eingeführt
Case Study
Rei wurde in verschiedenen Umgebungen getestet. Einige mögliche Umgebungen sind: Supply Chain Management Autorisations Policies in pervasiven Umgebungen Multi-Agenten-Systeme
Offene Fragen Balance zwischen Mächtigkeit und Anwendung Entitäten Enforcement Private Policies
Vielen Dank für die Aufmerksamkeit