CDN HTTPS安全加速基本概念、解決方案及優化實踐

大家都知道,HTTP 本身是明文傳輸的,沒有經過任何安全處理,網站HTTPS解決方案通過在HTTP協議之上引入證書服務,完美解決網站的安全問題。本文將爲大家介紹阿里雲CDN HTTPS安全加速傳輸的基礎概念、解決方案、技術優勢和優化實踐。

 

關於HTTPS的那些基本概念

 

需求推進技術革命,互聯網是如此誕生,HTTPS也是這樣。人們有在互聯網上分享和瀏覽信息的需求,所以信息的傳輸技術由此誕生並不斷升級。後來,人們位互聯網上的信息傳輸制定了一些準則,也就是網絡協議HTTP。從最早1991年發佈的HTTP/0.9版本,直到最新的HTTP/2,傳輸速度也在不斷升級。下面,我們來看下關於HTTP都有哪些基本的概念。

 

  • HTTP是什麼?

HTTP是互聯網上應用最爲廣泛的一種網絡協議,是一個客戶端和服務器端請求和應答的標準(TCP),用於從WWW服務器傳輸超文本到本地瀏覽器的傳輸協議,它可以使瀏覽器更加高效,使網絡傳輸減少。

 

  • HTTPS是什麼?

HTTPS是安全超文本傳輸協議,英文全稱:Hyper Text Transfer Protocol over Secure Socket Layer,它是以安全爲目標的HTTP通道,簡單講是HTTP的安全版。它的工作原理是將HTTP用SSL/TLS協議進行封裝,主要作用可以分爲兩種:一種是建立一個信息安全通道,來保證數據傳輸的安全;另一種就是確認網站的真實性。


  • SSL是什麼?

SSL是Secure SocketsLayer的縮寫,它是一個安全套接層。架構於TCP之上的安全通訊協定,它可以有效協助Internet應用軟件提升通訊時的資料完整性以及安全性。後來,標準化之後的SSL名稱改爲 TLS(是“Transport Layer Security”的縮寫),中文叫做“傳輸層安全協議”。很多相關的文章都把這兩者並列稱呼(SSL/TLS),因爲這兩者可以視作同一個東西的不同階段。

 

  • 什麼是握手?

在加密傳輸之前,客戶端和服務器首先必須建立連接和交換參數,校驗通過之後進行協商密鑰和傳輸數據,這個過程叫做握手(handshake)。

 

  • 什麼是加密和解密?

“加密”的過程,就是把“明文”變成“密文”的過程;反之,“解密”的過程,就是把“密文”變爲“明文”。在這兩個過程中,都需要一個關鍵的東西——叫做“密鑰”——來參與數學運算。

 

總結:簡單來說,HTTPS就是HTTP的安全增強版本,是HTTP協議與SSL加密協議的結合,所以也被稱爲HTTP over SSL。

 

爲什麼要使用HTTPS

 

HTTPS概念其實已經提出來好多年了,但直到近兩年,纔開始被主流應用。所以,我們在給大家介紹CDN HTTPS解決方案之前,要先搞清楚,爲什麼要選擇使用HTTPS來替換掉HTTP。

 

第一,HTTPS是更具安全性的傳輸協議,可以防止網站被篡改和劫持,這是最基本的功能。Chrome和Firefox未來將HTTP標記爲不安全的協議。

第二,Apple ATS,要求IOS的 9.0或10.0的版本的APP使用HTTPS傳輸。

第三,主流的瀏覽器已經支持基於TLS的HTTP/2。

第四,Google會給使用了HTTPS的網站進行搜索排名的加權,在鼓勵大家使用。

第五,美英政府的網站官網都已經轉向HTTPS。

 

我們可以看到,從用戶需求到整個行業大趨勢,都是在推送HTTPS的應用。那麼阿里雲CDN HTTPS的解決方案是怎樣的呢?

 

CDN HTTPS解決方案

 

HTTPS能夠有效的防止網站內容被篡改被劫持,加強了網站的安全性。所以在阿里雲CDN內容分發網絡中,我們已經引入HTTPS安全加速解決方案。


舉個例子,在一個具有兩級節點的CDN分發架構中,從Client到L1節點再到L2,再回源到源站,一共具有三段TCP連接,每一段都支持了HTTPS。在這中間,在第一段Client到L1節點的時候,需要用戶自己的證書。L1到L2節點的時候使用的是我們的證書,保證了數據加密。回到源站的時候,如果用戶也希望用HTTPS,我們也可以通過配置實現整個鏈路的HTTPS,充分保證了網站內容的防篡改、防劫持。

 

以上方案,用戶需要將證書和私鑰傳輸到CDN的證書管理中心來去處理HTTPS的請求。同時,我們還有更進一步的方案。對於對自己的證書和私鑰敏感性很高的用戶,希望將私鑰保存在自己的服務器上,減少泄露的風險。針對這種情況,我們推出了無私鑰解決方案。首先,用戶搭建私鑰服務器,當CDN和Client之間產生了HTTPS握手的時候,CDN處理的時候會提取SNI,域名配置拿到後,向私鑰服務器(KeyServer)請求籤名或者解密預主密鑰。這個方案,我們其實是把私鑰的部分剝離出來,通過KeyServer來實現。目前,阿里雲已經實現了自己的KeyServer,用戶只需要在自己的私鑰服務器上安裝一下KeyServer的rpm和配置一下即可。

 

阿里雲CDN 提供HTTPS安全加速方案,僅需開啓安全加速模式後上傳加速域名證書/私鑰,實現全網數據加密傳輸功能。

 

CDN HTTPS的技術優勢

 

     支持HTTP/2功能

HTTP/2是對HTTP/1.x進行加強,阿里雲CDN 現已全平臺支持 HTTP/2,使用阿里雲 HTTPS 加速服務的域名,即可免費享受 HTTP/2服務。HTTP/2是一個二進制的協議,支持頭部壓縮的功能,多路複用以及服務器推送,能夠有效提升傳輸效率。

 

     豐富的HTTPS配置項

阿里雲CDN HTTPS可以以實現動態設置。舉個例子,在實踐中發現有些用戶的APP對HTTP/2協議實現的不夠完美,一種解法就是用戶修改自己的APP,把問題修復。另一種解法就是CDN通過配置把APP的HTTP/2協議給關掉,走HTTP/1.1協議,給用戶足夠的選擇。

 

     KeyServer無私鑰解決方案

前文提到,對於對自己證書和私鑰敏感度很高的用戶,可保障證書和私鑰安全性,支持自建KeyServer,提供KeyServer解決方案和源碼。

 

     安全功能

HTTPS協議是由HTTP+SSL協議組合構建的需身份認證的加密傳輸網絡協議,可全方位保障安全性,防止敏感信息泄露,防止傳輸過程中流量被劫持,篡改,確保數據的完整性。

 

     動態證書

支持動態證書,一個用戶,如果想使用HTTPS,在上傳完證書和私鑰之後,全網1分鐘就可以生效了。提供多規格證書,支持免費證書、證書過期提醒、證書屬性預覽。並且與阿里雲證書中心CAS聯動,可以申請免費證書。

 

     靈活付費方式

有後付費和預付費兩種形式,後付費HTTPS 0.05元/萬次請求,預付費請求包也有450元,4000元,35000元各種規格,規格爲1億次、10億次、100億次(雙十一折扣)。

 

HTTPS相對於HTTP傳輸具有如此多的優勢,那HTTPS在性能方面是否也同樣超越HTTP呢?我們知道,阿里雲CDN HTTPS可以減少回源率,提升通信效率,提高驗證效率,減少跳轉耗時,這些是通過哪些技術來實現優化的呢?下面我們來看看CDN HTTPS的優化實踐。

 

CDN HTTPS優化實踐

 

首先,我們知道,阻礙HTTPS的性能提升的關鍵因素是傳輸變慢,因爲TCP連接握手了之後,還要進行SSL的握手,多層的數據加解密以及證書傳輸。

 

那麼HTTPS一定會變慢嗎?

其實並不是,在淘寶和天貓使用了HTTPS後,淘寶首頁和搜索、聚划算、天貓等頁面中,性能都是正向提升的,平均在20%左右。所以接下來,我們看看CDN HTTPS在性能方面到底做了哪些優化?

 

第一,我們知道,SSL在握手階段是非常消耗資源的,SSL本身也支持了session ID和sessionticket這兩種方式,第一種session ID是在sever端存儲會話ID,client端下次請求時候如果攜帶了同樣的ID,就可以恢復以前的會話,省去了大量的握手環節。但是一個client訪問不同sever的時候,存在ID共享的問題,實現起來比較複雜。第二種session ticket可以把會話的信息發給client,client去保存信息,不會依賴於某個sever了。

第二,我們需要把HTTP/2協議用起來,多路複用和頭部壓縮都是可以提升傳輸效率的。

第三,域名合併,對於主站和用戶域名比較多的情況,我們就傾向於把域名做合併,合併成一個泛域名中做處理。這樣可以減少SSL握手,提升重用,進而提升效率。

第四,協議棧優化,這是各大CDN公司都在做的功能。傳統協議棧是逐漸的試探並且越來越多發送數據的過程,初始化窗口會比較小。我們現在會針對性進行調整,並且提升快速重傳的效率。

第五,優先算法,優先預製ECDSA的算法,在產生相同加密強度的時候,數據量更少。

 

以上,都是爲了更高效的傳輸和減少數據量,CDN HTTPS所進行的一些優化實踐。

 

另外,在峯值的應對上,除了自身的HTTPS優化,我們還需要在Cache系統上進行預熱,全部都加載到一級節點,就不存在回源的問題了。另外,調度系統中,我們業務系統要給出預判峯值,同時CDN需要做熱點地區的統計,與臨近非熱點地區分攤,依據節點能力按比例進行分配。當然,針對峯值情況,我們也需要做限流。

 

如何更好的使用HTTPS

 

說了這麼多HTTPS的好處,那用戶可以如何更好的使用HTTPS呢?

第一,證書的申請,根據域名的類型來申請,阿里雲也提供證書服務,可簽發Symantec、CFCA、GeoTrust證書。證書的分類有三種:DV、OV和EV。DV是指基於域名級別的證書,機構只需要驗證域名的所有者,安全級別比較低。OV和EV是企業級別證書,除了驗證域名所有者還要驗證企業信息。EV的證書,在訪問時能夠顯示公司名字。

第二,源站改造,包括頁面資源的改造,TLS版本選擇1.0以上,關於sessionID和session ticket的優化配置,證書上支持SHA256等工作。另外,實際應用中,有一個問題,當用戶輸入域名,我們可以通過配置強制HTTPS訪問。

 

以上就是關於HTTPS的介紹,在用戶訪問安全、內容傳輸安全等使用場景中,阿里雲CDN都可以提供相應的HTTPS安全加速解決方案,降低用戶成本,實現加速與安全的雙重效果。目前,阿里雲CDNHTTPS已經全面降價,後付費HTTPS 0.05元/萬次請求。爲了迎接雙11,預付費資源包也推出新購特惠:雙十一當天30元購買1千萬次HTTPS請求數資源包。歡迎大家登陸阿里雲官網選購。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章