https原理及其中所包含的对称加密、非对称加密

一、为什么要使用https

使用https的原因其实很简单,就是因为http的不安全。

当我们往服务器发送比较隐私的数据(比如说你的银行卡,身份证)时,如果使用http进行通信。那么安全性将得不到保障。首先数据在传输的过程中,数据可能被中间人抓包拿到,那么数据就会被中间人窃取。其次数据被中间人拿到后,中间人可能对数据进行修改或者替换,然后发往服务器。最后服务器收到数据后,也无法确定数据有没有被修改或替换,当然,如果服务器也无法判断数据就真的是来源于客户端。

总结下来,http存在三个弊端:

  1. 无法保证消息的保密性
  2. 无法保证消息的完整性和准确性
  3. 无法保证消息来源的可靠性

https就是为了解决上述问题应运而生的。

二、https中涉及的基本概念

为了解决http中存在的问题,https采用了一些加解密,数字证书,数字签名的技术来实现。下面先介绍一下这些技术的基本概念

对称加密与非对称加密:为了保证消息的保密性,就需要用到加密和解密。加解密算法目前主流的分为对称加密和非对称加密。

  • 对称加密(共享密匙加密):客户端和服务器公用一个密匙用来对消息加解密,这种方式称为对称加密。客户端和服务器约定好一个加密的密匙。客户端在发消息前用该密匙对消息加密,发送给服务器后,服务器再用该密匙进行解密拿到消息。
    在这里插入图片描述
    对称加密的优点:对称加密解决了http中消息保密性的问题
    对称加密的缺点:
  1. 对称加密虽然保证了消息保密性,但是因为客户端和服务器共享一个密匙,这样就使得密匙特别容易泄露
  2. 因为密匙泄露风险较高,所以很难保证消息来源的可靠性、消息的完整性和准确性。

在这里插入图片描述

  • 非对称加密(公有密匙加密):既然对称加密中,密匙那么容易泄露,那么我们可以采用一种非对称加密的方式来解决。采用非对称加密时,客户端和服务端均拥有一个公有密匙和一个私有密匙。公有密匙可以对外暴露,而私有密匙只有自己可见。使用公有密匙加密的消息,只有对应的私有密匙才能解开。反过来,使用私有密匙加密的消息,只有公有密匙才能解开。这样客户端在发送消息前,先用服务器的公匙对消息进行加密,服务器收到后再用自己的私匙进行解密。

在这里插入图片描述

非对称加密的优点:

  1. 非对称加密采用公有密匙和私有密匙的方式,解决了http中消息保密性问题,而且使得私有密匙泄露的风险降低。
  2. 因为公匙加密的消息只有对应的私匙才能解开,所以较大程度上保证了消息的来源性以及消息的准确性和完整性。
    非对称加密的缺点:
  3. 非对称加密时需要使用到接收方的公匙对消息进行加密,但是公匙不是保密的,任何人都可以拿到,中间人也可以。那么中间人可以做两件事,第一件是中间人可以在客户端与服务器交换公匙的时候,将客户端的公匙替换成自己的。这样服务器拿到的公匙将不是客户端的,而是服务器的。服务器也无法判断公匙来源的正确性。第二件是中间人可以不替换公匙,但是他可以截获客户端发来的消息,然后篡改,然后用服务器的公匙加密再发往服务器,服务器将收到错误的消息。
  4. 非对称加密的性能相对对称加密来说会慢上几倍甚至几百倍,比较消耗系统资源。正是因为如此,https将两种加密结合了起来。
    在这里插入图片描述
    在这里插入图片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章