Bon, on va s’y prendre un peu plus tôt que l’année dernière cette fois-ci 😃
On recherche donc 5-10 pixels qui seraient motivés pour servir de miroir de stream pour #PSES2018 😊
Ça ne nécessite qu’un nginx, de la bande passante (100Mbps au moins) et un peu d’espace disque !
Bon, on a déjà 5-7 miroirs, ça devrait tenir le coup 😋
Histoire d’être transparent, on log les IP des visiteurs, histoire de pouvoir agréger les logs de tous les miroirs à la fin et en tirer des stats de fréquentation pour mieux calibrer le stream d’une année sur l’autre.
L’ensemble des logs est détruit dès la fin de l’agrégation, donc quelques jours après la fin de l’évènement le temps de tout collecter. #RGPDPowered
Si quelqu’un a une astuce magique niveau nginx pour anonymiser une IP de manière identique entre plusieurs serveurs ne communiquant pas, on est preneur !
#MinimisationDeLaDonnée
@PasSageEnSeine Chiffrement avec une clé jetable, séquestrée et renouvelée à une période suffisamment longue pour continuer de faire de la corrélation
@kaiyou @PasSageEnSeine
Dans la même veine mais peut être un peu plus simple, est-ce qu'une fonction de hashage ferait l'affaire ?
@alfajet @kaiyou @PasSageEnSeine Pardon, 2^32. En IPv4 #OldSchool.
@alfajet @Matlink @kaiyou @PasSageEnSeine J’ai un ASIC qui fait du 4GHs en double SHA256… Ça va donc me prendre… 0.5s ? 😂
@aeris
Ça serait toujours mieux que rien, je suis assez mal à l'aise avec l'idée d'avoir les IP en clair sur les logs des streams clairement politiques :) hash + chiffrement me semble le minimum
@alfajet @Matlink @kaiyou @PasSageEnSeine
@inso @aeris @alfajet @Matlink @PasSageEnSeine Les deux approches les plus valides et stateless (on peut également y aller en stateful et tenir un registre) sont : le chiffrement et un hmac ou équivalent. Dans les deux cas la clé doit être renouvelée suffisamment régulièrement pour empêcher trop de corrélation mais suffisamment souvent pour permettre le debugging court terme.
@kaiyou @inso @alfajet @Matlink @PasSageEnSeine Wé, sauf que là on parle de collecter des logs sur 4 jours, depuis des machines $RANDOM sans lien entre elles (sinon des pixels choupis qui nous les prête)
Vachement compliqué si tu mets du salt ou du rolling dans l’équation.
@kaiyou @inso @alfajet @Matlink @PasSageEnSeine À la limite on pourrait envisager un sel commun fixe pour les 4 jours. Mais au delà, ça devient ingérable faute de canal de com’ synchrone entre tout le monde.
@aeris @inso @alfajet @Matlink @PasSageEnSeine Oh, je n'avais pas réalisé que c'était pour le streaming. C'est un tantinet plus compliqué si tu ne maîtrises qu'à moitié qui log.
@kaiyou @inso @alfajet @Matlink @PasSageEnSeine On maîtrise qui log, mais il faut du coup avoir un hash commun entre tous les participants pour être capable de « dédoublonner » derrière pour un même visiteur qui aurait boucler sur les X endpoints.
RE. J'ai une VM avec nginx, de la connectivité ipv4 et v6. Est-ce que vous voulez donc un point de sortie de plus ? Pour savoir si je commence à conf le truc.
@aeris @kaiyou @inso @alfajet @PasSageEnSeine si cette solution est envisagée, tu pourrais choisir une fonction de hachage "memory-hard" telle que bcrypt ou argon2 histoire que la bruteforce soit "coûteuse" ... même si évidement l'espace des pré-images est petit ...
@aeris @kaiyou @inso @alfajet @PasSageEnSeine peut-être un chiffrement symétrique (sans aléa) + hachage.
@inso @aeris @alfajet @Matlink @PasSageEnSeine Au hasard, ça s'implemente très bien dans une chaîne logstash ou dans une pipeline graylog.
@aeris @alfajet @kaiyou @PasSageEnSeine pas besoin d'un ASIC, une GPU suffit pour tout casser ... https://gist.github.com/epixoip/a83d38f412b4737e99bbef804a270c40
@alfajet @kaiyou @PasSageEnSeine Ici, les tables arc-en-ciel n'ont pas d'utilité car l'espace des pré-images est trop petit, le calcul de tous les hachés possibles n'est pas très coûteux.
@Matlink @kaiyou @PasSageEnSeine
Ca fait quand meme + de 4 milliards de possibilites rien que pour les IPv4. Faut quand meme en vouloir pour faire une rainbow table de cette taille...
Sinon le rajout d'un sel (le même) peut rendre la de-anonymisation plus difficile encore.