安全通信

1、初級階段:信息裸傳算法

2、進階階段:傳輸密文安全

    服務端和客戶端先約定好加密算法,加密密鑰。網絡

3、中級階段:服務端爲每一個用戶生成密鑰加密

    客戶端和服務端提早約定好加密算法,在傳遞消息前,先協商密鑰內存

4、再進階階段:客戶端肯定密鑰,密鑰再也不傳輸get

    使用「具有用戶特性的東西」做爲加密密鑰,例如:用戶密碼的散列值,無需在網絡傳輸。class

5、高級階段:一次一密,密鑰協商進階

    特色:每次通訊前,進行密鑰協商,一次一密請求

    在客戶端發起安全信道創建請求後:密碼

  • 服務端隨機生成公私鑰對(公鑰pk1,私鑰pk2),並將公鑰pk1傳給客戶端

    (注意:此時黑客能截獲pk1)

  • 客戶端隨機生成公私鑰對(公鑰pk11,私鑰pk22),並將公鑰pk22,經過pk1加密,傳給服務端

    (注意:此時黑客能截獲密文,也知道是經過pk1加密的,但因爲黑客不知道私鑰pk2,是沒法解密的)

    服務端收到密文,用私鑰pk2解密,獲得pk11

  • 服務端隨機生成對稱加密密鑰key=X,用pk11加密,傳給客戶端

    (注意:同理,黑客由密文沒法解密出key)

    客戶端收到密文,用私鑰pk22解密,可到key=X

 

至此,安全信道創建完畢,後續通信用key=X加密,以保證信息的安全性

    

 

黑客定理一:網絡上傳遞的數據是不安全的,屬於黑客公共場所,能被截取

黑客定理二:客戶端的代碼是不安全的,屬於黑客本地範疇,能被逆向工程,任何客戶端與服務端提早約定好的算法與密鑰都是不安全的

黑客定理三用戶客戶端內存是安全的,屬於黑客遠端範疇,不能被破解

 

對於不一樣加密方法明:

  • 明文消息傳遞如同裸奔,不安全

  • 客戶端和服務端提早約定加密算法和密鑰,不安全(好多公司都是這麼實現的=_=)

  • 服務端隨機生成密鑰,發送給客戶端,不安全

  • 一人一密,客戶端使用「具有用戶特性的東西」做爲加密密鑰,弱安全

  • 一次一密,三次握手創建安全信道,安全

  •  

https://mp.weixin.qq.com/s/TG2MGcoIm19NNwxSOZ2ZIQ

相關文章
相關標籤/搜索