Https單向認證和雙向認證介紹

2022-04-17 18:21:08 字數 1659 閱讀 4020

hypertext transfer protocol,超文字傳輸協議,是網際網路上使用最廣泛的一種協議,所有www檔案必須遵循的標準。http協議傳輸的資料都是未加密的,也就是明文的,因此使用http協議傳輸隱私資訊非常不安全。

使用tcp埠為:80

hyper text transfer protocol over secure socket layer,安全的超文字傳輸協議,網景公式設計了ssl(secure sockets layer)協議用於對http協議傳輸的資料進行加密,保證會話過程中的安全性。

使用tcp埠預設為443

ssl協議即用到了對稱加密也用到了非對稱加密(公鑰加密),在建立傳輸鏈路時,ssl首先對對稱加密的金鑰使用公鑰進行非對稱加密,鏈路建立好之後,ssl對傳輸內容使用對稱加密。

對稱加密 

速度高,可加密內容較大,用來加密會話過程中的訊息

公鑰加密 

加密速度較慢,但能提供更好的身份認證技術,用來加密對稱加密的金鑰

https在建立socket連線之前,需要進行握手,具體過程如下:

客戶端向服務端傳送ssl協議版本號、加密演算法種類、隨機數等資訊。

服務端給客戶端返回ssl協議版本號、加密演算法種類、隨機數等資訊,同時也返回伺服器端的證書,即公鑰證書

客戶端使用服務端返回的資訊驗證伺服器的合法性,包括:

驗證通過後,將繼續進行通訊,否則,終止通訊

客戶端向服務端傳送自己所能支援的對稱加密方案,供伺服器端進行選擇

伺服器端在客戶端提供的加密方案中選擇加密程度最高的加密方式。

伺服器將選擇好的加密方案通過明文方式返回給客戶端

客戶端接收到服務端返回的加密方式後,使用該加密方式生成產生隨機碼,用作通訊過程中對稱加密的金鑰,使用服務端返回的公鑰進行加密,將加密後的隨機碼傳送至伺服器

伺服器收到客戶端返回的加密資訊後,使用自己的私鑰進行解密,獲取對稱加密金鑰。 

在接下來的會話中,伺服器和客戶端將會使用該密碼進行對稱加密,保證通訊過程中資訊的安全。

雙向認證和單向認證原理基本差不多,只是除了客戶端需要認證服務端以外,增加了服務端對客戶端的認證,具體過程如下:

客戶端向服務端傳送ssl協議版本號、加密演算法種類、隨機數等資訊。

服務端給客戶端返回ssl協議版本號、加密演算法種類、隨機數等資訊,同時也返回伺服器端的證書,即公鑰證書

客戶端使用服務端返回的資訊驗證伺服器的合法性,包括:

驗證通過後,將繼續進行通訊,否則,終止通訊

服務端要求客戶端傳送客戶端的證書,客戶端會將自己的證書傳送至服務端

驗證客戶端的證書,通過驗證後,會獲得客戶端的公鑰

客戶端向服務端傳送自己所能支援的對稱加密方案,供伺服器端進行選擇

伺服器端在客戶端提供的加密方案中選擇加密程度最高的加密方式

將加密方案通過使用之前獲取到的公鑰進行加密,返回給客戶端

客戶端收到服務端返回的加密方案密文後,使用自己的私鑰進行解密,獲取具體加密方式,而後,產生該加密方式的隨機碼,用作加密過程中的金鑰,使用之前從服務端證書中獲取到的公鑰進行加密後,傳送給服務端

服務端收到客戶端傳送的訊息後,使用自己的私鑰進行解密,獲取對稱加密的金鑰,在接下來的會話中,伺服器和客戶端將會使用該密碼進行對稱加密,保證通訊過程中資訊的安全。

Https單向認證和雙向認證

原文url 公鑰加密 加密速度較慢,但能提供更好的身份認證技術,用來加密對稱加密的金鑰 服務端給客戶端返回ssl協議版本號 加密演算法種類 隨機數等資訊,同時也返回伺服器端的證書,即公鑰證書 客戶端使用服務端返回的資訊驗證伺服器的合法性,包括 驗證通過後,將繼續進行通訊,否則,終止通訊 客戶端向服務...

Https單向認證和雙向認證

公鑰加密 加密速度較慢,但能提供更好的身份認證技術,用來加密對稱加密的金鑰 服務端給客戶端返回ssl協議版本號 加密演算法種類 隨機數等資訊,同時也返回伺服器端的證書,即公鑰證書 客戶端使用服務端返回的資訊驗證伺服器的合法性,包括 驗證通過後,將繼續進行通訊,否則,終止通訊 客戶端向服務端傳送自己所...

https單向認證和雙向認證區別

關於證書 1 每個人都可以使用一些證書生成工具為自己的https站點生成證書 比如jdk的keytool 大家稱它為 自簽名證書 但是自己生成的證書是不被網際網路承認的,所以瀏覽器會報安全提示,要求你手動安裝證書。只有通過權威的ca機構付費獲得的證書才能被網際網路承認 有點類似於根域伺服器的權威機構...