亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于OpenSSL的SM2與RSA自動切換算法的設(shè)計

        2018-02-07 01:47:25賈冀芳張立新廖明耀
        計算機工程與應(yīng)用 2018年3期
        關(guān)鍵詞:服務(wù)端套件新建

        賈冀芳,張立新,廖明耀

        北京中電普華信息技術(shù)有限公司 研發(fā)事業(yè)部,北京 100192

        1 引言

        我國政府高度重視密碼算法國產(chǎn)化升級改造工作[1]。國家電網(wǎng)公司也高度重視基礎(chǔ)軟硬件的自主、安全、可控工作。在安全中間件項目中使用SSL/TLS協(xié)議實現(xiàn)HTTPS的安全訪問。但是,SSL/TLS協(xié)議使用的密碼算法套件全部是國外密碼算法,不符合自主、安全、可控的要求[2-3]。因此,決定使用國家商用密碼算法(以下簡稱:國密算法)[4]替換國外通用密碼算法(以下簡稱:通用密碼算法)實現(xiàn)SSL/TLS協(xié)議。新的問題出現(xiàn):國密算法的速度要比同安全級別的通用密碼算法的速度慢,不能滿足大并發(fā)、高性能用戶的需求。為平衡性能與安全性兩方面的需求:在滿足性能的前提下,有效提高系統(tǒng)的安全性,在OpenSSL上設(shè)計一種能夠根據(jù)當(dāng)前每秒新建SSL/TLS連接數(shù),自動選擇SM2或RSA[5]的算法。即SSL/TLS連接既可以使用提前配置好的密碼算法套件,也可以在握手過程中根據(jù)當(dāng)前每秒新建連接數(shù)自動選擇密碼算法套件。

        2 背景概述

        2.1 研究背景

        安全中間件系統(tǒng)由客戶端和服務(wù)端兩部分組成:客戶端是支持基于國密算法和通用密碼算法SSL/TLS協(xié)議的瀏覽器。服務(wù)端包括支持基于國密算法和通用密碼算法SSL/TLS協(xié)議的Web服務(wù)器和WebService服務(wù)器以及數(shù)據(jù)庫。用戶使用瀏覽器發(fā)起https訪問請求,服務(wù)端和用戶端進行基于SSL/TLS協(xié)議的證書認(rèn)證(雙向認(rèn)證可選)、加密傳輸訪問請求與響應(yīng)數(shù)據(jù)。安全中間件系統(tǒng)中的SSL/TLS協(xié)議既支持通用密碼算法也支持國密算法。系統(tǒng)組成架構(gòu)如圖1所示。

        圖1 基于國密算法的應(yīng)用服務(wù)器中間件組成架構(gòu)

        2.2 研究現(xiàn)狀

        SSL/TLS協(xié)議的安全性和性能包括握手協(xié)議和記錄協(xié)議的安全性和性能。其中,記錄協(xié)議使用對稱密碼算法,而國外通用對稱密碼算法與國家商用對稱密碼算法在密鑰長度相等的情況下性能相當(dāng)、安全性也相當(dāng)(不考慮后門)。因此,SSL/TLS協(xié)議的安全性和性能主要取決于握手協(xié)議的安全性和性能[4]。

        基于握手協(xié)議主要采用非對稱密碼算法實現(xiàn),其安全性主要取決于非對稱密碼算法的安全性。握手協(xié)議通常使用的非對稱密碼算法是RSA。為了在密鑰長度相當(dāng)?shù)那闆r下提高握手協(xié)議的安全性,有研究使用ECC(橢圓曲線加密算法)算法替換RSA算法[6-7]。我國政府為實現(xiàn)信息安全的自主、可控,要求用國產(chǎn)SM2(由國家保密局根據(jù)ECC加解密原理推出的橢圓曲線密碼算法)算法替換RSA。密鑰長度為233的SM2或ECC算法與密鑰長度為2 240的RSA算法的安全強度一樣是112級。具體安全級別對照表如表1所示[5]。

        表1 SM2/ECC、RSA及對稱密碼算法安全級別對照表

        性能方面,與握手協(xié)議中4個階段、13次交互相比[5],非對稱密碼算法的性能對握手協(xié)議性能的影響更顯著。在實際應(yīng)用中,由于SSL/TLS協(xié)議常常應(yīng)用在實時場景中,對性能要求較高。因此,選擇高性能的非對稱密碼算法就顯得更加重要[6]。

        ECC算法與RSA相比,雖然在相同密鑰長度下安全性更高,但是性能卻低于RSA[8-9]。ECC在密鑰長度不高于283位時的簽名時長是RSA的平均6.7倍,驗簽時長是RSA的平均53倍[10]。

        在CPU Intel P4 2.0 GHz、內(nèi)存512 MB的PC機上對長度為100 KB的文本文件進行簽名與驗簽測試,具體性能數(shù)據(jù)請參見文獻(xiàn)[10]。

        同樣,SM2算法與RSA相比,在相同安全級別下,RSA性能高于SM2。在相同計算環(huán)境下,256位的SM2性能是2 048位的RSA的0.32倍。256位SM2的簽名速度是2 048位RSA的9倍,256位SM2的驗簽速度是2 048位RSA的0.056倍,加密速度與驗簽速度相當(dāng),解密速度與簽名速度相當(dāng)。

        表2 SM2與RSA性能對照表 次·s-1

        在SSL/TLS產(chǎn)品中,在相同計算環(huán)境下,基于SM2的SSL/TLS協(xié)議的每秒新建連接數(shù)是基于RSA的大約0.3倍。SSL/TLS連接性能對照表如表3所示。

        表3 SM2_SSL/TLS與RSA_SSL/TLS性能對照表

        2.3 問題分析

        在相同計算環(huán)境下,SM2算法實現(xiàn)的SSL/TLS握手協(xié)議的性能是RSA算法的0.3倍。在高并發(fā)的要求下,SM2算法不能滿足用戶對高性能的需求。針對這一問題,在SSL/TLS握手協(xié)議過程中設(shè)計一種算法可以在國密SM2算法與通用RSA算法之間自由切換,以實現(xiàn)在滿足高性能要求的前提下有效提高系統(tǒng)的安全性。

        以開源Openssl庫為基礎(chǔ),設(shè)計一種自動切換算法:當(dāng)用SM2建立的SSL/TLS每秒新建連接數(shù)不能滿足用戶需求時,系統(tǒng)自動切換到RSA算法,用RSA算法建立SSL/TLS連接,提高每秒新建連接數(shù)以滿足用戶性能需求。

        與現(xiàn)有用SM2實現(xiàn)SSL/TLS握手協(xié)議相比,自動切換算法能有效提高系統(tǒng)的性能,規(guī)避SM2性能低的弱點。與現(xiàn)有用RSA實現(xiàn)SSL/TLS握手協(xié)議相比,自動切換算法能有效提高系統(tǒng)的安全性。自動切換算法可以在高性能和高安全性之間達(dá)到平衡,在滿足高性能需求的前提下盡最大可能提高系統(tǒng)的安全性。

        3 系統(tǒng)設(shè)計

        假設(shè),性能需求是SSL/TLS每秒新建連接數(shù)為6 000。根據(jù)衛(wèi)士通SAG3000的性能指標(biāo),用SM2算法每秒新建數(shù)為3 000,不能滿足性能需求。用RSA算法每秒新建連接數(shù)為9 000,能滿足性能需求,但是不能有效提高安全性。因為RSA是國外算法,不能自主、可控。SM2與RSA自動切換算法指先用SM2算法建立SSL/TLS連接,當(dāng)SM2的每秒連接數(shù)達(dá)到3 000時,自動切換到RSA算法,用RSA算法建立SSL/TLS連接,當(dāng)RSA的每秒新建連接數(shù)達(dá)到9 000時,再重新切換回SM2算法,此時平均每秒連接數(shù)為6 000,滿足性能要求。這樣在高性能的要求下有效提高了系統(tǒng)的安全性。

        具體設(shè)計如下:在OpenSSL1.0.2版本上設(shè)計SM2與RSA的自動切換算法。首先,設(shè)置SM2的每秒新建連接數(shù)上限為3 000,RSA的每秒新建連接數(shù)上限為9 000。當(dāng)SM2的每秒新建連接數(shù)達(dá)到3 000時,則系統(tǒng)選擇RSA算法建立SSL/TLS連接,當(dāng)RSA的每秒新建連接數(shù)達(dá)到9 000時,則系統(tǒng)重新選擇SM2算法建立SSL/TLS連接。

        3.1 數(shù)據(jù)結(jié)構(gòu)

        在SSL/TLS服務(wù)端設(shè)置8個全局變量:(1)SM2的當(dāng)前新建連接數(shù):SM2_conn_num,記錄當(dāng)前SM2建立的連接數(shù);(2)SM2計時器:SM2_timer,記錄建立SM2連接所用時間。(3)SM2當(dāng)前每秒新建連接數(shù):SM2_conn_num_persec=SM2_conn_num/SM2_timer,記錄當(dāng)前SM2每秒新建連接數(shù)。(4)RSA的當(dāng)前新建連接數(shù):RSA_conn_num,記錄當(dāng)前RSA建立的連接數(shù)。(5)RSA計時器:RSA_timmer,記錄建立RSA連接所用時間。(6)RSA當(dāng)前每秒新建連接數(shù):RSA_conn_num_persec=RSA_conn_num/:RSA_timmer,記錄當(dāng)前每秒新建連接數(shù)。(7)當(dāng)前連接計時器:curr_conn_timer記錄建立當(dāng)前連接所用時間。(8)當(dāng)前密碼算法:curr_cipher,記錄當(dāng)前使用的是SM2還是RSA。

        int SM2_conn_num;/*SM2當(dāng)前新建連接數(shù)*/

        int SM2_timer;/*SM2計時器*/

        int SM2_conn_num_persec/*SM2當(dāng)前每秒新建連接數(shù)*/

        int RSA_conn_num;/*RSA當(dāng)前新建連接數(shù)*/

        int RSA_timmer;/*RSA連接計時器*/

        int RSA_conn_num_persec;/*RSA當(dāng)前每秒新建連接數(shù)*/

        int curr_conn_timmer;/*當(dāng)前連接計時器*/

        bool curr_cipher;/*當(dāng)前使用的密碼算法*/

        3.2 算法

        SSL/TLS服務(wù)端默認(rèn)加密套件設(shè)置為SM2+SM3+SM4,curr_cipher默認(rèn)設(shè)為SM2。服務(wù)端收到SSL/TLS客戶端發(fā)來的Client Hello消息時,先檢查當(dāng)前SM2每秒新建連接數(shù)是否等于或大于3 000(SM2_conn_num_persec≥3 000)并且當(dāng)前RSA每秒新建連接數(shù)是否小于9 000(RSA_conn_num_persec<9 000),如果是,則服務(wù)端重新設(shè)置密碼套件為RSA+SHA1+AES256。并將該密碼套件信息通過服務(wù)端的ServerHello消息發(fā)送給客戶端。同時將SM2_conn_num_persec重新設(shè)為0,將當(dāng)前密碼算法curr_cipher設(shè)為RSA。否則(SM2_conn_num_persec<3 000 or RSA_conn_com_persec≥9 000),服務(wù)端使用默認(rèn)的加密套件SM2+SM3+SM4,并將該加密套件信息通過服務(wù)端的ServerHello發(fā)送給客戶端。同時將RSA_conn_num_persec重新設(shè)為0,將當(dāng)前密碼算法curr_cipher設(shè)為SM2??蛻舳撕头?wù)端繼續(xù)后續(xù)的SSL/TLS握手協(xié)議。當(dāng)握手協(xié)議完成,如果當(dāng)前使用的密碼算法是SM2,則計算SM2當(dāng)前每秒新建連接數(shù)(SM2_conn_num_persec)。如果當(dāng)前使用的密碼算法是RSA,則計算RSA當(dāng)前每秒新建連接數(shù)(RSA_conn_num_persec)。

        主算法框架如圖2所示。

        握手算法框架如圖3所示。

        圖3 握手算法框架

        密碼套件切換算法框架如圖4所示。

        圖4 密碼切換算法框架

        4 關(guān)鍵技術(shù)

        4.1 握手協(xié)議

        SM2與RSA的自動切換算法在SSL/TLS握手協(xié)議中實現(xiàn)。SSL/TLS握手協(xié)議是客戶端和服務(wù)端建立SSL連接時使用的第一個子協(xié)議,握手協(xié)議包括客戶端與服務(wù)端之間的一系列消息。該協(xié)議允許服務(wù)端和客戶端雙向身份認(rèn)證,協(xié)商加密算法和摘要算法以及對稱加密密鑰,用來加密在SSL記錄中發(fā)送的數(shù)據(jù)[11]。握手協(xié)議是在應(yīng)用數(shù)據(jù)傳輸之前使用的。握手協(xié)議的4個階段如圖5[12]。

        圖5 SSL/TLS握手過程

        第一階段——建立安全能力

        SSL握手的第一階段(圖6)啟動邏輯連接,建立這個連接的安全能力。首先客戶端向服務(wù)端發(fā)出ClientHello消息并等待服務(wù)端響應(yīng),隨后服務(wù)端向客戶端返回ServerHello消息,對ClientHello消息中的信息進行確認(rèn)。

        圖6 SSL/TLS握手協(xié)議階段一

        ClientHello消息包括:(1)Version:客戶端可以支持的SSL最高版本號;(2)Random:用于生成主秘密的客戶端隨機數(shù);(3)Session id:確定會話的會話ID;(4)Cipher suite:客戶端可以支持的密碼套件列表;(5)Compression method:客戶端可以支持的壓縮算法列表[11]。

        服務(wù)端用ServerHello信息應(yīng)答客戶端,包括下列內(nèi)容:(1)Version:SSL版本號,取客戶端支持的最高版本號和服務(wù)端支持的最高版本號中的較低者;(2)Random:用于生成主秘密的服務(wù)端隨機數(shù);(3)Session id會話ID;(4)Cipher suite:根據(jù) SM2_conn_num_persec≥3 000 and RSA_conn_num_persec<9 000,選擇密碼套件,如果是,則從客戶端的密碼套件列表中選擇與服務(wù)端相匹配的RSA相關(guān)密碼套件,否則(SM2_conn_num_persec<3 000 or RSA_conn_num_persec≥9 000)從客戶端的密碼套件列表中選擇與服務(wù)端相匹配的SM2相關(guān)密碼套件,(5)Compression method:從客戶端的壓縮方法列表中選擇壓縮方法。

        這個階段之后,客戶端和服務(wù)端知道了下列內(nèi)容:(1)SSL版本;(2)密鑰交換、簽名、驗簽和加密算法;(3)壓縮方法;(4)用來生成密鑰的兩個隨機數(shù)。

        該階段的消息結(jié)構(gòu)如下:

        ClientHello消息[11]

        版本主從隨機數(shù)時間 隨機字節(jié)會話ID長度ID加密套件列表長度 套件列表壓縮方法列表長度 方法列表

        ServerHello消息[11]

        ?

        第二階段—— 服務(wù)端身份認(rèn)證與密鑰交換

        服務(wù)端啟動SSL握手第二階段,服務(wù)端是本階段所有消息的唯一發(fā)送方,客戶端是所有消息的唯一接收方。該階段分為4步(如圖7):(1)發(fā)送服務(wù)端證書:服務(wù)端將數(shù)字證書和到根CA的整個證書鏈發(fā)給客戶端,使客戶端能用服務(wù)端證書中的公鑰認(rèn)證服務(wù)端身份;(2)服務(wù)端密鑰交換(可選):這里視密鑰交換算法而定,如果選擇的是RSA或SM2算法,則不需要發(fā)送密鑰交換消息;(3)客戶端證書請求(如果要求客戶端身份認(rèn)證):服務(wù)端要求客戶端證書;(4)服務(wù)端握手完成:第二階段結(jié)束。

        圖7 SSL/TLS握手協(xié)議階段二

        這個階段的前面的(1)證書 和(2)服務(wù)端密鑰交換是基于密鑰交換算法的。而在SSL中密鑰交換算法有以下幾種:無效(沒有密鑰交換)、RSA、SM2、匿名Diffie-Hellman、暫 時 Diffie-Hellman、固 定 Diffie-Hellman、Fortezza。

        在階段一客戶端與服務(wù)端協(xié)商的過程中已經(jīng)確定使用哪種密鑰交換算法。如果協(xié)商過程中確定使用RSA交換密鑰,那么過程如圖8。

        圖8 階段二服務(wù)端RSA證書及密鑰交換消息

        服務(wù)端在它的第一個消息中,發(fā)送服務(wù)端RSA加密/解密公鑰證書。服務(wù)端公鑰證書是客戶端用來驗證服務(wù)端身份的。服務(wù)端第二個消息是空的。

        如果在階段一客戶端與服務(wù)端協(xié)商確定的是使用SM2交換密鑰,那么過程如圖9。

        圖9 階段二服務(wù)端SM2證書及密鑰交換消息

        服務(wù)端在它的第一個消息中,發(fā)送服務(wù)端SM2公鑰證書。該證書是客戶端用來驗證服務(wù)端身份的。服務(wù)端第二個消息是空的[13]。

        該階段的消息格式如下所示:

        證書Certificate消息[11]

        ?

        密鑰交換KeyExchange消息

        第三階段——客戶端身份認(rèn)證與密鑰交換

        客戶端啟動SSL/TLS握手第三階段,該階段分為三步:(1)客戶端證書(如果要求客戶端身份認(rèn)證):為了證明客戶端的身份,客戶端要發(fā)送自己的證書信息給服務(wù)端,這是可選的。(2)客戶端密鑰交換KeyExchange:這里客戶端生成預(yù)主密鑰(Pre-master-secret),并用服務(wù)端公鑰對其加密,最后發(fā)送給服務(wù)端。(3)客戶端證書驗證certificate_verify(如果要求客戶端身份認(rèn)證):客戶端對從第一條消息以來的所有握手消息的HMAC值用私鑰進行簽名,并發(fā)送給服務(wù)端,服務(wù)端用客戶端公鑰驗證簽名。

        不要求客戶端認(rèn)證的密鑰交換過程如圖10所示。

        圖10 階段三客戶端密鑰交換消息

        需要客戶端身份認(rèn)證的密鑰交換過程如圖11。

        圖11 階段三客戶端證書及密鑰交換消息

        第四階段——完成

        客戶端啟動SSL/TLS握手第四階段,使握手協(xié)議結(jié)束。該階段分為4步,如圖12所示。

        圖12 階段四客戶端證書及密鑰交換消息

        客戶端發(fā)送ChangeCipherSpec告訴服務(wù)端,接下來的消息將采用新協(xié)商的密碼套件和密鑰進行通信。客戶端發(fā)送Finished消息給服務(wù)端。該消息是客戶端對所有握手消息和計算出來的主密鑰MasterSecret進行消息摘要,并將摘要發(fā)送給服務(wù)端,服務(wù)端在本地進行相同的消息摘要計算,與接收到的客戶端發(fā)送過來的消息摘要進行比較,如果相等,則確認(rèn)沒有任何握手消息被篡改過。這是第一條使用新的密碼套件進行加密傳輸?shù)南ⅰ?/p>

        服務(wù)端驗證完客戶端發(fā)送的Finished消息后,向客戶端發(fā)送ChangeCipherSpec消息,告訴客戶端接下來的消息采用新協(xié)商的密碼套件和密鑰進行通信。服務(wù)端也向客戶端發(fā)送Finished消息。該消息是服務(wù)端對所有握手消息和計算出來的主密鑰MasterSecret進行消息摘要,并將摘要發(fā)送給客戶端,客戶端在本地進行相同的計算,并比較服務(wù)端發(fā)送過來的消息摘要,如果相等,則確認(rèn)以上所有握手消息沒有被篡改過。至此SSL握手階段完成,SSL連接建立起來[14]。服務(wù)端如果使用的是SM2算法則重新計算SM2當(dāng)前每秒新建連接數(shù)SM2_conn_num_persec,如果使用的是RSA算法則重新計算RSA當(dāng)前每秒新建連接數(shù)RSA_conn_num_persec。服務(wù)端和客戶端開始通過記錄協(xié)議加密傳輸上層應(yīng)用數(shù)據(jù)。

        該階段ChangeCipherSpec消息結(jié)構(gòu)非常簡單,只有一個值為1的字節(jié)。

        該階段Finished消息結(jié)構(gòu)依據(jù)版本不同而不同。SSL v3.0的Finished結(jié)構(gòu)含有兩個字段md5_hash、sha_hash。如下所示[11]:

        md5_hash sha_hash

        TLS v1.0的Finished結(jié)構(gòu)只含有一個字段sha_hash。如下所示[11]:

        verify_data

        4.2 記錄協(xié)議

        SSL記錄是SSL協(xié)議發(fā)送和接收的基本單位。它與其他網(wǎng)絡(luò)協(xié)議之間的關(guān)系如圖13所示。

        圖13 SSL記錄協(xié)議與其他網(wǎng)絡(luò)協(xié)議之間的關(guān)系

        SSL記錄層協(xié)議實際上是一個簡單的封裝或者說是“打包”協(xié)議。記錄可能是明文傳送的,也可能是被加密傳送的,具體需要看通信實體所處的階段。

        明文記錄結(jié)構(gòu)如下[15]所示:

        密文記錄如下所示。陰影的部分是經(jīng)過加密的,而且是作為一個整體加密。記錄頭信息始終是明文傳送。消息驗證碼HMAC確保消息的完整性。填充和填充長度只有在雙方采用分組加密的情況下才會出現(xiàn)的字段。如果是采用序列加密,則不存在。填充的目的是使 Length(數(shù)據(jù))+Length(HMAC)+Length(填充)+Length(填充長度)等于所使用分組加密算法的塊大小的整數(shù)倍[15]。

        ?

        5 實現(xiàn)過程

        5.1 變量定義

        根據(jù)3.1節(jié)設(shè)計的數(shù)據(jù)結(jié)構(gòu),在openssl的ssl.h文件中增加8個全局變量。

        5.2 函數(shù)定義

        (1)初始化新增全局變量。根據(jù)3.2節(jié)設(shè)計的算法。在openssl的S_socket.c文件中的do_server函數(shù)中初始化新增的全局變量。

        (2)更新當(dāng)前每秒連接數(shù)。在openssl的S_server.c文件中的sv_body函數(shù)中的i=init_ssl_connection(con)語句后更新當(dāng)前每秒連接數(shù)。

        (3)切換密碼套件。在openssl的S3_lib.c文件中的ssl3_choose_cipher函數(shù)中的ret=sk_SSL_CIPHER_value(allow,ii)語句后,切換密碼套件。

        6 測試與結(jié)果

        6.1 測試環(huán)境

        測試環(huán)境包括硬件環(huán)境、軟件環(huán)境、網(wǎng)絡(luò)環(huán)境、測試工具,具體如表4所示。

        表4 測試環(huán)境

        6.2 測試方案

        用LoadRunner11對SSL/TLS連接的性能進行測試。包括三組測試:第一組只使用SM2算法建立SSL/TLS連接;第二組只使用RSA算法建立SSL/TLS連接;第三組使用SM2與RSA自動切換算法建立SSL/TLS連接。

        觀察三組測試在并發(fā)用戶數(shù)達(dá)到6 000時,SSL/TLS最高每秒新建連接數(shù)和平均每秒新建連接數(shù)。

        測試步驟如下:并發(fā)用戶數(shù)通過每臺客戶機模擬500個用戶,12臺客戶機共模擬6 000個用戶的方法實現(xiàn)。并發(fā)用戶增長模式按照每臺客戶機每15 s增加5個用戶,1 500 s(25 min)后達(dá)到500個并發(fā)用戶,然后持續(xù)測試6 h。

        第一組:只使用SM2算法的SSL連接性能如表5。

        表5 SM2連接性數(shù)據(jù)

        第二組:只使用RSA算法的SSL連接性能如表6。

        表6 RSA連接性能數(shù)據(jù)

        第三組:使用SM2與RSA自動切換算法的SSL連接性能如表7。

        表7 SM2與RSA自動切換算法連接性能數(shù)據(jù)

        6.3 測試結(jié)果

        通過以上三組測試數(shù)據(jù)可以得出如下結(jié)論:SM2與RSA自動切換算法的SSL/TLS連接性能高于單獨使用SM2算法的連接性能,但低于單獨使用RSA算法的連接性能。但是其性能指標(biāo)已達(dá)到需求。同時使用SM2與RSA自動切換算法的連接,在滿足性能需求的前提下,有效提高了安全性。

        第三組測試,SM2算法與RSA算法自動切換過程如下:當(dāng)SSL/TLS的每秒新建連接數(shù)小于3 000時,SSL/TLS新建連接采用SM2密碼套件,當(dāng)每秒新建連接數(shù)大于或等于3 000時,采用RSA密碼套件建立連接。如果RSA的每秒新建連接數(shù)達(dá)到9 000時,系統(tǒng)再次選擇SM2建立SSL/TLS連接。SM2與RSA密碼套件切換如圖14、15所示。

        圖14 測試結(jié)果:使用SM2密碼套件

        圖15 測試結(jié)果:使用RSA密碼套件

        6.4 結(jié)論

        通過實驗和測試得出了在并發(fā)建立SSL連接過程中,當(dāng)每秒新建SSL連接數(shù)小于3 000時,使用SM2密碼套件進行握手,當(dāng)每秒新建SSL連接數(shù)大于或等于3 000時,使用RSA密碼套件進行握手。當(dāng)每秒新建連接數(shù)大于或等于9 000時,系統(tǒng)再次切換到SM2密碼套件。使得系統(tǒng)平均每秒新建連接數(shù)達(dá)到6 000,并在此期間盡可能多地使用SM2密碼套件。

        7 結(jié)束語

        為SSL/TLS協(xié)議的安全性與性能同時滿足用戶的需求,鑒于國家商用密碼算法(國密算法)的安全性強于通用密碼算法、性能弱于通用密碼算法的現(xiàn)狀,在OpenSSL基礎(chǔ)上實現(xiàn)的SM2與RSA自動切換的算法以實現(xiàn)在性能滿足用戶需求的情況下有效提高系統(tǒng)安全性的目標(biāo)。

        [1]GM/T 0024-2014SSL VPN技術(shù)規(guī)范[S].北京:中國標(biāo)準(zhǔn)出版社,2014.

        [2]韓曉薇,烏力吉,王蓓蓓,等.抗簡單功耗攻擊的SM2原子算法[J].計算機研究與發(fā)展,2016,53(8):1850-1856.

        [3]史汝輝.一種針對SM2解密算法的側(cè)信道攻擊方法[J].密碼學(xué)報,2015,2(5):467-476.

        [4]Acii?mez O,Schindler W.A vulnerability in RSA implementations due to instruction cache analysis and its demonstration on OpenSSL[C]//Malkin T.CT-RSA,2008,4964:256-273.

        [5]張永建.RSA算法和SM2算法的研究[D].江西贛州:江西理工大學(xué),2015.

        [6]王魁,李立新,余文濤,等.基于ECC算法的TLS協(xié)議設(shè)計與優(yōu)化[J].計算機應(yīng)用研究,2014(11):3486-3489.

        [7]楊文軍.基于ECC算法的SSL協(xié)議改進[J].南開大學(xué)學(xué)報:自然科學(xué)版,2016(2):8-14.

        [8]Gueron S,Krasnov V.Fast prime field elliptic-curve cryptography with 256-bit primes[J].Journal of Cryptographic Engineering,2014,5(2):141-151.

        [9]Bhala A S,Kshirsagar V P,Nagori M B.Performance comparison of elliptical curve and RSA digital signature on ARM7[C]//International Conference on Information&Network Technology,2011.

        [10]Jansma N,Arrendondo B.Performance comparison of elliptic curve and RSA digital signatures[R].University of Michigan,2004:1-20.

        [11]何福均.OpenSSL握手過程的測試與分析[D].武漢:華中科技大學(xué),2008.

        [12]殷杰.OpenSSL分析與測試[D].天津:天津大學(xué),2008.

        [13]吳永強,國密SSL安全通信協(xié)議的研究與實現(xiàn)[D].西安:西安電子科技大學(xué),2014.

        [14]牛永川.SM2橢圓曲線公鑰密碼算法的快速實現(xiàn)研究[D].濟南:山東大學(xué),2013.

        [15]白忠海.基于雙基底乘法器的SM2公鑰密碼算法研究與實現(xiàn)[D].哈爾濱:哈爾濱工業(yè)大學(xué),2014.

        猜你喜歡
        服務(wù)端套件新建
        Spin transport properties in ferromagnet/superconductor junctions on topological insulator
        重慶三年新建農(nóng)村公路6.26×10~4 km
        石油瀝青(2022年3期)2022-08-26 09:13:40
        基于維修費用的關(guān)鍵部套件分析
        “龍吟套件”創(chuàng)作感悟
        山東陶瓷(2020年5期)2020-03-19 01:35:36
        萬紫蝶、梁新建作品
        云存儲中基于相似性的客戶-服務(wù)端雙端數(shù)據(jù)去重方法
        新時期《移動Web服務(wù)端開發(fā)》課程教學(xué)改革的研究
        曹曙東、溫新建作品
        在Windows Server 2008上創(chuàng)建應(yīng)用
        工業(yè)照明超頻三天棚燈套件改造工程
        中國照明(2016年5期)2016-06-15 20:30:13
        亚洲熟妇无码八av在线播放| 国产亚洲av综合人人澡精品| 国产精品激情自拍视频| 亚洲亚洲人成综合网络| 亚洲v日本v欧美v综合v| 成年女人18毛片毛片免费| 日本一二三四区在线观看| 午夜理论片yy6080私人影院| 国产免费又色又爽又黄软件| 自慰高潮网站在线观看| 白白色视频这里只有精品| 久久亚洲av午夜福利精品一区| 性饥渴艳妇性色生活片在线播放| 亚洲中字幕永久在线观看| 男女啪啪在线视频网站| 玩弄人妻少妇精品视频| 人妻无码人妻有码中文字幕| 欧美亚洲国产精品久久久久| 亚洲视频专区一区二区三区 | 免费看av在线网站网址| 在线看片无码永久免费aⅴ| 强d乱码中文字幕熟女1000部| 国产高清在线一区二区不卡| 一本一道av无码中文字幕﹣百度 | 久久综合第一页无码| 久草久热这里只有精品| 亚洲精一区二区三av| 亚洲精品美女久久久久99| 天天插视频| 亚洲av狠狠爱一区二区三区| а√中文在线资源库| 九九久久精品国产| 一区二区三区中文字幕有码| 丁香花五月六月综合激情| 成人免费看片又大又黄| 无码一区东京热| 国产日产亚洲系列首页| 亚洲欧美乱日韩乱国产| 香蕉视频一级| 国产精品视频白浆免费看| 强开少妇嫩苞又嫩又紧九色|