公鑰:所有人都知道
私鑰:只有伺服器自己知道
公鑰加密資料,私鑰解密: 只要能解密這個資料就代表是服務端
私鑰加密,公鑰解密: 所有人都可以知道,但是沒人能對解析出來的資料「二次偽造」,因為私鑰只存在在服務端
1、客戶端獲取伺服器公鑰以及加密演算法
2、客戶端 => 服務端 客戶端用公鑰加密乙個隨機數rd,加密結果為str(沒有私鑰解密不了)
3、服務端 => 客戶端 解析str,將rd的結果返回給客戶端(私鑰加密,有了公鑰就可以以解析)
4、客戶端校驗rd,通過,此時利用對稱加密,生成乙個金鑰以及加密演算法
5、客戶端 => 客戶端 將上述金鑰&加密演算法利用公鑰加密(沒有私鑰解密不了)
6、服務端 解析金鑰&加密演算法,此時可以正常通訊
7、服務端 => 客戶端 利用金鑰&加密演算法,返回客戶端ok
8、可以開始愉快的通訊了
1、如何確認是伺服器的公鑰?畢竟這個是最基礎的東西?
答:證書。由三方可信的機構頒發的證書
2&3、返回的rd是所有人都可以解析的。如果這個rd很簡單的話,那麼中間人會不會破解這個"金鑰"?
答:有這個理論可能,但是一般服務端返回的一般都是hash(rd),所以中間人解析也一臉懵,而客戶端解析到這個資料可以自己對rd加密比較結果,判斷是否是伺服器傳送的訊息。
HTTPS那些事(一)HTTPS原理
楔子 謠言粉碎機前些日子發布的 用公共wifi上網會危害銀行賬戶安全嗎?文中介紹了在使用https進行網路加密傳輸的一些情況,從回覆來看,爭議還是有的。隨著網路越來越普及,應用越來越廣泛,一些網路安全問題也會越來越引起網民的關注,在這裡和大家一起聊聊tls ssl也就是我們常說的https,從原理到...
HTTP與HTTPS握手的那些事
前提 在講述這兩個握手時候,有一些東西需要提前說明。http與tcp ip區別?tpc ip協議是傳輸層協議,主要解決資料如何在網路中傳輸,而http是應用層協議,主要解決如何包裝資料。web使用http協議作應用層協議,以封裝http 文字資訊,然後使用tcp ip做傳輸層協議將它發到網路上。下面...
HTTP與HTTPS握手的那些事
前提 在講述這兩個握手時候,有一些東西需要提前說明。http與tcp ip區別?tpc ip協議是傳輸層協議,主要解決資料如何在網路中傳輸,而http是應用層協議,主要解決如何包裝資料。web使用http協議作應用層協議,以封裝http 文字資訊,然後使用tcp ip做傳輸層協議將它發到網路上。下面...