HTTPS工作原理

工作大致过程

1、客户端发起HTTPS请求

浏览器里面输入一个HTTPS网址,然后连接到服务端的443端口上。注意这个过程中客户端会 发送一个密文族给服务端,密文族是浏览器所支持的加密算法的清单。

2、服务端配置

采用HTTPS协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请。区别就 是自己颁发的证书需要客户端验证通过才可以继续访问,而使用受信任的公司申请的证书则不 会弹出提示页面。这套证书其实就是一对公钥和私钥,可以这么理解,公钥就是一把锁头,私 钥就是这把锁的钥匙,锁头可以给别人对某个东西进行加锁,但是加锁完毕之后,只有持有这 把锁的钥匙才可以解锁看到加锁的内容。前面说过客户端会传送密文族给服务端,服务端则会 从这些密文族中,挑选出一个

3、传送证书

这个证书其实就是公钥,只是包含了很多信息,如证书的颁发机构、过期时间等等。

4、客户端解析证书

这部分工作是由客户端的TLS来完成的,首先会验证公钥是否有效,如颁发机构、过期时间等 等,如果发现异常则会弹出一个警告框,提示证书存在问题。如果证书没有问题,那么就生成 一个随机值,然后用证书对该随机值进行加密。注意一下上面提到的"发现异常"。证书中会包 含数字签名,该数字签名是加密过的,是用颁发机构的私钥对本证书的公钥、名称及其他信息 做hash散列加密而生成的。客户端浏览器会首先找到该证书的根证书颁发机构,如果有,则用 该根证书的公钥解密服务器下发的证书,如果不能正常解密,则就是"发现异常",说明该证书 是伪造的。

5、传送加密信息

这部分传送的是用证书加密后的随机值,目的就是让服务端得到这个随机值,然后客户端和服 务端的通信就可以通过这个随机值来进行加密和解密了。

6、服务端解密信息

服务端用私钥解密后,得到了客户端传过来的随机值,至此一个非对称加密的过程结束,看到

TLS利用非对称加密实现了身份认证和密钥协商。然后把内容通过该值进行对称加密。

7、传输加密后的信息

这部分是服务端用随机值加密后的信息,可以在客户端被还原。

8、客户端解密信息

客户端用之前生成的随机值解密服务端传送过来的信息,于是获取了解密后的内容,至此一个 对称加密的过程结束,看到对称加密是用于对服务器待传送给客户端的数据进行加密用的。整 个过程即使第三方监听了数据,也束手无策。

相关推荐
bitbrowser3 小时前
giffgaff突然停用?先分清闲置停用和长期境外断开
笔记
九硕智慧建筑一体化厂家3 小时前
数字化管控落地,直流照明构筑安全照明体系
运维·人工智能·笔记·安全·智慧城市
AI云海3 小时前
天幕红尘笔记
笔记
青山是哪个青山6 小时前
LangChain 学习笔记(三):LangSmith 调试与监控
笔记·学习·langchain
蒸蒸yyyyzwd8 小时前
cpp选手备战后端学习笔记day6 秋招笔试题
笔记·学习
DeviceHub10 小时前
硬件工程师选型笔记:ALPS SKPMAPE010 与 Tonevee TS-3025 贴片轻触开关 PIN TO PIN 评估指南
笔记
nnerddboy11 小时前
LoRa自学笔记01:原理与学习路线
笔记·学习
疯狂打码的少年11 小时前
【数据结构】二叉树的性质(五大性质+计算)
数据结构·笔记·算法
Capricorn198812 小时前
知芽研究问题看板无法推进?从孵化区到笔记的机制排查指南
大数据·论文阅读·人工智能·笔记·学习方法·论文笔记
闪闪发亮的小星星12 小时前
相机脱靶量VS精跟踪精度
笔记