Données intimes

Now that we have enough details about how the NSA eavesdrops on the internet, including today’s disclosures of the NSA’s deliberate weakening of cryptographic systems, we can finally start to figure out how to protect ourselves.

NSA surveillance: A guide to staying secure, Bruce Schneier

Bruce donne quelques conseils dédiés aux citoyens mais je m’interroge sur ma responsabilité en tant que développeur : comment faire en sorte qu’une rencontre avec les services secrets soit la moins problématique ? Comment préserver l’intimité de l’ensemble de mes utilisateurs ?

Une première action à entreprendre pourrait être de séparer les données des utilisateurs par pays/juridiction afin de n’en révéler qu’une partie. On pourrait même aller plus loin dans le découpage afin de pouvoir fournir uniquement les données propres à un utilisateur ou aux amis de ses amis.

Une seconde action qui irait probablement aux limites de la législation en vigueur dans les états concernés serait de mettre en place une commande de suppression des relations (attention, pas des données) et de délivrer les données à plat sans pouvoir suivre les liens entre les personnes/media/discussion/etc.

Une autre option est de ne stocker que des données chiffrées côté client, c’est ce que fait le service ZeroBin par exemple (il y a même une version en Python). Même avec un très gros datacenter ça prend quelques temps à déchiffrer si chaque clé unique est générée par chaque utilisateur.

Enfin il y a énormément de choses à inventer en matière de pair-à-pair et, même si des connexions asymétriques rendent les échanges de données moins performantes, la démocratisation du haut-débit est suffisante pour échanger au moins du texte de manière privée et sécurisée.

Je suis surpris qu’il y ait si peu d’initiatives de résistance de la part des geeks pour mettre en place les solutions techniques qui sont à notre disposition afin de réacquérir une intimité à nos échanges sur le web.