2 ポイント 投稿者 GN⁺ 2024-07-08 | 1件のコメント | WhatsAppで共有
  • BeaconDBは、Mozilla Location Servicesを置き換えることを目指すオンライン位置情報サービスで、ユーザーが直接提出したWi‑Fi・基地局データをもとにカバレッジを蓄積していく
  • データ収集はオプトイン方式で、提出データは集計されたうえで beaconDB API クライアントに提供され、今後は難読化されたデータダンプの公開も予定されている
  • まだ実験的なサービスのため、地域によっては Wi‑Fi カバレッジが不足している可能性があり、失敗時は MLS の最終データダンプに基づく基地局位置や IP ベースの推定にフォールバックする
  • Android では NeoStumbler、Tower Collector、Network Survey でデータを提出でき、microG・geoclue・Firefox の設定を通じて位置情報サービスとして利用できる
  • 開発者は MLS/Ichnaea API と互換性のある ` エンドポイントを利用でき、クライアント識別のための User-Agent 設定が必要

位置データ収集の原則

  • BeaconDB は位置データベースをオプトイン収集ベースで運用している
  • 公開データは送信者と貢献者を保護するため難読化される
  • 既存データを更新するには、ビーコンの物理的範囲内でしか取得できない情報が必要で、悪用耐性を高める構造になっている
  • 提出されたデータは集計された後、beaconDB API クライアントが利用できるようになる
  • 今後、難読化されたデータダンプがパブリックドメインライセンスで公開される予定
  • 提出データの処理方法は privacy notice で確認できる

カバレッジ貢献アプリ

  • NeoStumbler

    • NeoStumbler は新しいカバレッジを簡単に提出できる Android アプリ
    • Accrescent, F-Droid, Google Play, GitHub から入手できる
    • v1.5.1 以降は、プロンプトで “yes” を押すとエンドポイントが beaconDB に設定される
    • それ以前のバージョンでは、Settings → Endpoint → Suggested services で beaconDB を選ぶと正しい設定が自動で適用される
  • Tower Collector

    • Tower Collector は基地局収集向けとして長く使われてきたアプリ
    • F-Droid または Google Play からダウンロードできる
    • 最新バージョンはデフォルトで beaconDB にアップロードする
  • Network Survey

    • Network Survey は包括的なローカルデータ収集のためのツール
    • F-Droid または Google Play から入手できる
    • メイン画面の Upload to Database 配下にある Upload Settings で beaconDB への提出を有効にする

現在の制限とフォールバック動作

  • BeaconDB はまだ実験的であるため、位置推定が不正確だったりサービスが不安定だったりする可能性がある
  • ゼロから構築されているデータベースのため、利用地域に Wi‑Fi カバレッジがない可能性が高い
    • Wi‑Fi で位置を推定できない場合は、MLS の最終データダンプに基づく大まかな基地局位置へフォールバックする
    • 最後の手段として IP ベースの推定を使う
    • 提出データが beaconDB API で利用可能になるまでには最低 5 分かかる
  • データダンプはまだ提供されておらず、貢献者と AP 所有者のプライバシー保護のためのデータ難読化作業が進められている

クライアント設定方法

  • microG

    • Android ROM が microG をサポートしていれば、microG の新しい位置エンジンで beaconDB をオンライン位置情報サービスとして設定できる
    • この位置エンジンは v0.3.6 から stable
    • microG Settings → Location → More options → Select online location service で beaconDB を選択する
    • ‘Wi‑Fi location’ と ‘Mobile network location’ の両方で ‘Request from online service’ を有効にする必要がある
  • geoclue

    • ほとんどの Linux ディストリビューションには、位置情報バックエンドとして geoclue が含まれている
    • Wi‑Fi 位置データ要求 URL を https://api.beacondb.net/v1/geolocate にオーバーライドすることで beaconDB を利用できる
    • データ提出は GPS アンテナがある場合にのみ可能で、提出 URL は https://api.beacondb.net/v2/geosubmit に設定する
[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 は beaconDB に直接リクエストするようにも、Linux で geoclue 経由で位置情報を取得するようにも設定できる
    • 直接使うには about:configgeo.provider.network.urlhttps://api.beacondb.net/v1/geolocate に設定する
    • geoclue を使うには geo.provider.use_geoclue を有効にする

開発者向け API とリソース

1件のコメント

 
GN⁺ 2024-07-08
Hacker Newsのコメント
  • 倫理的に収集されたデータがオプトイン方式だと言うが、実際にどう機能しているのか気になる
    近所の人が私のWiFiネットワークをスキャンしてBeaconDBに送信したら、それは私が同意したことにはならないのではないかと思う。プライバシーポリシーにはWiFi名に _optout を付ければよいと書かれており、オプトインというよりオプトアウトに近く見える

    • ここでいうオプトインとは、データ収集に自分の端末を使うことに同意するという意味。AppleとGoogleは世界中のユーザー基盤を利用して、同意なしにユーザー端末でこの種のデータを収集している
      WiFiネットワークは1秒間に10回、自身の存在を全方向にブロードキャストしている。周囲の誰でも受信できるので、ネットワークSSIDに機密情報を入れてはいけないことはよく知られている。したがってこの場合は、どちらかといえばオプトアウト可能という位置づけになる
    • データを収集する人が収集にオプトインしているということ。データ収集者の立場からすると、あなたのWiFi信号は公開空間にある
    • はっきり言うと、位置特定を行うすべての携帯電話はすでにあなたのAPのMACアドレスをリモート位置情報サービスにアップロードしているが、BeaconDBはこの情報を平文では公開しない
      どのデータダンプにも、復元不可能な暗号学的ハッシュデータまたは集計データしか含まれない
    • SSIDを隠して5GHz WiFiを使えばよい。到達距離が短く、壁を通過すると大きく減衰するので、位置推定用ビーコンとしてはほとんど役に立たなくなる
  • 以前GrapheneOS向けに似たものを探したときは、カスタム位置情報サービスを提供することは不可能だった
    GrapheneOSでこれが使えるなら本当にうれしい。microGなしでやる方法を知っている人がいればありがたい。私はサンドボックス化されたGMSを使っている

  • 作者が端末上で直接データを収集できるようにするオープンソースのモバイルアプリのようなものはなさそう。特に収集端末基準でのオプトインだとしたら、データがどこから集まっているのか気になる

    • まだbeaconDBに貢献するためのアプリは作っていない。Webサイトには、このデータを収集するために使えるAndroidアプリとしてNeoStumblerTowerCollectorへのリンクがある
  • MLSの中核的な問題は、Skyhookから特許攻撃/訴訟を受けたことではなかったか? どの特許が関係していて、beaconDBがその問題をどう回避するのか知っている人がいるのか気になる

  • MLS終了の件[1]を読むと、/e/ foundationやGrapheneなど複数の既存組織も代替サービスの提供に関心があるように見える。いま複数のオープンソース位置情報サービス提供者が競っている状況なのか、それとも現在公開でアクセス可能なプロジェクトはこれだけなのか気になる
    プロジェクト自体はすばらしいが、GitHub[2]を見ると参加者の少ない1人プロジェクトのように見える。似た目標を持つ他の人たちと、プロジェクトの拡大や協業について話しているのか気になる。既存の開発者コミュニティの支援を得られれば、一段上に進めそうだ

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

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

    編集: 実際のプロジェクトはCodeberg[3]にあるようで、そこでは主開発者以外の参加もGitHubより少し多い

    1. https://codeberg.org/beacondb
    • beaconDBは現在、公開でアクセス可能な唯一のプロジェクトだが、いくつかの別プロジェクトや組織と協業について議論している
      プロジェクトはもともとGitHubにあったが、現在はCodebergに移行している
    • 参考までに、/e/ OSは現在独自の位置情報サービスを使っている。ただしアクセス制限があるかどうかは分からない
  • APIがアクセスポイントの位置を返して、クライアント側で自分で位置を計算する方式にしないのは何か理由があるのだろうか

    • クライアントがデータをローカルにキャッシュできるようにする予定で、そうなればクライアントのプライバシー保護が向上し、サーバー負荷も下がる。数日以内に実装したい
      まだそのようなデータを活用するよう実装されたクライアントは見つけられていない。そうしたものを見つけた、あるいは開発中なら知らせてほしい
  • GrapheneOSが近いうちにこれをサポートしてくれるといい。現状、非GoogleのGPSプロバイダーは屋外でない限り事実上望みがない

  • 本当にすばらしいプロジェクトだ。MLSが残した空白を問題解決志向の人たちが埋めてくれるのを見るのはいつもうれしい。別件だがデザインもすばらしい

  • MLSの最後のデータダンプをまだどこかで入手できるのか気になる。オンラインで見つけられなかった
    mcc、mnc、cidなどをもとに接続された基地局を見つけるプロジェクトをやっている。現在はopencellidとcombainからしかデータを取っていないが、このデータが追加されれば非常に助かる

  • geoclue2と連携できるとよい。MLSが終了したことで、geoclue2は現在WiFiベースの位置推定を無効にしている

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