基于Windows 7环境的WAPI无线网络应用层控制实现
来源:互联网 发布:淘宝怎么搜潮流的衣服 编辑:程序博客网 时间:2024/06/05 21:28
WAPI(Wireless LAN Authentication and Privacy Infrastructure,简称WAPI)中文全称是“无线局域网鉴别与保密基础结构”,它是一种无线局域网安全协议,也是国内首个自主创新提出的安全接入技术标准。与传统技术的单向认证不同,WAPI采用双向认证模式,可以有力保证传输的安全性。具体来说,WAPI安全系统采用公钥密码技术,鉴别服务器(Authentication Server,简称AS)负责证书的颁发、验证与吊销等步骤,而无线客户端与无线接入点(Access Point英文全称,简称AP)上都安装了AS颁发的公钥证书,作为自己的数字身份凭证。当无线客户端登录至无线接入点AP时,在访问网络之前必须通过鉴别服务器AS对双方进行身份验证。根据验证的结果,持有合法证书的移动终端才能接入持有合法证书的无线接入点AP。随着技术的不断发展和演进,促使人们对于安全的考虑越来越深入,微软对其无线网络架构进行了重大调整,尤其是在网络安全方面,越来越重视与不同安全协议间的结合,通过开放接口的形式,提高其网络安全兼容性及适用性,在Windows 7系统中提供了Native 802.11的软件架构,用于搭建无线局域网。如图1所示,其详细内容可参见Windows Driver Kit Documentation中关于Native 80211 Software Architecture的介绍。
图1 Native 802.11 Software Architecture
在此架构上,系统提供了Native802.11接口,实现了对Windows操作系统中的无线网络属性以及连接的管理;Native802.11主要提供了一组API接口,可以实现连接无线网络,监听无线信号,断开连接等功能,通过这些API的组合就可以实现对无线网络的控制。主要的API信息,可参见表1。
表1 Native802.11接口
Native 802.11实现网络控制的具体步骤如下:
首先使用WlanOpenHandle打开一个客户端句柄,用WlanEnumInterfaces获取的对应无线网卡的GUID;然后进行网络操作,比如网络扫描可以使用 WlanScan,网络连接可以使用WlanConnect,网络断开可以使用WlanDisconnect;再次,对于网络配置,写入可以使用的WlanSetProfile,获取可以使用的 WlanGetProfile,删除可以使用的WlanDeleteProfile。其具体的代码可参见Microsoft SDK中关于Native Wifi API的示例。
针对具体的认证方式,如WPA2-Personal,需要构造一个配置文件,进而可以进行网络连接,具体配置如下所示:
图2 WPA2-Personal配置文件
而Native 802.11下的WAPI无线网络应用层控制,其软件架构如下图所示:
图3 WAPI无线网络软件架构
通过图3可以看出,WAPI无线网络应用层控制需要与Native 802.11的软件架构中的IHV Extensions DLL互相配合,但其应用层控制使用的API函数与一般的网络控制并无区别,都兼容Native 802.11接口,WAPI应用层框架比较容易进行集成。在具体开发中,只需要设置通用的WAPI定义,就能完成WAPI无线网络的用户层控制,并且区别于WPA2-Personal的网络配置,WAPI比WPA2-Personal的配置文件只是多了IHV字段,其它的配置字段都是Native 802.11的通用字段,WAPI的配置文件如下:
图4 WAPI配置文件
当使用Native 802.11下的WAPI无线网络应用层的接口时,可以快速进行用户界面的开发,稳定而且通用,下图5为具体的WAPI产品截图。
图5 WAPI无线网络安全客户端
综上所述,基于Windows 7环境下,WAPI无线网络用户层控制与一般的网络控制所使用的API都是兼容的,并且能够提供更安全可靠的无线网络保护。
- 基于Windows 7环境的WAPI无线网络应用层控制实现
- 中国无线网络标准WAPI涉及的3项专利
- 企业部署WAPI无线网络的技术详析
- 无线网络的MAC层
- 基于Struts技术的Web层应用设计和实现
- 基于无线网络的GPS行业应用方案简介
- Windows下基于eclipse的Spark应用开发环境搭建
- windows下基于Eclipse的Hadoop应用开发环境配置
- windows 7无线网络共享的方法
- 基于安卓手机的WAPI证书安装使用详解
- 忆龙2009:windows server 2003 + ACS 实现无线网络的PEAP认证(7)
- 基于S3C2440的USB摄像头应用简单实现之应用层框架(一)
- JavaScript实际应用:对层的控制
- JavaScript实际应用:对层的控制
- JavaScript实际应用:对层的控制
- JavaScript实际应用:对层的控制
- 基于Linux的无线网络搭建
- 基于TCP/UDP的应用层协议
- C的|、||、&、&&、异或^、~、!运算符
- DT科技评论第35期:可以解锁任何手机的万能指纹
- Hexo+GitHub搭建个人站点(新!)
- 比特币的小额支付通道
- Ubuntu16.04 中 phpmyadmin安装 mysql卸载 mysql外部访问
- 基于Windows 7环境的WAPI无线网络应用层控制实现
- js对象
- ConcurrentHashMap
- d3.js 参考笔记
- Python之Matplotlib库常用函数大全(含注释)
- C++实验5-数组分离
- 【IOS】旋转图片和截取图片
- Tomcat启动后,Unable to compile class for JSP解决方法
- Python装饰器