
For just about every online service I use, I now have a unique strong password. Having so many strong passwords makes it incredibly difficult (impossible) to remember even a handful of them.
There are a few downsides to relying on software to manage your digital account security - and I won't list out the safety implications.
During my brief trip to California the last week I realized that I no longer know the strong password to my professional email account (npike@npike.net) - and thats BAD! This password is of course stored in my KeePass Database (which is synced to all my computers via an AES-256 encrypted db file) - but I was on the West Coast with no computer, only my iPhone.
Due to KeePass being opensource, it exists for most flavors of operating systems out there - theres even a project to port it to the iPhone (that seems dead :( ).
My life would have been so much easier if I was able to look at my KeePass database from my phone while away from my computers.
I spent the evening today trying to port some of the KeePass C++ to Objective-C without much luck. For now I cobbled together a crappy solution that should work in a pinch in the future.
- Export KeePass Database as an XML file
- Encrypt resulting XML file with openssl (AES 256bit)
openssl enc -aes-256-ecb -in kp.xml -out kp
- (Make sure to have a strong but memorable passphrase for the encrypted file).
- Delete original unencrypted XML file.
- Write stupid script to decrypt encrypted file (pain in the ass to type out the whole command on iPhone)
- Add my iPhone's unique SSH key to the authorized key list for my linux box. (See Send your SSH Public Key to each host you use)
- Write a lazymans script on the iPhone to SSH to linux box by typing a single letter (Saved as "S" on my path)
#!/bin/bash
ssh staging.npike.net -l npike - Profit!
Being the lazy, but creative geek that I am - I now only have to launch the terminal application on my iphone, type "s" - navigate to where my encrypted keepass export is saved, and run the decrypt script above.
Granted, this file will be stale all the time unless I manually re-export it everytime I make a change in KeePass... but should hold me in a pinch until KeePass is ported to the iPhone.
Moral of the story? Make your email account have a strong, but memorable password thats different from all of your other passwords.