System.ArgumentOutOfRangeException: 索引和長(zhǎng)度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實(shí)現(xiàn)步驟摘要】
本申請(qǐng)涉及通信,尤其涉及一種數(shù)據(jù)傳輸方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)。
技術(shù)介紹
1、在客戶端訪問數(shù)據(jù)庫的tcp(transmission?control?protocol,傳輸控制協(xié)議)連接中,經(jīng)過通信雙方的參數(shù)協(xié)商,tcp連接既可以明文方式進(jìn)行數(shù)據(jù)交互,也可以類ssl(secure?sockets?layer,安全套接層)協(xié)議進(jìn)行加密的密文方式進(jìn)行數(shù)據(jù)交互。為了保證數(shù)據(jù)安全,通常在客戶端與數(shù)據(jù)庫服務(wù)器之間設(shè)置防火墻對(duì)客戶端與數(shù)據(jù)庫之間傳輸?shù)臄?shù)據(jù)進(jìn)行監(jiān)測(cè),對(duì)威脅數(shù)據(jù)進(jìn)行攔截。
2、相關(guān)技術(shù)中,部分防火墻僅能夠代理明文數(shù)據(jù)連接,對(duì)于加密連接數(shù)據(jù)直接透?jìng)鳎瑥亩鴮?dǎo)致加密連接數(shù)據(jù)對(duì)數(shù)據(jù)庫的操作無法進(jìn)行有效防護(hù)。部分防火墻僅能夠代理某種特定類型的數(shù)據(jù)庫的加密連接,不同類型的數(shù)據(jù)庫實(shí)現(xiàn)加密代理不具備通用性,且也無法同時(shí)支持代理訪問數(shù)據(jù)庫的明密全鏈路。
3、因此,如何實(shí)現(xiàn)防火墻同時(shí)代理明文連接和加密連接,實(shí)現(xiàn)對(duì)客戶端訪問數(shù)據(jù)庫的全鏈路代理,是現(xiàn)有技術(shù)中亟待解決的技術(shù)問題之一。
技術(shù)實(shí)現(xiàn)思路
1、為了解決防火墻無法同時(shí)支持代理訪問數(shù)據(jù)庫的明文連接和加密連接的問題,本申請(qǐng)實(shí)施例提供了一種數(shù)據(jù)傳輸方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)。
2、第一方面,本申請(qǐng)實(shí)施例提供了一種數(shù)據(jù)傳輸方法,應(yīng)用于防火墻,所述方法,包括:
3、在分別與客戶端和數(shù)據(jù)庫完成傳輸控制協(xié)議tcp連接三次握手后,接收所述數(shù)據(jù)庫向所述客戶端發(fā)送的第一加密協(xié)商消息,以及所述客戶端向所述數(shù)據(jù)庫發(fā)送的
4、若基于所述第一加密協(xié)商消息與所述第二加密協(xié)商消息確定明文傳輸數(shù)據(jù),則對(duì)所述客戶端與所述數(shù)據(jù)庫之間的數(shù)據(jù)進(jìn)行明文傳輸;
5、若基于所述第一加密協(xié)商消息與所述第二加密協(xié)商消息確定加密傳輸數(shù)據(jù),則分別建立與所述客戶端之間的安全套接層ssl連接,以及與所述數(shù)據(jù)庫之間的ssl連接,以對(duì)所述客戶端與所述數(shù)據(jù)庫之間的數(shù)據(jù)進(jìn)行ssl加密傳輸。
6、在一種實(shí)施方式中,所述數(shù)據(jù)庫至少包括mysql數(shù)據(jù)庫和mstds數(shù)據(jù)庫;
7、當(dāng)所述數(shù)據(jù)庫為mstds數(shù)據(jù)庫時(shí),若基于所述第一加密協(xié)商消息與所述第二加密協(xié)商消息確定加密傳輸數(shù)據(jù),則分別建立與所述客戶端之間的安全套接層協(xié)議ssl連接,以及與所述數(shù)據(jù)庫之間的ssl連接,以對(duì)所述客戶端與所述數(shù)據(jù)庫之間的數(shù)據(jù)進(jìn)行ssl加密傳輸,具體包括:
8、若基于所述第一加密協(xié)商消息與所述第二加密協(xié)商消息確定對(duì)登錄信息進(jìn)行加密,則分別建立與所述客戶端之間的ssl連接,以及與所述數(shù)據(jù)庫之間的ssl連接,對(duì)所述客戶端發(fā)送的登錄信息進(jìn)行ssl加密后發(fā)送至所述數(shù)據(jù)庫,并在發(fā)送成功后斷開與所述客戶端之間的ssl連接,以及與所述數(shù)據(jù)庫之間的ssl連接,以對(duì)后續(xù)所述客戶端與所述數(shù)據(jù)庫之間的數(shù)據(jù)進(jìn)行明文傳輸;
9、若基于所述第一加密協(xié)商消息與所述第二加密協(xié)商消息確定對(duì)所述客戶端與所述數(shù)據(jù)庫之間的所有數(shù)據(jù)進(jìn)行加密傳輸,則分別建立與所述客戶端之間的ssl連接,以及與所述數(shù)據(jù)庫之間的ssl連接,以對(duì)所述客戶端與所述數(shù)據(jù)庫之間的所有數(shù)據(jù)進(jìn)行ssl加密傳輸。
10、在一種實(shí)施方式中,所述防火墻包括客戶端套接層、服務(wù)端套接層、半加密層和數(shù)據(jù)庫協(xié)議解析層;
11、接收所述數(shù)據(jù)庫向所述客戶端發(fā)送的第一加密協(xié)商消息,具體包括:
12、所述半加密層接收所述數(shù)據(jù)庫通過所述服務(wù)端套接層發(fā)送的所述第一加密協(xié)商消息;
13、接收所述客戶端向所述數(shù)據(jù)庫發(fā)送的第二加密協(xié)商消息,具體包括:
14、所述半加密層接收所述客戶端通過所述客戶端套接層發(fā)送的所述第二加密協(xié)商消息。
15、在一種實(shí)施方式中,若基于所述第一加密協(xié)商消息與所述第二加密協(xié)商消息確定明文傳輸數(shù)據(jù),則對(duì)所述客戶端與所述數(shù)據(jù)庫之間的數(shù)據(jù)進(jìn)行明文傳輸,具體包括:
16、所述半加密層若基于所述第一加密協(xié)商消息中的第一加密協(xié)商參數(shù)與所述第二加密協(xié)商消息中的第二加密協(xié)商參數(shù)確定明文傳輸數(shù)據(jù),則將接收到的所述客戶端發(fā)送的數(shù)據(jù)請(qǐng)求發(fā)送至所述數(shù)據(jù)庫協(xié)議解析層;
17、所述數(shù)據(jù)庫協(xié)議解析層對(duì)所述數(shù)據(jù)請(qǐng)求進(jìn)行解析,若確定所述數(shù)據(jù)請(qǐng)求中不包含威脅信息,則將所述數(shù)據(jù)請(qǐng)求發(fā)送至所述半加密層;
18、半加密層將所述數(shù)據(jù)請(qǐng)求發(fā)送至所述服務(wù)端套接層,由所述服務(wù)端套接層轉(zhuǎn)發(fā)至所述數(shù)據(jù)庫;
19、所述半加密層接收所述數(shù)據(jù)庫通過所述服務(wù)端套接層返回的響應(yīng)消息,將所述響應(yīng)消息發(fā)送至所述數(shù)據(jù)庫協(xié)議解析層;
20、所述數(shù)據(jù)庫協(xié)議解析層對(duì)所述響應(yīng)消息進(jìn)行解析,若確定所述響應(yīng)消息中不包含威脅信息,則將所述響應(yīng)消息發(fā)送至所述半加密層;
21、所述半加密層將所述響應(yīng)消息發(fā)送至所述客戶端套接層,由所述客戶端套接層轉(zhuǎn)發(fā)至所述客戶端。
22、在一種實(shí)施方式中,若基于所述第一加密協(xié)商消息與所述第二加密協(xié)商消息確定加密傳輸數(shù)據(jù),則分別建立與所述客戶端之間的ssl連接,以及與所述數(shù)據(jù)庫之間的ssl連接,具體包括:
23、所述半加密層若基于所述第一加密協(xié)商消息中的第一加密協(xié)商參數(shù)與所述第二加密協(xié)商消息中的第二加密協(xié)商參數(shù)確定加密傳輸數(shù)據(jù),則在所述半加密層與所述數(shù)據(jù)庫協(xié)議解析層之間添加加密層;
24、所述加密層基于ssl協(xié)議分別建立所述防火墻與所述客戶端之間的ssl連接,以及所述防火墻與所述數(shù)據(jù)庫之間的ssl連接。
25、在一種實(shí)施方式中,在所述加密層基于ssl協(xié)議分別建立所述防火墻與所述客戶端之間的ssl連接,以及與所述數(shù)據(jù)庫之間的ssl連接之后,對(duì)所述客戶端與所述數(shù)據(jù)庫之間的數(shù)據(jù)進(jìn)行ssl加密傳輸,具體包括:
26、所述半加密層將接收到的所述客戶端發(fā)送的通過與所述防火墻協(xié)商的第一私鑰加密的數(shù)據(jù)請(qǐng)求發(fā)送至所述加密層;
27、所述加密層對(duì)所述加密的數(shù)據(jù)請(qǐng)求通過所述第一私鑰對(duì)應(yīng)的第一公鑰進(jìn)行解密,將解密后的數(shù)據(jù)請(qǐng)求發(fā)送至所述數(shù)據(jù)庫協(xié)議解析層;
28、所述數(shù)據(jù)庫協(xié)議解析層對(duì)所述解密后的數(shù)據(jù)請(qǐng)求進(jìn)行解析,若確定所述解密后的數(shù)據(jù)請(qǐng)求中不包含威脅信息,則將所述解密后的數(shù)據(jù)請(qǐng)求發(fā)送至所述加密層;
29、所述加密層通過與所述數(shù)據(jù)庫協(xié)商的第二私鑰對(duì)所述數(shù)據(jù)請(qǐng)求進(jìn)行加密,并將加密后的數(shù)據(jù)請(qǐng)求發(fā)送至所述服務(wù)端套接層,由所述服務(wù)端套接層轉(zhuǎn)發(fā)至所述數(shù)據(jù)庫;
30、所述半加密層接收所述數(shù)據(jù)庫通過所述服務(wù)端套接層返回的采用所述第二私鑰加密的響應(yīng)消息,將所述加密的響應(yīng)消息發(fā)送至所述加密層;
31、所述加密層采用所述第二私鑰對(duì)應(yīng)的第二公鑰對(duì)所述加密的響應(yīng)消息進(jìn)行解密,得到解密后的響應(yīng)消息,將所述解密后的響應(yīng)消息發(fā)送至所述數(shù)據(jù)庫協(xié)議解析層;
32、所述數(shù)據(jù)庫協(xié)議解析層對(duì)所述解密后的響應(yīng)消息進(jìn)行解析,若確定所述解密后的響應(yīng)消息中不包含威脅信息,則將所述解密后的響應(yīng)消息發(fā)送至所述加密層;
33、所述加密層采用所述第一私鑰對(duì)所述響應(yīng)消息進(jìn)行加密本文檔來自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
1.一種數(shù)據(jù)傳輸方法,其特征在于,應(yīng)用于防火墻,所述方法,包括:
2.如權(quán)利要求1所述的方法,其特征在于,所述數(shù)據(jù)庫至少包括Mysql數(shù)據(jù)庫和Mstds數(shù)據(jù)庫;
3.如權(quán)利要求2所述的方法,其特征在于,所述防火墻包括客戶端套接層、服務(wù)端套接層、半加密層和數(shù)據(jù)庫協(xié)議解析層;
4.如權(quán)利要求3所述的方法,其特征在于,若基于所述第一加密協(xié)商消息與所述第二加密協(xié)商消息確定明文傳輸數(shù)據(jù),則對(duì)所述客戶端與所述數(shù)據(jù)庫之間的數(shù)據(jù)進(jìn)行明文傳輸,具體包括:
5.如權(quán)利要求3所述的方法,其特征在于,若基于所述第一加密協(xié)商消息與所述第二加密協(xié)商消息確定加密傳輸數(shù)據(jù),則分別建立與所述客戶端之間的SSL連接,以及與所述數(shù)據(jù)庫之間的SSL連接,具體包括:
6.如權(quán)利要求5所述的方法,其特征在于,在所述加密層基于SSL協(xié)議分別建立所述防火墻與所述客戶端之間的SSL連接,以及與所述數(shù)據(jù)庫之間的SSL連接之后,對(duì)所述客戶端與所述數(shù)據(jù)庫之間的數(shù)據(jù)進(jìn)行SSL加密傳輸,具體包括:
7.如權(quán)利要求5所述的方法,其特征在于,若所述數(shù)據(jù)庫為Mstds數(shù)據(jù)庫
8.如權(quán)利要求5所述的方法,其特征在于,若所述數(shù)據(jù)庫為Mstds數(shù)據(jù)庫,在所述加密層基于SSL協(xié)議建立所述防火墻與所述數(shù)據(jù)庫之間的SSL連接時(shí),對(duì)向所述數(shù)據(jù)庫發(fā)送的SSL握手消息以及所述數(shù)據(jù)庫返回的SSL握手響應(yīng)消息進(jìn)行以下預(yù)處理:
9.一種數(shù)據(jù)傳輸裝置,其特征在于,應(yīng)用于防火墻,所述裝置,包括:
10.如權(quán)利要求9所述的裝置,其特征在于,所述數(shù)據(jù)庫至少包括Mysql數(shù)據(jù)庫和Mstds數(shù)據(jù)庫;
11.如權(quán)利要求9所述的裝置,其特征在于,
12.一種電子設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,其特征在于,所述處理器執(zhí)行所述程序時(shí)實(shí)現(xiàn)如權(quán)利要求1~8任一項(xiàng)所述的數(shù)據(jù)傳輸方法。
13.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,該程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1~8任一項(xiàng)所述的數(shù)據(jù)傳輸方法中的步驟。
...【技術(shù)特征摘要】
1.一種數(shù)據(jù)傳輸方法,其特征在于,應(yīng)用于防火墻,所述方法,包括:
2.如權(quán)利要求1所述的方法,其特征在于,所述數(shù)據(jù)庫至少包括mysql數(shù)據(jù)庫和mstds數(shù)據(jù)庫;
3.如權(quán)利要求2所述的方法,其特征在于,所述防火墻包括客戶端套接層、服務(wù)端套接層、半加密層和數(shù)據(jù)庫協(xié)議解析層;
4.如權(quán)利要求3所述的方法,其特征在于,若基于所述第一加密協(xié)商消息與所述第二加密協(xié)商消息確定明文傳輸數(shù)據(jù),則對(duì)所述客戶端與所述數(shù)據(jù)庫之間的數(shù)據(jù)進(jìn)行明文傳輸,具體包括:
5.如權(quán)利要求3所述的方法,其特征在于,若基于所述第一加密協(xié)商消息與所述第二加密協(xié)商消息確定加密傳輸數(shù)據(jù),則分別建立與所述客戶端之間的ssl連接,以及與所述數(shù)據(jù)庫之間的ssl連接,具體包括:
6.如權(quán)利要求5所述的方法,其特征在于,在所述加密層基于ssl協(xié)議分別建立所述防火墻與所述客戶端之間的ssl連接,以及與所述數(shù)據(jù)庫之間的ssl連接之后,對(duì)所述客戶端與所述數(shù)據(jù)庫之間的數(shù)據(jù)進(jìn)行ssl加密傳輸,具體包括:
7.如權(quán)利要求5所述的方法,其特征在于,若所述數(shù)據(jù)庫為mstds數(shù)據(jù)庫...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:朱鶴,雷晟,王豪,夏昆,
申請(qǐng)(專利權(quán))人:綠盟科技集團(tuán)股份有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。