FaceTime 保安
FaceTime 是 Apple 的視訊和語音通話服務。與 iMessage 相似,FaceTime 通話使用「Apple 推送通知」(APNs)服務來與用户已註冊的裝置建立初始連線。FaceTime 通話的語音/視訊內容受到點對點的加密保護,因此只有傳送者和接收者可以存取。Apple 無法解密這些資料。
初始 FaceTime 連線是透過 Apple 伺服器基礎架構建立,這個基礎架構負責轉送用户已註冊的裝置之間的資料封包。透過使用 APNs 通知與「用於 NAT 的作業階段周遊公用程式」(STUN)訊息來轉送連線,裝置會驗證其識別證書並為每個作業階段建立共享密鑰。這個共享密鑰會使用「安全即時通訊協定」(SRTP),來為串流的媒體通道製作作業階段密鑰。系統會以計數器模式使用 AES256 來加密 SRTP 封包,並以 HMAC-SHA1 進行認證。在初始連線和保安設定後,FaceTime 便會使用 STUN 與「互聯網連接建立」(ICE)來建立裝置間的點對點連線(如適用)。
「群組 FaceTime」拓展了 FaceTime 的功能,可支援最多 33 位成員同時參與。如同傳統的一對一 FaceTime 一樣,群組通話會在受邀成員的裝置之間進行點對點加密。雖然「群組 FaceTime」重複使用了許多一對一 FaceTime 的基礎架構和設計,不過這些群組通話採用以「Apple 識別服務」(IDS)所提供的確實性為基礎的密鑰建立機制。這套通訊協定提供前向保安,這表示即便用户的裝置遭入侵,也不會洩漏過去通話的內容。作業階段密鑰使用 AES-SIV 封裝,並使用橢圓曲線整合加密方案(ECIES)架構配搭臨時 P-256 ECDH 密鑰來在成員間分發。
當有新電話號碼或電郵地址加入進行中的「群組 FaceTime」通話時,使用中的裝置會建立新的媒體密鑰,且絕不會與新邀請的裝置分享先前用過的密鑰。