web-dev-qa-db-fra.com

Hachage d'adresses e-mail pour la conformité au RGPD

MIS À JOUR

Nous avons un scénario très unique: nous avons plusieurs anciennes bases de données de comptes d'utilisateurs. Nous aimerions qu'un nouveau système puisse connecter ces anciens comptes à de nouveaux comptes sur le nouveau système, si l'utilisateur le souhaite.

Ainsi, par exemple, sur System X, vous avez un ancien compte, avec un ancien personnage RPG (disons). Sur le système Y, vous avez un autre ancien compte, avec un autre personnage RPG dessus.

Sur notre nouveau système, avec leur nouveau compte, nous aimerions que nos utilisateurs puissent rechercher ces anciennes bases de données et revendiquer leurs anciens personnages RPG. (Nos utilisateurs veulent également cette fonctionnalité.)

Nous souhaitons conserver l'ancien PII des comptes d'utilisateurs dans notre base de données dans le seul but de leur permettre de reconnecter les anciens comptes de leurs nouveaux comptes. Cela leur profiterait et serait une fonctionnalité intéressante, mais en vertu du RGPD et de notre politique de confidentialité, nous devrons éventuellement supprimer cet ancien PII de nos bases de données.

MAIS - Et si nous stockions cet ancien PII de manière à ce qu'il soit irréversible. C'est à dire. Seule une personne disposant des informations obtiendrait une correspondance positive.

Je ne suis pas un expert en sécurité, mais je comprends que le hachage simple (par exemple MD5) est trop facile à pirater (pour le dire légèrement), et (techniquement) ne nécessite pas "d'informations supplémentaires" (c'est-à-dire une clé) .

La bonne chose à propos de MD5 est qu'il est rapide (dans le sens où il est déterministe), ce qui signifie que nous pourrions analyser très rapidement une base de données de 100 000 lignes à la recherche d'une correspondance.

Si MD5 (et SHA) sont considérés comme peu sûrs au point d'être inutiles, que pouvons-nous faire d'autre pour analyser une base de données à la recherche d'une correspondance? Je suppose que le hachage moderne, comme bcrypt, serait conçu pour être lent pour cette raison même, et étant donné que ce n'est pas déterministe, cela ne convient pas.

Si nous fusionnions plusieurs aspects des PII dans un champ (par exemple, FirstnameLastnameEmailDOB) et que nous hachions cela, cela deviendrait essentiellement très salé. Est-ce une solution stupide?

22
Django Reinhardt

MD5 ou SHA n'est pas le problème. Les hachages peuvent être utilisés pour la pseudonymisation. Le problème est que le hachage devrait être salé (ou poivré) afin que les données provenant d'autres sources ne puissent pas être utilisées pour identifier la personne.

Mon email est le même partout. Un hachage serait également le même. Cela signifie donc que, dans ce cas, le hachage et mon e-mail deviennent synonymes. Tout comme un nom d'utilisateur et le nom légal d'une personne s'il est jumelé. Si vous utilisez un hachage dans ce cas, vous ne gagnez rien en termes de RGPD.

Le hachage avec du sel (ou du poivre) rend l'anonymisation presque impossible sans connaître la valeur ajoutée. Le sel (ou le poivre) devient presque le jeton, dans ce cas.

Comme toujours, vérifiez auprès de votre DPO.

36
schroeder

De façon réaliste, la pseudonymisation est toute méthode d'obscurcir les PII/NPI d'une personne afin qu'elle ne puisse pas être raisonnablement retracée à une certaine personne. Le RGPD ne dicte pas nécessairement quel algorithme de hachage vous devez utiliser pour vous conformer à sa norme, et pour être honnête - il vaut mieux que ce ne soit pas le cas, car si vous considérez le fait que si tout le monde = utilisait exactement la même méthode d'obfuscation, vous créez un énorme point de défaillance unique tout autour. Votre meilleur pari, (comme mentionné ci-dessus) est d'utiliser une certaine forme de tokenisation avec du sel, pour ajouter un caractère aléatoire supplémentaire à votre algorithme afin qu'il ne puisse pas être facilement renforcé.

3
GhostInTheShell