3 ms·
Release a new API that uses symmetric encryption instead of a one way hash. Use however many rounds are necessary to prevent brute force attacks. Gravatar keeps
by extension 16y ago
Release a new API that uses symmetric encryption instead of a one way hash. Use however many rounds are necessary to prevent brute force attacks. Gravatar keeps a list of generated keys, but not who generated them. The API accepts a key ID and encrypted email. That makes the keys convenient to generate and change. Deprecate the old API and turn it off some day.
I think that works, but I try not to think about crypto at three in the morning, or at all really.
EDIT: Also, a consumer site could implement this themselves with a simple proxy server. They could even open up the service to other sites.
- to 16y agoyou still have the problem that the thumbnail stays the same. if you change the url you could just hash the thumbnail binary content... pixel colors or whatever you want to use. its still no help to jzst change the user id.
- mike-cardwell 16y agoNot really. The people you are de-anonymising are those who are not using gravatar, so whilst they all have different MD5's for their email addresses at the moment, they all have the same placeholder image.
- steveklabnik 16y agoOne of the best aspects of gravatar is that fact that it takes one line of code to implement: "http://www.gravatar.com/avatar/#{MD5::md5(email.downcase)}" If it wasn't that easy, I'd probably consider just doing something else. Maybe just have it use a stronger hashing algo?
- Estragon 16y ago...have it use a stronger hashing algo? The strength of the hashing algorithm is ancillary to this vulnerability. The OP was able to resolve the emails because they had a predictable format.
- steveklabnik 16y agoWhen I said 'stronger' what I really meant was 'one with a larger number of possible hashes', so it'd be harder to resolve them. Not that it'd stop it totally, because he still knows enough about the keyspace... Then again, crypto is not my strong point, so I should probably stop talking.