背景技术
为了解决无线局域网国际标准ISO/IEC 8802-11中定义的WEP(WiredEquivalent Privacy)安全机制存在的安全漏洞,我国颁布了无线局域网国家标准及其第一号修改单,采用无线局域网认证与保密基础结构WAPI(WirelessAuthentication Privacy Infrastructure,无线验证与保密结构)替代WEP,解决无线局域网的安全问题。WAPI由无线局域网鉴别基础结构(WAI WLANAuthentication Infrastructure)和无线局域网保密基础结构(WPI WLANPrivacy Infrastructure)组成。WAI采用了公开密钥加密技术,用于终端与接入点之间的互相身份鉴别;WPI采用国家密码管理委员会办公室批准的用于WLAN的对称密码算法实现数据保护,对MAC子层的MSDU(Mac ServerData Unit,MAC服务数据单元)进行加、解密处理。规范中介绍的基础结构包括了几个功能实体,接入点(AP,access point)是指任何一个具备站点功能,通过无线媒体为关联的站点提供访问分布式服务的实体;鉴别请求者实体(ASUE,authentication supplicant entity)是在接入服务之前请求进行鉴别操作的实体;鉴别器实体(AE,authenticator entity)为鉴别请求者在接入服务之前提供鉴别操作的实体。该实体主流在接入点或终端内;鉴别服务单元(ASU,authentication service unit)的基本功能是实现对用户证书的管理和用户身份的鉴别等,是基于公开密钥密码技术的WAI鉴别基础结构中重要的组成部分;鉴别服务实体(ASE,authentication service entity)为鉴别器和鉴别请求者提供身份鉴别服务的实体。该实体驻留在鉴别服务单元中,鉴别服务单元对应网络中的节点为WAPI鉴别服务器。用户证书为公开密钥证书,它是WAI系统构造中重要的环节。公开密钥证书是网络用户的数字身份凭证,通过私有密钥验证可以唯一地确定网络用户的身份。
WAPI基础结构中的功能实体对应网络中的终端、接入点和鉴别服务器,鉴别服务器包含了证书管理单元和鉴别服务单元。对于终端来说,如附图1所示,需要使用WPI保密基础结构对802.11媒体访问控制子层(MAC,Media Access Control)的MAC协议数据分组(MPDU,MAC Protocol DataUnit)做加密和解密处理,另外,WAI信令在802.3以太网标准协议层中以太网帧基础上构建,定义了新的帧类型字段,并要求在鉴别过程中丢弃除此类型之外的其他以太网帧,这意味着已支持802.11的终端如需改造以支持WAPI,物理层可以不做改动,但在MAC层MPDU数据处理上要增加WPI,完成对称加密解密算法和对数据的完整性保护。在802.3以太网标准协议层之上增加WAI功能,对新的以太网帧类型数据做类型筛查,并实现基于WAPI证书的公开密钥保密机制。
扩展认证协议(EAP,Extensible Authentication Protocol)是基于端口的网络接入控制协议,已经被IEEE802.1x采纳。EAP不是一个特殊的鉴别机制,而应被视为一个鉴别框架。它常被用于无线网络或点到点的连接中。EAP不仅可以用于无线局域网,而且可以用于有线局域网。EAP允许链接双方协商出所希望的鉴别机制,这些机制被叫做EAP鉴别方法,当EAP被基于802.1x的网络接入设备(诸如802.11a/b/g,无线接入点)调用时,EAP可以提供一个安全认证机制,在用户和网络侧接入鉴别服务器之间提供一个可以安全地协商出会话密钥的方法。诸多的EAP鉴别方法中,EAP-TLS(扩展认证协议-传输层安全)基于PKI((Public Key Infrastructure,公钥基础设施)基础上的用户公开密钥证书完成用户和网络的相互鉴别,被视为EAP最安全的方法之一,EAP-TLS采用的证书类别,同WAPI一样,遵循X.509标准的数字证书格式。
通常情况下无线局域网中接入点与网络侧鉴别服务器之间采用远端拨入验证服务RADIUS(Remote Authentication Dial In User Service)协议,其基本特征是接入点设备作为RADIUS的客户端,一个RADIUS服务器还可以作为其他RADIUS服务器的代理服务器。RADIUS服务器和接入点设备之间的鉴别消息由双方预先分配好的共享密钥做部分信息的加密。RADIUS支持多种鉴别方法。EAP分组与RADIUS分组有着相同的数据结构,EAP通过EAP-message和Message-Authenticator两种协议属性在RADIUS打包下进行无线局域网终端到鉴别服务器之间的会话交互,从而能够在RADIUS框架下应用EAP-TLS鉴别方法完成基于公开密钥证书的鉴别功能。
WAPI已经作为国家在无线局域网安全方面的强制标准,并要求各类无线局域网设备厂家支持WAPI标准。从最新的WAPI规范发布内容看,鉴别服务实体和证书管理功能实体在设备上是分设的,证书管理功能实体部署为证书管理机构(CA,Certification Authority),多个证书管理机构构成层次化的公开密钥基础设施PKI,可以提供包含WAI鉴别服务在内的多种基于公开密钥鉴别的应用需求。鉴别服务实体则单独部署为WAPI鉴别服务器。为实现WAPI商用,运营商需要大规模部署并维护WAPI接入点和鉴别服务器,而采用国际上较为主流的802.11i和WPA安全协议作为接入控制的无线局域网环境,同时也会大量存在并被广泛使用,为笔记本或其他支持无线局域网接入能力的移动设备提供安全的无线局域网环境。IEEE802.11i和Wi-Fi联盟的WPA协议,均采用了基于远端拨入验证服务RADIUS和EAP协议的集中式处理方式来解决无线局域网中接入鉴别问题。对于无线局域网终端来说,支持各类安全协议,以适应各类无线局域网接入控制方法,是非常有必要的。
发明内容
本发明要解决的技术问题是提供一种无线局域网下实现终端与服务器鉴别的系统及方法,可实现终端在没有部署WAPI接入点的无线局域网环境下,也能完成无线局域网内终端与网络间的、基于WAPI证书的相互鉴别。
为了解决上述问题,本发明提供了一种无线局域网下实现终端与服务器鉴别的方法,包括:终端根据接入点广播的信标帧信息判定进行证书鉴别的方式,并根据确定的证书鉴别方式完成与网络侧的鉴别。
进一步地,所述证书鉴别方式为无线验证与保密结构(WAPI)方式或是扩展认证协议-传输层安全(EAP-TLS)方式。
进一步地,所述终端根据入点广播的信标帧信息判断进行证书鉴别的方式是指,当所述信标帧信息包含WAPI信息元素时采用WAPI方式进行证书鉴别,否则采用EAP-TLS方式进行证书鉴别。
进一步地,当所述判定采用EAP-TLS方式进行证书鉴别,且与之进行证书鉴别的服务器为加载了远端拨入验证服务(RADIUS)协议的WAPI服务器时,所述终端及服务器均采用WAPI算法对接收的数据进行解密,对发送的数据进行加密。
进一步地,所述接入点将接收的终端发来的EAP消息拆包并封装为RADIUS消息后发送至服务器,所述RADIUS消息的消息内容与所述EAP消息的消息内容一致;
所述接入点还将接收的服务器发来的RADIUS消息拆包并封装为EAP消息后发送至终端,所述EAP消息的消息内容与所述RADIUS消息的消息内容一致。
本发明还提供一种无线局域网下实现终端与服务器鉴别的系统,包括终端、接入点及服务器;
所述终端,用于接收接入点广播的信标帧信息,并根据所述信标帧信息判定进行证书鉴别的方式;还用于通过接入点与服务器完成证书鉴别;
所述接入点,用于向终端广播信标帧信息;
所述服务器,用于通过接入点与所述终端完成证书鉴别。
进一步地,所述进行证书鉴别的方式为无线验证与保密结构(WAPI)方式或是扩展认证协议-传输层安全(EAP-TLS)方式。
进一步地,所述终端包括接入安全控制模块及802.11MAC模块;
所述802.11MAC模块,用于将接收的信标帧信息通过以太网协议标准协议模块发送至接入安全控制模块;
所述接入安全控制模块,用于判断所述信标帧信息中是否包含WAPI信息元素,若包含WAPI信息元素则判定采用WAPI方式进行证书鉴别,否则判定采用EAP-TLS方式进行证书鉴别。
进一步地,所述服务器为配置了远端拨入验证服务(RADIUS)协议的WAPI服务器;
若所述接入安全控制模块判定采用EAP-TLS方式与所述服务器进行证书鉴别,所述终端及服务器均采用WAPI算法对接收的数据进行解密,以及采用WAPI算法对发送的数据进行加密。
进一步地,所述接入点还用于证书鉴别过程中,将接收的终端发来的EAP消息拆包并封装为RADIUS消息后发送至服务器,所述RADIUS消息的消息内容与所述EAP消息的消息内容一致;以及
将接收的服务器发来的RADIUS消息拆包并封装为EAP消息后发送至终端,所述EAP消息的消息内容与所述RADIUS消息的消息内容一致。
综上所述,本发明通过在终端上新增接入安全控制模块,改造WAPI鉴别服务器,使得实现本发明方法的终端在没有部署WAPI接入点的无线局域网环境下,也能完成无线局域网内终端与网络间的、基于WAPI证书的互相鉴别。实现此发明的终端仍可在WAPI无线环境下的进行正常的WAPI接入鉴别流程。
具体实施方式
以下结合图例详细说明方法的具体实施过程。
本实施例提供一种无线局域网下实现终端与服务器鉴别的系统,包括终端、接入点及服务器;
如图3所示,该终端包括接入安全控制模块、证书管理模块、WAI模块、WPI模块、以太网协议标准协议模块、802.11MAC模块及802.11物理层;
802.11MAC模块,用于接收接入点广播的信标帧信息并通过以太网协议标准协议模块发送至接入安全控制模块;还用于收到接入安全控制模块采用EAP-TLS方式进行证书鉴别的通知后组建关联请求并发送至接入点;
接入安全控制模块,用于根据接收的信标帧信息判断是采用WAPI方式进行证书鉴别还是采用EAP-TLS方式进行证书鉴别,即当信标帧信息包含WAPI信息元素时采用WAPI方式进行证书鉴别,否则采用EAP-TLS方式进行证书鉴别。还用于当判定采用WAPI方式进行证书鉴别时,通知WAI模块组建鉴别请求信息,并且将根据以太网帧类型值,过滤后续由以太网协议模块上报的帧数据,将仅满足WAI帧类型要求的以太网帧,直传给WAI模块。当判定采用EAP-TLS方式进行证书鉴别时,通知802.11MAC模块组建关联请求。
接入安全控制模块还用于收到并处理包含TLS Server Hello信息的EAP消息,解析出服务器公钥证书信息,通知证书管理模块验证服务器证书是否由CA签名;
接入安全控制模块还用于通过查询WAI、WPI得到一个可选加密算法列表、用户WAPI公钥证书,使用用户公钥对验证结果做签名。将上述信息打包作为上一条封装了TLS Server Hello的EAP请求的响应消息,通过以太网协议模块及MAC模块发送至接入点。
证书管理模块,用于独立管理用户证书和根证书,并在WAPI基础体系结构下的公钥基础设置环境下,完成证书有效性验证工作;还用于管理用户身份标识,当无线局域网终端同时具备移动蜂窝网络接入能力时,身份标识不仅包含用户个人证书标识,也包括了移动蜂窝网络中可唯一标识用户身份的标识,如UMTS/GSM网络中的IMSI号码或者用户移动号码如MSISDN号。本发明描述基于WAPI证书的鉴别过程,而不是针对此处提到的用户身份标识的鉴别过程。
证书管理模块还用于收到验证服务器证书的通知后,通过向CA查询或检查CA上周期性证书撤销列表,判定服务器证书是否已经过期,并将判断结果发送至接入安全控制模块。
WAI模块用于将组建的WAPI鉴别数据报文,通过以太网协议模块发送给MAC层。还用于按照WAPI规范要求,采用椭圆曲线算法ECDSA-192,散列算法SHA-256,实现基于X.509v3格式证书的鉴别和密钥功能。以及采用WPI-SMS4密钥套件中的分组密码算法SMS4,在CBC-MAC模式和OFB模式下,分别完成完整性校验算法工作和对称加密算法工作。
接入点,用于向终端广播信标帧信息;
接入点还用于证书鉴别过程中,将接收的终端发来的EAP消息拆包并封装为RADIUS消息后发送至服务器,该RADIUS消息的消息内容与所述EAP消息的消息内容一致;以及
将接收的服务器发来的RADIUS消息拆包并封装为EAP消息后发送至终端,该EAP消息的消息内容与所述RADIUS消息的消息内容一致。
服务器为配置了RADIUS协议的WAPI服务器,增加RADIUS信令接口,用于验证来自非WAPI接入点的接入鉴别请求;服务器用于通过接入点与终端完成证书鉴别;服务器采用WAPI算法对接收的数据进行解密,以及采用WAPI算法对发送的数据进行加密。
本实施例提供一种无线局域网下实现终端与服务器鉴别的方法,当终端确定鉴别方法不是WAPI时,本发明将采用EAP-TLS鉴别方法来完成基于WAPI证书的鉴别过程。根据规范要求,局域网EAP消息即EAPOL消息在以太网帧封装时,帧类型为0X8E88,此时接入安全控制模块将只处理此类型以太网帧数据。具体流程如图4所示;
以下实施例中的服务器为配置了RADIUS协议的WAPI服务器;
步骤401:终端根据接入点广播的信标帧信息判断进行证书鉴别的方式,若判定采用EAP-TLS方式进行证书鉴别则执行步骤402,否则采用WAPI方式进行证书鉴别,WAPI的证书鉴别方式同现有技术。
判断采用哪种方式进行证书鉴别的方法为,当信标帧信息包含WAPI信息元素时采用WAPI方式进行证书鉴别,否则采用EAP-TLS方式进行证书鉴别。
步骤402:终端向接入点发送关联请求;
步骤403:接入点收到关联请求,接受关联请求,向终端返回成功响应;
步骤404:终端收到成功响应,向接入点发送EAPOL-Start消息,用以通知接入点发起EAP请求;
步骤405:接入点收到EAPOL-Start消息,向终端发送身份请求报文,请求终端提供用户标识;
步骤406:终端根据其类型及支持的无线接入能力,获取身份信息,并组建EAP响应发送至接入点,携带身份信息。
该身份信息可以是用户的IMSI号码;
步骤407:接入点收到EAP消息后将其拆包并封装为RADIUS消息,加密后发送给服务器,RADIUS消息实质是EAP-TLS消息内容,即接入点采用透传方式。
步骤408:服务器收到RADIUS消息后发起EAP-TLS的握手过程,即通过RADIUS,封装EAP-TLS Start消息。
步骤409:接入点将RADIUS消息拆包并封装为EAP消息后发送至终端,消息中EAP-Type指示为EAP-TLS。
步骤410:终端接收EAP-TLS Start消息后,按照EAP-TLS规范要求组建响应报文,生成一个随机数并生成此次TLS会话的ID(标识),组建TLSclient hello消息,封装为EAP消息,打包后作为EAP-TLS请求通过接入点发送给服务器。
步骤411:服务器收到EAP-TLS的client hello消息后,按照EAP-TLS规范要求组建TLS server hello握手信息,消息包括服务器的加密套件,即WAI和WPI相关套件,一个随机数,除了server hello握手消息之外,还生成TLS server_certificate握手消息,包括服务器的WAPI公开密钥证书,和由其私钥签名的挑战,这里需要说明的是通常的EAP-TLS流程使用的是RSA算法,本发明中鉴别服务器使用的是椭圆曲线算法。为了交换密钥,还需生成TLS server_key_exchange握手信息,为实现双向鉴别,生成certificate_request信息。服务器上上述各消息组包为EAP-TLS的请求后通过接入点发送给终端。
步骤412:终端收到并处理包含TLS Server Hello信息的EAP消息,解析出服务器公钥证书信息,通过向CA查询或检查CA上周期性证书撤销列表,判定服务器证书是否已经过期。随后终端利用WAI的散列算法及椭圆曲线算法,使用服务器证书中的公开密钥验证消息中的数字签名。
步骤413:如果签名验证通过,则终端完成对服务器的鉴别。终端生成一个可选加密算法列表、用户WAPI公钥证书,使用用户公钥对验证结果做签名,并将上述信息打包作为上一条封装了TLS Server Hello的EAP请求的响应消息,通过接入点发送至服务器。
步骤414:服务器收到EAP-TLS消息后,采用与终端同样的方法验证消息中的签名,如果验证通过,则服务器完成对终端的鉴别,则发送TLSfinished消息。消息中携带加密密钥,终端接入安全控制模块负责组包TLSACK消息,至此EAP-TLS握手结束。
本发明的鉴别方法有别于WAPI中提到的三元安全架构,抽去了接入点的独立身份鉴别。本发明中终端和鉴别服务器利用数字签名相互鉴别各自的身份,并且利用了EAP机制完成密钥协商,接入点只起透传作用,即使攻击者采用钓鱼手段,也难以截取通讯信息。另外,鉴别过程依然使用WAPI的椭圆曲线算法,会话密钥协商出来后,使用WPI-SMS4算法对MPDU数据做对称加密,在算法层面确保了鉴别信令及用户数据安全。
本发明要求WAPI鉴别服务器增加对同样基于UDP的RADIUS协议的支持,即当终端接入的是普通的接入点设备并发起EAP-TLS过程时,鉴别服务器的新增功能使得服务器以RADIUS Server方式工作,但实际采用加密套件仍是WAPI鉴别服务器中鉴别服务单元提供。此功能扩展也使得WAPI鉴别服务器可接受其他RADIUS Server关于用户鉴别状态的查询,可以提供WAPI终端用户的鉴权、授权、计费(AAA,Authentication,Authorization,Accounting)功能,和目前CDMA无线数据网络中认证系统融合。