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

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

2年前 (2022-12-10)技术分享1335

      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.diming.org/read/30.html

相关文章

35DIR伪静态

Apache<IfModule mod_rewrite.c> RewriteEngine On # BEGIN # 首页、分类浏览、数据归档、最近更新、排行榜、意见反馈 Rewri...

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

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

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

服务器测试脚本

收集了一些服务器测试脚本,测试性能,网络等服务。综合工具箱wget -O box.sh https://raw.githubusercontent.com/BlueSkyXN/SKY-BOX/main/box....

WEB服务器用Nginx还是Apache好?

WEB服务器用Nginx还是Apache好?

       Nginx和Apache是我们常用的两款开源的Web服务器软件,我们一般用哪个好呢?Nginx和Apache最核心的区别在于 apache 是同步多进程模型,一个连接对应一个进程;而 n...

宝塔面板安装或启动不了nginx怎么办?

宝塔面板安装或启动不了nginx怎么办?

       宝塔面板在香港服务器(境外服务器)安装或启动不了nginx怎么办?香港服务器(境外服务器)在宝塔面板安装nginx经常会遇安装不了,安装完启动不了,相信,很多小伙伴最近都遇到了这样的问题...