Cryptography as Liability Shift

Everybody seems to be talking about Kim Dotcom’s new Mega file-sharing service. What arouse my interest is the use of cryptography. I did not look into it in details but from what I read (for example here) it should work as follows:

  • access to the service is only through a browser and the code executed in the browser is written in JavaScript;
  • at the moment of creating an account, the users chooses a password which is not sent to the server, instead from the password the browser derives an authentication token which is shared with the server; the server cannot recover the password from the authentication token;
  • the browser generates an encryption key with which all data sent and received by the server is encrypted and decrypted by the browser itself: the server hosts only encrypted data and has no access to it since it does not know the encryption key;
  • for user convenience, the encryption key is stored also on the server but encrypted with the password, in this way the server has no access to the encryption key but the user can retrieve it when he needs it.

This general idea of this approach is of course not new, but the way in which it is implemented leaves a lot to think about. Everything is delegated to the browser and implemented in JavaScript, this means for example that it is not so hard to add (or modify) a JavaScript to obtain the password and send it to any other server. This is indeed what most online banking malware do by injecting in the browsers a few lines of JavaScript in the home pages of the online banking websites’ pages. This is also what at any moment the Mega service could do, without the user ever know it. On top of this, many other points should be checked like for example if the implementation is sound from a security point of view, and we very well know that it is not at all easy to implement cryptographic protocols the first time without making any mistake.

So what is the point of all of this? Well, the first thing that comes to my mind (and to other bloggers’ mind) is that the primary purpose of all of this is not to protect the users and the users’ data, but to allow Kim Dotcom to discharge any legal responsibility on the contents hosted on his servers. Since users’ data is encrypted by the browser on the users’ PC and the server has no access in clear to the encryption keys, then all the responsibility on the data hosted on his servers is of the users.

I am curious to see how this will develop.

UPDATE: there are already search engines to find illegal material to download from Mega…