Verschlüsseltes Dokumentenmanagement mit Datenbankserver im Web und Client auf Smartphone

  • Hallo zusammen,
    ich bin eine absolute Schlampe was Papierkram angeht und möchte mich einfach zu einem stringenteren und für mich effizienteren Verhalten zwingen. Dazu beabsichtige ich sämtliche eingehende Post (snailmail) nach dem Öffnen und Lesen mit dem Smartphone zu fotografieren und die Datei an einen Datenbankserver im Web oder auf einem WebDAV Speicher abzulegen. Auf diese Weise lassen sich die gewünschten Dateien jederzeit bei bestehender Internetverbindung von jedem Ort komfortabel abrufen, falls sie benötigt werden.
    In Zeiten von NSA, GCHQ, BND. MAD usw möchte ich natürlich nicht, dass jeder die digitalen Kopien meines Schriftverkehrs lesen kann und beabsichtige diese zu verschlüsseln. Ebenfalls sollten die Dateinamen verschlüsselt sein, damit man nicht aus dem Dateinamen auf den Inhalt der Dartei schließen kann. Das Ganze möchte ich in Teile untergliedert einmal für mein Smartphone und einmal für einen Windows oder Linux-PC erstellen. Dies ließe sich vielleicht über ein Webfrontend in php erledigen, jedoch tun sich da für mich noch so einige Fragen auf.
    Dazu benötige ich hier erst einmal etwas Hilfe oder Input, wie ich mein Vorhaben realisieren kann und ob mein Konzept schlüssig und korrekt ist, oder ob ich da bereits einen Denkfehler mache:


    1) Die in der Galerie meines Smartphones gespeicherten pics meiner Eingangspost möchte ich in einen separaten Ordner verschieben und nach deren Verschlüsselung und Übertragung auf den Webserver aus diesem temporären Verzeichnis löschen. Ist es besser diese in einer Datenbank zu speichern oder nur die Dateinamen in der Datenbank (geringerer Traffic über das Mobilfunknetz) und die Datei selbst auf dem WebDAV Speicherplatz und nach der Abfrage der Datenbank und Bekanntheit des entschlüsselten Dateinamens dann direkt die Datei selbst abzurufen?


    2) Die Ent- und Verschlüsselung soll nur auf dem PC oder Smartphone lokal erfolgen, also derart, dass der Schlüssel nicht auf einem Server abgelegt ist. Möglicherweise existiert ein Programm (Boxcryptor, Cryptonite o. Ä.) bereits dazu und ließe sich einsetzen. Hat jemand schon einmal mit den Verschlüsselungsapps gearbeitet und kann mir über Schwächen und Stärken berichten?


    3) Die Erzeugung der Datenbank traue ich mir zu, ebenfalls den Zugriff über ein php-script, welches ich auf dem Server ablege. Da ich aber die Dateinamen nur verschlüsselt in der Datenbank speichern möchte, müssten die Daten nach der Abfrage durch das php-script an einen Client auf dem Smartphone übergeben werden, mit dem die Entschlüsselung durchgeführt werden kann.


    Bin mal gespannt darauf, wie jemand mit Programmiererfahrung mein Vorhaben einschätzt und ein solches umsetzen würde.
    Danke schon einmal im Voraus.

  • Oh, spannend. Spannend, spannend, spannend. :)
    Aber auch: Ui, kompliziert.


    Den ungefähren Ablauf habe ich so verstanden:
    Du bekommst Briefe. Du startest Deine Smartphone App. Du fotografierst alle Briefe ab. Dann lädst Du diese Fotos auf einen Server. Danach sollen die Fotos vom Smartphone verschwunden sein.


    Allein damit wirst Du schon gut zu tun haben.


    1) Ich nehme an Du fragst nach einer Lösung für den lokalen Speicher auf dem Gerät. Da würde ich komplett von Persistenz absehen. Also keine Datenbank.
    Für mich sehe ich da zwei Möglichkeiten: du legst irgendwo (auf der SD Karte?) einen Übertragungsordner an. Hierhin verschiebst Du alle gemachten Bilder. Dann lädst Du alle Bilder in dem Ordner hoch. Jedes hoch geladene Bild löscht Du.
    Möglichkeit zwei: Du belässt die Photos im Bilderordner. Deine App merkt die Dateinamen und überträgt dann diese Dateien. Anschließend löscht Deine App die gemerkten Bilder.


    Nirgendwo auf Deinem Gerät wird irgendwo festgehalten, welche Dateien Du wann wo hin kopiert hast. Um eine doppelte Datenhaltung solltest Du Dir auf der Endgerätseite also keine Gedanken machen.


    Auf der Serverseite bin ich mir nicht sicher, ob Du da eine Datenbank brauchst. Generell würde ich aber nur Dateipfade und keine Dateien in die Datenbank packen. Nicht wegen der Performance der Internetverbindung. Wenn die nix taugt ist es egal ob die Daten aus einer Datenbank oder einer Festplatte kommen.


    Nur müllt Dir die Datenbank irgendwann zu. Weiter gegen eine Datenbank spricht das synchron halten. Wann immer Du eine Datei entfernst (beispielsweise willst Du Rechnungen nach 5 Jahren loswerden), musst Du diese Änderung in die Datenbank mit einbringen. Das halte ich für schwierig.


    2) Ob das Verschlüsselungsverfahren so zu realisieren ist bezweifle ich stark. Du wärst meines Wissens am Besten mit einer durch eine Mischung aus Zertifikaten und Public Key/Private Key geschützten Verbindung bedient. Das Zertifikat Deines Servers kannst Du ja einmalig erstellen, die Schlüsselzuordnungen sollten allerdings pro Gerät erstellt werden. Weiterhin musst Du einen Weg finden, wie Du die Schlüssel synchron halten kannst, da Du sonst im schlimmsten Fall nur die Hälfte der Daten mit dem Smartphone und die andere Hälfte mit dem PC lesen kannst.


    3) Sobald jemand in Deinem Datenstream steckt, ist es egal, was Deine Datenbank sagt wie die Datei heißt. Sobald jemand in Deiner Datenbank den Dateinamen lesen kann, hast Du ein gewaltiges Problem. Nicht weil er den Dateinamen lesen kann. Sondern weil er in Deiner Datenbank ist.
    Sobald jemand auf deinen WebDAV Speicher gelangt, sind die Daten erst einmal potenziell gefährdet.
    Ohne SSL-verschlüsselten Zugriff solltest Du keinesfalls mit dem WebDAV kommunizieren. Ob Du die Datei dann via HTTPS, angepassten MIME-Type und ein bisschen unentdecktem Voodoo an das Smartphone auslieferst oder direkt über SFTP oder WebDAV/SSL dürfte erst einmal egal sein – sie dürfte eh keinen erkennbaren Namen haben. Das 'wie' ist also zweitrangig.


    Viel interessanter ist da die Frage, wie Du die Daten organisieren möchtest.
    Das Problem mit der Papierkramschlamperei wird nämlich leider nur auf eine andere Metaebene getragen.
    Wie erkennst Du deine Rechnungen? Wonach sortierst/kategorisierst Du sie? Wie legst Du deine Bezügemitteilungen ab? Was passiert mit privater Korrespondenz? Wie findest Du effizient und schnell die Mobilfunkrechnungen der letzten 12 Monate für die Steuerabrechung? Wo genau hattest Du noch mal deine Steueridentifikationsnummer gespeichert?


    Natürlich kann ich Deine Sorge mit NSA und Co teilen. (Als ob BND [04/1956] und MAD [01/1956] jetzt sooo eine Neurung wären…)
    Andererseits würde ich vermuten, dass ein ordentlich via SSL gesicherter Server mit Public/Private Key Zertifikaten (anstelle von Username:Passwort) durchaus ausreichend ist. (Und falls nicht liegt das Hauptproblem genau da.)


    An deiner Stelle würde ich erst einmal eines der offenen Dokument Management Systeme testen und schauen, ob Deine Papierkramschlamperei damit weniger wird. Denn vermutlich wirst Du auf Grund der Erstellung des Ganzen mindestens ein halbes Jahr nicht dazu kommen, Deinen Papierkram gewuppt zu bekommen. ;)

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

  • Hallo Marco,


    vielen Dank für Deine informative und konstruktive Antwort. Einiges hat mich in meinem Konzept bestätigt, anderes wirft neue Fragen für mich auf.
    Mein Problem mit Papier ist, dass ich es auf einen Stapel lege und wenn dieser Stapel im Weg liegt, landet er schnell in einer Ecke.
    Und Stapel in einer Ecke haben die sehr unangenehme Eigenschaft über einen längeren Zeitraum zu wachsen und dann traue ich mich überhaupt nicht mehr an die Ablage und Archivierung. Deshalb habe ich vor die Schreiben nach dem Digitalisieren (Fotografieren)einfach chronologisch in der Eingangsreihenfolge in einen Ordner zu heften OHNE diese nach Absender, Betreff, Rechnung oder sonstigen Dingen zu ordnen. Die Ordner würde ich dann beschriften mit Jan 2014, Feb 2014 oder Jan - März 2014 usw.
    Bei etwaigen Rückfragen würde ich das Absendedatum mit dem Absender klären und hätte über die chronologische Archivierung die Chance dieses eine Dokument sehr schnell online über das Erstelldatum zu finden.
    Von daher mache ich mir um diese Sache keine allzu große Sorgen. Alles weitere macht sowieso der Steuerberater bzw der Büroservice. Mich kotzt es nur an, dass die Schreiben in den Stapeln versinken und irgendwann, nach zwei oder dreimaligem Suchen eines bestimmten Dokuments keine erkennbare Chronologie mehr haben.


    >Auf der Serverseite bin ich mir nicht sicher, ob Du da eine Datenbank brauchst. Generell würde ich aber nur >Dateipfade und keine Dateien in die Datenbank packen.


    Ähnlich hatte ich dies auch schon geplant, wollte mich nur noch einmal vergewissern, dass ich nicht total in die Irre laufe.


    >Natürlich kann ich Deine Sorge mit NSA und Co teilen.


    Die Verschlüsselung soll nicht megaextrem sein, denn die Leistung des Smartphones beschränkt ja die Leistungsfähigkeit und somit die Qualität der Verschlüsselung. Aber da ich meinen Schriftverkehr quasi komplett an jemanden auslagere, möchte ich mir ein kleines bisschen Privatsphäre dadurch erhalten, dass ich die Dateien nicht im Klartext lesbar und auch nicht mit einer WischiWaschi-Verschlüsselung á la ROT13 bearbeite.
    Es sollte dann schon eher etwas besser sein. Deshalb der Ansatz auf eventuell bereits vorhandene Software zuzugreifen und damit eine konsequente Verschlüsselung durchzuführen.


    An die Verschlüsselung des Datenstroms habe ich bisher gar nicht gedacht, das Risiko dass sich jemand in den Stream einklinkt kann ich überhaupt nicht einschätzen und über SSL Zertifikaterstellung usw weiß ich bisher nichts und habe auch nichts darüber gelesen. Da müsste ich mich erst einmal mit den entsprechenden Quellen auseinandersetzen.


    >Ob Du die Datei dann via HTTPS, angepassten MIME-Type und ein bisschen unentdecktem Voodoo an das >Smartphone auslieferst oder direkt über SFTP oder WebDAV/SSL dürfte erst einmal egal sein – sie dürfte eh >keinen erkennbaren Namen haben. Das 'wie' ist also zweitrangig.


    Genau hier liegt mein Problem. Erstens habe ich keine Ahnung wie ich die Dateien auf dem Server sortiere und kategorisiere, mir schwebt momentan einfach nur das Erstelldatum (entspräche fast dem Eingangsdatum oder genauer Lese- und Kenntnisnahmedatum) als Suchkriterium vor, über welches ich die Datei finden könnte.
    Habe ich einmal das genaue Erstelldatum so kann ich das originale Schreiben in meinem konventionellen Dokumentenordner mit dem entsprechenden Datumsbereich innerhalb kurzer Zeit finden, sofern ich dies vorlegen muss. Ebenfalls habe ich aber die Möglichkeit über das Erstelldatum der Datei danach zu suchen und muss mich nicht mit der elenden Suche im Papierkram herumplagen. Der Zugriff wäre für mich radikal schneller, wenn ein Schreiben digitalisiert und per Internet abrufbereit auf einem Server läge.


    Wie lassen sich die Dateipfade erzeugen, die in die Datenbank eingetragen werden und auf das digitalisierte Dokument verweisen? Kannst Du mir da bitte noch eine Hilfestellung geben?


    Vielen, vielen Dank schon einmal vorweg.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!