HTTPS基本工作過程:HTTPS只是HTTP的基礎上引入加密機制
1.引入對稱加密
首先,什么是對稱加密和非對稱加密?
對稱加密:使用同一把密鑰加密解密
非對稱加密:有兩把密鑰,為公鑰(公開的)和私鑰(私密的),分別用于加密和解密。
由于http是明文傳輸,有不安全性,所以https引入加密,來確保信息安全。
2.傳輸對稱密鑰給服務器
不同的客戶端和服務器應該有不同的密鑰,所以這里的密鑰應該由客戶端定義再傳給服務器。
但是密鑰明文傳輸被中間人竊取的話,加密也毫無意義,所以引入非對稱加密來傳輸密鑰。
3.引入非對稱加密,對要傳輸的密鑰進行加密。客戶端持有公鑰,服務器持有私鑰。
客戶端使用服務器的公鑰(非對稱加密中的公鑰)將生成的會話密鑰加密。
加密后,將密文發送給服務器。
服務器用其私鑰(對應公鑰)解密,獲得會話密鑰。
4.中間人攻擊
如果沒有額外保護,攻擊者可能劫持或篡改密鑰的傳輸過程,進行中間人攻擊(MITM),獲取或篡改會話密鑰,從而竊取或偽造數據。
5.避免中間人攻擊,引入證書機制。
為防止中間人攻擊,服務器會擁有由權威機構(CA,證書頒發機構)簽發的數字證書。?
這個證書包含:機構信息證書的有效期、服務器的公鑰、由CA的私鑰簽名(數字簽名)等
數字簽名有校驗和和非對稱加密生成
客戶端在連接過程中,會驗證這個證書的簽名是否合法(通過CA的公共密鑰進行驗證)。
這樣,客戶端可以確認連接的確實是目標服務器,而不是中間人。
由此,HTTPS通過非對稱加密確保密鑰安全傳輸,結合對稱加密提升通信效率,同時用證書機制防止中間人攻擊,保障通信的安全性。