HTTPS是怎麼加密資料的?

1718553521發表於2023-03-11

HTTPS是怎麼加密資料的?對安全或密碼學基礎有了解的同學,應該知道常見的加密手段。一般來說,加密分為對稱加密、非對稱加密(也叫公開金鑰加密)


對稱加密

對稱加密的意思就是,加密資料用的金鑰,跟解密資料用的金鑰是一樣的。


對稱加密的優點在於加密、解密效率通常比較高。缺點在於,資料傳送方、資料接收方需要協商、共享同一把金鑰,並確保金鑰不洩露給其他人。此外,對於多個有資料交換需求的個體,兩兩之間需要分配並維護一把金鑰,這個帶來的成本基本是不可接受的。


非對稱加密

非對稱加密的意思就是,加密資料用的金鑰(公鑰),跟解密資料用的金鑰(私鑰)是不一樣的。


什麼叫做公鑰呢?其實就是字面上的意思——公開的金鑰,誰都可以查到。因此非對稱加密也叫做公開金鑰加密。相對應的,私鑰就是非公開的金鑰,一般是由網站的管理員持有。


公鑰、私鑰兩個有什麼聯絡呢?簡單的說就是,透過公鑰加密的資料,只能透過私鑰解開。透過私鑰加密的資料,只能透過公鑰解開。


很多同學都知道用私鑰能解開公鑰加密的資料,但忽略了一點,私鑰加密的資料,同樣可以用公鑰解密出來。而這點對於理解HTTPS的整套加密、授權體系非常關鍵。

那麼,HTTPS的整個通訊步驟有哪些呢?


1.請求由客戶端發起。客戶端傳送Client Hello報文開始SSL通訊。報文中包含了SSL的版本,加密元件等資訊。


2.伺服器收到請求會以Server Hello報文作為應答,報文內容和請求時差不多(經過篩選的)。


3.緊接著伺服器再傳送一條Certificate報文,報文中包含了證書。


4.伺服器活還沒幹完,還需要傳送Server Hello Done報文給客戶端,表示SSL握手結束。


5.然後該客戶端會回應一個Client Key Exchange報文,報文包含用步驟3中公鑰加密後的隨機密碼串。


6.接著客戶端繼續傳送Cipher Spec報文,提示伺服器,用步驟5的隨機密碼串作為金鑰加密之後的通訊。


7.然後客戶端傳送Finished報文,表示這次協商結束,是否成功還得看伺服器能不能解密該報文。


8.伺服器沒問題,傳送Change Cipher Spec報文。


9.伺服器傳送Finished。


10.SSL連線完成,接下來使用HTTP進行通訊。


11.最後由客戶端斷開連線。傳送close_notify報文。


我們在選購高防產品時不僅要看重廠商的權威性,也要根據實際情況來決定,當預算不夠時,肯定也只能委曲求全的,一般來說小編會在預算足夠時無腦選擇大廠品牌,他們的業界在業界的權威性是公認的,阿里雲cloud.tencent.com騰訊雲這些都可以,當然還有的像咖啡雲這樣受中小企業青睞的小廠也是很有價效比的。



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69998889/viewspace-2939210/,如需轉載,請註明出處,否則將追究法律責任。

相關文章