总括: 本文详细讲述了SSL协议中的数据加密的过程,数字证书、对称加密、非对称加密和SSL握手过程等概念。前端
原文博客地址:SSL协议之数据加密过程详解算法
博主博客地址:Damonare的我的博客安全
生活服务器
只要你听过HTTPS,不可能没听过SSL协议吧,SSL协议是一种安全协议。对于互联网协议没有了解的童鞋能够参考博主另外一篇博客:internet协议入门markdown
HTTP+SSL = HTTPSdom
HTTPS之因此安全就是由于加持了SSL这个外挂来对传输的数据进行加密,那么具体的加密方法又是什么呢?oop
请听我娓娓道来。先看下面两个概念:加密
对称加密spa
非对称加密
你知道上面两个概念是什么意思么?😳
🤣OK,无论你懂不懂,我先用个人方式来给你解释下:
亲,你做过弊么? 😑不要告诉我在你漫长的学生生涯里你没做过弊(那你的学生生涯得多枯燥),做弊咱们经常使用的方法是啥?(说把答案写在胳膊大腿纸条上的同窗请你出去,谢谢🙂)固然是加密了!好比我出于人道主义,想要帮助小明同窗做弊,首先考试前咱们会约定好一个暗号来传递选择题的答案,摸头发——A,摸耳朵——B,咳嗽——C,跺脚——D,因而一个加密方法就诞生了,这个加密方法只有我和小明知道,老师虽然看我抓耳挠腮但他顶多把我当成神经病,并无直接证听说我做弊。好,这种我和小明知道,别人不知道的加密方法就是一种对称加密算法,对称加密算法也是咱们平常最多见的加密算法。这种算法🔑只有一把,加密解密都用同一把钥匙,一旦🔑泄露就全玩完了。
随时时代的进步,人们发现实际上加密和解密不用同一把🔑也是能够的,只要加密和解密的两把🔑存在某种关系就好了。
因而,层出不穷的非对称加密算法就被研究了出来,那么它基于什么样的道理呢?请严格记住下面这句话:
将a和b相乘得出乘积c很容易,但要是想要经过乘积c推导出a和b极难。即对一个大数进行因式分解极难
听不懂因式分解的童鞋先去面壁5分钟,这么多年数学白学了?甩给你维基百科连接,自行补课🙂:因式分解
好的,咱们继续,非对称加密算法就多了两个概念——公钥c和私钥b。
用法以下:公钥加密的密文只能用私钥解密,私钥加密的密文只能用公钥解密。
公钥咱们能够随便公开,由于别人知道了公钥毫无用处,通过公钥加密后的密文只能经过私钥来解密。而想要经过公钥推导出a和b极难。但很明显的是,使用非对称加密效率不如对称加密,由于非对称加密须要有计算两个密钥的过程。
咱们经过密码学中的两个典型的爱丽丝和鲍勃人物来解释这个非对称加密算法的过程:
客户端叫作爱丽丝,服务器叫作鲍勃。
爱丽丝: 鲍勃我要给你发送一段消息,把你的公钥给我吧;
鲍勃: OK,这是个人公钥:234nkjdfdhjbg324**;
爱丽丝:收到公钥,我给你发送的消息通过公钥加密以后是这样的:#
@#@!$%*(@;
鲍勃:好的,收到了,亲,我来用个人私钥解密看下你真正要给我发送的内容;
上述过程就是一个非对称加密的过程,这个过程安全么?好像是很安全,即便查理(通讯中的第三位参加者)截取了密文和公钥没有私钥仍是无法获得明文。😂
可若是第三者查理发送给爱丽丝他本身的公钥,而后爱丽丝用查理给的公钥加密密文发送了出去,查理再经过本身的私钥解密,这不就泄露信息了么?咱们须要想个办法让爱丽丝判断这个公钥究竟是不是鲍勃发来的。
因而就有了数字证书的概念:
数字证书就是互联网通信中标志通信各方身份信息的一串数字,提供了一种在Internet上验证通讯实体身份的方式,数字证书不是数字身份证,而是身份认证机构盖在数字身份证上的一个章或印(或者说加在数字身份证上的一个签名)。
😑上面官方的解释看起来就头大。其实它就是一段信息。
数字证书内容大致以下:
数字证书是由权威机构——CA机构统一来进行发行,咱们绝对信任这个机构,至于CA机构的安全性…反正99.99%之下都是安全的。🕵
为了防止中间有人对证书内容进行更改,有了一个数字签名的概念,所谓的数字签名就是把以上全部的内容作一个Hash操做,获得一个固定长度而后再传给鲍勃。然而若是别人截取了这个证书而后更改内容,同时生成了新的Hash值那怎么办?处于这个考虑,CA机构在颁发这个证书的时候会用本身的私钥将Hash值加密,从而防止了数字证书被篡改。
好,咱们来梳理下整个过程:
如上,是整个数字证书的使用过程就是这样的。
多说一句,非对称加密实际应用的例子除了SSL还有不少,好比SSH、电子签名等;
如上提到的,非对称加密计算量很大,效率不如对称加密,咱们打开网页最注重的是啥?是速度!是速度!是速度!🏃🏃🏃
这点SSL就玩的很巧妙了🤣,通讯双方经过对称加密来加密密文,而后使用非对称加密的方式来传递对称加密所使用的密钥。这样效率和安全就都能保证了。
先用语言来阐述下:
俗话说一图胜前言,我画了一个图来讲明这个过程:
OK,整个进行数据加密的过程结束。咱们再来回忆下内容:
文中阐述不妥之处还望雅正,不吝感激。
转载请注明出处。
以上。