美文网首页
HTTPS 和 HTTP的区别

HTTPS 和 HTTP的区别

作者: 沫之 | 来源:发表于2019-10-28 10:43 被阅读0次

    HTTPS 是 HTTP 建立在 SSL/TLS 安全协议上的。

    在 iOS 中,客户端本地会存放着 CA 证书,在HTTPS 请求时,会首先像服务器索要公钥,获得公钥后会使用本地 CA 证书验证公钥的正确性,然后通过正确的公钥加密信息发送给服务器,服务器会使用私钥解密信息。

    SSL/TLS握手阶段分为五步:
    以下引自 阮一峰的网络日志
    第一步,爱丽丝给出协议版本号、一个客户端生成的随机数(Client random),以及客户端支持的加密方法。
    第二步,鲍勃确认双方使用的加密方法,并给出数字证书、以及一个服务器生成的随机数(Server random)。
    第三步,爱丽丝确认数字证书有效,然后生成一个新的随机数(Premaster secret),并使用数字证书中的公钥,加密这个随机数,发给鲍勃。
    第四步,鲍勃使用自己的私钥,获取爱丽丝发来的随机数(即Premaster secret)。
    第五步,爱丽丝和鲍勃根据约定的加密方法,使用前面的三个随机数,生成"对话密钥"(session key),用来加密接下来的整个对话过程。

    image.png

    HTTPS 相对于 HTTP 性能上差点,因为多了 SSL/TLS 的几次握手和加密解密的运算处理,但是加密解密的运算处理已经可以通过特有的硬件来加速处理。

    相关文章

      网友评论

          本文标题:HTTPS 和 HTTP的区别

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