概述HTTPS,简单了解对称性加密算法、非对称性加密算法方式

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_38111957/article/details/86584744

一、引言

今天我们来聊一聊一个有趣的话题。

小编工作两年之余,主要接触的是保险公司、医院的对接。说白了就是你把数据给我,我在把数据给他,就是干这么一件事。既然是数据的传输,那么当然就得考虑安全性。

数据安全性如何做保证?即使把数据给加密了,那么就一定安全了吗?

众所周知,HTTPS协议大家认为它是安全的,数据会被加密,那么今天小编就针对HTTPS来延伸出对称性加密以及非对称性加密的两种方式

二、简单聊一聊HTTPS

举个例子:在电视剧经常上演的战争片,敌人为了破解我们一些重要机密,首先需要拿到我们的一个密码本。这个密码本往往是被一个小分队护送到某个安全的地方。类似于这种情节的电视剧有很多,如果让敌人拿到我们的密码本就能够破解我们的密文。这个密码本就是对称加密中的密钥,双方都持有相同的密钥,根据密钥来进行数据的加解密。

发展到网络时代,整个网络中最频繁就是各各终端之间的通讯。在传输层本身是不具有任何的加密操作,如何保证通讯之间的数据传输的安全性,成为了计算机网络时代最重要的安全课题。既然说到网络传输层数据的加密,不知道大家有没有了解过安全套接字层(简称SSL),SSL是工作与传输层与应用层之间,为应用层传输的数据提供加密。

HTTPS可以这样来理解, HTTP over SSL,就是在之前的HTTP传输上增加了SSL协议的加密能力。

那么问题来了,怎么加密才安全呢?

根据上文案例,我们可以通过对称性加密算法对数据进行加密处理,比如DES,即一个服务与用户之间可以使用相同的密钥来对数据进行加密、解密的操作。

小编日常工作中,也有使用DES加密来完成数据的传输,当然也有相对应的openid、openkey来做相对应的签名规则。

既然双方都是采用同样的密钥来对数据进行操作,那么针对密钥来说是没有什么保密性可言的,一般来说只有双发知道密钥是什么。那么当然就存在密钥泄露的可能,自然的想法就是在密钥上在加密,这就是递归的穷举问题了。

针对以上的问题,从而产生一种新的加密方式:非对称加密算法

RSA加密,是一种非对称的加密算法,RSA分成公钥和私钥两个部分,这两个密钥都是不同的,所以称之为非对称加密。

公钥:可以对外进行公开,主要功能是对数据进行加密操作。

私钥:对应公钥加密后的数据,进行解密操作。

RSA使用场景如下:

1、甲方告诉乙方,我们使用RSA算法进行加密吧。乙方说,行,好的。

2、甲乙双方生成相对应的公钥和私钥,并且互相发送公钥。

3、甲使用乙提供的公钥对其数据进行加密

4、乙拿到甲加密后的信息,用自己的私钥进行解密

5、乙也同样使用甲方的公钥进行加密,甲使用相同的方式进行解密

通过以上的场景呢,确实能解决对称性加密所遗留的问题,RSA也并非是完美的,它有一个很明显的缺点就是加密和解密的耗时不是特别友好,只适合对少量的数据进行处理。HTTPS也是正是通过这样的一种方式来建立安全的SSL连接的。

 

以上整个过程,看来感觉没有任何的毛病。但是我们在现实的网络当中,端到端之间端通讯,其实路途遥远,避免不了一些特殊情况。假设在场景(2)当中,如果甲方在把公钥给乙方的时候,中途被第三方发现了,并且拦截掉了信息。经过一些信息发现这是去送公钥的,这个第三方可以伪造一对自己的公钥发送给乙方,乙方相信了这是甲方提供的公钥,并且用来加密数据,那岂不是乙方的数据全部都能被之前拦截的第三方进行解密,所以这就存在一个信任危机的问题

那又是如何解决信任危机的问题呢?

相信细心的同学,或者是有实现使用HTTPS来访问的web网站,都会需要一个证书(以下截图来自百度)。那么这个证书有什么作用呢。如果有一个具有公信力的组织来证明身份,这个信任危机的问题就得到的解决。

CA(Certificate Authority)就是颁发HTTPS证书的一个组织机构。HTTPS的当前网站的主流文本传输协议,在基于HTTPS进行连接时,就需要数字证书的验证了。往往我们使用tomcat、nginx、IIS来配置HTTPS的时候,所以配置证书是必不可少的一个步骤,

 

三、最后最后来说说?

希望通过本文,能够让小伙伴对于HTTPS有个大概的了解,也对对称性加密、非对称加密有一个大概的认识。

作为程序员的我们,不仅仅要会写代码,也需要对计算机基础的一些知识有所了解。

尤其是网络、网关等这一块方面的知识,在平时工作当作有备无患。

猜你喜欢

转载自blog.csdn.net/weixin_38111957/article/details/86584744
今日推荐