一、概述
1、https协议需要到CA (Certificate Authority,证书颁发机构)申请证书,一般免费证书较少,因而需要一定费用。(原来网易官网是http,而网易邮箱是https。)
2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4、http的连接很简单,是无状态的。Https协议是由SSL+Http协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。(无状态的意思是其数据包的发送、传输和接收都是相互独立的。无连接的意思是指通信双方都不长久的维持对方的任何信息。)
SSL:安全套接字(Secure Socket Layer,SSL)协议是Web浏览器与Web服务器之间安全交换信息的协议,提供两个基本的安全服务:鉴别与保密。
SSL协议的三个特性
① 保密:在握手协议中定义了会话密钥后,所有的消息都被加密。
② 鉴别:可选的客户端认证,和强制的服务器端认证。
③ 完整性:传送的消息包括消息完整性检查(使用MAC)。
SSL的位置
SSL介于应用层和TCP层之间。应用层数据不再直接传递给传输层,而是传递给SSL层,SSL层对从应用层收到的数据进行加密,并增加自己的SSL头。
链接:SSL详解_shipfsh_sh的博客-优快云博客_ssl解析
二、对称加密和非对称加密
对称加密: 加密和解密使用同一个秘钥,这个秘钥即为私钥
非对称加密:加密和解密使用不同的秘钥,一把作为公钥,另一把作为私钥,需要配合使用;公钥进行加密,可以公开,私钥自己进行解密
首先应该互换公钥:ip A从 ipB获取公钥,然后将自己A公钥用B公钥进行加密,发送给ipB, 由ipB使用B私钥解密B公钥,然后获取ipA中的A公钥;这样在下次发送信息的时候双方都可以使用对方的公钥进行加密
链接:对称加密和非对称加密(一)初步理解_zam183的博客-优快云博客_对称加密
三、HTTPS通信流程
CA证书本身使用非对称加密,公钥保存在客户端(根证书);证书中包含着服务端注册时的公钥,在获取公钥后封装数据,由服务端的私钥解锁。
生成会话秘钥后使用对称加密进行通信。