在 https 通訊之前,需要經歷握手階段,描述如下:
第一步,愛麗絲給出協議版本號、一個客戶端生成的亂數( Client random ),以及客戶端支持的加密方法。
第二步,鮑勃確認雙方使用的加密方法,并給出數字證書、以及一個服務器生成的亂數( Server random )。
第三步,愛麗絲確認數字證書有效,然后生成一個新的亂數( Premaster secret ),并使用數字證書中的公鑰,加密這個亂數,發給鮑勃。
第四步,鮑勃使用自己的私鑰,獲取愛麗絲發來的亂數(即 Premaster secret )。
第五步,愛麗絲和鮑勃根據約定的加密方法,使用前面的三個亂數,生成"對話密鑰"( session key ),用來加密接下來的整個對話程序。
具體可見阮一峰老師博客的文章: http://www.ruanyifeng.com/blog/2014/09/illustration-ssl.html
我的問題是,如果在第二步,我截獲了鮑勃給愛麗絲的證書,然后給愛麗絲是我自己的數字證書,但是這個證書也是權威機構簽發的,那么,愛麗絲在第三步,如何確認這個數字證書,不是由鮑勃發的?比如現實中的一種情況是,我進行域名劫持,然后我將我的證書發給愛麗絲,然后竊取她的賬號密碼等。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/106666.html
標籤:網絡通信
