2 puntos por GN⁺ 2024-07-08 | 1 comentarios | Compartir por WhatsApp
  • BeaconDB es un servicio de ubicación en línea que busca reemplazar a Mozilla Location Services, construyendo cobertura a partir de datos de Wi-Fi y torres celulares enviados directamente por los usuarios
  • La recolección de datos es opt-in, y los datos enviados se agregan y se ponen a disposición de los clientes de la API de beaconDB; más adelante se planea publicar volcados de datos ofuscados
  • Como sigue siendo un servicio experimental, la cobertura Wi-Fi puede ser limitada según la región; si falla, recurre como respaldo a ubicaciones de torres celulares basadas en el último volcado de datos de MLS o a estimaciones por IP
  • En Android, se pueden enviar datos con NeoStumbler, Tower Collector y Network Survey, y se puede usar como servicio de ubicación mediante la configuración de microG, geoclue y Firefox
  • Los desarrolladores pueden usar un endpoint compatible con la API de MLS/Ichnaea en https://api.beacondb.net/v1/geolocate, y es necesario configurar un User-Agent para identificar al cliente

Principios de recopilación de datos de ubicación

  • BeaconDB opera su base de datos de ubicación con un esquema de recopilación opt-in
  • Los datos públicos están ofuscados para proteger a quienes transmiten y contribuyen datos
  • Para actualizar datos existentes, se necesita información que solo puede obtenerse dentro del alcance físico del beacon, lo que aumenta la resistencia al abuso
  • Los datos enviados se agregan y luego quedan disponibles para los clientes de la API de beaconDB
  • En el futuro, se publicará un volcado de datos ofuscados con una licencia de dominio público
  • El tratamiento de los datos enviados puede consultarse en el privacy notice

Apps para contribuir cobertura

  • NeoStumbler

    • NeoStumbler es una app de Android para enviar nueva cobertura fácilmente
    • Se puede descargar desde Accrescent, F-Droid, Google Play y GitHub
    • Desde la v1.5.1, si se pulsa “yes” en el prompt, el endpoint se configura como beaconDB
    • En versiones anteriores, al elegir beaconDB en Settings → Endpoint → Suggested services se aplica automáticamente la configuración correcta
  • Tower Collector

    • Tower Collector es una app usada desde hace tiempo para recopilar datos de torres celulares
    • Puede descargarse desde F-Droid o Google Play
    • Las versiones recientes suben datos a beaconDB de forma predeterminada
  • Network Survey

    • Network Survey es una herramienta para la recopilación integral de datos locales
    • Se puede obtener desde F-Droid o Google Play
    • La opción para enviar datos a beaconDB se activa en Upload Settings, debajo de Upload to Database en la pantalla principal

Limitaciones actuales y comportamiento de respaldo

  • BeaconDB sigue siendo experimental, por lo que la estimación de ubicación puede ser imprecisa o el servicio puede ser inestable
  • Como es una base de datos construida desde cero, es muy posible que no haya cobertura Wi-Fi en tu zona de uso
    • Si no puede estimar la ubicación por Wi-Fi, recurre a una ubicación aproximada de torres celulares basada en el último volcado de datos de MLS
    • Como último recurso, usa estimación basada en IP
    • Los datos enviados tardan al menos 5 minutos en quedar disponibles en la API de beaconDB
  • Todavía no se ofrecen volcados de datos, ya que se está trabajando en la ofuscación para proteger la privacidad de quienes contribuyen y de los dueños de los AP

Cómo configurar clientes

  • microG

    • Si tu ROM de Android es compatible con microG, puedes configurar beaconDB como servicio de ubicación en línea con el nuevo motor de ubicación de microG
    • Este motor de ubicación es estable desde la v0.3.6
    • Selecciona beaconDB en microG Settings → Location → More options → Select online location service
    • Debes activar ‘Request from online service’ tanto en ‘Wi-Fi location’ como en ‘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 puede configurarse para consultar beaconDB directamente o para obtener la ubicación mediante geoclue en Linux
    • Para usarlo directamente, en about:config configura geo.provider.network.url como https://api.beacondb.net/v1/geolocate
    • Para usar geoclue, activa geo.provider.use_geoclue

API y recursos para desarrolladores

1 comentarios

 
GN⁺ 2024-07-08
Opiniones en Hacker News
  • Aunque dicen que los datos recopilados de forma ética son por opt-in, me da curiosidad cómo funciona en la práctica.
    Si mi vecino escanea mi red WiFi y la sube a BeaconDB, no creo que yo haya dado mi consentimiento. En la política de privacidad dice que basta con agregar _optout al nombre del WiFi, así que parece más opt-out que opt-in.

    • El opt-in del que se habla aquí significa aceptar usar tu propio dispositivo para recopilar datos. Apple y Google usan su base global de usuarios para recopilar estos datos con los dispositivos de los usuarios sin consentimiento.
      Una red WiFi transmite su existencia en todas direcciones 10 veces por segundo. Como cualquiera cerca puede captarla, es bien sabido que no se debe poner información sensible en el SSID de la red. Así que, en este caso, es más bien que existe la posibilidad de hacer opt-out.
    • Quien recopila los datos es quien optó por participar en la recopilación. Desde el punto de vista del recopilador de datos, tu señal WiFi está en un espacio público.
    • Para aclararlo: todos los teléfonos que determinan ubicación ya están subiendo tu dirección MAC del AP a servicios remotos de ubicación, pero BeaconDB no publica esa información en texto plano.
      Cualquier volcado de datos solo incluirá datos con hashes criptográficos irreversibles o datos agregados.
    • Basta con ocultar el SSID y usar WiFi de 5 GHz. Tiene menor alcance y se atenúa mucho al atravesar paredes, por lo que se vuelve casi inútil como beacon para estimar ubicación.
  • Cuando hace tiempo busqué algo parecido para GrapheneOS, no era posible ofrecer un servicio de ubicación personalizado.
    Sería genial poder usar esto en GrapheneOS. Si alguien conoce una forma de hacerlo sin microG, me encantaría saberlo. Yo uso GMS en sandbox.

  • No parece haber una app móvil open source que permita al autor recopilar datos directamente desde el dispositivo. Especialmente si el opt-in es desde el punto de vista del dispositivo que recopila, me pregunto de dónde salieron los datos.

    • Todavía no se ha creado una app para contribuir a beaconDB. El sitio web enlaza NeoStumbler y TowerCollector, apps de Android que pueden usarse para recopilar estos datos.
  • ¿El problema central de MLS no fue el acoso por patentes/demandas de Skyhook? Me pregunto si alguien sabe qué patentes estaban involucradas y cómo beaconDB evita ese problema.

  • Al leer el issue sobre el cierre de MLS[1], parece que varias organizaciones existentes, como /e/ foundation y Graphene, también tienen interés en ofrecer servicios alternativos. Me pregunto si ahora hay varios proveedores open source de servicios de ubicación compitiendo, o si este es el único proyecto actualmente accesible al público.
    El proyecto en sí es genial, pero en GitHub[2] parece un proyecto de una sola persona con poca participación. Me pregunto si se está conversando con otras personas con objetivos similares para ampliar el proyecto y colaborar. Con el apoyo de comunidades de desarrolladores existentes, podría subir al siguiente nivel.

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

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

    Edición: parece que el proyecto real está en Codeberg[3], y allí hay algo más de participación además del desarrollador principal que en GitHub.

    1. https://codeberg.org/beacondb
    • beaconDB es actualmente el único proyecto accesible públicamente, pero estamos conversando con varios otros proyectos y organizaciones para colaborar.
      El proyecto originalmente estaba en GitHub, pero ahora se trasladó a Codeberg.
    • Como referencia, /e/ OS ahora usa su propio servicio de ubicación. Aunque no sé si tiene alguna restricción de acceso.
  • Me pregunto si hay alguna razón por la que la API no devuelva la ubicación de los puntos de acceso para que el cliente calcule su propia ubicación.

    • Está en los planes permitir que el cliente almacene los datos localmente en caché; eso mejoraría la privacidad del cliente y reduciría la carga del servidor. Me gustaría implementarlo en unos días.
      Todavía no he encontrado un cliente implementado para aprovechar esos datos. Si viste uno o estás desarrollando algo así, sería bueno saberlo.
  • Ojalá GrapheneOS soporte esto pronto. Actualmente, los proveedores de GPS no Google prácticamente no tienen posibilidades si no estás al aire libre.

  • Es un proyecto realmente genial. Siempre da gusto ver que personas orientadas a resolver problemas llenen el vacío que dejó MLS. Aparte de eso, el diseño también es excelente.

  • Me pregunto dónde se puede descargar todavía el último volcado de datos de MLS. No pude encontrarlo en línea.
    Estoy trabajando en un proyecto para encontrar torres celulares conectadas a partir de mcc, mnc, cid, etc. Actualmente solo obtengo datos de opencellid y combain, y sería muy bueno sumar estos datos.

  • Sería bueno que colaborara con geoclue2. Con el cierre de MLS, geoclue2 ahora desactivó la estimación de ubicación basada en WiFi.

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