什么是SSL握手过程?
甚么是SSL握手进程?
握手进程非常复杂,并且协议允许有多种变体。以下步骤提供了一个大致的概述,应当使您对其工作方式有所了解。
客户端与服务器联系并要求安全连接。服务器会用密码套件列表(即创建加密连接的算法工具包)进行答复,它知道如何使用。客户端将此与其自己的受支持密码套件列表进行比较,选择一个,然后让服务器知道它们都将使用它。
然后,服务器提供其数字证书,该数字证书是由第三方机构颁发的确认服务器身份的电子文档。我们将在稍后详细讨论数字证书,但是到目前为止,您需要了解的最重要的信息是它们包括服务器的公共加密密钥。客户端收到证书后,便会确认证书的真实性。
客户端和服务器使用服务器的公共密钥,建立会话密钥,这两个会话密钥都将用于会话的其余部份以加密通讯。有几种技术可以做到这一点。客户端可使用公共密钥对随机数进行加密,然后将其发送到服务器进行解密,然后双方都可使用该数字来建立会话密钥。
顾名思义,会话密钥仅适用于单个不中断的通讯会话。如果由于某种缘由客户端和服务器之间的通讯被切断(例如,由于网络问题或由于客户端空闲时间太长),则在重新建立通讯时将需要进行新的握手以建立新的会话密钥。