网络空间安全
TLS握手
TLS握手

TLS握手

TLS握手

HTTP 端口为80

HTTPS 端口为443

SSL是TLS的前身,现在大多浏览器都不支持SSL,而是支持TLS

TLS 1.2

先是TCP三次握手不变

客户端发送一个Client Hello给服务器,告诉服务器支持TLS 1.2和支持的加密套件,生成一个随机数发送出去

fig:

服务端发送Server Hello给客户端,确认支持的TLS版本以及选择的加密套件,并且生成一个随机数发送出去

fig:

服务器会再发送一个响应来出示服务器自己的证书,这样浏览器就可以根据自己证书信任列表来确认服务器是否可信

fig:

接下来服务器把公钥发送给客户端

fig:

最后服务端发送结束报文

fig:

客户端处理响应,生成第三个随机数,叫做预主密钥,它会被服务器端公钥加密,并且把解密后的值(Pubkey)发给服务器端,

fig:

这一步告诉服务器往后的数据就用商议好的算法和秘钥来加密

fig:

两边以Encrypted Handshake Message结束,开始对称加密,TSL握手成功

fig:

服务端接收到加密后的预主密钥,用自己的私钥解密,这时只有客户端和服务端知道预主密钥,最后两边用第一随机数、第二随机数、预主密钥计算出会话密钥

总结

fig:

非对称加密:消耗资源大

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注