https

作者: 晓丽_c080 | 来源:发表于2021-11-04 10:02 被阅读0次

    HTTP 存在的问题

    1.HTTP 报文使用明文方式发送,可能被第三方窃听。
    2.HTTP 报文可能被第三方截取后修改通信内容,接收方没有办法发现报文 内容的修改。
    3.HTTP 还存在认证的问题,第三方可以冒充他人参与通信。

    HTTPS 简介

    HTTPS 指的是超文本传输安全协议,HTTPS 是基于 HTTP 协议的,不过它会使 用 TLS/SSL 来对数据加密。使用 TLS/ SSL 协议,所有的信息都是加密的,第 三方没有办法窃听。并且它提供了一种校验机制,信息一旦被篡改,通信的双方 会立 刻发现。它还配备了身份证书,防止身份被冒充的情况出现

    实现原理

    TLS 的握手过程主要用到了三个方法来保证传输的安全。
    首先是对称加密的方法,对称加密的方法是,双方使用同一个秘钥对数据进行加 密和解密。但是对称加密的存在一个问题,就 是如何保证秘钥传输的安全性, 因为秘钥还是会通过网络传输的,一旦秘钥被其他人获取到,那么整个加密过程 就毫无作用了。 这就要用到非对称加密的方法。

    非对称加密的方法是,我们拥有两个秘钥,一个是公钥,一个是私钥。公钥是公 开的,私钥是保密的。用私钥加密的数据,只 有对应的公钥才能解密,用公钥 加密的数据,只有对应的私钥才能解密。我们可以将公钥公布出去,任何想和我 们通信的客户, 都可以使用我们提供的公钥对数据进行加密,这样我们就可以 使用私钥进行解密,这样就能保证数据的安全了。但是非对称加 密有一个缺点 就是加密的过程很慢,因此如果每次通信都使用非对称加密的方式的话,反而会 造成等待时间过长的问题。

    因此我们可以使用对称加密和非对称加密结合的方式,因为对称加密的方式的缺 点是无法保证秘钥的安全传输,因此我们可以 非对称加密的方式来对对称加密的秘钥进行传输,然后以后的通信使用对称加密的方式来加密,这样就解决了两 个方法各自存 在的问题。
    但是现在的方法也不一定是安全的,因为我们没有办法确定我们得到的公钥就一 定是安全的公钥。可能存在一个中间人,截取 了对方发给我们的公钥,然后将 他自己的公钥发送给我们,当我们使用他的公钥加密后发送的信息,就可以被他 用自己的私钥 解密。然后他伪装成我们以同样的方法向对方发送信息,这样我 们的信息就被窃取了,然而我们自己还不知道。

    为了解决这样的问题,我们可以使用数字证书的方式,首先我们使用一种 Hash 算法来对我们的公钥和其他信息进行加密生成 一个信息摘要,然后让有公信力 的认证中心(简称 CA )用它的私钥对消息摘要加密,形成签名。最后将原始 的信息和签名合 在一起,称为数字证书。当接收方收到数字证书的时候,先根 据原始信息使用同样的 Hash 算法生成一个摘要,然后使用公证 处的公钥来对 数字证书中的摘要进行解密,最后将解密的摘要和我们生成的摘要进行对比,就 能发现我们得到的信息是否被更改 了。这个方法最要的是认证中心的可靠性, 一般浏览器里会内置一些顶层的认证中心的证书,相当于我们自动信任了他们, 只有 这样我们才能保证数据的安全。

    相关文章

      网友评论

          本文标题:https

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