美文网首页面试题
HTTPS 的实现原理

HTTPS 的实现原理

作者: 流萤飘枫 | 来源:发表于2020-03-06 15:32 被阅读0次

    大家可能都听说过 HTTPS 协议之所以是安全的是因为 HTTPS 协议会对传输的数据进行加密,而加密过程是使用了非对称加密实现。但其实,HTTPS 在内容传输的加密上使用的是对称加密,非对称加密只作用在证书验证阶段。

    HTTPS的整体过程分为证书验证和数据传输阶段,具体的交互过程如下:

    ① 证书验证阶段

    浏览器发起 HTTPS 请求

    服务端返回 HTTPS 证书

    客户端验证证书是否合法,如果不合法则提示告警

    ② 数据传输阶段

    当证书验证合法后,在本地生成随机数

    通过公钥加密随机数,并把加密后的随机数传输到服务端

    服务端通过私钥对随机数进行解密

    服务端通过客户端传入的随机数构造对称加密算法,对返回结果内容进行加密后传输

    为什么数据传输是用对称加密?

    首先,非对称加密的加解密效率是非常低的,而 http 的应用场景中通常端与端之间存在大量的交互,非对称加密的效率是无法接受的;

    另外,在 HTTPS 的场景中只有服务端保存了私钥,一对公私钥只能实现单向的加解密,所以 HTTPS 中内容传输加密采取的是对称加密,而不是非对称加密。

    相关文章

      网友评论

        本文标题:HTTPS 的实现原理

        本文链接:https://www.haomeiwen.com/subject/cmiirhtx.html