Skip to content

Open Encrypted Database #12

Closed
Closed

Description

@techie31

I can't seem to figure out how to open an encrypted sqlite database? If this is not currently possible, I think it would be an appropriate enhancement.

Thanks!

Activity

  1. piacentini commented on May 22, 2014

    @piacentini

    It is a nice enhancement, but be aware that by itself SQLite does not include an encryption library. One is available from HWCI (http://www.hwaci.com/sw/sqlite/see.html), for a fee.
    As sqlitebrowser is distributed with source we can not include SEE with sqlitebrowser. You can, however, license the extension and compile your own binary with SEE included (I have done this in the past for the Arca Database Browser, the product from which sqlitebrowser was derived from).

  2. rp- commented on May 22, 2014

    @rp-
    Contributor

    For Linux/MacOSX and the mentioned see extension this should already be possible if you build the shared sqlite library(with see) yourself and get it loaded before the default system sqlite lib.

    For Windows you would need to build sqlitebrowser by yourself as the current builds are fully statically linked.

    If you mean a different kind of encrypted sqlite database you would need to further explain.

  3. justinclift commented on May 29, 2014

    @justinclift
    Member

    As a data point, SQLCipher might be useful to investigate:

    https://github.com/sqlcipher/sqlcipher

  4. rahmadid commented on Oct 1, 2014

    @rahmadid

    Hi,
    Yes, please add support for SQLCipher.
    Thanks.

  5. techie31 commented on Oct 1, 2014

    @techie31
    Author

    Thanks for all of the comments/suggestions. I'm pretty sure I don't have the know-how to link in an encryption library and compile my own version of the software for Windows. If anyone can do this and make it available for download, that would be great.

  6. justinclift commented on Oct 1, 2014

    @justinclift
    Member

    ... and if there are clear steps that can be scripted, I can probably add nightly builds on OSX including it. 😄

  7. Z4us commented on Oct 2, 2014

    @Z4us

    "Coolissimo", Justin, will make the upcoming version "awesomer" than it already would be without this free and open encryption {isn't this kind of a "contradictio in terminis" ?-)} Can't wait :-)

  8. added a commit that references this issue on Nov 1, 2014
  9. Z4us commented on Nov 2, 2014

    @Z4us

    This is specifically useful for databases/tables containing (or going to contain) passwords like one I'm creating and e.g. Fossil. Of the latter passwords are in normal UTF-8....

  10. self-assigned this
    on Nov 2, 2014
  11. justinclift commented on Nov 6, 2014

    @justinclift
    Member

    Awesome! Martin's code for SQLCipher is working (very easily too). Here is an initial "once off" build for OSX with SQLCipher support enabled:

        http://mirror.salasaga.org/sqlitebrowser/onceoffs/sqlitebrowser_201411051855.dmg

    That successfully opened a simple test database, allowing me to see the data structures and browse the test data in there.

    Everyone that can, please try it out and report back success/failure/etc for this! 😀

  12. justinclift commented on Nov 6, 2014

    @justinclift
    Member

    sqlcipher - about dialog

    sqlcipher - file menu

    sqlcipher - enter key

    sqlcipher - set encryption

    sqlcipher - database structure

    sqlcipher - browse data

    Apologies for the rough screenshots. I'm screenshoting them through a remote session to an OSX box, then cutting out the appropriate window pieces using the Gimp. Not fast, and it's been ages since I used the Gimp. 😉

  13. justinclift commented on Nov 11, 2014

    @justinclift
    Member

    New build for OSX available:

        http://mirror.salasaga.org/sqlitebrowser/onceoffs/sqlitebrowser-sqlcipher_201411101930.dmg

    This one changes the default page size to 1024 (as recommended by the SQLCipher dev's), and also (should) fix a weird inconsistency of (previously) not always opening encrypted files properly.

    Please try it out, and let us know how it goes. :)

  14. 52 remaining items

  15. chrisjlocke commented on Mar 5, 2017

    @chrisjlocke
    Member

    You can brute force the password with every possible combination, but even with 7 bytes, you're looking at 7.20e16 possible combinations. Good luck with that. 😆

  16. roneqwerty commented on Mar 5, 2017

    @roneqwerty
  17. justinclift commented on Mar 5, 2017

    @justinclift
    Member

    With using a brute force solution... if you used several rooms filled the very best computer equipment existing right now, it would probably take you several centuries to get the solution. For just one encrypted database. In reality, it would probably a lot longer though.

    But, you're welcome to try. Nothing is stopping you. 😄

  18. justinclift commented on Mar 5, 2017

    @justinclift
    Member

    because always door have a backdoor

    That is only the case where someone has made a mistake, or where someone (government?) has added a weakness on purpose and hopes no-one else finds out about it.

    If the encryption we use, called SQLCipher, has this problem, we don't know about it. If you do find a backdoor in it, please let us know. 😄

  19. chrisjlocke commented on Mar 5, 2017

    @chrisjlocke
    Member

    Or where someone has added a weakness on purpose

    Only if you log in as Joshua.....

    image

    If you hack into the DB4S servers and you get an option to play Global Thermonuclear War, look for 'chess' instead...

  20. aquiles2k commented on Sep 26, 2017

    @aquiles2k

    @justinclift So i guess you didnt have success cross compiling with mxe? Are there any infos on what went wrong and if its entirely impossible? We are currently also using mxe and would like to have sqlcipher support. Any answer appreciated :)

  21. justinclift commented on Sep 26, 2017

    @justinclift
    Member

    @aquiles2k We went with a different approach, changing to compiling directly on Windows with MSVC (yuk) instead. That let us drop the need for using MXE, so we use SQLCipher directly instead.

    Maybe that's something worth looking into?

    This might be useful reference info: https://github.com/sqlitebrowser/sqlitebrowser/wiki/Win64-setup-%E2%80%94-Compiling-SQLCipher

    Also, I have a fork of the SQLCipher repo with the changes from the above doc in it, which our nightly build script uses for the SQLCipher builds. Might be useful to look at the last few commits for that, to see the changes made to get it working (for us). 😄

    Alternatively, if you ping the SQLCipher people and ask about MXE, they're pretty friendly so might have useful ideas or suggestions. 😄

  22. roneqwerty commented on Sep 26, 2017

    @roneqwerty
  23. aquiles2k commented on Sep 26, 2017

    @aquiles2k

    @justinclift Ok, thank you very much for your detailed answer!

    For various reasons we try to avoid msvc 😄 So i'll check your provided links and try some time with mxe.

    As a backup plan we will just use msys2 with mingw-packages as they also started to provide a sqlcipher package.

  24. roneqwerty commented on Sep 26, 2017

    @roneqwerty
  25. justinclift commented on Sep 26, 2017

    @justinclift
    Member

    @aquiles2k Cool. 😄

    That's good news about SQLCipher being available for msys2 now. That should help spread it's adoption. 😄

    Depending on how paranoid you're feeling 😉, you might want to add this patch to the MINGW-packages build (maybe send them a PR?):

    It fixes CVE-2017-10989, present in SQLite versions prior to 3.20.0, and also present in SQLCipher 3.4.1.

    If you're not using the SQLite "RTree" module though, that CVE won't affect you. 😄

  26. roneqwerty commented on Sep 26, 2017

    @roneqwerty
  27. roneqwerty commented on Sep 26, 2017

    @roneqwerty
  28. aquiles2k commented on Oct 10, 2017

    @aquiles2k

    @justinclift Just another info. MXE now also has a sqlcipher package.

    mxe/mxe#1931

  29. justinclift commented on Oct 11, 2017

    @justinclift
    Member

    Good stuff @aquiles2k, that's well done. 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions