https协议_2

SSL协议:

HTTPS就是在普通的HTTP基础上加上SSL协议变成安全的通讯协议的。

SSL就是利用非对称加密来互通对称加密的密钥的。

对称加密就是一个密钥,既可以加密也可以解密。非对称加密就是有两把密钥(公钥,私钥),一把只能加密,一把只能解密。

小红给小灰公钥Key1的同时,自己手里还有一把私钥Key1。

       小灰生成的密钥Key2,在之后二者通讯加密要用的密钥。由于这个时候Key2被Key1加密了,只有小红手里有对应的可以解密的私钥Key1,包括小灰也不能破解公钥Key1来获取里面的密钥Key2,他只是能利用公钥Key1来加密而不能解密,但是由于密钥Key2是他自己生成的,所以他不用界面也知道里面是什么。

       现在再回传的过程中,如果有人劫持了数据包,他没有小红手里的私钥Key1,劫持了也解密不出来里面的密钥。等到小红收到了数据包,她用手里的私钥Key1就能知道小灰生成的密钥是什么了,二者就用这个密钥key2加密数据。

       由于没有第三个人知道这个密钥Key2 是什么,所以也就无法破解二者传输的数据了。

证书:

       如果第三方不是试图破解小红生成的公钥Key1,而是直接替换成了自己的密钥Key3,等到小灰往回发数据的时候,就是用的这个Key3加密的数据,第三方又劫持下来,解密里面的预定密钥Key2而且把公钥Key3再替换为小红刚开始生成的Key1,这样当收到数据的时候他也不能发现数据被劫持了。

为了避免这种情况,引入证书机制:

还有一种情况:

证书的作用就是验证服务器端的身份,CA也是利用非对称加密来加密服务器端的网址信息(标识身份用)和生成的公钥(之后传输数据用),当客户端收到证书的时候解密(本地客户端都有各种机构的密钥)出证书的里的签名。客户端同样的利用证书机构的方法生成一个新的签名,如果两个签名一致就说明证书有效。

证书细节: 

证书内容里包含了客户端的信息,所以如果第三方修改了公钥(因为证书内容不能修改,修改就会被发现。那么只修改了服务器端的公钥加密之后生成的签名肯定不正确),证书验证肯定不会通过。 

https://www.jianshu.com/p/29e0ba31fb8d

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章