您的位置:首页 > 理论基础 > 计算机网络

HTTPS 简介

2015-12-27 12:57 399 查看
HTTPS,也称作HTTP over TLS。TLS的前身是SSL,TLS1.0通常被称为SSL3.1,TLS1.1为SSL3.2,TLS1.2为SSL3.3.



其中Handshake protocol,Change Spec Protocol,Alert protocol组成了TLS Handshaking Protocols。

HTTPS和HTTP协议相比提供了:

1.数据完整性:内容传输经过完整性校验

2、数据隐私性:内容经过对称加密,每个链接生成一个唯一的加密密钥

3、身份认证:第三方无法伪造服务端(客户端)身份

其中,数据完整性和隐私性由TLS Record Protocol保证,身份认证由TLS Handshaking Protocol实现

使用RSA算法的SSL握手是这样的:

1、【明文】客户端发送随机数client_random和支持的加密方式列表

2、【明文】服务器返回随机数server_random,选择的加密方式和服务器证书链

3、【RSA】客户端验证服务器证书,使用证书中的公钥加密premaster_secret发送给服务端

4、服务端使用私钥解密premaster_secret

5、两端分别通过client_random,server_random和premaster_secret生成master_secret,用于对称加密后续通信。

证书中包含什么信息:

证书信息:过期时间和序列号

所有者信息:姓名等

所有者公钥

为什么服务端要发送证书给客户端:

互联网有太多的服务需要使用证书来验证身份,以至于客户端(操作系统或浏览器)无法内置所有证书,需要通过服务端将证书发送给客户端

客户端为什么要验证接收到的证书:

中间人攻击。

客户端如何验证接收到的证书:

需要引入数字签名



将一段文本通过哈希和私钥加密处理后生成数字签名

假设消息传递在Bob、Susan和Pat三人之间发生。Susan将消息连同数字签名一起发送给Bob,Bob接收到消息后,可以这样验证接收到的消息。



前提是Bob知道Susan的公钥。公钥不能再不安全的网络中直接发送给Bob。

此时就引入了证书颁发机构(CA)。
https://cattail.me/tech/2015/11/30/how-https-works.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: