APP下载

基于NDIS中间层驱动和SSL协议的安全通信

2011-03-14赵春平刘文丽

网络安全技术与应用 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)是微软实现的网络驱动接口规范。……

登录APP查看全文