• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于NDIS中間層驅(qū)動(dòng)和SSL協(xié)議的安全通信

      2011-03-14 06:44:56趙春平劉文麗
      關(guān)鍵詞:鏈路層中間層網(wǎng)卡

      趙春平 劉文麗

      江南計(jì)算技術(shù)研究所 江蘇 214083

      0 前言

      在SSLVPN中,通過虛擬網(wǎng)卡和SSL協(xié)議可以實(shí)現(xiàn)安全通信,保護(hù)IP和鏈路層數(shù)據(jù)安全。Openvpn是這種技術(shù)的開源實(shí)現(xiàn),它通過實(shí)現(xiàn)一個(gè)虛擬網(wǎng)卡將IP或鏈路層數(shù)據(jù)傳輸?shù)綉?yīng)用層,在應(yīng)用層通過SSL隧道通信,以達(dá)到安全目的。

      通過虛擬網(wǎng)卡技術(shù)實(shí)現(xiàn)IP和鏈路層層的安全有一些缺點(diǎn):

      (1)對(duì)于建立SSL隧道的兩臺(tái)機(jī)器,只有通過對(duì)方的虛擬地址訪問時(shí),數(shù)據(jù)才被保護(hù)。從根本上說(在不采用其他安全措施,比如防火墻),兩臺(tái)機(jī)器之間仍然存在明文通信;

      (2)虛擬網(wǎng)卡技術(shù)依賴虛擬IP地址,可能會(huì)影響上層應(yīng)用的訪問方式。

      本文提出了一種基于Window NDIS協(xié)議和SSL協(xié)議來進(jìn)行安全通信的方法,并在原型通信的基礎(chǔ)上給出了多種安全通信方式。本方法可以實(shí)現(xiàn)下面的安全通信方式:

      (1)構(gòu)建遠(yuǎn)程訪問模式SSLVPN;

      (2)構(gòu)建局域網(wǎng)訪問模式SSLVPN;

      (3)任意兩臺(tái)計(jì)算機(jī)的安全通信;

      (4)構(gòu)建加密網(wǎng)絡(luò)。

      本方法的安全通信僅需要物理IP地址,并且安全通信不影響非安全通信,安全通信和非安全通信使用相同的IP地址。

      本方法借鑒了虛擬網(wǎng)卡方式SSLVPN的思想:實(shí)現(xiàn)一個(gè)SSLVPN,開發(fā)人員需要通過各種不同的手段來截獲通信數(shù)據(jù),然后將通信數(shù)據(jù)在SSL隧道中傳輸。虛擬網(wǎng)卡工作方式的SSLVPN從根本上講是將windows內(nèi)核態(tài)協(xié)議棧中的數(shù)據(jù)通過IO控制傳遞到用戶態(tài)的SSL隧道中進(jìn)行傳輸,它的實(shí)現(xiàn)手段是虛擬網(wǎng)卡。本文介紹的方法通過IO控制將windows的NDIS層數(shù)據(jù)傳遞到用戶態(tài)進(jìn)行安全傳輸。

      1 NDIS介紹

      NDIS(Network Driver Interface Specification)是微軟實(shí)現(xiàn)的網(wǎng)絡(luò)驅(qū)動(dòng)接口規(guī)范。它包括NDIS協(xié)議驅(qū)動(dòng),NDIS小端口驅(qū)動(dòng)和NDIS中間層驅(qū)動(dòng),各種驅(qū)動(dòng)遵循規(guī)范進(jìn)行交互。

      通過NDIS中間層可以進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)的截獲,NDIS中間層截獲的數(shù)據(jù)為數(shù)據(jù)鏈路層數(shù)據(jù)。

      微軟的WDK中提供了passThru實(shí)現(xiàn)范例,它是一個(gè)透明的NDIS中間層驅(qū)動(dòng)。開發(fā)人員可以修改passThru范例來達(dá)到自己的目的。

      2 SSL協(xié)議介紹

      SSL(Security Socket Layer)協(xié)議是廣泛使用的安全通信協(xié)議。SSL客戶端和SSL服務(wù)端在socket層協(xié)商秘密信息,并在此基礎(chǔ)上進(jìn)行安全通信。

      3 實(shí)現(xiàn)原理

      本方法通過NDIS中間層驅(qū)動(dòng)來截獲網(wǎng)絡(luò)數(shù)據(jù),通過操作系統(tǒng) IO控制,將數(shù)據(jù)傳遞到操作系統(tǒng)應(yīng)用層來進(jìn)行安全通信。安全通信的方式可以是SSL協(xié)議或其他自定義通信協(xié)議。大致的通信示意圖如圖1所示。

      圖1 通信示意圖

      應(yīng)用數(shù)據(jù)發(fā)送過程如下:

      (1)發(fā)送方發(fā)送數(shù)據(jù)時(shí),網(wǎng)絡(luò)數(shù)據(jù)被NDIS中間層截獲,存入緩沖區(qū);

      (2)用戶態(tài)進(jìn)程讀取NDIS中間層截獲的網(wǎng)絡(luò)數(shù)據(jù);

      (3)用戶態(tài)進(jìn)程采用SSL通道發(fā)送給目標(biāo);

      (4)目標(biāo)機(jī)器應(yīng)用層進(jìn)程從SSL通道接收數(shù)據(jù);

      (5)目標(biāo)機(jī)器應(yīng)用層進(jìn)程將收到的數(shù)據(jù)寫入NDIS中間層驅(qū)動(dòng);

      (6)目標(biāo)機(jī)器NDIS中間層驅(qū)動(dòng)將數(shù)據(jù)提交給上層協(xié)議。

      為了避免出現(xiàn)環(huán)路通信,使 SSL通道能夠正常工作,NDIS中間層必須放過SSL通道的網(wǎng)絡(luò)通信,有目的的截獲。NDIS截獲時(shí),可以根據(jù)需求進(jìn)行截獲。

      NDIS截獲的數(shù)據(jù)是鏈路層數(shù)據(jù),因此,此種方法能保證鏈路層之上的所有安全通信。

      4 原型及其模式演化

      4.1 通信原型

      基于NDIS中間層驅(qū)動(dòng)和SSL協(xié)議的原型如圖2所示。

      圖2 NDIS安全通信原型

      在原型中,發(fā)起方的網(wǎng)絡(luò)數(shù)據(jù)通過NDIS中間層驅(qū)動(dòng)傳遞到SSL模塊,然后通過SSL模塊發(fā)送;接收方通過SSL模塊接收,再通過NDIS中間層驅(qū)動(dòng)傳遞到上層。

      4.2 遠(yuǎn)程訪問模式

      在上述原型中,將接收方的SSL模塊與NDIS中間驅(qū)動(dòng)層剝離,那么,它將演化為遠(yuǎn)程SSLVPN訪問。如圖3所示。

      圖3 遠(yuǎn)程SSLVPN訪問模式

      此種工作方式下,遠(yuǎn)程訪問者的機(jī)器需要安裝NDIS中間層驅(qū)動(dòng)和 SSL模塊。受保護(hù)網(wǎng)絡(luò)需要有一臺(tái)前置的 SSL轉(zhuǎn)發(fā)服務(wù)器,目標(biāo)機(jī)器上需要安裝 NDIS中間層驅(qū)動(dòng)。SSL轉(zhuǎn)發(fā)服務(wù)器與目標(biāo)機(jī)器間采用socket進(jìn)行明文通信。

      4.3 局域網(wǎng)訪問模式

      在遠(yuǎn)程訪問模式下,將遠(yuǎn)程訪問者一端進(jìn)行剝離,那么將轉(zhuǎn)化為局域網(wǎng)訪問模式。如下圖所示:

      圖4 SSLVPN 局域網(wǎng)工作模式

      4.4 通過中轉(zhuǎn)的加密網(wǎng)絡(luò)

      在局域網(wǎng)模式下,如果將兩臺(tái)SSL轉(zhuǎn)發(fā)服務(wù)器合二為一,那么將組成一個(gè)通過中間服務(wù)轉(zhuǎn)發(fā)的加密網(wǎng)絡(luò),如下圖所示:

      圖5 通過中轉(zhuǎn)的加密網(wǎng)絡(luò)

      4.5 點(diǎn)對(duì)點(diǎn)安全通信

      如果不通過SSL轉(zhuǎn)發(fā),可以實(shí)現(xiàn)任意兩臺(tái)機(jī)器間的安全通信,相當(dāng)于構(gòu)造了一個(gè)加密網(wǎng)絡(luò)。如下圖所示:

      圖6 點(diǎn)對(duì)點(diǎn)安全通信

      5 實(shí)現(xiàn)方法

      下面給出了主要模塊的大致實(shí)現(xiàn)方法:

      (1)NDIS驅(qū)動(dòng)

      NDIS驅(qū)動(dòng)以微軟WDK中提供的Passthru范例為基礎(chǔ),增加讀寫文件操作。在讀文件操作中,需要NDIS驅(qū)動(dòng)緩存MPSendPackets中的發(fā)送數(shù)據(jù),如何緩存以及如何讀取,可以參考o(jì)penvpn的實(shí)現(xiàn)方式。在寫文件操作中,我們需要構(gòu)造一個(gè)數(shù)據(jù)包提交給上層協(xié)議,調(diào)用 NdisMEthIndicateReceive函數(shù)。

      (2)SSL協(xié)議

      SSL協(xié)議可以使用openssl來實(shí)現(xiàn)。

      按照上述方式實(shí)現(xiàn)的NDIS驅(qū)動(dòng),完全可以替換openvpn中的虛擬網(wǎng)卡驅(qū)動(dòng)來實(shí)現(xiàn)安全通信。

      6 總結(jié)

      通過NDIS中間層驅(qū)動(dòng)和SSL協(xié)議來實(shí)現(xiàn)安全通信時(shí),所使用的均為實(shí)際的物理地址,即一個(gè)物理地址即能做到明文通信同時(shí)也在進(jìn)行明文通信。并且,NDIS的截獲可以只針對(duì)特定目標(biāo),完全不影響其他的正常通信。

      [1]rfc2246,The TLS Protocol Version.1.0.

      [2]WDKDocs_12112009.chm.windows wdk.幫助文檔.

      猜你喜歡
      鏈路層中間層網(wǎng)卡
      網(wǎng)絡(luò)傳輸融合及網(wǎng)絡(luò)安全防控技術(shù)研究
      在DDS 中間件上實(shí)現(xiàn)雙冗余網(wǎng)卡切換的方法
      基于多空間內(nèi)存共享的數(shù)據(jù)鏈路層網(wǎng)絡(luò)包捕獲方法
      Server 2016網(wǎng)卡組合模式
      鎳基高溫合金TLP擴(kuò)散焊中間層材料研究進(jìn)展
      焊接(2016年8期)2016-02-27 13:05:10
      B含量對(duì)IC10合金TLP焊接用中間層材料及接頭組織的影響
      焊接(2016年6期)2016-02-27 13:04:55
      挑戰(zhàn)Killer網(wǎng)卡Realtek網(wǎng)游專用Dragon網(wǎng)卡
      數(shù)據(jù)鏈路層的選擇重傳協(xié)議的優(yōu)化改進(jìn)
      IEEE 1394事務(wù)層接口的設(shè)計(jì)與實(shí)現(xiàn)
      社會(huì)中間層建設(shè)與活動(dòng)機(jī)制網(wǎng)研究
      台北市| 武威市| 江山市| 大冶市| 台湾省| 合水县| 曲沃县| 苏尼特左旗| 南华县| 清远市| 井陉县| 潜江市| 进贤县| 翁源县| 措勤县| 黔西县| 惠水县| 韶山市| 双桥区| 武陟县| 湛江市| 贵州省| 翁源县| 珲春市| 无锡市| 大城县| 兴城市| 清水河县| 洪洞县| 兖州市| 荆州市| 夏邑县| 萍乡市| 蒙自县| 修武县| 苍梧县| 景德镇市| 吐鲁番市| 洪湖市| 怀集县| 桐庐县|