Après plusieurs mois d'attente injustifiée, @IN_Groupe a enfin répondu à la demande de la CNIL de publier le code source de TousAntiCovid Verif : gitlab.inria.fr/tousanticovid-… et gitlab.inria.fr/tousanticovid-… . Encore une fois, ils jouent la carte de la comédie sécuritaire burlesque…
Si vous vous attendiez à une vraie démarche open-source et transparente, vous allez être déçus. Ils expliquent dès le début qu'ils ont publié seulement les parties du code qu'ils voulaient bien montrer. De la sécurité par l'obscurité donc…
Les « raisons de sécurité » ne sont pas explicitées, mais elles sont de toute façon ridicules : n'importe qui peut lire toutes les données du QR Code du #PassSanitaire. N'importe qui peut activer le mode étendu sur TousAntiCovid Verif avec très peu de moyens et de connaissances.
N'importe qui peut créer un clone de TousAntiCovid Verif qui aspire les données des passes en tâche de fond. D'ailleurs, l'activation même du mode étendu n'a rien d'exceptionnellement dissimulé : il suffit de scanner un QR Code qui encode un JWT signé par IN Groupe.
De plus, d'autres parties du code source sont caviardées sans raison, comme la clé publique qui permet de vérifier la signature des JWT d'activation du mode étendu, l'URL et le jeton d'accès à leur API. On peut retrouver ces valeurs en 5 minutes dans l'APK, c'est ridicule 🤡.
Comme pour @TousAntiCovid, on devra se contenter de commits squashés sans description des changements ou de leur raison. Le repo est hébergé sur le GitLab de l'INRIA, on ne peut donc ouvrir des tickets que sur invitation et les pull requests sont complètement fermées.
Pour couronner le tout, ils ont publié le code sous une licence propriétaire bien dégueulasse qui interdit notamment les forks et la redistribution des sources : gitlab.inria.fr/tousanticovid-… . Une usine à gaz juridique plutôt qu'une licence simple, libre et transparente 😔 …
Je trouve par ailleurs assez cocasse (pour ne pas dire culotté) qu'ils demandent le respect d'une licence aussi complexe qu'absurde alors qu'eux-mêmes ne respectent pas les licences open-sources bien moins contraignantes des bibliothèques incluses dans TousAntiCovid Verif.
Très prompts à invoquer de prétendues « raisons de sécurité » afin de se divulguer le moins possible. Par contre, quand nos données médicales transitent par un service américain, là aucun problème de sécurité reconnu, c'est « purement politique » :
. Mais sûrement aucun problème de sécurité là encore…)
.@IN_Groupe, si vous voulez vraiment améliorer la sécurité de votre application, il y a pourtant des solutions un peu plus efficaces que la comédie sécuritaire et la sécurité par l'obscurité.
Par exemple, en testant votre application et en adoptant de meilleurs standards de développement, vous vous seriez sûrement aperçus que sur un téléphone Android en langue anglaise, n'importe quel 2D-DOC est considéré comme valide :
Par exemple en signant la liste des certificats provenant de votre API puisqu'ils peuvent être altérés au moins par Akamai, et possiblement par une entreprise qui mettrait en place un DNS menteur et un CA d'entreprise pour ses salariés.
Par exemple, en faisant pression sur votre client pour ne pas utiliser le DCC, mais un code barre allégé qui respecte la loi du 31 mai et qui expose moins de données personnelles :
À titre de comparaison, l'application Suisse est entièrement libre et open-source (back-end compris) : github.com/admin-ch/ . Ils mettent à disposition un passe sanitaire allégé en plus du DCC européen. Ils acceptent toutes les contributions extérieures.
Leur appli ne contient aucune dépendance propriétaire et est distribuée sur des stores alternatifs et pas seulement sur le store de Google et d'Apple. Bref, à défaut de faire *bien*, c'est au moins possible de faire *mieux*, mais c'est l'antithèse du modèle qu'a choisi la France.
• • •
Missing some Tweet in this thread? You can try to
force a refresh
On a récemment parlé de la collecte de statistiques d'utilisation dans @TousAntiCovid, mais TousAntiCovid Verif a insidieusement ajouté un système comparable. Moins bavard, ce dispositif reste problématique et peu éthique. cc @CNIL#PassSanitaire ⬇
Lorsqu'on ouvre TousAntiCovid Verif pour la première fois, un écran contenant un loooooong message menaçant s'affiche. Il faut scroller tout en bas pour trouver une section qui ne parle aucunement de statistiques, mais qui donne un lien vers leur politique de confidentialité.
Il faut donc télécharger leur politique de confidentialité (qui peut changer à tout moment) pour apprendre que « Aucune donnée personnelle concernant l'utilisateur n’est collectée. Seules des données techniques anonymes sont agrégées et consolidées à des fins statistiques. »
Depuis hier, @TousAntiCovid permet de convertir le #PassSanitaire français 2D-DOC vers le format européen DCC. Problème : au moment de la conversion, l'intégralité des données du pass transitent par un prestataire américain, Akamai.
L'application @TousAntiCovid qui devait être complètement anonyme finit donc par intégrer un wallet nominatif des pass sanitaires, puis par transmettre les données de ce wallet à une société tierce (déjà dénoncée) qui les fait transiter par un intermédiaire américain.
Tout ça utilise la même API d'IN Groupe que lors de mon thread initial sur TousAntiCovid Verif :
. La terminaison TLS se fait toujours chez l'américain Akamai, société soumise au Cloud Act. Seuls des serveurs géolocalisés en UE semblent répondre désormais.
Depuis quelques jours, le #PassSanitaire émis par AMELI et SI-DEP a abandonné le format français (2D-DOC) au profit d'un format européen standard appelé Digital Covid Certificate (DCC). Comment fonctionne-t-il ? Que contient-il ? Qui peut le lire ? Qui peut l'émettre ? Thread ⬇
Rappel : ce passe sanitaire permettra en France de participer aux grands rassemblements, accéder aux discothèques et voyager dans les pays qui l'acceptent. En France, il est vérifié à l'aide d'une obscure application propriétaire, TousAntiCovid Verif dont j'ai déjà parlé en mal.
Toutes les spécifications techniques de ce format sont publiques et disponibles sur une page du site de la commission européenne : ec.europa.eu/health/ehealth… . Contrairement au 2D-DOC qui utilisait un Datamatrix (gauche), ce nouveau format est basé sur le standard QR Code (droite).
TousAntiCovid Verif, Acte 2 : petit topo sur les changements que j'ai pu identifier dans la dernière mise à jour de l'application (v1.3). Spoilers : c'est en bonne voie, mais pas encore parfait. ⬇⬇⬇
✅ La vérification du 2D-DOC se fait désormais en local. Mieux : *tous* les appels réseau à IN Groupe semblent avoir été supprimés et l'application fonctionne désormais en mode avion. Les 2D-DOC ne transitent plus par un prestataire américain ni par un serveur d'IN Groupe.
Je viens d'inspecter un peu la nouvelle application officielle permettant de vérifier l'authenticité des certificats de vaccination français : TousAntiCovid Verif (play.google.com/store/apps/det…), et comme déjà relevé par d'autres (broken-by-design.fr/posts/pass-san…), c'est plutôt inquiétant. 👇
Petit préambule : lorsque vous vous faites vacciner ou que vous faites un test PCR, on vous remet un certificat sous la forme d'un code barre 2D (2D-DOC) qu'il faudra présenter pour accéder aux grands rassemblements à partir du 9 juin. Ce 2D-Doc contient des données personnelles.
Ce code barre est signé numériquement à l'aide d'une clé asymétrique ECSDA. Ceci rend théoriquement impossible la falsification et permet à tout le monde (vous, moi ou l'organisateur d'un événement) de vérifier son authenticité de façon entièrement hors ligne et décentralisée !