Journal WhatsApp active le chiffrement de bout en bout

12
5
avr.
2016

D'après Wired, l'outil de messagerie texte/audio/video récemment racheté par FaceBook vient de forcer tous ses utilisateurs à chiffrer leurs communications de bout en bout.

Cette nouvelle peut paraitre bonne pour les utilisateurs de ce logiciel, mais elle soulève plusieurs questions auxquelles je n'ai pas de réponse.

Autant le business d'Apple constituant à enfermer ses utilisateurs dans un environnement technologique exclusivement sous son contrôle me semble compatible avec un chiffrement total des communications, autant celui de FaceBook, qui exploite les données de ses utilisateurs, ne me semble pas être consolidé par ce chiffrement de bout en bout.

Qu'est-ce qui peut bien amener FaceBook à activer par défaut ce genre de fonctionnalité: un coup de com' pour contrer ses détracteurs ?

Outre une mise en avant du chiffrement à grande échelle, quel est le rapport avec le libre me demanderez-vous ? L'implication de Moxie Marlinspike, aussi connu pour l'outil Signal_(software) (anciennement TextSecure et RedPhone). Et cela me laisse encore plus dubitatif.

Compte tenu des informations contradictoires que j'ai pu lire à propos de ce spécialiste du chiffrement, je n'ai pas d'avis particulier sur son travail. Par contre qu'est ce qui peut pousser le bonhomme à s'investir dans ce projet ?

Pourquoi mettre en place ce chiffrement dans un outil privateur concurrent de celui qu'il développe dans sa propre société ?

Rien ne permet d'affirmer qu'une porte dérobée n'a pas été ajoutée avec ou sans son concours: je ne doute pas qu'il le sache, et j'en comprends encore moins son implication dans ce projet.

Certains lecteurs de ce journal seront peut-être plus informés ou inspirés que moi pour répondre à ces questions ou pour en formuler davantage.

  • # Début de réponse

    Posté par . Évalué à 6.

    https://whispersystems.org/blog/whatsapp-complete/

    Il y a un an, WhisperSystems a mis en place un partenariat avec WhatsApp pour développer le protocole de Signal dans leur outil.

  • # Intérêt

    Posté par (page perso) . Évalué à 3.

    Autant le business d'Apple constituant à enfermer ses utilisateurs dans un environnement technologique exclusivement sous son contrôle me semble compatible avec un chiffrement total des communications, autant celui de FaceBook, qui exploite les données de ses utilisateurs, ne me semble pas être consolidé par ce chiffrement de bout en bout.

    Dans les deux cas, la protection des données des utilisateurs ?

    Leur cœur de métier c'est de stocker et d'exploiter ces données, donc c'est clairement dans leur intérêt de les protéger.

    • [^] # Re: Intérêt

      Posté par . Évalué à 3.

      Absolument, tu fais d'une pierre deux coups:

      1. Tu protèges tes utilisateurs. C'est bon pour eux et pour ton image de marque
      2. Tu deviens de fait le seul capable d'exploiter les données de tes utilisateurs

      C'est pas flagrant pour WhatApps, mais le point 2 est très intéressant dans beaucoup de domaines ou tu court-circuite tous les acteurs tiers qui pourraient avoir intérêt à mesurer ou exploiter ces données. C'est un peu ce qu'il est en train de se passer sur le web et les applis ou le combo https & certificate pinning met au tapis la plupart des acteurs de mesure. Tu deviens le seul a pouvoir fournir les données ce qui est assez intéressant.

      Bref l’intérêt des utilisateurs rejoins celui du fournisseur de service et les gens qui se trouvaient au milieu meurent ou génèrent du CA supplémentaire à partir de données que l'on maitrise :)

      • [^] # Re: Intérêt

        Posté par . Évalué à 7.

        Tu deviens de fait le seul capable d'exploiter les données de tes utilisateurs

        Facebook n'a pas accès aux données (c'est du bout en bout) et ça utilise un protocole dont ils ne sont pas maîtres. C'est quoi les données que tu es le seul à pouvoir exploiter ?

        Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

        • [^] # Re: Intérêt

          Posté par . Évalué à 6.

          Tu maîtrises le end-point donc si tu veux tu peux.

          Je n'ai pas regardé en détail pour whatapps mais si tu chiffres, tu deviens le seul à pouvoir fournir des chiffres de type volume de conso, qui appelle qui etc.

          Je ne te dis pas que c'est le/un critère motivant, mais que c'est au minimum un effet de bord intéressant pour le business.

          Tu prends facebook instant articles + HTTPS + pinning et tu deviens diffuseur de contenu et régie pub en empêchant tout mesureur tier. Joie. Tu retrouves un peu le même alignement d'intérêt sur le renforcement de la sécurité des os mobiles. Sûrement pas un raison déclenchante mais on va pas cracher dessus non plus.

          • [^] # Re: Intérêt

            Posté par . Évalué à 3. Dernière modification le 07/04/16 à 05:40.

            Tu maîtrises le end-point donc si tu veux tu peux.

            C'est pas vraiment du chiffrement de bout a bout si quelqu'un peut se mettre au milieu et écouter?

            Ok, tu peux savoir combien de personnes, et qui parle quand à qui, ce qui est potentiellement le plus important, mais le contenu, il est invisible.

            Linuxfr, le portail francais du logiciel libre et du neo nazisme.

            • [^] # Re: Intérêt

              Posté par . Évalué à 3.

              En fait le chiffrement de bout en bout demande :

              • que ce soit le client qui chiffre
              • que tu puisse t'assurer que le client ne va pas transmettre au serveur de quoi déchiffrer (ou qu'ils ne se soient pas mis d'accord sur une faille comme une génération de clef imparfaite)

              C'est ce second point que je n'avais pas imaginé dans mes premiers commentaires.

              Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

        • [^] # Re: Intérêt

          Posté par (page perso) . Évalué à 3.

          Est-ce vraiment du bout en bout entre chaque navigateur ? Si c'est comme la messagerie ou les flux sont déchiffrés au passage sur les serveurs, ça ne sert à rien. Je préfère utiliser un outil comme JITSI ou Retroshare.

          • [^] # Re: Intérêt

            Posté par . Évalué à 3.

            La question ne se pose pas au niveau du logiciel, mais du protocole: le logiciel est fermé, donc invérifiable quant à ses fonctionnalités, par contre Signal met en œuvre un protocole ouvert avec une implémentation libre.
            Tout dépend donc du protocole de Signal:

            • est-ce que celui-ci assure une protection des données de bout en bout indépendamment de l'implémentation qui en est faite ?
            • est-ce qu'une implémentation ne suivant pas strictement le protocole, par exemple en trouvant le moyen de placer une porte dérobée, est détectable ou pas ?
    • [^] # Re: Intérêt

      Posté par . Évalué à 2.

      Chiffrement bout en bout signifie que le serveur relai ne voit pas de trafic en clair.
      Donc comment exploiter les données ?

      • [^] # Re: Intérêt

        Posté par (page perso) . Évalué à 4.

        Le contenu est chiffré mais les métadonnées sont en clair. Qui parle a qui, combien de temps, etc… Ça peut avoir l'air anodin en termes de monétisation mais avec l’arrivée des bots qui communiquent directement avec le client, ça peut être très intéressant pour Facebook de voir que tu passes ton temps a parler avec le bot de Coca-Cola…

        (Grosse spéculation bien sur, je n'ai aucune donnée pour confirmer ça)

        • [^] # Re: Intérêt

          Posté par . Évalué à 3.

          Le contenu est chiffré mais les métadonnées sont en clair.

          Donc mon FAI le vois aussi. Le chiffrement ne change rien à ça. Le message initial parle de ce qui a motivé le chiffrement.

          Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

          • [^] # Re: Intérêt

            Posté par (page perso) . Évalué à 2.

            Donc mon FAI le vois aussi.

            Pas tout à fait, tout ce que voit ton FAI est que tu utilises Whatsapp, quand et pendant combien de temps. Il manque l'information la plus juteuse, qui est de savoir avec qui tu parles.

        • [^] # Re: Intérêt

          Posté par . Évalué à 1.

          Le contenu est chiffré mais les métadonnées sont en clair.

          Pas nécessairement, non.

          • [^] # Re: Intérêt

            Posté par (page perso) . Évalué à 2.

            Ok, c'était un peu rapide mais je pensais que le contexte était clair: il y a un canal chiffré end-to-end du contenu entre les participants, et un canal chiffré entre chaque participant et Whatsapp. Le contenu est invisible par Whatsapp, mais les métadonnées (qui parle avec qui, quand, combien de temps, …) leurs sont accessibles. Le monde extérieur n'a accès à rien, bien sûr.

      • [^] # Re: Intérêt

        Posté par . Évalué à 3.

        En fait la question, c'est comment tu garantis que le serveur n'est pas en mesure de déchiffrer la donnée ? Quand tu a à la fois la maîtrise de la partie cliente et serveur, ça veut dire que c'est toi qui a généré les clefs. Comment tu vérifie qu'ils n'en font pas une copie sur le serveur ? Qu'ils n'ont pas (sciemment ou non) supprimé l'entropie pour généré les clefs ? Etc…

        Je ne connais rien au protocole signal et je suis très loin de pouvoir affirmer quels sont les garanties par le protocole en lui-même.

        Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

        • [^] # Re: Intérêt

          Posté par . Évalué à 3.

          En fait la question, c'est comment tu garantis que le serveur n'est pas en mesure de déchiffrer la donnée ?

          Si la paire de clés est générée côté client (par exemple un JS pas obfusqué…) et que c’est toujours du code client qui se charge d’envoyer éventuellement la clé publique puis de chiffrer systématiquement le contenu envoyé ensuite je ne vois en quoi il est nécessaire de faire confiance au code serveur, qui même s’il est libre peut très bien avoir été patché sauvagement par l‘administrateur dû dit serveur…

          Reste en effet les méta-données (heure, origine, quantité de donnée (chiffrée !), etc…) qui peuvent être exploités statistiquement si elles représentent un volume important.

          • [^] # Re: Intérêt

            Posté par . Évalué à 5.

            par exemple un JS pas obfusqué…

            Tu pars de l'hypothèse de pouvoir auditer le client. Si ça n'est pas le cas, comment vérifie-tu qu'il n'envoie pas ta clef privé en même temps que des données utilisateur (nom, avatar, numéro de téléphone,…) ?

            Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

            • [^] # Re: Intérêt

              Posté par . Évalué à 2.

              Tu pars de l'hypothèse de pouvoir auditer le client.

              Bah oui, je pars du principe de pouvoir auditer le code client (JS) qui tourne dans mon Firefox (et là on note au passage que je me repose sur l’intégrité d’un code, celui de Firefox, que je suis bien loin d’être en mesure d’auditer…)

              Un « code client » par définition tu le fais tourner sur un OS/Matériel en lequel tu as confiance… en contrôlant un tas de paramètres…

              • [^] # Re: Intérêt

                Posté par . Évalué à 3.

                WhatsApp c'est une appli mobile. Je ne suis pas certain que ce soit du JS non minifié qui tourne derrière. Je n'ai pas fait d'analyse de l'apk pour vérifié si on peut facilement le décompiler etc.

                Donc pour WhatsApp (ce dont on parle), on a assez peu de moyens de se rassurer (tant que personne n'essaie des techniques pour vérifier le binaire).

                Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • # A mon avis

    Posté par (page perso) . Évalué à 6.

    Déjà, on peut lire l'annonce côté OpenWhisperSystems (ie les gens qui font Signal) par ici.

    Pourquoi mettre en place ce chiffrement dans un outil privateur concurrent de celui qu'il développe dans sa propre société ?

    Mon intuition: parce que en fait le boulot d'OpenWhisperSystems n'est pas Signal, mais le Protocole Signal. L'application est aujourd'hui le moyen qui rassemble le mieux sécurité et facilité d'utilisation, et toute sa puissance vient du protocole. Moxie est un cryptographe et un codeur; avec ses copains son centre d'intérêt majeur c'est avoir un protocole standard et simple de chiffrement qui peut être intégré partout.

    On peut d'ailleurs le voir dans le message d'annonce originel (emphasis mine):

    For the past three years, we've been developing a modern, open source, strong encryption protocol for asynchronous messaging systems, designed to make seamless end-to-end encrypted messaging possible.

    Today we're excited to publicly announce a partnership with WhatsApp, the most popular messaging app in the world, to incorporate the TextSecure protocol into their clients and provide end-to-end encryption for their users by default.

    Je n'imagine pas une seule seconde que l'intégration du Protocole Signal dans Whatsapp ait été faite gratuitement, et au vu de leur propre communication on sent bien que répandre le protocole est le but final. C'est même dit explicitement dans l'annonce d'aujourd'hui:

    Over the next year, we will continue to work with additional messengers to amplify the impact and scope of private communication even further.

    Pour le reste:

    Rien ne permet d'affirmer qu'une porte dérobée n'a pas été ajoutée avec ou sans son concours

    Au pire on a la même situation qu'aujourd'hui. Sinon on fait confiance à OWS comme on ferait confiance à une boîte qui fait l'audit d'un logiciel, proprio ou non, et on envisage la possibilité que le chiffrement dans les applications se répand petit à petit, que les développeurs commenceront à intégrer l'intégrer comme fonctionnalité de base et pas comme ajout facultatif (n'est-ce pas, Telegram) et que du coup les communications sont de moins en moins en clair.

    • [^] # Re: A mon avis

      Posté par (page perso) . Évalué à 1.

      Il est alors un peu dommage que le protocole ne semble être spécifié formellement nulle part.

      • [^] # Re: A mon avis

        Posté par (page perso) . Évalué à 1.

        Pour préciser, c'est la partie crypto qui est intéressante, et elle est plutôt bien spécifiée, mais ça ne semble pas être le cas du protocole d'échange de messages (qui est d'ailleurs a priori différent entre Signal et Whatsapp).

  • # je ne sais pas...

    Posté par . Évalué à -1.

    Autant le business d'Apple constituant à enfermer ses utilisateurs dans un environnement technologique exclusivement sous son contrôle me semble compatible avec un chiffrement total des communications, autant celui de FaceBook, qui exploite les données de ses utilisateurs, ne me semble pas être consolidé par ce chiffrement de bout en bout.

    wikipedia nous dit,

    Signal messages and calls are routed through Open Whisper Systems' servers. Open Whisper Systems has set up dozens of servers to handle the encrypted calls in more than 10 countries around the world to minimize latency.[1]

    All client-server communications are protected by TLS.[49][40] Once the server removes this layer of encryption, each message contains either the phone number of the sender or the receiver in plaintext.[50] This metadata could in theory allow the creation of "a detailed overview on when and with whom users communicated".[50] Open Whisper Systems have asserted that their servers do not keep this metadata or any logs about who called who and when.[51]

    Le truc intéressant c'est le 'double rachet',

    Signal instant messages are encrypted with the Signal encryption protocol, which combines the double ratchet, prekeys, and a 3-DH handshake.[41] It uses Curve25519, AES-256, and HMAC-SHA256 as primitives.[42] The protocol provides confidentiality, integrity, authentication, participant consistency, destination validation, forward secrecy, backward secrecy (aka future secrecy), causality preservation, message unlinkability, message repudiation, participation repudiation, and asynchronicity.[43] It does not provide anonymity preservation, and requires servers for the relaying of messages and storing of public key material.[43]

    Qui en jumpant plus loin nous donne,

    the double ratchet features properties that have been commonly available in end-to-end encryption systems for a long time: encryption of contents on the entire way of transport as well as authentication of the remote peer and protection against manipulation of messages. As a hybrid of DH and KDF ratchets, it combines several desired features of both principles. From OTR messaging it takes the properties of forward secrecy and automatically reestablishing secrecy in case of compromise of a session key, forward secrecy with a compromise of the secret persistent main key, and plausible deniability for the authorship of messages. Additionally, it enables for session key renewal without interaction with the remote peer by using secondary KDF ratchets. An additional key-derivation step is taken to enable retaining session keys for out-of-order messages without endangering the following keys.

  • # Inspiré de Telegram ?

    Posté par (page perso) . Évalué à 3.

    Qu'est-ce qui peut bien amener FaceBook à activer par défaut ce genre de fonctionnalité: un coup de com' pour contrer ses détracteurs ?

    Pour contrer ses concurrents comme Telegram surtout.

  • # modèle économique

    Posté par (page perso) . Évalué à 4.

    À supposer que ce soit bien chiffré de bout en bout sans possibilité de déchiffrement dans le serveur, il y a encore de nombreuses possibilités d'analyses:

    • déjà le client peut faire une analyse sur le téléphone : tu peux envoyer ton message chiffré, mais ton client peut savoir que tu as dis marseille, voyage et août, et avertir le serveur qu'il faut envoyer des pubs sur les boules de pétanque et le Pastis

    • les métadonnées, comme dit plus haut

    • le chiffrement n'empêche pas d'envoyer des pubs

    • et c'est pas Whatapp qui envoit la liste complète des contacts aux serveur ? Niveau vie privée on a vu mieux

    • d'ailleurs je pense que même sans savoir à qui ont écrit (ce qu'ils savent), savoir avec qui on est en relation est une information extrêment intéressante

    • comme dit plus haut les bots en effet peuvent aider aussi, surtout que monsieur Z a annoncé qu'il mettait des billes dedans

    Bon ce ne sont que des hypothéses, et c'est tout de même une (très) bonne chose que le chiffrement de bout en bout devienne un arguement de poids. Maintenant faudrait faire de même avec standardisation, décentralisation, et surtout code libre.

    • [^] # Re: modèle économique

      Posté par . Évalué à 2.

      Maintenant faudrait faire de même avec standardisation, décentralisation, et surtout code libre

      En terme de SaaS, de la fourniture d’un service, le fait que le code serveur soit libre n’est aucunement une garantie d’intégrité du service…

      déjà le client peut faire une analyse sur le téléphone : tu peux envoyer ton message chiffré, mais ton client peut savoir que tu as dis marseille, voyage et août, et avertir le serveur qu'il faut envoyer des pubs sur les boules de pétanque et le Pastis

      D’où l’importance que le code qui tourne sur le terminal du client soit ouvert, dans ce cas, un tel comportement ne pourrait être dissimulé, il apparaîtrait clairement à la lecture du code source de la partie cliente.

      • [^] # Re: modèle économique

        Posté par . Évalué à -6.

        pourquoi on doit garder un serveur au fait ? un client n'est il pas déjà un serveur en puissance. on peut imaginer n'avoir besoin tout au plus que d'un point de relais pour entrer dans le sous réseau. bon y a bien une histoire de bande passante plutôt limitée qui quelque part me chagrine..

        • [^] # Re: modèle économique

          Posté par . Évalué à 3.

          pourquoi on doit garder un serveur au fait ? un client n'est il pas déjà un serveur en puissance.

          Tu penses à un réseau « pair à pair » ?

          on peut imaginer n'avoir besoin tout au plus que d'un point de relais pour entrer dans le sous réseau. bon y a bien une histoire de bande passante plutôt limitée qui quelque part me chagrine..

          Alors là je n’ai absolument rien compris à ce que tu as voulu essayer de dire…

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.