Client 2 Client Messenger (save?!)

Du hast eine Idee für ein Projekt?
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

citc hat geschrieben:Ja das ist mir klar, aber so wird der Server zusätzlich mit als Station aufgenommen und es wird eventl. noch ein weiterer "Weg" mit mehr Stationen zurück gelegt, also schon allein wegen dem Server finde ich das etwas suspekt.
Naja die Tatsache bleibt, dass jemand mitschneiden könnte. Tut er das muss er den codierten Text decodieren. Also entweder vertraut man der Codierung oder nicht. Die Anzahl der Stationen erhöht zwar potenziell die Knoten und damit die Anzahl derjenigen, die mit lauschen könnten, aber damit erhöht sich ja nicht wirklich die Chance für die Mithörer, den Code zu knacken!

Bevor ich anfange und einen Client from scratch zu schreiben, der weiß ich was für Lücken aufweisen könnte, vertraue ich da lieber einer guten Crypto-Methode, wie eben gpg!
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

citc hat geschrieben:Ja das ist mir klar, aber so wird der Server zusätzlich mit als Station aufgenommen und es wird eventl. noch ein weiterer "Weg" mit mehr Stationen zurück gelegt, also schon allein wegen dem Server finde ich das etwas suspekt.
Ich finde deine Definition von "Sicherer" suspekt. Wenn die Sicherheit von der Anzahl der Hops abhaengt, dann ist sie unbrauchbar. In Internet kannst du mehr oder weniger beliebig viele Hops haben, die alle mitloggen koennen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

citc hat geschrieben:Ja das ist mir klar, aber so wird der Server zusätzlich mit als Station aufgenommen und es wird eventl. noch ein weiterer "Weg" mit mehr Stationen zurück gelegt, also schon allein wegen dem Server finde ich das etwas suspekt.
Dir ist bewusst das auch bei einer P2P Connection die Daten über gut 10 Router/Server gehen. Da macht der eine Jabber Server das ganze auch nicht mehr Fett. ;)
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
citc
User
Beiträge: 14
Registriert: Dienstag 21. Oktober 2008, 08:51

Ok ich sehe es ein, das es vielleicht etwas dramatisiert war. Danke für alle produktiven Texte/Hinweise und Anregungen.
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

Dazu kommt das ich den Betreibern von jabber.org oder ccc.de eher vertraue als Telecom&co. Nur das ich ausgerechnet um meinen Internetprovider nicht herum kommen kann so lange ich nicht mein eigenes Internet habe

Es ist egal wie du es drehst und wendest, sobald ein IP Paket dein heimisches LAN verlässt ist es angreifbar, ob mit oder ohne Chat Server.
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Übrigens, MD5 ist keine gute Idee, da dieser Algorithmus nicht mehr als kryptografisch sicher gilt. Auch SHA-1 wurde möglicherweise bereits gebrochen, sodass nicht ausgeschlossen werden kann, dass es möglich ist, eine andere Datenfolge zu finden, die den selben Hash-Wert hat. Besser ist da SHA-2, doch da gibt es glaube ich keine eingebaute Python-Unterstützung. Wahrscheinlich müsste man dann pyOpenSSL benutzen. Ich habe mich mit Kryptographie nur unter Java beschäftigt, wo BouncyCastle alle Wünsche abdeckt, die man haben könnte, sodass ich nix zu pyOpenSSL sagen kann :)

Damit zwei Parteien Informationen austauschen können, ohne das ein Dritter mitlesen kann, sollten diese verschlüsselt sein. Dazu nimmt man in der Regel einen symetrischen Schlüssel, etwa für AES mit 128 bit. Das ist ein sogenanntes "shared secret". Wenn die Parteien nicht gerade (U)SIM-Karten mit vorkonfigurierten Schlüsseln haben, müssen diese irgendwie sicher ausgetauscht werden ("key exchange"). Auch dazu gibt es bewährte und geprüfte Algorithmen, die man nicht selbst erfinden sollte. Diffie-Hellman ist so ein Verfahren, welches man aber nochmals gegen "man in the middle"-Angriffe absichern muss. Ein anderes Verfahren ist, dass die Parteien private Schlüssel kennen, sich gegenseitig die öffentlichen Schlüssel bekannt machen können und es eine zentrale Stelle gibt, der beide Seiten vertrauen und die dafür mit Hilfe von X.509-Zertifikaten bürgt, dass die Parteien die sind, die sie vorgeben. Nun kann man die Schlüsselpaare benutzen, um private Schlüssel sicher auszutauschen. Das ist die Grundlage, wie DRM-Verfahren von Microsoft oder für Handys (OMA DRM) funktionieren.

Man wird bei jedem dieser Verfahren übrigens Patente der Firmen Microsoft, Contentguard, Intertrust, Philips, Panasonic, usw. verletzen :)

Stefan
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

sma hat geschrieben: Man wird bei jedem dieser Verfahren übrigens Patente der Firmen Microsoft, Contentguard, Intertrust, Philips, Panasonic, usw. verletzen :)

Stefan
Jaja ... die lieben Patente :-) Ich habe ja eigentlich die englische Sprache erfunden und müßte damit das Patent da drauf bekommen - wenn ich das doch nur beweisen könnte :-D

SCNR ;-)
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

sma hat geschrieben:Besser ist da SHA-2, doch da gibt es glaube ich keine eingebaute Python-Unterstützung.
Gibt es. Siehe hashlib.

Wobei die ganzen grossen Zertifizierer ja noch sha-1 verwenden...
sma hat geschrieben:Man wird bei jedem dieser Verfahren übrigens Patente der Firmen Microsoft, Contentguard, Intertrust, Philips, Panasonic, usw. verletzen :)
In welchem Land? Und RSA ist, wenn ich das Recht im Kopf habe ja sogar in den USA Public Domain.
Zuletzt geändert von veers am Samstag 25. Oktober 2008, 13:20, insgesamt 1-mal geändert.
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

veers hat geschrieben:In welchem Land?
Mindestens in den USA. Die meisten Patente sind auch beim europäischen Patentamt angemeldet, was dann dann nach einer Harmonisierung auch für Deutschland gelten könnte. Teilweise sind sie auch direkt in Deutschland angemeldet. Dort sind es natürlich keine Software-Patente, sondern es wird immer ein sich entsprechender "Apperatus" beschrieben. RSA ist vor einigen Jahren aus dem Patentschutz gefallen, nicht aber die darauf basierenden DRM-Verfahren. Contentguard und Co. haben die meisten Patente zwischen 1998 und 2000 eingereicht, d.h. die reichen noch bis 2017 oder wie lange Software-Patente bis dahin auch immer in den USA und/oder Europa Gültigkeit haben werden.

Stefan
Antworten