I recently had reason to question the security of my phone which led me to thinking about what services I've placed my trust in.
Back in December I purchased a HTC Hero and quickly found HTC slow at updating the Android OS. Being the geek that I am, I rooted the phone and started using custom ROMS. All was well until last weekend when I installed a new ROM that was so overly customised I was concerned about the safety of my Google account.
I use Google a lot, they have my emails, SMS messages, credit-card details, budget spreadsheets and more. So it's fair to say I prize my Google account and make sure its protected with a strong password. So when this ROM asked for my Google account name and password, it was pause for thought; What's stopping someone from adding code that collects my account details? It hasn't been officially approved. I'm downloading it from a public forum, sometimes from file sharing sites such as RapidShare. The full source code isn't available, and even if it was, how am I sure the binary was compiled from that source? The answer is I can't be sure. I'm taking a risk and placing my trust in the good will of a stranger.
There's always a level of trust asked of us when we use technology. From Window's OS to the Linux kernel, we hope that commercial interests and peer review will protect us. So what happens when small, immature services ask us to hand over our passwords?
One solution is oAuth, eliminating the need to pass your credentials directly but instead deferring to the original provider. This allows for granular control over what data can be accessed and providing a way to revoke that access. Twitter, Android Apps and even Facebook are all examples of this oAuth model.
So it's a shame to see websites still asking for your prized passwords. For example, many social sites will ask for your Google user name and password so it can connect with your friends. This is a bad precedent not only because it trivialise the importance of security but there's no assurance that a rogue employee, error log or cache dump wont let slip your precious password.
So what can be done to protect your accounts? Vigilance, common sense and a small amount of paranoia will all help. Regularly checking and pruning what has access to your accounts, such as your Google account, applying the Duck test, and searching for chatter around any new service are all good preventative measures that will help keep your accounts safe. But its also import to put pressure on those sites that ask for account passwords, pushing them to transition over to more secure techniques like oAuth.