对称加密和非对称加密

作者:爱塔居

专栏:计算机网络

对称加密和非对称加密_第1张图片

 

文章目录

目录

文章目录

前言

一、对称加密

二、非对称加密


前言

既然要保证数据安全,就需要进行“加密”。网络传输中,不再直接传输明文了,而是加密之后的“密文”。加密的方式有很多,但整体上可以分成两大类:对称加密和非对称加密。


一、对称加密

对称加密就是通过同一个“密钥”,将明文加密成密文,并且也能把密文解密成明文。引用对称加密之后,即使数据被截获,由于黑客不知道密钥是什么,因此就无法解密,不知道请求的内容。

对称加密和非对称加密_第2张图片

但是,服务器同一时刻是给很多客户端提供服务的,每个人用的密钥必然不同

数据加密标准DES属于对称密钥密码体制。DES是一种加密分组密码体制。在加密前,先对整个的明文进行分组。每一个组为64位长的二进制数据。然后对每一个64位二进制数据进行加密处理,产生一组64位密文数据。最后将各组密文串接起来,即得到整个的密文。使用的密钥

占有64位(实际密钥长度位56位,外加8位用于奇偶校验。)

DES的机密性仅取决于对密钥的保密,而算法是公开的。DES的问题是它的密钥长度。56位长的密钥意味着共有2^56种可能的密钥。这种密文标准在芯片的迅速发展下,不再安全。

服务器就需要维护每个客户端和每个密钥之间的关联关系,很麻烦。比较理想的做法,就是能在客户端和服务端建立连接的时候,双方协商确认这次的密钥是什么。

但是如果直接把密钥明文传输,黑客也会获得密钥。

对称加密和非对称加密_第3张图片

 因此,密钥的传输需要加密传输,这时又需要密钥的密钥了。

对称加密和非对称加密_第4张图片

对称加密和非对称加密_第5张图片这时,便需要引入非对称加密了。

二、非对称加密

非对称加密要用到两个密钥,一个叫做“公钥”(pub),一个叫做“私钥”(pri)。

公钥和私钥是配对的,没有规定哪个用来加密,哪个用来解密。最大的缺点就是运算速度非常慢,比对称加密慢得多。

  • 通过公钥对明文加密,变成密文
  • 通过私钥对密文解密,变成明文

也可以反过来:

  • 通过私钥对明文加密,变成密文
  • 通过公钥对密文解密,变成明文

通常是公钥加密,私钥解密。

我们可以举一个生活中的例子:

把公钥看作是锁,私钥看作是钥匙。

A想要把重要文件交给B,但是B不在办公室。于是,B给了A一个锁(公钥),让A把文件放在B的柜子里,锁住。而开锁的钥匙,只有B手中有。这期间,无论怎样,坏人只能拿到锁,没有办法开柜子,拿到文件。

客户端是希望把自己的key安全地传给服务器,不被黑客拿到。

客户端和服务器的业务数据传输,仍然是使用对称加密的方式(对称加密速度快,成本低)。只不过,为了保证对称密钥能够安全到达服务器,这才引入非对称密钥,来保护对称密钥。在对称密钥传输完成后,就不用非对称密钥,改用对称密钥了。

对称加密和非对称加密_第6张图片

 这就真的万无一失了吗?那当然不是。

对称加密和非对称加密_第7张图片

 对称加密和非对称加密_第8张图片

对称加密和非对称加密_第9张图片中间人攻击,破解的关键在于让客户端能够信任公钥!!这就需要权威机构了。

对称加密和非对称加密_第10张图片

 

 如何针对证书进行校验

1.得到初始的签名:客户端使用系统中内置的权威机构的公钥,针对上述证书中的加密签名进行解密,得到了初始的签名。我们的电脑或实际系统里,默认已经安装根证书,根证书里记录了可以信任的CA机构以及公钥。所以黑客是无法在网络中进行截获或者篡改的。

2.计算现在的签名:客户端使用同样的签名计算算法,基于证书的属性重新计算

3.比较两个签名是否相同。如果相同,说明证书中的数据都是未被篡改的原始数据包。如果签名不同,说明证书的数据被篡改过,客户端的浏览器弹框报错。

这个权威机构的作用就是让客户端信任这个公钥是安全的,是服务器给的,而不是被黑客篡改的公钥。黑客也有公钥,可以对签名进行解密,可以进行同样的校验,但不能改公钥!

黑客要篡改公钥,就需要把证书中的服务器的公钥,替换成自己的公钥。黑客需要针对证书的各个属性,重新计算签名,不然就会被客户端发现。计算完的签名,黑客不知道pri2,是无法对签名进行加密的。这也就确保了数字证书的不可伪造性。

 

你可能感兴趣的:(计算机网络,网络,服务器,https)