PHP Chat - Verschlüsselung von Nachrichten?
Guten Tag Gutefrage-Community,
wie im Titel schon steht, wüsste ich gerne, wie man Nachrichten von Person zu Person verschlüsseln kann. Sagen wir mal ich habe eine Datei auf einen FTP-Server. Wenn jetzt eine Nachricht abgeschickt wird, soll diese vom Benutzer verschlüsselt werden, bzw. per PHP und verschlüsselt in der Textdatei ankommen. Wenn jetzt ein andere Benutzer diese Textdatei abruft, soll diese entschlüsselt werden. Es soll wie z. B. RSA-Verfahren sein. Private-Key und Public-Key. Wo sollte man die Keys speichern und vor allem wie? Auf einer Datenbank? Aber was macht mann, wenn man gehackt wird? Könnten die Nachrichten gelesen werden, weil man Zugriff auf die Datenbank + die Textdateien hat? Ich hoffe es wird verstanden was ich will.
Danke schon mal im Voraus! :D
2 Antworten
Es gibt erstmal den Unterschied zwischen zentraler Verschlüsselung auf dem Server und Ende-zu-Ende Verschlüsselung. Willst Du bestmögliche Sicherheit für die Nutzer, solltest Du zweiteres wählen.
Php hat dafür eine Library:
https://www.php.net/manual/en/book.gnupg.php
Und ziemlich beliebt ist auch OpenPGP.php:
https://github.com/singpolyma/openpgp-php
Alternativ geht natürlich auch openssl mit php:
https://www.php.net/manual/en/book.openssl.php
Maximale Erfolge!
Wäre PGP eine Option?