长期身份密钥不应重建过去会话
设想攻击者录下过去的加密通信,后来才获得服务器的长期认证密钥。具有相应前向保密性质的交换,不会让这把长期密钥单独成为重建旧会话密钥的万能钥匙;保护对象是已完成会话在这种事后泄露条件下的秘密。
这一性质有前提。若旧会话密钥、临时私钥或足以重建它们的材料仍留在日志、内存或备份中,直接取得这些材料仍可能解密通信。前向保密不是对终端被实时控制、明文被另存或所有密码学问题的普遍防护。
参考:[1]
临时交换与长期认证承担不同职责
TLS 1.3的证书认证模式可用临时非对称交换产生共享秘密,再用长期签名密钥认证握手。签名证明交换与相应身份相关,并不要求长期签名私钥本身承担旧应用数据的解密;新鲜交换材料的生成与删除因而十分关键。
也不能只看到“TLS 1.3”就省略模式检查。当前RFC 9846明确区分仅预共享密钥和预共享密钥结合非对称交换;仅使用psk_ke时,不满足所述针对长期密钥的前向保密性质。会话恢复同样应看实际交换,而不是凭“恢复”两字推断全部保证。
参考:[1]
早期数据与泄露后恢复是另外的边界
TLS的0-RTT早期数据具有比通常1-RTT会话数据更弱的前向保密条件,也有不同的重放风险。不能把握手完成后的性质不加区分地套到尚未完成新一轮交换的早期请求。
前向保密也不同于泄露后安全:当前通信秘密已经被获取后,仅继续按确定性规则更新密钥,未必能使攻击者失去跟踪能力。RFC 9846指出相应TLS流量秘密泄露后可推导后续秘密;要恢复此类保证,需要重新引入合适的新秘密和协议交换。
参考:[1]