HTTPS 計算性能優(yōu)化

2016-09-20    分類: 網(wǎng)站建設(shè)

優(yōu)先使用 ECC

ECC 橢圓加密算術(shù)相比普通的離散對數(shù)計算速度性能要強(qiáng)很多。下表是 NIST 推薦的密鑰長度對照表。
對稱密鑰大小 | RSA 和 DH 密鑰大小 | ECC 密鑰大小
----|------|---- 80|1024|160| 112|2048|224 128|3072|256 192|7680|384 256|15360|521 表格 2 NIST 推薦使用的密鑰長度
對于 RSA 算法來講,目前至少使用 2048 位以上的密鑰長度才能保證安全性。ECC 只需要使用 224 位長度的密鑰就能實現(xiàn) RSA2048 位長度的安全強(qiáng)度。在進(jìn)行相同的模指數(shù)運算時速度顯然要快很多。

使用最新版的 openssl

一般來講,新版的 openssl 相比老版的計算速度和安全性都會有提升。比如 openssl1.0.2 采用了 intel 最新的優(yōu)化成果,橢圓曲線 p256 的計算性能提升了 4 倍。/Openssl 2014 年就升級了 5 次,基本都是為了修復(fù)實現(xiàn)上的 BUG 或者算法上的漏洞而升級的。所以盡量使用最新版本,避免安全上的風(fēng)險。

硬件加速方案

現(xiàn)在比較常用的 TLS 硬件加速方案主要有兩種:

  1. SSL 專用加速卡。

  2. GPU SSL 加速。 上述兩個方案的主流用法都是將硬件插入到服務(wù)器的 PCI 插槽中,由硬件完成最消耗性能的計算。但這樣的方案有如下缺點:

  3. 支持算法有限。比如不支持 ECC,不支持 GCM 等。

  4. 升級成本高。

    • 出現(xiàn)新的加密算法或者協(xié)議時,硬件加速方案無法及時升級。

    • 出現(xiàn)比較大的安全漏洞時,部分硬件方案在無法在短期內(nèi)升級解決。比如 2014 年暴露的 heartbleed 漏洞。

  5. 無法充分利用硬件加速性能。硬件加速程序一般都運行在內(nèi)核態(tài),計算結(jié)果傳遞到應(yīng)用層需要 IO 和內(nèi)存拷貝開銷,即使硬件計算性能非常好,上層的同步等待和 IO 開銷也會導(dǎo)致整體性能達(dá)不到預(yù)期,無法充分利用硬件加速卡的計算能力。

  6. 維護(hù)性差。硬件驅(qū)動及應(yīng)用層 API 大部分是由安全廠家提供,出現(xiàn)問題后還需要廠家跟進(jìn)。用戶無法掌握核心代碼,比較被動。不像開源的 openssl,不管算法還是協(xié)議,用戶都能掌握。

TLS 遠(yuǎn)程代理計算

也正是因為上述原因,百度實現(xiàn)了專用的 SSL 硬件加速集群。基本思路是:

  1. 優(yōu)化 TLS 協(xié)議棧,剝離最消耗 CPU 資源的計算,主要有如下部分:

    • RSA 中的加解密計算。

    • ECC 算法中的公私鑰生成。

    • ECC 算法中的共享密鑰生成。

  2. 優(yōu)化硬件計算部分。硬件計算不涉及協(xié)議及狀態(tài)交互,只需要處理大數(shù)運算。

  3. Web server 到 TLS 計算集群之間的任務(wù)是異步的。即 web server 將待計算內(nèi)容發(fā)送給加速集群后,依然可以繼續(xù)處理其他請求,整個過程是異步非阻塞的。

本文名稱:HTTPS 計算性能優(yōu)化
標(biāo)題URL:http://www.muchs.cn/news/44978.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)服務(wù)器托管、云服務(wù)器網(wǎng)站導(dǎo)航、域名注冊品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)