Estou trabalhando em um projeto que pede aos colegas que compartilhem seus dados de texto originais para análise adicional usando técnicas de mineração de dados e, acho que seria apropriado anonimizar os nomes dos alunos com suas submissões.
Deixando de lado as melhores soluções de um URL em que os alunos enviam seus trabalhos e um script de back-end insere o ID anonimizado. Que tipo de soluções eu poderia instruir os alunos a implementar por conta própria para anonimizar seus próprios nomes?
Eu ainda sou um noob nesta área. Não sei quais são as normas. Eu estava pensando que a solução poderia ser um algoritmo de hash. Parece uma solução melhor do que inventar um nome falso, pois duas pessoas podem escolher o mesmo nome falso. As pessoas possíveis podem escolher o mesmo nome falso. Quais são algumas das preocupações das quais devo estar ciente?
Respostas:
Suspeitei que você estivesse usando os nomes como identificadores. Você não deveria; eles não são únicos e levantam esse problema de privacidade. Em vez disso, use os números dos alunos, que você pode verificar a partir dos respectivos IDs, armazenados em forma de hash. Use o sobrenome do aluno como um sal, para uma boa medida (forme a string a ser hash concatenando o número de identificação e o sobrenome).
fonte
Uma prática padrão em psicologia (onde você deseja codificar os participantes para vincular diferentes medidas) é fazer com que os participantes escolham as iniciais do nome de solteira de sua mãe e a data de nascimento, por exemplo, no formato XX-YYMMDD.
Este curso ainda pode ter conflitos. Por outro lado, não creio que exista algum algoritmo de anonimização infalível sem conflitos que seus alunos poderiam fazer sem conhecer todos os outros alunos . Os nomes e datas de nascimento das mães podem ser idênticos, datas de nascimento próprias podem ser idênticas, tamanhos de sapatos podem ser, personagens favoritos de super-heróis ... A única coisa que eu conseguia pensar seria em números de Seguro Social (EUA), mas você realmente não quer use-os .
Conclusão: anonimize no back-end. Ou, como sugere o @Emre , pense se você realmente precisa de um identificador. Talvez o índice gerado pelo banco de dados seja suficiente?
fonte