国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于近場通信認證的無線局域網(wǎng)無線接入?yún)f(xié)議的安全性設(shè)計

2016-05-14 08:38李云陳龐森孫山林
計算機應(yīng)用 2016年5期
關(guān)鍵詞:調(diào)用密鑰無線

李云 陳龐森 孫山林

摘要:針對基于近場通信(NFC)認證的無線局域網(wǎng)(WLAN)無線接入?yún)f(xié)議點對點通信模式存在的問題,如明文傳輸、用戶接入匿名性、數(shù)據(jù)易于被竊聽、易于被篡改等,提出基于NFC認證的WLAN無線接入?yún)f(xié)議安全性的設(shè)計。該協(xié)議采用DiffieHellman 密鑰交換算法與第二代安全散列算法(SHA)建立安全隧道來完成隨機信息的交換;采用橢圓曲線數(shù)字簽名算法來消除用戶的匿名性。從協(xié)議需求分析、架構(gòu)設(shè)計與協(xié)議時序步驟三個方面入手,給出了一個計算機上的原型實現(xiàn)。通過有色Petri網(wǎng)(CPN)建模,實驗仿真結(jié)果表明:基于NFC認證的WLAN接入?yún)f(xié)議對于無線局域網(wǎng)的非法接入攻擊與竊聽攻擊有著良好的抵抗效果。

關(guān)鍵詞:

近場通信;無線局域網(wǎng);有色Petri網(wǎng);橢圓曲線數(shù)字簽名算法

中圖分類號: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 引言

無線局域網(wǎng)(Wireless Local Area Network, WLAN)具有傳輸速率高、使用靈活等特性。目前,WLAN在大學(xué)校園、公共場所和企業(yè)等得到了一定應(yīng)用。未來具有多跳功能的WLAN將會在一些特定的應(yīng)用領(lǐng)域變得越來越普及,如無線城市、無線校園等。然而,無線傳輸介質(zhì)的開放接入特性,使WLAN的安全性成為一個亟待解決的問題,特別是在重要的國家安全機構(gòu),解決無線局域網(wǎng)的安全問題迫在眉睫[1-3]。WLAN的認證協(xié)議主要有有線等效保密協(xié)議(Wired Equivalent Privacy, WEP)、WiFi網(wǎng)絡(luò)安全接入(WiFi Protected Access/ WiFi Protected Access2PreShared Key, WPA/WPA2PSK)、WiFi保護設(shè)置(WiFi Protected Setup, WPS)三種[4-6]。然而,WLAN中的三種認證協(xié)議都有自身的缺陷。例如:在WEP認證過程中,RC4算法常常作為數(shù)據(jù)加密算法。然而,這種加密算法的弱點是當(dāng)收集足夠的初始向量(Initialization Vector,IV)與RC4字節(jié)流的第一個字節(jié)時,key就可以被獲取[7]。WPA/WPA2PSK認證方式使用較為廣泛,目前也較為安全;但是,在預(yù)共享密鑰(PreShared Key, PSK)不是足夠長的情況下,如果能夠收集用戶在初始認證時的四次握手包,用字典攻擊或暴力猜解等方法就可以在等待的時間內(nèi)破解PSK[8]。在WPA/WPA2PSK的基礎(chǔ)上,文獻[9]提出WPS認證方式;然而,這種認證方式無法用制度或者規(guī)則去判斷獲得PSK的用戶的合法性。

針對以上的問題,本文提出基于近場通信(Near Field Communication, NFC)認證的WLAN無線接入?yún)f(xié)議。NFC是一種工作頻率為13.56MHz,工作距離只有0~20cm(實際產(chǎn)品大部分都在10cm以內(nèi))的近距離無線通信技術(shù),允許電子設(shè)備通過簡單觸碰的方式完成信息交換及內(nèi)容與服務(wù)的訪問。NFC技術(shù)已經(jīng)應(yīng)用到文件傳輸、移動支付、智能海報等領(lǐng)域[10-11]。NFC由三種工作模式構(gòu)成,分別是卡模式、標簽讀寫模式以及用于高級協(xié)議通信的點對點模式。本文提出基于NFC認證的WLAN無線接入?yún)f(xié)議是基于點對點模式上開發(fā)的協(xié)議。然而,NFC的點對點模式在交互過程中也存在竊聽的問題。文獻[12]闡述在10m距離內(nèi),NFC的點對點模式的數(shù)據(jù)可以被竊聽。文獻[13]描述了在NFC點對點的工作模式中,數(shù)據(jù)常常被篡改;雖然采用波特率為106Kb/s的主動通信方式有效地避免了數(shù)據(jù)篡改,但是,這種方式非常易于受中間人攻擊。

為提高NFC接入WLAN協(xié)議的安全性,本文采用DiffieHellman密鑰交換算法與第二代安全散列算法(Secure Hash Algorithm,SHA)建立基于NFC協(xié)議棧的安全隧道來完成隨機信息的交換。由于接入用戶存在匿名性等不安全隱患,本文采用橢圓曲線數(shù)字簽名算法(Elliptic Curve Digital Signature Algorithm, ECDSA)來消除用戶身份的匿名性。最后,采用有色Petri網(wǎng)(Colored Petri Net, CPN)建模,在協(xié)議需求分析與架構(gòu)設(shè)計的基礎(chǔ)上,給出了一個計算機上的原型實現(xiàn)。仿真驗證表明,基于NFC認證的WLAN接入?yún)f(xié)議對于無線局域網(wǎng)的非法接入攻擊與竊聽攻擊有著良好的抵抗效果,協(xié)議本身也可以抵抗針對近場通信的竊聽攻擊、數(shù)據(jù)篡改攻擊、重放攻擊和中間人攻擊。

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

針對企業(yè)等人員流動相對緩慢,上網(wǎng)人群相對固定,但保密意識較差的應(yīng)用場景,本文提出基于NFC認證的WLAN接入?yún)f(xié)議,實現(xiàn)較好的安全性接入。該協(xié)議利用DiffieHellman密鑰交換算法和第二代SHA建立安全隧道傳遞預(yù)共享密鑰,同時利用ECDSA消除在DiffieHellman密鑰交換算法中的匿名性問題,并對每個用戶進行一次上網(wǎng)權(quán)限的初始化。

1.1 DiffieHellman密鑰交換算法與SHA

DiffieHellman密鑰交換算法是Whitefield與Martin Hellman在1976年提出了一個奇妙的密鑰交換協(xié)議,它可以確保預(yù)共享密鑰安全的穿過不安全的網(wǎng)絡(luò)。SHA主要適用于數(shù)字簽名標準(Digital Signature Standard,DSS)里面定義的數(shù)字簽名算法(Digital Signature Algorithm,DSA)。SHA是美國國家標準技術(shù)研究所發(fā)布的國家標準FIPS PUB 180,最新的標準已經(jīng)于2008年更新到FIPS PUB 1803。其中規(guī)定了SHA1、SHA224、SHA256、SHA384和SHA512這幾種單向散列算法。本文利用DiffieHellman密鑰交換算法和第二代SHA建立安全隧道完成預(yù)共享密鑰的傳遞。

在基于NFC認證的WLAN接入?yún)f(xié)議中,首先本文需要建立安全的通信隧道。本文主要提出了采用DiffieHellman密鑰交換算法和第二代SHA來實現(xiàn)。步驟如下:

在各自計算出K之后,Alice作為NFC會話的Initiator在用戶設(shè)備(Station, STA)中生成一段隨機的INounce,通過Trans Alice變遷發(fā)送到接入點設(shè)備(Access Device,AP),即NFC會話中的Target。

AP接收到INounce之后,生成隨機的TNounce,通過Trans AP變遷發(fā)送至STA;同時,Target的NFCID3在通過近距離碰觸建立NFC會話時,已經(jīng)由Target傳遞向Initiator。TNounce與NFCID3,經(jīng)由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位對稱密鑰中的基礎(chǔ)元素K是通過DiffieHellman算法各自計算生成的,攻擊者(Eve)無法截獲K。因而盡管Eve能夠及時截獲INounce、TNounce和NFCID3,也會因為缺少K無法用Hash函數(shù)計算出正確的AES 256位對稱密鑰,即CPN模型中的AES KEY。

在得出AES 256位對稱密鑰之后,基于NFC的安全信道已經(jīng)成功建立。但是,此信道卻是匿名的。對于接入請求而言,需要使用ECDSA證書對用戶的身份進一步認證。

1.2 橢圓曲線數(shù)字簽名算法橢圓曲線

ECDSA是使用橢圓曲線對數(shù)字簽名算法(DSA)的模擬,它先后成為ANSI(American National Standards Institute)、NIST(National Institute of Standards and Technology)、IEEE和ISO的標準。與普通的離散對數(shù)問題和因數(shù)分解問題不同,橢圓曲線離散對數(shù)問題沒有已知的亞指數(shù)算法,所以使用橢圓曲線的算法在密鑰的位強度是足夠高的。

用戶可以通過軟件算法生成用于認證的ECDSA公鑰,產(chǎn)生認證公鑰的主要目的是消除用戶身份的匿名性。在用戶使用自身的設(shè)備或公司提供的電腦生成ECDSA密鑰對之后,需要將ECDSA公鑰當(dāng)場提交給WLAN管理員以申請上網(wǎng)權(quán)限,因為這個過程是由WLAN管理員當(dāng)面認證的,因而可以保證ECDSA證書的絕對可信性。由于協(xié)議采用了公鑰密碼證書體制,合法用戶也可以通過向主管領(lǐng)導(dǎo)申請證書簽名的方式來增強申請者的可信性。這樣,領(lǐng)導(dǎo)對證書簽署電子簽名即表示上級同意了該申請者的聯(lián)網(wǎng)申請,這與組織機構(gòu)的權(quán)力控制機制保持了一致。此時,對ECDSA證書進行簽名的主管領(lǐng)導(dǎo)必須對申請者的合法性審核負全責(zé)。

同時使用ECDSA證書對AES密鑰進行簽名具備四個好處:一是NFC協(xié)議被設(shè)計為近距離低速數(shù)據(jù)傳輸協(xié)議,AES是雙方各自計算得出的,對AES進行簽名可以利用現(xiàn)有的數(shù)據(jù)減少一次協(xié)議數(shù)據(jù)的傳輸,進而減少用戶等待時間。二是前面所述步驟有極低的概率因為計算機故障導(dǎo)致計算出不一致的AES 256位對稱密鑰。通過公鑰簽名進行驗證可以檢驗并確定AES對稱密鑰的一致性。三是ECDSA公鑰密碼體制足夠安全,即使簽名在E3區(qū)域被Eve竊聽,也不足以通過簽名反向破解出AES對稱密鑰。四是通過對AES簽名的驗證,可以避免中間人攻擊。這樣就解決了NFC的竊聽、中間人攻擊問題。

2 基于NFC認證的WLAN無線接入?yún)f(xié)議設(shè)計

基于NFC認證的WLAN無線接入?yún)f(xié)議設(shè)計,本文從協(xié)議需求、架構(gòu)設(shè)計和協(xié)議具體步驟三個方面分別進行闡述。

2.1 協(xié)議需求

基于NFC認證的WLAN接入?yún)f(xié)議,本文采用WAVNAP(WLAN Access Via NFC Authentication Protocol)作為標識。

由于基于NFC認證的WLAN接入?yún)f(xié)議涉及了較多的算法,因此本協(xié)議對其他組件庫有較多的依賴。必備庫的依賴關(guān)系如圖1所示。

組件中的libnfc是用于實現(xiàn)NFC點對點模式通信的核心庫。libnfc在點對點模式中提供了對近場通信接口和協(xié)議(Near Field Communication Interface and Protocol,NFCIP1)及邏輯鏈路控制協(xié)議(Logical Link Control Protocol, LLCP)的支持,同時它也支持卡模擬模式和讀寫模式;并且在實現(xiàn)驅(qū)動原型時所采用的PN532芯片也需要libnfc中的pn532_uart驅(qū)動程序支持。本文采用的libnfc版本是1.7.0,該版本需要配置環(huán)境變量以支持對PN532芯片的自動加載。

Wpa_supplicant是GNU/Linux操作系統(tǒng)下的常用于WPA/WPA2連接網(wǎng)絡(luò)的服務(wù)程序,可以通過解析配置文件的方式連接到不同的網(wǎng)絡(luò)。因此,在實現(xiàn)時需驅(qū)動wpa_supplicant以連接相應(yīng)的網(wǎng)絡(luò)。

hostapd是GNU/Linux操作系統(tǒng)下常用的軟AP驅(qū)動程序,它可以支持master模式的網(wǎng)卡充當(dāng)接入點,也支持以配置文件的方式進行設(shè)置。這為動態(tài)地設(shè)置擴展服務(wù)集標識(Extended Service Set Identifier,ESSID)與PSK提供了便利,也減少了購置專業(yè)可編程AP的資金需求。

libgcrypt是GNU/Linux系統(tǒng)中最常用的密碼學(xué)算法庫。它提供了AES、ECDSA、ECDH、DSA、RSA、DES等幾乎所有已公開的密碼學(xué)算法的實現(xiàn)。著名的密鑰管理軟件GNU PG就是依賴于libgcrypt實現(xiàn)的。這為本文解決ECDSA與AES的計算需求提供了便捷。

DB是數(shù)據(jù)庫開發(fā)組件,本文采用的是PostgreSQL數(shù)據(jù)庫,libpq是程序庫,用于連接數(shù)據(jù)庫并存儲用戶的公鑰信息。

此外,本文還實現(xiàn)了如下功能:大質(zhì)數(shù)的生成,可以采用從Linux隨機設(shè)備/dev/urandom中讀取,隨后通過自行實現(xiàn)的MillerRabin素數(shù)測試來實現(xiàn);而DiffieHellman算法,由于沒有現(xiàn)成的算法可以使用,也需要由軟件自行實現(xiàn),在必要的情況下,也可以選配GNU高精度庫(GNU MultiPrecision, GMP)來輔助實現(xiàn)。

在完成上述庫的編譯與安裝之后,即可對協(xié)議整體進行架構(gòu)設(shè)計。

2.2 架構(gòu)設(shè)計

協(xié)議實現(xiàn)分為兩個部分,分別是用于STA/Alice/Initiator的WAVNAPSTA和用于AP/Bob/Target的WAVNAPAP。

本協(xié)議屬于空中認證協(xié)議,由于WAVNAPSTA與WAVNAPAP扮演的角色不同,并且二者之間的行為存在明顯的差異,因此協(xié)議的整體架構(gòu)需要針對WAVNAPSTA與WAVNAPAP分別進行設(shè)計。

對于WAVNAPSTA部分,用類WAVNAP_STA作為對外接口,如圖2所示。因為DiffieHellman加密算法的相關(guān)運算需要完全由自己來實現(xiàn),所以需要構(gòu)建專門用于計算DiffieHellman數(shù)據(jù)的DH類。DH類的init調(diào)用用于生成式(1)中p與a,并按照式(1)計算出A;init_p調(diào)用則在已知p的基礎(chǔ)上生成式(2)中的b,并按照式(2)生成B;最后genK調(diào)用則可以由A與b按照式(3)生成K或由B與a按照式(4)生成K。DH類中的類型mpz_t是高精度整數(shù)類型。

DiffieHellman算法需要對素數(shù)進行冪及模運算,所以針對素數(shù)方面的運算,本文專門設(shè)計了Prime類。Prime類主要用于生成素數(shù),進行millerrabin素數(shù)測試等工作。密碼學(xué)的算法多數(shù)基于大素數(shù),因而必須要使用高精度整數(shù)類型mpz_t來存儲這些數(shù)字。

在生成K結(jié)束之后,WAVNAPSTA與WAVNAPAP進行了數(shù)據(jù)交互,隨后需要計算SHA2256以生成AES對稱密鑰,相關(guān)的算法實現(xiàn)在SHA2類中。實際上SHA2類僅是一個接口,最后真正調(diào)用的是libgcrypt中預(yù)先實現(xiàn)好的庫函數(shù)。

此后的鑒權(quán)則需要用到ECDSA簽名算法和驗證簽名算法,在版本大于1.5.0的libgcrypt中提供了對于ECDSA這兩類算法的實現(xiàn)。ECDSA接口提供了對libgcrypt的調(diào)用,除此之外也可以采用自行實現(xiàn)的ECDSA進行簽名或者驗證簽名。這個接口需要將文本型的密鑰信息與簽名信息轉(zhuǎn)化為libgcrypt需求的形式,并進行調(diào)用。

通過AES進行PSK配置信息的傳遞,需要用到AES算法,在WAVNAPSTA中需要用到AES中的decrypt調(diào)用。而decrypt調(diào)用需要用到具體的AES解密算法,這需要調(diào)用libgcrypt庫中相關(guān)的函數(shù)。

在接收到PSK后,WAVNAPSTA就可以通過STA類設(shè)置essid與psk,并通過connect連接到AP。connect調(diào)用的主要功能是實現(xiàn)生成wpa_supplicant的配置文件,并通過執(zhí)行wpa_supplicant發(fā)起WPA/WPA2認證。私鑰信息在STA上以文件的形式存儲即可。

對于WAVNAPAP部分的設(shè)計,如圖3所示,類WAVNAP_AP是根類,作為對外的接口。圖中,DH類、ECDSA類、Prime類AES類、SHA2類都與STA部分的相同,只是針對WAVNAPAP中的ECDSA類使用的是chksign調(diào)用而非WAVNAPSTA中的mksign調(diào)用。對于AES而言,WAVNAPAP部分的AES類調(diào)用的是encrypt,用于加密PSK和ESSID等配置信息;而WAVNAPSTA部分調(diào)用的則是decrypt,用于解密PSK和ESSID等配置信息。

WAVNAPAP在完成對ESSID與PSK等配置信息的生成之后,需要及時地針對網(wǎng)卡進行相應(yīng)的配置。應(yīng)用AP類生成配置信息與設(shè)置網(wǎng)絡(luò),該類中g(shù)en_psk調(diào)用用于生成隨機的ESSID與PSK等配置信息,而set_ap調(diào)用則生成hostapd配置文件并對hostapd服務(wù)進行配置,其中的onconnect是STA成功連接后觸發(fā)的回調(diào)函數(shù)指針,該函數(shù)指針主要用于在STA首次連接成功后拒絕對同一個網(wǎng)段的其他連接請求。hostapd則用于啟動網(wǎng)卡的軟AP模式。

由于WAVNAPAP需要處理多個用戶的認證接入請求,通過數(shù)據(jù)庫進行公鑰的管理是非常有必要的,因此設(shè)計了數(shù)據(jù)庫訪問類DB。DB主要用于建立或關(guān)閉數(shù)據(jù)庫連接并處理查詢,保證數(shù)據(jù)庫線程安全。

通過這樣的設(shè)計,即可較好地實現(xiàn)基于NFC認證的WLAN接入?yún)f(xié)議。

2.3 協(xié)議具體步驟

圖4是基于NFC認證的WLAN接入?yún)f(xié)議的時序圖,其中STA代表用戶的WLAN設(shè)備和用戶的NFC設(shè)備。因為處于NFC中的Initiator角色和密碼學(xué)中Alice的地位相同,所以用Initiator/Alice表示。STA與Initiator/Alice在同一設(shè)備上。

相應(yīng)的接受WLAN接入認證請求的NFC設(shè)備處于NFC會話中的Target角色,也就是密碼學(xué)中的Bob角色,這個設(shè)備一般與AP在一個設(shè)備上,所以在圖4中命名為Target/AP/Bob。WLAN中接受STA連接的設(shè)備為AP,認證部分有時候會交由Radius服務(wù)器進行,一般情況下,它們是綁定在一起的,因此命名為AP/Radius。Target/AP/Bob與AP/Radius的最低要求是處在同一個不會泄密的區(qū)域內(nèi),這樣可以保證支持NFC認證的服務(wù)器不會在與AP通信的過程中發(fā)生信息泄密。

序列圖中的時間流從上向下進行,其中在同一個大邊框內(nèi)的可以認為是共終端的設(shè)備,在沒有人攻破的條件下可以認為不會發(fā)生泄密事件,也無法被竊聽;而跨越大邊框的箭頭是協(xié)議的空中通信通訊,這種跨越終端的通信通訊可以通過特制的天線因此必須通過協(xié)議加密的方式保障空中通信通訊的安全。

基于NFC認證的WLAN接入?yún)f(xié)議從NFC接觸到獲取最終的PTK共有15步協(xié)議操作。這15步協(xié)議操作分別是:

1)用戶持設(shè)備,以Initiator角色與認證方Target建立NFC會話,在此過程中,Target將NFCID3發(fā)送給Initiator。

2)Initiator隨機生成a、 p,依照式(1)計算A,并將A、 p發(fā)送至Target。

3)Target隨機生成b,依照式(2)計算B,并將B發(fā)送至Initiator。

4)Target與Initiator分別按照式(3)與式(4)計算各自生成K。

5)Initiator隨機生成INounce并發(fā)送至Target。

6)Target隨機生成TNounce并發(fā)送至Initiator。

7)Initiator與Target各自按照式(6)各自生成用于AES加密的256位對稱密鑰KEY。

8)Initiator用自身的私鑰PrivKey對KEY進行簽名,生成簽名結(jié)果sig。

9)Initiator發(fā)送sig至Target。

10)Target使用用戶事先申請上網(wǎng)時存儲的公鑰PubKey,驗證KEY的簽名sig。如果通過,則生成包含隨機的PSK與隨機的ESSID的配置信息,記作MPSK。

11)Target用KEY對第9)步生成的含配置信息的PSK進行AES加密,生成加密數(shù)據(jù)CPSK。

12)Target將CPSK發(fā)送至Initiator,同時將用PSK所定義的配置信息配置AP/Radius,準備接受用戶的接入。

13)Initiator將CPSK用KEY進行AES解密,將得到的PSK轉(zhuǎn)交至WLAN聯(lián)網(wǎng)模塊STA。同時,AP/Radius完成了配置,并成功發(fā)送出ANounce與AMac至STA。

14)STA承接AP/Radius發(fā)起的WPA/WPA2PSK第一次握手,發(fā)送SNounce與SMac。

15)STA與AP/Radius各自使用SNounce、SMac、ANounce、AMac,以及具有ESSID與PSK的MPSK按照WPA協(xié)議標準生成PTK,并完成后續(xù)的第三次與第四次握手,至此,基于NFC認證的WLAN接入?yún)f(xié)議已全部完成。

通過上面的步驟,即可在非明文傳遞PSK的基礎(chǔ)上,實現(xiàn)WLAN的安全接入;并且PSK在傳遞過程中利用了DiffieHellman算法生成了難以攻破的NFC安全隧道,竊聽者幾乎不可能在有效時間內(nèi)完成對PSK的破解。

3 協(xié)議驗證

在協(xié)議驗證方面,本文從CPN仿真和實際運行兩個方面進行了描述。

3.1 基于NFC認證的WLAN接入?yún)f(xié)議的仿真分析

基于NFC認證的WLAN接入?yún)f(xié)議的仿真分析中,本文針對當(dāng)前WLAN用戶容易受到非法接入攻擊和竊聽攻擊的情況分別作了仿真分析。

為了分析基于NFC認證的WLAN接入?yún)f(xié)議對于非法接入攻擊的抵抗能力,本文建立了圖5的CPN仿真模型。圖5中,區(qū)域E4的庫所Eve中用“0”表示攻擊者Eve的身份,區(qū)域A中的庫所Alice中用“1”表示合法用戶Alice。Eve在認證中的每一個有可能竊聽的環(huán)節(jié)即CPN模型中的E1、E2、E3、E4區(qū)域都進行了竊聽,竊聽發(fā)生在信息空中傳遞的過程中,即模型中的Trans Alice、 Trans AP、 Trans sig、 Trans PSK四個變遷。為了達到一次一密的效果并且避免重放攻擊。區(qū)域B中庫所AP PSK在每一次成功的認證之后都將拒絕第二次認證,即B區(qū)域中的Auth變遷。認證成功的用戶將進入Auth Pass庫所,而認證失敗的用戶將進入Fail庫所。

圖6所示的仿真結(jié)果表明:盡管Eve截獲了大量的數(shù)據(jù),但由于缺乏K而無法推算出AES對稱密鑰KEY,進而無法對加密后的CPSK進行解密,最終在Auth變遷中由于使用了錯誤的配置信息而被拒絕,進入了Fail狀態(tài);而合法用戶Alice因為可以正確地解密出配置信息PSK,因而成功地進入了Auth Pass狀態(tài)。可見,基于NFC認證的WLAN接入?yún)f(xié)議對于非法接入攻擊的抵抗是有效的。

為了分析基于NFC認證的WLAN接入?yún)f(xié)議對于竊聽攻擊的抵抗能力,本文建立了圖7的CPN仿真模型。模型中各區(qū)域代表含義與圖5一致,在待發(fā)送的數(shù)據(jù)在區(qū)域A底部的庫所Data Send中,值為9999,該值將在WLAN連接完成后進行發(fā)送以驗證協(xié)議對竊聽攻擊的抵抗能力。

仿真結(jié)果圖8表明,區(qū)域A與區(qū)域B通過NFC安全隧道加密傳輸了隨機生成的WLAN接入配置信息。在此過程中,Eve在E1、E2、E3區(qū)域竊聽到了NFC交互數(shù)據(jù),但無法利用這些竊聽到的交互數(shù)據(jù)反推出AES對稱密鑰,因而在Trans PSK變遷中只能截獲加密后的配置信息,無法對配置信息進行解密。

在區(qū)域A中Alice PSK庫所得到解密后配置信息后,A區(qū)域與B區(qū)域各自通過to PTK變遷計算出一致的PTK。隨后A區(qū)域中Data Send庫所中的數(shù)據(jù)將采用該PTK進行加密,而B區(qū)域中也將使用該PTK進行解密并放入Data Recv庫所中。二者PTK一致,因而Data Recv中的最終數(shù)據(jù)將與Data Send中的原始數(shù)據(jù)相同。E4區(qū)域中Eve由于缺少PSK,因而盡管通過Trans A和Trans S兩個變遷從空中截獲了區(qū)域A與區(qū)域B互換的公開信息SNounce、ANounce、SMac、AMac,卻無法生成正確的PTK。Eve在TD變遷中同樣截獲了區(qū)域A用PTK加密的數(shù)據(jù),但由于區(qū)域E4中的PTK與區(qū)域A中的PTK不同,經(jīng)過區(qū)域E4中Eavesdropping變遷的解密后,Data Eaves庫所只能得到錯誤的解密數(shù)據(jù),從圖8可看出,Data Eaves中的數(shù)據(jù)域Data Recv中的數(shù)據(jù)有所不同。這表明,基于NFC認證的WLAN接入?yún)f(xié)議對于竊聽攻擊的抵抗是有效的。

同時,由于每次認證都會產(chǎn)生隨機的全新ESSID與PSK進行配置,保證了一次一密性。由于不同的用戶間相互不清楚他人的配置信息,因而攻擊者無法依賴自身的PSK推算其他人的PSK,從而做到了用戶信道的隔離。這與Eve無法竊聽圖8中區(qū)域A與區(qū)域B的通信的原理是一樣的。因為不同的用戶獲得的PSK不同,導(dǎo)致他們在其他信息相同的條件下計算出的PTK不同,從而抵抗了內(nèi)部人員基于相同PSK進行的竊聽攻擊。

3.2 基于NFC認證的WLAN接入?yún)f(xié)議的實際運行分析

圖9是基于NFC認證的WLAN接入?yún)f(xié)議在AP端的實現(xiàn)的WAVNAPAP運行時的運行效果截圖。

從圖9中可以看到,WAVNAP_AP首先要對NFC設(shè)備進行初始化,隨后檢查了WLAN適配器的存在性,并完成了對公鑰數(shù)據(jù)庫authdb的連接,便開始等待STA/Initiator的連接。

圖10是協(xié)議在STA端的實現(xiàn)的WAVNAPSTA運行后的運行效果截圖。

此時,WAVNAPSTA已經(jīng)可以啟動,WAVNAPSTA則需要指定進行連接的用戶名和連接WLAN所用的設(shè)備。這些私鑰和設(shè)備的配置信息被寫在了用戶主目錄下的.wavnap.conf中,當(dāng)WAVNAPSTA啟動后,這些信息被自動加載以用于初始化WLAN適配器和ESDSA私鑰。配置加載完成后,WAVNAPSTA初始化NFC設(shè)備與指定的WLAN設(shè)備ra0,并讀入相應(yīng)的私鑰6524be98。初始化完成后,WAVNAPSTA提示用戶將NFC設(shè)備與AP的NFC認證設(shè)備authpad進行接觸。

在NFC接觸發(fā)生后,NFC連接被迅速建立,STA獲取到了AP的NFCID3。隨后,Initiator發(fā)送DiffieHellman算法所需的p與A,Target接收后發(fā)送了B。隨后雙方根據(jù)此次交換各自計算出了DiffieHellman算法的秘密會話種子K,成功地建立了DiffieHellman安全隧道。

隨后,Initiator發(fā)送了INounce,Target收到后回復(fù)了TNounce。依賴于K、INounce和TNounce,雙方各自計算出了256位的AES對稱密鑰KEY。

Initiator使用自己的私鑰對AES對稱密鑰進行了簽名,并將簽名進行了發(fā)送。Target收到了簽名后,依照用戶名(即私鑰指紋)從數(shù)據(jù)庫authdb中獲取了對應(yīng)的公鑰信息,并利用該公鑰信息對簽名進行了驗證。

驗證通過后,WAVNAPAP生成了隨機的ESSID與PSK并用這兩項信息配置了hostapd.conf,隨后利用該配置文件在wlan0上啟動了hostapd。此時,AP已經(jīng)可以接受STA的WLAN連接。

隨后,WAVNAPAP將加密后的ESSID與PSK發(fā)送至WAVNAPSTA。WAVNAPSTA進行了相應(yīng)的解密,成功的獲取了ESSID與PSK。此時,基于NFC認證的WLAN接入?yún)f(xié)議在NFC設(shè)備上的交互已經(jīng)全部結(jié)束,可以隨時將用戶的NFC設(shè)備移開,AP端出現(xiàn)了認證與授權(quán)結(jié)束的字樣。WAVNAPSTA利用解密出的配置信息并啟動了wpa_supplicant工具。

在WAVNAPSTA啟動wpa_supplicant之后,WAVNAPAP顯示STA已連接,同時WAVNAPSTA也顯示用戶已經(jīng)可以將NFC設(shè)備移開了。

在用戶移開NFC設(shè)備之后,雙方顯示NFC會話中斷,WAVNAPSTA程序結(jié)束,而WAVNAPAP則進入了新一輪循環(huán),等待下一個NFC認證請求。

此時,盡管基于NFC認證的WLAN接入?yún)f(xié)議已經(jīng)結(jié)束,但基于WPA體制的WLAN連接卻已經(jīng)建立,后續(xù)的網(wǎng)絡(luò)通信不再需要該協(xié)議進行維護。只有在用戶斷開WLAN連接之后,才需要重新刷NFC設(shè)備以再次建立WLAN連接。

4 結(jié)語

針對基于NFC認證的WLAN接入?yún)f(xié)議安全性的分析,本文采用DiffieHellman密鑰交換算法與第二代SHA建立基于NFC協(xié)議棧的安全隧道來完成隨機信息的交換,采用橢圓曲線數(shù)字簽名算法消除用戶接入匿名性的問題,并從協(xié)議需求分析、架構(gòu)設(shè)計與協(xié)議時序步驟三個方面入手,給出了一個計算機上的原型實現(xiàn)。通過CPN建模,實驗結(jié)果表明:基于NFC認證的WLAN接入?yún)f(xié)議對于無線局域網(wǎng)的非法接入攻擊與竊聽攻擊有著良好的抵抗效果;協(xié)議本身也可以抵抗針對近場通信的竊聽攻擊、數(shù)據(jù)篡改攻擊、重放攻擊和中間人攻擊。

參考文獻:

[1]李興華, 尚昭輝, 楊丹, 等.利用無線物理層密鑰增強802.11i的安全性[J].江蘇大學(xué)學(xué)報(自然科學(xué)版), 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]陳卓, 金豪, 張正文.一種無線局域網(wǎng)多安全域間的密鑰共識協(xié)議[J].計算機應(yīng)用, 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]豐江帆, 王倩, 劉兆宏.無線局域網(wǎng)環(huán)境下的圖書館定位系統(tǒng)研究與實現(xiàn)[J].現(xiàn)代圖書情報技術(shù), 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]李勤, 張浩軍, 楊峰, 等. 無線局域網(wǎng)安全協(xié)議的研究和實現(xiàn)[J]. 計算機應(yīng)用, 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]劉永磊, 金志剛.無線局域網(wǎng)WPS安全性分析[J].計算機工程與應(yīng)用, 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].計算機應(yīng)用研究, 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協(xié)議安全性的研究與改進[J].合肥工業(yè)大學(xué)學(xué)報, 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高速暴力破解器的設(shè)計和實現(xiàn)[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].計算機應(yīng)用, 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技術(shù)的身份認證系統(tǒng)[J].武漢大學(xué)學(xué)報(理學(xué)版), 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]孫權(quán).一種基于NFC的安全非接觸式跨行取款系統(tǒng)[J].計算機應(yīng)用與軟件, 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].

猜你喜歡
調(diào)用密鑰無線
幻中邂逅之金色密鑰
幻中邂逅之金色密鑰
無線追蹤3
BitLocker密鑰恢復(fù)二三事
無線追蹤
基于Android Broadcast的短信安全監(jiān)聽系統(tǒng)的設(shè)計和實現(xiàn)
無線充電我最全
無線充電器
利用RFC技術(shù)實現(xiàn)SAP系統(tǒng)接口通信
一種新的動態(tài)批密鑰更新算法
莲花县| 岚皋县| 民和| 海原县| 山阴县| 乐东| 宁阳县| 体育| 漳浦县| 铜川市| 阿城市| 西安市| 垣曲县| 仪征市| 扶绥县| 图木舒克市| 濮阳县| 临澧县| 安福县| 峡江县| 阿巴嘎旗| 安新县| 廊坊市| 普兰县| 来宾市| 沭阳县| 福海县| 大邑县| 巴林左旗| 阿拉善盟| 永川市| 哈巴河县| 凤山县| 乌兰县| 东安县| 阜宁县| 若尔盖县| 滨州市| 固始县| 乐陵市| 南通市|