TLS 握手 與證書認證

1) TLS 握手

       握手的目的就是協商出一個對稱加密使用的key,用來加密後面的業務數據。

       1) client 產生一個random 值

       2) server 產生一個random 值, server 將簽名的證書 和 random 值 以及非對稱加密使用的public key 發送給client

       3)  client 驗證證書,再產生一個random 值,並且用public key 加密給server

       4) client 和 server 擁有相同的隨機值,使用相同的算法就可以生成一樣的對稱加密的密碼

2) 證書認證

       首先要知道證書是如何生成的

       1) server 提取自身的一些信息(比如domain name 和公鑰) 給CA 機構, CA機構 對這些信息 做簽名,並對簽名使用

             非對稱加密的private key 加密。

       2) client 用CA 對 CA簽名的server 證書校驗。client 也對這些明文信息做簽名運算得到一個簽名值, 然後用CA的public key

              解密 又得到一個簽名值, 這兩個簽名值一樣, 說明 server就是真實的server。

 

      3)    爲什麼說 所以自簽名證書不安全的

             對於自簽名證書, 攻擊者不會去攻擊server 或者client, 他會去攻擊簽發 證書的那臺server, 只要拿到這臺機器的私鑰

             那麼攻擊者就可以實現中間人劫持了。

             S' 既然有了私鑰, 那麼他可以簽發一個證書,那麼client 與S‘ 就可以建立TLS 通信,

             同樣S' 也可以和S TLS 通信

 

            A     --------------------------------  S

            A    --------------S'----------------- S

              

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