1 / 28

Protecting Mobile Agents vs. Malicious Hosts

Protecting Mobile Agents vs. Malicious Hosts. Dennis Knorr. 10.07.2004. Inhalt. Was sind mobile Agenten Zentrale Probleme bzgl. der Sicherheit von mobilen Agenten Verschiedenartige Lösungsansätze Homomorphe Verschlüsselungsalgorithmen Anwendungen in der Praxis. Mobile Agenten I.

cargan
Download Presentation

Protecting Mobile Agents vs. Malicious Hosts

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Protecting Mobile Agents vs. Malicious Hosts Dennis Knorr 10.07.2004 Seite 1

  2. Inhalt • Was sind mobile Agenten • Zentrale Probleme bzgl. der Sicherheit von mobilen Agenten • Verschiedenartige Lösungsansätze • Homomorphe Verschlüsselungsalgorithmen • Anwendungen in der Praxis Seite 2

  3. Mobile Agenten I • Ein Agent ist ein ablauffähiges Programm • Handelt (partiell oder vollständig) autonom im Auftrag einer Person • Fähigkeit zur Verbreitung/Bewegung zwischen verschiedenen Hostsystemen Seite 3

  4. Mobile Agenten II • Anhand bestimmter Kritierien und/oder Ein/Ausgaben des Hosts bestimmt der mobile Agent (MA) sein weiteres Vorgehen • Wird momentan bei P2P- und DistributedComputing-Technologie eingesetzt. Seite 4

  5. Sicherheitsprobleme eines MA Kann ein mobiler Agent sich in fremder Umgebung vor Manipulation schützen? Seite 5

  6. Vermeintlich unmöglich Es ist unmöglich zu verhindern, dass Agenten nicht manipuliert werden koennen, solange nicht manipulationsresistente Hardware verwendet wird. D.Chess, „intinerant agents for mobile computing“ Seite 6

  7. Ein rekursives Problem Die Schutzroutine schuetzt die Schutzroutine, die die Schutzroutine schuetzt, ..., die das Objekt schützt, welches nicht von Angreifern manipuliert werden darf. Seite 7

  8. Zentrale Probleme • Code & Execution Integrity • Code Privacy • Computing with Secrets in Public Seite 8

  9. Code & Execution Integrity • Koennen die Daten des Agenten effektiv geschuetzt werden? • Kann der Agent sich vor Aenderung seines Quellcodes schützen? • Kann der Agent gewährleisten, dass seine korrekte Ausführungsreihenfolge gewährleistet bleibt? Seite 9

  10. Code Privacy • Kann verschleiert werden, was der Agent macht? • Koennen die Ein- und Ausgaben so chiffriert werden, dass zwar der Agent was damit anfangen kann, aber der Host nicht? Können die Absichten des Agenten verschleiert werden? Seite 10

  11. Computing Secrets in Public • Kann ein Programm ein bestimmtes Dokument signieren, ohne, dass der Private Key des Users offenbart wird? • Kann das Ergebnis der Berechnung ersichtlich sein, ohne dass man auf die Interna des Agenten schliessen kann? Seite 11

  12. Lösungen? • Nur authentifizierte Systeme werden als Hosts anerkannt. • Bei Kenntnis der Manipulation eines Agenten wird der betreffende Host ausgeschlossen • Kontrolle durch Pseudodaten Seite 12

  13. Weitere Lösungen? • Code Obfuscation • rundenbasierte/interaktive Verfahren • einen vertrauenswürdigen Masteragent • Homomorphe Verschlüsselungsprotokolle Seite 13

  14. Wiederholung der Probleme • Klartextdaten koennen gelesen und geaendert werden • Klartextprogramme koennen manipuliert werden • Nachrichten zwischen Agenten („von aussen“) koennen gefaelscht sein. Seite 14

  15. Verschlüsselte Programme könnten das Problem lösen. Seite 15

  16. „Verschlüsselte Funktionen“ • Wir differenzieren zwischen Programmen/Implementierungen und Funktionen • Wenn die Funktionen verschlüsselt sind, müssen auch ihre Ein- und Ausgabedaten verschlüsselt sein. Seite 16

  17. Funktionen & Daten • CED (Computing with Encrypted Data) • CEF (Computing with Encrypted Functions) Seite 17

  18. CEDs Das Problem: Bob hat einen Algorithmus bzw. eine Implementierung für die Funktion f, weiterhin würde er Alice die Implementierung benutzen lassen. Alice hat private Daten x, die sie von Bob berechnet haben möchte, allerdings will sie nicht, dass Bob etwas über x oder die Ausgabe f(x) lernt. Auf der anderen Seite will Bob nicht, dass Alice Kenntnisse der Funktionsweise von f() bekommt. Seite 18

  19. CEFs Das Problem: Alice hat einen Algorithmus für die Funktion f(). Bob hat die Daten x und wuerde ihr gerne das Ergebnis der Berechnung f(x) geben. Allerdings soll weder Bob etwas über f() lernen, noch soll Alice x kennen. Als verschärfende Bedingung gilt, dass Bob und Alice während der Berechnung nicht miteinander interagieren dürfen. Seite 19

  20. „nur leichte Angriffe“ • Replay-Attacken • Zufällige Veränderungen des Sourcecodes • DoS-Attacken Seite 20

  21. Ein Beispiel • Die Verschlüsselung einer Funktion wird E(f) genannt. • Die Implementation wird P() genannt. Verfahren 4. Bob berechnet P(E(f(x))) 5. Bob sendet P(E(f(x))) an Alice 6. Alice entschlüsselt P(E(f(x))) und bekommt so f(x) 1. Alice verschlüsselt f -> E(f) 2. Alice baut P(E(f)) 3. Alice schickt P(E(f)) an Bob Seite 21

  22. Mysterium E() • Normale Verschlüsselung kann nicht angewandt werden • Algorithmen haben homomorphe Gegenstücke. Seite 22

  23. Vorraussetzungen • Gibt es Funktionen, so dass aus E(x)+E(y)=E(x+y) berechnet werden kann, ohne dass Information „herausleckt“? • Gibt es Funktionen, sodass E(x)*E(y)=E(x*y) berechnet werden kann? • Gibt es Funktionen, sodas E(x)*y=E(x*y) berechnet werden kann? Seite 23

  24. Exponentiationsprotokoll • E:Z/(p-1)Z -> Z/pZ, x -> g^x • p ist prim • um x zu berechnen steht man vor dem Problem des diskreten Logarithmus • E(x+y)=g^(x+y) <=> E(x)+E(y)=g^x * g^y • Die Basis g stellt den Schlüssel dar, und muss ein Generator sein Seite 24

  25. Exponentationsprotokoll • G^x stellt die CED dar • und g^(x+y) stellt die CEF dar • Allgemein erlauben homomorphe Verschluesselungssysteme E:Z/nZ->Z/mZ CEF‘s fuer Polynome. • Damit weiss der Host nie, was er berechnet, selbst, wenn er die homomorphen Funktionen kennen würde. (Was nichts destotrotz eine Schwächung darstellt). Seite 25

  26. Signieren von Dokumenten? • Das Geheimnis kann gewahrt bleiben • Wie wird verhindert, dass das falsche Dokument signiert wird? • Verkettung von Dokument und Routine Seite 26

  27. Signatur-verfahren • s() ist eine rationale Funktion um die Signatur für die Nachricht m zu erstellen • v() ist eine zu veröffentlichende Funktion • v(z)=m zeigt z als gültige Signatur von m • fsigned=s°f • f und fsigned wird an den Partner geschickt, welcher mit x und z die Nachricht verifizieren kann Seite 27

  28. Anwendungen • Einkaufen übers Netz, mit Vergleichen • Auktionen • System mit besten Vorraussetzungen finden. Seite 28

More Related