Thomas Bandt

Über mich | Kontakt | Archiv

SQLite mit Passwort absichern bzw. Verschlüsseln

Ich habe mich in letzter Zeit ein wenig mit SQLite beschäftigt. Wie bereits vor einigen Tagen geschrieben, ist die Datenbank absolut performant - wobei ich gerade dabei bin mit dem SQL Server Mobile hoffentlich in ähnliche Geschwindigkeits-Dimensionen vorzustoßen, mehr demnächst - aber sie hat, wie sich herausgestellt hat, einen großen Nachteil: es gibt per default keine Möglichkeit die darin gespeicherten Daten abzusichern, da sich kein Passwort setzen lässt.

Die erste überlegung, die Datenbankdatei einfach umzubenennen habe ich gleich wieder verworfen, da ein Blick in die erste Zeile der mit Notepad geöffneten Datenbankdatei genügt, um zu wissen um was es sich handelt: "SQLite format 3". Dazu kann man die Daten quasi noch im Klartext herausholen, oder die Datenbank einfach mit einem geeigneten Tool (etwa SQLite Database Browser) öffnen.

Nun gibt es insgesamt 3 Möglichkeiten, die Datenbank abzusichern:

1. Man kauft eine um Verschlüsselung erweiterte Variante von Dr. Richard Hipp - dem Erschaffer von SQLite. Der Spaß kostet dann 2000 Dollar.

2. Man kauft SQLcrypt.

3. Man benutzt SQLiteSecure, eine kostenlose Implementierung, die sich aber nach Autor-Angaben noch im Alpha-Stadium befindet.

Letzteres habe ich gestern mal ins Auge gefasst, dann aber mangels ausreichender C++-Kenntnisse wieder verworfen. Die benötigt man nämlich, um die sicherheitsbezogenen Erweiterungen in die SQLite-Version zu implementieren, die im ADO.NET 2.0 Provider verwendet wird. Aber ich konnte wenigstens Robert Simpson, den Entwickler des ADO.NET Providers für SQLite, dazu anregen, sich der Sache im nächsten Jahr mal anzunehmen.

Das heißt, momentean gibt es da keine kostengünstige Lösung für die Verwendung mit .NET, aber im besten Fall könnte die Welt da in ein paar Wochen schon ganz anders ausschauen :)

Kommentare

  1. Stefan schrieb am Donnerstag, 25. Februar 2010 20:02:00 Uhr:

    Also bei Webanwendungen könnte man die SQLite Datei einfach außerhalb des Documentroots legen, dann kann die Datei wenigstens nicht so einfach ausgelesen werden ^^
  2. Michael Märker schrieb am Samstag, 29. November 2014 10:18:00 Uhr:

    Ich vermute, dass sich Die Fragen auf eine Absicherung im Web beziehen. Falls es sich allerdings doch um eine lokale Fragestellung handeln sollte, lautet mein Vorschlag, die Datenbank in eine geschützte (Bitlocker, Truecrypt) Partition auszulagern. Es bräuchte dann nur ein Login zu dieser Partition und keine (zeitaufwe(ä)ndige) Vorher-Entschlüsselung wie z. B. bei der Verwendung von Axcrypt.
  3. Thomas schrieb am Samstag, 29. November 2014 13:11:00 Uhr:

    Das Thema hier war vor 9 Jahren [sic!] tatsächlich Windows Mobile (der Vorgänger von Windows Phone), nicht Web. Zweck war es, eine Datenbank mit einer "App" auszuliefern, die sich nicht so einfach öffnen und weiterverwerten ließ.

    Thomas


« Zurück  |  Weiter »