
衛星による緊急情報通信
iPhone 14以降のユーザは、衛星リンク経由で通信し、さまざまなサービスを利用できます。衛星リンクには大幅な帯域制限が課されており、最小限の帯域幅オーバーヘッドで使用できるセキュリティプロトコルが必要になります。通信の種類(緊急SOS、SMS、iMessage)によらず、AppleはオフグリッドのデバイスとAppleのデータセンターとの間に安全なセッションを確立します。オフグリッド時の帯域幅を節約するため、デバイスはあらかじめモバイルデータ通信またはWi-Fiで公開鍵マテリアルをサーバに登録します。
コアセキュリティアーキテクチャ
衛星サービスをリクエストするデバイスは、鍵交換用に公開鍵の短縮ハッシュを参照し、Appleのデータセンターと安全な接続を確立します。各公開/秘密鍵ペアは1つのセッションのみに対応し、最大有効期間は8時間です。サーバは、事前にクライアント鍵ペアごとに対応する公開/秘密鍵ペアを生成し、公開鍵をクライアントと共有します。
セッションの有効期限が切れるか、セッションが終了すると、Appleのサーバとデバイスは対応する秘密鍵を削除し、今後のセキュリティを確保します。Appleとデバイスは、一定の間隔で、および秘密鍵を使い終わってからオンラインに復帰したときに、追加の鍵を登録します。これにより、侵害後の衛星通信のセキュリティを確保します。各デバイスは、セッションごとに識別子をローテーションして紐付けを防いでいるので、セッションの識別子からユーザを特定することはできません。
衛星経由の緊急通報とロードサービス
ユーザが衛星経由でSOSを発信またはロードサービスを要請した場合、通信内容はAppleとの安全な接続(前述)によって保護されます。追加の暗号化レイヤーによって、アプリケーションサーバに到達するまで常に通信内容が暗号化されていることが保証されます。アプリケーションサーバは暗号化通信によって、このメッセージをAppleの緊急通報サービスおよびロードサービスパートナーに転送します。
衛星経由のiMessage
送信者または受信者のグループに衛星サービスに対応したデバイスが存在する場合、そのデバイスはWi-Fiまたはモバイルデータ通信でiMessageを交換するときに、メッセージと合わせて鍵マテリアルを交換します。このメカニズムにより、デバイスは更新された鍵を定期的に受け取るので、モバイルデータ通信が利用できずに衛星に接続したときでも、メッセージを暗号化および復号化することができます。鍵の有効期限の制限により、30日以内にメッセージを交換していないと、オフグリッドで通信を行うことはできません。
各デバイスは対称鍵マテリアルを生成し、iMessage暗号化を使用して配布します。これは、自身の送信メッセージを暗号化するために使用されます。各メッセージには、メッセージカウンタに対応したハッシュベース鍵導出関数(HKDF)ラチェットから導出した一意な対称鍵が使用されます。メッセージを受信すると、受信者のデバイスは送信者の対称鍵マテリアルを探し、対応するメッセージ鍵を導出します。デバイスがオンラインに復帰すると、その後のセッション用に新しい対称鍵が配布されます。
送信側デバイスが衛星を使用してiMessageを送信するのは、衛星経由でメッセージを受信できることを確認する署名付きペイロードを受信者から受信したあとのみです。
注記: 衛星によるiMessageは、1対1のメッセージのみ対応しています。グループは対応していません。
衛星経由のSMS
ユーザが衛星でSMSメッセージを送受信する場合、メッセージはネットワーク相互接続機能(IWF)を経由します。IWFは、送信者の通信事業者から、オフグリッドのクライアント宛てのメッセージを受信します(オフグリッドのクライアントは通信事業者のローカルネットワークには存在しないので、ローミング中のように見えます)。同じように、IWFはオフグリッドのクライアントからの送信メッセージを受信者のホーム通信事業者に配信します。オフグリッドのクライアントとIWFとの間で交換されるSMSメッセージは、暗号化と認証によって保護されます。そのため、Appleも、衛星信号にアクセスできる者も、メッセージにアクセスしたり修正したりすることはできません。
NIST P256曲線によるDiffie-Hellman鍵交換は、クライアントがオングリッドのときに始まり、クライアントがオフグリッドに移行して衛星接続が最初に確立されたときに終了します。Appleおよびデバイスは、HKDF-SHA-256を使用してこの鍵交換から複数の鍵を導出します。鍵の1つは、SMSを適切にルーティングするために必要なクライアント情報(IMSIおよびSMSC)を対称暗号化(256ビット鍵のAES-GCMを使用)によって暗号化します。もう1つのペアは、クライアントとIWFとの間のメッセージの双方向暗号化に使用します。ここでも、256ビット鍵のAES-GCMが使われます。
衛星接続は従来のモバイルデータ通信よりも帯域幅が低く、遅延も大きいため、オフグリッドに接続しても、すべての着信SMSメッセージが即座にクライアントに配信されるとは限りません。これは、迷惑メッセージや低価値メッセージによって、重要なSMSの取得が遅延することがないようにするためです。着信メッセージは、以下のどちらかの場合のみクライアントに送信されます:
1. オフグリッドのクライアントが、直近24時間以内にその送信者にメッセージを送信した。
2. 送信者が承認済み送信者である(ユーザの緊急連絡先またはiCloudファミリーのメンバー)。
それ以外の場合、Appleはクライアントがオンラインに復帰し、従来のネットワーク経由でメッセージを取得するまで、暗号化されたメッセージをサーバに保存します。ユーザのプライバシーを維持するため、AppleはIWFがユーザの承認済み送信者リストを学習できないことを保証しています。
クライアントはセッションのプライマリ鍵から導出した鍵でHMAC-SHA-256を使用し、セッションおよび電話番号ごとにランダムな仮名を生成します。セッションが確立されると、クライアントは許可リストに掲載されている各電話番号の仮名をAppleのサーバに送信します。同様に、クライアントはSMSを電話番号に送信するたびに、仮名を生成してAppleに送信します。これにより、Appleはセッションで許可された送信者の仮名リストを維持できます。
セッション確立後にクライアントにSMSが送信されると、IWFがメッセージを暗号化し、送信者の電話番号の仮名を計算します。これは、暗号化したメッセージと合わせて、Appleのサーバに送信されます。サーバは、着信メッセージの送信者の仮名と許可リストを比較し、照合できた場合は暗号化されたメッセージを転送します。