HTTPS加密解密流程及工作原理--图文并茂

目录

 

开篇

对称加密

非对称加密

HTTPS加密方式

流程

第一步

第二步

第三步

总结


开篇

工作中HTTP与HTTPS是我们接触最多的协议,作为四层模型中,最上层模型,无论是我们自己开发网站,还是面向百度编程时,都需要使用到HTTP与HTTPS。大家都知道HTTP不安全,明文传输,HTTPS采用非对称加密与对称加密相结合的方式,保障传输数据的安全性。但是对于HTTPS的工作原理还是有些模糊,因为这个过程本身就是比较绕的。所以这里呢,我们不会去讨论具体的底层实现细节,我们只梳理整个流程,为大家理清HTTPS能够安全传输的原因,作为以后深入学习的一个指引。

对称加密

对称加密特点是,秘钥相对较短,需要双方持有相同加密秘钥,算法公开,效率高,但是一旦有一方泄露了秘钥就会不安全,而且每次传输的时候,都需要生成秘钥,会造成秘钥泛滥。

非对称加密

非对称加密特点是,是由公钥和私钥共同组成的秘钥,公钥是所有人都持有的,私钥只有服务端持有,私钥加密只能通过公钥解密,公钥加密只能通过私钥解密,所以安全性高,但是加密效率相对较低。

HTTPS加密方式

HTTPS同时采用了对称加密与非对称加密,利用非对称加密,加密对称加密的秘钥,保障安全性的同时又提高了性能。

流程

第一步

1、网站公司首先向权威机构申请数字证书,证书包含网站信息,域名,公司信息,以及公司公钥,数字证书包含具体公司信息就是为了防止证书被拦截和篡改;

2、然后证书机构使用自己的私钥对证书进行加密,专业的证书机构一共就几家,是我们必须信赖的。

3、公司获取到证书后,将证书和秘钥部署到服务器上,配置到nginx中。

HTTPS加密解密流程及工作原理--图文并茂_第1张图片

第二步

1、浏览器第一次访问网站时,网站将数字证书返回给浏览器。

2、浏览器使用机构公钥进行解密,获取网站信息及公钥。

HTTPS加密解密流程及工作原理--图文并茂_第2张图片

第三步

1、浏览器生成随机秘钥A,用A加密传输数据。

2、在使用网站公钥B,加密A和A加密后的传输数据。

3、传输至网站后,网站使用私钥进行解密,获取秘钥A,然后使用A再次解密数据,获取传输数据。

4、使用随机秘钥A加密返回数据,此后采用对称加密进行传输。

注意:此步骤中第一次传送随机秘钥是否和数据一起并未做明确验证,因此仅是一种流程的简易说明,暂且算作一次传输,想要细致研究的朋友可以深入探索。)

HTTPS加密解密流程及工作原理--图文并茂_第3张图片

总结

以上就是HTTPS的工作流程梳理,内容虽然不涉及具体的秘钥算法,协议等内容,但是基本流程说明已经具备,希望可以抛砖引玉,为大家学习此部分内容有一个好的指引。

你可能感兴趣的:(守卫军--运维小技巧,https,java,服务器,网络协议,加密解密)