10分钟看懂HTTPS

HTTPS是为了弥补HTTP明文传输不安全的特性而产生的,下面由我通过一些自画图例来说明HTTPS如何保证传输的安全性。为了使整个说明过程显得有趣生动点,我将浏览器和服务器分别比喻成黄晓明和他的老婆Angelababy,还有一个黑客想要截获他们之间交流的信息(可能是想挖掘一些娱乐圈新闻吧)

初始场景的设定

初始化场景设定

假设我们使用的是HTTP,那么由于HTTP的明文传输特性,Angelababy发送给黄晓明的消息被黑客截获后,黑客可以很轻松的就知道消息的含义,这样以来A和黄之间的通讯就没有私密可言,这可不是他们想要的结果。

A的对策:使用对称加密

使用对称加密

既然HTTP是明文传输,那么A就决定将信息加密再进行传输,于是他想到了对称加密,就是把要传输的数据用密钥进行加密,并且加密后的信息可以用密钥进行解密,于是A先给黄发了私钥以确定两人使用共同的密钥,然后再传输加密信息,可是,情况并没有他们想象的简单,黑客截获了他们的密钥,然后再把截获的信息用密钥进行解密,于是,对称加密失败。

A的反击:使用非对称加密

使用非对称加密

面对这种情况,A并没有灰心,于是她又有了一个新的想法,使用非对称加密,她使用一种非对称加密算法生成一对公钥私钥,并且用公钥加密的数据只能由私钥解密,而由私钥加密的数据只能由公钥解密,A发送给黄晓明,黄在收到A的公钥之后用这个公钥对信息进行加密然后将其发送给A,A在收到后用她自己才有的私钥进行解密,在这个过程中,即使黑客截获了公钥也没卵用也无法将信息解密,因为他没有私钥。面对这种结果,A和黄松了口气,终于可以进行私密的交流了。

事情并没有这么简单

事情并没有这么简单

但是,事情就这样顺利地进展下去吗?不不不,黑客面对这种情况还是有应对的法子,他模仿A的行为,自己用非对称加密算法生成了一对公钥和私钥,然后把自己伪装成A把公钥发给黄晓明,这样以来,黄在不知情的情况下用黑客的公钥加密然后将数据发出被黑客截获,黑客截获加密的数据之后用先前生成的私钥进行解密,嘿,黑客又可以看到黄给A发的信息了

A的应对

数字证书
A经过分析,黄是在无法判断公钥来源的情况下才会误把黑客的公钥当成自己的公钥,于是她将自己的公钥交给A和黄都信任的一个机构(CA),CA会将A的公钥包装成一个数字证书,然后A就可以将这个数字证书直接发给黄,黄在收到这个证书之后,就可以去验证这个证书的合法性(浏览器自带了证书验证功能),如果合法就可以确定这个证书里的公钥是A,于是他就可以放心大胆地将信息用这个公钥进行加密然后传输了。

黑客的最后一搏

数字签名

接下来就是公主和王子过上了安全私密的生活了吗?还没完!!!黑客恼羞成怒,打算最后一搏,他截获A的公钥,然后利用A的公钥给这样一段信息加密“我们离婚吧”,企图通过这种手段来拆散A和黄,接着伪装成黄将加密的信息发给A。面对这种情况,机智的黄想出了数字签名的策略来应付黑客的这种伪装手段,黄在发送数据的时候会首先提取数据的摘要信息(通过MD5算法生成唯一的数字指纹),然后自己利用非对称加密生成一对公钥和私钥,利用私钥对于摘要信息进行加密,然后将加密后摘要和数据用A的公钥进行再次加密,将再次加密后的数据和黄的公钥发给A,A收到数据之后用自己的私钥解密,然后用MD5算法对传输的信息(也就是黄想要给A发的信息)生成数据摘要跟收到的摘要进行对比,如果对比一样说明数据并没有被篡改或者伪装,这里还涉及到一个问题,就是A如何确定收到的公钥是黄的,这个可以利用之前提到的数字证书进行确认,至此,黄和A终于可以进行私密的交流而不用担心被黑客窃听了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值