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