扯一扯http、https單向認證和雙向認證

HTTP(HyperText Transfer Protocol,超文本傳輸協議)被用於在Web瀏覽器和網站服務器之間傳遞信息,在TCP/IP中處於應用層。這裏提一下TCP/IP的分層:
共分爲四層:應用層、傳輸層、網絡層、數據鏈路層
分層的目的是:分層能夠解耦,動態替換層內協議
應用層:向用戶提供應用服務時的通訊活動(ftp,dns,http)
傳輸層:網絡連接中兩臺計算機的數據傳輸(tcp、udp)
網絡層:處理網絡上流動的數據包,通過怎樣的傳輸路徑把數據包傳送給對方(ip)
數據鏈路層:與硬件相關的網卡、設備驅動等等

然而HTTP也有以下明顯缺點:

  1. 通信使用明文,內容可能被竊聽
  2. 不驗證通信方的身份,因此有可能遭遇僞裝
  3. 無法證明報文的完整性,所以有可能遭到篡改

這樣,HTTP就登場了。HTTPS中的S表示SSL或者TLS,就是在原http的基礎上加上一層用於數據加密、解密、身份認證的安全層,即

  • HTTP + 加密 + 認證 + 完整性保護 = HTTPS

現在來看看HTTPS是如何怎麼做到這一些。
先來看看單向認證的過程:
在這裏插入圖片描述
從上圖可以看出,服務端擁有一對非對稱密鑰:B_公鑰和B_私鑰。

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章