這裡做個筆記,看了網路上的一些資料後自己理解的https協議的工作原理。
先來說下對稱加密和非對稱加密,對稱加密就是當在對資訊進行加密和解密時使用的秘鑰是同一個秘鑰,對稱加密的優點是效率高但是相對不安全;非對稱加密秘鑰分為公鑰和私鑰,我們可以使用私鑰加密用公鑰解密,當然也可以使用公鑰加密使用私鑰解密,非對稱加密的優點就是要比對稱加密安全,但是效率要低。
客戶端與伺服器之間的通訊是使用非對稱加密和對稱加密相結合的方式進行的,即先使用非對稱加密的方式來協商對稱加密的加密秘鑰,然後再使用對稱加密的方式來進行訊息的傳輸。這樣既保證了資訊的安全性又解決了資訊傳輸時解密資訊所帶來的效率問題。
為了保證在傳遞加密公鑰的過程中不會別黑客劫持而導致資訊被篡改,所有這裡需要一個CA機構來保證加密公鑰的正確性。一般的過程:
1.網站的管理員向CA服務商申請伺服器密碼金(公鑰和私鑰)
2.客戶端請求伺服器取得公鑰,並使用CA機構預置在客戶端的CA根憑證來驗證伺服器公鑰是否正確,是否在有效期內等等
3.如果驗證伺服器公鑰沒有問題,客戶端產生一個用來對稱加密的秘鑰並使用伺服器公鑰加密,並發送給伺服器端
4.服務端接收到被加密的秘鑰後使用私鑰解密,並得到實際的對稱加密的秘鑰值,然後使用對稱加密的方式加密之後要傳輸的信息
5.客戶端接收到資訊後使用對稱加密秘鑰解密,獲取到伺服器傳輸的實際資訊內容
以上便是透過書籍整理所得,希望對大家有幫助,若有錯誤請指出,以免誤導大家。
更多相關問題請造訪PHP中文網:PHP影片教學
以上是關於Https原理的個人理解分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!