999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于NDIS中間層驅動和SSL協議的安全通信

2011-03-14 06:44:56趙春平劉文麗
網絡安全技術與應用 2011年3期

趙春平 劉文麗

江南計算技術研究所 江蘇 214083

0 前言

在SSLVPN中,通過虛擬網卡和SSL協議可以實現安全通信,保護IP和鏈路層數據安全。Openvpn是這種技術的開源實現,它通過實現一個虛擬網卡將IP或鏈路層數據傳輸到應用層,在應用層通過SSL隧道通信,以達到安全目的。

通過虛擬網卡技術實現IP和鏈路層層的安全有一些缺點:

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

(2)虛擬網卡技術依賴虛擬IP地址,可能會影響上層應用的訪問方式。

本文提出了一種基于Window NDIS協議和SSL協議來進行安全通信的方法,并在原型通信的基礎上給出了多種安全通信方式。本方法可以實現下面的安全通信方式:

(1)構建遠程訪問模式SSLVPN;

(2)構建局域網訪問模式SSLVPN;

(3)任意兩臺計算機的安全通信;

(4)構建加密網絡。

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

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

1 NDIS介紹

NDIS(Network Driver Interface Specification)是微軟實現的網絡驅動接口規范。它包括NDIS協議驅動,NDIS小端口驅動和NDIS中間層驅動,各種驅動遵循規范進行交互。

通過NDIS中間層可以進行網絡數據的截獲,NDIS中間層截獲的數據為數據鏈路層數據。

微軟的WDK中提供了passThru實現范例,它是一個透明的NDIS中間層驅動。開發人員可以修改passThru范例來達到自己的目的。

2 SSL協議介紹

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

3 實現原理

本方法通過NDIS中間層驅動來截獲網絡數據,通過操作系統 IO控制,將數據傳遞到操作系統應用層來進行安全通信。安全通信的方式可以是SSL協議或其他自定義通信協議。大致的通信示意圖如圖1所示。

圖1 通信示意圖

應用數據發送過程如下:

(1)發送方發送數據時,網絡數據被NDIS中間層截獲,存入緩沖區;

(2)用戶態進程讀取NDIS中間層截獲的網絡數據;

(3)用戶態進程采用SSL通道發送給目標;

(4)目標機器應用層進程從SSL通道接收數據;

(5)目標機器應用層進程將收到的數據寫入NDIS中間層驅動;

(6)目標機器NDIS中間層驅動將數據提交給上層協議。

為了避免出現環路通信,使 SSL通道能夠正常工作,NDIS中間層必須放過SSL通道的網絡通信,有目的的截獲。NDIS截獲時,可以根據需求進行截獲。

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

4 原型及其模式演化

4.1 通信原型

基于NDIS中間層驅動和SSL協議的原型如圖2所示。

圖2 NDIS安全通信原型

在原型中,發起方的網絡數據通過NDIS中間層驅動傳遞到SSL模塊,然后通過SSL模塊發送;接收方通過SSL模塊接收,再通過NDIS中間層驅動傳遞到上層。

4.2 遠程訪問模式

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

圖3 遠程SSLVPN訪問模式

此種工作方式下,遠程訪問者的機器需要安裝NDIS中間層驅動和 SSL模塊。受保護網絡需要有一臺前置的 SSL轉發服務器,目標機器上需要安裝 NDIS中間層驅動。SSL轉發服務器與目標機器間采用socket進行明文通信。

4.3 局域網訪問模式

在遠程訪問模式下,將遠程訪問者一端進行剝離,那么將轉化為局域網訪問模式。如下圖所示:

圖4 SSLVPN 局域網工作模式

4.4 通過中轉的加密網絡

在局域網模式下,如果將兩臺SSL轉發服務器合二為一,那么將組成一個通過中間服務轉發的加密網絡,如下圖所示:

圖5 通過中轉的加密網絡

4.5 點對點安全通信

如果不通過SSL轉發,可以實現任意兩臺機器間的安全通信,相當于構造了一個加密網絡。如下圖所示:

圖6 點對點安全通信

5 實現方法

下面給出了主要模塊的大致實現方法:

(1)NDIS驅動

NDIS驅動以微軟WDK中提供的Passthru范例為基礎,增加讀寫文件操作。在讀文件操作中,需要NDIS驅動緩存MPSendPackets中的發送數據,如何緩存以及如何讀取,可以參考openvpn的實現方式。在寫文件操作中,我們需要構造一個數據包提交給上層協議,調用 NdisMEthIndicateReceive函數。

(2)SSL協議

SSL協議可以使用openssl來實現。

按照上述方式實現的NDIS驅動,完全可以替換openvpn中的虛擬網卡驅動來實現安全通信。

6 總結

通過NDIS中間層驅動和SSL協議來實現安全通信時,所使用的均為實際的物理地址,即一個物理地址即能做到明文通信同時也在進行明文通信。并且,NDIS的截獲可以只針對特定目標,完全不影響其他的正常通信。

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

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

主站蜘蛛池模板: 国产十八禁在线观看免费| 国产又黄又硬又粗| 在线无码av一区二区三区| 色播五月婷婷| 欧美日韩高清| 麻豆精品在线视频| 国产成人综合欧美精品久久| 国产激爽爽爽大片在线观看| 国产在线精彩视频论坛| 98超碰在线观看| 国产精品无码AⅤ在线观看播放| 日韩福利在线观看| 久久久噜噜噜久久中文字幕色伊伊 | 无码免费的亚洲视频| 老司国产精品视频91| 伊人成人在线| 久久综合色播五月男人的天堂| 亚洲欧美一区二区三区蜜芽| 四虎影视8848永久精品| 欧美日韩精品在线播放| 中文字幕日韩久久综合影院| 国产欧美精品专区一区二区| 亚洲综合香蕉| 免费国产高清视频| 99精品影院| 亚洲国产成人精品一二区| 国产精品开放后亚洲| 不卡视频国产| 国产免费a级片| 国产精品真实对白精彩久久| 日本精品一在线观看视频| 看国产毛片| 精品国产免费观看| 久久天天躁夜夜躁狠狠| 日本爱爱精品一区二区| 亚洲欧美日韩视频一区| 亚洲性日韩精品一区二区| 国产专区综合另类日韩一区| 五月天久久综合国产一区二区| 高清国产在线| 午夜高清国产拍精品| 国产毛片网站| 国产99视频精品免费观看9e| 国产一级无码不卡视频| 色亚洲成人| 婷婷丁香色| 久久窝窝国产精品午夜看片| 国产在线观看成人91| 沈阳少妇高潮在线| 亚洲AV无码精品无码久久蜜桃| 亚洲久悠悠色悠在线播放| 国产a在视频线精品视频下载| 91视频国产高清| 一级毛片免费观看久| 大乳丰满人妻中文字幕日本| 91破解版在线亚洲| 亚欧美国产综合| 免费A级毛片无码免费视频| 91在线一9|永久视频在线| 成人国产一区二区三区| 久久中文字幕不卡一二区| 无码福利日韩神码福利片| 黄色国产在线| 亚洲天堂久久久| 久久青青草原亚洲av无码| 国产成人无码综合亚洲日韩不卡| 99re在线观看视频| 国产91视频观看| 99久久婷婷国产综合精| 国产乱子精品一区二区在线观看| 国产精品对白刺激| 亚洲永久色| 国产三区二区| 污网站在线观看视频| 亚洲精品视频在线观看视频| 中文字幕在线看| 久久无码免费束人妻| 亚洲国产一成久久精品国产成人综合| www.91中文字幕| 日本色综合网| 97色伦色在线综合视频| 亚洲人成网7777777国产|