簡述http/https加密和認證方式

加密
• 共享/對稱密鑰加密:客戶端和服務端使用相同的密鑰加密,缺陷:發送密鑰有被竊聽的風險,但不發送,對方就不能解密。若是密鑰可以安全發送,那麼數據也能安全送達,就無需加密。
• 公開密鑰加密:非對稱加密,一把私鑰,一把公鑰,成對。首先,發送公鑰給加密方,發送密文一方使用對方的公鑰進行加密,對方收到密文後,使用本身的私鑰進行解密。
• 混合加密:使用公開密鑰加密方式傳遞共享密鑰,再使用共享密鑰加密傳遞的數據瀏覽器

證書的正確性:CA(數字認證機構)頒發的公開密鑰證書
• 服務器把本身的公鑰登陸至CA進行認證;
• CA機構使用本身的私鑰給服務器的公鑰署數字簽名並頒發公鑰證書;
• 客戶端拿到服務器的公鑰證書後,使用數字證書認證機構的公開密鑰(事先植入到瀏覽器客戶端),向數字證書認證機構驗證公鑰證書上的數字簽名,以確認服務器的公開密鑰的真實性;
• 使用服務器的公開密鑰對報文加密併發送
服務器使用本身的私有密鑰進行解密安全

SSL/TLS握手協議:
• 客戶端給出協議版本號,一個隨機數(client random),以及客戶端支持的加密方式;
• 服務端確認雙方使用的加密方式,並給出數字證書,以及一個服務器生成的隨機數(server random);
• 客戶端確認證書有效,而後生成一個新的隨機數(premaster secret),並使用數字證書的公鑰加密這個隨機數,發送給服務端;
• 服務端使用本身的私鑰,得到客戶端發送的隨機數(premaster secret);
• 客戶端和服務端,根據約定的加密方式,使用前面的三個隨機數,生成一個對話密鑰(session key),及共享密鑰,而後使用該密鑰加密整個數據交互過程。服務器

相關文章
相關標籤/搜索