国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

NDIS防火墻和流過濾技術在文件加密保護中的應用

2017-03-30 02:09林志盤
科技與創(chuàng)新 2016年22期
關鍵詞:防火墻

林志盤

摘 要:計算機信息技術在給人們生活帶來便利、提高信息利用率的同時,網(wǎng)絡安全問題也日顯突出。要想解決網(wǎng)絡的安全問題,最首要的就是在網(wǎng)絡運行中輔以相應的加密技術。闡述了NDIS中間層網(wǎng)絡防火墻技術,詳細分析了流過濾技術在文件加密保護中的應用以及具體實現(xiàn)算法,并介紹了TCP封包的修改。

關鍵詞:防火墻;TCP;網(wǎng)絡通訊;自動加密系統(tǒng)

中圖分類號:TP393.08 文獻標識碼:A DOI:10.15913/j.cnki.kjycx.2016.22.110

隨著網(wǎng)絡應用領域的不斷擴展,人們對信息的保密性要求不斷提高,對網(wǎng)絡安全性能提出了新要求。作為網(wǎng)絡通訊安全的保障性技術,加密技術在網(wǎng)絡通訊安全中起著至關重要的作用。加密技術作為常規(guī)的信息保密技術,實際為在網(wǎng)絡通訊中運用密鑰對文檔進行加密傳送,而信息接收者再對信息進行密鑰解碼讀取信息的技術。只有正確解密的文檔才能被正常瀏覽,因此,該技術能夠有效保證信息的安全。基于此,本文開發(fā)了一套文件自動加密系統(tǒng),其原理是利用Windows NDIS級別防火墻的原理對文件進行保護,采取明文存儲、密文分發(fā)的方式。

1 NDIS中間層網(wǎng)絡防火墻技術

NDIS是Network Driver Interface Specification的縮寫,意為“網(wǎng)絡驅動接口規(guī)范”。NDIS橫跨了傳輸層、網(wǎng)絡層和數(shù)據(jù)鏈路層,其作用是屏蔽了底層物理硬件的區(qū)別。

NDIS支持三種類型的驅動程序,包括MinIPort驅動程序、中間層驅動程序、Protocol驅動程序。本文采用中間層驅動程序。

1.1 NDIS的版本

NDIS版本從支持的操作系統(tǒng)看可以分為NDIS5.x和NDIS6.x。NDIS6.x與NDIS5.x有很大的不同,最重要的是NET_BUFFER替代了NDIS_PACKET。鑒于本系統(tǒng)運行的服務器是Win2008R2,因此,本文中提到的NDIS均指NDIS6.x。

1.2 NDIS6.0的數(shù)據(jù)結構

NDIS6.0中很重要的兩個數(shù)據(jù)結構是NET_BUFFER_LIST和NET_BUFFER。一個NET_BUFFER_LIST結構指向的是一連串的NET_BUFFER,這些NET_BUFFER中保存的數(shù)據(jù)包內容屬于同一個Stream。通過NET_BUFFER_NEXT_NB()可以獲取下一個NET_BUFFER。

1.3 NDIS的相關函數(shù)

在NDIS中,截獲下載數(shù)據(jù)包的關鍵函數(shù)是FilterSend NetBufferLists和FilterSendNetBufferListsComplete。在NDIS驅動安裝成功之后,TCP報文就會在FilterSendNetBufferLists函數(shù)中以NBL的形式存在。對于NBL數(shù)據(jù)的處理,就位于這個函數(shù)中,而FilterSendNetBufferListsComplete的功能是將發(fā)送的結構和數(shù)據(jù)返還給Filter Driver。

2 流過濾技術以及具體實現(xiàn)算法

2.1 流過濾技術和包過濾技術

流過濾技術是在包過濾技術的基礎上提出的。流過濾處理的基本單元是數(shù)據(jù)包,但并不僅限于數(shù)據(jù)包;包過濾技術關注的重點是網(wǎng)絡層和傳輸層,根據(jù)這幾個層次在單個數(shù)據(jù)包中的信息進行過濾,而流過濾注重的是應用層。本文利用流過濾原理對數(shù)據(jù)包中的應用層信息進行加密處理。

2.2 技術方案

本文以HTTP傳輸為例講解流過濾技術在文件加密中的技術方案。HTTP走的協(xié)議為TCP報文,在流過濾方案中截獲的封包是TCP包。處理流程如下:對截獲的TCP報文進行分類處理→對1中篩選后的報文進行分析和再次篩選→對選中的報文記錄該報文的源、目的IP和端口→對此連接的TCP包進行滯留,并接管此TCP連接→對滯留的數(shù)據(jù)包進行重組和加密→將加密后的數(shù)據(jù)還原,繼續(xù)轉發(fā),并歸還此TCP連接。

2.2.1 報文的分類

由于我們的目的是對HTTP下載攜帶的文件內容進行加密處理,所以,我們關注的重點是帶有應用層數(shù)據(jù)的TCP報文。TCP報文首先可以分為帶有應用層數(shù)據(jù)的和不帶有應用層數(shù)據(jù)的。應用層無關報文主要是SYN、FIN、ACK等報文,用于TCP連接和可靠性傳輸。這類報文與我們的應用無關,直接轉發(fā)即可。

2.2.2 報文的分析和篩選

帶有應用層數(shù)據(jù)的TCP報文,我們可以進行定向的篩選,即以應用層協(xié)議關鍵詞進行篩選。比如對于HTTP協(xié)議,應用層會有“HTTP”字樣的關鍵詞,并對HTTP分析。HTTP協(xié)議有POST、GET和應答。傳輸文件的關鍵數(shù)據(jù)包一般在2 00O字節(jié)的應答中,特征是transfe-Encoding的chunk類型(代表以chunk方式控制文件大?。┮约癴ilename中的擴展文件名來確定是否是加密需要的報文。

2.2.3 報文的滯留、重組和加密

文件加密根據(jù)算法需要加密4 096字節(jié)的數(shù)據(jù),而TCP荷載數(shù)據(jù)的報文一般長度是1 514字節(jié),所以,需要合并幾個連續(xù)報文以得到4 096字節(jié)的內容。

由于采用網(wǎng)絡傳輸,TCP報文很有可能是亂序的,所以,需要根據(jù)TCP的序列號對TCP報文進行重組。TCP包的下一序列號=序列號+數(shù)據(jù)長度。這里的數(shù)據(jù)長度是指傳輸?shù)臄?shù)據(jù)大小,不包括ethernet、IP、TCP報頭的長度。

為了重組報文,需要維護兩個隊列,即順序隊列和亂序隊列。

2.2.3.1 順序隊列

截獲一個新的報文后,判斷順序隊列是否為空。如果為空,則判斷報文的序列號是否等于startseq,是則插入順序隊列,否則按照升序插入到亂序隊列;如果順序隊列不為空,則判斷當前序列號是否等于順序隊列結尾的序列號加上數(shù)據(jù)長度,是則插入順序隊列結尾,否則按照升序插入亂序隊列。

2.2.3.2 亂序隊列

首先判斷亂序隊列開始的TCP序列號與順序隊列結尾報文的下一序列號的大小關系。如果相同,則將亂序隊列的開始報文插入順序隊列的結尾;如果前者大于后者,則本輪處理結束;如果前者小于后者,則直接丟棄該報文。

?;畎ㄒ韵?方面的內容:①發(fā)送端。對于TCP連接,系統(tǒng)將報文滯留,發(fā)送端得不到報的回應勢必會影響連接。因此,我們需要偽裝成接收端向發(fā)送端發(fā)送ack回應。Ack數(shù)據(jù)報文的序列號等于當前TCP的確認號,確認號在順序隊列中為空時,等于startseq;否則,其等于順序隊列結尾報文的下一序列號。②接收端。從截獲第一個需要重組的報文起,需要每隔一段時間向接收端發(fā)送ack報文以保證連接。此報文的序列號等于startseq,確認號與所有滯留重組的TCP報文確認號相等。

2.2.4 報文的加密

根據(jù)SMS4加密算法的特性,加密的最小數(shù)據(jù)單位為16字節(jié),因此,結合實際應用,本系統(tǒng)采用一次性截獲全部4 096字節(jié)的內容,然后加密。

在數(shù)據(jù)報文滯留排序好之后,定位數(shù)據(jù)位置。為了能夠恢復原有的數(shù)據(jù)包,需要用指針鏈表對數(shù)據(jù)位置進行記錄,以便將加密后的內容拷貝回去。

指針鏈表元素的數(shù)據(jù)結構主要記錄2點,即指針和長度。對于每一個被放入順序隊列中的TCP包,均分配一個指針鏈表元素,記錄下數(shù)據(jù)所在的起始地址以及數(shù)據(jù)實際長度,并對數(shù)據(jù)長度進行累加。當順序表中的實際數(shù)據(jù)長度大于等于4 096字節(jié)時,將數(shù)據(jù)拷貝出來,調用加密接口對4 096字節(jié)的內容加密,然后根據(jù)指針鏈表中的元素將數(shù)據(jù)拷貝回去之后,對TCP數(shù)據(jù)包重新計算校驗和,最終轉發(fā)。

3 TCP封包的修改

對于一個TCP報文而言,如果其所負載的數(shù)據(jù)被修改,就需要重新計算校驗和,否則數(shù)據(jù)包不會被正常接收。TCP數(shù)據(jù)封包所涉及的校驗和分為IP校驗和TCP校驗和。TCP校驗和覆蓋了TCP首部和TCP數(shù)據(jù),而IP首部中的校驗和只覆蓋IP的首部,不覆蓋IP數(shù)據(jù)報中的任何數(shù)據(jù)。

TCP首部校驗和計算包括3部分,即TCP首部+TCP數(shù)據(jù)+TCP偽首部。

偽首部是為了增加TCP校驗和的檢錯能力,比如檢查TCP報文是否收錯了(目的IP地址)、傳輸層協(xié)議是否選對了(傳輸層協(xié)議號)等。偽首部來自IP首部。

TCP校驗和的大致方法如下:①把偽首部、TCP報頭、TCP數(shù)據(jù)分為16位的字,如果總長度為奇數(shù)個字節(jié),則在最后增添一個位都為0的字節(jié);②把TCP報頭中的校驗和字段置為0;③用反碼相加法累加所有的16位字(進位也要累加)。

以上結果即作為TCP的校驗和。如果TCP包長度改變,還要對IP報頭重新計算校驗和。

4 結束語

綜上所述,加密技術是解決網(wǎng)絡安全問題的手段之一,在當前的網(wǎng)絡運行中應用是十分普遍的。本文開發(fā)了一套文件自動加密系統(tǒng),該系統(tǒng)根據(jù)防火墻和流過濾的原理,對從文件服務器下載的文件進行加密保護,主要用到的技術有NDIS驅動級防火墻技術和SMS4加密算法技術,可針對TCP/IP協(xié)議的特點對經(jīng)過NDIS驅動的TCP報文進行分類過濾,并根據(jù)HTTP協(xié)議的特點對文件進行還原加密,以起到保護文件的作用。

參考文獻

[1]朱聞亞.數(shù)據(jù)加密技術在計算機網(wǎng)絡安全中的應用價值研究[J].制造業(yè)自動化,2012(04).

[2]牛景銳.防火墻與加密技術在網(wǎng)絡安全中的應用[J].硅谷,2013(11).

[3]馬利,梁紅杰.計算機網(wǎng)絡安全中的防火墻技術應用研究[J].電腦知識與技術,2014(14).

〔編輯:張思楠〕

猜你喜歡
防火墻
簡單高效 玩轉Windows 10防火墻設置
一張圖看懂民間借貸“防火墻”
防火墻技術在網(wǎng)絡安全應用中的現(xiàn)狀與發(fā)展趨勢
防火墻技術在網(wǎng)絡安全應用中的現(xiàn)狀與發(fā)展趨勢
防火墻技術在網(wǎng)絡安全應用中的現(xiàn)狀與發(fā)展趨勢
H3C高端防火墻成功競標廣東電信
防火墻選購必讀
網(wǎng)絡與信息(2009年1期)2009-02-23
探析網(wǎng)絡安全與防范技術
防火墻技術對網(wǎng)絡安全的影響
东丰县| 宜城市| 格尔木市| 克什克腾旗| 扶余县| 汉沽区| 淄博市| 贡嘎县| 胶州市| 阳春市| 略阳县| 三河市| 辽源市| 金乡县| 常宁市| 乐至县| 丽江市| 泸西县| 佛冈县| 获嘉县| 霍林郭勒市| 大城县| 施秉县| 罗江县| 莱州市| 即墨市| 邢台县| 滨州市| 东光县| 洛宁县| 奎屯市| 安丘市| 临澧县| 奇台县| 闽清县| 石渠县| 东丰县| 浙江省| 东城区| 阿勒泰市| 津南区|