ネットサービス

紛失したデバイスを見つけるAppleの「Find My」ネットワークやGoogleの「Find Hub」ネットワークの仕組み


AppleのFind Myネットワークは数十億ものAppleデバイスで構成されており、デバイス同士がBluetoothや超広帯域で通信することにより紛失したデバイスの位置を特定しAppleのサーバーに報告しています。Googleも同様にFind Hubネットワークを構築しており、クラウドソーシングのデータを利用してAndroidデバイスの位置を特定しています。AppleやAndroidのデバイスは非常に普及しているため、ほぼどこからでもネットワークに接続することができる状況であるといえます。Find MyやFind Hubについて考察を深めるにつれ「紛失したデバイスがネットワークに接続していない場合はどうなるのか?」「紛失したデバイスが電源オフだとどうなるのか?」「紛失したデバイスに情報を送信することは可能か?」といった疑問が生じますが、実際のところどうなっているのかについて以下のサイトで解説しています。

Find My and Find Hub Network Research | Caesar Creek Software
https://cc-sw.com/find-my-and-find-hub-network-research/

2019年にFind Myにクラウドソーシング機能の位置情報レポートが追加されFind Myについて多くの研究論文が発表されたことにより、オフライン検索のプロトコルに関しては概要が判明しています。従って以降ではFind Myについて見ていきますがFind Hubも同様であると考えられます。

・1:持ち主のデバイス間でペアリング
・2:紛失したデバイスのBluetoothによるアドバタイズ信号の送信
・3:暗号化された位置情報をサーバーに送信
・4:持ち主のデバイスで位置情報をダウンロードし復号


ペアリング時に公開鍵・秘密鍵・共通鍵が生成されiCloudのキーチェーンに保存されますが、同時にデバイス側にも公開鍵と共通鍵が保存されます。紛失によりiPhoneの接続が途絶えたりAirTagが所有者から離れると紛失したデバイスは24時間ごとに公開鍵を更新し、Bluetooth Low Energy(BLE)を用いて継続的に公開鍵を送信します。BLEは完全に電源が供給されない場合は当然機能しませんが、実際にはiPhoneは電源オフの状態でもBluetoothチップに対してわずかながら電力を供給するためアドバタイズ信号を送信することができるという仕組みになっています。なおBLEペイロードは31バイトですが28バイトの公開鍵とメタデータを合わせると収まりきらないため、公開鍵の一部をMACアドレスに含めるといった工夫によって31バイト中に収めるようになっています。


近くのAppleデバイスが正しい形式のBLEビーコンを検出すると自分の位置情報が入ったパケットを作成して暗号化し、次回のバッチ処理でAppleのサーバーにアップロードします。この仕組みはクラウドソーシングと呼ばれていますが、実際には紛失デバイスの位置情報ではなくBLEビーコンを受信した近くのデバイスの位置情報を取得することになります。Appleは「Find My」アプリでアップロードされたデータを集約します。

BLEビーコンを受信したデバイスがAppleのサーバーに送信するHTTPSボディのレイアウトは以下の図の通りです。位置情報レポートの関連部分である緯度・経度・ステータスはすべて暗号化されていることがわかります。また公開鍵のSHA256ハッシュ値もレイアウト中に含まれています。


持ち主のデバイスでは紛失したデバイスが更新するであろう公開鍵を算出してAppleのサーバーに問い合わせを行い、該当する暗号化データがあれば復号して位置情報レポートを取得します。更新された公開鍵を算出可能なのは、持ち主のデバイスと紛失したデバイスが同一の公開鍵と共通鍵を持っているためです。Appleのサーバーはキーバリューストアとして機能し、公開鍵のSHA256ハッシュ値をキーとして探査して該当するデータが見つかれば位置情報データを返します。なおAppleのサーバーは1回のHTTPSリクエストで最大256のハッシュ値を検索でき、1つのハッシュ値に対して最大20件の位置情報レポートを返すことができます。ちなみに位置情報の保存期間は7日間となっています。

Find Myネットワークの仕組みの概要は以上ですが、解説しているサイトではさらにFind Myネットワークの再現にまで着手しているので、興味のある方は確認してみてください。

この記事のタイトルとURLをコピーする

・関連記事
Appleが第2世代AirTagを発表、接続範囲の拡大と検索性の向上を実現してスピーカー音量も50%大きく - GIGAZINE

Googleが発表したAndroid 16のセキュリティ機能まとめ、メッセージの不正検出の拡張・通話中のアプリのサイドローディング防止・高度な保護機能プログラムの強化など - GIGAZINE

AirTagを対泥棒用の追跡タグに変える「Undetectag」 - GIGAZINE

Androidの「デバイスを探す」が「検索ハブ」に進化しUWB対応タグを探すことが可能に - GIGAZINE

Appleの「探す」ですべてのBluetooth対応端末を追跡可能な「nRootTag」攻撃を研究者が発見、あらゆるスマホやPCが意図せずAirTag代わりに - GIGAZINE

Appleの「探す」アップデートで「落とし物の現在地を表示するURL」を他人と共有可能に - GIGAZINE

in ネットサービス, Posted by log1c_sh

You can read the machine translated English article How Apple's 'Find My' and Google'….