WAPI客户端在Linux系统中的实现.docx

上传人:小飞机 文档编号:4926024 上传时间:2023-05-23 格式:DOCX 页数:4 大小:106.43KB
返回 下载 相关 举报
WAPI客户端在Linux系统中的实现.docx_第1页
第1页 / 共4页
WAPI客户端在Linux系统中的实现.docx_第2页
第2页 / 共4页
WAPI客户端在Linux系统中的实现.docx_第3页
第3页 / 共4页
WAPI客户端在Linux系统中的实现.docx_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《WAPI客户端在Linux系统中的实现.docx》由会员分享,可在线阅读,更多相关《WAPI客户端在Linux系统中的实现.docx(4页珍藏版)》请在三一办公上搜索。

1、WAPI客户端在Linux系统中的实现西电捷通互操作性技术研究摘要:在Linux系统中,欲实现WAPI客户端的功能,不但需要先将WAPI安全协议栈移 植到系统中,还需要对系统原有的一个名叫wpa_supplicant(无线网络请求者程序,后文 简称“请求者软件”)的应用程序进行适当修改。请求者软件是一款开源的无线局域网客户 端侧接入管理软件,但是该软件没有实现WAPI功能,本文介绍了如何实现带WAPI功能的请 求者软件,设计与实现兼顾了请求者软件原有结构的完整性,同时对程序升级有着充分的考 量,当程序结构发生变化时,其已有的WAPI功能可以简单同步迁移到变化后的版本中去。 关键词:WAPI,A

2、P(接入点),AS(鉴别服务器),西电捷通当前,全球无线局域网领域仅有两个关于安全方面的标准,分别是美国行业 标准组织提出的IEEE 802.11i标准,以及中国提出的WAPI标准。WAPI是我国 首个在计算机宽带无线网络通信领域自主创新并拥有知识产权的安全接入技术 标准。本文将介绍一种简单高效的方法,实现具备WAPI功能的请求者接入管理软件。1、请求者软件请求者软件是一款无线局域网客户端接入管理软件,可以在Linux、BSD、 MacOS、Windows等不同的平台运行,可以运行在台式机、笔记本、嵌入式系统 中。设计的目标是不依赖于具体的硬件驱动程序和操作系统。源代码是用c语言 实现的,整个

3、程序的框架结构,如图1所示。所有与硬件驱动程序相关功能,都 定义在单独的文件中。请求者软件实现了一个统一的驱动程序应用程序编程接口, 很好地实现了硬件驱动与软件分层,方便了跨平台移植。从通信层次上划分,请求者软件提供向上的控制接口 control interface, 用于与其它模块(如用户界面)进行通信,其它模块可以通过control interface 来获取信息或下发命令。请求者软件通过socket通信机制实现下行接口,与内 核进行通信,获取信息或下发命令。图1请求者软件框架结构图2、请求者软件+WAPI的设计请求者软件是一款开源代码的无线局域网客户端接入管理软件,但程序并没 有实现WA

4、PI功能,那么我们是否可以通过对请求者软件进行简单修改,便可使 其具备WAPI功能呢?答案是肯定的,在尽量保持请求者软件原有架构情况下即 可添加WAPI功能。根据请求者软件的框架结构特点,只需要在程序整个结构上添加WAPI状态 机(WAPI state machine)和WAPI接入鉴别这两个模块,以及对一些程序进行 微小的改动,便可以实现请求者软件带WAPI功能。带WAPI功能的请求者软件 框架结构如图2所示。IWAFI RApgLirnd pre-aulh “ tUtertyp IriMiLiLii Lem IGUI IWiiMmdfftinidpd enirnl int-rffuce图2

5、带WAPI功能的请求者软件框架结构图红字部分就是需要添加的模块,这种设计保持了请求者软件原有框架结构, 只是添加WAPI相关模块,就可使该软件具备WAPI功能。本文所实现的带WAPI功能的请求者软件,是在Linux系统下进行编码测试 的。3、带WAPI功能的请求者软件实现支持WAPI功能的请求者软件,按照图2框架结构图的设计,结构清晰,逻 辑简单。从实现角度考量,要在请求者软件框架不做调整的基础之上,实现带 WAPI功能,在代码架构和工程方面需要添加WAPI状态机(WAPI state machine) 和WAPI接入鉴别这两个模块。请求者软件是个开源的工程,它的程序设计框架很灵活,但是开源代

6、码的结 构有时候可能会发生结构性的改变。如果将WAPI功能直接添加到请求者软件中, 势必造成耦合性太大,一旦新版请求者软件代码结构发生变化,需要再实现WAPI 的功能时后,必然要做大量的工作。为了程序结构的简单,同时当请求者软件更新后,实现WAPI功能代价最小 化,我们将整个WAPI机制用lib库来实现,这样一来当请求者软件更新时,本 文实现的WAPI功能,可以花很小的代价移植到新版本的程序中。本设计实现为请求者软件+lib库形式,整个模块调用关系如图3所示:图3WAPI-请求者软件模块调用关系图libwapi_asue主要负责处理WAPI协议帧的解析与构造;WAPI预共享密钥模 式下密钥的管

7、理;WAPI证书模式下证书的管理。对于请求者软件,仅需要添加 用户接口层WAPI接口,实现对WAPI的配置。libwapi_asue库的实现,使用了 GNU weak属性,可以实现libwapi_asue库 单独编译,不依赖于请求者软件。所谓weak属性就是将所有需要调用的请求者 软件程序中的函数,在libwapi_ause中定义为weak属性函数,这种方法的优势 在于:当系统中有请求者软件时,libwapi_asue就调用请求者软件的函数;如 果没有就调用libwapi_asue中相应的weak属性函数。这种方法一方面解决了编 译依赖的问题;另一方面,当请求者软件的框架结构有很大改动时,只需要改动 请求者软件,提供WAPI调用的几个函数即可。4总结本文简要介绍了 WAPI和请求者软件,讲解了如何实现WAPI功能的请求者软 件。该设计与实现做到了请求者软件和WAPI的低耦合性,方便后续的移植,希 望能给此方面的专业技术人员提供借鉴。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号