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

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