Le #fail de l’ANSSI / IGC/A / MINEFI (ce que j’en comprends)

Ce billet reprend les éléments “publiés” sur pastee pour répondre à une question de @sandrinecassini (elle promettait un verre, il ne m’en fallait pas plus).

Génération de l’autorité intermédiaire

L’ANSSI génère au MINEFI une autorité intermédiaire de son autorité de certification racine (avec les mêmes pouvoirs que celle-ci), sans doute pour que le MINEFI puisse émettre de façon autonome des certificats reconnus pas les navigateurs.

Interception des flux SSL sortants au MINEFI

Parallèlement, le MINEFI décide de mettre en place un proxy capable de “déchiffrer” les connexions HTTPS sortantes. Pour cela, une seule solution, il faut faire une “attaque” MITM (man-in-the-middle).

Au lieu de créer une autorité de certification dédiée à cette tâche et de la faire reconnaître par tous les postes clients concernés (ce qui est possible quand on est légitime à faire cette “attaque”, puisqu’on n’est supposé toucher que des postes que l’on maîtrise, mais qui peut être fastidieux, surtout si, par exemple, tous les postes n’ont pas les mêmes administrateurs, ou si, plus généralement, le parc n’est pas très bien maîtrisé ; je dirais bien qu’au MINEFI ça m’étonnerait, mais on va m’accuser de troller), le MINEFI décide d’utiliser l’autorité intermédiaire confiée par l’ANSSI.

NB : je ne prendrai pas le risque de me prononcer ni sur la légalité ni sur la légitimité de cette mise en place.

Découverte des certificats par Google

Google fait de la vérification de certificats quand on accède à ses domaines avec son navigateur Chrome (facile, il maîtrise le client et les serveurs). Cette vérification lui a déjà permis de détecter des attaques menées contre les internautes citoyens de certaines dictatures.

Update : Matthew Green explique très bien comment Google procède dans un article sur son blog, qui date de 2011 quand une autorité intermédiaire (déjà) accidentellement émise par TURKTRUST avait (déjà) été utilisée pour produire des certificats illégitimes pour des domaines de Google. Merci @tomchop_ d’avoir opportunément exhumé ce billet !

Google détecte donc que certains de ses clients accèdent à ses domaines via des certificats illégitimes (puisque non approuvés par Google) signés par l’autorité intermédiaire de l’ANSSI.

Questions ouvertes

Est-ce que l’ANSSI savait ou non que le MINEFI allait utiliser son autorité intermédiaire pour ça ? Je n’en sais rien.

Est-ce que l’ANSSI voulait intercepter (ou aider quelqu’un à intercepter) des communications de personnes non consentantes de cette façon ? Vraisemblablement non parce que c’était très risqué, particulièrement en termes d’images (la preuve).

Je dirais donc que c’est probablement un problème d’incompétence à l’ANSSI (soit parce qu’elle a confié une autorité intermédiaire à des incapables, soit pire, parce qu’elle a accepté une utilisation anormale de cette autorité) et au MINEFI, bien plus probablement que l’ANSSI et/ou le MINEFI (et/ou d’autres) qui jouent aux barbouzes.

Update : à propos de l’utilisation de Chrome au MINEFI

Il est nettement plus probable, contrairement à ce qu’on peut lire ailleurs, que Chrome ait été utilisé sur le réseau surveillé, plutôt que Google ait utilisé des moyens de renseignement pour savoir que des certificats illégitimes étaient utilisés pour ses domaines. La meilleure preuve est que si cela avait été le cas, Google n’aurait simplement rien dit à l’ANSSI, pour préserver ce moyen de renseignement.

Update : interview du DG de l’ANSSI

Patrick PAILLOUX, Directeur général de l’ANSSI, a accordé une interview à PC INpact, dans laquelle il donne sa version.