國密SSL協議之性能測試

1 背景

國密SSL在實際上線和使用過程當中,性能就是一個必須面對的問題。
國密SSL和標準SSL相比,算一個新生事物,沒有完善齊備的性能測試工具。
本文針對國密SSL性能測試,描述了相關指標,並提供一些基本的方法和工具,
也作了nginx/tomcat/硬件網關的測試對比。

2 國密SSL性能指標

國密SSL性能指標主要有三個:新建速率(CPS,Connection per second)、加密吞吐(Throughput)、最大併發鏈接(Max Persistent Connections)nginx

其中CPS和吞吐與性能強相關,最大併發鏈接和內存大小強相關。算法

2.1 新建速率CPS

CPS衡量的是國密SSL創建的快慢(主要涉及非對稱密碼處理),新建指的是如下步驟的總和:tomcat

1) 客戶端與服務器/網關創建TCP;服務器

2) 客戶端與服務器/網關創建國密SSL(不使用會話重用);網絡

3) 客戶端從服務器/網關下載一個小頁面(不使用HTTP的Keep-Alive),頁面大小爲64字節或者1K字節;併發

4) 客戶端與服務器/網關關閉國密SSL;jsp

5) 客戶端與服務器/網關關閉TCP;工具

2.2 加密吞吐

加密吞吐衡量的是國密SSL對數據加解密的快慢(主要涉及對稱密碼處理),一般測試下載一個較大的頁面,好比下載1M字節頁面。性能

2.3 最大併發鏈接

最大併發鏈接主要看國密SSL服務器/網關可以同時保持多個在線鏈接,一般能夠創建好鏈接,下載一個小頁面,而後作Keep-Alive保持,不斷新增長鏈接,直到增長會出錯。測試

3 國密SSL性能分析

國密SSL,以算法SM2_SM4_SM3爲例,主要涉及SM二、SM三、SM4的密碼處理。其中新建速率與SM2性能強相關,加密吞吐則與SM3/SM4性能強相關。

另外SM2算法有其自身特色。基本上簽名的速度>驗籤的速度,同時SM2加密速度<SM2解密速度;這個特色正好和RSA反過來,RSA是簽名速度遠小於驗籤速度,同時RSA公鑰加密的速度遠遠大於私鑰解密的速度。

結合到國密SSL協議,則一般出現一個現象:

1) 單向國密SSL使用SM2算法,客戶端比服務器端更消耗性能,由於客戶端是SM2加密;

2) 單向標準SSL使用RSA算法,服務器端比客戶端更消耗性能,由於客戶端是RSA加密;

4 國密SSL性能測試方法

4.1 拓撲

圖1 測試拓撲

4.2 硬件測試儀

標準SSL硬件測試儀主要有思博倫的avalanche等,目前不清楚是否支持國密SSL協議,或者支持國密SSL插件。國內硬件測試儀狀況不詳。

4.3 LoadRunner

LoadRunner是軟件測試性能的方法之一。好消息是LoadRunner支持第三方插件,經過第三方插件就可以支持國密SSL協議。

4.4 gmab

Apache ab也能夠支持標準SSL協議性能測試,但不支持國密。但ab是有源碼的,能夠自行增長國密SSL協議支持。

www.gmssl.cn提供一個國密ab的實現,軟件名稱叫gmab。下載參見:

https://www.gmssl.cn/gmssl/index.jsp?go=down

4.5 gmkb

前面分析到,對於國密SSL而言,客戶端的性能消耗要大於服務器/網關端的性能消耗,所以使用LoadRunner和gmab的話,須要多臺高性能客戶端壓力機。

www.gmssl.cn提供一個國密SSL性能測試的「黑」科技軟件gmkb,可以經過一個客戶端壓力機就能夠簡單評估出服務器/網關的國密SSL的CPS性能。下載參見:

https://www.gmssl.cn/gmssl/index.jsp?go=down

4.6 gmcb

www.gmssl.cn提供一個國密SSL性能測試加密吞吐的軟件gmcb,可以經過一個或者多個客戶端壓力機測試出服務器/網關的國密SSL的加密吞吐性能。下載參見:

https://www.gmssl.cn/gmssl/index.jsp?go=down

5 國密SSL性能測試結果

5.1 Web服務器

經過gmab和gmcb,咱們簡單測試了www.gmssl.cn的nginx國密SSL性能和tomcat的國密SSL性能。測試的單向國密SSL的性能,服務器爲CentoOS7,CPU爲Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz,內存爲16G,網卡爲intel萬兆電口。

Nginx國密版本1.8.0,安裝下載參見https://www.gmssl.cn/gmssl/index.jsp?go=nginx

國密Nginx性能以下:

新建:3600

吞吐:693MBps

併發:50w

Tomcat國密版本9.0.37,安裝下載參見https://www.gmssl.cn/gmssl/index.jsp?go=tomcat

國密Tomcat性能以下:

新建:720

吞吐:240MBps(字節/秒)

併發:8192(內存實際用的不多,tomcat報錯,沒有繼續深刻)

5.2 硬件網關

做爲對比,咱們拿到了北京雲鑰網絡科技有限公司(www.keyaas.com)的硬件國密網關KSG2500的性能數據,KSG2500性能給人印象深入,畢竟是一款高端專業硬件網關。KGS2500性能:

新建:5w

吞吐:2GBps(字節/秒)

併發:300w

6 國密SSL性能測試小結

本文涉及了國密SSL性能的方方面面,而且給出了www.gmssl.cn的國密nginx和國密tomcat的實測性能數據,也對比了硬件網關KSG2500的性能數據。

相關文章
相關標籤/搜索