00:00
那咱们刚才给大家讲了一下这个两种加密算法,那第一种呢,是对称的密钥加密算法,还有一个呢,是非对称的密钥加密算法,那。实际工作中,我们用的还有另外一种加密算法,用的也非常多。这种加密算法之前我们见过,就叫哈希算法,哈希算法也称为散列算法,之前大家应该见过,我们曾经用过MD5啊。在上次讲SENTENCES6的grab加密的时候,是不是就有一个叫MD5,是不是这个命令它可以生成一个MD5加密的一个结果?在Windows系统中。
01:02
放这个用户口令的这个文件,它里面那个口令加密也用的是哈希算法做过处理的。用的是SA512。这种哈奇算法。那今天我们就来说一说什么叫哈希算法,到底有什么特点?嗨,算法有很多种,但是他们的共同的特点就是将任意的数据进行哈希计算之后。得到的结果是一个固定大小的值。算法只要固定,无论你的数据有多大,得出的最终的结果是一个固定大小。比方说我们这儿有一个这样的文件,这个文件不大。
02:03
1550个字节。我现在用。Sa开头的,大家看,这里面有很多算法,这全是哈希算法,那比方说我们用256这个。他是算法对安康这个文件来做计算,这个得到的结果是个固定大小。啊,不论你的文件有多大,得到的结果都是个固定大小啊,比方说我还可以对光盘,对光盘的内容,那光盘在SR0整个光盘内容做哈运算,得到的结果虽然它们是不一样的,但是大小都是这么长。都这么长。大小是固定的。
03:01
那么我们把经过哈希算法得到的这个结果呢,咱们称为指纹,这个称为指纹啊,专业的称呼呢,叫摘要,叫摘要。摘要啊,叫DJ摘要,它的算法的特点就是数据如果不同。用相同的哈希算法得到的结果肯定这个最终的摘要结果是不同的。反之,如果数据一样,那么用相同的含义算法算出来的结果,结果是相同的啊,大家看这个光盘好几个G,得的结果也是这么大,所以长度是一样的,当然由于光盘和这个文件内容肯定不一样,所以它的结果就不同了啊,只要你的数据一样。
04:10
哪怕这个数据文件名不一样,这个没事,比方说这个起个名字叫a.test我给拷了一份,那现在我对同样的还是对这个a.T再做一下计算,大家看得到的结果是不是刚才是一样的,因为它内容一样,内容一样我就能保证它得到的最终的摘要是一样的。如果里面有一些地方变了,比方说我只是在这个地方把这个E变成大写字母的E,这个地方变成了大写字母的E。哎,变了,我变了一个字母,变了字母以后,你再计算一下,它得到的结果跟刚才就不一样了,你看我们这是B099,而刚才看是多少呢?是BB79,是不是不一样。
05:01
所以如果数据不同,得到的摘要必不同,现在我把它恢复,恢复完了以后,你再看它是不是又回去了。这数据相同,摘要必相同。当然,理论上我们得到的这个摘要的结果。你能推出原有数据什么样吗?推不出来吧,啊,它是不可逆的,所以哈希算法又称为单向算法。单向散列算法,那是不可逆的。而且呢,我们刚才可能也发现了一点,就是数据哪怕变一点点,得出的这个摘要值就会发生截然不同的变化。完全不同啊,你像我这只是在这个文件的后面追加了的一个空行,你看我只是追加一个空行,你看你再对它做一下计算,虽然表面上你只是加了空行,但是是不是得出的这个摘要截然不同啊,完全不同。
06:13
啊。那总结出来,所谓哈希算法的特点就是?数据不同摘要B不同数据相同摘要必相同,摘要是不可逆推出原有数据的不可逆。算法固定的情况下,不论什么数据得出的长度都一样啊,你像我现在用的SA256,那就是二百五六的加密。所以这个最终结果是二百五六位,你看是不是256位啊,看看多少位,我这把它选中,大家可以看一下总共多少位,64个字符,它这个是16进制啊,16进制我们说一个16进制相当于几位二进制啊,四位吧,是不是四位,所以这个你算一下乘出来的结果是不是就是二百五六啊。
07:10
要了吗?啊,这就是哈希运算的特点。那么哈运算在我们工作中用的非常普遍,比较典型的代表就是从互联网上下载资源的时候,很多网站上他都会事先把这个文件的原始哈希值,也就是那个摘要值放在网上,比方说我们下载那个SS安装光盘。3S安装光盘,它事先会把它做一下计算放在网站上,然后将来你下载完了以后,你可以在你的电脑上做一下计算,和网站上公布的这个结果比对一下,如果不一样,说明光盘的内容已经变了,如果一样说明光盘没有变化,还是原来的内容。
08:00
好,大家看我这有一个DVD的,So,这个文件呢,下载下来以后,我担心被改过啊,所以呢,这看到是不是有一个check上,你把它打开,你把这个文件打开,打开以后这个文件已经被下载下来了,我们把这个文件打开看一看,好我们用那pad把它打开,大家看这写了这个文件的ISO文件的。哎,这个怎么是不是8.1呀,怎么下了个8.1的呀。我们想现在用的是8.2的。啊,这是之前下的吧,啊对,我这有一个,我刚才看到有两个文件,他有一个以前下载的,以前下载这个是以前下的,这个是以前下的,你看这个是1月19号,这是之前下的,不要这个,这个是我刚下的。
09:04
这个诶八点大家看这是不是就是S6256啊,其中呢,它有部分文件,现在我们看到这个文件,结果光盘里边是这个文件嘛,你看这是它的哈希值,这个哈希值和我刚才计算结果一样,不一样,你对比一下,现在最后四位是E255,你看我刚才曾经做过计算了,看是不是1255,是不是是不是1255,那如果都是一样的,和互联网上官方发布的值一样,说明我们得到的光盘和人家网站是一样的。你就可以放心使用了,如果不一样,那说明下载过程中可能坏了,你是不是要重新下载?对不对,这就可以验证你的数据和互联网那个数据是不是一样的。啊,所以哈希算法经常用来校验数据的完整性啊,因为哪怕变了一点点,那个哈希值都不一样。
10:05
啊,多年前有一次也是我从红帽的官方网站上下载这个红帽的企业版,就是RHEL版本啊,因为我是红帽的授权讲师嘛,啊,我是RC,就是红帽的授权讲师CI啊叫CI,所以我是有权限下载红包的那个就是企业版的,它那个收收费的那个正常要收费的啊。我下来以后呢,这个下载的过程中发现就出了个事儿,就是每过一段时间,我当时家里的网络速度比较慢,那时候好像是四兆还是多少兆,反正比较慢,每下载到四个小时的时候就失败了,因为那个文件都比较大,几个G啊啊,每下到四个小时就失败,嗯,就是接接近90%快下完了,结果失败了,他说那个资源没了,然后下了好几次都这样,后来我也就很郁闷啊,后来我就问红帽的这个工程师,我觉得这个怎么老下文失败啊,他说给我解释了一下,他说这个,呃,红帽的这个文件它每隔四个小时就会自动的更新地址,那就换地址了,当然我就下不着了,那就是那,但是我家里的网速就这么慢,那四个小时下不来啊,后来我就问他,我说你们都是咋下的?你们家里速度难道速度更快吗?
11:28
他说我们也不从红帽下,太慢了,那红帽反正在国外嘛,啊,在中国的这个红帽员工,他们也不从哪下,他说我那你从哪下,他说我们这个就是随便迅雷搜一个,百度搜一个就下下来得了,我说你们是红帽员工,你这随便从网上下,你不从官方下,你万一下了一个带病毒的,带木马的,这这有有损你们红帽员工的形象嘛,对吧,后来说没事,我们下完了以后都是用哈希运算做一下比较,和那个红帽的官网公布那个哈希值和我这下了一笔,如果一样,那就没事就用就行了。
12:01
啊,如果不一样,就赶紧再换一个啊,那他们也是用这种方法后,后来我也学会了,我也这么想啊,这就是哈希运算的一个特点,那哈希运算呢,这个刚才我们用到了这个工具啊,这里面有好多,呃,所以我们将来在工作中你是可以用这些哈运算的算法,比方说比较老的MD5 MD5呢,现在已经被破解了,咱们就别用了,以后它的密钥,它的加密的结果是一百八倍啊,倍数么,很短啊,倍数很短,你可以看一下,你看只有128倍这么短,呃,和它有点相近的叫SA1。A1呢,这个他们秘术秘数要稍微长一点,1600这160岁,这个呢也被破解了,这两个破解的人还都是咱们中国人啊,是一个女的教授是吧,女教授啊,王小云原来是山东大学的教授,山东大学后来这个出了名以后,清华大学把他挖过去了,现在是清华大学的老师了,清华大学说话都是那个山东味啊,这个我网上我看到过他说话的那个视频啊,啊王晓云就搞数学的啊,所以现在呢,我们用哈金运算呢啊,建议都用512 512加密算法更安全,512加密算法。
13:41
512哎,他这还有一个512S,它这个是这个位数很长,它和这个三这两个东西比较一下,看看它有什么区别啊,比较一下。
14:01
好像它像不太一样,这算法不太一样,这个SH,呃,H Mac和这个S,它算出来的结果不一样,那说明它算法不一样,但是位数都是512,位数都是512位。那么哈希算法是经常用于校验文件是否变化的,那比方说我们事先可以把一个文件的哈希值给它存到一个文件里面去把它存好,比方说存到一个叫这个SA512。的log文件里,我把它存进去,存进去以后呢,我们将来是可以拿这个文件做比较,来校验现有文件是否变化过,那这边呢,有一个C的选项啊,应该是有一个C选项,那叫check c的选项,C的选项它可以把刚才那个文件拿过来检查一下,根据这里面的记录的内容和现有文件的状态做比较,如果现有的文件发生变化,它是能够显示出来的,比方说我现在这个文件。
15:12
啊,我在这儿加一个空格,我加了个空格,那你再比一下,你看它这就告诉我们了说。不匹配了,说明文件内容被改过了。是吧,所以他能判断出来的,那这个文件就是我们刚才重新向生成的啊。现在的这个文件的哈希值和我们原来记录下来的哈希值不一样了,所以它就会提示你不匹配,那如果我把它改回来啊,比方说我把刚才那个空格给它删了,这个地方空格给它删了,删了以后又恢复到原来的大小,原来的内容再比你看它就OK了。所以用这个命令可以校验文件是否被改过,这是可以实现的。
16:02
大家还记得我们曾经讲过一个RM的杠V命令吗?这个杠一命令就是检查系统中装好的包里面的每个文件的属性是不是有变化。A呢,就是所有包。其中他用到了哈西算法。啊,比方说检查一下这个文件内容是不是变了,他就是用这个哈希算法来实现的,每个文件如果发生变化,这个地方它会有标志啊,这个M应该就是说的那个MD5 MD5值变了,那说明它内容就发生变化了,就不一样了。啊,这实际上用到的就是哈算法。还记得我们之前给大家讲过那个杠杠音input的导密奥吗?这个导密钥和咱们在亚M里面的一个配置相关,就这个GB check还记得吗?那GB check等于一的话,是不是要导那个密钥啊,那么一那个check,那个导密钥,那个倒密钥,现在在再想想他背后的工作逻辑,你现在想明白了吗?这个地方的。
17:23
写入一,然后呢,你这是不是要写个GBG的K啊,那现在你明白这是怎么回事了吗?实际上它背后的逻辑又用到了我们刚刚给大家讲的非对称的密钥加密,就是每一个sentences或者是某个组织发布的RP包,它上面都会用自己的私钥。来加密啊,我们就要签名,用私私钥加密,加密完了以后我怎么校验这个包是这个组织发布的,而没有被篡改过。
18:01
那方法就是我用官方给我的公钥,大家想公钥来解密你私钥加密的数据,如果解密成功,说明数据怎么样?是正确的,确定就是你加密的对吧,如果解密出了事,出了问题,那说明这个文件被篡改了。哎,要不就是不是你签签的名是别人篡改了。对不对?所以翻过头来看,我们以前讲的东西,就是用到的就是我们现在讲的非对称密钥和哈希算法这一套体系。啊,那将来我们真正工作中都是把这三种加密算法综合起来用的,并不是单一的只使用一种啊,哪三种呢?对称密钥,非对称密钥,哈希算法。啊,它的综合使用是这么用的。但再看这有个数字签名的算法。
19:01
你看它是怎么算的啊,这是我们的数据,先用MD5把数据加密成一个摘要。当然我们都知道摘要加密完了以后很小啊,你像MD5只有128倍。啊,即使长的512倍,SA51512也不大,然后把这个摘要通过安利丝的什么私钥加密。坚持完了以后,我们就把这个结果称为签名啊,称为签名。那它实际上生成的一个结果呢,我们把它描述出来的话,应该是这个样子,就是这个数据用哈希算法,比方说用SA512加密算法,这不就算完了以后是个摘要了吗?然后把这个摘要再用四要加密,比方说用爱利私药,咱们用sa叫缩写成sa来加密,那这就是一个摘要了啊。
20:03
加油。然后它和数据本身放在一起,大家看数据放在这摘要,就是经过这个签名摘要得到这个结果叫签名,这叫签名啊,这个结果和数据放在一起,直接发就发出去了。发出去以后,对方要验证数据来源是不是爱丽丝发过来的,那怎么验证呢?当然对方拿到的数据以后,是不能确认这个数据是爱丽丝的啊,所以我拿到数据只能说我得到了这个数据,但是我要确认这个数据一定是爱丽丝的,怎么确保呢?大家看怎么确保,是不是我们现在要用安利丝的公钥来解密呀,对不对?我把这串拿过来,这个是因为这串是他那个签名嘛,那签名我们是拿过来应该是不是应该用Alice的公钥来解密啊,那就是PA。
21:08
这个解密了的结果是不是就把里面的哈希值算出来了?哎,这这就是那个所谓的哈希值,这个哈希值是不可逆的,所以我前面不是已经得到数据了吗?那所以我是不是把这个数据利用相同的哈基算法再算一遍,我想大家应该明白这俩是不是比一下就行了,如果一样说明确实对方就是拿爱丽丝的四加的密。那这个是不是就验证了数据来源了,那数据肯定是爱丽丝发过来的,不可能是别人。这就是他实现数字签名的。哎,最后他怎么实现的,就是这样的一个工作逻辑,工作原理是吧,哎。
22:01
所以我们工作中啊,一般都是对称密钥,非对称密钥,还有这个差级算法一块综合使用,那综合使用怎么使用呢?大家看这有综合使用的多种方案,第一种先来实现数据加密,数据加密是这样的,我只实现数据加密,不验证数据来源和数据完整性啊,只实现这一个功能,那怎么做呢?大家看这么做,这是A这个人啊,这是B这个人,那我们怎么保证A加密的数据调交给B啊,B能解密谁都解不开呢?大家看这个过程是这么做的,这是数据用对称的米二加密。那么加密完了以后呢?得到的结果是被已经加密完了,接着我们用B的公钥加密。哎,你想我们拿B的公钥加密完了以后,那将来传入到这边要解密怎么解啊,我们是不是就必须要用B的私钥,B的C钥解密对吧?B的C钥解密完了以后,哎,注意它这个加密,它是加密对称谬,你发现它没有把这个数据整个加密了,它是把这个对称谬给加密了。
23:26
哎,我们这不是刚才数据嘛,数据用对称密钥加密,对称密钥加密完了以后,它用B的公钥来加密对称,把这个对称密钥加密了。然后把这个对称密钥加密的结果和用对称密钥加密的数据合在一块发给B,嗯,发给B以后,B要解密,怎么解呢?首先拿B的私钥把加密完了的对称密钥来解密,解密以后是不是就得到对称密钥了?然后再用对应的对称密钥来解密,加密的数据是不是就最终就得到数据了?
24:05
大家想这是不是就是个综合应用,不过呢,这个过程我们可能有一个巨大的代价,什么代价呀。呃,代价实际上就是我们这个地方用公钥来加密对称密钥,那对称密钥加密的时候,这个用公钥加密的话,牺牲效率是有的,不过这个代价可以接收啊,为什么呢?因为对称密钥不大。对称密钥不就是一个很短的字符串吗?它不是一个大数据,如果是特别大的数据,如果用对称密钥,用非对称密钥加密是非常非常慢,因为它就很小嘛,啊,假设就1K啊2K这很小字符串,牺牲点代价倒是可以接受的。那这个是他的一个。实现方案,但是这个方案中也有一个目前一个缺点,就是它只实现了数据加密,没有数据实现数据来源的确认,你看我得到数据以后,我能不能知道这个数据一定是A发过来的呀,这个从算法上是体现不出来的,呃,因为比方说我如果是一个黑客,我冒充张三发数据也是可以的,比方说我用自己的对称密钥加密完了以后,我用呃这个B的公钥加密,加密完了传过来,传过来以后B用自己的私钥解密,解密完了以后得到了这个黑客发过来的数据,但是我也不知道这个数据一定是A发过来的,是黑客发过来的,我确认不了。
25:39
那这个是他的一个缺陷,算是缺陷。好,那看这个这个图实际上和刚才那个图是一样的啊,只不过就换了个画法啊,大家看啊,你看这个是Alice Alice丝呢用DES,我们都知道DES是对称密钥,对吧?嗯,那al丝用对称密钥把数据加密了,加密完了以后呢,接着把这个对称密钥用Bob的公钥加密。
26:09
啊,比方说对称密钥算法,有一非对称密钥算法,有一个叫RC算法的,它是不是可以把这个加密的对称密钥用报复的公钥两个一组合来进行加密啊,加密完了以后,把这个结果哎和用对称密钥加密的结果都传给Bob。穿了鲍B以后,鲍B要解密,鲍B怎么解呢?首先用鲍B的私钥,把刚才传过来的这个用鲍B的公钥加密的这个数据,这实际上这不是数据,这是个密钥,然后把它解开,解开以后是不是就得到了绘画密钥,得到绘画密钥以后再用绘画密钥,这个对称密钥嘛,对称密钥呢,就把这个加密的对称结果给它解密,进而是不是就得到数据了,实际上跟这个图是一样的,这不换了个画法啊。
27:01
他俩实际上是一样的啊,一样的只是换了个换,换了个画法而已,哎,当然同样的他也实现了一个,就是有一个缺点就是做不到,就是他不能知道这个数据一定是爱丽发过来对吧。啊。还有一个呢,叫数字签名,数字签名跟刚刚我们刚才讲过了啊,你看他怎么做的啊,数字签名,数字签名呢是这样的,我把数据这是原始数据,先用哈希算法得出它的摘要来。得出它的一个摘要来啊,那么这是他的摘要,这是原始数据。然后我们用A的,也就是发送人的私钥来加密这个摘要,那么加密摘要不就得到了这个数字签名吗?呃,然后呢,把这个数据和摘要放在一起,打包在一起,成了一个完整的整体,然后发给毕老。然后B怎么解啊,那你这这个数字签名是怎么来的,数字签名是用A的C要加的B,那这是不是用A的公钥来对应的解密就行了,那用A的公钥解密,进而就获取了里面的摘要,就获取了里面的摘要,就得到摘要了,但是得到摘要以后,我不知道这个摘要到底是是是不是一定来自于A,那怎么办呢?我就拿这个数据,再用相同的哈希算法也多出相同的摘要,那么得到相同摘要以后,两个去比就行了,比一比这个摘要是不是相同,如果摘要是相同的,那就自然就是肯定他是用A的啊,这个私钥加的密啊,所以我就验证了数据来源了。
28:45
啊,这是数字签名的功能,那这里面呢,验证了数据来源,但是他没有实现数据的安全传输。因为你是用了什么呢。用A的私钥加密,这是不是只要有A的公钥都可以解开,A的公钥是公开的,所以B能解开,是不是张三李四都能解开对吧?都能解开,所以这个过程只是实现了数据来源确认,没有办法实现数据的安全传输。
29:16
那这两个功能能不能都组合起来都实现呢?也就是说,我不仅实现数据的加密,还要实现数据来源的确认,两个功能都实现,那都实现,那就得用综合加密算法了。那综合加密算法这也有多种解决方案,其中第一种解决方案是这样的,大家看。这是原数据,我先用单向哈希算法得出它的一个数字,这叫摘要。然后再用发送者的私钥来签名这个摘要得到了数字签名。把原数据和数字签名组成一个整体,再用B的公钥加密。
30:04
得到了一个被加密的密文,然后把这个密文发到B里边,发到B这边以后呢,是不是B用自己的私钥是不是解开这里面的数据,那这时候就得到了原文了,但这个原文不能确保一定是来自于A,因此我们接着去处理它的数字签名啊,那怎么处理数字签名呢?用A的公钥解密是不是得到里面的数字摘要,然后这不是有元数据了吗?我用相同的哈算法对它做哈运算,是不是也得到了一个数字先摘要,然后两个怎么样去比较,如果相等,则原文是没有篡改的,肯定来自于A。如果不一样,说明数据被篡改了,不是A的发过来的。这样的话,两边。既实现了数据的安全传输,又实现了数据来源的确认、一致性校验。
31:05
两个功能都实现了。但是这个算法。可适用吗?能用吗?虽然两个功能都实现了,但是能用吗?有问题啊,实际上我就是用这个写法把它表示出来了啊,啊为什么说中间有问题呢?就是你看它把这个数据啊,用B的公钥加密,大家想这个数据如果比较大,一个G,刚才不是说过一个例子吗?你这把这个原数据一个G用公钥一加密,将来解密得64个小时知道吧,是不是?这个性能是不是太差了啊,数据越大越慢,所以这种算法不太不太适合啊,不太适合大数据。所以我们这有更好的方法,看这个方法。
32:00
这个方法我这已经把它写出来了啊,大家直接看的话有点晕,咱们一点一点来说。先这样的啊,我们通讯双方一个A一个B,各有两把钥匙,然后我们先把数据用哈希运算得到它的摘要。然后用A的私钥来加密摘要数据,得到数字签名。然后用对称的妙来加密全部,就把这块呢,整个用对称加密得到全部,然后再把对称密钥用B的。公钥加密,那这时候呢,这个公钥呢,是被加密过的,是用B的公钥加密过的,因为这个地方用的是对称密钥加密数据,所以数据再大牺牲的效率还是可以接受的。
33:01
这就组合成了一个完整的一个数据,大家看这个过程首先怎么做的呢?先把数据用哈去算,然后用A的私钥签名,再用被称要加密。把这个数据整个给它加密了,完了以后呢,在后面用B的公钥来加密对称密钥,那这时候就是完整的一个数据了,完整数据发过去以后,对方要解怎么解呢?是不是先用B的私钥来解密获取对称密钥对吧?这个获取对称密钥以后,这不对称密钥就可以解开里面的数据了吗?那得到里面的数据以后,我们是不是要检查这个数据来源是不是A发过来的对吧?那怎么校验呀?是不是用A的功钥解密得到里面的哈希,也就是说摘要,然后再用相同的哈希算法对这个数据进行哈希运算,得出的结果和它去怎么样比一比,如果一样,说明数据肯定是来自于A的,这个指标安全。
34:09
你看用这种算法既实现了数据的加密,又实现了身份的确认,而且牺牲的效率啊,还可以接受,因为他用的是对称密钥加密,他用对称密钥加密大量数据,这个牺牲效率还是可以接受的,看到没有啊,这就是我们平时用的最多的加密算法,都是综合起来用的,并不是单一用某一种啊,当然大家可能有同学这个,呃,如果逻辑性比较差的话啊,这个听不懂是吧,有点晕了,晕了就晕了吧,你可以就当没听就行了啊,反正面试他基本上也不会问你这样的一个算法啊,但是有助于你理解它啊,有助于理解这个原理东西啊,虽然说有的原理性东西不会直接给你带来经济上的收入,但是对于你理解技术还是有帮助的。
35:04
有的是间接效益,不是直接效益啊,所以你能如果能理解就理解,理解不了你先放一放,过两天你再看啊,说不定过两天再看就听明白了,确实有点绕啊。好,这是刚才给大家讲的对称密钥和非对称密钥以及哈西算法的综合使用。都是三种算法一块用的,那另外一点呢,就是我们对称密钥这个地方有一个问题,就是对称密钥的话,要涉及到一个交换问题,交换对称密钥实际上有比较容易理解的算法,就是公钥加密。比方说我想用将用绘画密钥,就是对称密钥来加密大量数据,我们都知道对称密钥加密完了以后,对方就得用相同的对称密钥来解密,那所以你必须要把对称密钥交给对方,对方才能解,那问题是对称密钥经常时不时可能咱们也不能老用一个对称密钥还得换,过一段时间就得换,所以就涉及到一个对称密钥怎么去教给对方的问题,那么其中最容易理解的就是用公钥加密,把对称密钥用公钥加密啊,当然用谁的公钥加密,用对方的公钥,用对方的公钥把这个对称密钥加密完了以后传给对方,对方要解密是不是用自己的私钥解开就好了。
36:27
哎,这样的话呢,咱们就可以轻松的来交换公钥啊,就实现了,呃,不是交换公钥,是交换那个对称密钥,把这个对称密钥就传给对方了啊。除了这种算法,还有一个数学上的非常著名的算法叫。DH算法叫德福赫尔曼算法啊,迪弗赫尔曼算法,迪弗赫尔曼算法呀,又是一个数学上比较绕的啊,大家可以参考一下这个维基百科的官方说明。
37:02
啊,这个涉及到数学算法啊,所以如果有同学啊,觉得数学上比较弱的话,你可以暂时不用看了,如果这个东西啊,咱们以后在好多涉及到加密,你像有些加密算法上哈,这个这个什么,呃,后面咱们讲的那个什么K8S呀,一些系统里面就会用到啊,如果说你这个东西不理解他的逻辑,总觉得只是会用而已啊,那底层逻辑不懂的话,你觉得还是。掌握的差一点。换一个国家,加拿大。哎,这个行。看看这个。维基百科的这个网站。那我给大家简单描述一下啊。
38:00
那当时我看这个文档也是研究了一段时间的,那这个文档呢,是英文的,这里面告诉你怎么算这个德波汉算码,它是怎么得到对方的啊,咱们商量出一个公钥的,呃,这个商量出一个绘画密钥,就是对称密钥的啊,当然这个英文版大家看的比较痛苦,你可以看中文版,这不有中文。这个中文算法。啊,如果你自己有耐心的话,你可以从头到尾把这个文档看一下。啊,相信大家都没耐心,嗯,好,那我就给你解释一下啊,给你解释一下好看看怎么算的啊,这么算的大概的过程就这些我给你写出来了。是这样的。通讯双方A和B2个人相。
39:05
生成绘画密钥,也就是对称密钥,生成对称密钥,那么怎么去让我也得到一个对称密钥,你也得到一个对称密钥,哎,大家能得到一个共同共同的对称密钥呢?哎,这么来做,A先生成两把钥匙,这个钥匙实际上是个数字,一个叫G,一个叫P,这两个都是一个整数。其中G和P都是整数,其中P呢是个大的素数,素数这个大家知道什么叫素数吗?素数咱们以以前数学上叫质数,素数就是质数,质说的就是只能被一和自身整除,一和自身整除比较典型的质数数数呢就是23579就不是了,十一十三之类的,因为这些数字是不是除了一和自己没有别的数能被它整除了,那九的话为什么不是,因为九除了一和九是不是三也能被,所以它就不行了,它不是。
40:22
这些就是质数啊,叫素数,这里面叫大质数啊,大质数就是比较大的,偏大的啊,偏大的他俩协商出两个数字来,然后协商出两个数字来以后呢,再各自生成一个隐私文件,隐私数据啊,这个A生成一个隐私数据叫AA,一定要小于P。小于PB呢,也生成一个隐私数据叫B。然后我们通过一个计算,这个计算公式是G的naa次方的A次方在对P取模得到一个结果,把这个结果发给B,那么B也是利用相同的公式。
41:10
用G的B的次方对去P取模发给A,互相一交换,然后A得到这个结果以后再对。这是从B发过来的数据,然后对A取指数运算就是A次方,再对P取模。这个得到的结果实际上就是等于它。那么B也一样,也是从A那拿到了一个数据,他拿到了这个数据以后,再对这个数据对B来取指数运算,再对P取模,得到的结果也是它大家看这两个数据是一模一样的,所以就可以拿它作为对称密钥,这就是它怎么商量出对称密钥的算法啊,当然了这个涉及到数学啊,你可以把一些数字替进去,你像这个官方这个说明文档里面,它就有那个计算的一个例子啊,计算的例子这里面就有,比方说你看他说P是二三是吧,然后这是五,然后A是多少,B是多少,它嵌进去让你算一下,你能算出来这个算出来,比方说就以这个P是二三,呃,这个B是五啊,A是六,B是15啊,你这你你算一下是不是这个结果,你看你套进去算一下。
42:35
啊,这个是。这是多少来着,二三,然后P是五,呃,还有一个是A是多少。没记住A是六,B是B是15是吧,当然这个A和B啊,是私有数据,A知道A多少,B知道B是多少,但是A不知道B的,B也不知道A的,但是他们两者之间都知道这个,这商量出的,大家都知道,就是A这个人只知道A是多少,这个A知道A是六,B知道B是多少,但是互相不知道对方的,听懂意思吧,但是他们都知道P和G是多少,这个是他知道的,这商量出来的,那你看套一下这公式啊,你看是G的B次方啊,这个G的B次方,那我们对A来讲呢,就是G的B次方,G的B次方,二的23的几次方。
43:52
那当然他这个是发过来的啊,这个数据是谁得到的,这个数据实际上是B发过来的,B是算出来的结果发过来的,所以这的B次方对P取模啊,Z的B次方,那就是先在这个B上算啊BB先算就是Z的B次方,B次方15嘛,然后对P取模,P是多少,P是五,你算出来是多少。
44:23
啊,把它算出来啊,算出来啊,这个这个数学上的。好,那我们就算一下,就是23的,呃,十五次方,然后算出来要大的,那再对五二是吧,这是他的结果就是二,那就是二倍啊。然后A这也一样,A这儿也是一样的算法,A这要求怎么算呢?
45:03
A的啊次方啊A这要求怎么算呢?是G的A次方对P取模,那就是二的啊A次方,A次方是六,然后对五取模。啊,这个算出来,我们算一下是多少。是四四,那这个就是四。啊,那么互相一交换,这时候他A把这个四交给他,就是给了他四啊,只是给他四而已,把他最终结果给了他,那这边呢,把这个二交给他啊,就互相换了个数,但是他只知道最终结果,不知道里面的具体内容,知道吧,好,接着A拿到了B传过来的数据,B拿到了A传来的数据,然后A拿到的是二,二的话呢,就是这个G的B4方对P取模,然后呢,二现在要根据它再计算取出什么,取A的次方,A的次方是多少,是六对吧,还要再去对P去模。
46:23
P是多少啊?五你看这个结果是多少?你看看多少是四好,这是得到这个四的结果啊,这四的结果。这是四个节目。一个四的结果好,那同样的道理,B也是一样,B已经得到一个四,四呢要对B的次方。15啊,B的值是15 15,再对,再对五取模是吧?哎,看看它的结果是多少,应该得到的结果也还是四,看一样吧,都是四吧,好,都是四,好了,我们就拿四作为那个绘画密钥。
47:20
因为他商量出来的。在我并不知道对方隐私数据的情况下,就可以商量出一个大家都共同的值作为对成密钥,这就是他背后的算法是吧?那将来你看到这个德芙哈尔曼算法,你知道它是个交换密钥的算法啊,就了解这就够了啊算法其他的你可以不看它也行啊,这个尤其我们主要是讲什么呢?一些后面的K8S啊,他会用到这些东西。那到时候一说德和三八,你别脑袋不知道想的啥意思啊,要不你就不理解那命令了,那命令干嘛的,你看不懂啊,好了,那我们刚才讲了很多啊,那实际上我们现在讲的这一套体系中,实际上仍然存在一个巨大的安全风险,就是如果我是黑客,我轻松的仍然能破解它。
48:15
好,我把这个例子给它切到这吧,下面,到时候你可以研究一下这段代码。啊,这是一个结果。啊,如果我是黑客的话,如果你是黑客的话,哎,你想破解中间的这种加密的通讯过程,我们应该怎么入手就能破解,大家发现没有,我刚才给大家演示那个。
49:17
非对称的加密算法的时候,比方说我要把数据交给你,我希望数据传给你,别人不能解密,我应该用谁的密钥加密来着?应该用对方的公钥加密,对吧,那就是说你事先是不是得拿到对方的公钥,但是如果我是黑客,我就可以把公钥这个地方做些手脚,大家看怎么工怎么做啊,你看这么做。这是用户,这是服务器,现在用户和服务器之间想进行。加密。比方说。服务器想把自己的数据加密完了,传给。
50:00
这个客户端或者客户端想把自己的数据加密完了传给服务器,那这时候要想实现这个就得互相交换公钥,那现在客户端想和服务器进行加数据通讯,我比方说我想加密完了以后把数据加给你,那我就得把公钥拿过来,所以呢,我就请求公钥,说你给我公钥吧,正常情况下是不是服务器把公钥交给他就可以了,然后公钥拿到以后,是不是客户端就可以拿服务器的公钥来加密数据了,但是结果中间出了事了,啥事啊,中间藏了一个中间人。你不是请求公钥吗?好,我就收到以后把它截货了,截货以后我伪造请求发过来,说我就是那个客户端服务器,请你把公钥发给我,然后服务器呢,收到以后他就把公钥发给我了,发给我以后,注意这个公钥我不直接给他原装传过来,而是自己伪造了一个假公钥,把自己的公钥传给了客户端,听懂了吧,这是个假公钥,这个公钥是人家中间人这个黑客的公钥啊,咱们就叫C得了啊,就是这个黑客H吧haer。
51:08
那当然客户端拿到的是个假公钥,结果呢,他误认为是服务器的真公钥,所以他是不是就会拿假公钥来加密数据,大家想加密完了的数据传的时候,这边这个黑客又截获了数据了,是不是恰恰就用自己的私钥解密,解密得到了真正的客户端发布的真实数据,大家解密了还不够,他要把这个数据再篡改了,原来是XS,被我篡改成YYY,然后再重新拿服务器的公钥加密传给服务器,你想它是不是两边片,是不是这两边片?是吧,啊,所以这边是不是就得到了这个假数据。对吧,同样这边返回的数据是不是也可以再做篡改,再篡改串过来也可,UUU两边片,你想作为中间人这种攻击方式,如果有这样的人存在,我们是不是一切一切都没有基础了,说了半天根本没有用啊,你这个姑娘说的天花乱坠的没有意义是吧?没有意义啊,白搭了。
52:22
啊,我吹了半天得,一切都没有基础了。所以必须解决的问题,那这个问题的解决就要靠C和正数来解决。之所以造成这个问题的本质原因是什么?咱们先找到什么原因,一句话就是你得到的中药是个假功药。虽然公钥是公开的,但是从公共场合发过来的公钥你敢相信吗?那到时候发的小广告你敢相信吗?是吧,399吧啊,我不知道在哪,我没看,晚上约一下去看看,体会体会,那说不定是高价骗人的呢,是不是?那结果就是个大宗澡堂门票399进去了以后就是大宗澡堂上到了过399,在那过一天也行啊,什么这个早餐晚餐,晚上还能这个搓澡什么都包了,这个也行。
53:48
北京那边好像也没这么贵,好像一二百块钱就可以,一二百块钱就早饭中午饭,晚上还在那可以吃饭,反正就泡泡一天温泉嘛,就是温泉那个没这么贵啊,这怎么这么贵啊,399太贵了,没想到郑州的消费这么高,好,那接下来呢,咱们就来说说怎么解决啊,怎么解决我们要确保对方安全的拿到公钥怎么解决,这个图就描述清楚了,不过这个图有点小啊,我这有原版图啊啊,把咱们这个原版图拿过来在这呢。
54:47
那这是原版图,在这这图稍微字大点吧,还可以再放大,怎么样,这个清楚多了吧,嗯。
55:01
那说这个证书之前啊,咱们先说说生活中类似的场景,理解了生活中的场景,你这个套就体系就理解了啊呃,大家从外地来郑州。啊,尤其很多人将来工作以后可能会出差,那出差你的住宿吧,你住宿的话,呃,宾馆啊酒店,那凭什么他敢让你入住啊,他不把你是什么逮成坏人之类的,你是不是要住宿之前要出示你的身份证,良民证是吧?良民证啊,证明你是这个合法的这个公民,那为什么你出身份证别人就相信你啊,那身份证也不值钱对吧,你也没给人家多少钱,人家就一看身份证就相信你啊,因为身份证是权威机构颁发的,是公安局,公安局代表着国家权威,他来证实了你的身份证代表这个人的真威,尤其二代身份证比以前身份。
56:14
证强多了,二二代身份证它上面有防伪芯片是吧,那是不可伪造的,以前一代身份证说实在那个伪造的还挺多的,因为他也没有,就是一个卡片,那是不是只要长得模样,拍个照片都很容易蒙混过关,现在二代身份证里面它有芯片里面,甚至现在好像开始录入个人信息了,比方说录入你的什么指纹啊,DNA啊都可以在身份证里面,芯片里面可以集成进去,身份证是不可伪造的,基本上人家一刷身份证上面,你个人信息清清楚楚的都有。而身份证是国家机关印制的,他可以证实你持有此身份证的人的真真实性,所以你只要拿着身份证就可以在全国各地是吧,到时候去旅游啊,怎么样都行,但是这个身份证只能在中国吧,你跑到美国去,你拿出来中华人民共和国身份证,这好使吗?这不好使吧?哎,不好使,因为美国人不认你的中国人颁发的身份证,对吧?所以我们现在也一样,现在通讯双方想进行数据的加密,那我得先事先得到对方的公钥,那么我怎么得到对方的公钥,对方直接把公钥给我,我还不敢信呢。
57:43
对吧,那怎么办呀,就像两个人,你说你是张三啊,我说我是李四,我还不敢相信呢,你说你是谁就是谁呀,你还说你是是不是习大大呢,对不对,我敢相信吗?你是不是拿身份证就行了,他一说这身份证,哎,我就信了,为什么身份证不是你自己印的,是国家机关印制的。
58:12
所以呢,一样,我们互相交换公钥,没法交换,因为你发过来我也不敢信,那怎么办呢?诶,我又权力机构来证明我的证书,证明我的公钥的真实性不就得了,就像公安局一样,来证明你的人的真伪不就得了,那怎么证明呢?这么证明上级有一个证书颁发机构,咱们缩写成CA,这个有点像公安局,咱们想想你平时申请身份证怎么申请的,是不是就跑到派出所,啥时候这啊提交,有时候带户口本吧,比方说你身份证丢了,是不是得带户口本啊,带户口本,户口本是咱间接就证明你的合法性,然后还得拍照片,还得验证你的身份,验证完了以后啊,派出所验证完了以后,经过一段时间,经过验证印制身份证就要发时间啊,大概过一段时间,身份证给印出来了,就发给你了,在这中间是有一个核实过程的。
59:11
也就是说A和Bob这两个人,我们需要把印需要上级的一个权威机构叫证书颁发机构来验证你公钥的真伪。怎么验证呢?是这样的,这个验证机构它本身有两个钥匙,一个是公钥,一个是私钥,就是我们用CE1和PCE一来证来表示他们的公钥和私钥。其中我们会用CE,也就是C要来加密B的。供养。也就是Bob的公钥,就是这个Bob的公钥加密它加密它实际上这就是数字签名吧,这是不是就是签名啊,用这个私钥来加密数据不就是签名吗?加密完了以后再跟上报B的公钥,再加上C的信息,你像我们身份证是不是要,你是哪个派出所,就是哪个公安局印制的身份证,我是北京市的啊,其他的也都是各个省市都有,是不是要写上你是由哪个机关印制的,接着还有一个东西就是有效期,身份证是不是有效期啊,还有你这个十年有效期,20年有效期,对吧?有效期还有其他的一些东西啊,这个就构成了一个叫证书的东西,这就是证书,这叫报复的证书啊。
60:42
啊,报B的证书,当然了,这时候这个B的Bob的功效是怎么来的?抱着姑娘怎么来的?哎,实际上你报备你向人家申请身份证的时候,是不是它会自动的去生成公钥和私钥,它会生成俩文件,一个公钥文件,一个私钥文件,所以呢,这个C呢,它自身就有两个,要两个文件自动就生成了,至于这个文件实际上不是在我们Bob上自己生成的,是在C上直接给你生成了,你每个人去申请,他直接就给你生成公钥饲料,对了。
61:22
把这个证书私钥文件和公要文件直接在C上就生成了,叫C叫证书颁发机构就类似于公安局。那同样的逻辑,对于爱丽丝来讲,是不是也生成了爱丽丝的证书?各有各的证书,当然这些证书都是被C用C要签过名的,然后把它发给各自的。各自的对方,比方说C的前五名的爱丽丝的证书就发给了爱丽丝啊,给这个Bob签名的就发给了Bob,所以呢,通讯双方就各有自己的证书了,有了证书以后,将来想对方和对方通讯,那就把证书交给对方就好了。
62:08
这时候爸爸是不是就得到了爱丽丝的证书?得到爱丽丝的证书以后,我怎么验证这个爱丽丝的证书里面,因为我们目标是为了得到丽丝的公钥吧?对吧?那你得到爱丽丝的公证书了,你怎么就能够安全的得到爱丽丝的公钥了呢?因为我们都信任CAC是我的上级机构,证书颁发机构,所以我们就事先已经拿到了CA的什么呢功效。知道吧,你既然拿到C的公钥,是不是就可以轻松的利用C的公钥解开C签名的爱丽丝的公钥了?大家明白了吗?啊,验证公钥是不是爱丽丝来就是验证公钥肯定是经过证明是合法的,真实的。由此,我们是不是Bob就得到了爱丽丝的公钥了?同样的逻辑,Bob是不是也把自己的证书发给爱丽丝,爱丽丝利用C的公钥进而就得到了Bob的中要啊?
63:15
明白了吗?那大家都有了对方的功效了,是不是就可以加密数据传输了?这不就是他背后的逻辑吗?啊。但是有一个问题又产生了。我们现在这两个人就是都是隶属于同一个C的,就相当于两个人都在北京市,我都是北京人啊,有北京市公安局颁发的身份证,问题是你现在跑到另外一个地方。现在有一个小明小红,小红小明这两个人他在城市不在北京,他在上海。假设。那么颁发的这个身份证是不是也是上海公安局颁发的身份证?那现在问题来了,小红和爱丽丝两个人想进行通讯,那么小红把自己的证书发给他啊,这个小明把把自己的证书发给他,问题是他们的这个证书不是同一个C颁发的,你是上海公安局颁发的,我这边是北京公安局颁发的,他俩不是同一个。
64:21
不是同一个的话,我们是不是这边就根本你像这个小明同学,小明同学得到了爱丽丝的发过来的证书,发过来的证书传过来这边来了,那我现在要得到爱丽丝的公钥,但是由于我们是不是没有C1的公钥啊,是不是我没有,因为我的CE是谁啊C我是不是没有CE的公钥,没有CE的公钥自然就没有办法直接解密获取爱丽丝的功钥,听懂了吗?那这时候两个上级部门不一样。啊,就是北京人出差到上海了。
65:00
上海人一看,你怎么北京颁发的身份证啊?你也不是我上海办公的证,我不敢相信呀,那不敢相信怎么办呀?那这个不能直接相信,那就间接信任,间接信任怎么办呢?就是说北京的公安局,你不是上海不信任吗?那没事,我的上级部门是谁?上级部门更大的领导是谁呀?更大领导当然就是公安部了。是不是公安部来证明北京市公安局的权威性?啊,他给CA1,也就是个北京市的公安局来颁发证书,他给C1颁发证书,他用上级公安部的私要来签名C1的公钥。得到了C1的证书,同时也会给C2来颁发证书。那么进而C1和C2都有了自己由上级C颁发的证证书,而而每个计算机它都有最上面这个C的公钥,都有上级的公钥,这个最上面的C类我们叫跟C,就像公安局一样啊,就公安部一样啊,公安部一样,当然为什么说他是最上级了,因为公安部在上面没了。
66:15
你还有比公安部更大的机构吗?没了啊,公安部负责。全国性的这个身份的管理,所以他是最权威的了,已经没有办法了,所以对于公安部的证书怎么来呀,他的证书谁来颁发呀?那没人给他颁发了,那只能自己印个章,说我就是证明,我就是我。所以这叫自签名证书,听懂了吗?自签名证书你不信任?不信任那没招,我就只能自己证明,因为我足够权利了。就跟你去银行去存钱一样,你不相信银行,那就别别存了呗,啊银行说我就权位的,你爱存不存呢,对吧?啊,工商银行不就爱存不存呗啊,那网站不就是爱存不存的域名嘛,是不是爱cdc.com.cn嘛,是吧?啊,所以我就不存了啊,大不了去别的银行,建设银行啊,建设银行是吗?存不存啊,CBC是吧?啊不弄中国银行是啊,不存是吧,aoc.cn啊,总之都不怕你存不存啊,人家银行不怕。
67:31
啊,你你的钱都投资房地产了,你当然没钱了,家里好几好好几百平米的大houses,还好几套是吧?啊好,这是刚才说的,那这就是我们整个体系啊,那所以呢,这个CE12和C1无法直接信任的话,没关系,由上级C来证明他们的权威性,所以我们现在小爱丽丝把证书发给小明以后,小明要想写证安全的得到P,就是这个爱丽丝的公钥,怎么得到呢?是这样的,由于我们每个人都信任最上面的这个根C,所以他们每个人都事先拿到了跟C的公钥,拿到C的公钥以后,是不是就可以把CA1的,把CA1的。
68:32
的证书里面的信息解开怎么解呀?用跟C的公钥,进而解开用CA的四要签名的CE的公钥,大家看这是不是就解开了这个东西,是不是就得到了CE的公钥?得到CE的公钥以后,再拿C的公钥把爱丽丝里面的C要签名是不是就可以解开了?是不是就得到了爱丽丝的公钥了?是不是小明同学就得到了爱丽丝的功效了?这个安全过程应该是安全的,因为都是层层来证明的。
69:07
对吧,哎。他通过自己事先的的跟C的公钥得到了CA的一的公钥,再通过CA的公钥来得到阿丽的公钥。从而小明同学就得到了爱丽丝的公钥,这个过程是安全的,没问题的。那同样的逻辑,是不是小明也把自己的钥匙就是证书全给爱丽丝,爱丽丝用同样的方法解开就行了,进而就可以拿到了?进而就可以安全的得到了对方的公钥,那有了公共钥,那么后续再传数据不就行了吗?也就是说我们怎么去获取公钥的,一句话概括就是用CA来证明公钥的真实性,那我就可以得到一个真实的公钥了,不是假的,这个公钥是权威机构颁发的。
70:09
他来证明全证书里面携带的公钥是真实可靠的,当然这里面就必然有一个要求,就是你要一定要确保这个C是足够权威,你不能说找一个假C,那不就用完了吗?对不对,一定是个真正权威的,那怎么权威呢?互联网上有一些著名的CE,这是全球都承认的。出。互联网上有一些专门的机构,专门当CE的,他来颁发证书,不过呢,这些证书颁发机构,他们只负责给底下的子下级C叫子C,就像公部一样,公安部权威是权威,但是他不会直接面对老百姓提供服务的,他是不是负责管理底下的公安局啊,而公安局在面对普通用户颁发证书,对不对,颁发身份证嘛,所以中非互联网上有很多,但是他不会直接面对个人用户,他是来管理下级的子C,子C才会面对用户的。
71:14
那么跟C有哪些呢?跟C我们在电脑上安装操一懂的时候,默认就给你装好了,它默认已经装好了一些权威的,足够权威的跟C从哪能看到呢?在英特选项里面就有。好,我们打开控制面板。好,在这搜一下叫应该选项。看这定在选项。点开以后,这边我们有一个内容,看这一个证书。
72:01
大家看这是不是受信任的根证书颁发机构就那个跟C,跟C不是一个啊,我画图画了一个,实际上互联网上有很多跟C,大家看这些全是跟C。但是这些东西你要向人家的。这个机构申请证书。你要向人家申请证书嘛,那申请证书人家给你颁发证书之后,你就可以拿这个证书来给你来证明你的公钥的真实性了,但是凭什么人家给你颁发证书啊?你一方面要提交自己的真实信息,另一方面人家给你颁完证书没有成本啊,交钱嘛,对不对,掏钱就行了,你就就身份证还得有钱的嘛,还有还还还有点20块钱30块钱的,是不是还有个什么印制费啊之类的啊,工本费之类的,所以呢,你要向这些C申请证书要掏钱的啊,一个证书多少钱呢?
73:08
那证书我们去阿里看看,它这里面就有证书,那这里面它有那个证书服务,阿里虽然它不是一个证书颁发机构,但是他是一个代理商啊,这个中间商就相当于我们可以通过阿里间接的向C申请证书,你就不用直接跑C了,他相当一个这个代理商,这里面有证书,我们可以搜一下啊叫啊这有这有这个SS套证书吗?这个你看看这个一套证书多少钱啊,在这我们可以看看。看有便宜的啊,300多啊,也有几千的,还有上万的,看见没,还有2万的。这一个证书本一台电脑都贵,而且还按年收费的啊,按年收费的这个价格,所以这个证书实际上对一个企业来讲也是一个,哎,也是一个不小的这个费用,也算是确实是,而且呢,一个企业里面就一个证书吗?不是有可能需要好多证书,所以你每个证书,每个这个项目里面可能都需要申请证书,所以这个真正在互联网上你要申请证书的话,也可能会。
74:34
花不少钱的,但是我们个人用户就没有必要了啊,个人用户的话,他有免费证书,我这用的就是免费证书,我可以拥有免费证书可以使用的啊。好,这就是咱们给大家讲的证书的一套工作体系啊,我这个图画的很明白了,就这个体系啊,啊这里面呢,涉及到一套证书的工作架构啊,包括什么PKPK呢叫公共的密钥加密体系,就代表着这个证书啊C啊,包括用户啊,公钥啊这一套体系,CA呢叫证书颁发机构啊,他是负责给你颁发证书的,而证书里面就包含了你的公钥,当然公证书里面包含私钥吗?证书里面包含私钥吗?我刚才画的这个图里面有私钥吗?这里面有私钥吗?这就是证书吗?这里面有私钥吗?
75:32
当然不能有私钥了,私钥那你交换,你把自己的证书交给对方,那不就相当于把证书,如果里面带私钥,那不是把相当于把私钥交给对方了嘛,这样聊的,所以这里面没有私钥啊,有公钥啊。没有私钥,证书里面不带私钥啊,证书里面不带私钥。当然还有注销啊,注册机构还有CRL,叫吊销列表,这两个是啥意思呢?注册机构说的就是你申请证书的时候的机构和证书颁发机构有可能不是一个机构。
76:14
所谓证书注册机构,指的就是你申请证书。比方说你去阿里巴巴那个阿里云去申请证书,但是阿里云它本身并不是一个CE,它是个代理代理商而已,所以他就叫注册机构,你就是通过他来申请证书,但是他本身他不能给你颁发证书,那事实上我们去申请身份证,你申请身份证,你找当地的派出所,派出所他有能力给你印制身份证吗?他没有能力,他只是接收你的注册请求啊,你接收你的这个身份证申请,帮你拍个照片而已,真正印制身份证是不是只有那个比方市级单位的公安局才有权权限,对吧?所以呢,他当地只是收集你的证书,身份证申请而已,他是印制不了身份证的。
77:00
那所以这就叫注册机构,还有一个叫吊销列表,吊销列表啥意思呢?就是有些身份证或者证书给你颁发了以后,因为某些原因你要把它注销掉,比方说。这个人在你的公司里面申请了一个证书,结果呢,这个人提前比方说离职了。正常这个证书有效期假设一年,但是还没到一年,他要离职了,他不在了,不在了,他是不是不应该再拥有这个证书了,所以我们要把它注销掉,否则他一直拿这个证书就可以在你的,在你的企业里面用这个证书来登录系统的。所以我们就要提前把它注销了,那你要注销的话,你是不是得发布出来让别人知道,所以要放在一个证书吊销列表里面,让大家知道这个证书已经被吊销了,那你像咱们那个网站上都有,你看我随便打开一个网站啊。这,这有个证书,我把这个证书打开,这就是所谓传说的证书。证书呢,实际上是个文件,只不过在Windows里它可以用图形方式把它打开,实际上就是证书打开的一个图形界面,它背后是一个文件。
78:11
那其中这里面有没有那个证书调销列表,大家看这有一个CRL,这个路径就是证书调销列表的文件名,你可以把这文件下载下来,我把这个下载下来。哎,下载了,下载完了以后呢,你可以把它打开。在这儿。那这是之前打开过的,这是之前打开过的这个。好,我把它放在桌面上。大家看他的文件后缀是CL,双击这时候就能打开这个证书吊销列表,那里面包括有好多被证书被吊销的编号,这些证书都被吊销了。这个序列号就是他的那个证书编号被吊销了,明白吧,被吊销了,所以如果你的证书是在这个调列表里面的,那将来一查,这个调列表被吊销了,他就不能用了,明白了吧,这个意思。
79:07
啊,实际上它是个文件,实际上就是个文件,只不过用图形方式可以把它打开而已。好,那我们平常用的证书啊,都是有标准格式的,这个证书文件的标准格式叫X509格式,那我们现在刚才曾经在浏览器里面看到的这个证书,你看这个是图形界面,实际上它对应的是个文件,这个文件你可以把它,呃,怎么说呢,可以下载下来,怎么下载呢,就这样这有个复制到文件。复制到文件,你走这个向导走一遍,它不是有一个格式,你看S509吧,S509应该默认选项就行了,你把它存到桌面上,比方说随便起个名字,这个是360 360的证书,我就写个360保存,然后下一步完成行了,这个证书就被下载下来了,你看这个地方是不是下载完了。
80:01
看到没有,然后双击打开,这就是他那个证书的内容,这是他证书的内容,你看这里面他写了说给谁颁发的证书,有效期是多长时间,看到没有。啊,有效期还挺长啊。是吧?一下两年,一般的证书都是一年,像360这个有钱啊,一下买两年的,因为一年年续,他不是省钱嘛,是吧,也许两年能便宜点,两两年有个折扣吗?啊不知道啊,一般你像咱们你你去看一下阿里呀,腾讯呀,这些网站,他们一般都是一年,你看这个,这是阿里的,阿里的啊,你去淘宝淘宝看看,他们都有证书啊,都有证书,你看这个有个小锁的就有证书,你看这个把证书打开,你看它的有效期是不是一年,是不是一年啊,一般都是一年一年,这个360还是有钱啊,一下买两年的。
81:03
啊两年的看京东这都是一年,一般你看京东,你看这有证书,你看他是不是一年是吧,一年啊然后呢,这个证书是谁颁发的,这看的很清楚,是由这个跟C给子C颁发,子C在给他颁发,这中中间那个子C过程吗?上一就跟c global s root c啊你我们刚才看到那个360是不是也是这个C呀,不是他不是这个C是另外一个C,不过这个global s这个C啊是比较有名的,你看京东在用,淘宝是不是在用,我们看看。淘宝是不是也是格罗莫赛入CR3,我们看一下是不是这样。因为这个C比较有名,比较安全,你看它叫R1,也是这个格罗赛吧,也是他,那这个格罗赛呢,这个C就在咱们刚才。
82:02
应在选项里面就能看到,这个地方能看到。因为他们是都是被信任的。C,你看这里面有没有。必须有,看到没有吧,这不用C吗?就这个吗?是不是他啊,这都信任的,当然了,为什么WINDOWS1装它就默认就把这些跟C都装上了,你不觉得有啥奇怪吗?因为微软和他们关系好啊,微软装Windows的自动给你装上了,啥意思啊,合作呗,是吧,你把我装上以后给你钱吗?是吧?哎,注意你不在这列出的,那就是不信任啊,如果你这个地方没有列出的CA单位的证书,那将来会显示一个界面,说证书不安全,不信任。知道吧,所以我们这应该是要访问的这个证书应该是这里面有安装好的,不安装的话,他就会报提示说你不安全。
83:13
好,这是咱们给大家讲的S509格式的。当然了,这个证书怎么去申请,怎么去使用,这个是另外一个话题了,我们先知道证书的工作逻辑,证书是干嘛用的啊,怎么用,这是我们后面要讲的了啊,我们休息一会,待会回来失分回来啊。
我来说两句