关于https的一些了解

https是安全版的http协议(超文本传输安全协议),它是http和ssl协议的综合版,可以有效的防止信息在网络传输过程中遭到窃取和篡改的可能性。

传统的http协议有哪些缺点呢?

  1. 通信使用明文传输,内容可能被窃取
    明文信息很容易使用抓包软件抓取
    如何防止?加密处理防止窃听
    . 对通信的内容进行加密(这也有被窜改的风险)。
    . 对通信加密,不同于上面的内容的加密。https是SSL(安全套接层)或TLS(安全传输层协议)和HTTP协议组合使用,它可以使用SSL建立一个安全的通信线路,在进行http请求。

  2. 不能验证通信方的身份,因此可能遭到伪装
    . 无法确定请求发送给目标服务器是否是按照正确的意图进行返回,可能存在伪装的服务器
    . 无法确定响应的服务器发送给的客户端,是否是真正要接受响应的按个客户端。有可能是伪装的客户端
    . 无法判定请求来自何方,出自谁手
    . 无法确定正在通信的对方是否具备访问权限。可能某些服务器可能只想让特定的用户访问到。
    . 即使无意义的请求也会照单全收。Dos攻击
    如何防止? 查明对方的证书
    SSL技术不仅使用加密处理,还有证书手段来确定通信方。证书有第三方权威机构办法,用来证明服务器和客户端的真实性。只需要在通信前确认对方证书的可靠性,就能保证要通信的对方是自己要想的。

  3. 无法证明报文的完整性, 所有有可能被篡改
    . 接受到的信息无法确定是和发送方发送的信息相同的,攻击者可以通过中间人攻击窃取请求或者响应消息进行修改。
    如何防止?
    . 采用MD5和SHA-1等散列值校验方法对信息进行数字签名。经常看到的文件下载网站如

    image.png

    这种依然需要使用用户本身确认下载结果的可靠性,无法通过浏览器来进行验证。 而且如果数字签名也被修改,用户是无法知道的。

HTTP + 加密 + 认证 + 完整性保护 = HTTPS

加密
  1. 对称加密(也叫共享密钥加密)顾名思义通信双方使用同一个密钥的方式。这种方式有个弊端就是必须将密钥发送给对方。这里会有安全风险,密钥落入攻击者手里安全传输就失去来意义。
  2. 非对称加密就是使用公开密钥加密,它有效的解决了对称加密必须使用传输密钥给地方的弊端。因为有两把密钥(公开密钥:所有人都知道的密钥和私有密钥:只有自己知道的密钥)。发送方想接受方发送消息前,先使用接受方的公开密钥加密,然后发送给接受方, 接受方接受到消息后,使用自己的私有密钥进行解析。同时返回响应消息时,接受方使用发送方的公开密钥加密响应消息,发送方接受到响应消息使用自己的私有密钥解密,得到响应消息。这样就进行了一次安全传输。
  3. https的混合加密机制
    首先使用公开密钥加密(非对称加密)的方式安全的得到共享密钥加密(对称加密)中要使用的密钥,在确保交换的密钥是安全的前提下,使用共享密钥加密的方式进行传输通信。
认证

使用公开加密(非对称加密)也会存在一些问题,无法确认它确实是货真价实的公开密钥。

你可能感兴趣的:(关于https的一些了解)