Well, that's how it looks for Sony. I'm sure lots of people will be worried right now, and rightly so.
However, not enough people are worried. Chances are, if YOU don't have a Sony account, you probably have already stopped thinking about this problem.
I would say this is unwise. Read on to find out why
Undetected Thefts
The thing about password database thefts is that MANY go unreported. Think about it - if you successfully made off with a bunch of private data for nefarious means, would you announce it? Of course not. Therefore many people have compromised passwords and do not even realise it. Sites are leaking credentials and nobody knows.
So, advice point number 1: If you aren't regularly changing all your internet passwords, START TODAY. I'd advise changing these as frequently as you can stomach.
How passwords are stored
Now, many people will (also rightly) berate Sony for storing passwords in "clear text". This means that if my password is 'hello', the word 'hello' is stored next to my name. Peasy. Stupid. In fact, beyond stupid.
Many websites use a method called "hashing" which means that they run loads of maths on your password and get a big long number back. They store this big long number nect to your name, instead of 'hello'. Next time you rock up and enter your password, they 'hash' it again and they get a big long number. They then compare this number with the one stored next to your name in their data and - maths being maths - it is guaranteed that these will match if you type in the same password. If not, no access.
Hurrah! "Safe!" you say. A 'cloaking device' for passwords. Kind of. However, this idea falls apart pretty quickly if you consider the situation where somebody has taken a copy of the password database, and nobody knows about it. Let's imagine our little thief then writes a program that starts with 'a' then 'aa' then 'aaa' , etc, and runs the same 'hash' maths against it. (And, in practice, there are only a handful of hashing procedures used in general, so they only have a few to pick from.) When they find a number that corresponds with any in the stolen password database, they have found your password! Even if it was 'abc123' or 'dqwd3@#FEgf', before it got 'hashed' or 'cloaked', they can recognise that this was your password before the "hashing" because their hashing of a random string has found the same number!
This clearly assumes they have enough time to run the program which, of course, they do because they have a copy of the database and nobody knows about it.
Now, if they find your password using this means, and it has your email address, and it's for the site they got the database from, how likely is it you used the same password elsewhere on the internet?
Well, how likely? Only you, the reader, know the answer to that.
So, advice point number 2: If you haven't got different passwords for every site, START TODAY.
I'll finish how I started - MANY password database thefts go unreported. You will never know who is trying to crack your password right now. Sony's breach got found out. Don't be lulled into a false sense of security simply because you don't have an account with them.
Before I begin, I should say that this is not an attack on Dropbox. I use Dropbox all the time and I love it. This is more about knowing the strength of your tools or, to put it another way, understanding that we ourselves are responsible for our own online protection and privacy, as much as any website or service provider is.
Updated April 22 2011 - Well, well, well. I wrote this blog on March 9th this year. Since then, the Dropbox Terms Of Service have been amended to make it clear that your data could well be in the hands of the US government, if they feel like it. Read on for details.
Second point, before I start for real, is that I'm hoping to write this to be accessible to my non-tech friends, more than to inform my fellow nerds. However, feel free to add your thoughts at the bottom, whoever you are.
The Scenario
I'm in the process of moving a load of files off of an old server onto... something else. I used to be self-employed with a small office network at home and these days I continue to run my own company as well as my life out of these computers and so I have a digital hotch-potch of data lying around which needs backing up. A real mixture of personal and professional data, including: financial records, passport scans, other document scans, bank records, photos, mp3s, letters to the council, development source code, item insurance lists, blah blah yawn.
Up till now, I've used a combination of USB drives and (when I can be bothered) these get taken "offsite" (i.e. out of the spare bedroom) and possibly locked in a desk in another office somewhere.
When it comes to my laptop, I've been using Dropbox for over a year now for stuff to which I need access in a variety of locations (the odd development project, a guidebook for something or other, WAV & image files for little music projects etc), and it is an absolute breeze. Easy to install, quick, safe, reliable, in short an excellent data serivce. So, it seemed like the logical next step to roll all the leftover ('might just need it one day') stuff from my old server into a new Dropbox folder, lovingly called 'Old Crap'.
The Dilemma
However, being of a curious (and slightly obsessive) nature, just as I was about to drag all the files into my charmingly named new folder, I was hit by a thought: WILL IT BE SAFE?
Up till now, the stuff I already have in Dropbox - development code, notes from a holiday, an old CV or two - feels to me like "Second Rate" data in terms of security. The CV is already on LinkedIn and a dozen recruiters' databases and the other things are of little value in terms of hijacking my life in any way. In other words, if governments, large corporations, cunning hackers and the sort (you know, "them") got their hands on the stuff, it would be next to useless. No problem. That is to say, naturally I'm not about to download it all onto USB sticks and start leaving them around the place but in essence I am happy that a "what is your password?" style level of security is OK for these things. [note to tecchie friends: yes yes yes, public key options, encrypted filesystems, etc, I know, I know. "Second Rate" data, remember?]
But what about the other files? The things that until a moment a go were destined for "Old Crap"? How would I feel if they got into the wrong hands? Detailed finance records, passport scans, bank records, all sorts of really important stuff. I'd be pretty worried. It also pays to pause and realise that if someone does get access to your data and starts trying to do bad things with it, the last thing they're gonna do is tell you. They're just gonna keep on using it until it stops being useful, or maybe when you happen to change the password. [Maybe you should change your passwords a little more often, hmmmm?]
So, with this thought in mind (and feeling slightly guilty about the now clearly unworthy title of 'Old Crap') I started to read up on Dropbox security.
Here is what I have found so far:
The Dropbox Security Model - Facts
We'll start with the facts, as delivered by the Dropbox website itself here. Each of the underlined subsections below is quoted directly from that page at the time of writing (9 March 2011). The paragraphs that follow each quote are from me.
"Dropbox uses Amazon S3 for storage"
S3 is a staggeringly capacious data storage system set up by Amazon. Most people will know Amazon as an online retailer, however they also have a huge and widely respected series of computing offerings, S3 being one of them. It's like a collection of unimaginably large centres, for data. "Data Centres", if you will.
In short, using S3 is a good thing. Amazon are very good at not losing data, and access to data, once in S3, is basically impossible unless you are the person who put it in there (on which more in a minute).
So: Amazon S3, tick.
"All data transferred is done so with SSL"
SSL [or TLS as it really ought to be these days, yes, hello again, techie friends] is the almost invisible but similarly almost indispensable data transfer protection process which you will generally only be aware of when the 'http' at the start of a web address turns into 'https'. In short, it means that any conversation between 2 computers which is "passed through" SSL will be virtually undecipherable to anyone who is listening in on the network (and "they" do listen in on the network, believe me).
Modern cryptographers will offer you reasons as to why the SSL we use for websites is a bit out of date these days but in essence, it remains the case in March 2011 that it is easier for a master criminal to come to your door and hold a gun to your head to get your money that it is for them to crack open your online banking conversation in real time using computers and Chloe from "24".
So: SSL, tick. Stuff on its way from my laptop to Dropbox is sealed, only to be read by the recipient: Dropbox.
"All files stored on Dropbox are encrypted (AES-256) and are inaccessible without your account password"
Hm... Sounds really great. Even if you don't know what AES-256 is, you can quite easily believe it means business, with a name like that. And inaccessible without your password? Coo. Doublegreat.
Let's take that sentence in its two separate halves:
"All files stored on Dropbox are encrypted (AES-256)"
Well, we already know that this means in fact "All files that Dropbox stores on your behalf on S3 are encrypted (AES-256)" Did you encypt them? Me neither. So they're either encrypted locally on your PC before they get spewed down the line to the internet, or Dropbox are encrypting them for you. More on this below (this section of my post being purely concerned with facts quoted from the Dropbox website).
"...and are inaccessible without your account password"
Read together - as originally - the 2 halves of this sentence sound like your password (your very own, private, secret password) and AES-256 are like two security officers, working together to protect your data, one permanently tied to the other. Is this really the case? Hmm. Again, more on this below.
Let's Think About All This (Part One)
Firstly, let's think about Amazon. In my own words above, "access to data, once in S3, is basically impossible unless you are the person who put it in there". S3 manage this by giving you a key. Everyone who signs up for S3 gets their own key (it's actually a pair of very long, diffidult-to-guess IDs which, when used together, are really very very secure.)
Did you get an S3 key when you joined Dropbox? Well, no. Dropbox have your key. Maybe they create a key for each user, maybe they use the same key for everyone. I don't know. But what I do know is this: You better be damn sure Dropbox keep these keys safe. Why? Example:
Most of us will live in a house or a flat or something. You probably even have locks on the door to keep safe the precious things of the house which others may covet. Now, have you ever been to an estate agent's and seen that cabinet where they hang all the keys for the houses on sale? Ever wondered how good the lock on that cabinet is? Ever looked at the lock on an estate agent door and wondered how easy that is to break? Ever looked at the high-impact, extra-reinforced concrete walls - sorry - HUGE GLASS WINDOWS of the estate agent, handily accessible from the road?
So the security of the items in all of the houses to which there are keys hanging in the agent's office rests on 2 things: 1) How hard it is to get into the key box; and 2) knowing that key 'P144' is 47b Acacia Gardens.
It's pretty much like this with the Dropbox / Amazon relationship, it is safe to say. Dropbox have the S3 keys somewhere. They probably hide 'em real good. It's probably really hard to get them. But the fact remains that Amazon S3 is open to the world right now, on the internet. Right now you could try and guess the name of a storage location at S3 and type it into your web browser and see what happens. In reality, very little will happen because the location (were you to guess one successfully) would yield nothing to you without the specific key used to store the data. So, if you had your own S3 key nice and safe then you can sit back in confidence and comfort. Some other guy holding the key for you? Probably fine.
All these "probablies" brings me back to thinking about the types of data I want to store. The "second grade" stuff is "probably" fine, but bank stuff? Passports? Illegal scheme blueprints? Maybe not. (joke)
So, just to remind you, this "S3", "who has the keys?" business is to do with stopping other people getting their hands on the files that are stored at S3 on your behalf by Dropbox. What happens if "they" get your files out of S3 by nefarious means? Well, happily the contents are scrambled beautifully with all that AES-256 business, which makes it all OK then, doesn't it?
Let's Think About All This (Part Two)
Now let's think about that AES-256 business. AES-256 is a great way to scramble files so that they are impossible to read without a key. Yes, AES-256 also needs a key. However, unlike the S3 key, which Amazon issue to you, for AES-256 nobody has to 'issue' keys per se. We can kind of make them up in a way, and in fact it's this "making them ourselves" that makes AES-256 so secure. If only we have the key, then nobody can open my scrambled file. So, even if they got into S3 and found my file lying around, trying to open it without the AES-256 key is not going to work. Win for me.
But wait, again: AES-256 is only really secure (for you) if you create the keys yourself. Did you create the keys? Of course not, Dropbox did. The keys must be stored at Dropbox (not on your home PC) otherwise you would not be able to download your files all shiny and well-formed using their website from any computer in the world. You would instead be able to download scrambled garbage. Not terribly useful [unless you're an entropy junkie - one for the nerds there].
"Ah", you may say, "what about your very secret, safe password? Maybe that is part of the key and in fact everything is saved. My data is properly hidden because my password forms part of your magical 'key' and so without the contents of my brain, there is no way to unlock my data after all. Ner."
Maybe....
You might be right. But let's consider another facility of Dropbox: Shared Folders. On Dropbox,you can share secure folders with friends and colleagues. You click on them, say "invite" and hey presto, collaboration.
Now, without even need for reference to a whole slab of tedious security theory, this "easy share" fact alone presents undeniable empirical evidence that it is possible for people who are not you to view things which are yours, stored under all this security, simply by you 'inviting' them. This means that IT MUST be possible for your peers to open your files, encrypted under magical AES-256, without knowing anything about your password.
Seems pretty likely then that again, Dropbox holds the keys for your AES-256 encryption as well.
I welcome discussions on this point (if you can be bothered) because I freely admit that this last point is speculative. Maybe Dropbox create 'individual copies' of each shared file, maybe it's magic, maybe... lots of stuff.
News Just In - updated April 22 2011
In the 6 weeks since I suggested that it is most likely the case that Dropbox holds your keys,2 things have happened. First, the Dropbox Terms Of Service have been updated to make it clear that the US Government may be given access to your data, in unencrypted format, at any time - thus heavily supporting the theory that the AES-256 keys are held at their end, not yours. Secondly, Dropbox themselves have issued a clarification, explaining that indeed they do hold such keys, and that they understand how (quote) 'people may have misinterpreted "Dropbox employees aren't able to access user files" as a statment about how Dropbox uses encryption." - You can read details of both these developments on the Business Insider website:
Conclusion
In reality, nothing you own is safe. Some idiot might start a war in your town and everything you thought had structure and resilience is a pile of rubble by lunchtime. There's no such thing as guaranteed safety for people, or data. But data safety, when it is possible, comes in 2 forms: encryption and security. The entire base principle of computer encryption is about making things "hard enough" that people generally do not have access to enough time, processing power or Chloe to crack your little code, be it AES-256 or ack-bay lang-say. Security, on the other hand, is a much more practical subject. Where do we hide the keys? Is 0000 a good PIN code? That kind of thing. And having all that data accessible by a breach in just one link in the giant chain? This to me seems a bit risky when it comes to sensitive data.
Now, again, THIS IS NOT an attack on Dropbox. I still use them today for non-sensitive stuff. A fantastic service. And naturally, one could encrypt one's own files with one's own secret keys before putting them in the Dropbox folder, job done. But are any of us doing this? Unlikely.
So, in short, you just have to stop and think twice about what you want to entrust to this system, and what you do not. To be fair, they have not presented themselves as a "safe data vault" and I am not suggesting that they have. All I'm saying is that it pays to read the security page of web service well; I did and this is where I got to.
I welcome your thoughts below.