1. 程式人生 > >詳解 HTTPS 移動端對稱加密套件優

詳解 HTTPS 移動端對稱加密套件優

復用 htm session 很多 合作 頁面 wid 詳解 電池

近幾年,Google、Baidu、Facebook 等互聯網巨頭大力推行 HTTPS,國內外的大型互聯網公司很多也都已啟用全站 HTTPS。 Google 也推出了針對移動端優化的新型加密套件 ChaCha20-Poly1305。

又拍雲 CDN 已經全面支持 Google 推出的針對移動端優化的加密套件—— ChaCha20-Poly1305。又拍雲平臺上所有的 CDN 用戶都可以享受到該算法加解密性能提升,網頁加載時間減少,電池壽命延長等優勢。

在這之前又拍雲一直在對 HTTPS 性能進行持續優化,致力於 HTTPS 達到更快的數據傳輸性能。又拍雲 HTTPS 優化已支持了以下特性:Session ID 復用、OCSP Stapling、HSTS、HTTP/2、False Start,這些特性極大的提升了 HTTPS 訪問速度。

又拍雲 CDN 現已支持的谷歌 ChaCha20-Poly1305 加密套件,那麽相比其他加密套件,ChaCha20-Poly1305為什麽會具有這些優勢呢?

對稱加密算法對比

常用的對稱加密算法如下:

技術分享

AES-GCM 是目前常用的分組加密算法,但是其有一個缺點就是計算量大,導致性能和電量開銷比較大。為了解決這個問題,Intel 推出了名為 AES NI(Advanced Encryption Standard new instructions)的 x86 指令拓展集,從硬件上提供對 AES 的支持。對於支持 AES NI 指令的設備來說,使用 AES-GCM 無疑是最佳選擇。

而針對移動端不支持 AES NI 的設備,Google 在 2014年推出了一種新的流式加密算法 ChaCha20-Poly1305。在 ARM 平臺上,ChaCha20-Poly1305 的性能是 AES-GCM 的 3-4 倍。

ChaCha20-Poly1305 算法介紹

Chacha20-Poly1305 是由 Google 專門針對移動端 CPU 優化而采用的一種新式流式加密算法,它的性能相比普通算法要提高 3 倍,在 CPU 為精簡指令集的 ARM 平臺上尤為顯著(ARM v8 前效果較明顯)。其中 Chacha20 是指對稱加密算法,Poly1305 是指身份認證算法。使用該算法,可減少加密解密所產生的數據量進而可以改善用戶體驗,減少等待時間,節省電池壽命等。

由於其算法精簡、安全性強、兼容性強等特點,目前 Google致力於全面將其在移動端推廣。

更優異的加解密性能

當前流行的加密套件 AES-GCM,在不支持 AES NI 指令的硬件設備上,該加密算法會讓大部分智能手機、平板電腦以及可穿戴設備引起性能問題,導致加解密性能時間過長。

而在 Google 公布的數據顯示,Chacha20-Poly1305 能夠提升 30% 以上的設備加解密性能。同時在部分移動設備上,ChaCha20-Poly1305 加密的速度是 AES 的 3 倍還多。也即在使用 ChaCha20-Poly1305 時,較舊的計算機或者移動端設備在加解密方面會花費更少的計算時間。減少加解密時間的減少意味著更快的頁面加載速度以及更少的設備電池消耗。

針對移動端設備,在具有硬件 AES 支持的 PC 電腦上,使用 AES-GCM 算法是比較不錯的選擇,所以又拍雲 CDN 平臺會根據客戶端支持的加密套件情況智能選擇 AES-GCM 或者 ChaCha20-Poly1305 這兩者。對於最新的英特爾處理器,又拍雲CDN會使用標準的 AES-GCM 算法;對於沒有硬件 AES 支持的設備來說,會優先選擇 ChaCha20-Poly1305。

更安全的加密算法組合

ChaCha20-Poly1305 加密套件使用了兩種算法,其中 Chacha20 是指對稱加密算法,而Poly1305 是指身份認證算法。

技術分享

RFC文檔

從 RFC 文檔中可以看到,ChaCha20 提供了 256 位的加密強度,這對於 AES-GCM 算法的 128 位的加密強度來說,已經綽綽有余。也就是說,使用 ChaCha20 作為對稱加密算法來保障 HTTPS 安全性已經足夠了。

而 Poly1305 作為身份認證算法提供身份驗證,可以防止攻擊者在 TLS 握手過程中,將虛假信息插入到安全的數據流中,Poly1305 算法提供了大約 100 位的安全性加密強度,足以阻止這類攻擊。在 TLS 握手過程中,身份驗證相比加密並沒有那麽重要,因為即使攻擊者可以向數據流中添加虛假消息,在密鑰信息沒有被破解的情況下,也不會讀取到內部的數據信息。

綜上所述,ChaCha20-Poly1305 作為一個加密組合,可同時對數據提供機密性,完整性和真實性保證,避開了現有發現的所有安全漏洞和攻擊,是一組極佳的加密套件組合。

開啟 CHACHA20_POLY1305 方式

又拍雲 CDN 已經默認支持 CHACHA20_POLY1305,並針對不支持 AES-NI 的終端優先選擇此算法作為對稱加密算法。

目前又拍雲提供 SSL 證書的申購、管理、部署等功能。與國際頂級 CA 機構合作,證書類型豐富,操作流程簡單方便,為用戶提供一站式 HTTPS 安全解決方案。免費版SSL證書1小時內,付費版OV、EV SSL證書3天內即可完成申購簽發,並且一鍵完成SSL證書部署即時開啟全站HTTPS服務開啟。

技術分享

目前HTTPS證書低至75折,立即開啟全站HTTPS加密服務

推薦閱讀:

從 HTTP 到 HTTPS 再到 HSTS

HTTPS系列幹貨(一):HTTPS 原理詳解

為什麽非全站升級HTTPS不可?

詳解 HTTPS 移動端對稱加密套件優