RFC中的HTTPS交互过程如下:
抓包分析
Client Hello
客户端支持的TLS最高版本号
客户端生成的随机数
客户端支持的加密套件
主机名server_name
cipher suite怎么理解
名字为 ECDH-ECDSA-AES128-SHA256 的CipherSuite
使用 ECDH做密钥交换, 使用ECDSA做认证, 使用AES-128做加密算法, 使用SHA256做MAC算法。 客户端能支持的加密套件即浏览器能支持的加密算法
协商后的TLS/SSL版本号
服务端生成的随机数
协商后的加密套件
服务端提供证书信息给客户端验证,包括证书有效期等
密钥交换用到的服务器方的信息,有公钥信息
Server Hello Done
客户端与服务端的SSL握手过程结束
Cerficate(Client–>Hello)*
双向校验,服务端要求验证客户端的证书信息
Client Key Exchange(Client–>Server)
Change Cipher Spec(Client–>Server)
通知服务端,接下来的数据采用session Key对称加密的方式
Encrypted Handshake Message(Client–>Server)
客户端随后发送一个经过加密的数据,服务端可以根据生成的session Key来进行解密,这个加密的消息解密后有固定的格式,符合这个格式,或者满足一些字符匹配才是合法的。
Change Cipher Spec(Server–>Hello)
通知客户端接下来的数据采用被sessionKey加密的对称加密方式
Encrypted Handshake Message(Server–>Client)
服务端立刻发送一个经过加密的消息,让客户端进行验证
正常的数据交互
至此之后,服务端和客户端之间通过协商的sessionKey进行数据交互
服务端支持的TLS版本提高至1.3,客户端与服务端通信抓包实践
会直接RST连接,无法建立连接
改写nginx配置文章来源:https://www.toymoban.com/news/detail-670889.html
#ssl_protocols TLSv1.2; ssl_protocols TLSv1.3;文章来源地址https://www.toymoban.com/news/detail-670889.html
到了这里,关于HTTPS】HTTPS过程详解,tcpdump抓包 全过程分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!