• HTTPS加密过程


    HTTPS说明

    HTTPS和HTTP一样都是应用层的传输协议,不同的是HTTP传输的内容是按照文本的方式以明文传输的,可以被第三者轻易擦看和获取,HTTPS是在HTTP的基础上对传输的内容进行了加密,防止内容泄漏或者被篡改。

    加密和解密

    加密就是将协议传输的内容按照指定的方式进行转换,生成密文。
    解密就是将协议传输过来的密文,通过指定的方式转换成明文。
    在加密和解密的过程中,一般需要一种或者多个中间转换的数据,来辅助这过程的正常进行,这种数据被叫做密钥。
    其作用就是为了防止他人获取其中的明文,造成隐患。

    举例:
    小明和小红聊天,小明想对小红说 我爱你,小明不想让的别人知道于是用密钥将明文加密成密文发送给小红,小红收到后又用密钥将密文解密成明文,于是小红就明白了小明的意思。

    加密的方式 对称加密不对称加密

    总结

    • 客户端向服务端打招呼(Cloet Hello),将自己支持的TLS加密套件发给服务端,同时还生成第一个随机数(第一随机数数)
    • 接下来服务端向客户端打招呼(Server Hello),将自己支持的TLS版本和加密套件发给客户端,同时生成第二个随机数(第二随机数数)
    • 服务端在将证书和公钥发送给客户端,客户在生成第三个随机数预主密钥(第三组随机数),此时客户端不会马上将生成的预主密钥发送出去
    • 客户端在将生成的预组密钥公钥加密后发送给服务端,服务端收到加密后的预主密钥,用自己的私钥解密就得到了第三组随机数预主密钥了
    • 服务端和客户端都用刚才生成的预主密钥+第一组随机数+第二组随机数生成会话密钥
    • 最后客户端和服务端都使用相同的会话密钥对内容进行加密,会话密钥只应用在当前会话,提高了安全性
    • 开始的加密获取随机数那些是不对称加密,消耗资源非常大,但生成会话密钥以后就变成了对称加密,提高性能
  • 相关阅读:
    Electron使用Preload Scripts实现主进程和渲染进程之间通信
    PromptPort:为大模型定制的创意AI提示词工具库
    HTTPS 的加密流程
    2021年的一封情书:指针
    大数据开发工程师面试题
    126.(前端)上传图片的预览
    JAVA学习------ConcurrentHashMap实现原理
    Centos7 docker搭建onlyoffice
    Promise封装Ajax请求
    Sheet保存到本地 dataList前8行不读取
  • 原文地址:https://blog.csdn.net/AKindofo/article/details/126471892