Apple 通过 "联系人密钥验证" 增强了 iMessage 的安全性,利用加密方法和密钥透明度加强了用户隐私和身份验证,以应对不断变化的威胁。
联系人密钥验证是一项安全功能,有助于检测对 iMessage 服务器的复杂攻击,并允许用户验证其通信伙伴的身份。该功能专门针对与密钥目录服务相关的漏洞。
此类服务通常将用户标识符映射到公共密钥上,如果这些密钥被泄露,就会成为单点故障。联系密钥验证旨在通过提供一种更安全的方式来验证通信伙伴的身份,从而克服这一问题。
为了解决这个问题,Apple 引入了一种称为 "密钥透明度"(KT)的机制。与证书透明度类似,KT 使用可验证的日志支持映射数据结构,允许加密证明和审计随时间变化的一致性,提供可扩展性和用户隐私。Apple 实现的密钥透明度超越了现有的密钥目录系统。
它引入了账户级 ECDSA 签名密钥,该密钥在用户设备上生成并存储在 iCloud Keychain 中。设备使用此同步账户密钥签署 iMessage 公钥,此数据存储在身份目录服务 (IDS) 数据库中,并与密钥透明度服务同步。
当用户启用 "联系密钥验证" 时,他们的设备会自动根据 KT 地图对 IDS 提供的数据进行加密验证。如果发现不一致,用户会收到通知。此外,用户自己的设备也会定期验证数据,以确保所有设备的一致性。
苹果还加入了使用简码进行手动联系人验证的功能,为有需要的用户提供了额外的安全保障。这一验证过程可扩展到所有用户的设备,从而在新设备上登录时保持一致性。
此外,苹果还为拥有公共角色的用户引入了公共验证码,确保他们的联系人密钥得到准确验证。
Apple 的实施包括在设备上验证关键的 append-only 日志,以实现用户控制和安全性。信息 "应用会验证日志的一致性,以解决 KT 服务可能受到损害的问题。
iMessage 联系人密钥验证功能已在 iOS 17.2、macOS 14.2 和 watchOS 10.2 的开发者预览版中推出,有望增强苹果信息平台的安全性。