HTTPS原理
2019-08-28 本文已影响0人
猿二胖
一、简介
-
WEB服务存在http和https两种通信方式,http默认采用80作为通讯端口,对于传输采用不加密的方式,https默认采用443,对于传输的数据进行加密传输
-
HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
-
HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。
二、原理
1、获取非对称加密公钥
屏幕快照 2019-08-28 14.12.11.png- 客户端向服务器请求
- 服务器响应SSL证书,以及对应的CA机构
- 客户端从操作系统中受信任的颁发机构CA,与服务器发来的证书CA做对比,用于校验证书为合法机构颁发,若找不到,怎说明服务器发来的证书不可信
- 客户端从操作系统中取出颁发者CA的公钥,对服务器发来的SSL证书里面的签名进行解密,客户端使用相同的hash算法计算出服务器发来的证书的hash值,将该值与证书中的签名做对比,一致说明证书合法
- 客户端从证书中读取公钥,用于后续非对称加密
2、约定对称密钥
屏幕快照 2019-08-28 14.12.20.png- 客户端向服务器发送请求,请求内容为:对称密钥+加密算法,该内容为公钥加密
- 服务器收到客户端发送的请求,给予响应,并使用对称密钥加密
- 客户端收到服务器返回的信息,使用对称密钥解密,解密成功,则客户端与服务器之间对称密钥约定成功