建立受保护的通信
TLS用于保护客户端与服务器交换的数据,使通信具备机密性和防篡改能力。互联网工程任务组的TLS 1.3规范给出握手与记录层规则。HTTPS等应用把自己的数据放在这种保护之中,协议的职责因此是保护通信过程,同时让应用继续定义资源、消息和业务操作的实际含义。
参考:[1]
握手协商密钥与身份
握手让双方选择兼容参数,交换建立密钥所需的信息,并按采用的方式完成认证。随后记录层使用派生密钥保护应用数据。公开密钥凭据与对称加密各承担不同工作,系统不必把长期私钥直接当作每条消息的加密密钥;具体机制还取决于版本、认证方式及是否恢复已有会话。
参考:[2]
证书还需对应目标服务
收到一个有效签发的证书以后,客户端仍需确认它对应自己原本要联系的服务。证书链、有效期和服务标识检查共同参与判断。RFC 9525讨论应用服务身份的表示与验证,使“建立了加密连接”与“连到了预期对象”能够结合起来,而不是只完成其中一项就结束检查。
参考:[1]
传输保护的应用边界
TLS让传输中的信息更难被旁观者读取或修改,但接收方仍能处理取得的数据,网站也可能提供错误内容。应用还要保护账号权限、输入与存储。部分早期数据机制另有重放约束,使用时需要配合请求语义。把协议保证与应用责任分清,才能正确解释锁形图标所代表的保护。
参考:[2]