Author Here. Using crypto hashes to anonymize data is one of those mistakes I've seen several times, and wanted to draw some attention to the issue so that hopefully we can all learn from it. Let me know if you have any questions.
The False Allure of Hashing for Anonymization
51–60 of 106 posts
Re: The False Allure of Hashing for Anonymization
#52The idea that data is a corporate asset has to die. Data is a corporate liability.
Re: The False Allure of Hashing for Anonymization
#53This is a question that I've thought of recently, as I am going to be working with a set of data that is the kind of data that may have damaging personal repercussions if identified with you but is good for society as a whole to be tracking, but that tracking doesn't have to be personally identifiable. Something like, it could be bad for me if it was revealed to my insurance company that I drove more than 5000 miles…
Differential privacy and other formalized systems are a good choice, but if you never need to give the data back or present it as-such to the customer/inputer, you can get heuristic Pretty Good Anonymization if you understand the structure of your problem and how you're going to use it. For example taking your example of motor vehicle trips off the top of my head, in order the things that can ID you are: Driver's Lic…
Re: The False Allure of Hashing for Anonymization
#54You probably have a better chance of creating your own secure block cipher than of achieving this goal. In a similar way, your inability to see what's wrong with your scheme is not evidence that it works.
I don't like to be negative, and I'm all for continued research, but at this point the conservative thing to do with data that you need to "anonymize" is delete it.
Re: The False Allure of Hashing for Anonymization
#55We're seeing more of this with privacy and user data. The author very correctly points out some issues with hashing and "pure" anonymization. It's more correctly considered "pseudonymization" (which is a recommended GDPR technique [1]).
All of which is to say _it's still an improvement over nothing_ and when layered with other techniques can help protect user privacy.
1 - https://blog.varonis.com/gdpr-requirements-list-in-plain-eng...
Re: The False Allure of Hashing for Anonymization
#56Earlier quoted context omitted.
So one of the issues here is using an externally visible ID (or a transformation of such) as an internal ID. Why not create a random int64 at account creation time which is invisibly linked to the public username (eg, email address). So now you've got a proper join key, you can restrict access to the map, and it's easy to delete the map entry when the user unsubscribes. (There can still be good reasons to apply one-w…
Then user emails you to ask what personal data of his you have on the server. Now you don't have a connection so you can't find it, but you have it. GDPR non compliance.
Re: The False Allure of Hashing for Anonymization
#57Re: The False Allure of Hashing for Anonymization
#58"Anonymization" in the sense of transforming a dataset so that it's still useful but doesn't significantly reduce the privacy of the people it describes, is usually impossible, or at least beyond the state of the art. People start out with just a few tens of bits of anonymity and bits are everywhere. You probably have a better chance of creating your own secure block cipher than of achieving this goal. In a similar w…
~~People just aren't the unique snowflakes our mothers told us we are.~~ Most people for example can be uniquely (and easily) identified with just a DOB, first name, and suburb.
Edit: maybe the problem is actually that we are too unique :)
Re: The False Allure of Hashing for Anonymization
#59Earlier quoted context omitted.
Differential privacy and other formalized systems are a good choice, but if you never need to give the data back or present it as-such to the customer/inputer, you can get heuristic Pretty Good Anonymization if you understand the structure of your problem and how you're going to use it. For example taking your example of motor vehicle trips off the top of my head, in order the things that can ID you are: Driver's Lic…
But if I do need the original data back, say, the driver needs to produce an expense report with the hours, what would you do in that case? I have thoughts, but trying to bounce off of someone else.
Things we do:
- Rotate passwords used to access networks/servers regularly
- 2FA all the things
- Only provide permissions to what a user needs
- Limit it to just time a user needs it
- Logging+security scanning across the backend infrastructure
- Tight monitoring of devices used to access network for patch level
- Keep front-end networking infrastructure redundant and patched
- Multiple levels of auth (vpn pw, vpn 2FA, then public/private key for each server, then 2FA for each server, etc.)
You can only do so much but you can make it so that it's harder to compromise the crown jewels.Re: The False Allure of Hashing for Anonymization
#60Earlier quoted context omitted.
Then user emails you to ask what personal data of his you have on the server. Now you don't have a connection so you can't find it, but you have it. GDPR non compliance.
It's your mapping, so you can easily gather up everything with the given marker and hand it back to them. You only throw away the key (and delete attached data) if the user deletes their account (and maybe after some additional time elapses, in case they change their mind or were hacked); it's the same process as GDPR per-user encryption key deletion.