
使用衛星傳送緊急資料
使用 iPhone 14 或較新版本的用户可以透過衛星連線進行通訊,以提供各種服務。衛星連線存在嚴重的頻寬限制,因此需要使用頻寬額外負荷極小的保安通訊協定。無論是哪種通訊類型(「緊急求助 SOS」、SMS 或 iMessage),Apple 都會在離網裝置和 Apple 資料中心之間建立安全作業階段。裝置會預先透過流動網絡或 Wi-Fi 向伺服器註冊公用密鑰材料,以節省在離網狀態下的頻寬。
核心安全架構
當裝置要求衛星服務時,其會透過引用其公用密鑰的截斷雜湊值進行密鑰交換,從而與 Apple 資料中心建立安全連線。每個公用-專用密鑰配對只支援單一作業階段,有效期最長為八小時。伺服器會預先為每個客户端密鑰配對產生對應的公用-專用密鑰配對,並將公用密鑰分享給客户端。
當作業階段過期或結束後,Apple 伺服器和裝置都會刪除對應的專用密鑰,以提供前向保安。Apple 和裝置會定期註冊額外的密鑰,且在每次使用專用密鑰再重新上線後亦會註冊額外的密鑰,為衛星通訊提供入侵後保安。觀察者無法透過作業階段識別碼辨別用户身份,因為裝置在每個作業階段都會輪換識別碼,防止建立關聯。
透過衛星的緊急求助和路邊援助
當用户透過衛星使用 SOS 或路邊援助時,上述與 Apple 建立的安全連線會保護通訊內容。額外的加密層可確保內容在傳送至應用程式伺服器的整個過程中始終保持加密狀態,該伺服器隨後會使用傳輸加密將訊息轉寄給 Apple 的緊急服務及路邊援助合作夥伴。
透過衛星的 iMessage
透過 Wi-Fi 或流動網絡互傳 iMessages 時,如果寄件人或收件人的群組中有任何裝置支援衛星服務,裝置會隨訊息一同交換密鑰材料。透過此機制,裝置會收到定期更新的密鑰,使裝置能在無法使用流動網絡連線並連接衛星時,仍可以加密和解密訊息。由於密鑰壽命限制,用户需要在過去 30 日內曾互傳訊息,才能在離網狀態下通訊。
每部裝置都會產生對稱密鑰材料,並使用 iMessage 加密機制分發,以加密其送出的訊息。每條訊息都會使用透過以雜湊值為基礎的密鑰衍生函數(HKDF)棘輪衍生的唯一對稱密鑰,並對應其訊息計數器。收到訊息後,收件人的裝置會查找寄件人的對稱密鑰材料,以衍生出對應的訊息密鑰。當裝置重新上線後,系統會分發新的對稱密鑰,供隨後的作業階段使用。
寄件裝置只會在收到來自收件人的已簽署承載資料,確認該裝置可接收透過衛星傳送的訊息後,才會使用衛星傳送 iMessage。
附註:使用衛星的 iMessage 只支援一對一傳訊,不支援群組。
透過衛星的 SMS
當用户使用衛星傳送或接收 SMS 訊息時,訊息會被送往或來自網絡互通功能(IWF)。IWF 會從寄件人的電訊商收到發往離網客户端的訊息(客户端在離網時會呈現為漫遊狀態,因為客户端不在電訊商的本地網絡上)。同樣地,IWF 會將離網客户端送出的訊息遞送至收件人的所屬電訊商。加密和認證機制可保護在離網客户端與 IWF 之間交換的 SMS 訊息,防止 Apple 或任何能接觸到衛星訊號的人士讀取或竄改訊息。
當客户端仍然在網時,系統會開始進行透過 NIST P256 曲線的 Diffie-Hellman 密鑰交換,並在客户端離網並建立初始衛星連線時完成交換。Apple 與裝置會使用 HKDF-SHA-256 從此次密鑰交換中衍生出多組密鑰。一個密鑰會以對稱方式加密(使用配合 256 位元密鑰的 AES-GCM)確保 SMS 正確路由所需的客户端資料(如 IMSI 及 SMSC)。另一組密鑰則會在客户端與 IWF 之間的訊息提供雙向加密,同樣採用配合 256 位元密鑰的 AES-GCM。
與傳統流動網絡通訊相比,衛星連線的頻寬較低且延遲較高,因此當在離網方式連接時,並非所有傳入 SMS 訊息都會即時送達客户端,以避免垃圾訊息或低價值的訊息延誤重要 SMS 的接收。相反,系統只會在滿足以下任何條件時,才會向客户端傳送傳入訊息:
1.離網客户端在最近 24 小時內曾向該寄件人傳送訊息。
2.寄件人為經核准的寄件人(用户的緊急聯絡人或 iCloud 家庭成員)。
否則,Apple 會將訊息加密儲存在其伺服器上,直到客户端重新上線並透過傳統網絡提取訊息。為保障用户隱私,Apple 確保 IWF 無法得知用户的核准寄件人列表。
客户端使用 HMAC-SHA-256 以及從作業階段主密鑰衍生出的密鑰,在每個作業階段為每個電話號碼產生隨機化名。在建立作業階段時,客户端會將核准列表中各個電話號碼的化名傳送至 Apple 伺服器。同樣地,每當客户端向某個電話號碼傳送 SMS 時,裝置都會產生一個化名並傳送給 Apple。這讓 Apple 可以維護一個該作業階段的獲允許寄件人化名的列表。
在建立作業階段後,當有人向客户端傳送 SMS 時,IWF 會加密訊息並計算寄件人電話號碼的化名。其會將此資料連同已加密的訊息傳送到 Apple 的伺服器。伺服器會將傳入訊息的寄件人化名與獲允許列表進行比對,如果相符就會轉發該加密訊息。