Seite 1 von 1

Socket Packete Verschlüssen

Verfasst: Freitag 30. Juli 2010, 20:07
von HansWurRst
hallo
gibt es schon eine funcktion die packete die per Socket gesendet werden verschlüsselt?
und die der server dann auch wieder entschlüsseln kann.
dies sollte in python als auch in c vorhanden sein da ich den client mir python gemacht hab und der server in c

fals es dies nicht gibt
könnte mir jemand ein beispiel geben wie man das möglichst sicher hinbekommt

hab mir da schon man so gedanken gemacht:
1. im packet header einen zufälligen code übermitteln
jedes zeichen steht für eine aktion zB. bit-or shift and oder so was halt
2. beim login auf dem server sendet der server dem clienten einen code mit dem dann alle packete verschlüsselt werden
3. vor jeder anfrage zum server bekommt der client ein neues pw zugeschickt mit dem er das darauf folgende packet verschlüsselt

Re: Socket Packete Verschlüssen

Verfasst: Freitag 30. Juli 2010, 20:22
von Defnull
Was spricht gegen SSL?

Re: Socket Packete Verschlüssen

Verfasst: Freitag 30. Juli 2010, 21:24
von HansWurRst
ok wie bau ich das in mein script ein
kannst du mal ein beispiel geben

Re: Socket Packete Verschlüssen

Verfasst: Freitag 30. Juli 2010, 21:35
von Defnull

Re: Socket Packete Verschlüssen

Verfasst: Freitag 30. Juli 2010, 22:48
von HansWurRst
ok das heist wenn man jetzt mit einem packet sniffer die packets abfängt
sind die so verschlüsselt das man daraus keine daten auslesen kann
und es sehr schwer ist diese zu entschlüsseln

Re: Socket Packete Verschlüssen

Verfasst: Samstag 31. Juli 2010, 08:38
von Leonidas
Das heißt dass die Pakete SSL/TLS-gesichert sind. Welche Implikationen das hat kann dir Wikipedia sicherlich in größerem Detail verraten als ein kurzer Post hier.

Re: Socket Packete Verschlüssen

Verfasst: Samstag 31. Juli 2010, 09:35
von Rebecca
Ansonsten ist auch stunnel nett...

Re: Socket Packete Verschlüssen

Verfasst: Samstag 31. Juli 2010, 13:10
von Leonidas
Stunnel wrappt ja auch nur in SSL, nur dass es für den Enduser komplizierter wird.

Re: Socket Packete Verschlüssen

Verfasst: Montag 2. August 2010, 20:26
von sma
Verschlüssle jedes Paket selbst mit AES128/CBC oder AES128/CTR. Dafür sollte es in C und Python fertige Bibliotheken geben. AES128 benötigt einen 128-Bit-Schlüssel, den Client und Server kennen müssen (shared secret). Wenn du diesen auch erst noch aushandeln musst (was mit einem Verfahren wie Diffie–Hellman funktionieren würde) nimmt lieber SSL, da das dort korrekt implementiert ist. CBC benötigt noch einen am besten zufälligen Init-Vector, den du ebenfalls übertragen müsstest, was das Protokoll zwischen Client und Server gewährleisten müsste.

Eine Alternative zu einem Block-Cipher wie AES wäre ein Stream-Cipher wie RC4. Den benutzt AFAIK SSL bzw. HTTPS.

Auf keinen Fall empfehle ich, sich selbst einen Verschlüsselungsalgorithmus auszudenken. Das geht in der Regel schief. Schon der korrekte Einsatz fertiger Komponenten ist schwer genug. Ich sage nur RSAES-KEM-KDF2-KW-AES128, der Schlüsselaustausch-Algorithmus für DRM auf modernen Handys.

Stefan

Re: Socket Packete Verschlüssen

Verfasst: Dienstag 3. August 2010, 17:08
von HansWurRst
hab zwar net so viel davon verstanden
aber ich versuch das einfach mal
google hilft ja meistens