小言_互联网的博客

确保web安全的HTTPS

195人阅读  评论(0)

HTTP的缺点

  • 通信使用明文(不加密),内容可能会被窃听
    通信的加密
    可以通过SSLTLS组合加密HTTP通信内容
    HTTPS并非是应用层的一种新协议。只是HTTP通信接口部分用SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议代替而已。
    在采用SSL后,HTTP就拥有了HTTPS的加密、证书和完整性保护这些功能
    内容的加密:
    报文主体加密处理,报文首部未加密处理
  • 不验证通信方的身份,因此有可能遭遇伪装
    证书由值得信任的第三方机构颁发,用以证明服务器和客户端是实际存在的
  • 无法证明报文的完整性,所以有可能已遭篡改

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

共享密匙加密

  • 加密和解密同用一个密钥,只要拿到密匙,任何人都能破解密码
  • 无法安全将密匙发送到客户端

公开密匙加密

  • 公开密匙可以交给任何人,在客户端收到公开密匙之后,使用公开密匙进行加密,服务器端使用私有密匙解密(公开密匙和私有密匙是配对的一套密匙)
  • 根据密文和公开密匙,恢复到信息原文是异常困难的

HTTPS采用混合加密机制

  • 首先,在客户端收到公开密匙之后,使用公开密匙将共享密匙加密,发给服务器,服务器使用私有密匙将共享密匙解密,现在客户端和服务器都拥有了共享密匙,就可以使用共享密匙进行通信

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

  • 务器的运营人员向数字证书认证机构提出公开密钥的申请。数字证书认证机构在判明提出申请者的身份之后,会对已申请的公开密钥做数字签名,然后分配这个已签名的公开密钥,并将该公开密钥放入公钥证书后绑定在一起
  • 服务器会将这份由数字证书认证机构颁发的公钥证书发送给客户端,以进行公开密钥加密方式通信
  • 接到证书的客户端可使用数字证书认证机构的公开密钥,对那张证书上的数字签名进行验证,一旦验证通过,客户端(EV SSL证书)便可明确两件事:一,认证服务器的公开密钥的是真实有效的数字证书认证机构。二,服务器的公开密钥是值得信赖的。
  • 数浏览器开发商发布版本时,会事先在内部植入常用认证机关的公开密钥。

HTTPS的安全通信机制

  • 在以上流程中,应用层发送数据时会附加一种叫做MAC(Message AuthenticationCode)的报文摘要。MAC能够查知报文是否遭到篡改,从而保护报文的完整性。
  • HTTPS使用SSL(Secure Socket Layer)和TLS(Transport Layer Security)这两个协议。
  • SSL的慢分两种。一种是指通信慢。另一种是指由于大量消耗CPU及内存等资源,导致处理速度变慢。和使用HTTP相比,网络负载可能会变慢2到100倍。

转载:https://blog.csdn.net/AnitaSun/article/details/115607528
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场