基于國(guó)密算法(SM2-SM4) 建立的數(shù)據(jù)傳輸通道,滿(mǎn)足SSL(SecureSocketsLayer,安全套接層)數(shù)據(jù)安全協(xié)議。國(guó)密 算法是國(guó)家密碼管理局推行發(fā)布的一套公鑰密碼算法,基于運(yùn)類(lèi)算法建立的數(shù)據(jù)傳輸通道 的安全性會(huì)比https通道的安全性高。
[0098]具體來(lái)說(shuō),由于預(yù)設(shè)安全通道的安全性要比https通道的安全性高,因此在獲得 待發(fā)送數(shù)據(jù)之后,可W事先判斷該待發(fā)送數(shù)據(jù)是否需要使用預(yù)設(shè)安全通道(例如國(guó)密通 道)傳輸。如果待發(fā)送數(shù)據(jù)需要使用預(yù)設(shè)安全通道傳輸,則進(jìn)一步判定待發(fā)送數(shù)據(jù)對(duì)應(yīng)的 目標(biāo)服務(wù)器(即:待發(fā)送數(shù)據(jù)的最終到達(dá)地)是否支持建立預(yù)設(shè)安全通道接收所述待發(fā)送 數(shù)據(jù)。如果目標(biāo)服務(wù)器支持建立預(yù)設(shè)安全通道接收所述待發(fā)送數(shù)據(jù)時(shí),可優(yōu)先使用預(yù)設(shè)安 全通道傳輸數(shù)據(jù),W提高數(shù)據(jù)傳輸?shù)陌踩?。如果不支持建立預(yù)設(shè)安全通道接收所述待發(fā) 送數(shù)據(jù),則選用https通道傳輸該待發(fā)送數(shù)據(jù)。
[0099]在具體的實(shí)施過(guò)程中,在判斷待發(fā)送數(shù)據(jù)對(duì)應(yīng)的目標(biāo)服務(wù)器是否支持建立預(yù)設(shè)安 全通道接收所述待發(fā)送數(shù)據(jù)時(shí),會(huì)先提取所述待發(fā)送數(shù)據(jù)中關(guān)于目標(biāo)服務(wù)器的特征信息; 然后基于所述目標(biāo)服務(wù)器的特征信息判斷所述目標(biāo)服務(wù)器是否支持建立所述預(yù)設(shè)安全通 道接收所述待發(fā)送數(shù)據(jù)。
[0100] 待發(fā)送數(shù)據(jù)除了包含一項(xiàng)或者幾項(xiàng)數(shù)據(jù)組合(例如文檔和圖像的組合)之外,還 包括終端設(shè)備的源地址(例如源IP地址)、源端口;目標(biāo)服務(wù)器(待發(fā)送數(shù)據(jù)最終到達(dá)地) 的接收地址(例如建設(shè)銀行的IP地址)、接收端口;等等。 陽(yáng)101] 由此可知,本發(fā)明的目標(biāo)服務(wù)器的特征信息包括但不限于是:IP地址和/或接收 端口。終端設(shè)備側(cè)在獲得了待發(fā)送數(shù)據(jù)之后,可W從待發(fā)送數(shù)據(jù)中提取出關(guān)于目標(biāo)服務(wù)器 的特征信息,例如:IP地址和/或接收端口。 陽(yáng)1〇引因此,在提取到目標(biāo)服務(wù)器的特征信息之后,可W利用'判斷所述目標(biāo)服務(wù)器的特 征信息是否存在第二白名單中'來(lái)判定對(duì)應(yīng)的目標(biāo)服務(wù)器是否支持建立預(yù)設(shè)安全通道接收 所述待發(fā)送數(shù)據(jù)。 陽(yáng)103]具體來(lái)說(shuō),第二白名單上記載的是到目前為止獲得(主動(dòng)全網(wǎng)捜索或者被動(dòng)接收 服務(wù)器發(fā)送)的支持所述預(yù)設(shè)安全通道的服務(wù)器的特征信息。也就是說(shuō),第二白名單上除 了記載有待發(fā)送數(shù)據(jù)對(duì)應(yīng)的目標(biāo)服務(wù)器之外,還記載了支持所述預(yù)設(shè)安全通道的其他目標(biāo) 服務(wù)器的特征信息。
[0104] 第二白名單可W有表格、列表、數(shù)據(jù)庫(kù)等等多種表現(xiàn)形式。下面請(qǐng)參看表1,是本發(fā) 明W表格的形式列舉的第二白名單上記載的部分目標(biāo)服務(wù)器的特征信息。 陽(yáng)1化] 陽(yáng)106] 表1
[0107] 應(yīng)當(dāng)注意的是,除了表格W外,第二白名單上還可W有其他表現(xiàn)形式,運(yùn)些表現(xiàn)形 式也應(yīng)當(dāng)屬于本發(fā)明的保護(hù)范圍之內(nèi)。
[0108] 一般來(lái)說(shuō),第二白名單存儲(chǔ)在終端設(shè)備側(cè)。關(guān)于第二白名單的更新,本發(fā)明實(shí)施例 也提供了多種更新方式,具體請(qǐng)參看下面的介紹。
[0109] 終端設(shè)備可W對(duì)第二白名單實(shí)時(shí)更新。每當(dāng)發(fā)現(xiàn)不在第二白名單上且支持所述預(yù) 設(shè)安全通道的其他服務(wù)器(既支持所述預(yù)設(shè)安全通道又沒(méi)有在第二白名單上的服務(wù)器), 都可W立即將其對(duì)應(yīng)的特征信息更新到第二白名單中,W保證第二白名單一直保持最新版 本供終端設(shè)備側(cè)使用。
[0110] 而為了節(jié)約網(wǎng)絡(luò)資源,終端設(shè)備還可W定時(shí)對(duì)第二白名單進(jìn)行更新。例如每隔24 小時(shí)便對(duì)第二白名單進(jìn)行一次更新。 陽(yáng)111]另外,還可W在獲得不在第二白名單上且支持所述預(yù)設(shè)安全通道的其他服務(wù)器的 特征信息時(shí),將所述其他服務(wù)器的特征信息加入所述第二白名單進(jìn)行更新。例如:不在第二 白名單上且支持預(yù)設(shè)安全通道的銀行服務(wù)器告知終端設(shè)備其能夠支持預(yù)設(shè)安全通道運(yùn)一 消息,并且發(fā)送自身的特征信息給終端設(shè)備,那么終端設(shè)備在接收到運(yùn)一消息之后,則會(huì)將 銀行服務(wù)器的特征信息更新到第二白名單中?;蛘?,終端設(shè)備接收到不在第二白名單上且 支持預(yù)設(shè)安全通道的銀行服務(wù)器的特征信息之后,就能夠直接將該銀行服務(wù)器的特征信息 更新到第二白名單中。
[0112] 而在判斷所述目標(biāo)服務(wù)器的特征信息是否存在第二白名單時(shí),若所述目標(biāo)服務(wù)器 的特征信息存在所述第二白名單中,則表示所述目標(biāo)服務(wù)器支持建立預(yù)設(shè)安全通道接收所 述待發(fā)送數(shù)據(jù)。
[0113] 由于目標(biāo)服務(wù)器的特征信息包括但不限于是:IP地址和/或接收端口。因此在具 體的判斷過(guò)程中有W下幾種方式:
[0114] 第一種方式:判斷目標(biāo)服務(wù)器的IP地址是否存在第二白名單中,若所述目標(biāo)服務(wù) 器的IP地址存在所述第二白名單中,則表示所述目標(biāo)服務(wù)器支持建立預(yù)設(shè)安全通道接收 所述待發(fā)送數(shù)據(jù)。例如目標(biāo)服務(wù)器Al的IP地址為118. 114. 168. 212。將其和第二白名單 上的存儲(chǔ)的IP地址進(jìn)行對(duì)比,如果第二白名單上存儲(chǔ)有118. 114. 168. 212。那么就表示目 標(biāo)服務(wù)器Al的IP地址存在于第二白名單上,因此目標(biāo)服務(wù)器支持建立預(yù)設(shè)安全通道接收 所述待發(fā)送數(shù)據(jù)。
[0115] 第二種方式:判斷目標(biāo)服務(wù)器的端口是否存在第二白名單中,若所述目標(biāo)服務(wù)器 的端口存在所述第二白名單中,則表示所述目標(biāo)服務(wù)器支持建立預(yù)設(shè)安全通道接收所述待 發(fā)送數(shù)據(jù)。例如目標(biāo)服務(wù)器Al端口為147。將其和第二白名單上的存儲(chǔ)的端口進(jìn)行對(duì)比, 如果第二白名單上存儲(chǔ)有147。那么就表示目標(biāo)服務(wù)器Al的端口存在于第二白名單上,因 此目標(biāo)服務(wù)器支持建立預(yù)設(shè)安全通道接收所述待發(fā)送數(shù)據(jù)。
[0116] 第=種方式:判斷目標(biāo)服務(wù)器的IP地址和端口是否都存在于第二白名單中。如果 目標(biāo)服務(wù)器的IP地址和端口都存在所述第二白名單中,則表示所述目標(biāo)服務(wù)器支持建立 預(yù)設(shè)安全通道接收所述待發(fā)送數(shù)據(jù)。
[0117] W上是基于所述目標(biāo)服務(wù)器的特征信息判斷對(duì)應(yīng)的目標(biāo)服務(wù)器是否支持建立預(yù) 設(shè)安全通道接收所述待發(fā)送數(shù)據(jù)的具體實(shí)施過(guò)程。
[0118]S3,若所述目標(biāo)服務(wù)器支持建立所述預(yù)設(shè)安全通道接收所述待發(fā)送數(shù)據(jù),則將所 述待發(fā)送數(shù)據(jù)發(fā)送給終端設(shè)備側(cè)的代理裝置,使所述代理裝置建立所述預(yù)設(shè)安全通道,然 后利用所述預(yù)設(shè)安全通道轉(zhuǎn)發(fā)所述待發(fā)送數(shù)據(jù)給所述目標(biāo)服務(wù)器。
[0119] 作為一種可能的實(shí)現(xiàn)方式,在瀏覽器側(cè)將待發(fā)送數(shù)據(jù)發(fā)送給內(nèi)部的代理裝置時(shí), 可W將待發(fā)送數(shù)據(jù)使用密鑰加密之后發(fā)送給所述代理裝置。使用的加密密鑰包括但不限于 是字符、數(shù)字、字母等等任一項(xiàng)或者幾項(xiàng)組合。
[0120] 對(duì)于代理裝置來(lái)說(shuō),其可W存在于瀏覽器內(nèi)部,作為瀏覽器的組成部分,另外,代 理裝置也可W作為獨(dú)立的個(gè)體存在于終端設(shè)備內(nèi)部。代理裝置接收到待發(fā)送數(shù)據(jù)之后,會(huì) 使用對(duì)應(yīng)的解密密鑰進(jìn)行解密。 陽(yáng)121] 代理裝置側(cè)默認(rèn)接收到的待發(fā)送數(shù)據(jù)都需要使用預(yù)設(shè)安全通道發(fā)送。因此,在接 收到待發(fā)送數(shù)據(jù)之后,會(huì)建立預(yù)設(shè)安全通道,然后利用所述預(yù)設(shè)安全通道將待發(fā)送數(shù)據(jù)轉(zhuǎn) 發(fā)給所述目標(biāo)服務(wù)器。 陽(yáng)122] 在實(shí)際應(yīng)用中,代理裝置能夠完成W下功能(W國(guó)密通道為例): 陽(yáng)123] (1)自動(dòng)識(shí)別及操作國(guó)密USBKEY,支持多USBKEY,多證書(shū)選擇。
[0124] (2)驗(yàn)證及顯示國(guó)密證書(shū)鏈。 陽(yáng)125] (3)管理國(guó)密白名單。
[01%] (4)協(xié)議嗅探等機(jī)制確定目標(biāo)服務(wù)器是否為國(guó)密服務(wù)器,協(xié)議嗅探采用在基本 TCP連接上增加一次握手的方式實(shí)現(xiàn)。
[0127] (5)SM2/SM3/SM4 算法實(shí)現(xiàn)。
[0128] (6)國(guó)密S化雙向/雙向連接建立。 陽(yáng)129] (7)國(guó)密/商密SSL自主選擇。
[0130] 因此,在建立預(yù)設(shè)安全通道時(shí)(W國(guó)密通道為例),會(huì)經(jīng)歷W下幾個(gè)階段:握手請(qǐng) 求階段、代理裝置驗(yàn)證階段,目標(biāo)服務(wù)器驗(yàn)證階段。 陽(yáng)131] 在握手請(qǐng)求階段,代理裝置先和目標(biāo)服務(wù)器相互發(fā)送訪問(wèn)請(qǐng)求進(jìn)行握手。握手完 畢后,代理裝置向目標(biāo)服務(wù)器發(fā)送SM2證書(shū)、自身的密鑰交換消息W及握手完成消息;目標(biāo) 服務(wù)器收到代理裝置發(fā)送的握手完成消息后,發(fā)送自身的密鑰交換消息給代理裝置。然后 雙方更換密碼套件消息和結(jié)束消息;雙方均收到對(duì)方的結(jié)束消息并通過(guò)驗(yàn)證后,表示通道 建立完成。雙方可W使用約定的安全參數(shù)進(jìn)行數(shù)據(jù)安全傳輸。
[0132] 當(dāng)預(yù)設(shè)安全通道建立之后,代理裝置則會(huì)利用所述預(yù)設(shè)安全通道轉(zhuǎn)發(fā)所述待發(fā)送 數(shù)據(jù)。在轉(zhuǎn)發(fā)時(shí)會(huì)W約定的安全參數(shù)(例如約定密鑰)對(duì)待發(fā)送數(shù)據(jù)進(jìn)行處理后傳輸。
[0133]目標(biāo)服務(wù)器側(cè)收到該待發(fā)送數(shù)據(jù)之后,則會(huì)使用約定的安全參數(shù)(例如約定密 鑰)處理,然后得到待發(fā)送數(shù)據(jù)進(jìn)行相應(yīng)的后續(xù)處理。
[0134] W上便是代理裝置轉(zhuǎn)發(fā)待發(fā)送數(shù)據(jù)的過(guò)程。而對(duì)于終端設(shè)備來(lái)說(shuō),還可W接收所 述代理裝置利用所述預(yù)設(shè)安全通道轉(zhuǎn)發(fā)過(guò)來(lái)的其他數(shù)據(jù)。
[0135] 在另一種可能的實(shí)現(xiàn)方式中,在所述基于所述目標(biāo)服務(wù)器的特征信息判斷所述目 標(biāo)服務(wù)器是否支持建立預(yù)設(shè)安全通道接收所述待發(fā)送數(shù)據(jù)之后,若所述目標(biāo)服務(wù)器不支持 建立預(yù)設(shè)安全通道接收所述待發(fā)送數(shù)據(jù),使用所述htttps通道將所述待發(fā)送數(shù)據(jù)直接發(fā) 送給所述目標(biāo)服務(wù)器。
[0136] 為了進(jìn)一步提高數(shù)據(jù)傳輸?shù)陌踩?,而在使用所述htttps通道發(fā)送所述待發(fā)送數(shù) 據(jù)時(shí),還可W對(duì)待發(fā)送數(shù)據(jù)事先進(jìn)行加密,然后發(fā)送加密后的數(shù)據(jù)給所述目標(biāo)服務(wù)器。即: 若所述目標(biāo)服務(wù)器不支持建立所述預(yù)設(shè)安全通道接收待發(fā)送數(shù)據(jù),對(duì)所述待發(fā)送數(shù)據(jù)加密 之后利用所述https通道發(fā)送給所述目標(biāo)服務(wù)器。
[0137]W上是本發(fā)明公開(kāi)的安全傳輸數(shù)據(jù)的方法,首先檢測(cè)目的服務(wù)器的所在機(jī)構(gòu)是否 屬于保密機(jī)構(gòu),若檢測(cè)出所述目的服務(wù)器屬于所述保密機(jī)構(gòu),然后基于所述目標(biāo)服務(wù)器的 特征信息判斷所述目標(biāo)服務(wù)器是否支持建立預(yù)設(shè)安全通道接收所述待發(fā)送數(shù)據(jù)。若支持則 利用代理裝置建立所述預(yù)設(shè)安全通道轉(zhuǎn)發(fā)待發(fā)送數(shù)據(jù)給所述目標(biāo)服務(wù)器。由于瀏覽器發(fā)送 給代理裝置的待發(fā)送數(shù)據(jù)屬于內(nèi)部傳輸,而在外部傳輸時(shí)(即代理裝置建立預(yù)設(shè)安全通道 傳輸待發(fā)送數(shù)據(jù)給目標(biāo)服務(wù)器),所述預(yù)設(shè)安全通道的安全級(jí)別高于https通道,因此,本 發(fā)明在能夠提高數(shù)據(jù)傳輸?shù)陌踩浴?br>[0138] 進(jìn)一步的,若所述目標(biāo)服務(wù)器不支持建立預(yù)設(shè)安全通道接收所述待發(fā)送數(shù)據(jù),本 發(fā)明還可W使用所述htttps通道將所述待發(fā)送數(shù)據(jù)直接發(fā)送給所述目標(biāo)服務(wù)器。因此,本 發(fā)明可W兼容兩種傳輸方式將待發(fā)送數(shù)據(jù)發(fā)送給所述目標(biāo)服務(wù)器。
[0139] 而基于同一發(fā)明構(gòu)思,下面的實(shí)施例提供一種終端設(shè)備。
[0140] 下面請(qǐng)參看圖3,在本發(fā)明的另一種實(shí)施例,提供了一種終端設(shè)備,包括: 陽(yáng)141] 檢測(cè)模塊301,用于檢測(cè)待發(fā)送數(shù)據(jù)對(duì)應(yīng)的目標(biāo)服務(wù)器的所在機(jī)構(gòu)是否屬于保密 機(jī)構(gòu); 陽(yáng)142] 判斷模塊302,用于若檢測(cè)出所述目標(biāo)服務(wù)器的所在機(jī)構(gòu)屬于所述保密機(jī)構(gòu),則判 斷所述目標(biāo)服務(wù)器是否支持建立預(yù)設(shè)安全通道接收所述待發(fā)送數(shù)據(jù),所述預(yù)設(shè)安全通道是 不同于超文本傳輸協(xié)議安全https通道的另一類(lèi)安全通道,并且所述預(yù)設(shè)安全通道的安全 級(jí)別高于所述https通道;
[0143] 第一發(fā)送模塊303,用于若所述目標(biāo)服務(wù)器支持建立所述預(yù)設(shè)安全通道接收所述 待發(fā)送數(shù)據(jù),則將所述待發(fā)送數(shù)據(jù)發(fā)