Sécuriser une communication VOIP avec ZRTP

Une fois n’est pas coutume, nous allons vous parler dans ces pages de sécurisation, de chiffrement et d’anonymisation de la voix sur IP. Vous avez probablement suivi du coin de l’oeil le flame d’hier entre l’ami Okhin et l’AFP, brillamment résumé par Skhaen ici. Vous savez probablement qu’il n’est pas du tout dans nos habitudes de faire de la publicité, encore moins quand il s’agit de nos propres solutions. Et bien je vais aujourd’hui transgresser cette règle, cette mini-documentation s’adresse particulièrement aux journalistes qui utilisent Skype pour établir des communications avec leurs sources, les mettant ainsi en danger.

Je vous en avais très brièvement parlé sur mon blog il y a quelque temps, avec les copains de Rayservers, nous avons mis en place une offre VPN un peu particulière, mettant en oeuvre l’état de l’art de l’art en matière de chiffrement et d’anonymisation de flux (COMSEC), utilisant une PKI x509 (sans clé statique) et  AES 256.

Pour résumer, le point de sortie au Panama vous permet, une fois connecté au VPN, de choisir un autre node de sortie, un proxy privé. Ainsi depuis le Panama, vous pouvez sortir en Suisse, en Suède, aux USA, en Grande-Bretagne, et même sur un noeud privé Tor (afin de changer régulièrement et automatiquement d’adresse IP). Ainsi, il vous est par exemple simultanément possible :

  • de surfer avec un navigateur depuis une IP panaméenne,
  • de surfer avec un autre navigateur avec une IP dynamique du réseau TOR,
  • de chatter avec une IP suédoise,
  • de consulter vos emails avec une IP anglaise.
  • etc… 

Comprendre les risques

Quand nous naviguons sur Internet, nous laissons de nombreuses traces. Ces traces sont laissées aussi bien sur les sites que nous visitons (journaux d’accès), sur les machines par lesquelles passent nos communications, que sur nos propres machines et appareils mobiles se connectant à Internet. En corrélant tout ou partie de ces traces, il devient aisé de tracer une grande partie de l’activité Internet d’une personne, par exemple de savoir quels services et logiciels elle utilise, avec qui elle communique, à quelle fréquence…

Quelques traces que vous laissez sur Internet :

  • Adresse IP ,
  • Adresse mac (identifiant unique de la carte réseau de votre appareil connecté, renseignant la marque et le modèle de la machine que vous utilisez),
  • Pages visitées (source et destination),
  • Durée des sessions,
  • Métadonnées de votre navigateur ou de vos applications (oui… Skype également),
  • Protocoles utilisés,
  • Identité de votre fournisseur d’accès Internet,
  • Identité de votre système d’exploitation,
  • Résolution d’écran utilisée,
  • Typographies et plugins installés,
  • (…)

Afin de bien comprendre où et comment ces traces peuvent être interceptées, je vous propose de regarder attentivement ce petit schéma

Vous avez dit COMSEC ?

Nous l’avons dit et répété dans nos pages, la sécurisation d’une communication doit prendre en compte 2 paramètres :

  • La sécurisation des données (le contenu), assurée par le chiffrement (des mécanismes cryptographiques assurant le transport des données).
  • La sécurisation du contexte  (le contenant : votre système d’exploitation et vos applications), assurée par un ensemble de bonnes pratiques. L’utilisation d’une machine virtuelle, isolée de votre système d’exploitation principal, est une bonne pratique que nous encourageons vivement.

La sécurisation du contexte est probablement la chose la plus délicate à mettre en oeuvre puisqu’elle fait appel à une somme de connaissances non négligeable et qu’il n’existe pas de solution miracle. On se rappellera, pour illustrer nos propos, d’un petit malin qui se pensait bien caché derrière TOR et qui avait malencontreusement oublié de sécuriser son contexte, révélant ainsi des informations nous permettant de remonter à lui.

Établir une communication VOIP sécurisée

Nous nous sommes donc naturellement penchés sur les solutions logicielles ou matérielles implémentant l’état de l’art en matière de chiffrement de la VOIP. Et l’état de l’art, c’est le protocole ZRTP, dont l’un des géniteurs n’est autre que Phil Zimmerman, le génial papa de PGP. Niveau matériel, peu de solutions implémentent à ce jour ZRTP. Nous citerons pour le moment les solutions de SNOM.

Côté logiciel, nous nous concentrerons aujourd’hui sur Twinkle, disponible sur GNU/Linux et MacOSX, mais sachez que d’autres softphones l’implémentent comme l’excellent Jitsi (GNU/Linux/MacOSX/Windows) dont nous vous recommandons tout particulièrement les nightly builds.

Twinkle est un logiciel libre, qui couplé à l’utilisation d’un VPN robuste et aux bonnes pratiques que nous avons évoqué ci-dessus, offre une protection sérieuse contre les interceptions. Vous devez disposer d’un compte SIP.

Installation sous Debian GNU/Linux ou Ubuntu depuis un terminal :

# apt-get install twinkle

Installation universelle depuis les sources sous Unix et GNU/Linux :

# ./configure

# make && make install clean

Lancez Twinkle et rendez vous sur  Edit -> User Profile

Configuration type :

User -> User name: votre numéro identifiant d’extension SIP par exemple 4242
User -> Domain: sip.toonux.net (le serveur de votre fournisseur de service SIP)
User -> Authentication:  votre numéro identifiant d’extension SIP par exemple 4242
User -> Password: votre mot de passe

SIP Server -> Registrar: sip.toonux.net (le serveur de votre fournisseur de service SIP)
SIP Server -> Expiry: 60

RTP Audio => Active Codecs [de haut en bas]

Speex-wb (16 KHz)
Speex-nb (8 KHz)
GSM
G711u
G711a

Follow codec preference from far end on incoming calls: décoché

Follow codec preference from far end on outgoing calls: décoché

Note : si vous disposez d’une faible bande passante, privilégiez Speex-nb (8 KHz) en premier choix

Security => 

Enable ZRTP encryption: coché

Only Encrypt Audio if remote party indicated support in SDP: décoché
Indicate ZRTP support in SDP: coché
Popup warning if remote party disables encryption: coché

Une fois cette configuration sauvegardée, et connecté à votre VPN, vous voici prêts à émettre et recevoir des communications sécurisées.

La mise à disposition d’accès SIP, de comptes VPN et l’observation de ces procédures de manière scrupuleuse, devrait être une pratique courante dans toutes les rédactions qui enquêtent sur des sujets dont les sources peuvent risquer leurs vie.

Chez Reflets, nous ne savons que trop bien que les capacités d’interception des communication de régimes autoritaires, comme en Syrie, sont rendues possibles grâce à des technologies occidentales, principalement américaines et françaises.

Amis journalistes, la sécurité de vos sources est quelque chose de trop sérieux pour que vous la négligiez, même si ce sont vos sources qui cherchent à vous contacter par Skype, il est de VOTRE responsabilité de les éduquer.

Twitter Facebook Google Plus email


62 thoughts on “Sécuriser une communication VOIP avec ZRTP”

      1. Bon Madouf, je veux bien que tu trolles (comme d’habitude), mais stp apprends à lire :

        50 euros qui comprennent :

        – 5 comptes VPN
        – 5 comptes SIP avec phone call (vraiment) illimités USA et CANADA
        – L’hebergement du site web
        – Les mails avec webmail TOR

        Tu connais beaucoup d’offres de ce type toi ?

        Et encore une fois non ce n’est pas tout public, nous ne visons pas une clientele qui cherche à contourner hadopi.

        Si tu as des questions je suis prèt à te répondre mais de grâce apprends un peu lire les liens au lieu de scotcher sur le prix d’une offre destinée à 5 personnes. Le mot « team » en anglais voulant dire équipe.

        Merci

    1. Oui je suis un enculé de businessman qui cherche à s’enrichir sur votre dos, d’ailleurs je suis millionnaire, en exploitant vos peurs.
      Tu noteras que si je n’avais pas écrit cette phrase noir sur blanc, tu n’aurais jamais posté ce commentaire.

      1. Pure constatation, aucun jugement, t’as besoin de bouffer comme tout le monde, je vois pas le problème. Je suis juste étonné que tu ai pondu cet article aussi vite après les altercations Telecomix/AFP, sérieusement, tu savais que tu allais te faire flame, nan ?

  1. Je pense qu’un lien vers l’article de wikipedia en anglais serait plus pertinent (http://en.wikipedia.org/wiki/ZRTP). Notamment, la conclusion que ZRTP n’est pas MITM-proof, au moins à la première connexion.
    Dans un environnement où l’interception serait (est ?) systématique, est-ce bloquant ? À mon avis, oui et non. Oui parce que bien qu’on ait relevé le niveau de sécurité, le problème reste le même. Non parce que de toutes façons, la seule réponse à ce problème est l’authentification des deux extrémités, ce qui est relativement impossible dans ce cas (pas d’autre moyen de communication non surveillé).

    Est-ce que j’ai bon, ou raté un truc ? Parce que j’ai du mal à faire le lien avec le VPN présenté au début de l’article, ça me paraît deux choses différentes.

    1. Meme réponse qu’au dessus, on va vraiment finir par te blacklister. Au lieu de te payer une merdebox, prends toi un abo Internet nu et si tu as besoin de sécurité chope toi un truc sérieux.
      Tu crois que l’infra est gratuite ?
      En outre cette activité n’est pas bénéficiaire chez nous attendu qu’on file des comptes à des dissidents.

          1. Madouf, tu ne donnes pas ton opinion, tu portes un jugement infondé en me disant « putain 50 euros c’est cher », sans même avoir pris soin de faire un savant calcul : 50/5 et en mettant en perspective ce que comprend l’offre à 10 euros par personne.

            Les offres entre 5 et 10 euros normalement, regarde bien, c’est surement pas de la pki x509 openvpn, y’a pas de compte sip, et encore moins de hosting du NDD avec les emails.

            Donc oui ton avis c’est « c’est cher ».
            Ben clap clap clap, c’est bien. Je te propose de faire mieux.

          2. Je dis cher pour un usage personnel.
            Admets que ca l’est ?

            (mais tu m’as dit, oui, mais c’est 5 comptes)

            fin de la polemique

          3. J’espere que tout le monde trouve que ce point evident.
            (ca ne l’etait pas pour moi).

            Sinon, je vous promets que mis à part le fait de taquiner un peu, que je ne cherchais pas la polemique et qu’elle cette dernière avance toute seule :D

          1. Je donne mon opinion, vous avez le droit de ne pas partager mon point de vu.

            Je pense que la reciproque est vrai également ?

      1. « attendu qu’on file des comptes à des dissidents. »
        >>

        Je vois mal comment vous operez (et ce n’est pas la question), mais le point faible sera de les contacter avant ET de savoir qui est qui.
        Tu vas dire que je trolle, mais les gens de la mafia se reconnaissent (par exemple) à leur tatouages.

        C’est comment qu’on reconnait un vrai opposant d’un faux ?
        Le vrai tue un militaire ? (non, non, c’est provocant mais je ne trolle pas, il te faut un critere de reconnaissance).

        Tu peux faire aussi ultra secure que tu veux, si tu ne sais pas qui est en face à coup sur, ta sécu tombe à l’eau.
        J’avoue etre quelque peu perplexe quand à la possibilité de ne pas vous faire infiltrer.
        (ce n’est pas un critique, c’est un point que je souhaite porter à ton attention, tu fais comme tu veux).

        Quand à mon orange box des familles, elle a été choisie pour son debit, qui ICI, était superieur aux concurrents et moins cher qu’un abonnement couplé à une ligne telephonique.

        Tu vois bien que ta solution de secu à un cout en temps et en argent, donc a titre purement personnel, je fais un arbitrage entre les differents usages dont j’ai besoin et la secu est un critere parmi d’autres.

        Voila pour l’explication (mais il est vrai que je n’ai pas à me justifier et qu’au fond je suis sur que tu t’en fouts)

          1. C’est bien sur à toi de voir (et au fond je ne peux pas en parler), mais a moins de me faire tirer dessus et l’autre aussi, ca ne voudrait pas dire grand chose.

  2. Madouf…Madouf…? mais ce pseudo me dit aussi quelque chose…attends voir…ah…oui…je vois, ça y’est ! Le mec qui passe son temps à constituer des contre argumentaires basés sur des soupçons, des idées inventées au coin d’une cafetière et des théories à base de doigt dans le vent. Ouais, ouais, ouais. Remarque, ça fait gonfler nos scores de comm’, et comme on est tous payés au nombre de comm, ben on est pété de thunes grâce à Madouf ! Merci Madouf :-)

  3. Pour revenir a ce qui est interessant: Tres bon article une fois de plus, technique mais tres clair et surtout vous faites le premier pas en proposant (publiquement) de repondre aux besoins de ceux qui doivent securiser de la VoIP sans avoir un diplome en info ou comme vous le dites (l’expression me faisant beaucoup rire) qui ont vu la « ville » se construire :)

    Il va falloir que je passe du temps pour me renseigner car y’a encfore des trucs que je comprends pas, mais je l’espere on verra que cela a servit. Ou plutot on ne verra pas que cela a été inutile. Heureusement qu’on a des gens comme vous, Telecomix, la Quadrature etc sinon nous ne serions sans doute que des vendeurs d’armes a la population maintenue dans l’ignorance.

    Par contre j’adore notre espece si intelligente et delicate qui d’un article qui tente d’empecher la mort et la torture d’hommes et de femmes vivant sous des regimes totalitaire, le troll moyen ne retiens que « 50 roro pour une VPN c’est cher, non? ». Comme l’a dit l’inimitable Professeur Farnsworth: « I don’t wanna live on this planet anymore »

  4. « On se rappellera, pour illustrer nos propos, d’un petit malin qui se pensait bien caché derrière TOR et qui avait malencontreusement oublié de sécuriser son contexte, révélant ainsi des informations nous permettant de remonter à lui. »

    Dans l’article vous ne dites pas qu’il passe par TOR. Je croyais qu’il passait juste par un proxy.

    Quoi ? Comment ça on s’en fout le résultat est le même ?

      1. Je voudrais simplement savoir comment vous avez su que le proxy utilisé, 64.20.45.178, était un proxy monté sur une machine TOR.
        Rien ne l’indique, ni une recherche sur Whois
        http://www.robtex.com/ip/64.20.45.178.html

        ni une recherche sur les divers liste de noeuds TOR
        http://torstatus.blutmagie.de/
        http://torvpn.com/proxylist.html
        http://proxy.org/tor.shtml

        Si le proxy utilisé est celui-là : http://4gproxy.info/
        Ça semble être un proxy « normal » et pas un proxy TOR.

        Et je sais bien que ça ne change rien au résultat final, mais c’est juste pour la précision.

        Cheers.

  5. À quel endroit on laisse trainer l’adresse mac de la carte réseau sur internet ? Ce n’est pas une donnée présente dans les trames ip.

    Éventuellement sur l’infra du FAI, qui pourrait récupérer ça via sa box, mais à part ça ?

    1. Normalement c’est à cause de l’IPv6 que l’on risque de laisser sa mac sur internet mais pas à cause de l’IGP ou de l’EGP vus que la mac est remplacé par celle du routeur.

      Comment un site pourrait connaitre mon adresse Mac ? Ou alors on ne parle pas de la laisser sur un site ?

      1. Pareil , je me demande hormis un logiciel spécifique sur la couche application qui s’amuserait à faire ça pour raisons de « flicage » , je ne vois pas quel intérêt aurait internet à connaître pour adresse mac en ipv4…

  6. Pour rappel, un VPN permet de chiffrer les données qui sortent de votre ordinateur/tablette/smartphone jusqu’au serveur VPN. Ce dispositif a par exmple permis aux internautes turc de contourner le filtrage de Twitter et permet à des millions d’internautes chinois d’accéder à un Internet sans cyber-censure.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *