praktikant: lijun liao betreuer: m.sc. mark manulis fachbereich: lehrstuhl netz- und datensicherheit...

14
Praktikant: Lijun Liao Betreuer: M.Sc. Mark Manulis Fachbereich: Lehrstuhl Netz- und Datensicherheit Datum: 19.10.2004 Java-Implementierung von Tree-Based Group Diffie- Hellman (TGDH)“

Upload: poldi-mumper

Post on 05-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Praktikant: Lijun Liao Betreuer: M.Sc. Mark Manulis Fachbereich: Lehrstuhl Netz- und Datensicherheit Datum:19.10.2004 Java-Implementierung von T ree-Based

Praktikant: Lijun Liao

Betreuer: M.Sc. Mark Manulis

Fachbereich: Lehrstuhl Netz- und Datensicherheit

Datum: 19.10.2004

Java-Implementierung von „Tree-Based Group Diffie-Hellman

(TGDH)“

Page 2: Praktikant: Lijun Liao Betreuer: M.Sc. Mark Manulis Fachbereich: Lehrstuhl Netz- und Datensicherheit Datum:19.10.2004 Java-Implementierung von T ree-Based

Gliederung

• Grundlage

• Protokolle: Join, Leave, Partition und Merge

• Java-Implementierung

• Literatur

Page 3: Praktikant: Lijun Liao Betreuer: M.Sc. Mark Manulis Fachbereich: Lehrstuhl Netz- und Datensicherheit Datum:19.10.2004 Java-Implementierung von T ree-Based

Grundlage

- K<0,0>: Gruppenschlüssel

- Knoten <l,v>: v-ter Knoten in Ebene l- Jeder Knoten

-ein key K<l,v>

-ein bkey BK<l,v> = g- : Menge der bkeys, die Mi kennt

K<l,v>

• Schlüsselvereinbarungsprotokoll für dynamische Gruppen

Page 4: Praktikant: Lijun Liao Betreuer: M.Sc. Mark Manulis Fachbereich: Lehrstuhl Netz- und Datensicherheit Datum:19.10.2004 Java-Implementierung von T ree-Based

Join-Protokoll

• Schritt 1:

• Schritt 2: - Füge M4 hinzu und erweitere den Baum um den Knoten <2,3> - entferne BK<0,0>, BK<2,2> - M3 generiert neue key und bkey

• Schritt 3:- Aktualisiere den Schlüsselbaum- Berechne alle Schlüsselpaare im Pfad

Page 5: Praktikant: Lijun Liao Betreuer: M.Sc. Mark Manulis Fachbereich: Lehrstuhl Netz- und Datensicherheit Datum:19.10.2004 Java-Implementierung von T ree-Based

Leave-Protokoll

• Schritt 1: - Entferne die Knoten <2,2> und <1,1>- Entferne BK<2,3>, BK<1,1> und BK<0,0>

- M5 generiert neue key und bkey

• Schritt 2: - Aktualisiere den Schlüsselbaum- Berechne alle Schlüsselpaare im Pfad

Page 6: Praktikant: Lijun Liao Betreuer: M.Sc. Mark Manulis Fachbereich: Lehrstuhl Netz- und Datensicherheit Datum:19.10.2004 Java-Implementierung von T ree-Based

Partition-Protokoll I

• Schritt 2 - Aktualisiere den Schlüsselbaum- M2 und M6 berechnen alle Schlüsselpaare im Pfad- M2 oder M6 sendet den Baum mit allen bkeys an die Gruppe

• Schritt 1: -Entferne die Knoten <3,0>, <2,2>, <2,0> und <1,1> - Entferne BK<2,0>, BK<1,0>, BK<0,0>, BK<2,3> und BK<1,1>

- M2 und M6 generieren neue key und bkey

• Schritt 3: – M3 und M5 aktualisieren den Schlüsselbaum und berechnen alle Schlüsselpaare im Pfad.

Page 7: Praktikant: Lijun Liao Betreuer: M.Sc. Mark Manulis Fachbereich: Lehrstuhl Netz- und Datensicherheit Datum:19.10.2004 Java-Implementierung von T ree-Based

Partition-Protokoll II

• Schritt 1 - Entferne alle Knoten außer <3,0>, <2,2> und <0,0>

• Schritt 2: - Aktualisiere den Schlüsselbaum- Berechne alle Schlüsselpaare im Pfad

- Entferne BK<1,0>, BK<0,0> und BK<1,1>

- M1 und M4 generieren neue key und bkey

Page 8: Praktikant: Lijun Liao Betreuer: M.Sc. Mark Manulis Fachbereich: Lehrstuhl Netz- und Datensicherheit Datum:19.10.2004 Java-Implementierung von T ree-Based

Merge-Protokoll

• Schritt 1: - M5 und M7 generieren neue key und bkey

• Schritt 2: - Füge die beiden Schlüsselbäume zusammen- M2:

• Schritt 3: - Aktualisiere den Schlüsselbaum- Berechne alle Schlüsselpaare im Pfad

Page 9: Praktikant: Lijun Liao Betreuer: M.Sc. Mark Manulis Fachbereich: Lehrstuhl Netz- und Datensicherheit Datum:19.10.2004 Java-Implementierung von T ree-Based

Java-Implementierung

• Pakete und Klassen• UML• Demo

Page 10: Praktikant: Lijun Liao Betreuer: M.Sc. Mark Manulis Fachbereich: Lehrstuhl Netz- und Datensicherheit Datum:19.10.2004 Java-Implementierung von T ree-Based

Pakete und Klassen

• tgdh TgdhException, TgdhUtil, Worker

• tgdh.treeNode, LeafNode, Coordinate, BasicTree, Tree, TreeInfo

• tgdh.cryptoTgdhKeySpec, TgdhPrivateKey, TgdhPublicKey

• tgdh.commTgdhMessage, ErrorMessage, JoinMessage, LeaveMessage, MergeMessage, PartitionMessage, UpdateMessage, MessageWithTry, TgdhSuspectEvent

Page 11: Praktikant: Lijun Liao Betreuer: M.Sc. Mark Manulis Fachbereich: Lehrstuhl Netz- und Datensicherheit Datum:19.10.2004 Java-Implementierung von T ree-Based

UML I

Page 12: Praktikant: Lijun Liao Betreuer: M.Sc. Mark Manulis Fachbereich: Lehrstuhl Netz- und Datensicherheit Datum:19.10.2004 Java-Implementierung von T ree-Based

UML II

Page 13: Praktikant: Lijun Liao Betreuer: M.Sc. Mark Manulis Fachbereich: Lehrstuhl Netz- und Datensicherheit Datum:19.10.2004 Java-Implementierung von T ree-Based

Demo

• Realisierung von - Join- Join auf bestimmter Position- Leave- Partition- Merge

Änderung des Gruppennamens mit Hilfe von „add tmp to group name“„remove tmp from group name“

Page 14: Praktikant: Lijun Liao Betreuer: M.Sc. Mark Manulis Fachbereich: Lehrstuhl Netz- und Datensicherheit Datum:19.10.2004 Java-Implementierung von T ree-Based

Literatur 1. Yongdae Kim et al., Tree-Based Group Key Agreement, ACM Transactions on Information and System Security (TISSEC), archive Volume 7, Issue 1 (February 2004), Pages: 60 - 96

2. PKCS#3: Diffie-Hellman Key Agreement Standard. http://www.rsasecurity.com/rsalabs/node.asp?id=2126

3. The Legion of the Bouncy Castle.http://bouncycastle.org

4. Log4J Project.http://logging.apache.org/log4j/docs/index.html

5. Commons Logging.http://jakarta.apache.org/commons/logging/

6. The JGroups Project.www.jgroups.org/javagroupsnew/docs/