Jun 192012

I’ve been using KeePass for a long time to keep track of most of my accounts and passwords and to keep all my passwords different (as I always recommend).  KeePass is an open source, secure and free password manager that works across many platforms including all my computers (KeePass), and phones and tablets (KeePassDroid).  Lately I’ve started using Dropbox to synchronize the KeePass file through the cloud and I am reasonably happy with how it works and keeps the file available even for offline use on the device.  Now it was time to test synchronization with Google Drive instead of Dropbox.

I’m afraid I have several bad news for those who’d rather use KeePassDroid with Google Drive.  So far I haven’t been able to seamlessly synchronize the KeePass file with my Android devices via Google Drive for several reasons, the first being the constant changes of the hosting folder name and the fact that it becomes read-only when marked for offline use (supposedly only when not connected to the internet, but I’m not sure about that either).  In theory it does synchronize, but I’ve experienced too many problems, and it takes way too many steps “on foot” each time I want to open the KeePass password file.   I believe the root of the problem is the difference between the way DropBox and Google Drive keep their files on Android.

Dropbox always keeps updating the same file and even if the app totally dies, you can always browse to the folder on your android phone or tablet and open the synchronized .kdb database (location provided in my KeePass Dropbox sync link above).  That’s in case of emergency, but I always open the file from the Dropbox app, which has so far been working flawlessly.

Google Drive apparently caches and constantly changes the folder name in which it keeps the files marked for offline use.  This makes the KeePassDroid on my phone remember many different KeePass.kdb files from /data/data/com.google.android.apps.docs/cache/xxyyzz/ folder (where the xxyyzz folder name keeps changing – see screen capture)  because it sees each new version as a completely new database.  Each time before entering my password I have to remember to browse and point to the key file I’m using in combination with the password (for more secure two-factor authentication with the key file existing only on my devices but not on my cloud drive).   I can see this in my KeePassDroid, where history points to many different files with unrecognizable cryptic and numerical parent folder name.  Unlike Google Drive, Dropbox always keeps the same file and just keeps updating it, as one would expect.

Another unexpected bad surprise with Google Drive is that with offline use a file becomes read-only, which is incredibly close to “sofa king we Todd it”.  If I set an important file for offline use, that means that I want to be able to use it regardless whether I have a mobile data connection and the system should take care of synchronization later in the background when the connection is established.  I don’t understand how Google can miss something this big.

Moreover, if I turn off the offline toggle on the file, now the KeePass remembers its location, but I’m getting “Permission denied” when I try to add a new entry or change an existing one.

Therefore, I hereby sincerely regret to inform you that in my best intentions I didn’t have any luck configuring Google Drive to work with my KeePass file on Android.  The files synchronization and the offline features work much better and reasonably well with Dropbox, so I’m switching back.

  6 Responses to “Google Drive and KeePassDroid Don't Mix Well”

  1. Google Drive encrypts by default offline files, which is a huge privacy improvement over Dropbox in case you loose your phone. However this clashes for this purpose, where you want an unencrypted version of the KP database. Alternatively you can switch off offline file encryption…

    • True, if I kept any personal and confidential files in the cloud I’d have less privacy concerns with Google Drive than with Dropbox, however, the only important file I keep there is the KeePass database which is already encrypted with AES 128 bit block cypher using 256 bit key, satisfying even the US government top secret encryption requirements, and that’s why I find Dropbox convenient for this purpose.

      Were you successful or do you know of anybody using Google Drive with KeePass and KeePassDroid on the phone with Google Drive online encryption off?

      Thank you for the feedback.

  2. No, disabling the encryption doesn’t help at all.
    You still cannot edit the file in a way that it automatically gets synced to your Google drive.
    In Dropbox this worked from day 1.

  3. Any progress on KeePassDroid working with Google Drive yet?

  4. I use a hybrid approach. I used to use Dropbox, but my current employer blocks Dropbox. They don’t block Google Drive. So what I do is, I sync my work PC with google Drive. Then, when I sync my home PC with the google drive, it updates it’s local copy, which is in the dropbox folder. That gets automatically updated on my other computer and my phone. If I ever had an instance where I needed to go the other way, I can always add an entry on my phone, upload to dropbox, and then make sure I sync from my home PC when I get there. It’s not the BEST method, but it really works pretty seemless. The sync with Google drive really is a sync, not just an overwrite/replace. That helps a lot.

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>