TLS 与双向 TLS
TLS 怎样保护传输中的数据?
- TLS: 传输层安全协议,为通信提供机密性、完整性和对等方认证能力;
- 机密性: 加密降低第三方读取传输内容的可能性;
- 完整性: 接收方能够发现数据被未授权修改,避免仅有加密却无法识别篡改;
- 认证: 通过证书等机制验证对等方身份,浏览器场景通常首先验证服务器;
- 保护边界: TLS 保护传输通道,不自动修复终端被入侵、存储泄露或业务权限错误;
SSL 与 TLS 为什么容易混称?
- SSL: TLS 的早期前身,旧版本已被淘汰,不应因沿用名称而继续使用旧协议;
- SSL 证书: 行业常用的历史称呼,实际证书通常用于现代 TLS 连接;
- 历史动机: 早期明文通信暴露内容并易被篡改,安全传输协议用于弥补这一缺口;
- 设计表达: 讨论系统时写清实际 TLS 协议和认证需求,避免仅写“已加 SSL”就认为问题解决;
普通服务端认证怎样建立信任?
客户端连接服务器
→ 服务器出示证书并证明持有相应私钥
→ 客户端验证信任链、身份与有效性
→ 按协议协商密钥并交换受保护数据
- 证书作用: 把公钥与某个身份关联,验证还需要可信签发关系和目标身份匹配;
- 私钥证明: 证书是公开材料,实际持有相应私钥才能完成所需身份认证步骤;
- 终止位置: 若 TLS 在网关终止,网关到后端的链路需要单独决定如何保护;
mTLS 怎样让双方互相认证?
- mTLS: 双向 TLS,客户端和服务器都通过证书及相应私钥证明身份;
- 适用条件: 服务间通信、企业设备或没有人工登录过程的 IoT 设备需要双向身份确认;
- 与零信任关系: 可以提供工作负载身份基础,但后续仍需按策略判断其是否有权调用目标;
- 运维要求: 管理证书签发、轮换、有效期和失效处理,否则证书治理会成为新的故障来源;
mTLS 为什么不能代替所有应用鉴权?
- 通道身份: 证明的是连接对端持有某个身份凭据;
- 资源权限: 某服务可以连接,并不表示它可以读取任意用户资料或执行所有操作;
- 配合关系: TLS、服务身份、用户身份和资源级授权共同组成访问链路,各自需要明确边界;