- 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
-
Network Survey
現在の制限とフォールバック動作
- 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
[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:config で geo.provider.network.url を https://api.beacondb.net/v1/geolocate に設定する
- geoclue を使うには
geo.provider.use_geoclue を有効にする
開発者向け API とリソース
1件のコメント
Hacker Newsのコメント
倫理的に収集されたデータがオプトイン方式だと言うが、実際にどう機能しているのか気になる
近所の人が私のWiFiネットワークをスキャンしてBeaconDBに送信したら、それは私が同意したことにはならないのではないかと思う。プライバシーポリシーにはWiFi名に
_optoutを付ければよいと書かれており、オプトインというよりオプトアウトに近く見えるWiFiネットワークは1秒間に10回、自身の存在を全方向にブロードキャストしている。周囲の誰でも受信できるので、ネットワークSSIDに機密情報を入れてはいけないことはよく知られている。したがってこの場合は、どちらかといえばオプトアウト可能という位置づけになる
どのデータダンプにも、復元不可能な暗号学的ハッシュデータまたは集計データしか含まれない
以前GrapheneOS向けに似たものを探したときは、カスタム位置情報サービスを提供することは不可能だった
GrapheneOSでこれが使えるなら本当にうれしい。microGなしでやる方法を知っている人がいればありがたい。私はサンドボックス化されたGMSを使っている
作者が端末上で直接データを収集できるようにするオープンソースのモバイルアプリのようなものはなさそう。特に収集端末基準でのオプトインだとしたら、データがどこから集まっているのか気になる
MLSの中核的な問題は、Skyhookから特許攻撃/訴訟を受けたことではなかったか? どの特許が関係していて、beaconDBがその問題をどう回避するのか知っている人がいるのか気になる
MLS終了の件[1]を読むと、/e/ foundationやGrapheneなど複数の既存組織も代替サービスの提供に関心があるように見える。いま複数のオープンソース位置情報サービス提供者が競っている状況なのか、それとも現在公開でアクセス可能なプロジェクトはこれだけなのか気になる
プロジェクト自体はすばらしいが、GitHub[2]を見ると参加者の少ない1人プロジェクトのように見える。似た目標を持つ他の人たちと、プロジェクトの拡大や協業について話しているのか気になる。既存の開発者コミュニティの支援を得られれば、一段上に進めそうだ
https://github.com/mozilla/ichnaea/issues/2065
https://github.com/beacondb/beacondb
編集: 実際のプロジェクトはCodeberg[3]にあるようで、そこでは主開発者以外の参加もGitHubより少し多い
プロジェクトはもともとGitHubにあったが、現在はCodebergに移行している
APIがアクセスポイントの位置を返して、クライアント側で自分で位置を計算する方式にしないのは何か理由があるのだろうか
まだそのようなデータを活用するよう実装されたクライアントは見つけられていない。そうしたものを見つけた、あるいは開発中なら知らせてほしい
GrapheneOSが近いうちにこれをサポートしてくれるといい。現状、非GoogleのGPSプロバイダーは屋外でない限り事実上望みがない
本当にすばらしいプロジェクトだ。MLSが残した空白を問題解決志向の人たちが埋めてくれるのを見るのはいつもうれしい。別件だがデザインもすばらしい
MLSの最後のデータダンプをまだどこかで入手できるのか気になる。オンラインで見つけられなかった
mcc、mnc、cidなどをもとに接続された基地局を見つけるプロジェクトをやっている。現在はopencellidとcombainからしかデータを取っていないが、このデータが追加されれば非常に助かる
geoclue2と連携できるとよい。MLSが終了したことで、geoclue2は現在WiFiベースの位置推定を無効にしている
https://gitlab.freedesktop.org/geoclue/geoclue