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无线网络应用层控制实现相关推荐

  1. 基于 SaaS 的 RADIUS 认证在无线网络准入中的应用和优化

    自互联网发展以来,企业内网发生了翻天覆地的变化.以前,用户需要给 PC 电脑插网线才能上网,现在有了无线网络之后,用户随时随地都能访问.网络运行方式的变化也很快影响到访问的实现和保护.特别是基于 Sa ...

  2. 计算机里面的 网络是灰色的,Windows移动中心里的无线网络按钮是灰色如何解决...

    ? 我们知道在Windows8以上版本的系统中可以通过按Win+X快捷键打开开始菜单快捷选项,不过在Win7系统中打开的是Windows移动中心.在Windows移动中心可以快速修改多个设备的控制设置 ...

  3. 【优化覆盖】基于matlab人工蜂群算法求解无线网络传感覆盖优化问题【含Matlab源码 1097期】

    ⛄一.人工蜂群算法求解无线网络传感覆盖优化问题简介 1 WSN覆盖模型 1.1 问题描述 在WSN中, 要实现较高的无线网络传感器节点覆盖率从而减少监测盲点的出现, 就必须加大无线网络传感器节点的分布 ...

  4. 如何在Windows中查看忘记的无线网络密码

    Did you have someone else set up the wireless network in your house, and can't for the life of you r ...

  5. stm32 温湿度_基于STM32单片机大棚温湿度检测无线蓝牙APP控制设计

    本设计由STM32单片机+风扇控制电路+温湿度传感器电路+1602液晶显示电路+蓝牙模块电路+电源电路组成. 通过温湿度传感器检测温湿度,并在液晶上和APP上实时显示. 当湿度超过75度,APP发出报 ...

  6. 基于TQ2440的小车(4)网络编程控制

    /**************************************** * 文件名: client.c * 作者: laoyao * 修改时间: 2016-4-10 * 文件说明: 网络T ...

  7. 毕业论文开题报告 - 基于Linux的无线网络渗透测试研究

    目录 开题报告填写要求 1.毕业论文综述(题目背景.研究意义及国内外相关研究情况) 1.1 题目背景 1.2研究意义 1.3现阶段相关研究情况 2.本课题研究的主要内容和拟采用的研究方案.研究方法或措 ...

  8. windows无法连接到某个wifi_windows无法连接到无线网络怎么办【解决方法】

    无论是win7.win8还是win10系统的电脑,人们在使用它的时候,总会先开机,然后再去连接无线网络.当然,在连接的过程中也可能产生各种各样的问题,例如说无法正常连接到无线网络.常见的原因有密码输入 ...

  9. 计算机提示网络不可用,Windows电脑系统显示无线网络不可用怎么办?

    原标题:Windows电脑系统显示无线网络不可用怎么办? 现在,很多人都在使用无线网络,特别是使用笔记本电脑的朋友.最近有位朋友在使用笔记本电脑的时候,去出现了无线网络连接不可用的故障,不知道怎么去解 ...

  10. 共享windows无线网络给ubuntu有线网卡

    windows系统连接了wifi无线网络, 可以通过一根网络将windows机器和ubuntu机器连接起来,将windows的无线网络共享给ubuntu机器使用.具体步骤如下: 一.配置windows ...

最新文章

  1. 惠普z840工作站linux,全模块战神 惠普旗舰级Z840工作站评测
  2. jupyter notebook 更改工作目录
  3. android linux截图库,Android中截图(surfaceView)源码
  4. 左侧栏下拉框HTML代码,html5下拉菜单代码
  5. python图形界面开发库_Python图形界面开发—wxPython库的布局管理及页面切换
  6. 智能AI机器人AI源码营销机器人电销机器人智能电话机器人拨号机器人语音机器人
  7. 微信小程序例子——点击发送信息清空输入框
  8. 虚拟内存设置在其他盘引发的问题(待解决)
  9. 【7gyy】教大家设置一个类似手机的锁屏界面
  10. TTMS剧院票务管理系统全网最全!!!不接受反驳
  11. 在企业里管理机器学习:来自银行和医疗行业的经验
  12. 大数据背景下的智慧物流:物流行业解决方案
  13. flutter图标按钮_flutter 按钮封装 带图片的按钮,带边框的按钮,纯文字的按钮
  14. 贪吃蛇大作战JavaFx版完整源码
  15. Restful API 生成复杂Json数据结构及使用客户端解析该数据结构(三)
  16. 关闭服务器windows server的IE浏览器的增强安全配置
  17. 安装使用Animate动画库【Animate.css下载安装教程】
  18. C fseek() and fteel()
  19. 安装moodle的方法及遇到的问题
  20. Linux 命令随笔

热门文章

  1. knx智能照明控制系统电路图_智能照明控制系统(KNX)
  2. 关于海康相机ip地址无法更改问题
  3. 国二c语言题库 word,国家二级计算机考试MS-Office历年真题题库及答案
  4. 热启动计算机的快捷键,电脑快捷键的用法
  5. 计算 KL距离 (相对熵)
  6. PSFTP工具的使用教程
  7. Mac无法打开“XX”,因为Apple无法检查其是否包含恶意软件。”的解决办法
  8. matlab中的乘除法
  9. Matlab除法结果取整
  10. 手把手教你用Java设计并实现一个城市公交查询系统