天天看點

國密SSL協定之性能測試

1 背景

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

2 國密SSL性能名額

國密SSL性能名額主要有三個:建立速率(CPS,Connection per second)、加密吞吐(Throughput)、最大并發連接配接(Max Persistent Connections)

其中CPS和吞吐與性能強相關,最大并發連接配接和記憶體大小強相關。

2.1 建立速率CPS

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

1) 用戶端與伺服器/網關建立TCP;

2) 用戶端與伺服器/網關建立國密SSL(不使用會話重用);

3) 用戶端從伺服器/網關下載下傳一個小頁面(不使用HTTP的Keep-Alive),頁面大小為64位元組或者1K位元組;

4) 用戶端與伺服器/網關關閉國密SSL;

5) 用戶端與伺服器/網關關閉TCP;

2.2 加密吞吐

加密吞吐衡量的是國密SSL對資料加解密的快慢(主要涉及對稱密碼處理),通常測試下載下傳一個較大的頁面,比如下載下傳1M位元組頁面。

2.3 最大并發連接配接

最大并發連接配接主要看國密SSL伺服器/網關能夠同時保持多個線上連接配接,通常可以建立好連接配接,下載下傳一個小頁面,然後做Keep-Alive保持,不斷新增加連接配接,直到增加會出錯。

3 國密SSL性能分析

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

另外SM2算法有其自身特點。基本上簽名的速度>驗簽的速度,同時SM2加密速度

結合到國密SSL協定,則通常出現一個現象:

1) 單向國密SSL使用SM2算法,用戶端比伺服器端更消耗性能,因為用戶端是SM2加密;

2) 單向标準SSL使用RSA算法,伺服器端比用戶端更消耗性能,因為用戶端是RSA加密;

4 國密SSL性能測試方法

4.1 拓撲

國密SSL協定之性能測試

圖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性能。下載下傳參見:

4.6 gmcb

www.gmssl.cn提供一個國密SSL性能測試加密吞吐的軟體gmcb,能夠通過一個或者多個用戶端壓力機測試出伺服器/網關的國密SSL的加密吞吐性能。下載下傳參見:

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的性能資料。

繼續閱讀