J'ai eu la bonne idée ce weekend de réinstaller totalement mon téléphone portable. De temps en temps, je trouve bien de "repartir à zéro", surtout lorsqu'il s'agit d'un petit bout de technologie que l'on peut perdre ou oublier dans un lieu public et qu'il contient une immense quantité de données et d'accès à des services authentifiés.

L'on devinera bien entendu qu'il a fallu que je réinstalle toutes les applications qui me réchauffent quotidiennement le coeur lorsque je prends les transports publics ou que j'attends patiemment le long d'une file indienne. Cet article s'intéresse ainsi à l'émotion ressentie par l'une d'entre elles, Viber. Pour ceux qui ne la connaissent pas, c'est une alternative intéressante à Skype: envoi d'appels et messages par le canal data, cela fonctionne très bien et la qualité de voix est inégalée lorsque la connexion est établie via un réseau wifi. Je n'ai aucune dent particulière contre cette application (je la trouve d'ailleurs très utile et bien faite) mais, c'est la troisième à m'avoir un peu agacé par les interactions proposées.

Cela m'a convaincu de perdre 43 minutes de ma vie pour rédiger un billet sur ce sujet...


Je peux lire tes contacts? Allez steuplé steuplé steuplé!!!

Comme il s'agit d'une application destinée à appeler et envoyer des messages à des tiers, il est tout naturel de s'attendre à ce que Viber souhaite accéder à ma liste de contacts installés dans le téléphone. Cette permission lui avait pourtant été accordée lors de l'installation du logiciel: les terminaux tournant sur le système Android annoncent à l'utilisateur les permissions dont l'application sur le point d'être installée va devoir bénéficier. En l'occurrence, Viber demandait lors de son installation un droit d'accès à mes contacts, je l'ai accepté.

Il faut se rappeler ici qu'il est impossible pour l'utilisateur de choisir dans le détail quelles permissions exactes il accorde ou non à une application. Soit il accepte tout, soit il refuse l'installation. L'entre-deux est impossible sans utiliser encore un logiciel tiers. La majorité des utilisateurs de téléphones mobiles ne réalisent pas à quel point ce mécanisme est pervers et vicieux en termes de protection de leurs données personnelles. Cette première prise d'otage par les éditeurs de logiciels et surtout celui de la plateforme (ici, Apple et Google) contraint l'utilisateur à devoir accorder toute une série de permissions dont il n'aura probablement jamais besoin, en se basant sur la plus grande menace de notre millénaire: celle d'une extinction numérique sociale.

Pas de bras, pas de chocolat...


En fait je ne veux pas juste lire tes contacts, je veux aussi te les prendre!

Passé le passage des termes d'utilisation, l'utilisateur est alors confronté à une seconde illusion de choix avec la question fatale: "Acceptez-vous que [remplacer ici par le nom de l'application sociale de votre choix] récupère intégralement votre liste de contacts et l'envoie sur notre serveur afin de voir si vos amis vous aiment pour de vrai?"

Bien entendu, la question n'est jamais formulée comme tel. En général, elle se résume à quelque chose comme: "[blabla] souhaite accéder à votre liste de contacts." -> "Ok" ou "Pas d'accord"?

Là aussi, la majorité des utilisateurs répond par l'affirmative. Il reste toutefois des petits perturbateurs qui vont cliquer sur "Non, je refuse", juste pour voir ce qu'il va se passer.

J'ai donc fait l'expérience avec l'application Viber, voilà ce que cela a donné:


peux-tu me donner l'accès à tes contacts, s'il te plaît?

Comme on peut le constater, la question est posée et l'on me propose de refuser cet accès. L'utilisateur attentif notera qu'il est écrit "Viber doit accéder à votre liste de contacts" et non "L'application Viber aimerait accéder à votre liste de contacts". Derrière cette petite nuance se cache l'une des perversités du modèle: que signifie "Viber"? Une société? Un ensemble de services? Une infrastructure? L'application mobile? En ne spécifiant pas qu'il s'agit exclusivement de l'application mobile, l'utilisateur est maintenu dans un flou décisionnel qui permettra juridiquement à l'éditeur de s'approprier les contacts directement sur ses serveurs s'il le désire.

Vous l'aurez deviné, j'ai cliqué sur "Don't allow." Voilà l'écran suivant:


En fait je t'ai posé la question parce que j'étais sûr que t'allais répondre oui!

Après avoir repris tous mes sens, j'ai finalement cliqué sur "ok". Voilà ce qu'il s'est passé:

Alors, tu vas répondre oui cette fois ou tu comprends toujours pas?

Voilà. L'interface utilisateur boucle sur cette question et je suis obligé de répondre oui. Tant que je ne répondrai pas "Oui", la question sera posée. Et j'ajouterai, pour en rajouter, qu'une pression sur la touche de "retour", censée annuler l'opération en cours, n'a aucun effet sur l'interface: elle est ignorée...

Finalement, l'utilisateur ne sait aucunement si les données ont été envoyées ou non: il a accordé l'accès à son carnet de contacts, il a accepté les termes d'utilisation qui annoncent l'envoi, mais on lui repose encore une fois la question, cette fois avec des termes ambigus, tout en lui forçant la main.

Quelles données précisément sont lues ou envoyées suite à cette notification: les numéros de téléphone? les noms? les adresses email? les données autres? Une lecture attentive et scrupuleuse de la garantie de protection des données personnelles lui indiquera finalement que dans le cas de Viber, seuls les noms et numéros de téléphone des contacts vont être collectés et seront détruits 45 jours après une éventuelle désinstallation de l'application. Là au moins, c'est rassurant.

Toutefois, il reste encore rare que l'utilisateur soit averti de la nature exacte des données collectées, de nombreux éditeurs privilégient la communication par "catégories d'informations". Difficile également de savoir quelles mesures sont déployées pour une transmission sécurisée et anonyme à travers les réseaux, la durée et les emplacements durant/dans lesquels les données seront retenues voire réutilisées ainsi que les traitements analytiques qui seront effectués sur ces dernières...


Vous avez dit prise d'otage?

Si vous êtes abonné-ée aux bulletins de ce blog, vous vous souvenez probablement de la polémique des applications Twitter et Path qui envoyaient la totalité des contacts du téléphone à travers le réseau, sans demander de façon suffisamment explicite la permission de le faire. Et bien les autres éditeurs ont pris peur et ont mis à jour leurs logiciels pour qu'ils posent cette question à l'utilisateur.

Du coup, ça a rassuré les autorités et les politiques (et les utilisateurs). C'est normal: ils n'ont aucune compréhension technique du mécanisme! On a réussi à leur faire croire que l'envoi de la liste des numéros de téléphone et noms de contacts vers les serveurs associés à l'application est nécessaire. Pourtant, on le pas suffisamment: cet envoi n'est dans la quasi-totalité des situations JAMAIS nécessaire!

Cet envoi n'est pas obligatoire pour trois raisons:
1) Tout utilisateur ne souhaite pas forcément savoir si ses contacts sont joignables sur l'application. Pire encore, il ne souhaite pas forcément que tous ses contacts soient avertis qu'il/elle a installé l'application sur son téléphone (c'est typiquement ce que des applications comme Viber ou Whatsapp font allègrement).

2) Certains utilisateurs préféreront renseigner eux-mêmes le numéro de téléphone à joindre. Ces applications partent du principe que personne ne souhaite procéder ainsi.

3) D'un point de vue de l'ingénierie logicielle, l'envoi sous la forme naturelle des données n'est pas nécessaire pour déterminer s'il y a corrélation entre plusieurs utilisateurs. C'est précisément pour combler ce cas précis que tout un pan de la cryptographie a grandement évolué ces quarante dernières années: les fonctions de condensé (ou hachage) servent à éviter que des données soient communiquées (ou stockées) sous leur forme naturelle tout en garantissant qu'on soit en mesure d'en attester l'authenticité à tout moment. Ignorer ce principe, c'est faire preuve, ni plus ni moins, de paresse intellectuelle. C'est également pour cette raison précise que de nombreux éditeurs logiciels se tiennent à distance des architectes en sécurité logicielle: ils savent généralement comment faire pour que des principes tels que celui de la sphère privée ne soient pas bafouées outre-mesure.


Quelles sont les conséquences de l'envoi de la liste de contacts?

Si vous n'avez pas encore clairement identifié les enjeux associés à cet envoi des listes de contacts sous forme naturelle, voici une liste de quelques informations qui peuvent très facilement être inférées par les éditeurs:
1) Ils savent qui sont vos contacts.
2) Ils savent qui ne sont pas vos contacts.
3) Ils savent qui de vos contacts ne vous ont pas inscrit dans leurs contacts.
4) Ils savent que vous existez parce que vos contacts ont envoyé votre numéro de téléphone, alors que vous n'avez vous-même jamais installé l'application.
5) Ils savent qui sont vos contacts, même si vous n'avez jamais installé l'application, parce que vos contacts leur ont dit qu'ils vous ont dans leurs contacts (relisez, c'est important de comprendre!)
6) Ils peuvent imaginer que si tous vos contacts ont installé l'application, il est probable que vous soyez intéressé-ée de l'avoir aussi.
7) Ils savent quand vous ajoutez des contacts dans votre liste.
8) Ils savent également quand vous les retirez. Bien entendu, ils savent si votre interlocuteur vous a lui aussi retiré de sa liste...

Et que se passe-t-il si en plus des numéros de téléphone, les noms sont envoyés?
9) Ils connaissent votre identité.
10) Même si vous n'avez jamais saisi votre vrai nom dans l'application...les autres l'ont probablement fait à votre place...alors ils l'ont tout de même.
11) D'ailleurs, même si vous n'avez jamais installé l'application, vos amis ont probablement envoyé leur liste avec votre nom dedans. Ils connaissent votre nom et votre numéro de téléphone.
12) Si votre entourage vous nomme de différentes manières, ils le savent aussi. En particulier si vous avez des surnoms ou un nom à particules que vous avez tenté de cacher du "public".

Conclusion?

La liste des informations 'échappées' peut encore s'allonger: quelles inférences peut-on identifier si les adresses email sont incluses dans l'envoi? Les numéros de téléphone privés et professionnels? Les données accessoires (adresse, codes de porte, etc.)?

Quels utilisateurs se demandent si les données sont supprimées des serveurs lorsqu'ils désinstallent l'application de leur téléphone? Y avez-vous déjà pensé?

Quels utilisateurs regardent les informations sur l'éditeur avant d'installer une application soi-disant gratuite? S'agit-il d'une société de marketing? D'une régie publicitaire? Quels sont les enjeux commerciaux derrière une application mobile "gratuite" collectant les listes de contact de plusieurs dizaines ou centaines de millions de personnes à travers le monde?

Finalement, quelles seraient les implications si des applications comme Whatsapp ou Viber avaient été développées par une autorité policière ou gouvernementale? Rassurez-vous, inutile de se diriger vers la parano ou les théories conspirationnistes, ces idées sont totalement fantaisistes! Enfin, elle le resteront jusqu'à ce ces entités aient pris conscience des opportunités que les applications mobiles constituent pour elles...

Je vous donne la parole!

Mise à jour 23/04/2012:
Un représentant officiel (je n'ai pas vérifié) de Viber est venu compléter certaines informations pouvant intéresser les lecteurs de cet article:
1) L'application Viber ne collecte que les noms et numéros de téléphone des listes de contacts. Aucune autre information n'est collectée.
2) Les journaux d'activité et d'erreurs sont collectés à des fins de diagnostic technique, en particulier lors d'incidents techniques touchant plusieurs utilisateurs.
3) Ces journaux sont collectés de manière anonyme.
4) Les données collectées par Viber ne sont pas revendues et sont protégées de tout accès non autorisé.
5) Certaines données peuvent être redirigées à des tiers, Viber accorde toutefois une attention particulière à ce que ces données ne soient pas conservées par ces tiers (ex: cas de l'activation du logiciel par SMS).