Wir möchten eine Desktop-Anwendung entwickeln, die eine lokal gepackte Textdatenbank von einigen GB Größe durchsucht. Wir denken an die Verwendung von Lucene.
Der Benutzer sucht also nach einigen Wörtern, und die lokale Lucene-Datenbank gibt ein Ergebnis zurück. Wir wollen jedoch verhindern, dass der Benutzer einen Volltext-Dump des Lucene-Indexes macht, da die Textdatenbank wertvoll und geschützt ist. Eine Webanwendung ist hier nicht die Lösung, da der Kunde möchte, dass diese Desktop-Anwendung auch in Gegenden funktioniert, in denen das Internet nicht verfügbar ist.
Wie verschlüsseln wir die Lucene-Datenbank, so dass nur die Client-Anwendung auf den Lucene-Index zugreifen kann und ein neugieriger Benutzer nicht einen Volltext-Dump des Indexes machen kann?
Wir dachten, eine Möglichkeit wäre, den Lucene-Index in einem verschlüsselten Dateisystem innerhalb einer Datei zu speichern (so etwas wie truecrypt). Die Desktop-Anwendung würde also die Datei mit den Lucene-Indizes "mounten".
Und dies muss plattformübergreifend sein (Linux, Windows)... Wir würden Qt oder Java verwenden, um die Desktop-Anwendung zu schreiben.
Gibt es einen einfacheren/besseren Weg, dies zu tun?
[Dies ist für einen Kunden. Ja, ja, konzeptionell ist das eine schlechte Sache :-), aber so wollen sie es haben. Im Grunde geht es darum, dass nur die Desktop-Anwendung auf den Lucene-Index zugreifen kann und niemand sonst. Jemand hat darauf hingewiesen, dass dies im Wesentlichen DRM ist. Ja, es ähnelt DRM]
3 Stimmen
Ich meinte nicht "das ist böse, genau wie DRM". Ich meinte: "Das ist kaputt, genau wie DRM".