<address id="r9vd9"><address id="r9vd9"><listing id="r9vd9"></listing></address></address>

      歡迎您光臨深圳塔燈網絡科技有限公司!
      電話圖標 余先生:13699882642

      網站百科

      為您解碼網站建設的點點滴滴

      HTTP協議(二):HTTPS

      發表日期:2018-09 文章編輯:小燈 瀏覽次數:2563

      HTTPS 協議(HyperText Transfer Protocol over Secure Socket Layer):可以理解為HTTP+SSL/TLS, 即 HTTP下加入 SSL 層,HTTPS的安全基礎是 SSL,因此加密的詳細內容就需要 SSL,用于安全的 HTTP 數據傳輸。

      HTTPS和HTTP的區別

      • HTTPS協議需要到CA申請證書,一般免費證書較少,因而需要一定費用。
      • HTTP是超文本傳輸協議,信息是明文傳輸,HTTPS則是具有安全性的SSL加密傳輸協議。
      • HTTPHTTPS使用的是完全不同的連接方式,用的端口也不一樣,前者是80,后者是443。
      • HTTP的連接很簡單,是無狀態的;HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網絡協議,比HTTP協議安全。

      HTTP的不足

      • 竊聽風險:黑客可以獲知通信內容。
      • 篡改風險:黑客可以修改通信內容。
      • 冒充風險:黑客可以冒充他人身份參與通信。

      SSL

      SSLSecure Socket Layer,安全套接字層):1994年為 Netscape 所研發,SSL 協議位于 TCP/IP協議與各種應用層協議之間,為數據通訊提供安全支持。

      TLS

      TLSTransport Layer Security):其前身是SSL,它最初的幾個版本(SSL 1.0SSL 2.0、SSL 3.0)由網景公司開發,1999年從 3.1開始被IETF 標準化并改名,發展至今已經有 TLS 1.0、TLS 1.1TLS 1.2 三個版本。SSL3.0TLS1.0由于存在安全漏洞,已經很少被使用到。TLS 1.3改動會比較大,目前還在草案階段,目前使用最廣泛的是TLS 1.1、TLS 1.2。

      加密算法

      對稱加密

      對稱加密算法非常簡單,只要加密方和解密方都擁有同一密鑰(可為128192,256 bit大小的密鑰,密鑰越長,加密解密時間越長,解密難度也越高),即可完成加密解密過程,且假設無法強制對加密過的明文進行解密。

      非對稱加密

      加密使用的密鑰和解密使用的密鑰是不相同的,分別稱為:公鑰、私鑰,公鑰和算法都是公開的,私鑰是保密的。非對稱加密算法性能較低,但是安全性超強,由于其加密特性,非對稱加密算法能加密的數據長度也是有限的。例如:RSA、DSAECDSA、 DHECDHE。

      哈希算法

      將任意長度的信息轉換為較短的固定長度的值,通常其長度要比信息小得多,且算法不可逆。例如:MD5SHA-1、SHA-2SHA-256 等。

      數字簽名

      簽名就是在信息的后面再加上一段內容(信息經過hash后的值),可以證明信息沒有被修改過。hash值一般都會加密后(也就是簽名)再和信息一起發送,以保證這個hash值不被修改。

      HTTP 向 HTTPS 演化的過程

      第一步:對傳輸的信息加密

      對稱加密

      此種方式屬于對稱加密,雙方擁有相同的密鑰,信息得到安全傳輸,但此種方式的缺點是:

      • 不同的客戶端、服務器數量龐大,所以雙方都需要維護大量的密鑰,維護成本很高。
      • 因每個客戶端、服務器的安全級別不同,密鑰極易泄露。

      第二步:非對稱加密

      非對稱性加密

      客戶端用公鑰對請求內容加密,服務器使用私鑰對內容解密,反之亦然,但上述過程也存在缺點:

      • 公鑰是公開的(也就是黑客也會有公鑰),所以第 ④ 步私鑰加密的信息,如果被黑客截獲,其可以使用公鑰進行解密,獲取其中的內容。

      第三步:對稱加密,非對稱加密兩者結合

      對稱加密,非對稱加密兩者結合
      • 第 ③ 步時,客戶端說:(咱們后續回話采用對稱加密吧,這是對稱加密的算法和對稱密鑰)這段話用公鑰進行加密,然后傳給服務器。
      • 服務器收到信息后,用私鑰解密,提取出對稱加密算法和對稱密鑰后,服務器說:(好的)對稱密鑰加密。
      • 后續兩者之間信息的傳輸就可以使用對稱加密的方式了。
      遇到的問題
      • 客戶端如何獲得公鑰?
      • 如何確認服務器是真實的而不是黑客?

      第四步:獲取公鑰與確認服務器身份

      設想
      • 提供一個下載公鑰的地址,回話前讓客戶端去下載。(缺點:下載地址有可能是假的;客戶端每次在回話前都先去下載公鑰也很麻煩)。
      • 回話開始時,服務器把公鑰發給客戶端(缺點:黑客冒充服務器,發送給客戶端假的公鑰)。
      SSL 證書
      SSL
      • 在第 ② 步時服務器發送了一個SSL證書給客戶端,SSL證書中包含的具體內容有:
        • 證書的發布機構CA
        • 證書的有效期
        • 公鑰
        • 證書所有者
        • 簽名
      瀏覽器認證

      客戶端在接受到服務端發來的SSL證書時,會對證書的真偽進行校驗,以瀏覽器為例說明如下

      • 首先瀏覽器讀取證書中的證書所有者、有效期等信息進行一一校驗。
      • 瀏覽器開始查找操作系統中已內置的受信任的證書發布機構CA,與服務器發來的證書中的頒發者CA比對,用于校驗證書是否為合法機構頒發。
      • 如果找不到,瀏覽器就會報錯,說明服務器發來的證書是不可信任的。
      • 如果找到,那么瀏覽器就會從操作系統中取出 頒發者CA的公鑰,然后對服務器發來的證書里面的簽名進行解密。
      • 瀏覽器使用相同的hash算法計算出服務器發來的證書的hash值,將這個計算的hash值與證書中簽名做對比。
      • 對比結果一致,則證明服務器發來的證書合法,沒有被冒充。
      • 此時瀏覽器就可以讀取證書中的公鑰,用于后續加密了。

      HTTPS 缺點:

      • SSL證書費用很高,以及其在服務器上的部署、更新維護非常繁瑣。
      • HTTPS 降低用戶訪問速度(多次握手)。
      • 網站改用HTTPS以后,由HTTP跳轉到HTTPS的方式增加了用戶訪問耗時(多數網站采用302跳轉)。
      • HTTPS涉及到的安全算法會消耗 CPU 資源,需要增加大量機器(HTTPS訪問過程需要加解密)。

      HTTPS 的工作流程

      客戶端在使用HTTPS方式與Web服務器通信時有以下幾個步驟:

      HTTPS 的工作流程

      • 客戶使用HTTPSURL訪問Web服務器,要求與Web服務器建立SSL連接。
      • Web服務器收到客戶端請求后,會將網站的證書信息(證書中包含公鑰)傳送一份給客戶端。
      • 客戶端的瀏覽器與Web服務器開始協商SSL連接的安全等級,也就是信息加密的等級。
      • 客戶端的瀏覽器根據雙方同意的安全等級,建立會話密鑰,然后利用網站的公鑰將會話密鑰加密,并傳送給網站。
      • Web服務器利用自己的私鑰解密出會話密鑰。
      • Web服務器利用會話密鑰加密與客戶端之間的通信。

      參考文章

      【HTTP】HTTPS 原理詳解
      看圖學HTTPS
      HTTPS 的故事
      白話https
      手把手HTTPS


      本頁內容由塔燈網絡科技有限公司通過網絡收集編輯所得,所有資料僅供用戶學習參考,本站不擁有所有權,如您認為本網頁中由涉嫌抄襲的內容,請及時與我們聯系,并提供相關證據,工作人員會在5工作日內聯系您,一經查實,本站立刻刪除侵權內容。本文鏈接:http://www.webpost.com.cn/20439.html
      相關開發語言
       八年  行業經驗

      多一份參考,總有益處

      聯系深圳網站公司塔燈網絡,免費獲得網站建設方案及報價

      咨詢相關問題或預約面談,可以通過以下方式與我們聯系

      業務熱線:余經理:13699882642

      Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.    

      • QQ咨詢
      • 在線咨詢
      • 官方微信
      • 聯系電話
        座機0755-29185426
        手機13699882642
      • 預約上門
      • 返回頂部
      国产成人精品综合在线观看