基于近场通信认证的无线局域网无线接入协议的安全性设计

2016-05-14 08:38李云陈庞森孙山林
计算机应用 2016年5期
关键词:调用密钥无线

李云 陈庞森 孙山林

摘要:针对基于近场通信(NFC)认证的无线局域网(WLAN)无线接入协议点对点通信模式存在的问题,如明文传输、用户接入匿名性、数据易于被窃听、易于被篡改等,提出基于NFC认证的WLAN无线接入协议安全性的设计。该协议采用DiffieHellman 密钥交换算法与第二代安全散列算法(SHA)建立安全隧道来完成随机信息的交换;采用椭圆曲线数字签名算法来消除用户的匿名性。从协议需求分析、架构设计与协议时序步骤三个方面入手,给出了一个计算机上的原型实现。通过有色Petri网(CPN)建模,实验仿真结果表明:基于NFC认证的WLAN接入协议对于无线局域网的非法接入攻击与窃听攻击有着良好的抵抗效果。

关键词:

近场通信;无线局域网;有色Petri网;椭圆曲线数字签名算法

中图分类号:TP393.08 文献标志码:A

Abstract:Aiming at the problems existing in pointtopoint communication model of Wireless Local Area Network (WLAN) protocol via Near Field Communication (NFC) authentication, such as plaintext transferring, users anonymous access, data being easily tapped and tampered, a security design of WLAN protocol via NFC was put forward. The security tunnel was built using DiffieHellman key exchange algorithm and second generation Secure Hash Algorithm (SHA) to transfer the random information, and the users anonymity was eliminated using Elliptic Curve Digital Signature Algorithm (ECDSA). A prototype implementation on computer was given from requirement analysis, architecture design and sequence steps of the protocol. The experimental results by using Colored Petri Net (CPN) modeling show that the proposed protocol can execute stably and deal with the unauthorized access and eavesdropping problems of WLAN.

Key words:Near Field Communication (NFC); Wireless Local Area Network (WLAN); Colored Petri Net (CPN); Elliptic Curve Digital Signature Algorithm (ECDSA)

0 引言

无线局域网(Wireless Local Area Network, WLAN)具有传输速率高、使用灵活等特性。目前,WLAN在大学校园、公共场所和企业等得到了一定应用。未来具有多跳功能的WLAN将会在一些特定的应用领域变得越来越普及,如无线城市、无线校园等。然而,无线传输介质的开放接入特性,使WLAN的安全性成为一个亟待解决的问题,特别是在重要的国家安全机构,解决无线局域网的安全问题迫在眉睫[1-3]。WLAN的认证协议主要有有线等效保密协议(Wired Equivalent Privacy, WEP)、WiFi网络安全接入(WiFi Protected Access/ WiFi Protected Access2PreShared Key, WPA/WPA2PSK)、WiFi保护设置(WiFi Protected Setup, WPS)三种[4-6]。然而,WLAN中的三种认证协议都有自身的缺陷。例如:在WEP认证过程中,RC4算法常常作为数据加密算法。然而,这种加密算法的弱点是当收集足够的初始向量(Initialization Vector,IV)与RC4字节流的第一个字节时,key就可以被获取[7]。WPA/WPA2PSK认证方式使用较为广泛,目前也较为安全;但是,在预共享密钥(PreShared Key, PSK)不是足够长的情况下,如果能够收集用户在初始认证时的四次握手包,用字典攻击或暴力猜解等方法就可以在等待的时间内破解PSK[8]。在WPA/WPA2PSK的基础上,文献[9]提出WPS认证方式;然而,这种认证方式无法用制度或者规则去判断获得PSK的用户的合法性。

针对以上的问题,本文提出基于近场通信(Near Field Communication, NFC)认证的WLAN无线接入协议。NFC是一种工作频率为13.56MHz,工作距离只有0~20cm(实际产品大部分都在10cm以内)的近距离无线通信技术,允许电子设备通过简单触碰的方式完成信息交换及内容与服务的访问。NFC技术已经应用到文件传输、移动支付、智能海报等领域[10-11]。NFC由三种工作模式构成,分别是卡模式、标签读写模式以及用于高级协议通信的点对点模式。本文提出基于NFC认证的WLAN无线接入协议是基于点对点模式上开发的协议。然而,NFC的点对点模式在交互过程中也存在窃听的问题。文献[12]阐述在10m距离内,NFC的点对点模式的数据可以被窃听。文献[13]描述了在NFC点对点的工作模式中,数据常常被篡改;虽然采用波特率为106Kb/s的主动通信方式有效地避免了数据篡改,但是,这种方式非常易于受中间人攻击。

为提高NFC接入WLAN协议的安全性,本文采用DiffieHellman密钥交换算法与第二代安全散列算法(Secure Hash Algorithm,SHA)建立基于NFC协议栈的安全隧道来完成随机信息的交换。由于接入用户存在匿名性等不安全隐患,本文采用椭圆曲线数字签名算法(Elliptic Curve Digital Signature Algorithm, ECDSA)来消除用户身份的匿名性。最后,采用有色Petri网(Colored Petri Net, CPN)建模,在协议需求分析与架构设计的基础上,给出了一个计算机上的原型实现。仿真验证表明,基于NFC认证的WLAN接入协议对于无线局域网的非法接入攻击与窃听攻击有着良好的抵抗效果,协议本身也可以抵抗针对近场通信的窃听攻击、数据篡改攻击、重放攻击和中间人攻击。

1 建立安全隧道算法与消除匿名性算法

针对企业等人员流动相对缓慢,上网人群相对固定,但保密意识较差的应用场景,本文提出基于NFC认证的WLAN接入协议,实现较好的安全性接入。该协议利用DiffieHellman密钥交换算法和第二代SHA建立安全隧道传递预共享密钥,同时利用ECDSA消除在DiffieHellman密钥交换算法中的匿名性问题,并对每个用户进行一次上网权限的初始化。

1.1 DiffieHellman密钥交换算法与SHA

DiffieHellman密钥交换算法是Whitefield与Martin Hellman在1976年提出了一个奇妙的密钥交换协议,它可以确保预共享密钥安全的穿过不安全的网络。SHA主要适用于数字签名标准(Digital Signature Standard,DSS)里面定义的数字签名算法(Digital Signature Algorithm,DSA)。SHA是美国国家标准技术研究所发布的国家标准FIPS PUB 180,最新的标准已经于2008年更新到FIPS PUB 1803。其中规定了SHA1、SHA224、SHA256、SHA384和SHA512这几种单向散列算法。本文利用DiffieHellman密钥交换算法和第二代SHA建立安全隧道完成预共享密钥的传递。

在基于NFC认证的WLAN接入协议中,首先本文需要建立安全的通信隧道。本文主要提出了采用DiffieHellman密钥交换算法和第二代SHA来实现。步骤如下:

在各自计算出K之后,Alice作为NFC会话的Initiator在用户设备(Station, STA)中生成一段随机的INounce,通过Trans Alice变迁发送到接入点设备(Access Device,AP),即NFC会话中的Target。

AP接收到INounce之后,生成随机的TNounce,通过Trans AP变迁发送至STA;同时,Target的NFCID3在通过近距离碰触建立NFC会话时,已经由Target传递向Initiator。TNounce与NFCID3,经由Trans AP变迁完成传送。

随后,在CPN模型中的Hash变迁中,Alice与AP各自使用和第二代SHA的SHA256算法利用式(6)计算生成KEY:

KEY=SHA2(INounce:NFCID3:K:TNounce)(6)

KEY是用于高级加密标准(Advanced Encryption Standard,AES)加解密算法的AES 256位对称密钥。由于双方都采用了相同的算法,因而双方计算出的KEY是相同的,计算AES 256位对称密钥中的基础元素K是通过DiffieHellman算法各自计算生成的,攻击者(Eve)无法截获K。因而尽管Eve能够及时截获INounce、TNounce和NFCID3,也会因为缺少K无法用Hash函数计算出正确的AES 256位对称密钥,即CPN模型中的AES KEY。

在得出AES 256位对称密钥之后,基于NFC的安全信道已经成功建立。但是,此信道却是匿名的。对于接入请求而言,需要使用ECDSA证书对用户的身份进一步认证。

1.2 椭圆曲线数字签名算法椭圆曲线

ECDSA是使用椭圆曲线对数字签名算法(DSA)的模拟,它先后成为ANSI(American National Standards Institute)、NIST(National Institute of Standards and Technology)、IEEE和ISO的标准。与普通的离散对数问题和因数分解问题不同,椭圆曲线离散对数问题没有已知的亚指数算法,所以使用椭圆曲线的算法在密钥的位强度是足够高的。

用户可以通过软件算法生成用于认证的ECDSA公钥,产生认证公钥的主要目的是消除用户身份的匿名性。在用户使用自身的设备或公司提供的电脑生成ECDSA密钥对之后,需要将ECDSA公钥当场提交给WLAN管理员以申请上网权限,因为这个过程是由WLAN管理员当面认证的,因而可以保证ECDSA证书的绝对可信性。由于协议采用了公钥密码证书体制,合法用户也可以通过向主管领导申请证书签名的方式来增强申请者的可信性。这样,领导对证书签署电子签名即表示上级同意了该申请者的联网申请,这与组织机构的权力控制机制保持了一致。此时,对ECDSA证书进行签名的主管领导必须对申请者的合法性审核负全责。

同时使用ECDSA证书对AES密钥进行签名具备四个好处:一是NFC协议被设计为近距离低速数据传输协议,AES是双方各自计算得出的,对AES进行签名可以利用现有的数据减少一次协议数据的传输,进而减少用户等待时间。二是前面所述步骤有极低的概率因为计算机故障导致计算出不一致的AES 256位对称密钥。通过公钥签名进行验证可以检验并确定AES对称密钥的一致性。三是ECDSA公钥密码体制足够安全,即使签名在E3区域被Eve窃听,也不足以通过签名反向破解出AES对称密钥。四是通过对AES签名的验证,可以避免中间人攻击。这样就解决了NFC的窃听、中间人攻击问题。

2 基于NFC认证的WLAN无线接入协议设计

基于NFC认证的WLAN无线接入协议设计,本文从协议需求、架构设计和协议具体步骤三个方面分别进行阐述。

2.1 协议需求

基于NFC认证的WLAN接入协议,本文采用WAVNAP(WLAN Access Via NFC Authentication Protocol)作为标识。

由于基于NFC认证的WLAN接入协议涉及了较多的算法,因此本协议对其他组件库有较多的依赖。必备库的依赖关系如图1所示。

组件中的libnfc是用于实现NFC点对点模式通信的核心库。libnfc在点对点模式中提供了对近场通信接口和协议(Near Field Communication Interface and Protocol,NFCIP1)及逻辑链路控制协议(Logical Link Control Protocol, LLCP)的支持,同时它也支持卡模拟模式和读写模式;并且在实现驱动原型时所采用的PN532芯片也需要libnfc中的pn532_uart驱动程序支持。本文采用的libnfc版本是1.7.0,该版本需要配置环境变量以支持对PN532芯片的自动加载。

Wpa_supplicant是GNU/Linux操作系统下的常用于WPA/WPA2连接网络的服务程序,可以通过解析配置文件的方式连接到不同的网络。因此,在实现时需驱动wpa_supplicant以连接相应的网络。

hostapd是GNU/Linux操作系统下常用的软AP驱动程序,它可以支持master模式的网卡充当接入点,也支持以配置文件的方式进行设置。这为动态地设置扩展服务集标识(Extended Service Set Identifier,ESSID)与PSK提供了便利,也减少了购置专业可编程AP的资金需求。

libgcrypt是GNU/Linux系统中最常用的密码学算法库。它提供了AES、ECDSA、ECDH、DSA、RSA、DES等几乎所有已公开的密码学算法的实现。著名的密钥管理软件GNU PG就是依赖于libgcrypt实现的。这为本文解决ECDSA与AES的计算需求提供了便捷。

DB是数据库开发组件,本文采用的是PostgreSQL数据库,libpq是程序库,用于连接数据库并存储用户的公钥信息。

此外,本文还实现了如下功能:大质数的生成,可以采用从Linux随机设备/dev/urandom中读取,随后通过自行实现的MillerRabin素数测试来实现;而DiffieHellman算法,由于没有现成的算法可以使用,也需要由软件自行实现,在必要的情况下,也可以选配GNU高精度库(GNU MultiPrecision, GMP)来辅助实现。

在完成上述库的编译与安装之后,即可对协议整体进行架构设计。

2.2 架构设计

协议实现分为两个部分,分别是用于STA/Alice/Initiator的WAVNAPSTA和用于AP/Bob/Target的WAVNAPAP。

本协议属于空中认证协议,由于WAVNAPSTA与WAVNAPAP扮演的角色不同,并且二者之间的行为存在明显的差异,因此协议的整体架构需要针对WAVNAPSTA与WAVNAPAP分别进行设计。

对于WAVNAPSTA部分,用类WAVNAP_STA作为对外接口,如图2所示。因为DiffieHellman加密算法的相关运算需要完全由自己来实现,所以需要构建专门用于计算DiffieHellman数据的DH类。DH类的init调用用于生成式(1)中p与a,并按照式(1)计算出A;init_p调用则在已知p的基础上生成式(2)中的b,并按照式(2)生成B;最后genK调用则可以由A与b按照式(3)生成K或由B与a按照式(4)生成K。DH类中的类型mpz_t是高精度整数类型。

DiffieHellman算法需要对素数进行幂及模运算,所以针对素数方面的运算,本文专门设计了Prime类。Prime类主要用于生成素数,进行millerrabin素数测试等工作。密码学的算法多数基于大素数,因而必须要使用高精度整数类型mpz_t来存储这些数字。

在生成K结束之后,WAVNAPSTA与WAVNAPAP进行了数据交互,随后需要计算SHA2256以生成AES对称密钥,相关的算法实现在SHA2类中。实际上SHA2类仅是一个接口,最后真正调用的是libgcrypt中预先实现好的库函数。

此后的鉴权则需要用到ECDSA签名算法和验证签名算法,在版本大于1.5.0的libgcrypt中提供了对于ECDSA这两类算法的实现。ECDSA接口提供了对libgcrypt的调用,除此之外也可以采用自行实现的ECDSA进行签名或者验证签名。这个接口需要将文本型的密钥信息与签名信息转化为libgcrypt需求的形式,并进行调用。

通过AES进行PSK配置信息的传递,需要用到AES算法,在WAVNAPSTA中需要用到AES中的decrypt调用。而decrypt调用需要用到具体的AES解密算法,这需要调用libgcrypt库中相关的函数。

在接收到PSK后,WAVNAPSTA就可以通过STA类设置essid与psk,并通过connect连接到AP。connect调用的主要功能是实现生成wpa_supplicant的配置文件,并通过执行wpa_supplicant发起WPA/WPA2认证。私钥信息在STA上以文件的形式存储即可。

对于WAVNAPAP部分的设计,如图3所示,类WAVNAP_AP是根类,作为对外的接口。图中,DH类、ECDSA类、Prime类AES类、SHA2类都与STA部分的相同,只是针对WAVNAPAP中的ECDSA类使用的是chksign调用而非WAVNAPSTA中的mksign调用。对于AES而言,WAVNAPAP部分的AES类调用的是encrypt,用于加密PSK和ESSID等配置信息;而WAVNAPSTA部分调用的则是decrypt,用于解密PSK和ESSID等配置信息。

WAVNAPAP在完成对ESSID与PSK等配置信息的生成之后,需要及时地针对网卡进行相应的配置。应用AP类生成配置信息与设置网络,该类中gen_psk调用用于生成随机的ESSID与PSK等配置信息,而set_ap调用则生成hostapd配置文件并对hostapd服务进行配置,其中的onconnect是STA成功连接后触发的回调函数指针,该函数指针主要用于在STA首次连接成功后拒绝对同一个网段的其他连接请求。hostapd则用于启动网卡的软AP模式。

由于WAVNAPAP需要处理多个用户的认证接入请求,通过数据库进行公钥的管理是非常有必要的,因此设计了数据库访问类DB。DB主要用于建立或关闭数据库连接并处理查询,保证数据库线程安全。

通过这样的设计,即可较好地实现基于NFC认证的WLAN接入协议。

2.3 协议具体步骤

图4是基于NFC认证的WLAN接入协议的时序图,其中STA代表用户的WLAN设备和用户的NFC设备。因为处于NFC中的Initiator角色和密码学中Alice的地位相同,所以用Initiator/Alice表示。STA与Initiator/Alice在同一设备上。

相应的接受WLAN接入认证请求的NFC设备处于NFC会话中的Target角色,也就是密码学中的Bob角色,这个设备一般与AP在一个设备上,所以在图4中命名为Target/AP/Bob。WLAN中接受STA连接的设备为AP,认证部分有时候会交由Radius服务器进行,一般情况下,它们是绑定在一起的,因此命名为AP/Radius。Target/AP/Bob与AP/Radius的最低要求是处在同一个不会泄密的区域内,这样可以保证支持NFC认证的服务器不会在与AP通信的过程中发生信息泄密。

序列图中的时间流从上向下进行,其中在同一个大边框内的可以认为是共终端的设备,在没有人攻破的条件下可以认为不会发生泄密事件,也无法被窃听;而跨越大边框的箭头是协议的空中通信通讯,这种跨越终端的通信通讯可以通过特制的天线因此必须通过协议加密的方式保障空中通信通讯的安全。

基于NFC认证的WLAN接入协议从NFC接触到获取最终的PTK共有15步协议操作。这15步协议操作分别是:

1)用户持设备,以Initiator角色与认证方Target建立NFC会话,在此过程中,Target将NFCID3发送给Initiator。

2)Initiator随机生成a、 p,依照式(1)计算A,并将A、 p发送至Target。

3)Target随机生成b,依照式(2)计算B,并将B发送至Initiator。

4)Target与Initiator分别按照式(3)与式(4)计算各自生成K。

5)Initiator随机生成INounce并发送至Target。

6)Target随机生成TNounce并发送至Initiator。

7)Initiator与Target各自按照式(6)各自生成用于AES加密的256位对称密钥KEY。

8)Initiator用自身的私钥PrivKey对KEY进行签名,生成签名结果sig。

9)Initiator发送sig至Target。

10)Target使用用户事先申请上网时存储的公钥PubKey,验证KEY的签名sig。如果通过,则生成包含随机的PSK与随机的ESSID的配置信息,记作MPSK。

11)Target用KEY对第9)步生成的含配置信息的PSK进行AES加密,生成加密数据CPSK。

12)Target将CPSK发送至Initiator,同时将用PSK所定义的配置信息配置AP/Radius,准备接受用户的接入。

13)Initiator将CPSK用KEY进行AES解密,将得到的PSK转交至WLAN联网模块STA。同时,AP/Radius完成了配置,并成功发送出ANounce与AMac至STA。

14)STA承接AP/Radius发起的WPA/WPA2PSK第一次握手,发送SNounce与SMac。

15)STA与AP/Radius各自使用SNounce、SMac、ANounce、AMac,以及具有ESSID与PSK的MPSK按照WPA协议标准生成PTK,并完成后续的第三次与第四次握手,至此,基于NFC认证的WLAN接入协议已全部完成。

通过上面的步骤,即可在非明文传递PSK的基础上,实现WLAN的安全接入;并且PSK在传递过程中利用了DiffieHellman算法生成了难以攻破的NFC安全隧道,窃听者几乎不可能在有效时间内完成对PSK的破解。

3 协议验证

在协议验证方面,本文从CPN仿真和实际运行两个方面进行了描述。

3.1 基于NFC认证的WLAN接入协议的仿真分析

基于NFC认证的WLAN接入协议的仿真分析中,本文针对当前WLAN用户容易受到非法接入攻击和窃听攻击的情况分别作了仿真分析。

为了分析基于NFC认证的WLAN接入协议对于非法接入攻击的抵抗能力,本文建立了图5的CPN仿真模型。图5中,区域E4的库所Eve中用“0”表示攻击者Eve的身份,区域A中的库所Alice中用“1”表示合法用户Alice。Eve在认证中的每一个有可能窃听的环节即CPN模型中的E1、E2、E3、E4区域都进行了窃听,窃听发生在信息空中传递的过程中,即模型中的Trans Alice、 Trans AP、 Trans sig、 Trans PSK四个变迁。为了达到一次一密的效果并且避免重放攻击。区域B中库所AP PSK在每一次成功的认证之后都将拒绝第二次认证,即B区域中的Auth变迁。认证成功的用户将进入Auth Pass库所,而认证失败的用户将进入Fail库所。

图6所示的仿真结果表明:尽管Eve截获了大量的数据,但由于缺乏K而无法推算出AES对称密钥KEY,进而无法对加密后的CPSK进行解密,最终在Auth变迁中由于使用了错误的配置信息而被拒绝,进入了Fail状态;而合法用户Alice因为可以正确地解密出配置信息PSK,因而成功地进入了Auth Pass状态。可见,基于NFC认证的WLAN接入协议对于非法接入攻击的抵抗是有效的。

为了分析基于NFC认证的WLAN接入协议对于窃听攻击的抵抗能力,本文建立了图7的CPN仿真模型。模型中各区域代表含义与图5一致,在待发送的数据在区域A底部的库所Data Send中,值为9999,该值将在WLAN连接完成后进行发送以验证协议对窃听攻击的抵抗能力。

仿真结果图8表明,区域A与区域B通过NFC安全隧道加密传输了随机生成的WLAN接入配置信息。在此过程中,Eve在E1、E2、E3区域窃听到了NFC交互数据,但无法利用这些窃听到的交互数据反推出AES对称密钥,因而在Trans PSK变迁中只能截获加密后的配置信息,无法对配置信息进行解密。

在区域A中Alice PSK库所得到解密后配置信息后,A区域与B区域各自通过to PTK变迁计算出一致的PTK。随后A区域中Data Send库所中的数据将采用该PTK进行加密,而B区域中也将使用该PTK进行解密并放入Data Recv库所中。二者PTK一致,因而Data Recv中的最终数据将与Data Send中的原始数据相同。E4区域中Eve由于缺少PSK,因而尽管通过Trans A和Trans S两个变迁从空中截获了区域A与区域B互换的公开信息SNounce、ANounce、SMac、AMac,却无法生成正确的PTK。Eve在TD变迁中同样截获了区域A用PTK加密的数据,但由于区域E4中的PTK与区域A中的PTK不同,经过区域E4中Eavesdropping变迁的解密后,Data Eaves库所只能得到错误的解密数据,从图8可看出,Data Eaves中的数据域Data Recv中的数据有所不同。这表明,基于NFC认证的WLAN接入协议对于窃听攻击的抵抗是有效的。

同时,由于每次认证都会产生随机的全新ESSID与PSK进行配置,保证了一次一密性。由于不同的用户间相互不清楚他人的配置信息,因而攻击者无法依赖自身的PSK推算其他人的PSK,从而做到了用户信道的隔离。这与Eve无法窃听图8中区域A与区域B的通信的原理是一样的。因为不同的用户获得的PSK不同,导致他们在其他信息相同的条件下计算出的PTK不同,从而抵抗了内部人员基于相同PSK进行的窃听攻击。

3.2 基于NFC认证的WLAN接入协议的实际运行分析

图9是基于NFC认证的WLAN接入协议在AP端的实现的WAVNAPAP运行时的运行效果截图。

从图9中可以看到,WAVNAP_AP首先要对NFC设备进行初始化,随后检查了WLAN适配器的存在性,并完成了对公钥数据库authdb的连接,便开始等待STA/Initiator的连接。

图10是协议在STA端的实现的WAVNAPSTA运行后的运行效果截图。

此时,WAVNAPSTA已经可以启动,WAVNAPSTA则需要指定进行连接的用户名和连接WLAN所用的设备。这些私钥和设备的配置信息被写在了用户主目录下的.wavnap.conf中,当WAVNAPSTA启动后,这些信息被自动加载以用于初始化WLAN适配器和ESDSA私钥。配置加载完成后,WAVNAPSTA初始化NFC设备与指定的WLAN设备ra0,并读入相应的私钥6524be98。初始化完成后,WAVNAPSTA提示用户将NFC设备与AP的NFC认证设备authpad进行接触。

在NFC接触发生后,NFC连接被迅速建立,STA获取到了AP的NFCID3。随后,Initiator发送DiffieHellman算法所需的p与A,Target接收后发送了B。随后双方根据此次交换各自计算出了DiffieHellman算法的秘密会话种子K,成功地建立了DiffieHellman安全隧道。

随后,Initiator发送了INounce,Target收到后回复了TNounce。依赖于K、INounce和TNounce,双方各自计算出了256位的AES对称密钥KEY。

Initiator使用自己的私钥对AES对称密钥进行了签名,并将签名进行了发送。Target收到了签名后,依照用户名(即私钥指纹)从数据库authdb中获取了对应的公钥信息,并利用该公钥信息对签名进行了验证。

验证通过后,WAVNAPAP生成了随机的ESSID与PSK并用这两项信息配置了hostapd.conf,随后利用该配置文件在wlan0上启动了hostapd。此时,AP已经可以接受STA的WLAN连接。

随后,WAVNAPAP将加密后的ESSID与PSK发送至WAVNAPSTA。WAVNAPSTA进行了相应的解密,成功的获取了ESSID与PSK。此时,基于NFC认证的WLAN接入协议在NFC设备上的交互已经全部结束,可以随时将用户的NFC设备移开,AP端出现了认证与授权结束的字样。WAVNAPSTA利用解密出的配置信息并启动了wpa_supplicant工具。

在WAVNAPSTA启动wpa_supplicant之后,WAVNAPAP显示STA已连接,同时WAVNAPSTA也显示用户已经可以将NFC设备移开了。

在用户移开NFC设备之后,双方显示NFC会话中断,WAVNAPSTA程序结束,而WAVNAPAP则进入了新一轮循环,等待下一个NFC认证请求。

此时,尽管基于NFC认证的WLAN接入协议已经结束,但基于WPA体制的WLAN连接却已经建立,后续的网络通信不再需要该协议进行维护。只有在用户断开WLAN连接之后,才需要重新刷NFC设备以再次建立WLAN连接。

4 结语

针对基于NFC认证的WLAN接入协议安全性的分析,本文采用DiffieHellman密钥交换算法与第二代SHA建立基于NFC协议栈的安全隧道来完成随机信息的交换,采用椭圆曲线数字签名算法消除用户接入匿名性的问题,并从协议需求分析、架构设计与协议时序步骤三个方面入手,给出了一个计算机上的原型实现。通过CPN建模,实验结果表明:基于NFC认证的WLAN接入协议对于无线局域网的非法接入攻击与窃听攻击有着良好的抵抗效果;协议本身也可以抵抗针对近场通信的窃听攻击、数据篡改攻击、重放攻击和中间人攻击。

参考文献:

[1]李兴华, 尚昭辉, 杨丹, 等.利用无线物理层密钥增强802.11i的安全性[J].江苏大学学报(自然科学版), 2013, 34(4):416-421.(LI X H, SHANG Z H, YANG D, et al. Security enhancement of 802.11i by wireless physical layer key[J]. Journal of Jiangsu University (Natural Science Edition), 2013, 34(4):416-421.)

[2]陈卓, 金豪, 张正文.一种无线局域网多安全域间的密钥共识协议[J].计算机应用, 2006, 26(9): 2121-2123.(CHEN Z, JING H, ZHANG Z W. Multidomain key agreement protocol for WLAN[J]. Journal of Computer Applications, 2006, 26(9): 2121-2123.)

[3]丰江帆, 王倩, 刘兆宏.无线局域网环境下的图书馆定位系统研究与实现[J].现代图书情报技术, 2012(4):79-83.(FENG J F, WANG Q, LIU Z H. Research and implement of library positioning system in wireless LAN environment[J]. New Technology of Library and Information Service, 2012(4):79-83.)

[4]李勤, 张浩军, 杨峰, 等. 无线局域网安全协议的研究和实现[J]. 计算机应用, 2005, 25(1): 160-162.(LIN Q, ZHANG H J, YANG F, et al. Study and implementation of security protocols for wireless local network[J]. Journal of Computer Applications, 2005, 25(1): 160-162.)

[5]刘永磊, 金志刚.无线局域网WPS安全性分析[J].计算机工程与应用, 2013, 49(21):87-89.(LIU Y L, JIN Z G. Analysis of WPS security in WLAN[J]. Computer Engineering and Applications, 2013, 49(21):87-89.)

[6]刘安, 金志刚, 王颖.MACH:针对WLAN中WPS认证高速攻击方案[J].计算机应用研究, 2014, 31(8):2488-2496.(LIU A, JIN Z G, WANG Y. MACH: hightspeed cracking scheme to WPS authentication mechanism if WLAN[J]. Application Research of Computers, 2014, 31(8):2488-2496.)

[7]吴国凤, 胡德启, 王培东.RC4算法引起的WEP协议安全性的研究与改进[J].合肥工业大学学报, 2012, 35(5):617-620.(WU G F, HU D Q, WANG P D. Research and improvement in the security of WEP protocol based on RC4 algorithm[J]. Journal of Hefei University of Technology, 2012, 35(5):617-620.)

[8]刘永磊, 金志刚, 陈喆, 等.wpa/wpa2psk高速暴力破解器的设计和实现[J].计算机工程, 2011, 37(10):125-127.(LIU Y L, JIN Z G, CHEN Z, et al. Design and implementation of highspeed brute forcer for wap/wap2psk[J]. Computer Engineering, 2011, 37(10):125-127.)

[9]周超, 周城, 郭亮.IEEE 802.1X的安全性分析及改进[J].计算机应用, 2011, 31(5): 1265-1270.(ZHOU C, ZHOU C, GUO L. Security analysis and improvement of IEEE 802.1X[J]. Journal of Computer Applications, 2011, 31(5): 1265-1270.)

[10]王鹃, 唐西铭, 王勇, 等.一种基于手机令牌和NFC技术的身份认证系统[J].武汉大学学报(理学版), 2013, 59(5):403-410.(WANG J, TANG X M, WANG Y, et al. An identity authentication system based on mobiletoken and NFC technology[J]. Journal of Wuhan University (Natural Science Edition), 2013, 59(5):403-410.)

[11]孙权.一种基于NFC的安全非接触式跨行取款系统[J].计算机应用与软件, 2015, 32(8):76-79.(SUN Q. A secure contactless crossbank ATM withdrawals system based on NFC[J]. Computer Applications and Software, 2015, 32(8):76-79.)

[12]ECMA. Near field communication — interface and protocol (NFCIP1): ECMA 340-2004 [S]. 2nd ed. [S. l.]:ECMA, 2004.

[13]HASELSTEINER E, BREITFUB K. Security in Near Field Communication (NFC)[EB/OL].[20101010].

猜你喜欢
调用密钥无线
幻中邂逅之金色密钥
幻中邂逅之金色密钥
无线追踪3
BitLocker密钥恢复二三事
无线追踪
基于Android Broadcast的短信安全监听系统的设计和实现
无线充电我最全
无线充电器
利用RFC技术实现SAP系统接口通信
一种新的动态批密钥更新算法