当前位置: 首页 > 科技观察

对称或非对称-HTTPS使用什么?

时间:2023-03-20 15:52:59 科技观察

简单了解https。这次就来讨论一下https的相关知识。最重要的是关于加密方法的知识。https是对称加密还是非对称加密?为什么选择对称加密,或者非对称加密?对称加密?有什么奥秘?这一节,我们一起来看看。关于加密,我们先看看非加密的情况。通常,在计算机中,我们会在没有加密的情况下“裸奔”。如果数据没有加密,很容易被黑客窃取。如下图所示:因此,针对这种情况,我们应该在数据传输过程中进行相应的加密。那么问题来了,我们应该选择哪种加密方式呢?我们知道:常见的加密方式可以分为对称加密和非对称加密。比如我们这里选择对称加密的形式。如下图所示:我们可以使用data数据和秘钥进行f()函数运算得到密文:XXX,然后将XXX传递给服务器加密数据传输,但是这样也面临一些相应的问题。我们知道对称加密的密钥是由后端生成的,但往往只有一把密钥。因为不可能在后台给每个人都设置一个秘钥,不然后台保存的秘钥太多了。由于秘钥只有一个,前端要想解密需要获取秘钥。这是不安全的,因为黑客也可以伪装成好人(普通客户),得到相应的秘钥,然后对得到的数据进行解密。所以对称加密方式其实并不安全。虽然是加密的,但是黑客很容易解密。对称加密这么不安全,那非对称加密呢?方法:公钥加密,私钥解密,私钥加密,公钥解密。开始时,服务器生成一对公钥和私钥(pk,sk)。如果我们要进行密文通信,客户端需要获得相应的公钥(pk)。因此,客户端将发送对公钥的请求。客户端获取到pk后,会将数据放入f()方法中进行相应的加密。使用的秘钥是刚刚得到的pk。XXX加密后就是密文。这样我们就可以将数据传输到服务器了。这时候如果黑客截获了对应的XXX数据,黑客将无法获取到对应的明文数据,因为他还没有获取到对应的公钥(pk)。但是非对称加密的缺点也来了:如果服务端要向客户端传输数据,也需要加密怎么办?如果你使用私人将加密字段YYY传给客户端看似没有问题,但仔细想想就会知道,黑客也可以充当好公民获取公钥(pk)。也就是说,只要使用私钥,黑客就可以使用密钥(sk)加密的方式进行解密。得出结论单独使用对称加密不安全,单独使用非对称加密也不安全。那我们应该怎么解决呢?经过科学家们的努力,我们是否想过两者是否可以结合?例如下图所示:通过上图我们知道可以先通过request获取服务端的pk。得到之后,我们可以在客户端随机生成一个密钥,然后通过f(pk,key)=XXX的方式,将XXX传给服务端,这样服务端就可以通过私钥(sk)解密XXX到获取密钥。以后我们可以用这个密钥作为秘钥,进行对称加密。这个方法很好。这样我们会觉得数据很安全。但它真的安全吗?事实上,如果我们想象的话,这是错误的。如果黑客从一开始就攻击我们通讯被监控。那么我们获取公钥的过程也会被监控。而我们知道,非对称加密的公钥(pk)也是可以被黑客获取的。所以一旦公钥泄露,密钥也会泄露,如果密钥泄露,之后的所有对称加密都不能称得上是安全的。所以后者是很安全的,但是如何保证pk的传输也是安全的就很重要了。那么如何解决这个问题呢?我们可以对上面的内容进行再次优化,比如我们这里引入一个‘CA机构’,‘CA机构’是一种信用机构。它主要靠信用赚钱,一般都是全球性的大机构。这样的机构也会有自己的公钥(cpk)和私钥(csk),可以用csk加密pk公钥得到证书,我们可以把证书传给前端,让前端使用浏览器自带的公钥(cpk)解密证书,如果解密成功,就可以得到pk,然后用pk加密前端生成的key。重复前面的步骤。通过以上步骤,我们实际上可以得到一个完整的、安全的通信方式。这其实就是https通信方式中最重要的加密方式的介绍。好的。通过上面的学习,我们可以知道,https通信实际上使用的是非对称加密和对称加密。