HTTPS出现的原因-了解HTTP缺陷
- 1.通信使用明文不对数据进行加密(内容容易被窃听)
- 2.不验证通信方身份(容易伪装)
- 3.无法确定报文完整性(内容易被篡改)
普及一些需要了解的名词
对称加密
加密和解密同用一个秘钥
最简单的对称加密:异或运算加密
非对称加密
加密和解密同用不同的秘钥
CA
CA是Certificate Authority的缩写,也叫“证书授权中心”。
数字证书
数字证书是可信任组织发给特定对象的认证。是使用Https的前置条件
数字证书申请流程
a. 服务方 S 向第三方机构CA提交公钥、组织信息、个人信息(域名)等信息并申请认证;
b. CA 通过线上、线下等多种手段验证申请者提供信息的真实性,如组织是否存在、企业是否合法,是否拥有域名的所有权等;
c. 如信息审核通过,CA 会向申请者签发认证文件-证书。
数组证书里面包含
- 证书格式、版本号
- 证书序列号
- 签名算法
- 有效期
- 对象名称
- 公钥
初识HTTPS
与SSL(安全套接层)组合使用的HTTP被称为HTTPS(HTTP Secure,超文本传输安全协议)
SSL 安全套接层
- 数据安全和完整性
- 对传输层数据进行加密
SSL安全握手的过程
流程图
流程描述
1 clinet向server发送 随机数1 ,协议版本,支持的加密算法
2 server回应client: 数字证书,随机数2,确定要使用的加密算法
3 client首先确认数字证书是否有效
? client生成随机数3,使用数字证书的公钥对随机数3进行加密
? client将加密后的随机数3发给server
4 server和clinet都拥有了随机数1,2,3,双方使用1,2,3进行对称加密
总结
server和clinet都拥有了随机数1,2,3
双方使用1,2,3进行对称加密
https综合使用了非对称加密传3这个随机数和对称加密传输数据
对称加密使用的秘钥没有经过传输
HTTP与HTTPS的区别
- HTTP 明文传输,数据都是未加密的,安全性较差,HTTPS(SSL+HTTP) 数据传输过程是加密的,安全性较好。
- 使用 HTTPS 协议需要到 CA(Certificate Authority,数字证书认证机构) 申请证书,一般免费证书较少,因而需要一定费用。证书颁发机构如:Symantec、Comodo、GoDaddy 和 GlobalSign 等。
- HTTP 页面响应速度比 HTTPS 快,主要是因为 HTTP 使用 TCP 三次握手建立连接,客户端和服务器需要交换 3 个包,而 HTTPS除了 TCP 的三个包,还要加上 ssl 握手需要的 9 个包,所以一共是 12 个包。
- http 和 https 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是 443。
- HTTPS 其实就是建构在 SSL/TLS 之上的 HTTP 协议,所以,要比较 HTTPS 比 HTTP 要更耗费服务器资源。