HTTPS基本原理
来源:互联网 发布:河北seo 编辑:程序博客网 时间:2024/05/17 23:45
HTTPS和TLS/SSL
HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),即HTTP+TLS/SSL。HTTPS其实就是在HTTP跟TCP中间加多了一层加密层TLS/SSL。
SSL
SSL介于应用层和TCP层之间。应用层数据不再直接传递给传输层,而是传递给SSL层,SSL层对从应用层收到的数据进行加密,并增加自己的SSL头。
TLS
TLS 1.0建立在SSL 3.0协议规范之上,是SSL 3.0的后续版本。两者差别极小,可以理解为SSL 3.1,TLS 1.1为SSL 3.2,TLS 1.2为SSL 3.3。TLS的主要目标是使SSL更安全,并使协议的规范更精确和完善。
TLS、SSL其实是类似的东西,SSL是个加密套件,负责对HTTP的数据进行加密。TLS是SSL的升级版。现在提到HTTPS,加密套件基本指的是TLS。
RSA性能是非常低的,原因在于寻找大素数、大数计算、数据分割需要耗费很多的CPU周期,所以一般的HTTPS连接只在第一次握手时使用非对称加密,通过握手交换对称加密密钥,在之后的通信走对称加密。
HTTP和HTTPS协议的区别
2、HTTP信息是明文传输,不安全;HTTPS信息是密文传输,集合了加密传输,身份认证,更加的安全。
3、HTTP与HTTPS的端口不同,HTTP是80端口,HTTPS是443端口。
HTTPS和HTTP协议相比提供了
数据完整性:内容传输经过完整性校验数据隐私性:内容经过对称加密,每个连接生成一个唯一的加密密钥
身份认证:第三方无法伪造服务端(客户端)身份
HTTPS的握手过程
1、客户端将自己支持的加密算法发送给服务端。
2、服务端返回客户端一组加密算法,HASH算法,数字证书。证书包含服务端地址,加密公钥,证书颁发机构等信息。
3、客户端收到服务端返回的数据:
a) 验证证书的合法性(证书颁发机构合法性,证书中服务端地址与正在访问的地址是否一致等),如果证书不受信任,会给出提示。
b) 如果验证通过,客户端会产生一个随机数,作为对称加密算法的密钥,并用证书中的公钥加密。
c) 使用服务端发来的HASH算法计算握手消息的摘要,并使用生成的随机数对消息摘要进行加密,将所有信息发送给服务端。
4、服务端收到客户端发来的数据:
a) 使用私钥解密数据得到随机数,使用随机数解密客户端发来的消息摘要,服务端计算消息摘要并验证是否与客户端发来的一致。
b) 使用随机数加密一段握手消息,发送给客户端。
5、客户端解密并计算握手消息的摘要,如果与服务端发来的一致,此时握手过程结束。之后的通信数据将利用对称加密算法加密。- HTTPS 基本原理
- HTTPS基本原理
- HTTPS基本原理
- https基本原理解析
- 深入浅出HTTPS基本原理
- 深入浅出HTTPS基本原理
- 线上Debug方法 & HTTPS基本原理
- java 实现https请求的基本原理与介绍
- 基本原理
- 基本原理
- 基本原理
- HTTPS
- HTTPS
- Https
- HTTPS
- https
- HTTPS
- HTTPS
- Spring的Junit测试
- 链表排序(冒泡、插入、归并和快排)
- Linux中的挂载点
- Linux上安装RabbitMQ回忆录
- UpdateWindow
- HTTPS基本原理
- 东翌编程推出手把手0基础学习微信小程序开发
- 【spring】[Xlint:invalidAbsoluteTypeName]error
- 在 Laravel 5 中通过 Simple QrCode 扩展包生成二维码详解
- Date类和SimpleFormat类表示时间
- caffe 学习笔记之InnerProductParameter
- 聊天机器人 AIML文件 <that>标签解释(二)
- KNN算法学习笔记二
- gcc 5.4 编译通用 C++ 线程池实现