「探す」のセキュリティ
Appleデバイス用の「探す」アプリは、公開鍵の高度な暗号化という基盤の上に構築されています。
概要
「探す」アプリは、「iPhoneを探す」と「友達を探す」をiOS、iPadOS、およびmacOS上で1つのアプリに統合したものです。「探す」では、紛失したデバイスを(オフラインのMacであっても)見つけることができます。デバイスがオンラインの場合は、その位置がiCloud経由でユーザに報告されます。「探す」は、付近で使用されているAppleデバイスで検出できる近距離Bluetooth信号を紛失したデバイスから送信することで、オフラインでも機能します。検出された紛失デバイスの位置情報が付近のデバイスによってiCloudにリレーされるため、関与するすべてのユーザのプライバシーとセキュリティを保護しつつ、ユーザは「探す」アプリでMacの位置を把握することができます。「探す」は、オフラインやスリープ状態のMacでも機能します。
ユーザはBluetoothと世界中で盛んに使用されている数百万台ものiOS、iPadOS、およびmacOSデバイスを使用して、紛失したデバイスがWi-Fiまたはモバイル通信ネットワークに接続できない場合でもそれを見つけることができます。「探す」の設定で「オフラインのデバイスを探す」が有効になっているすべてのiOS、iPadOS、またはmacOSデバイスが、「探知側デバイス」の役割を果たすことができます。つまり、デバイスはBluetoothを使用して、紛失した別のオフラインデバイスの存在を検出してから、自らのネットワーク接続を使用しておよその位置を所有者に報告できます。デバイスで「オフラインのデバイスを探す」が有効になっている場合、同じ方法で別の参加デバイスからそのデバイスを探せるということにもなります。このインタラクション全体はエンドツーエンドで暗号化され、匿名であり、バッテリーとデータを効率的に使用するように設計されています。バッテリー駆動時間やモバイルデータ通信プランの使用量への影響はごくわずかにとどまり、ユーザのプライバシーも保護されます。
注記: 「探す」は、国または地域によっては利用できないことがあります。
エンドツーエンドの暗号化
「探す」は公開鍵の高度な暗号化という基盤の上に構築されています。「探す」の設定で「オフラインのデバイスを探す」を有効にすると、{d,P}で表される楕円曲線(EC)P-224秘密鍵ペアがデバイス上で直接生成されます。このdは秘密鍵、Pは公開鍵です。また、256ビットのシークレットSK0が作成され、カウンターiが0に初期化されます。この秘密鍵ペアとシークレットはAppleに送信されず、iCloudキーチェーンを使って、エンドツーエンドの暗号化された形でユーザのほかのデバイス間でのみ同期されます。シークレットとカウンタを使用して、現在の再帰構造「SKi = KDF(SKi-1, “update”)」を持つ最新の対称鍵SKIが導出されます。
鍵SKiに基づき、uiとviの2つの長精度整数が (ui,vi) = KDF(SKi, “diversify”)で計算されます。次に、dで示されるP-224秘密鍵と、Pで示される対応する公開鍵の両方が、2つの整数を含むアフィン関係を使用して導出され、短命の鍵ペアが計算されます: 導出される秘密鍵はdiです。ここで、di = ui * d + vi(P-224曲線の位数を法とする)であり、対応する公開部分はPiであり、Pi = ui*P + vi*Gであることを検証します。
MacBook Proを公園のベンチに置き忘れたときなど、デバイスを紛失し、Wi-Fiまたはモバイルデータ通信に接続できない場合、そのデバイスは一定期間、導出された公開鍵PiのブロードキャストをBluetoothペイロード内で定期的に行います。P-224を使用することで、公開鍵表現を1つのBluetoothペイロードに収めることができます。周囲のデバイスはその位置情報を公開鍵で暗号化することで、オフラインデバイスの探索に貢献できます。約15分ごとに、カウンタの増分値と上記のプロセスを使用して公開鍵が新しいものに置き換えられるため、持続的な識別信号によってユーザが追跡されることはありません。この導出メカニズムは、さまざまな公開鍵Piが同じデバイスにリンクされることを防止するように設計されています。
ユーザとデバイスの匿名性の確保
位置情報やその他のデータが必ず完全に暗号化されるだけでなく、参加するデバイスの識別情報もほかのデバイスやAppleに対して保護されます。探知側デバイスからAppleに送信されるトラフィックには、コンテンツにもヘッダにも認証情報が含まれません。そのため、探知側のユーザや見つかったデバイスの所有者がだれかをAppleが把握することはありません。さらに、Appleは探知側のユーザを識別する情報を記録せず、だれかが探知側のユーザと所有者を関連付けることができるような情報も保持しません。デバイスの所有者は暗号化された位置情報のみを受信します。この情報は復号されて「探す」アプリに表示されますが、だれがデバイスを見つけたかは示されません。