美文网首页
第7章 确保Web安全的HTTPS

第7章 确保Web安全的HTTPS

作者: 陈_振 | 来源:发表于2018-06-28 11:10 被阅读0次

    HTTPS可以有效的防止信息窃听,身份伪装等安全问题。

    HTTP的缺点

    • 通信使用明文,内容可能被窃听
    • 不验证通信方的身份,因此有可能遭遇伪装
    • 无法证明报文的完整性,所以有可能已遭篡改

    通信使用明文可能会被窃听

    • 加密处理防止被窃听

    通信的加密
    HTTP通过和SSL或TLS的组合使用,加密HTTP的通信内容。即使用SSL建立安全通信线路之后,就可以在这条线路上进行HTTP通信了。

    内容的加密
    将报文主体进行加密处理。

    不验证通信的身份就可能遭遇伪装

    • 任何人都可以发送请求

    通信时,不存在确认通信方的处理步骤,任何人都可以发送请求。另外,服务器只要接收到请求,不管对方是谁都会返回到实际提出请求的客户端(仅限于发送端的IP地址和端口号没有被Web服务器设定限制访问的前提下)。

    由于不确认通信方,会存在如下各种隐患:

    • 目标服务器有可能是已伪装的Web服务器

    • 客户端有可能是已伪装的Web服务器

    • 无法确定正在通信的对方是否具备访问权限。

    • 即使无意义的请求也会照单全收。无法阻止海量请求下的DoS攻击

    • 查明对方的证书

    SSL还使用了一种被称为证书的手段,可用于确定对方。

    无法证明报文的完整性,可能已遭篡改

    • 接收到的内容可能有误

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

    通常HTTP直接和TCP进行通信。当使用SSL时,则演变成先和SSL通信,再由SSL和TCP通信。

    相互交换密钥的公开密钥加密技术

    SSL采用一种叫做公开密钥加密的加密处理方式。

    • 共享密钥的困境

    加密和解密用同一个密钥的方式称为共享密钥加密,也被叫做对称密钥加密。
    但是,以共享密钥的方式加密时必须将密钥也发送给对方,因此,密钥有可能被监听。

    • 使用两把密钥的公开密钥加密

    公开密钥使用一种非对称的密钥。一把叫私有密钥,另一把叫公开密钥。

    发送密文的一方使用对方的公开密钥进行加密处理,对方收到被加密的信息后,再使用自己的私有密钥进行解密。

    • HTTPS采用混合加密机制
      HTTPS采用共享密钥加密和公开密钥加密两者并用的混合加密机制。
      因为公开密钥加密处理速度比共享密钥加密要慢很多。因此使用公开密钥的方式将共享密钥传递过去(此时的共享密钥只有发送端和接受端知道),然后后面的通信就使用共享密钥。

    具体过程大概是:
    发送端:你的公开密钥是?
    接收端:我的公开密钥是🔑。
    发送端:将共享密钥使用得到的公开密钥进行加密后发送。
    接收端:将收到的内容使用私钥进行解密。然后使用解密后得到密钥保存起来,以后的通信便使用该密钥进行加密。

    证明公开密钥正确性的证书

    公开密钥在传输过程中可能会被调包。为解决该问题,使用由数字证书认证机构和其他相关机关颁发的公开密钥证书。
    服务器会将证书和公钥一起发送给客户端。然后客户端拿到服务器的公钥证书后,使用认证机构的公开密钥,向数字证书认证机构验证公钥证书上的数字签名,以确认服务器公开密钥的真实性。
    此时,将认证机关的公开密钥安全的转交给客户端是非常重要的事。大多数浏览器开发商发布版本时,会事先在内部植入常用认证机关的公开密钥。

    HTTPS的安全通信机制

    IMG_067B8FEDC3B1-1.jpeg IMG_8055A6272302-1.jpeg IMG_FEC34AA3A78B-1.jpeg

    相关文章

      网友评论

          本文标题:第7章 确保Web安全的HTTPS

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