Concordo contigo, viniciusbrito, é uma ideia bacana mas ainda carece que vários pontos sejam reavaliados com mais cuidado. Inclusive, na matéria que cita a postagem principal, escrevem (lá em 2018) que:
Anonymizing data is extremely hard and most of us are doing it wrong. To me, it feels like we're back in the era before bcrypt, where everyone was charting their own course on how to store passwords in databases.
I think that as an industry, we need to be aware that cryptography is not anonymity, and there doesn't yet exist a right answer, library, or tool, to simply apply to your anonymization problem (without in-depth knowledge).
Fonte: https://goteleport.com/blog/hashing-for-anonymization
Ou seja, o processo de anonimização é difícil e muitos estão realizando esse processo de maneira incorreta (segundo a matéria). Segundo os comentários que li, parecem confundir criptografia e anonimização. Enquanto no primeiro o conteúdo do pacote de dados existente é reversível com uso das chaves corretas, no segundo é teoricamente irreversível. A possibilidade remota de recriação do pacote de dados inexistente por completo, via força bruta, vai precisar contar com as vulnerabilidades conhecidas, dicas, além arcar com os custos elevados de computação. Entendo que anonimização em computação deveria algo semelhante a incinerar um documento ou mesmo transformá-lo em pasta de celulose para gerar papel reciclável.
Não penso levar a ideia em diante, viniciusbrito, entretanto faço experimentos quando posso para entender esses artifícios e suas vulnerabilidades após me espantar com os processos que facilitaram os vazamento de dados. Todas as vezes que tento criar uma "criptografia nova" vem um anjinho me lembrar do conselho de vários especialistas da área. O resultado pode ficar parecido com isso e não funcionar! Aprecio a discussão para trocar ideias sobre o que os desenvolvedores pensam a respeito e quão preocupados estão em proteger nossos dados pessoais, transações etc. Acredito que a próxima geração já estará ciente de que os dados são dos clientes, diferente como pensa uma pequena parte da geração atual de profissionais que acreditam ser donos do DB e seu conteúdo. Na ocorrência de vazamento de dados, o estagiário é o culpado 8-) pela imperícia (a ação equivocada por falta de técnica, de inaptidão), imprudência (a ação sem cautela), negligência (a omissão da conduta esperada para uma determinada situação), irresponsabilidade (característica da pessoa a quem não se deve conceder responsabilidade pela realização de alguma ação ilegal) do superior ao deixar informações sensíveis sob os cuidados de quem não deveria sequer ter acesso a elas.
PS: Ainda não descobri o CPF que o rafael cita após passar pela função de hash SHA1. Alguém descobriu por força bruta?
Como exemplo, vamos considerar "anonimizar" um SSN (algo como nosso CPF, porém secreto) utilizando o SHA-1. Essa função retornará uma string similar à
b0254c86634ff9d0800561732049ce09a2d003e1
. Um SSN é composto por 9 números, então é bem diferente do resultado do SHA-1.