2017-09-10 5 views
0

Je travaille sur un projet où les utilisateurs (dans une période de temps donnée et relativement courte) répond aux déclarations, et je voudrais stocker les entrées de façon anonyme.Enregistrer l'adresse IP de l'utilisateur, mais la rendre non traçable

Après la période de collecte est terminée, je voudrais être en mesure d'exécuter des statistiques sur les réponses. Mais il est très important que les réponses des utilisateurs ne puissent pas être retracées à un utilisateur/ip spécifique.

La raison pour laquelle je voudrais encore stocker ip, indépendamment de mon désir pour les utilisateurs d'être anonyme, est que je voudrais exclure les entrées où l'utilisateur (avec une intention malveillante ou par accident), le même test plusieurs fois dans une courte durée.

J'ai exclu l'utilisation de cryptage, car il est, à ma connaissance limitée, impossible de comparer un grand nombre de chaînes cryptées comme ça.

Ma méthode actuellement auto-proposée consiste à stocker: L'agent utilisateur, un identificateur de session et une adresse IP hachée.

En ce qui concerne la méthode de hachage, je pense à utiliser sha512 où l'ip est précédé d'un sel long de 16 caractères (même sel pour toutes les entrées).

Je sais que lorsque hachage des chaînes simples et communes, que sha512 et d'autres méthodes de hachage peuvent être rompues avec des outils comme: http://md5decrypt.net/en/Sha512/ et le bon vieux forçage brut.

Mon idée pour ensuite garantir l'anonymat de l'utilisateur, c'est qu'après la période de collecte est terminée, je vais supprimer le sel. Faire (à ma connaissance) presque impossible à la force brute le hachage. Même si une partie malveillante a mis la main sur mon code source. Je sais que cela semble être une solution low tech, et cette partie de la sécurité est basée sur ma propre action de suppression, où la théorie pourrait oublier ou changer d'avis. Mais c'est la seule solution que je pourrais trouver.

Merci à l'avance

Répondre

0

Ne pas hacher les adresses IP, les HMAC. C'est conceptuellement la même chose que ce que vous voulez faire, mais cryptographiquement robuste.

https://en.wikipedia.org/wiki/Hash-based_message_authentication_code

+0

Merci. Mais comme prix que je peux voir, si mon code source est violé et la clé HMAC à cet effet est visible. Avec HMAC c'est toujours "simplement" une question de courir à travers tous les ips possibles et de faire une ip simple à la table HMAC? – thekokholm

+0

le secret pour le HMAC ne doit pas être dans votre code source (c'est un secret ...) mais dans un fichier de configuration. il joue le même rôle que le «sel» de votre explication. à la fin de la période de collecte, vous pouvez supprimer ce secret. –