面试题答案
一键面试1. 单向认证模式
- 基本工作原理:
- 客户端发起请求:客户端向服务器发送一个包含客户端支持的TLS版本、加密套件等信息的ClientHello消息。
- 服务器响应:服务器收到请求后,选择合适的TLS版本和加密套件,并向客户端发送ServerHello消息,其中包含服务器的数字证书(包含服务器的公钥等信息)。
- 客户端验证:客户端使用内置的根证书来验证服务器证书的合法性,包括检查证书是否由受信任的证书颁发机构(CA)签发、证书是否过期等。若验证通过,客户端生成一个随机数(Pre - Master Secret),用服务器证书中的公钥加密后发送给服务器。
- 密钥协商:双方基于Pre - Master Secret等信息,通过特定的密钥导出函数生成会话密钥,后续通信数据都用此会话密钥加密传输。这种模式下,只有服务器被客户端认证,客户端身份未被服务器认证。
2. 双向认证模式
- 基本工作原理:
- 客户端发起请求:同单向认证,客户端先发送ClientHello消息。
- 服务器响应:服务器同样返回ServerHello消息及自身数字证书。此外,服务器还会发送一个CertificateRequest消息,要求客户端提供证书。
- 客户端验证及响应:客户端验证服务器证书合法性后,将自身数字证书发送给服务器(若客户端有证书)。
- 服务器验证:服务器收到客户端证书后,使用对应的CA证书验证客户端证书的合法性。验证通过后,后续密钥协商过程与单向认证类似,双方基于Pre - Master Secret等生成会话密钥,实现安全通信。双向认证模式下,客户端和服务器都需要对对方的身份进行认证。