HTTPS笔记

来源:互联网 发布:java接口特点是什么 编辑:程序博客网 时间:2024/05/20 14:27

1.HTTPS概述

HTTPS就是在安全的传输层上发送HTTP。HTTP在安全层进行加密之后的报文发送到TCP,并通过网络进行传输。
HTTP安全层是通过SSL及其现代替协议TLS来实现的。

这里写图片描述

2.HTTPS方案

如果URL是http,客户端就会打开一条到服务器端口80(默认情况下)的连接,并向其发送老的HTTP命令。
如果是https,客户端就会打开一条服务器端口到443的链接,然后与服务器“握手”,以二进制的格式与服务器交换一些SSL安全参数,附上加密的HTTP命令。

SSL是个二进制协议,其流量是承载在另一个端口(443)上的。如果SSL和HTTP流量都从端口80到达,大部分Web服务器会将二进制SSL流量理解为错误的HTTP并关闭连接。

3.建立安全传输

这里写图片描述

由于SSL安全层的存在,HTTPS中这个过程中会略微复杂一些。客户端先打开一条到服务端口443的连接,一旦建立了TCP连接,客户端和服务器就会初始化SSL层,对加密参数进行沟通,并换密钥。握手完成之后,SSL初始化就完成了,客户端就可以将请求报文发送给安全层了。在将这些报文发送给TCP(传输层)之前,会进行加密。

4.SSL握手

  • 交换协议版本号
  • 选择一个两端都了解的密码;
  • 对两端的身份进行认证
  • 生成临时的回话密钥,以便加密通道

5.服务器证书

SSL支持双向认证,将副我I起证书承载回客户端,再将客户端的证书回送给服务器。浏览时并不经常使用客户端证书。大部分用户甚至都没有自己的客户端证书。服务器可以要求使用客户端证书。
另一方面,安全HTTPS事务总是要求使用服务器证书的。在一个Web服务器上执行安全事务。

原创粉丝点击