dynmamischer schlüssel



  • hi,
    hab mal eine allgemeine Frage, vielleicht kann mir jemand ein paar Ideen geben:

    Ich habe einen Chat programmiert. Die Clienten senden ihr Daten (name,passwort,nachricht) zum server.. - klar ist logisch 😉
    nun ist aber folgendes das einige leute sich schon eigene Clients programmiert haben mit denen sie chatten können. Da ich dies unterbinden möchte hab ich vor mit jeder nachricht vom clienten zum server einen parameter anhänge der dann die echtheit garantiert. (kann man mir folgen?)
    das darf natürlich kein festerparamerte sein.. da dieser ja kinderleicht abgefangen werden kann. also müsste dies ein dynamischer - sich verändernder Schlüssel sein, der mitgeschickt wird - und vom Server überprüft.
    nur mit fällt keine vernünftige, sichere Lösung dafür ein. Ich könnte dafür als Grundlage z.b usernamen, postlänge, uhrzeit etc. nehmen und mit diesen Daten einen schlüssel erzeugen.. Aber irgendwie ist das nicht so besonders.. (zu leicht zu knacken?)
    wie könnte ich da am geschicktesten ran gehen?

    danke

    cu.



  • ein Gast schrieb:

    Da ich dies unterbinden möchte [...]

    Vergiss es, das zu unterbinden ist nicht möglich. Jedes Client-Programm kann manipuliert werden, also kann man auch immer beliebige Daten an den Server schicken.

    Wieso möchtest du fremde Clients verbieten?



  • mir ist schon klar das ich das nie 100% unterbinden kann. Aber wenn ich damit eine halbwegs vernünftige verschlüsselung hätte, würde das sehr erschwert werden. klar senden kann man trotzdem an den server, aber bei einem falschen schlüssel ignoriert er das halt.
    wenn man es als überflüssig bezeichnen möchte - bitte hab nichts dagegen, aber ich würde es trotzdem gerne tun. Und da ich, wenn überhaupt, etwas einigemaßen vernünftiges haben möchte, hab ich euch hier gefragt, da ich davon ausgehe das mir sicherlich jemand einige Tipps geben kann.

    cu



  • der server sendet zu den client ab und zu daten (was wurde geschreiben usw.). der client errechnest einen hash auf die letzten 100 byte die er vom server bekommen hat, mit diesem key verschüsselst der client die zu sendende daten (ein einfaches xor reicht vielliecht)
    dein server kennt ja auch die daten die er gesendet hat und kann sich den gleichen key (hash) generieren



  • stimmt, das ist eine gute idee!

    danke!



  • Es dürfte nicht schwer sein, diese Hash-Funktion zu finden und in eigenen Client zu kopieren, womit dieser Schutz ausgehebelt wäre. 🙄

    Als allerletztes Mittel könnte ein fremder Client immer noch den Original-Client versteckt starten und Tastendrücke simulieren.


Anmelden zum Antworten