当前位置:首页 > 技术分享 > 正文内容

HTTPS加密原理是什么?对称加密和非对称加密的区别是?

1年前 (2022-12-10)技术分享1071

      HTTPS加密原理是什么?如今我们大部分的网站、小程序等项目都是会用到HTTPS加密的。我们应该知道使用HTTPS加密会在搜索引擎有加分项,且如果没有用HTTPS的话有些浏览器会提示不安全网站,所以我们会用到,但是我们是否有知道HTTPS加密原理。

src=http___pic4.zhimg.com_v2-b2699e75fc1b228a66def81fd7215c5b_180x120.jpg&refer=http___pic4.zhimg.webp

      我们要知道,在打开网站URL的时候,通过HTTP或者HTTPS传输信息是不同的,前者是明文,后者是加密传输的。尤其是我们有用户信息数据传输的时候,用HTTPS会加密传输确保数据的安全。

在HTTPS传输的时候有对称加密和非对称加密,到底有什么区别。

第一、对称加密

      就是有一个密钥,它可以对一段内容加密,加密后只能用它才能解密看到原本的内容,和我们日常生活中用的钥匙作用差不多。

      如果通信双方都各自持有同一个密钥,且没有别人知道,这两方的通信安全当然是可以被保证的(除非密钥被破解)。然而最大的问题就是这个密钥怎么让传输的双方知晓,同时不被别人知道。如果由服务器生成一个密钥并传输给浏览器,那这个传输过程中密钥被别人劫持弄到手了怎么办?之后他就能用密钥解开双方传输的任何内容了,所以这么做当然不行。

      换种思路?试想一下,如果浏览器内部就预存了网站A的密钥,且可以确保除了浏览器和网站A,不会有任何外人知道该密钥,那理论上用对称加密是可以的,这样浏览器只要预存好世界上所有HTTPS网站的密钥就行啦!这么做显然不现实。

第二、非对称加密

      简单说就是有两把密钥,通常一把叫做公钥、一把叫私钥,用公钥加密的内容必须用私钥才能解开,同样,私钥加密的内容只有公钥能解开。

      鉴于非对称加密的机制,我们可能会有这种思路:服务器先把公钥直接明文传输给浏览器,之后浏览器向服务器传数据前都先用这个公钥加密好再传,这条数据的安全似乎可以保障了!因为只有服务器有相应的私钥能解开这条数据。

      其实HTTPS的加密原理,主要在于充分利用了对称加密和非对称加密的优点,以及数字证书的作用。根据加密的特点,将HTTP进行了一次升级,升级到HTTPS的形态,就具备了一层加密的外壳了。

第三、对称加密和非对称加密的区别

1、加密和解密过程不同

      对称加密过程和解密过程使用的同一个密钥,加密过程相当于用原文+密钥可以传输出密文,同时解密过程用密文-密钥可以推导出原文。但非对称加密采用了两个密钥,一般使用公钥进行加密,使用私钥进行解密。

2、加密解密速度不同

      对称加密解密的速度比较快,适合数据比较长时的使用。非对称加密和解密花费的时间长、速度相对较慢,只适合对少量数据的使用。

3、传输的安全性不同

      对称加密的过程中无法确保密钥被安全传递,密文在传输过程中是可能被第三方截获的,如果密码本也被第三方截获,则传输的密码信息将被第三方破获,安全性相对较低。

非对称加密算法中私钥是基于不同的算法生成不同的随机数,私钥通过一定的加密算法推导出公钥,但私钥到公钥的推导过程是单向的,也就是说公钥无法反推导出私钥。所以安全性较高。

参考文章:

1、https://www.jianshu.com/p/de50d1489359

2、https://bbs.huaweicloud.com/blogs/352698



转载自:https://www.laobuluo.com/8608.html

扫描二维码推送至手机访问。

版权声明:本站内容除特殊说明外,本站文章皆由帝明博客原创发布,转载请注明出处。

本文链接:https://www.ldm.wang/read/30.html

相关文章

新安装宝塔邮局管理器主机名不合规定、Redis密码和SElinux问题解决方法

新安装宝塔邮局管理器主机名不合规定、Redis密码和SElinux问题解决方法

       自从宝塔邮箱更新到4.3版本后安装会出现主机名不合规定,要设置Redis管理器设置密码和禁用SElinux,如图一、提示“你的主机名 (ecs-eQSAM) 不合规定, 需要是完整域.....

什么是CDN加速?CDN加速原理和加速作用有哪些?

什么是CDN加速?CDN加速原理和加速作用有哪些?

        什么是CDN?CDN的全称是Content Delivery Network,即内容分发网络。CDN是在现有Internet基础上增加一层新的网络架构,通过部署边缘服务器,采用负载均衡...

网站域名被恶意泛解析该怎么办?

网站域名被恶意泛解析该怎么办?

     众所周知,域名解析完成后,外部用户才可以通过域名访问网站。那么什么是泛域名解析你知道吗?如果网站被恶意泛域名解析该怎么办?1、什么是泛域名解析?泛解析简单的来讲就是:*.xxx.com解析到一个IP上...

centos下网络设置修改:修改IP、修改网关、DNS配置

本文介绍了centos网络配置的方法,centos网络配置主要包括IP地址、网关、dns:1、IP地址配置: /etc/sysconfig/network-scripts/ifcfg-eth02、网关配置:  /etc/sysconfig/...

VPS(云服务器)使用宝塔面板因内存过小MySQL频繁崩溃问题解决办法

VPS(云服务器)使用宝塔面板因内存过小MySQL频繁崩溃问题解决办法

       使用宝塔面板VPS(云服务器)内存小而MySQL频繁崩溃,宝塔面板面板要求内存512M以上,推荐768M以上,所以512M小内存的VPS使用MySQL非常吃力,宝塔面板可以通过一下方法解...