Analyse des Apps Certificat COVID

Introduction

À l’approche de la votation émotionnelle du 28 novembre prochain qui porte sur la Loi  COVID – et plus particulièrement sur le certificat COVID – et certaines interrogations qu’elle suscite, nous avons décidé de procéder à une analyse des applications COVID de la Confédération.

Objectif

Le but de cette analyse est de déterminer si les applications de Certificat COVID de la Confédération sont respectueuses de la Loi sur la Protection des Données (LPD) et correspondent à leurs conditions d’utilisation.

Notre analyse porte sur les versions Android des applications.

Critères d'analyse

  1. Est-ce que le code source publié est fonctionnel?
  2. Est-ce que les Apps récoltent et transmettent des coordonnées GPS?
  3. Est-ce que les Apps demandent plus de permissions que celles nécessaires à leur fonctionnement?
  4. Est-ce que les Apps récoltent d’autres données?
  5. Est-ce que le serveur récolte des données?
  6. Quelles sont les informations contenues dans le QR?

Code source

  • Le code source est disponible sur GitHub : https://github.com/admin-ch/
  • Les Apps de certificat et de vérification utilisent la même base de code :
    • Module ‘Wallet’ : L’application de Certificats COVID (COVID Certificate)
    • Module ‘Verifier’ : L’application de vérification des Certificats COVID (COVID Certificate Check)

Résultats de l'analyse

1. Est-ce que le code source est fonctionnel?

En dehors du fait qu’il manque le certificat SHA256 de la Confédération nécessaire à la vérification des certificats COVID, les deux applications mobiles peuvent être compilées et sont fonctionnelles.
Il est normal que ce certificat ait été retiré du code source avant publication, car il permet sans doutes d’identifier l’OFSP et il s’agit donc d’une information critique.
le code source publié sur Github correspond à l’application publiée sur le ‘store’ Android alternatif, open source et libre, F-Droid.

F-Droid ayant des critères d’acceptation sévères en ce qui concerne la publication du code source, des librairies utilisées. Le ‘store’ d’applications Android alternatif vérifie que chaque application publiée correspond à leurs critères et que les applications soumises correspondent au code source disponible publiquement.

2. Est-ce que les Apps récoltent et transmettent des coordonnées GPS?

Lors de nos tests, les permissions suivantes ont été demandées par l’application :

  • INTERNET : nécessaire pour communiquer avec Internet ✓
  • CAMERA : ✓
    • Nécessaire pour enregistrer un nouveau certificat COVID papier
    • Nécessaire pour scanner un code QR de certificat COVID
  • ACCESS_NETWORK_STATE : état du réseau pour s’assurer de pouvoir contacter le serveur ✓

L’application ne demande pas de permissions de localisation. L’application ne peut donc pas récupérer, ni transmettre les coordonnées GPS de l’utilisateur. Ceci est confirmé aussi bien pour l’application du certificat que pour l’app de vérification.

3. Est-ce que les Apps demandent plus de permissions que nécessaire à leur fonctionnement?

Comme constaté avec le point précédent, les permissions demandées par les applications sont légitimes et nécessaires à leur bon fonctionnement, sans pour autant donner accès à des informations sensibles.

4. Est-ce que les Apps récoltent d'autres données?

Étant donné que les applications n’ont pas d’autres permissions, il n’est pas possible qu’elles aient accès à des données d’applications tierces – au vu des paramètres de sécurité gérés par Google dans Android.

5. Est-ce que le serveur récolte des données?

Lors de nos tests, nous avons pu scanner des certificats sans être connecté à Internet avec l’appareil de vérification.

Nous avons analysé le code source du vérificateur et rien n’indique que les codes QR scannés seraient stockés quelque part, ou envoyé vers le serveur de l’OFSP si une connexion disponible.
Les serveurs de l’OFSP ne récoltent donc, à priori aucune données à partir de ces applications.

6. Quelles sont les informations contenues dans le QR?

Données contenues dans le QR :

  • Type de certificat : Light ou Normal
  • Nom, prénom, date de naissance
  • Signature de l’émetteur
  • Date de génération
  • Date de fin de validité
  • Informations médicales
    • Date d’infection
    • Date et résultat du test
    • Date de vaccination, vaccin et nombre de doses
  • Statut (vérification si révoqué ou non)
  • Correspondance aux critères de la Suisse (en cas de certificat étranger)

Source et informations complémentaires sur les spécifications du code QR :
https://ec.europa.eu/health/sites/default/files/ehealth/docs/digital-green-certificates_v1_en.pdf#page=7

Nos tests indiquent qu’il est possible de récupérer les informations de nom, prénom et date de naissance facilement. Cependant la consultation des autres informations liées au certificat (nombre de doses, origine du certificat, type de vaccin, etc.) nécessite des connaissances techniques ou l’utilisation d’une application non-officielle.

Il semble que la validité du certificat est basée sur la signature de l’émetteur et la date de fin de validité, ainsi que le statut de révocation.

Conclusion

Indépendamment de toute opinion à propos la Loi COVID et de la votation à venir, nos tests nous ont permis de constater que les applications Certificat COVID de la Confédération sont respectueuses de la vie privée et sécurisées en ce qui concerne le traitement des données et le traçage des utilisateurs.

Nous saluons la démarche de transparence de la Confédération avec la mise à disposition publique du code source permettant à toute personne dotée de connaissances techniques de vérifier le bien fondé de l’application et remonter de potentielles failles de sécurité.

Au moment de rédiger cet article, nous n’avons découvert aucun moyen d’abuser de ces applications – aussi bien au niveau du traitement des données que de l’émission de certificats frauduleux – sans avoir préalablement obtenu des droits d’émission de certificats de la part de l’OFSP.

Concernant les données médicales dans le QR, voir notre erratum ci-dessous.

Recommandations

Nous vous recommandons d’installer ces apliccations depuis le store alternatif F-Droid pour deux raisons :

  • Ne pas fournir d’informations à Google au moment de l’installation de l’application
  • S’assurer que l’application installée corresponde au code source publié

De plus, l’utilisation de la variante ‘light’ du certificat pour les activités en Suisse est vivement recommandée.

Erratum

Après une analyse plus poussée de l’empreinte mémoire de l’application de vérification, nous avons constaté la présence des données médicales dans le certificat. Bien que ces données ne soient pas affichées à l’écran, des connaissances techniques ou l’utilisation d’une application alternative permet effectivement des les consulter.

Nous avons des doutes sur le bien-fondé de la présence des données médicales dans le code QR, mais nous supposons qu’elles sont nécessaires à la validation des certificats auprès des pays qui ne sont pas directement interfacés avec le système de certificats COVID de la Confédération.

Nous avons corrigé notre article en conséquence. Toutefois, ce constat ne modifie pas nos conclusions quant à l’incapacité des applications du certificat COVID de permettre le traçage des utilisateurs dans leur version actuelle.

Bibliographie

Documentation

Code source