標籤:演算法 不同 認證 方案 文本 訪問 搜尋引擎 返回 購物網站
什麼是 HTTPS?HTTPS (基於超文字安全傳輸通訊協定 (HTTPS) 或者是 HTTP over SSL) 是一個 Netscape 開發的 Web 協議。你也可以說:HTTPS = HTTP + SSLHTTPS 在 HTTP 應用程式層的基礎上使用安全通訊端層作為子層。為什麼需要 HTTPS ?超文字傳輸通訊協定 (HTTP) (HTTP) 是一個用來通過互連網傳輸和接收資訊的協議。HTTP 使用請求/響應的過程,因此資訊可在伺服器間快速、輕鬆而且精確的進行傳輸。當你訪問 Web 頁面的時候你就是在使用 HTTP 協議,但 HTTP 是不安全的,可以輕鬆對竊聽你跟 Web 服務器之間的資料轉送。在很多情況下,客戶和伺服器之間傳輸的是敏感歇息,需要防止未經授權的訪問。為了滿足這個要求,網景公司(Netscape)推出了HTTPS,也就是基於安全通訊端層的 HTTP 協議。HTTP 和 HTTPS 的相同點大多數情況下,HTTP 和 HTTPS 是相同的,因為都是採用同一個基礎的協議,作為 HTTP 或 HTTPS 用戶端——瀏覽器,設立一個串連到 Web 服務器指定的連接埠。當伺服器接收到請求,它會返回一個狀態代碼以及訊息,這個回應可能是請求資訊、或者指示某個錯誤發送的錯誤資訊。系統使用統一資源定位器 URI 模式,因此資源可以被唯一指定。而 HTTPS 和 HTTP 唯一不同的只是一個協議頭(https)的說明,其他都是一樣的。HTTP 和 HTTPS 的不同之處
- HTTP 的 URL 以 http:// 開頭,而 HTTPS 的 URL 以 https:// 開頭
- HTTP 是不安全的,而 HTTPS 是安全的
- HTTP 標準連接埠是 80 ,而 HTTPS 的標準連接埠是 443
- 在 OSI 網路模型中,HTTP 工作於應用程式層,而 HTTPS 工作在傳輸層
- HTTP 無需加密,而 HTTPS 對傳輸的資料進行加密
- HTTP 無需認證,而 HTTPS 需要認證認證
HTTPS 如何工作?使用 HTTPS 串連時,伺服器要求有公開金鑰和簽名的認證。當使用 https 串連,伺服器響應初始串連,並提供它所支援的加密方法。作為回應,用戶端選擇一個串連方法,並且用戶端和伺服器端交換認證驗證彼此身份。完成之後,在確保使用相同密鑰的情況下傳輸加密資訊,然後關閉串連。為了提供 https 串連支援,伺服器必須有一個密鑰憑證,該認證包含經過認證機構認證的密鑰資訊,大部分認證都是通過第三方機構授權的,以保證認證是安全的。換句話說,HTTPS 跟 HTTP 一樣,只不過增加了 SSL。HTTP 包含如下動作:
- 瀏覽器開啟一個 TCP 串連
- 瀏覽器發送 HTTP 要求到伺服器端
- 伺服器發送 HTTP 回應資訊到瀏覽器
- TCP 串連關閉
SSL 包含如下動作:
- 驗證伺服器端
- 允許用戶端和伺服器端選擇密碼編譯演算法和密碼,確保雙方都支援
- 驗證用戶端(可選)
- 使用公開金鑰加密技術來產生共用加密資料
- 建立一個加密的 SSL 串連
- 基於該 SSL 串連傳遞 HTTP 要求
什麼時候該使用 HTTPS?銀行網站、支付網關、購物網站、登入頁、電子郵件以及一些企業部門的網站應該使用 HTTPS,例如:
- PayPal: https://www.paypal.com
- Google AdSense: https://www.google.com/adsense/
如果某個網站要求你填寫信用卡資訊,首先你要檢查該網頁是否使用 https 加密串連,如果沒有,那麼請不要輸入任何敏感資訊如信用卡號。瀏覽器整合多數瀏覽器在收到一個無效認證的時候都會顯示警告資訊,而一些老的瀏覽器會彈出對話方塊讓使用者選擇是否繼續瀏覽。新的瀏覽器一般在整個視窗顯示橫幅的警告資訊,同時在地址欄上顯示該網站的安全資訊。如果網站中包含加密和非加密的混合內容,多數瀏覽器會提示警告資訊。HTTPS的優點 儘管HTTPS並非絕對安全,掌握根憑證的機構、掌握密碼編譯演算法的組織同樣可以進行中間人形式的攻擊,但HTTPS仍是現行架構下最安全的解決方案,主要有以下幾個好處: (1)使用HTTPS協議可認證使用者和伺服器,確保資料發送到正確的客戶機和伺服器; (2)HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網路通訊協定,要比http協議安全,可防止資料在傳輸過程中不被竊取、改變,確保資料的完整性。 (3)HTTPS是現行架構下最安全的解決方案,雖然不是絕對安全,但它大幅增加了中間人攻擊的成本。 (4)Google曾在2014年8月份調整搜尋引擎演算法,並稱“比起同等HTTP網站,採用HTTPS加密的網站在搜尋結果中的排名將會更高”。HTTPS的缺點 雖然說HTTPS有很大的優勢,但其相對來說,還是存在不足之處的: (1)HTTPS協議握手階段比較費時,會使頁面的載入時間延長近50%,增加10%到20%的耗電; (2)HTTPS串連緩衝不如HTTP高效,會增加資料開銷和功耗,甚至已有的安全措施也會因此而受到影響; (3)SSL認證需要錢,功能越強大的認證費用越高,個人網站、小網站沒有必要一般不會用。 (4)SSL認證通常需要綁定IP,不能在同一IP上綁定多個網域名稱,IPv4資源不可能支撐這個消耗。 (5)HTTPS協議的加密範圍也比較有限,在駭客攻擊、拒絕服務的攻擊、伺服器劫持等方面幾乎起不到什麼作用。最關鍵的,SSL認證的信用鏈體系並不安全,特別是在某些國家可以控制CA根憑證的情況下,中間人攻擊一樣可行。http切換到HTTPS 如果需要將網站從http切換到https到底該如何?呢? 這裡需要將頁面中所有的連結,例如js,css,圖片等等連結都由http改為https。例如:http://www.baidu.com改為https://www.baidu.com BTW,這裡雖然將http切換為了https,還是建議保留http。所以我們在切換的時候可以做http和https的相容,具體實現方式是,去掉頁面連結中的http頭部,這樣可以自動匹配http頭和https頭。例如:將http://www.baidu.com改為//www.baidu.com。然後當使用者從http的入口進入訪問頁面時,頁面就是http,如果使用者是從https的入口進入訪問頁面,頁面即使https的。
HTTP與HTTPS的區別