Felix Riesterer: Datei-Upload, Prüfsumme mit PHP

Beitrag lesen

Lieber claus,

Felix, stell Dir vor, ein Angreifer erhält Zugriff auf die Datei. Ok, die ist verschlüsselt.

was genau bedeutet "Zugriff"? Nur lesenden oder auch schreibenden Zugriff? Es ist die Frage, wie der Angreifer Zugriff bekommen hat. Wenn er schreiben kann, ist das Problem noch größer.

Was aber, wenn er auch nur 1 Bit verändert?

Dafür sollte es eine wasserdichte Backup-Strategie geben.

Irgendwo las ich: Verschlüsselung ohne Prüfsumme ist genauso schlecht wie keine Verschlüsselung 😉

In welchem Kontext wurde diese Äußerung getätigt? Beim Selbstschrauben eines File-Lockers, der intern die Dateien verschlüsselt ablegt? Hoffentlich nicht...

Dann hab ich gelesen, es soll bei der Bibliothek openSSL bei großen Dateien, > 500 MB, vorkommen, dass die entschlüsselte Datei Schrott ist.

Ist das nicht das deutlichste Alarmzeichen, dass Deine Vorgehensweise vielleicht suboptimal ist? Warum nicht auf einen Fileserver zugreifen, vor dem sich Deine Webapplikation authentifizieren muss? Dann sind die Dateien auf dem und nicht auf Deinem Webspace. Wie der die Dateien dann intern handhabt, kann Dir dann egal sein.

Ich kann die Richtigkeit dieser Aussage aus dem Netz nicht verifizieren, aber zumindest kann ich für diesen Fall vorbeugen.

Nein, das kannst Du nicht. Wenn Deine Webapplikation selbst verschlüsselt, dann muss sie auch den Schlüssel für das Entschlüsseln haben. Hat der Angreifer die Applikation gekapert, dann könnte er in den Besitz der notwendigen Schlüssel kommen. Wenn diese hingegen in Form eines Benutzerzugangs implementiert sind, dann hat Deine Applikation den Schlüssel nicht und der Angreifer hat nix, womit er Entschlüsseln könnte.

Du kannst die Verwaltung der Logindaten von einem externen Server erledigen lassen, zu dem Deine Applikation eine Verbindung aufbaut. Damit vermeidest Du, dass Du Logindaten und/oder irgendwelche Schlüssel verwalten musst, weil sich der Benutzer Deiner Applikation nicht vor Dir, sondern vor dem anderen Server authentifizieren muss.

Liebe Grüße

Felix Riesterer