当浏览器尝试访问受SSL保护的网站时,浏览器和Web服务器使用称为“ SSL握手”的过程建立SSL连接(请参见下图)。请注意,SSL握手对用户是不可见的,并且会立即发生。
本质上,使用三个密钥来建立SSL连接:公共密钥,私有密钥和会话密钥。用公钥加密的任何内容都只能用私钥解密,反之亦然。
由于使用私钥和公钥进行加密和解密需要大量处理能力,因此仅在SSL握手期间使用它们来创建对称会话密钥。建立安全连接后,会话密钥将用于加密所有传输的数据。
1、浏览器连接到使用SSL(https)保护的Web服务器(网站)。浏览器请求服务器标识自己。
2、服务器发送其SSL证书的副本,包括服务器的公共密钥。
3、浏览器根据受信任的CA列表检查证书根目录,并且该证书未过期,未被吊销,并且其公用名对于所连接的网站有效。如果浏览器信任证书,它将使用服务器的公钥创建,加密并发送回对称会话密钥。
4、服务器使用其私钥解密对称会话密钥,并发送回用该会话密钥加密的确认,以启动加密的会话。
5、服务器和浏览器现在使用会话密钥加密所有传输的数据。
上一条: 什么是安全套接字层(SSL)?