FaceTime 通话安全性
FaceTime 通话是 Apple 的视频和音频通话服务。与 iMessage 信息类似,FaceTime 通话使用 Apple 推送通知服务 (APNs) 与用户已注册过的设备建立初始连接。FaceTime 通话的音频/视频内容由端对端的加密进行保护,因此只有发送者和接收者可以访问它们。Apple 不能解密这些数据。
初始 FaceTime 通话通过 Apple 服务器基础架构建立连接,服务器在用户所注册的设备间中继数据包。设备在中继连接期间,通过 APNs 通知和 NAT 会话穿越实用程序 (STUN) 信息,验证其身份证书并为每个会话建立共享密钥。共享密钥用于为通过“安全实时传输协议”(SRTP) 进行流化的媒体通道派生会话密钥。SRTP 数据包使用“计数器模式”中的 AES256 加密并使用 HMAC–SHA1 认证。在完成初始连接和安全性设置之后,FaceTime 通话会在可能的情况下,使用 STUN 和互联网连接建立 (ICE) 在设备间建立点对点连接。
FaceTime 群聊可支持多达 33 位参与者同时进行 FaceTime 通话。与传统的一对一 FaceTime 通话一样,通话在受邀参与者的设备间使用端对端加密。FaceTime 群聊通话沿用了一对一 FaceTime 通话的绝大部分基础架构和设计,还加入了一套以 Apple 身份识别服务 (IDS) 提供的真实性为基础的密钥建立机制。此协议提供了正向保密,这意味着用户的设备即便遭到入侵也不会泄露之前的通话内容。会话密钥使用 AES-SIV 封装,然后使用椭圆曲线集成加密方案 (ECIES) 结构与临时的 P-256 ECDH 密钥在参与者之间分发。
新的电话号码或电子邮件地址加入到进行中的 FaceTime 群聊通话后,活跃的设备会建立新的媒介密钥,并且绝对不会与新的受邀设备共享之前使用过的密钥。