Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und...

36
Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter

Transcript of Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und...

Page 1: Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter.

Universität Karlsruhe

1/19

Entwicklung einer Komponente zur Beweismittelverwaltung und

Beweisführung

Claudia Dörr

Betreuer: Philipp Obreiter

Page 2: Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter.

Universität Karlsruhe

2/19

Motivation: Reputationssystem

Olaf

Olli

Peterkein DienstDienst

Dien

st

Hätte Olaf Olli nicht vor Peter warnen können?

kein

Dien

st

Abmachung

Abmac

hun

g

Page 3: Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter.

Universität Karlsruhe

3/19

Beispiel für ein Reputationssystem

Teilnehmer schicken Empfehlungen (Reputation)

beurteilen das Verhalten der Kooperationspartner teilen es anderen mit

Verteilte Reputationssysteme: machen kooperatives Verhalten vorteilhaft schützen Teilnehmer gegen Fehlverhalten

Kann die negative Empfehlung missbraucht werden?

PeterOlaf

Olli

Dienst kein Dienst

Negative

Empfehlung

über

Peter

kein

e Ko

oper

atio

n

Abmachung

Page 4: Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter.

Universität Karlsruhe

4/19

Olaf Peter

Olli

Dienst

Nega

tive

Empf

ehlun

güb

er O

laf

Motivation: beweismittelbasiertes Reputationssystem

Nachteile von negativen Empfehlungen:• Diffamierung• Olaf weiß nichts von einer Empfehlung

keine

Kooperation

Abmachung

Page 5: Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter.

Universität Karlsruhe

5/19

Einführendes Beispiel mit Beweismitteln

Olaf Peter

Olli

VertragDienst

QuittungNe

gativ

e Em

pfeh

lung

über

Olaf

Definition elektronische Beweismittel: nicht-abstreitbare kryptographische Marken

Olaf Peter

Olli

VertragDienst

Nega

tive

Empf

ehlun

güb

er O

laf

keine Quittung -> Diffamierung

Negative

Empfehlungüber Peter

Verteidigun

g?Quittun

g

Quittung -> keine Diffamierung

Quittung + Negative Empfehlung -> inkonsistentes Verhalten

Verteidigun

g?keine Quittung

Page 6: Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter.

Universität Karlsruhe

6/19

Beweismittelverwalter

VertragDienstQuittung

Nega

tive

Empfe

hlung

über

Olaf

Beweismittelverwalter nötig, der folgendes leistet: verwaltet Beweismittel schließt Beweise aufgrund der vorliegenden Beweismittel

Verteidigun

g?Quittung

PeterOlaf

Olli

Beweismittelverwalter:

NegativeEmpfehlung(von Peter, über Olaf, bei T1)Quittung(von Peter, an Olaf, bei T1)=>Inkonsistenz(Peter)

Page 7: Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter.

Universität Karlsruhe

7/19

Realisierung des Beweismittelverwalters mit Hilfe eines logischen Schließers

Kennt nur: Fakten Regeln

Logischer Schließer

Beweismittel

Wissen Beweise schließenassoziativer Zugriff

Dienstschnittstelle zum Reputationssystem

Page 8: Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter.

Universität Karlsruhe

8/19

Inhaltsübersicht

Logischer Schließer

1. Dienstschnittstelle2. Lückenüberbrückung

3.

Eval

uatio

n

4.

Zusa

mm

enfa

ssun

g un

d Au

sblic

k

Reputationssystem

Jess

Page 9: Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter.

Universität Karlsruhe

9/19

1. Dienstschnittstelle

• Beweisschließungspaket hinzufügen

• Beweismittel und Wissen hinzufügen

• assoziativer Zugriff

• Meldung von neuen Beweisen (Callback)

• Beweismittel zu Beweis anfordern

Page 10: Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter.

Universität Karlsruhe

10/19

2. Überblick über Softwarearchitektur

Repository

FactDefinitionStorage

FactManager

RegistrationManager

JessNewFactListener

logischer Schließer

1. Dienstschnittstelle

Page 11: Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter.

Universität Karlsruhe

11/19

2. Entwurfsentscheidungen

Grundlegende Entwurfsentscheidungen:

• Regeln in Jess-Syntax hinzufügen

• Anfrage über Zustand des Beweismittelverwalters nicht über Jess -> FactManager

Page 12: Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter.

Universität Karlsruhe

12/19

2. Lückenüberbrückung: FactDefinitionStorage

FactDefinitionStorage:• speichert die Faktendefinition • ermöglicht die Konversion von Faktum in Statement und umgekehrt

Reputationssystem

Jess

Statements

Fakten

Page 13: Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter.

Universität Karlsruhe

13/19

Repository

FactDefinition-Storage

converteStateToFact (evidence

)

Fact-Manager

putFact(factInfo)

Registration-Manager

indicate(newFact)

FactManager:• speichert alle Fakten bzw. Statements• informiert den RegistrationManager von neuen Fakten

2. Lückenüberbrückung: FactManager (1)

addEvidence(evidence)

Page 14: Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter.

Universität Karlsruhe

14/19

• Hinzufügen von Fakten zu Jess aktiviert und feuert Regeln

• eine gefeuerte Regel fügt u.U. ein weiteres Faktum ein

• Beispiel: (defrule QuittungEinfügen (Quittung (AusstellerID ?a) (TransPartnerID ?p) (PartnerTransID ?tid) ) => (assert (Bestätigung (BestätigenderID ?a) (BestätigterID ?p) (BestätigterTransID ?tid) ) ) )

2. Lückenüberbrückung: FactManager (2)

NewFactListener hört mit, was in Jess passiert:- speichert die neuen Fakten im FactManager- setzt die Wurzelbeweismittel und Nachfolger

Page 15: Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter.

Universität Karlsruhe

15/19

2. Lückenüberbrückung: FactManager (3)

Quittung

Bestätigung

Negative-Empfehlung

Inkonsistenz

Wurzelbeweismittel

Wurzelbeweismittel

Nachfolger

Nachfolger

Wozu Wurzelbeweismittel und Nachfolger?• Wurzelbeweismittel zu einem Beweis werden oft gefragt• bei Löschen eines Faktums müssen seine Nachfolger auch gelöscht werden

Page 16: Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter.

Universität Karlsruhe

16/19

2. Lückenüberbrückung: RegistrationManager

Registrator 1 Registrator 2

RegistrationManager

FactManager

Erlaubnis

InkonsistenzFakt

Inkonsistenz indicate(InkonsistenzFakt)

Page 17: Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter.

Universität Karlsruhe

17/19

3. Evaluation

• der Beweismittelverwalter wird bei der Evaluation auf Korrektheit und Effizienz getestet

• der Korrektheitstest erfolgt mit Hilfe einiger Testfälle• Ergebnis des Effizienztests (Pentium Mobile Prozessor, 1.4 MHz):

0

0,5

1

1,5

2

2,5

3

3,5

4

4,5

5

500 1.000 2.000 4.000 8.000 12.000 16.000 20.000 24.000

Anzahl Fakten in Repository

Zeit

[ms] addEvidence

getKnowledge(20%)getKnowledge(80%)getRootEvidence/getRootKnowledge

Page 18: Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter.

Universität Karlsruhe

18/19

4. Zusammenfassung und Ausblick

Zusammenfassung:• Beweismittel neutralisieren Nachteile des

Reputationssystems• eine Lücke existiert zwischen Dienstschnittstelle des

Reputationssystems und logischem Schließer• Lückenüberbrückung:

– Abbildung der Statements auf Fakten -> FactDefinitionStorage– Speichern von Zustand des Beweismittelverwalters,

Wurzelbeweismittel und Nachfolger -> FactManager– Melden von neuen Beweisen (Callback) -> RegistrationManager

Ausblick: • verwenden des Beweismittelverwalters im Kontext des

Reputationssystems• Auswirkung auf Reputationssystem evaluieren

Page 19: Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter.

Universität Karlsruhe

19/19

Vielen Dank für die

Aufmerksamkeit

Page 20: Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter.

Universität Karlsruhe

20/19

Anhang

Page 21: Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter.

Universität Karlsruhe

21/19

Anforderungen des Reputationssystems an einen Beweismittelverwalter

Ein Beweismittelverwalter muss folgendes leisten:

• Entgegennehmen eines Beweismittels / von Wissen (addEvidence/addKnowledge)

• Beweise schließen aufgrund der vorliegenden Beweismittel und des Wissens (Regeln)

• Liefern eines Beweises auf Anfrage (getKnowledge)• Herausgeben der Beweismittel und des Wissens, die zu einem Beweis

führten (getRootEvidence/getRootKnowledge)• Melden, wenn ein neuer Beweis vorliegt (indicate)• Löschen von Beweismitteln (removeEvidence/removeKnowledge)• muss mit neuen Beweismittelarten umgehen können (addPackage)

Page 22: Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter.

Universität Karlsruhe

22/19

Datenstrukturen im RegistrationManager

Statement Typ

handle Knowledge Callback

handle template

handle template

Page 23: Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter.

Universität Karlsruhe

23/19

Datenstrukturen im FactManager

Fakt ID FaktInfo Statement String FaktInfo

Statement Typ FaktInfo1, FaktInfo2, ...

FaktInfo3, FaktInfo4, ...

Page 24: Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter.

Universität Karlsruhe

24/19

Datenstrukturen im FactDefinitionStorage

Fakt Name Fakt Definition

Page 25: Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter.

Universität Karlsruhe

25/19

Einführendes Beispiel in Jess Syntax

Definitionen der Fakten:(deftemplate Bestätigung (slot BestätigenderID) (slot BestätigterID) (slot BestätigterTransID) )

(deftemplate Quittung (slot AusstellerID) (slot TransPartnerID) (slot PartnerTransID) )

(deftemplate NegEmpfehlung (slot AusstellerID) (slot NegZuEmpfehlenderID) (slot NegZuEmpfTransID) )

Page 26: Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter.

Universität Karlsruhe

26/19

Einführendes Beispiel in Jess Syntax

Definitionen der Fakten:

Definitionen der Regeln:

(deftemplate Bestätigung (slot BestätigenderID) (slot BestätigterID) (slot BestätigterTransID) )

(deftemplate Quittung (slot AusstellerID) (slot TransPartnerID) (slot PartnerTransID) )

(deftemplate NegEmpfehlung (slot AusstellerID) (slot NegZuEmpfehlenderID) (slot NegZuEmpfTransID) )

(defrule QuittungEinfügen (Quittung (AusstellerID ?a) (TransPartnerID ?p) (PartnerTransID ?tid) ) => (assert (Bestätigung (BestätigenderID ?a) (BestätigterID ?p) (BestätigterTransID ?tid) ) ) )

(defrule BeweiseInkonsistenz (NegEmpfehlung (AusstellerID ?a) (NegZuEmpfehlenderID ?p) (NegZuEmpfTransID ?tid) ) (Bestätigung (BestätigenderID ?a) (BestätigterID ?p) (BestätigterTransID ?tid) ) => (assert (Inkonsistenz (InkonsitenteEinheitID ?a) ) )

Page 27: Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter.

Universität Karlsruhe

27/19

Existierende Beweismittelverwalter

• die Idee, Beweismittel in einem Reputationssystem zu verwenden, erläutert bereits Assokan in seiner Dissertation

• er entwickelt eine Sprache, um Behauptungen formulieren zu können, die ein Verifier beweisen soll.

• außerdem entwickelt er ein Protokoll zwischen Usern/Anwendungen und dem Verifier

Aber: der Verifier ist noch zu implementieren

Page 28: Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter.

Universität Karlsruhe

28/19

Lückenüberbrückung: Herausgeben von Beweismitteln und Wissen zu einem Beweis (1)

• getKnowledge liefert Statements zurück, aber nicht die Beweismittel und das Wissen, die zu diesem führten

• Methode getRootEvidences(Statement) liefert die Beweismittel als Array zurück, die zum übergebenen Statement führten

• die Beweismittel jedes Faktums stehen in seinem FaktInfo-Objekt im Vektor WurzelBeweismittelVorgänger

Page 29: Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter.

Universität Karlsruhe

29/19

Repository

FactManager FactInfo

getRootEvidences getFactInfo(fac

t)

getRootEvidences()

Lückenüberbrückung: Herausgeben von Beweismitteln und Wissen zu einem Beweis (2)

(fact)

Page 30: Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter.

Universität Karlsruhe

30/19

Lückenüberbrückung: Löschen von Beweismitteln (1)

• Beweismittel haben ein „Haltbarkeitsdatum“. Ist dieses abgelaufen, muss das Beweismittel gelöscht werden.

• Methode removeEvidence(beweismittel) löscht das Beweismittel

• der Successor-Vektor des FactInfo-Objekts hält alle Fakten, die aus dem FactInfo-Objekt geschlossen wurden

Page 31: Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter.

Universität Karlsruhe

31/19

Lückenüberbrückung: Löschen von Beweismitteln (2)

Repository

FactManager FactInfo

removeEvidence getFactInfo(evidenc

e)

removeSuccessingFacts()

removeFact(fact)

(evidence)

Page 32: Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter.

Universität Karlsruhe

32/19

Lückenüberbrückung: Liefern eines Beweises auf Anfrage (1)

• Methode getKnowledge(template) sucht Fakten, die dem template entsprechen

• das Ergebnis ist ein Array von Statements

• Beispiel 1: ist das template ein Vertrag -> Ergebnis sind alle existierenden Verträge

• Beispiel 2: ist das template ein Vertrag mit einer bestimmten AusstellerID -> Ergebnis sind alle Verträge, deren AustellerID mit der des templates übereinstimmt

Page 33: Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter.

Universität Karlsruhe

33/19

Repository

FactManager

getKnowledge query(templat

e)

Lückenüberbrückung: Liefern eines Beweises auf Anfrage (2)

(template)

Page 34: Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter.

Universität Karlsruhe

34/19

Lückenüberbrückung: FaktDefinitionsSpeicher (1)

• Methode addPackage(package) übergibt dem Beweismittelverwalter die neue Beweismittelart

• Ziel: Jess mit den Typdefinitionen und den entsprechenden Regeln bekannt zu machen

• Package ist in Jess Syntax geschrieben

• das Package besteht aus: Typ/Aufbau der Beweismittelart (deftemplate) Typ/Aufbau des Wissens (deftemplate) Hilfstypen (deftemplate) Regeln (defrule)

Page 35: Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter.

Universität Karlsruhe

35/19

Lückenüberbrückung: FactInfo

Das FactInfo speichert:• das Beweismittel• das Statement• das Faktum• die Wurzelbeweismittel• das Wurzelwissen• die Nachfolger

Page 36: Universität Karlsruhe 1/19 Entwicklung einer Komponente zur Beweismittelverwaltung und Beweisführung Claudia Dörr Betreuer: Philipp Obreiter.

Universität Karlsruhe

36/19

Wahl eines logischen Schließers

Anforderungen an den logischen Schließer:• Plattform unabhängig -> Java basiert• gute Performance beim Schließen• kostenlos

Logischer Schließer Programmiersprache Performance Kosten

K-PC Java ausreichend niedrigJRULES Java gut hoch

JESS Java gut mittel