1 / 14

Java-Implementierung von „ T ree-Based G roup D iffie- H ellman ( TGDH ) “

Java-Implementierung von „ T ree-Based G roup D iffie- H ellman ( TGDH ) “. Praktikant: Lijun Liao Betreuer: M.Sc. Mark Manulis Fachbereich: Lehrstuhl Netz- und Datensicherheit Datum: 19.10.2004. Gliederung. Grundlage Protokolle: Join, Leave, Partition und Merge Java-Implementierung

Download Presentation

Java-Implementierung von „ T ree-Based G roup D iffie- H ellman ( TGDH ) “

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. Java-Implementierung von„Tree-Based Group Diffie-Hellman (TGDH)“ Praktikant: Lijun Liao Betreuer: M.Sc. Mark Manulis Fachbereich: Lehrstuhl Netz- und Datensicherheit Datum: 19.10.2004

  2. Gliederung • Grundlage • Protokolle: Join, Leave, Partition und Merge • Java-Implementierung • Literatur

  3. Schlüsselvereinbarungsprotokoll für dynamische Gruppen • 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> - K<0,0>: Gruppenschlüssel Grundlage

  4. 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 Join-Protokoll • Schritt 3: • Aktualisiere den Schlüsselbaum • Berechne alle Schlüsselpaare im Pfad

  5. 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 Leave-Protokoll • Schritt 2: • Aktualisiere den Schlüsselbaum • Berechne alle Schlüsselpaare im Pfad

  6. M2 und M6 generieren neue key und bkey Partition-Protokoll I • 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> • 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 3: – M3 und M5 aktualisieren den Schlüsselbaum und • berechnen alle Schlüsselpaare im Pfad.

  7. M1 und M4 generieren neue key und bkey Partition-Protokoll II • Schritt 1 • Entferne alle Knoten außer <3,0>, <2,2> und <0,0> • Entferne BK<1,0>, BK<0,0> und BK<1,1> • Schritt 2: • Aktualisiere den Schlüsselbaum • Berechne alle Schlüsselpaare im Pfad

  8. Schritt 1: • M5 und M7 generieren neue key und bkey • Schritt 2: • Füge die beiden Schlüsselbäume zusammen • M2: Merge-Protokoll • Schritt 3: • Aktualisiere den Schlüsselbaum • Berechne alle Schlüsselpaare im Pfad

  9. Java-Implementierung • Pakete und Klassen • UML • Demo

  10. Pakete und Klassen • tgdh • TgdhException, TgdhUtil, Worker • tgdh.tree • Node, LeafNode, Coordinate, BasicTree, Tree, TreeInfo • tgdh.crypto • TgdhKeySpec, TgdhPrivateKey, TgdhPublicKey • tgdh.comm • TgdhMessage, ErrorMessage, JoinMessage, LeaveMessage, MergeMessage, PartitionMessage, UpdateMessage, MessageWithTry, TgdhSuspectEvent

  11. UML I

  12. UML II

  13. 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“

  14. 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/

More Related