Implementierung eines Sybil-Abwehrverfahrens

  • Forschungsthema:Security, Privacy, P2P
  • Typ:Bachelorarbeit
  • Datum:2019
  • Betreuung:

    Sebastian Friebe

  •  

    BESCHREIBUNG

    Ein häufiges Problem bei dezentralen Diensten ist die Möglichkeit eines Sybil-Angriffs. Bei diesen erstellt ein einzelner Nutzer zahlreiche Fake-Identitäten um die Funktionalität des Dienstes zu beeinflussen und, zum Beispiel, Abstimmungen nach Belieben zu kontrollieren. Um derartige Manipulationen zu verhindern wurden zahlreiche Verfahren zur Erkennung und Einschränkung von Sybils entworfen. Viele dieser Verfahren basieren dabei auf sozialen Graphen, d.h., auf den Vertrauensbeziehungen die durch Freundschaften in sozialen Netzen ausgedrückt werden.

    Am Institut für Telematik wurde in einer früheren Abschlussarbeit ein weiteres solches Verfahren entwickelt. Dieses ermöglicht es, Teilnehmer als ehrlich zu akzeptiert und ihnen einen Beweis für die erfolgte Akzeptanz auszustellen. Durch den Beweis sind sie in der Lage, zu einem späteren Zeitpunkt diese Akzeptanz gegenüber Dritten nachzuweisen.
     

     

    AUFGABENSTELLUNG

    Im Rahmen dieser Bachelorarbeit soll das entworfene Verfahren implementiert werden. Basierend auf dem bestehenden Verfahren soll ein Implementierungsentwurf erstellt werden. Dabei muss das Verfahren stellenweise ergänzt werden. Ein Beispiel hierfür ist die bislang nicht ausgearbeitete Erstellung einer Vertrauensbeziehung zwischen zwei Teilnehmern. Zusätzlich soll die Implementierung für Nutzer die Möglichkeit bieten, ihre Beweise abzufragen und diese für weitere Dienste zu nutzen. Nach der Implementierung soll die Funktionsfähigkeit des erstellten Peer-to-Peer-Netzes evaluiert werden.

    Die Implementierung erfolgt mit der Programmiersprache Java. Zur Kommunikation zwischen den Teilnehmern des Verfahrens wird die Bibliothek Peer-Tor-Peer verwendet. Es wird angestrebt, die erfolgte Implementierung nach Abschluss der Arbeit öffentlich verfügbar zu machen.
     

     

    ARBEITSUMGEBUNG

    Institutspoolraum und leistungsstarke Simulationsrechner
     

     

    VORAUSSETZUNGEN

    Gute Programmierkenntnisse (Java) sind erforderlich, Grundkenntnisse in den Bereichen Kryptographie und Peer-to-Peer sind hilfreich.