00:00
好,呃,各位同学啊,那本来我们接下来应该配置什么,应该配置我们这HTFS,让他去使用HTTPS安全传输协议对吧?啊,那由于大家对这个HTPS协议呢,可能不是那么的了解,那所以在这儿呢,我给大家简单介绍一下这个HTPS协议啊,这个HTPS协议相对于HTTP协议来说,它有啥区别?啊,就是安全对吧,因为为什么会安全呀。啊,因为我的HTTPS这个传输协议,是不是所有的内容都会进行啥呀加密啊,那提到加密,那大家应该能想到有两种这个加密方式,一种是啥呀。一种是不是对称加密,还有一种是什么?是非对称加密,对不对啊,那对称加密和非对称加密,哎,他们有有什么样的区别,首先我们先说对称加密啊,对称加密是不是只需要一个密钥就行了,对不对,我加密和解密是不是都用这一个密钥,对不对?那非对称加密呢,是不是需要有一个密钥,对对吧,对,就得有两个对吧,一个是公钥,我们一个称之为私钥啊,对不对,那它的这个加密和解密是怎么做的呀?
01:06
是不是我公钥加密的,我用公钥能解密吗?不能,我只能用谁,我是不是只能用私钥解密呀,对吧,也就是我加密和解密用到的这个密钥是不是不一样的呀,对吧?是这样的啊,那你说我这个呃公钥加密呃,我这个呃非对称加密,相较于这个对称加密来说,你说它有什么样的优点呀。啊,更加安全,它能够防止这个中年人拦截中年人攻击,对吧?啊,这个咱们理解一下就行啊好,那现在呢,我们来看一下这个HTTPS协议啊,他这个加密到底是怎么做的,其实重点是不是就看它这个加密是怎么加密的,对吧?来我们看一下啊,首先我们先来明确一下啊,这个HTTPS协议它用的到底是对称加密还是非对称加密啊。其实他都用了,他都用了啊,你看到底怎么用的,我们来一起看一下,那首先大家来看我们这儿的两部分内容,左边这个是啥是客户端,右边这是啥呢?是服务端啊,这个客户端呢,你就把它当做一个我们的浏览器就行啊,那这个服务端呢。
02:01
啊,是不是就是一个外部服务啊,对吧?啊,就把那一个外部服务就行啊,OK啊,那现在假如我们呃,需要去启动一个HTPS连接了啊,首先你需要干啥?需要首先你需要在你的浏览器里边是不是输入一个HTTPS这样一个请求啊,对吧?啊,我们去请求一个HTPS连接,怎么请求啊,这很简单,比如说打开浏览器,我知道怎么怎么做就行。是不是就HTTP,然后后面呢,写上是不是写S就行,然后冒着双线,那这样我发出的请求是不是就是HTTPS安全请求啊对吧,这个理解一下啊好,那完之后我们继续。好,那当我们的服务端接收到这个请求之后呢,诶,他会干啥?他会为我们的客户端去返回一个证书。啊,那这个证书是干什么呢?其实说白了证书证书证书干什么用的,是不是就证明我这个服务端它的身份的呀,对吧?啊,你可以这样去理解一下啊,那当然这个证书里边,它除了就证书啊,它除了要证明服务带身份,它里边还会包含一个东西,包含一个什么东西,它会包含一个呃,非对称加密的公钥,它会包含一个非对称加密的一个公钥啊是这样的啊OK好,那我们的客户端收到这个证书之后,它会干啥呀。
03:10
哎,他会先去验证一下我这个证书是否可信,你说他为什么要验证他呀。诶验证证书是否可信,是不是就能够验证我们这个服务端是否是一个可信的一个服务啊,对吧?啊是这样的,如果啊这个服务端可信,那我就继续访问,如果这个服务端它它它有问题,比如说它是一个这个,呃,其余的一个网站,那我我就会怎么样,我就会啊这个拒绝我就会停止访问啊就这个意思啊OK,那客户端是怎样去验证这个证书是否可信的呀。啊,其实很简单,咱们这可以看一下啊,比如说打一个浏览器,打浏览器之后呢,咱们打到这个找到这个设置,设置里边呢,你可以搜一个证书啊,来找到证书,打到证书之后,这儿是不是有一个安全对吧?安全里边是有这个两条结果的,咱们打开啊,拿开证据往下拉拉,最底下是不是就有一个管理证书,就是管理证,管理是什么证书是不是就是HTPS证书啊对吧?那咱们点一下,那点完之后呢,大家可以看这个位置啊,这有个什么,比如这是不是叫做受信任的跟证书颁发机构啊,对吧?啊受信任那也就是说我的这个客户端这儿知道哪些这个证书的颁发机构是可信的,哪些证书的颁发机构是不可信的,对不对啊,那所以说他会怎么做呢?诶,他会去校验一下,你发过来的这个证书是不是有。
04:24
是不是有可信的这个证书颁发机构颁发的,如果是那就说明可信,否则就不可信,对吧,就这个意思啊OK好,那他验证通过之后呢,那接下来就干啥往下走,接下来呢,那我的这个客户端会生成一个对称加密的密钥。那当然这个生成的是一个随机的,哎,会生成一个随机的对称加密的密钥,是这样的啊,然后这个对称加密密钥它怎么发给这个服务端呢?大家来看一下。他会用我接收到的这个非对称加密的公钥,对这个对称加密的密钥进行加密啊,能理解吧?啊,OK,那这个加密完之后我发到哪,我是不是发到这个服务端了对不对?那发到服务端之后,那我的服务端会干啥呀?诶会用这个非对称加密的私钥,对哎,我这个对称加密的密钥进行解密,OK,那你说解完密之后,我现在能实现一个什么样的效果,是不是客户端会有一个对称加密的啊这个密钥对不对啊,那我的服务端呢,是不是也会有一个对称加密的密钥,那他俩是一样的对吧?啊,那一样的之后,我接下来的通讯就可以怎么做了。
05:33
我后续的同学是不是就可以都使用这个对称这个加密进行通讯了呀,啊是这样的啊,那也就是说整个HTTHTPS这个连接的这个过程,它相当于是一个什么样的流程啊。是不是先用一个呃非对称加密,然后后续呢,再干啥啊,是不是在使用对称加密啊,对吧,那有的可能会说了,为什么不一直使用这个非对称加密呢。啊,因为非对称加密和这个对称加密比起来呢,我这个对称加密我是不是这个呃,速度高要更快一点啊对吧?对称加密速度要更快一点,这个大家要理解一下啊OK,好,那这就是这个HTTPS啊,这个协议的一个呃认证流程啊,是这样的啊那其实啊,这里边咱们刚才提到一个问题,就是一个认证的一个问题,对吧?咱们这儿看到了说这个客户端会对服务端是不是进行认证,它通过什么认证啊,是不是通过这个证书认证啊,那其实哎,这个关于HTPS认证呢种。
06:30
单向认证那一种呢,叫做双向认证,这个单项认证指的是啥呀?哎,我们这儿其实有单项认证在这儿,咱是不是只有客户端对服务端进行认证了,对不对?那服务端咱现在是没有对客户端认证的吧,那服务端能不能对客户端认证呢?其实也是可以的啊,也是可以的啊,那服务端要想对客户端认证,你得怎么办?哎,他得这样去做啊,就是客户端你得向服务端也发送一个啥,也发送一个自己的私人证书,没错吧?啊,那服务端接收到这个私人证书之后,他是不是也得去校验一下这个私人证书是不是可信呢?对他怎么去校验这个可不可信呢。
07:09
哎,你得做相应的配置,如果你要想启用这个双向认证,那你首先你需要在服务端去创建一个库,去创建一个库,这个库叫什么名呢?叫做trust store。To啊,什么叫trust store,是不是就是trust,是不是就是可信的意思,对不对,就是可信的这个证书库,那这个trust store可信的证书库里边需要放什么呢?诶就需要放置你所信任的那些证书,OK,那有了这个之后,那他是不是就可以去校验,诶我这个客户端发过来的私人证书是否是可信的来对吧?那怎么着呀?诶在里边那就可信,不在里边就不可信呀,对吧?可信我就给你提供服务,不可信我就拒绝服务啊就是这样的啊OK,那这个呢,就是咱们这提到的这个,呃,双向认证的一个问题啊好了啊,那咱们现在把这个协议搞清楚了啊,协议搞清之后呢,那咱们来琢磨琢磨,你说我要想启用HTTPS这个协议,你说我需要在这个服务端做哪些配置,其实客户端咱们不需要做过多的配置对不对?重重点是不是就是配置这个服务端呀,对吧?那服务端你说咱们需要做哪些配置?
08:17
或者咱们需要有哪些东西才行。需要有哪些东西?首先我们需要有一个这样的东西,就是刚才咱们提到那个trust。对不对啊,这个trust死档呢,就是不管你启不启用,不管你启不启用,这个双线认证,这个trust道你都得有,能理解吧,这个都得有才行啊,那完之后继续,那除了它还得有一个啊,还得一个叫什么呢?叫做K到。啊,Case到其实就几个专业的名词,这个大家也不用,也不用觉得太太难啊,其实很简单啊,这个case到里边存的是啥呢?Case到里边存的是啥啊,认定存的是我这个服务器的证书。啊,以及他的密钥对。你想我们这个客户端在请求服务器的时候,他会干啥,是不是服务器会给他返回一个证书啊,对吧,这个证书里边还得包含一对这个非对称加密的一个公钥,对吧?那同时他自己是不是还得有一个私钥,对,那这些信息都哪放着呢?诶都在这个所谓的case兜里边放着。
09:14
啊,是这样的啊,OK,那现在呢,我们来总结一下啊,也就是说我们如果想为这个网站去开启这个HTTPS这个协议,那我们需要怎么做,需要在服务端准备两个所谓的store,那一个呢是case store,那一个呢是trust store啊是这样的,那其实本质上啊,这两个里边的东西其实都差不多,都是啥呀。是不是都是证书啊,对吧,那只不过我这个case袋里边放的是啥,是我这个服务端是不是自己的证书,对不对,那我这个trust到里边放的是啥呢?是是我信任的那些证书,对吧?其实这俩东西呢,放的都是都是证书对不对,都是证书啊,是这样的,那所以说我们其实在真正去进行配置的时候呢,这个trust道和kiss道,我们本应该给它分开放置,但是如果说哎,我不给它分开,我给它放一个里边,你说行不行。
10:05
也行,其实也是可以的啊,也是可以的啊,尤其是当我们不需要使用这个双向认证的时候,如果我们不需要使用双向认证,那这个刷磁道其实根本没啥用啊,对吧?啊,根本就没啥用啊,是这样的啊,那所以这种情况下呢,诶,我们把这两个死道给它诶并到一起,其实也是没有任何问题的啊,这其实是一个所谓的最小配置,也是我们的服务端最少最少得有一个这种所谓的道才行啊,是这样的啊啊,那一会儿我们要做的配置呢,就是关于这个道的一系列的配置啊好了,那到目前为止,这个HTTPS协议我们就讲完了啊,我把视频停一下。
我来说两句