2 points par GN⁺ 2024-07-08 | 1 commentaires | Partager sur WhatsApp
  • BeaconDB est un service de localisation en ligne qui cherche à remplacer Mozilla Location Services, en construisant progressivement sa couverture à partir de données Wi‑Fi et d’antennes-relais soumises par les utilisateurs
  • La collecte de données se fait en opt-in ; les données soumises sont agrégées puis mises à disposition des clients de l’API beaconDB, et la publication de dumps de données obfusquées est prévue à l’avenir
  • Le service est encore expérimental : la couverture Wi‑Fi peut être insuffisante selon les régions et, en cas d’échec, il se rabat sur les emplacements approximatifs d’antennes-relais issus du dernier dump MLS, ou sur une estimation basée sur l’IP
  • Sur Android, les données peuvent être soumises avec NeoStumbler, Tower Collector et Network Survey ; le service peut aussi être utilisé comme service de localisation via la configuration de microG, geoclue ou Firefox
  • Les développeurs peuvent utiliser l’endpoint https://api.beacondb.net/v1/geolocate, compatible avec l’API MLS/Ichnaea, et doivent définir un User-Agent pour identifier leur client

Principes de collecte des données de localisation

  • BeaconDB exploite sa base de données de localisation sur la base d’une collecte en opt-in
  • Les données publiques sont obfusquées afin de protéger les émetteurs et les contributeurs
  • Pour mettre à jour des données existantes, il faut disposer d’informations qui ne peuvent être obtenues que dans la portée physique de la balise, ce qui renforce la résistance aux abus
  • Les données soumises sont agrégées avant d’être rendues utilisables par les clients de l’API beaconDB
  • Des dumps de données obfusquées doivent être publiés à l’avenir sous licence du domaine public
  • La façon dont les données soumises sont traitées est décrite dans la privacy notice

Applications pour contribuer à la couverture

  • NeoStumbler

    • NeoStumbler est une application Android qui permet de soumettre facilement une nouvelle couverture
    • Elle est disponible sur Accrescent, F-Droid, Google Play et GitHub
    • Depuis la v1.5.1, si l’on répond « yes » à l’invite, l’endpoint est configuré sur beaconDB
    • Dans les versions antérieures, sélectionner beaconDB dans Settings → Endpoint → Suggested services applique automatiquement la bonne configuration
  • Tower Collector

    • Tower Collector est une application utilisée depuis longtemps pour la collecte d’antennes-relais
    • Elle peut être téléchargée depuis F-Droid ou Google Play
    • La version la plus récente téléverse par défaut vers beaconDB
  • Network Survey

    • Network Survey est un outil destiné à une collecte complète de données locales
    • Il est disponible sur F-Droid ou Google Play
    • Activez la soumission à beaconDB dans Upload Settings, sous Upload to Database, sur l’écran principal

Limites actuelles et comportement de repli

  • BeaconDB est encore expérimental : l’estimation de position peut être imprécise ou le service instable
  • Comme la base de données est reconstruite à partir de zéro, il est très possible que la zone où vous vous trouvez ne dispose pas de couverture Wi‑Fi
    • Si la position ne peut pas être estimée par Wi‑Fi, le service se rabat sur des emplacements approximatifs d’antennes-relais basés sur le dernier dump de données MLS
    • En dernier recours, il utilise une estimation basée sur l’IP
    • Il faut au moins 5 minutes pour que les données soumises deviennent disponibles dans l’API beaconDB
  • Les dumps de données ne sont pas encore fournis ; un travail d’obfuscation est en cours afin de protéger la vie privée des contributeurs et des propriétaires de points d’accès

Configuration des clients

  • microG

    • Si la ROM Android prend en charge microG, beaconDB peut être configuré comme service de localisation en ligne via le nouveau moteur de localisation de microG
    • Ce moteur de localisation est stable depuis la v0.3.6
    • Sélectionnez beaconDB dans microG Settings → Location → More options → Select online location service
    • Il faut activer « Request from online service » à la fois pour « Wi-Fi location » et « Mobile network location »
  • geoclue

[wifi]
enable=true
url=https://api.beacondb.net/v1/geolocate

submit-data=true
submission-url=https://api.beacondb.net/v2/geosubmit
submission-nick=geoclue
  • Firefox

    • Firefox peut être configuré pour envoyer directement des requêtes à beaconDB ou, sous Linux, pour récupérer la position via geoclue
    • Pour l’utiliser directement, définissez geo.provider.network.url sur https://api.beacondb.net/v1/geolocate dans about:config
    • Pour utiliser geoclue, activez geo.provider.use_geoclue

API et ressources pour les développeurs

1 commentaires

 
GN⁺ 2024-07-08
Avis sur Hacker News
  • Même s’il est dit que les données collectées de manière éthique le sont sur une base opt-in, je me demande comment cela fonctionne en pratique.
    Si mon voisin scanne mon réseau WiFi et l’envoie à BeaconDB, je n’ai pas vraiment donné mon accord, non ? La politique de confidentialité indique qu’il suffit d’ajouter _optout au nom du WiFi, ce qui ressemble davantage à de l’opt-out qu’à de l’opt-in.

    • Ici, l’opt-in signifie que l’on accepte d’utiliser son propre appareil pour collecter des données. Apple et Google utilisent leur base d’utilisateurs mondiale pour collecter ce type de données avec les appareils des utilisateurs, sans consentement.
      Un réseau WiFi diffuse son existence dans toutes les directions dix fois par seconde. Comme n’importe qui à proximité peut le capter, il est bien connu qu’il ne faut pas mettre d’informations sensibles dans le SSID du réseau. Dans ce cas, on est donc plutôt dans une situation où l’opt-out est possible.
    • C’est la personne qui collecte les données qui a choisi d’y participer. Du point de vue du collecteur de données, votre signal WiFi se trouve en quelque sorte dans l’espace public.
    • Pour clarifier, tous les téléphones qui effectuent une localisation envoient déjà votre adresse MAC d’AP à un service de localisation distant, mais BeaconDB ne rend pas cette information publique en clair.
      Toute exportation de données ne contiendra que des données agrégées ou des données hachées cryptographiquement de manière irréversible.
    • Il suffit de masquer le SSID et d’utiliser du WiFi 5 GHz. La portée est plus courte et le signal s’affaiblit fortement en traversant les murs, ce qui le rend presque inutile comme balise pour estimer une position.
  • Quand j’avais cherché quelque chose de similaire pour GrapheneOS par le passé, il était impossible de fournir un service de localisation personnalisé.
    Ce serait vraiment bien de pouvoir utiliser cela avec GrapheneOS. Si quelqu’un connaît une méthode sans microG, je serais preneur. J’utilise GMS en bac à sable.

  • Il ne semble pas y avoir d’application mobile open source permettant à l’auteur de collecter directement les données depuis l’appareil. Surtout si l’opt-in se fait du point de vue de l’appareil collecteur, je me demande d’où viennent les données.

    • Aucune application destinée à contribuer à beaconDB n’a encore été créée. Le site web contient des liens vers NeoStumbler et TowerCollector, des applications Android pouvant servir à collecter ces données.
  • Le problème central de MLS n’était-il pas d’avoir subi du harcèlement par brevets / des poursuites de la part de Skyhook ? Je me demande quels brevets étaient concernés et comment beaconDB évite ce problème.

  • En lisant le ticket sur l’arrêt de MLS[1], plusieurs organisations existantes, comme la /e/ foundation ou Graphene, semblent également intéressées par la fourniture d’un service alternatif. Je me demande si plusieurs fournisseurs de services de localisation open source sont actuellement en concurrence, ou si ce projet est le seul actuellement accessible au public.
    Le projet lui-même est intéressant, mais sur GitHub[2], il ressemble à un projet porté par une seule personne avec peu de participation. Je me demande s’il y a des discussions en cours avec d’autres personnes poursuivant des objectifs similaires pour étendre le projet et collaborer. Avec le soutien de communautés de développeurs existantes, il pourrait passer à l’étape supérieure.

    1. https://github.com/mozilla/ichnaea/issues/2065

    2. https://github.com/beacondb/beacondb

    Modification : le vrai projet semble être sur Codeberg[3], où il y a un peu plus de contributions de personnes autres que le développeur principal que sur GitHub.

    1. https://codeberg.org/beacondb
    • beaconDB est actuellement le seul projet accessible publiquement, mais des discussions sont en cours avec plusieurs autres projets et organisations pour collaborer.
      Le projet était à l’origine sur GitHub, mais il a désormais été déplacé vers Codeberg.
    • À noter que /e/ OS utilise désormais son propre service de localisation. Je ne sais toutefois pas s’il en limite l’accès.
  • Je me demande s’il y a une raison pour laquelle l’API ne renvoie pas la position des points d’accès afin que le client calcule lui-même sa position.

    • Il est prévu de permettre au client de mettre les données en cache localement, ce qui améliorera la protection de la vie privée côté client et réduira aussi la charge serveur. J’aimerais l’implémenter dans les prochains jours.
      Je n’ai pas encore trouvé de client implémenté pour exploiter ce type de données. Si vous en avez repéré un ou si vous en développez un, faites-le-moi savoir.
  • J’espère que GrapheneOS prendra bientôt cela en charge. Actuellement, les fournisseurs GPS non Google sont pratiquement sans espoir dès qu’on n’est pas à l’extérieur.

  • C’est un projet vraiment excellent. C’est toujours réjouissant de voir des gens orientés résolution de problèmes combler le vide laissé par MLS. À part ça, le design est aussi très réussi.

  • Je me demande où l’on peut encore récupérer le dernier dump de données de MLS. Je n’ai pas réussi à le trouver en ligne.
    Je travaille sur un projet qui trouve les antennes-relais connectées à partir de mcc, mnc, cid, etc. Pour l’instant, je ne récupère des données que depuis opencellid et combain ; cet ajout serait très utile.

  • Ce serait bien de collaborer avec geoclue2. Avec l’arrêt de MLS, geoclue2 a désormais désactivé la localisation basée sur le WiFi.

    https://gitlab.freedesktop.org/geoclue/geoclue