「Find My」アプリがオフラインで機能するには2台のApple端末が必要
iOS13とmacOS 10.15 Catalinaでは、「iPhoneを探す」と「友達を探す」アプリが「Find My」アプリへと統合されます。同アプリはWi-Fiやセルラーネットワークに接続していなくても機能するとされていますが、Appleがこの仕組みについて米メディアWIREDに詳しく説明しています。
オフラインで機能させるには2台のAppleデバイスが必要
重要なのは、「Find My」をオフラインでも機能させるには、「最低でも2台のAppleデバイスが必要」ということです。つまりiPhone、iPad、Mac、iPod touchのうち、いずれか2台を所有している必要があります。
Find Myの仕組み
まずAppleデバイスで「Find My」アプリの設定を行います。アプリは秘密鍵を生成し、この鍵がエンドツーエンドの暗号化通信によってデバイス間でのみ共有されます。
各デバイスは同時に公開鍵も生成します。他の公開鍵暗号設定と同様に、この公開鍵もデータの暗号化に用いられ、すべてのAppleデバイスに保管されます。これが「ビーコン」となり、Bluetooth経由で近くのデバイスへ発信されます。
公開鍵は定期的に新しい番号へと変更されます(正確にはローテーションで入れ替わる)。新しい番号はそれまでの公開鍵の番号とは関連性を持ちませんが、データを暗号化する機能は変わりません(そしてその暗号化されたデータはユーザーのデバイスのみが解読可能)。Appleは変更の頻度は明かしていませんが、Bluetoothビーコンの追跡、つまりユーザーの位置情報の収集は非常に難しいとのことです。
仮に誰かがMacBookを盗んだとします。犯人がMacBookをオフラインにして持ち歩いても、公開鍵はBluetooth経由で発信されています。犯人の近くにいる赤の他人(仮にA氏とします)のiPhoneがそのビーコン信号を拾い、位置を確認、MacBookから得た公開鍵を使って位置情報データを暗号化します(A氏は関与していない)。公開鍵には持ち主情報は含まれていないうえに頻繁に変更されるため、A氏のiPhoneは盗まれたMacBookと、信号を拾う前の位置情報を結びつけることはできません。
A氏のiPhoneはAppleのサーバに2つの情報をアップロードします。暗号化された位置情報と、MacBookの公開鍵のハッシュ(IDとして機能)です。Appleは秘密鍵を持っていないため、位置情報を解読できません。
盗難にあったMacBookを見つけるには、もう1台のAppleデバイス(仮にiPadとしておきます)を使います。iPadにはMacBookと同じ秘密鍵、そして生成した同じ公開鍵が含まれています。iPadでMacBookを見つけるためのボタンをタップすると、iPadはMacBookと同じ公開鍵のハッシュをIDとしてAppleにアップロードします。するとAppleは保管された膨大な位置情報(暗号化されている)を検索し、一致するハッシュを見つけ出します。
WIREDはこの部分について、iPadが送信する公開鍵のハッシュは、盗まれたMacBookからA氏のiPhoneが拾ったものとは同じではない(何度も変更されているから)のに、どのように一致させるのかと疑問を呈していますが、Appleは説明しなかったとのことです。ただしジョンズ・ホプキンス大学の暗号専門家であるマシュー・グリーン氏は、iPadはこれまでに何度も変更されている公開鍵の履歴のハッシュを送信可能なため、Appleはそれらの情報から検索できるのではないかと述べています。
AppleはMacBookの暗号化された位置情報をiPadに送信し、iPadは秘密鍵を使って解読、MacBookの最新の位置情報を知らせてくれます。
プライバシー保護を強調
以上はAppleがWIREDに対して解説した「Find My」の仕組みですが、Appleは現在もFind Myの開発を行っており、macOS 10.15 CatalinaとiOS13が正式にリリースされるときには、上記とは異なる部分が出てくる可能性があるとしています。
ただしAppleは、ユーザーのプライバシーが守られる点だけは確実だと強調しています。