说一说HTTPS?

在这里插入图片描述

1.HTTPS

HTTPS (Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道
HTTPS 在HTTP 的基础下加入 安全协议层 采用身份验证和数据加密保证网络通信的安全和数据的完整性
HTTPS 通过证书配合多种加密手段,采用身份验证和数据加密保证网络通信的安全和数据的完整性

2.加密算法

对称加密:加密解密都用一个秘钥
非对称加密:加密的秘钥和解密的秘钥是不同的
哈希算法:将任意长度的信息进行计算,得到一个不可逆的固定值
数字证书:CA为持有公钥方签发的证书,用于校验身份
数字签名:数字签名技术是用哈希算法和非对称加密算法来实现的

数字签名过程						
秘钥生成:服务端生成两个秘钥,公钥和私钥,私钥服务端自己保存,公钥分发给客户端
公私钥加密:私钥加密公钥解密 或 公钥加密私钥解密

签名: 把内容 "发送内容" 进行哈希计算得到一串不可逆的字符串 "不可逆字符串"  
	  把密文 "发送内容""不可逆字符串" 放到一起,用秘钥加密得到密文 "youcanyouup....."  
	  将密文 "youcanyouup....."  发送给接收方

验签: 把密文  "youcanyouup....."   用公钥解密得到 "发送内容""不可逆字符串" 
	  将内容  "发送内容"  进行哈希计算得到一串不可逆的字符串  "不可逆字符串"  
	  比较 收到的和计算得到的两个 "不可逆字符串"  是否一致,即可验证数据的合法性

发送和接收是相对的,即签名可以是双向的
服务端将数据用私钥签名后发送给客户端 或 客户端将数据用公钥签名后发送给服务端

3.传输流程

客户端访问服务器时,客户端将自身支持的加密算法发送给服务器
服务器选择一套加密算法,用证书的形式发给客户端
证书中包含:CA证书颁发机构 , 证书有效期,公钥,证书所有者等,可在浏览器中查看
浏览器会去查询证书的可靠性,不合法时会给出提示
在这里插入图片描述

客户端 校验证书合法后,生成 对称加密秘钥,将秘钥用公钥签名后发送给服务器
服务器 使用私钥验签后,用私钥签名握手信息返回给客户端
客户端 使用公钥验签后,双方开始使用客户端生成的 对称加密秘钥 进行数据的加密传输

4.HTTP与HTTPS

HTTP不需要证书,HTTPS需要CA机构颁发证书
HTTP数据明文传输,HTTPS数据密文传输(前提是不能同意抓包工具,在你电脑上安装证书,否则看到的全是明文)
HTTP默认端口80,HTTPS默认端口443

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章