Verschlüsselung der Konversationen in der DB

  • App
    WoltLab Suite Core

    Hallo,


    ich würde es für sinnvoll erachten, dass Konversationen in der Datenbank komplett verschlüsselt werden. Eine solche Funktion ist sehr wichtig, da jeder, der Zugriff auf eine WCF-Datenbank hat, die Konversationen mitlesen kann.


    Gruß
    @40CC

  • Und wie stellst du dir das vor?

    Ehrlich gesagt: Keine Ahnung, ich bin kein Entwickler. Demzufolge wüsste ich auch keine Aspekte, die gegen eine Verschlüsselung der Einträge sprechen.

    Die WoltLab-Entwickler müssten es ja eigentlich am besten wissen, wie ihre Software funktioniert und es dementsprechend auch umsetzen können, oder nicht?

  • Spontan fällt mir folgendes Problem ein: Für eine (symmetrische) Verschlüsselung brauchst du auch einen Schlüssel. Wer hat diesen Schlüssel? Da die Benutzer nicht untereinander sich Schlüssel per Brieftaube zukommen lassen, liegt der Schlüssel vermutlich auf dem Server des WCF / WBB. Hat man nun einen Angreifer, der auf den Server gelangt und sich umfangreiche Rechte zu Eigen machen konnte, dann ist davon auszugehen, dass er nicht nur an die Datenbank, sondern auch an den Schlüssel kommt. Entsprechend wiegt man sich und die Benutzer in falscher Sicherheit, wenn man nur sagt "Die Konversationen sind verschlüsselt". Man muss auch die Methodik dahinter beachten.

    @Josh
    Hast du einen Link zu einer solchen Diskussion parat?

  • Hast du einen Link zu einer solchen Diskussion parat?

    Sorry, gerade nicht, ich erinner mich nur noch daran, dass das eine Denglisch-Dikussion war und unter anderem @SoftCreatR daran beteiligt war.

    Hier wurden mehrere Ansätze diskutiert, unter anderem dein symmetrischer Ansatz (welcher aber aus offensichtlichen Gründen, welche du selber ja schon genannt hast schwachfug ist), aber auch asymmetrische Ansätze (RSA). Da gab es auch die Idee (meiner Meinung die sinnvollste bisher), dass man aus einem selbstgewähltem Konversations-Passwort einen RSA-Schlüssel erzeugt, wovon der Public-Key in der Datenbank gespeichert wird und jedesmal, wenn der Benutzer die Konversation lesen möchte dieses Passwort angeben muss, damit das ganze entschlüsselt wird. Das ganze muss per JavaScript passieren, damit in keinem Fall der Server zur Entschlüsselung herangezogen werden kann (ansonsten kann der Administrator ja immer noch mitlesen, wenn er möchte). Probleme sind unter anderem:

    • Text muss für jeden Konversationteilnehmer berechnet und abgespeichert werden
    • Ist der Private Schlüssel weg, ist die Konversation futsch
    • Das Passwort müsste entsprechend lang sein
    • Da der Text in HTML abgespeichert werden sollte, kann er nur eingeschränkt wieder bearbeitet werden

    Grüße.

  • Ich finde das Thema leider auch nicht mehr wieder. Fakt ist, dass sich das Ganze nicht benutzerfreundlich umsetzen lässt, ohne den Server dazwischen zu verwenden. Dann wiederum besteht zumindest technisch für den Betreiber die Möglichkeit, den Schutz auszuhebeln und die "Verschlüsselung" ist mehr Schein als Sein, ohne, dass man davon etwas merkt.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!