Pourquoi utiliser HTTPS dans le protocole DP-3T?

Oct 29 2020

J'ai une discussion sur la transparence du protocole HTTPS sur une application de détection COVID-19 spécifique. Les opposants soutiennent que l'utilisation de HTTPS obscurcit l'application, que l'application doit se comporter de manière transparente et envoyer tout le trafic via HTTP afin qu'ils puissent voir ce qu'ils envoient, car les données sont de toute façon "anonymes".

Après quelques recherches, j'ai découvert que cette partie suit strictement le protocole DP-3T , qui stipule que "L'application ouvre une connexion TLS cryptée au serveur et envoie le code d'autorisation [...]". Je sais avec certitude qu'ils n'ont pas lu tout le protocole (moi non plus, juste certaines parties de celui-ci), mais même dans cet esprit, ils continuent de dire qu'il n'y a aucune raison de ne pas commencer à utiliser HTTP en supprimant HTTPS. Ils vont plus loin et déclarent que si cela apparaît dans le protocole, alors il est mal conçu.

Alors, quelles seraient les raisons d'utiliser HTTPS dans un protocole anonyme tel que DP-3T?

Réponses

19 Najkin Oct 29 2020 at 17:35

Les connexions TLS ont 3 propriétés distinctes importantes:

  • confidentialité, c.-à-d. protection contre les écoutes clandestines
  • authentification, pour s'assurer que les parties qui communiquent sont vraiment celles qu'elles prétendent être
  • l'intégrité, ce qui signifie que les données ne peuvent pas être modifiées pendant la transmission

Il semble que vos adversaires ne discutent que contre le premier, mais les deux autres sont essentiels pour la plupart des applications. Pour DP-3T en particulier, l'absence d'authentification signifierait qu'un attaquant pourrait intercepter une transmission et la supprimer alors que l'application penserait que le code a été transmis avec succès.

Et plus généralement, TLS est de nos jours bon marché et facile à installer. Vous auriez besoin d'une très bonne raison pour ne pas l'utiliser plutôt que d'une seule pour l'utiliser. En fait, au moins pour iOS, il est explicitement requis qu'une application utilise la sécurité du transport , et les exceptions doivent être justifiées.

10 ximaera Oct 29 2020 at 17:16

Outre les cybercriminels désireux de faire des écoutes téléphoniques sur les réseaux sans fil, les réseaux complexes d'aujourd'hui transportent généralement un grand nombre de boîtes de médiation de surveillance différentes à des fins différentes . Ces appareils non seulement écoutent, mais peuvent parfois modifier les données transmises de manière arbitraire, intentionnellement ou non.

Par exemple, un équipement DPI installé par un FAI peut être configuré pour remplacer la publicité du site Web par les publicités du FAI. S'il était mal configuré, cet équipement remplacerait alors également des parties non liées du code Javascript ou XML dans les flux de données transmis par les applications mobiles ou les sites Web.

Ceci n'est qu'un exemple.

Par conséquent, le modèle de menace contemporain pour les sites Web et les applications mobiles suppose simplement HTTPS chiffré comme transport. HTTPS est plutôt facile à mettre en place ces jours-ci, il est gratuit et élimine un si grand nombre de menaces opaques et complexes et de bugs potentiels qu'il est plus facile et beaucoup plus fiable - du point de vue opérationnel - de le configurer que de ne pas le faire.

4 Kevin Oct 30 2020 at 05:21

Les opposants soutiennent que l'utilisation de HTTPS obscurcit l'application, que l'application doit se comporter de manière transparente et envoyer tout le trafic via HTTP afin qu'ils puissent voir ce qu'ils envoient, car les données sont de toute façon "anonymes".

Je vais supposer que le "ils" en gras fait référence à l'utilisateur final, et non aux développeurs (car s'il fait référence aux développeurs, il s'agit d'un problème simple de ne pas utiliser de techniques de débogage appropriées telles que la journalisation côté serveur ).

En réalité, combien de vos utilisateurs finaux vont exécuter Wireshark ou un logiciel similaire? Parmi ceux qui sont suffisamment compétents techniquement pour exécuter Wireshark, combien vont sérieusement trouver le trafic HTTPS suspect? C'est probablement le deuxième protocole le plus populaire (couche 7) au monde (après SMTP, j'aurais tendance à l'imaginer), et comme vous le dites, le protocole DP-3T nécessite explicitement son utilisation. Il est peu probable que quiconque le trouverait suspect en connaisse suffisamment sur la technologie de réseau pour utiliser Wireshark en premier lieu. À mon avis, l'utilisation de HTTP non sécurisé est plus susceptible de provoquer des soupçons que l'utilisation de HTTPS.

D'un autre côté, il est tout à fait possible de masquer des données dans des flux réseau non chiffrés en utilisant un certain nombre de formes différentes de stéganographie (dans ce cas, en masquant certaines données dans les identifiants éphémères prétendument «aléatoires» qui sont utilisés par DP-3T, et / ou dans la clé secrète lorsqu'elle est téléchargée pour un rapport d'infection; les deux sont des blobs opaques de données binaires sans structure significative pour l'utilisateur à introspecter). Donc, le fait que l'utilisateur final technique soit capable de surveiller le trafic de votre application n'aide pas vraiment beaucoup avec confiance de toute façon.

En tout état de cause, on voit clairement que:

  • Cela ne convainc pas les utilisateurs non techniques de quoi que ce soit.
  • Il est peu probable qu'il soit efficace pour convaincre les utilisateurs techniques que votre application est sûre et pourrait les convaincre que votre application est dangereuse ou du moins mal conçue.
  • Comme décrit dans plusieurs autres réponses, TLS fait d'autres choses que la confidentialité, et cela peut compromettre la sécurité de votre implémentation par d'autres moyens.
4 BrianDrake Oct 30 2020 at 21:52

En plus des excellents points soulevés dans les autres réponses, le fait de ne chiffrer que les données où la confidentialité est préoccupante indique aux adversaires qu'il s'agit de données pour lesquelles la confidentialité est préoccupante et leur permet de concentrer leurs efforts sur le déchiffrement de ces données.

En d'autres termes, même si la confidentialité est votre seule préoccupation, vous devez tout crypter pour que les adversaires ne sachent pas où chercher. Cela signifie utiliser HTTPS, plutôt que HTTP, le cas échéant.

Voici une référence que j'ai trouvée. Même s'il s'agit de protocoles différents, l'idée de base est la même. Autodéfense par e-mail :

Plus vous pouvez crypter vos messages, mieux c'est. Si vous ne cryptez les e-mails qu'occasionnellement, chaque message crypté peut déclencher un signal d'alarme pour les systèmes de surveillance. Si la totalité ou la plupart de vos e-mails sont cryptés, les personnes qui font de la surveillance ne sauront pas par où commencer.