Grin logo
de en es fr
Shop
GRIN Website
Publish your texts - enjoy our full service for authors
Go to shop › Computer Science - IT-Security

Implementierung einer verschlüsselten Netzwerkkommunikation unter der Verwendung von Python Sockets und des RSA-Algorithmus

Title: Implementierung einer verschlüsselten Netzwerkkommunikation unter der Verwendung von Python Sockets und des RSA-Algorithmus

Pre-University Paper , 2017 , 26 Pages , Grade: 15 Punkte (entspricht 1+)

Autor:in: Florian Wolf (Author), Jonas Martin (Author)

Computer Science - IT-Security
Excerpt & Details   Look inside the ebook
Summary Excerpt Details

In diesem Schülerprojekt geht es um die Umsetzung einer Peer-to-Peer-Kommunikation zwischen zwei Rechnern innerhalb eines Netzwerkes. Diese wird verschlüsselt und unverschlüsselt in Python implementiert.

Sockets (» Steckdose«) sind Softwareobjekte, die eine bidirektionale Netzwerkkommunikation zwischen Server und Clients ermöglichen. Dabei geht es nicht nur um eine Verbindung von Programmen zum Internet, sondern auch um den internen Datenaustausch zwischen den Programmen. „Bei der Benutzung von Sockets spielt es keine Rolle, ob sich der Zielsocket auf dem eigenen Rechner, auf einem Rechner im lokalen Netzwerk oder auf einem Rechner im Internet befindet.“ [Ernesti und Kaiser] Das Betriebssystem stellt dabei die Sockets bereit und hat die Aufgabe alle benutzten Sockets zu verwalten.

Excerpt


Inhaltsverzeichnis

1 Grundlagen

1.1 Socket

1.2 Transmission Control Protocol

2 Netzwerkkommunikation

2.1 Unverschlüsselt

2.1.1 Peer-to-Peer Rechnermodell

2.1.2 Implementierung Rechner 1

2.1.3 Implementierung Rechner 2

2.2 Exemplarischer Chat–Verlauf

2.2.1 Rechner 1

2.2.2 Rechner 2

2.3 Verschlüsselt

2.3.1 Theoretische Grundlagen: Asymmetrische Verschlüsselung

2.3.2 Theoretische Grundlagen: RSA–Algorithmus

2.3.3 Schlüsselaustausch

2.3.4 Implementierung

Zielsetzung & Themen

Die vorliegende Arbeit befasst sich mit der technischen Realisierung einer verschlüsselten, bidirektionalen Netzwerkkommunikation mittels Python-Sockets. Das primäre Ziel ist die Entwicklung eines Peer-to-Peer-Chat-Systems, bei dem die Datenübertragung zunächst unverschlüsselt und in einer zweiten Ausbaustufe mittels des asymmetrischen RSA-Verschlüsselungsverfahrens gesichert erfolgt.

  • Grundlagen der Netzwerkkommunikation mittels Sockets
  • Aufbau und Implementierung von Peer-to-Peer-Verbindungen
  • Theoretische Konzeption asymmetrischer Verschlüsselung
  • Anwendung des RSA-Algorithmus auf Netzwerk-Datenströme
  • Praktische Implementierung in Python unter Verwendung von PyCrypto

Auszug aus dem Buch

2.3.1 Theoretische Grundlagen: Asymmetrische Verschlüsselung

Eine sehr lange Zeit ging man davon aus, dass es nur symmetrische Verschlüsselungsverfahren gibt, bei denen beide Seiten den gleichen Schlüssel besitzen müssen, mit dem sowohl ver- als auch entschlüsselt wird. Im Jahre 1976 veröffentlichten die Kryptologen W. Diffie und M. Hellmann erstmals einen Fachartikel in dem das erste Public-Key-Verfahren vorgestellt wurde. Das heißt, dass Empfänger und Sender jeweils ein Schlüsselpaar mit einem öffentlichen und privaten Schlüssel besitzen. Dabei wird der öffentliche Schlüssel vom Sender benutzt, um eine Nachricht zu verschlüsseln, welche nur der Empfänger mit seinem geheimen Schlüssel entschlüsseln kann. Dabei spricht man von asymetrischer Verschlüsselung, da nicht mehr nur der gleiche Schlüssel für den Ver- und Entschlüsselungsvorgang benutzt wird.

Man kann sich das ganz einfach mit einem Briefkasten vorstellen. Der Sender wirft seine Nachricht in den öffentlich zugänglichen Briefkasten (entspricht dem öffentlichen Schlüssel) und nur dem Empfänger kann diesen Briefkasten mit seinem (privaten) Schlüssel wieder öffnen, um die Nachricht zu lesen.

Bei diesem Vorgang erhält jeder Teilnehmer T des Systems zuerst einen privaten Schlüssel d = dT , welcher unbedingt geheimgehalten werden muss und anschließend einen öffentlichen Schlüssel e = eT , welcher für alle Personen zugänglich sein kann und sollte. Ein allgemeiner Verschlüsselungsalgorithmus f ordnet unter einem öffentlichen Schlüssel e jedem Klartext m einen verschlüsselten Geheimtext c = fe(m).

Zusammenfassung der Kapitel

1 Grundlagen: Einführung in die Funktionsweise von Sockets im OSI-Schichtenmodell und Erläuterung des Transmission Control Protocol (TCP) als verbindungsorientiertes Protokoll.

2 Netzwerkkommunikation: Umfassende Darstellung der Implementierung einer P2P-Chat-Anwendung, unterteilt in einen unverschlüsselten Teil, eine exemplarische Demonstration des Verbindungsaufbaus und die theoretische sowie praktische Umsetzung einer RSA-Verschlüsselung.

Schlüsselwörter

Python, Sockets, Netzwerkkommunikation, Peer-to-Peer, TCP, RSA-Algorithmus, Asymmetrische Verschlüsselung, Kryptographie, Public-Key-Verfahren, PyCrypto, Datensicherheit, Verschlüsselung, Informatik, Client-Server-Modell, Datenaustausch.

Häufig gestellte Fragen

Worum geht es in dieser Arbeit grundsätzlich?

Die Arbeit beschäftigt sich mit der Programmierung eines verschlüsselten Chat-Programms für die Kommunikation zwischen zwei Rechnern über ein Netzwerk.

Was sind die zentralen Themenfelder?

Die Arbeit fokussiert sich auf die Netzwerkprogrammierung mittels Python-Sockets und die theoretischen sowie praktischen Aspekte moderner asymmetrischer Verschlüsselungsmethoden.

Was ist das primäre Ziel der Arbeit?

Ziel ist die Entwicklung einer sicheren Kommunikationsverbindung, bei der die Nachrichten durch den RSA-Algorithmus vor unbefugtem Mitlesen geschützt werden.

Welche wissenschaftliche Methode wird verwendet?

Es wird ein experimenteller Ansatz verfolgt: Zunächst wird eine funktionale, unverschlüsselte Basisimplementierung erstellt, welche anschließend durch die Integration kryptographischer Verfahren erweitert wird.

Was wird im Hauptteil der Arbeit behandelt?

Der Hauptteil gliedert sich in die Erläuterung der Socket-Technik, die detaillierte Beschreibung der P2P-Rechner-Implementierung sowie die mathematisch-theoretischen Grundlagen des RSA-Algorithmus.

Welche Schlüsselwörter charakterisieren die Arbeit?

Wichtige Begriffe sind Sockets, P2P, RSA, asymmetrische Verschlüsselung, Python und PyCrypto.

Warum wird für die verschlüsselte Kommunikation das Modul PyCrypto verwendet?

PyCrypto stellt standardisierte Funktionen für asymmetrische Verschlüsselungsverfahren zur Verfügung, was die Implementierung des RSA-Algorithmus ermöglicht.

Welche Herausforderungen traten bei der Implementierung auf?

Eine zentrale Herausforderung war die Kompatibilität des PyCrypto-Moduls mit modernen Python-Versionen, weshalb die Implementierung teilweise auf theoretischer Ebene verbleibt.

Excerpt out of 26 pages  - scroll top

Details

Title
Implementierung einer verschlüsselten Netzwerkkommunikation unter der Verwendung von Python Sockets und des RSA-Algorithmus
Grade
15 Punkte (entspricht 1+)
Authors
Florian Wolf (Author), Jonas Martin (Author)
Publication Year
2017
Pages
26
Catalog Number
V372474
ISBN (eBook)
9783668514959
ISBN (Book)
9783668514966
Language
German
Tags
implementierung netzwerkkommunikation verwendung python sockets rsa-algorithmus
Product Safety
GRIN Publishing GmbH
Quote paper
Florian Wolf (Author), Jonas Martin (Author), 2017, Implementierung einer verschlüsselten Netzwerkkommunikation unter der Verwendung von Python Sockets und des RSA-Algorithmus, Munich, GRIN Verlag, https://www.grin.com/document/372474
Look inside the ebook
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
Excerpt from  26  pages
Grin logo
  • Grin.com
  • Shipping
  • Contact
  • Privacy
  • Terms
  • Imprint