首页 > 范文大全 > 正文

基于Linux 环境的IEEE802.1x认证与客户端编程

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于Linux 环境的IEEE802.1x认证与客户端编程范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

【摘 要】IEEE802.1x是基于端口的网络接入控制协议,它提供了一个可靠的用户认证和密钥分发框架,与上层的EAP配合实现认证,并能与后台Radius认证服务器进行通讯,更有效实现有线城域网AAA(Authentication认证、Authorization授权、Accounting计费)策略;并且802.1x协议起源于802.11协议,主要用于解决无线局域网用户的接入认证鉴权问题,而Wi_Fi联盟公布的WPA(Wi-Fi Protected Access)是IEEE802.11i标准的一个子集,其核心就是IEEE802.1X和TKIP文章主要解决802.11和802x协议的结合,并对有线无线混合或单一形态的网络安全认证提出应用方案,并在linux环境下使用Libpcap和Libnet库函数编程实现客户认证机制,有效地阻止非法用户的入侵。

【关键词】无线局域网;802.1x;AAA认证;扩展身份验证协议】

1.无线局域网的安全与认证演变

IEEE802.11(IEEE标准)无线局域网的安全一般采用业务组标识符(SSID)和物理地址(MAC)过滤。对于802.11业务组标识符(SSID),接入点AP可以用一个服务集标识SSID(Service Set Identifier)或ESSID(Extensible Service Set Identifier)来配置,与接入点有关的网卡必须知道SSID以便在网络中发送和接收数据,这是一个非常脆弱的安全手段,因为SSID通过明文在大气中传送,甚至被接入点广播,所有的网卡和接入点都知道SSID。物理地址(MAC)过滤属于硬件认证,而不是用户认证。这种方式要求AP中的MAC地址列表必需随时更新,目前都是手工操作,扩展能力差,因此只适合小型网络规模。

TKIP(Temporal Key Integrity Protocol)是新一代的加密技术,对现有的WEP进行了改进,在IEEE 802.11i规范中,动态密钥完整性协议(TKIP)负责处理无线安全问题的加密部分。TKIP尽管可以解决许多WEP存在的问题,但却不能解决最糟糕的问题:所有人都在无线局域网上不断重复使用一个众所周知的密钥。为了解决这个问题,TKIP生成混合到每个包密钥中的基本密钥。无线站每次与接入点建立联系时,就生成一个新基本密钥,这个基本密钥通过将特定的会话内容与用接入点和无线站生成的一些随机数以及接入点和无线站的MAC地址进行散列处理来产生。但采用802.1x认证,这个会话内容是特定的,而且由认证服务器安全地传送给无线站,也就解决了TKIP的缺陷。

2.802.1x协议的工作机制

IIEEE 802.1x协议的体系结构主要包括三部分实体:客户端Supplicant System、认证系统Authenticator System、认证服务器Authentication Server System。客户端系统一般为安装有客户端软件的用户终端系统,用户通过客户端软件发起802.1x协议认证过程,认证通过后可以发起IP地址请求。

(1)客户端:一般为一个用户终端系统,该终端系统通常要安装一个客户端软件,用户通过启动这个客户端软件发起IEEE 802.1x协议的认证过程。

(2)认证系统:通常为支持IEEE 802.1x协议的网络设备。利用802.1x,EAP(Extensible Authentication Protocal可扩展的身份验证协议)可以用来在申请者和身份验证服务器之间传递验证信息对应于不同用户的端口有两个逻辑端口:受控(controlled Port)端口和非受控端口(uncontrolled Port)。第一个逻辑接入点(非受控端口),允许验证者和 LAN 上其它计算机之间交换数据,而无需考虑计算机的身份验证状态如何。非受控端口始终处于双向连通状态(开放状态),主要用来传递EAPOL(Extensible Authentication Protocal Over Lan 局域网扩展认证协议,一般指EAP消息帧)协议帧,可保证客户端始终可以发出或接受认证。第二个逻辑接入点(受控端口),允许经验证的 LAN 用户和验证者之间交换数据。受控端口平时处于关闭状态,只有在客户端认证通过时才打开,用于传递数据和提供服务。受控端口可配置为双向受控、仅输入受控两种方式,以适应不同的应用程序。如果用户未通过认证,则受控端口处于未认证(关闭)状态,则用户无法访问认证系统提供的服务。

(3)认证服务器:通常为RADIUS(Remote Authentication Dial-In Service)服务器,该服务器可以存储有关用户的信息,比如用户名和口令、用户所属的VLAN、优先级、用户的访问控制列表等。当用户通过认证后,认证服务器会把用户的相关信息传递给认证系统,由认证系统构建动态的访问控制列表,用户的后续数据流就将接受上述参数的监管。

3.802.1x协议的认证过程

3.1 802.1x认证双工模型

IEEE 802.1x 称为基于端口的访问控制协议。能够在利用IEEE 802 LAN的优势基础上提供一种对连接到局域网(LAN)设备或用户进行认证和授权的手段。通过这种方式的认证,能够在 LAN 这种多点访问环境中提供一种点对点的识别用户的方式。ieee802.1x识别的控制端口可以是连接到LAN的一个单点结构、被认证系统的MAC地址、服务器或网络设备连接LAN的物理端口、IEEE 802.11 无线 LAN 环境中定义的工作站和访问点,能够灵活有效的对802.11无线局域网和有线以太网络进行验证与网络访问权限。802.1x协议仅仅关注端口的打开与关闭,对于合法用户接入时,打开端口;对于非法用户接入或没有用户接入时,则端口处于关闭状态。802.1x协议实质上是基于端口对接入的合法性进行认证,进而决定允许或拒绝资源接入网络。它认证体系结构中,引入了“受控端口”与“不受控端口”概念,将一个物理LAN端口定义为“受控端口”与“不受控端口”两类逻辑LAN接入点。不受控端口只能传送认证的协议报文,受控端口传送业务报文。

3.2 802.1x认证过程

利用IEEE 802.1x可以进行身份验证,如果计算机要求在不管用户是否登录网络的情况下都访问网络资源,可以指定计算机是否尝试访问该网络的身份验证。以下步骤描述了利用接入点AP和RADIUS服务器对移动节点进行身份验证的基本方法。如果没有有效的身份验证密钥,AP会禁止所有的网络流量通过。

4.结束语

802.1x协议仅仅提供了一种用户接入认证的手段,并简单地通过控制接入端口的开/关状态来实现,这种简化适用于无线局域网的接入认证、点对点物理或逻辑端口的接入认证。802.11与802.1x的结合提供健壮的安全无线环境和完善有线无线混合网络交互认证。本文的创新点在于基于IEEE802.1x/EAP协议规范,采用无线网络端口控制技术,提出了一种结合有线与无线网络的认证系统的设计和实现方案,并给出认证客户端(基于Windows下)和认证者(基于Linux下)具体实现编程,该系统通过认证检查能有效的阻止非法用户入侵,提高了PWLAN的安全性能。 [科]

【参考文献】

[1]曹萍,裴文江.EAP-FAST在公共无线局域网安全接入控制中的研究及实现[J].中国工程科学,2005,7(12):78-82.