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 Sockets Layer的縮寫,它是一個安全套接層。架構于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后的一些性能提升數據。其實我們可以看到,淘寶首頁和搜索、聚劃算、天貓等頁面中,性能都是正向提升的。所以接下來,我們看看CDN HTTPS在性能方面到底做了哪些優化?

第一, 我們知道,SSL在握手階段是非常消耗資源的,SSL本身也支持了session ID和session ticket這兩種方式,第一種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以上,關于session ID和session ticket的優化配置,證書上支持SHA256等工作。另外,實際應用中,有一個問題,當用戶輸入域名,我們可以通過配置強制HTTPS訪問。

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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,836評論 6 540
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,275評論 3 428
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,904評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,633評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,368評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,736評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,740評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,919評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,481評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,235評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,427評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,968評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,656評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,055評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,348評論 1 294
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,160評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,380評論 2 379

推薦閱讀更多精彩內容