Hallo,
das Zauberwort nennt sich Signatur (Stichwort: Digitale Signatur).
Jeder Teilnehmer, sprich alle Clients und der Server, hat je ein eigenes Schlüsselpaar (sprich, privaten und öffentlichen Schlüssel). Ebenso hat jeder Teilnehmer alle öffentlichen Schlüsseln von den anderen Teilnehmern.
Wenn der Server nun was an einen Client versenden will, verschlüsselt dieser es mit dem öffentlichen Schlüssel von dem Client und signiert es mit dem eigenen privaten Schlüssel.
Nur der Client kann es entschlüssel und nur der Server kann die Signatur erstellt haben, sofern kein privater Schlüssel gestohlen wird.
Was alternativ noch deutlich leichter geht wäre folgendes Szenario. Du müsstest dann abwegen ob es passt:
Nur der Server hat ein Schlüsselpaar. Alle Client haben den öffentlichen Schlüssel vom Server.
Zum Datenaustausch kontaktiert der Client den Server und sendet eine verschlüsselte zufällige Zahl/Passwort/Key an den Server (nutzt dabei den öffentlichen Schlüssel vom Server). Nur der Server kann dieses entschlüsseln.
Zum weiteren Datenaustausch nutzen beide Seiten, also Client und Server, diesen vom Client zufällig gewählten Key um damit die Daten zu verschlüsseln (z.B. mittels AES).
Wenn sich jemand in die Mitte einklinkt, dann könnte der höchsten nur unsinnige Daten an den Server oder an den Client senden. Mittels Prüfsumme würde man dies leicht erkennen.
Dies ist praktisch ein vereinfachtest SSL Verfahren.
Evt. ist dass für deinen Zweck passend.
Achja: Das ganze nennt sich kryptographisches Protokoll. Da gibts noch unzähliche weitere für verschiedenste Zwecke |