关于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的混合加密机制
    首先使用公开密钥加密(非对称加密)的方式安全的获得共享密钥加密(对称加密)中要使用的密钥,在确保交换的密钥是安全的前提下,使用共享密钥加密的方式进行传输通讯。
认证

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

相关文章
相关标签/搜索