2014-07-08 5 views
5

Es ist mir gelungen, eine SQLite3-DB mit Perl mit dem Perl :: DBI-Modul zu erstellen. Ich habe mich gefragt, ob es eine Möglichkeit gibt, die Verschlüsselung zu meinem vorhandenen Perl-Code hinzuzufügen?Perl - SQLite3 DB-Verschlüsselung

las ich gründlich die 2 folgenden Links:

aber die bereitgestellten Beispiele scheinen nur proprietäre Software oder C# -Code zu schließen (insbesondere dieses Bit hier https://stackoverflow.com/a/24349415/3186538).

Vielen Dank im Voraus.

Antwort

1

Nun, könnten Sie Ihre Daten durch eine der Crypt::* Module laufen (::DES, ::Blowfish, ::IDEA, usw., in Verbindung mit ::CBC), dann möglicherweise kodieren sie mit base64 Text zu bekommen, bevor es an die DB zu schreiben. Und umgekehrt den Vorgang beim Lesen umkehren. Sie könnten sogar ein Perl::DBICrypt Modul erstellen, das über Perl::DBI saß und dies automatisch gemacht hat.

Es hängt jedoch ziemlich viel davon ab, wie Sie es verwenden werden. Wenn Sie nur befürchten, dass jemand Ihre Daten stiehlt und nutzt, wäre die Verschlüsselung machbar, da sie ohne den Schlüssel nutzlos wäre.

Wenn Sie andererseits versuchen, Daten in einem verteilten System zu schützen, steht der Schlüssel dem Angreifer zur Verfügung (da ohne diesen Code Ihr Code nicht funktioniert). Eine Verschlüsselung in diesem Fall wäre bestenfalls eine kleine Unannehmlichkeit.

Es ist etwas, das nur funktionieren konnte, wenn Sie den Schlüssel vom Angreifer fernhielten (z. B. wenn der Perl-Code auf einem von Ihnen kontrollierten App-Server ausgeführt wird).

Grundsätzlich jede Lösung, die Daten in einer Box entschlüsselt, die für einen Angreifer zugänglich ist, sind anfällig.