升級 HTTPS,價值何在?
HTTPS 實質上是一種面向安全信息通訊的協議。從最終的數據解析的角度上看,HTTPS 與 HTTP 沒有本質上的區別。對於接收端而言,SSL/TSL 將接收的數據包解密,將數據傳給 HTTP 協議層,就造成了 HTTP 數據。而 HTTPS 則是將 HTTP 數據包經過 SSL/TSL 層加密, 從而保證傳輸數據的安全性。
SSL/TSL 是一個分層協議,共有兩層組成,其中 SSL/TSL 握手協議容許服務方與客戶方互相認證,並在應用層協議傳送數據以前協商出一個加密算法和會話密鑰。SSL/TSL的握手協議主要交換數字證書、隨機數、機密通訊協議這三個信息,以保證訪問的安全。
藉此,HTTPS 可完成如下目標,這也是它基於安全性的主要價值:
l 數據保密性。保證內容在傳輸過程當中不會被第三方查看到,經過非對稱加密及密鑰交換來實現。
l 數據完整性。可及時發現被第三方篡改的傳輸內容,以確保數據的完整性獲得及時維護。
l 身份校驗。保證數據到達用戶指望的目的地,即PKI和數字證書。
這樣就能夠明白爲何 Google 廣告無法投放了:當用戶使用 Safari 瀏覽網頁,若廣告內容不是透過 HTTPS 連線(對絕大多數廣告來講並不須要進行加密),在 iOS 9 將沒法順利執行,也就遭到了屏蔽。
難掩之瑕:HTTPS 兩大弊端
對於企業來講,切換成 HTTPS 的成本並不高,還能夠大幅提高安全性。可仍是有部分互聯網企業不肯意使用它,爲何?這是由於 HTTPS 也有一些不容忽視的弊端存在。
首先,HTTPS 會拖慢訪客初始訪問速度。由上文可見,要作到從 HTTP 到 HTTPS 的轉變,須要屢次計算和交互,SSL 徹底握手致使的延時,證書的狀態檢查等。這些天然影響了 HTTPS 的訪問速度。這是 HTTPS 不被不少公司選擇的主要緣由。
其次,HTTPS 消耗 CPU 的計算能力。這主要發生在握手階段的大數運算,其中密鑰交換時的私鑰解密階段的性能消耗能夠高達整個 SSL 握手性能消耗的 95% 。徹底握手時, web server 的處理能力會下降至 HTTP 的 10% 甚至如下。
以上兩點是 HTTPS 的主要劣勢所在。所以即使它在安全性上具備得天獨厚的價值,不少互聯網企業基於用戶體驗和產品性能的考慮,仍是選擇不用 HTTPS。
選擇 HTTPS,值仍是不值?
所以,說 HTTPS 「瑕不掩瑜」顯然不太公允,由於咱們能夠看到,它的這些弊端很容易「戳中」很多產品的性能側重點。但同時也要看到,針對它的這些劣勢,尤爲是形成訪問延時這方面,已經存在很成熟的優化方法。
百度從 2014 年開始對外開放了 HTTPS 的訪問,以後進行監測分析,發現若是網站什麼優化都不作,HTTPS 明顯慢不少。而若是站點自己已經作過常規優化,可是不針對 HTTPS 作優化,百度實測的結果是 0.2 - 0.4 秒耗時的增長。
所以,企業能夠針對網站作部分優化,具體可分爲如下幾個方面:
首先,咱們能夠在服務器端配置 HSTS ,減小 302 跳轉;設置 ssl session 的共享內存 cache ;配置相同的 session ticket key ,部署在多個服務器上,這樣多個不一樣的服務器也能產生相同的 session ticket;設置 ocsp stapling file,這樣 ocsp 的請求就不會發往 ca 提供的 ocsp 站點,而是發往網站的 webserver。
咱們還能夠優先使用 ecdhe 密鑰交換算法,由於它支持 PFS( perfect forward secrecy ),可以實現 false start;設置 tls record size ,最好是能動態調整 record size ,即鏈接剛創建時 record size 設置成 msg ,鏈接穩定以後能夠將 record size 動態增長。
若是有條件的話,還能夠啓用 tcp fast open。或者啓用 SPDY,這樣會明顯提高 HTTPS 速度,甚至比 HTTP 還要快。在無線 WIFI 環境下, SPDY 比 HTTP 要快 50ms 左右,3G 環境下比 HTTP 要快 250ms。
這些方法,能夠從 HTTPS 運做的各個方面入手來優化訪問速度,下降延遲。固然,這些優化作起來並非一件簡單的事情,但企業大能夠沒必要親自操刀來搞 —— 你能夠選擇接入提供充分優化過的 HTTPS 服務的雲平臺。以 UPYUN 爲例,做爲國內首家提供全節點 HTTPS 訪問(自定義 SSL 服務)的雲 CDN 廠商,UPYUN 支持客戶自主上傳 SSL 證書,開啓徹底自定義的 HTTPS 訪問。
藉此,接入該服務的客戶將享受徹底自主、全網的 HTTPS 加密功能,並與 UPYUN 雲CDN 加速服務相結合,將流經用戶和服務器之間數據進行加密。同時,UPYUN 將支持默認域名 HTTPS 服務和自主域名 HTTPS 服務兩種方式選擇使用,結合客戶實際需求,將「HTTPS + CDN」 整合到客戶產品體系中,實現終端訪問「加密+加速」的服務。
關鍵的一點,UPYUN 自定義 SSL 支持 TLS 協議支持的版本就有蘋果指定的 TLS v 1.2,這讓使用 UPYUN HTTPS 服務的用戶能夠與 iOS 9 系統下的蘋果設備無縫對接。
這樣一來,以 UPYUN 爲表明的提供 HTTPS 服務的雲平臺,讓企業得以一站式地享受 HTTPS 的安全性價值、規避它的性能劣勢。效果等同於用戶自主切換並構建 HTTPS 優化系統,還幫助用戶節省了這兩項工做的成本花費。
不管選擇哪一種途徑,針對性的優化都會最大限度地消除 HTTPS 兩大弊端對用戶體驗及產品性能的消極影響,從而凸顯它傑出的安全性價值。在這個前提下,結合數據安全對於企業發展的重要性,以及快速搶佔 iOS 新市場的意義,咱們能夠得出這樣一個結論:選擇 HTTPS ,絕對是值得的。
固然,不少人會說現在市場上的https證書市場繁雜,種類繁多,其實不用擔憂,主要選擇你只弄清楚你須要使用的證書類型,而且描述給https證書相關人士他們 就會給你最好最安全的建議,服務貼心,技術專業,徹底沒有後顧之憂。易維信在這裏作的一些小科普但願能夠幫助到你們web