一張圖告訴你爲何HTTPS是安全的

爲何要有HTTPS

在HTTPS出現以前,全部請求都是以明文方式送出的,那麼若是有人在傳輸途中偷聽或者抓包的話,你的全部通訊內容都會泄漏。
比較安全的方法是將通訊內容加密在發送給對方。加密方法有兩種,對稱加密非對稱加密web

對稱加密

對稱加密指的是加密和解密用同一個密鑰。
可是在通訊以前,客戶端和服務端是不會有這樣同一把密鑰的。須要其中一方將密鑰發送給對方。
在整個傳輸過程沒有任何驗證操做,因此黑客也能夠截取到這把密鑰從而破譯出加密的內容。
因此純對稱加密是不安全的。瀏覽器

非對稱加密

非對稱加密指的是加密和解密用不一樣的密鑰。能夠是用私鑰加密,公鑰解密,也能夠是用公鑰加密,私鑰解密。
可是會有這種狀況。 服務端擁有私鑰和公鑰,將公鑰發給客戶端。
既然客戶端能夠得到公鑰,黑客也能夠得到公鑰。那麼服務端發送給客戶端的全部內容黑客也是能夠解讀的。
客戶端用公鑰加密發送給服務端不受影響,由於黑客手上沒有服務器的私鑰。
因此純非對稱加密也是不安全的。安全

傳輸密鑰的過程

登場人物介紹

圖解傳輸密鑰的過程

HTTPS採用對稱加密來加密通訊內容,所用的密鑰稱爲A。用非對稱加密來加密密鑰A再發送給對方(有點繞)。只要密鑰A不落入他人手中,那傳輸的數據就不會被別人破譯。服務器

那麼問題來了,要如何安全的將這把密鑰送到對方手上呢?ide

咱們來看密鑰的傳輸過程 web安全

爲何HTTPS是可靠的?

HTTPS是可靠的,由於它解決了三個問題。網站

  1. 加密通訊,即便別人獲取到了信息也無法復原成原來的信息。
  2. 防止中間人攻擊。黑客無法冒充服務端。由於在第2步,服務端給了客戶端一個CA證書。
  • 若是客戶端驗證了這個證書,說明這個證書和公鑰是由服務端發來的且真實可靠。
  • 若是客戶端驗證不了這個證書,就說明這個證書不可靠,有多是假的。
  1. CA證書的公信力。CA證書須要由公司或者我的發出申請,再經過郵箱驗證等方法驗證域名存在。避免了黑客冒充網站獲取證書的可能。
    在技術層面上,CA機構的公鑰是寫在操做系統或者瀏覽器裏的。只有用CA機構的私鑰加密的內容才能完成解密。確保了證書的確是CA機構發行的。

密鑰的做用

最後讓咱們再來回顧一下每一把密鑰的做用 加密

參考資料
【web安全3】【硬核】HTTPS原理全解析操作系統

相關文章
相關標籤/搜索