為什麼說出現https了就不會發生頁面劫持呢?

最好的問題嗎


https代表安全的超文本傳輸協議,它使用SSL/TLS協議建立加密鏈接,從而確保了數據傳輸的通信安全。https本質上是基於SSL的http,SSL使用SSL證書(也稱為數字證書)建立加密的鏈接。

http與https

http以超文本格式在瀏覽器和Web服務器之間傳輸數據,稍微攔截下就可以知道傳輸的數據內容;而http則以加密形式傳輸數據,即使黑客設法攔截了通信,但由於數據已加密,他們也束手無策,因此,https可防止傳輸數據被讀取或者被修改。



SSL如何運作?

SSL從根本上使用以下概念:非對稱加密和對稱加密。


非對稱加密

在非對稱加密算法中,公鑰和私鑰往往是一對,如果使用公鑰對數據進行加密,那麼只有對應的私鑰才能解密。相對的,如果是使用私鑰加密的數據,只有對應的公鑰才能解密。最常用的非對稱密鑰加密算法包括EIGamal,RSA,DSA,橢圓曲線技術和PKCS。


對稱加密

在對稱密碼學中,只有一個密鑰可以對數據進行加密和解密。發送者和接收者都應具有此密鑰,只有他們才知道。使用最廣泛的對稱算法是AES-128,AES-192和AES-256。


通過SSL進行數據傳輸

SSL協議使用非對稱和對稱加密技術來安全地傳輸數據。下圖說明了SSL通信的步驟:

如上圖所示,瀏覽器與Web服務器(或任何其他兩個系統)之間的SSL通信主要分為兩個步驟:SSL握手和實際數據傳輸。


SSL握手

通過SSL進行的通信始終始於SSL握手。SSL握手是一種非對稱加密,允許瀏覽器在開始實際數據傳輸之前驗證Web服務器,獲取公鑰並建立安全連接。

上圖說明了SSL握手中涉及的步驟:

  1. 客戶端發送“客戶端問候”消息。這包括客戶端的SSL版本號,密碼設置,特定於會話的數據以及服務器使用SSL與客戶端進行通信所需的其他信息。
  2. 服務器以“服務器問候”消息響應。這包括服務器的SSL版本號,密碼設置,特定於會話的數據,帶有公共密鑰的SSL證書以及客戶端通過SSL與服務器進行通信所需的其他信息。
  3. 客戶端從CA(證書頒發機構)驗證服務器的SSL證書並驗證服務器。如果身份驗證失敗,則客戶端將拒絕SSL連接並引發異常。如果認證成功,請繼續執行步驟4。
  4. 客戶端創建會話密鑰,並使用服務器的公共密鑰對其進行加密,然後將其發送到服務器。如果服務器已請求客戶端身份驗證(主要是在服務器到服務器的通信中),則客戶端會將自己的證書發送到服務器。
  5. 服務器使用其私鑰解密會話密鑰,並將確認發送給使用會話密鑰加密的客戶端。

因此,在SSL握手結束時,客戶端和服務器都具有有效的會話密鑰,它們將用於加密或解密實際數據。此後將不再使用公鑰和私鑰。


實際數據傳輸

客戶端和服務器現在使用共享的會話密鑰來加密和解密實際數據並進行傳輸。這是在兩端使用相同的會話密鑰完成的,因此,這是對稱密碼術。實際的SSL數據傳輸使用對稱密碼,因為與非對稱密碼相比,它很容易且佔用的CUP較少。


因此,SSL從根本上使用非對稱密碼學和對稱密碼學工作。在現實生活中實現SSL通信涉及某些基礎架構,稱為“公共密鑰基礎架構”。


總而言之,https通過非對稱加密和對稱加密算法,保證了數據傳輸的可靠性,希望我的回答能夠給大家帶來幫助!


程序員小石同學


http是web服務的一種協議,但是這個協議不安全,所以出現了https,

https是通過ssl/tsl加密傳輸身份認證,因為有ca頒發的證書,所以可以驗證身份,然後通過對稱或者非對稱密鑰的加密,對數據進行保護,防止第三方掉包數據,或者竊聽數據。


科技黑曼巴


https由於安裝了ssl證書,所以能夠在客戶端和服務器端建立一條加密的連接,防止被竊取和劫持。它能確定用戶訪問的是真實的主體,而不是假冒的第三方,區別於釣魚網站。數安時代提供Symantec、GeoTrust、GlobalSign等品牌的SSL證書,申請安裝一站式解決。


分享到:


相關文章: