本發(fā)明涉及計(jì)算機(jī)、互聯(lián)網(wǎng)數(shù)據(jù)傳輸及信息,特別涉及適配不同ipsec協(xié)議的ip加密傳輸軟件框架系統(tǒng)及相關(guān)方法,更具體的說是涉及一種可適配不同ipsec協(xié)議的ip加密傳輸軟件框架系統(tǒng)及數(shù)據(jù)處理方法。
背景技術(shù):
1、ipsec(internetprotocol?security)是由國際互聯(lián)網(wǎng)工程技術(shù)小組(internetengineering?task?force,ietf)提出的用于保護(hù)ip層通信的安全保密架構(gòu)。ipsec通過對(duì)ip協(xié)議的分組進(jìn)行加密和認(rèn)證,保護(hù)網(wǎng)絡(luò)傳輸中的數(shù)據(jù)完整性和保密性。盡管標(biāo)準(zhǔn)的ipsec協(xié)議已經(jīng)廣泛應(yīng)用,但在實(shí)際項(xiàng)目中常需要進(jìn)行一定程度的自定義修改,以滿足特定項(xiàng)目的ip加密需求。
2、在linux系統(tǒng)中,netfilter框架提供了一整套的hook函數(shù)管理機(jī)制,使得數(shù)據(jù)包過濾、網(wǎng)絡(luò)地址轉(zhuǎn)換(nat)和基于協(xié)議類型的連接跟蹤成為可能。netfilter通過在網(wǎng)絡(luò)流程的若干位置放置檢測點(diǎn)(hook),并在每個(gè)檢測點(diǎn)上登記處理函數(shù)來實(shí)現(xiàn)報(bào)文處理功能。然而,netfilter是一個(gè)內(nèi)核態(tài)框架,將ipsec協(xié)議處理相關(guān)功能放在內(nèi)核態(tài)處理雖然能提高性能,但也帶來調(diào)試不便、問題難以定位及故障后果嚴(yán)重等問題。
技術(shù)實(shí)現(xiàn)思路
1、有鑒于此,基于現(xiàn)有技術(shù)中,由于將ipsec協(xié)議處理功能放置在內(nèi)核態(tài),存在調(diào)試?yán)щy、問題定位難、故障處理復(fù)雜等問題。本發(fā)明提供了一種可適配不同ipsec協(xié)議的ip加密傳輸軟件框架系統(tǒng)及相關(guān)方法,以在用戶態(tài)進(jìn)行靈活的ipsec協(xié)議處理,兼顧性能和調(diào)試便利性。
2、為了實(shí)現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:
3、第一方面,本發(fā)明提供一種適配不同ipsec協(xié)議的ip加密傳輸軟件框架系統(tǒng),包括:
4、內(nèi)核態(tài)的報(bào)文攔截處理模塊,利用netfilter框架在不同hook點(diǎn)攔截ip報(bào)文,根據(jù)所述安全規(guī)則的配置,確定是否轉(zhuǎn)發(fā)至用戶態(tài)的ip加密傳輸服務(wù)進(jìn)行加密或解密處理;
5、用戶態(tài)的ip加密傳輸服務(wù)模塊,用于接收內(nèi)核態(tài)攔截到的ip報(bào)文,并對(duì)這些ip報(bào)文進(jìn)行加密、解密、發(fā)送處理,由數(shù)據(jù)收發(fā)調(diào)度框架和ipsec協(xié)議處理模塊組成,支持不同ipsec協(xié)議處理模塊的替換;
6、用戶態(tài)的配置管理工具,用于提供安全規(guī)則配置及服務(wù)啟動(dòng)、停止和狀態(tài)查看功能。
7、進(jìn)一步地,所述ip加密傳輸服務(wù)模塊,包括:
8、數(shù)據(jù)收發(fā)調(diào)度框架,用于接收內(nèi)核態(tài)的報(bào)文攔截處理模塊轉(zhuǎn)發(fā)的待處理ip報(bào)文,并根據(jù)ip報(bào)文所處的hook位置和ip報(bào)文狀態(tài),調(diào)用ipsec協(xié)議處理模塊進(jìn)行加密或解密處理,再將處理后的報(bào)文發(fā)送到目的地;該框架提供與ipsec協(xié)議處理模塊交互的標(biāo)準(zhǔn)接口;
9、ipsec協(xié)議處理模塊,用于對(duì)ip報(bào)文進(jìn)行加密和解密處理,支持ipsec協(xié)議封裝和解封;該模塊實(shí)現(xiàn)與數(shù)據(jù)收發(fā)調(diào)度框架交互的標(biāo)準(zhǔn)接口,針對(duì)不同的ipsec協(xié)議需實(shí)現(xiàn)不同的ipsec協(xié)議處理模塊。
10、進(jìn)一步地,所述數(shù)據(jù)收發(fā)調(diào)度框架,包括:
11、內(nèi)核數(shù)據(jù)接收線程,用于接收從內(nèi)核態(tài)的報(bào)文攔截處理模塊轉(zhuǎn)發(fā)的待處理ip報(bào)文;
12、加密線程,用于通過調(diào)用ipsec協(xié)議處理模塊對(duì)待加密報(bào)文進(jìn)行加密處理,并發(fā)送至目的端;
13、解密線程,用于通過調(diào)用ipsec協(xié)議處理模塊對(duì)待解密報(bào)文進(jìn)行解密處理,并發(fā)送至本機(jī)應(yīng)用程序。
14、進(jìn)一步地,所述內(nèi)核態(tài)的報(bào)文攔截處理,包括:
15、安全規(guī)則管理模塊,用于管理和緩存從用戶態(tài)下發(fā)的安全規(guī)則;
16、報(bào)文攔截轉(zhuǎn)發(fā)模塊,在netfilter框架提供的多個(gè)hook處進(jìn)行報(bào)文攔截,并根據(jù)安全規(guī)則對(duì)攔截到的報(bào)文進(jìn)行處理,具體的處理方式包括放行、丟棄、轉(zhuǎn)發(fā)至用戶態(tài)的ip加密傳輸服務(wù)進(jìn)行加解密處理。
17、第二方面,本發(fā)明還提供一種適配不同ipsec協(xié)議的ip加密傳輸軟件的數(shù)據(jù)處理方法,使用如第一方面任一項(xiàng)所述的適配不同ipsec協(xié)議的ip加密傳輸軟件框架系統(tǒng),該數(shù)據(jù)處理方法包括:
18、通過框架系統(tǒng)中的配置管理工具配置所需的安全規(guī)則;
19、配置完安全規(guī)則后,啟動(dòng)用戶態(tài)的ip加密傳輸服務(wù)模塊;
20、所述ip加密傳輸服務(wù)模塊的數(shù)據(jù)收發(fā)調(diào)度框架啟動(dòng)時(shí),初始化已配置的安全規(guī)則,并將已配置的安全規(guī)則下發(fā)給內(nèi)核態(tài)的報(bào)文攔截處理模塊;
21、所述報(bào)文攔截處理模塊將收到的安全規(guī)則緩存,以備模塊中的各netfilter?hook函數(shù)執(zhí)行時(shí)查詢使用;
22、基于ip加密傳輸軟件框架系統(tǒng)實(shí)現(xiàn)ip加密軟件對(duì)數(shù)據(jù)的發(fā)送和/或接收處理。
23、進(jìn)一步地,基于ip加密傳輸軟件框架系統(tǒng)實(shí)現(xiàn)ip加密軟件對(duì)數(shù)據(jù)的發(fā)送處理,包括:
24、內(nèi)核態(tài)的報(bào)文攔截處理模塊在local_out?hook處攔截應(yīng)用程序發(fā)送的ip報(bào)文,查找安全規(guī)則緩存;
25、若需加密處理,則轉(zhuǎn)發(fā)給用戶態(tài)數(shù)據(jù)收發(fā)調(diào)度框架的內(nèi)核數(shù)據(jù)接收線程;
26、內(nèi)核數(shù)據(jù)接收線程接收到ip報(bào)文后,判斷是待加密報(bào)文后,則轉(zhuǎn)發(fā)給加密線程;
27、所述加密線程調(diào)用ipsec協(xié)議處理模塊進(jìn)行加密處理,得到加密后的ip報(bào)文;
28、所述加密線程將加密后的ip報(bào)文通過原始套接字發(fā)送至目的端;
29、所述報(bào)文攔截處理模塊的local_out?hook函數(shù)判斷是加密后的ip報(bào)文,則放行,使其正常發(fā)送給目的端。
30、進(jìn)一步地,基于ip加密傳輸軟件框架系統(tǒng)實(shí)現(xiàn)ip加密軟件對(duì)數(shù)據(jù)的接收處理,包括:
31、內(nèi)核態(tài)的報(bào)文攔截處理模塊在local_in?hook處攔截遠(yuǎn)端發(fā)來的報(bào)文;查找安全規(guī)則緩存,并判斷報(bào)文是否需解密;
32、若需解密處理,則轉(zhuǎn)發(fā)待解密報(bào)文至用戶態(tài)數(shù)據(jù)收發(fā)調(diào)度框架的內(nèi)核數(shù)據(jù)接收線程;
33、內(nèi)核數(shù)據(jù)接收線程接收到ip報(bào)文后,判斷是待解密報(bào)文后,則轉(zhuǎn)發(fā)給解密線程;
34、所述解密線程調(diào)用ipsec協(xié)議處理模塊進(jìn)行解密處理,得到解密后的ip報(bào)文;
35、所述解密線程將解密后的ip報(bào)文調(diào)用原始套接字發(fā)送給回環(huán)設(shè)備;
36、所述報(bào)文攔截處理模塊的local_out?hook函數(shù)判斷是發(fā)送給回環(huán)設(shè)備的數(shù)據(jù),則放行;
37、所述報(bào)文攔截處理模塊的local_in?hook函數(shù)判斷是發(fā)送給本機(jī)的數(shù)據(jù),則放行,正常發(fā)送給本機(jī)的某個(gè)應(yīng)用程序。
38、經(jīng)由上述的技術(shù)方案可知,與現(xiàn)有技術(shù)相比,本發(fā)明公開提供了一種可適配不同ipsec協(xié)議的ip加密傳輸軟件框架系統(tǒng),通過實(shí)現(xiàn)用戶態(tài)的ip加密傳輸服務(wù),與linux內(nèi)核提供的netfilter框架緊密配合,實(shí)現(xiàn)在內(nèi)核態(tài)進(jìn)行報(bào)文攔截,在用戶態(tài)對(duì)報(bào)文進(jìn)行處理。通過定義ip加密傳輸服務(wù)的數(shù)據(jù)收發(fā)調(diào)度框架與ipsec協(xié)議處理模塊的標(biāo)準(zhǔn)接口,實(shí)現(xiàn)兼容不同的ipsec協(xié)議處理模塊,提供ip加密傳輸服務(wù)功能,兼顧性能和調(diào)試便利性。
1.適配不同ipsec協(xié)議的ip加密傳輸軟件框架系統(tǒng),其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的適配不同ipsec協(xié)議的ip加密傳輸軟件框架系統(tǒng),其特征在于,所述ip加密傳輸服務(wù)模塊,包括:
3.根據(jù)權(quán)利要求2所述的適配不同ipsec協(xié)議的ip加密傳輸軟件框架系統(tǒng),其特征在于,所述數(shù)據(jù)收發(fā)調(diào)度框架,包括:
4.根據(jù)權(quán)利要求2所述的適配不同ipsec協(xié)議的ip加密傳輸軟件框架系統(tǒng),其特征在于,所述內(nèi)核態(tài)的報(bào)文攔截處理模塊,包括:
5.適配不同ipsec協(xié)議的ip加密傳輸軟件的數(shù)據(jù)處理方法,其特征在于,使用如權(quán)利要求1-4任一項(xiàng)所述的適配不同ipsec協(xié)議的ip加密傳輸軟件框架系統(tǒng),該數(shù)據(jù)處理方法包括:
6.適配不同ipsec協(xié)議的ip加密傳輸軟件的數(shù)據(jù)處理方法,其特征在于,基于ip加密傳輸軟件框架系統(tǒng)實(shí)現(xiàn)ip加密軟件對(duì)數(shù)據(jù)的發(fā)送處理,包括:
7.適配不同ipsec協(xié)議的ip加密傳輸軟件的數(shù)據(jù)處理方法,其特征在于,基于ip加密傳輸軟件框架系統(tǒng)實(shí)現(xiàn)ip加密軟件對(duì)數(shù)據(jù)的接收處理,包括: