小明最近碰到一件好事!
小明心想:
还有这等好事! 如果真能做到不给中国加关税, 那是为国争光了啊! 再说了还能办个绿卡,哈哈! 不行,万一是骗子呢? 我要再多问几句!
小明要看网址真的是白宫的,
连忙打开网页:
哎哟,真的是白宫网站啊。
要抓住机遇,
小明连忙根据客服的提示,
填写了自己的身份证和信用卡信息,
然后小明收到好几条短信:
可惜不是通知办绿卡的短信,
信用卡上的钱莫名花掉了好多,
那个特朗普也联系不上了。
问题来了,
在这个又大又坏的网络世界上,
我们如何去验证对方是真是假呢?
又如何去验证网站是真是假呢?
我们先来看看现实中是如何验证的。
小明的信用卡莫名被盗刷了,
很是恼火,
马上赶去银行要把卡锁住。
这时候银行柜员说:
您好,请出示一下您的身份证?
小明赶快递上自己的身份证:
银行柜员仔细核对身份证后,
确认了小明就是信用卡的主人,
马上给他锁定了信用卡,
防止“特朗普”继续盗刷他的信用卡。
上面这个锁定信用卡的过程中涉及到了3方人:
只有小明和银行柜员,
明明是2方,为什么说是3方?
确实是3方,这里少了公安作为公正方:
这个过程是这样的:
现实中,就是通过这张叫做"身份证"的证书来解决了“小明”是“小明”的问题。
那网络上是否也可以通过证书的方式来解决这个问题呢?
答案就是公钥加密和数字证书!
小明可以用身份证证明自己的身份,
虽然别人也可以伪造自己的身份证,
但伪造身份证还是很难的,
身份证里面加了各种防伪技术。
但如果有一个电子的身份证,也就是数字证书,
岂不是很容易伪造?
只要复制一份就行了?
是的,数字证书不能和普通的证书一样,
否则就太容易被复制了,
它是由两个文件组成的,
需要用到公钥加密技术。
我在前面一篇文章中介绍过公钥加密,
简单说就是:
真是一对欢喜冤家,
只有彼此才能解开对方的心结。
我们来看一下上面的场景:
通过这种方法就可以证明消息是否是小明发的。
至少有两个好处:
这就是核心原理! 关于公钥加密,可以读我的上一篇专门关于公钥加密的文章。
虽然小明不能抵赖,
别人也不能冒充小明,
但还有一个问题:
我怎么知道给我证书的小明就是小明呢?
如果某个人给我一个身份证说他是特朗普,
我怎么确认呢?
我去公安机关确认!
数字证书也需要能够证明身份的中间机构。
整个过程是这样的:
神秘的证书颁发机构是谁呢?
理论上说谁都可以颁发证书!
上面的例子中银行自己就是证书颁发机构,
你去银行办卡,
银行如果给你一个U盘,
里面就是银行给你颁发的数字证书。
里面包含了你的公钥和私钥!
你自己也可以颁发证书,
但问题是你自己颁发的证书自己用还可以,
如果是要跟外部来证明你就是你自己,
就相当于自己画了一整身份证,
别人肯定不认的。
上面银行颁发的证书也只是自己用,
你在网上转账的时候,
银行自己验证证书的有效性。
如果想要办理大家都认可的证书,
就需要大家都认可的证书办理机构,
这种机构世界上也有很多家。
我们可以通过阿里云办理数字证书,
他给的选择有4个证书机构:
这说明只有这4家和阿里云有合作,
实际上有更多的数字证书机构。
这些机构颁发的证书是大家都公认的!
数字证书的其中一个重要应用就是在网页上,
1最开始假的特朗普发了假的白宫网站,
我们如何拆穿他呢?
我们打开真的白宫网站:
https://www.whitehouse.gov
会看到他的网址前面有个?的图标,
这说明这个网站是有数字证书的:
点开这个?,就可以看到网站的身份证:
我们可以清楚的看到:
难道我需要每个网站都点开查看证书吗?
答案是没必要!
因为浏览器已经帮你做了这个事情,
如果没有证书,浏览器会提示你:
如果有证书但是证书不知道是谁颁发的,
浏览器会这样提示你:
不同的浏览器提示界面可能会略有不同,
但本质是一样的。
那么证书机构怎么证明小明就是小明呢?
加入小明用域名whitehouse365.com去办证,
喂,你好,我要办个数字证书! 我的域名是:whitehouse365.com 我是:美国白宫
办证机构会验证这个域名是不是美国白宫的。
对不起,这个域名的注册人不是美国白宫。 根据域名查询,主人叫张小明。 不能给你办理! 而且白宫是政府机构,需要提供额外证明!
这样就办不成了!
但是小明可以这样说:
喂,你好,我要办个数字证书! 我的域名是:whitehouse365.com 我是:张小明
证书机构验证了张小明确实是这个域名的注册人。
所以就给他办了一张证书。
而且是合法的证书,是公认机构颁发的。
这种情况下,浏览器也没有办法。
所以在关键的网站上,
我们可以要多看一下的,
比如看一下域名whitehouse365.com,
这个是不是很山寨?
而且政府域名都是.gov结尾的!
我们也可以打开证书看看:
咦,怎么回事张小明?
是假的!
又大又坏的网络世界,
学点计算机知识是很有必要的!
有问题给我留言!
感谢点赞和转发!