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」通話時,使用中的裝置會建立新的媒體密鑰,且絕不會與新邀請的裝置分享先前用過的密鑰。