小弟參考了這篇學習SSL運作原理

http://blog.yogo.tw/2009/11/ssl.html

以下是他所提出的論點:

1.Client透過HTTPS連到Server。
2.Server傳送Server Public Key給client。
3.Client產生後續傳輸資料需要用來加密/解密用的Session Key,並以Server傳過來的Public Key加密後回傳給Server。
4.Server用Private Key解開Client以Public Key加密回傳的資料,以取得Session Key。
5.後續Client與Server間傳送資料就以此Session Key來做資料加密與解密的處理,處理的時間會比使用Server的Public Key與Private Key要快速許多。

我的問題是:

1. 到了第5點後,後續的連線Client還會把這把Session Key透過Public Key加密嗎?
然後Server 仍然會使用Private Key 解開Public Key 後取得Session Key嗎??
還是後續連線Client只有把Session Key 丟給Server嗎? 並沒有再透過Public Key加密了?

2. Session Key是對稱式加密沒錯吧? 所以我只要取得Session Key我就可以自行解開加密,進而看到資料內容 對嗎?
文章關鍵字
1. 當雙方都知道 session key 之後,就沒有必要一直重複把 session key 再丟給對方
因此之後的連線都不會再傳送 session key 的資訊

2. 理論上是,但是若用竊聽的方法,只能獲得被 public key 加密過的 session key,仍然沒用
目前較有名的方法就是中間人攻擊,而憑證就是用來防範這種攻擊的
mhhuang wrote:
1. 當雙方都知道 ...(恕刪)


那想確認一個問題,如果之後的傳送的資料已經沒有透過Session Key加密了,那這些資料是沒經過加密傳送嗎?又或者是用什麼方式加密傳送呢?
prottos2003 wrote:
那想確認一個問題,如...(恕刪)


之後傳送的資料還是有加密啊
只是因為雙方都知道密碼,不需要再一直交換密碼
就像兩個人如果想互相用 email 交換檔案,又不想被中間的人看到
他們可以用 rar 先加密之後再寄
只要事先說好密碼是什麼,之後 email 裡面就不用再提到密碼了

mhhuang wrote:
之後傳送的資料還是有...(恕刪)


那請問這個運作方式是否與SSH 相同
只有差在SSH Server 的Public Key沒有給第三方憑證中心簽屬憑證嗎?
prottos2003 wrote:
那請問這個運作方式是...(恕刪)


應該是應用方式不同吧.
SSL 是用在 Layer (參考 ISO OSI 七層)
SSH 是用在 shell

加密原理我覺得很雷同.
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!