Android WiFi 之 認(rèn)證標(biāo)準(zhǔn)、密鑰管理、加密方案

Android WiFi 相關(guān)的開發(fā)中,可能會(huì)使用到android.net.wifi.ScanResult類,在此類中有一個(gè)成員變量 capabilities,在官方文檔中如此描述她:

public String capabilities

Describes the authentication, key management, and encryption schemes supported by the access point.

意思是: capabilities 描述 access point的 認(rèn)證標(biāo)準(zhǔn)、密鑰管理、加密方案

在Android項(xiàng)目中打印出capabilities的值,內(nèi)容如下:

[WPA-PSK-CCMP+TKIP]
[WPA2-PSK-CCMP+TKIP][ESS]

不禁產(chǎn)生疑問,這些由字母組合的而成的名詞代表的是什么意思? 又都扮演這什么角色?我們應(yīng)該如何去使用?

WiFi認(rèn)證標(biāo)準(zhǔn)

  • WEP: Wired Equivalent Privacy(有線等效加密) ,保護(hù)無線網(wǎng)絡(luò)信息安全的體制,無線網(wǎng)絡(luò)通過無線電傳播,為了保證數(shù)據(jù)機(jī)密性而設(shè)計(jì)。但是存在一些漏洞,比如針對(duì)EAP的密鑰截取攻擊,和針對(duì)數(shù)據(jù)完整性的Replay Attack(回放攻擊),已經(jīng)不推薦使用。

  • WPA: WiFi Protected Access (Wi-Fi訪問保護(hù)),是一種保護(hù)無線網(wǎng)絡(luò)訪問安全的技術(shù)標(biāo)準(zhǔn),WPA是為了解決EAP的幾個(gè)嚴(yán)重的弱點(diǎn)而產(chǎn)生的,通過128位密鑰加上48位初向量和可以在使用中動(dòng)態(tài)改變密鑰的“臨時(shí)密鑰完整性協(xié)議”(TKIP),使用RC4加密、使用Michael消息驗(yàn)證碼,避免針對(duì)EAP的密鑰截取攻擊和Replay Attack。

  • WPA2:WPA的升級(jí)版,采用CCMP計(jì)數(shù)器模式密碼塊鏈消息完整碼協(xié)議,使用CBC-MAC替代Michael消息驗(yàn)證碼,使用AES取代RC4加密算法。在身份認(rèn)證和保證數(shù)據(jù)完整性上更安全。

WiFi密鑰管理方案

  • NONE : 不使用WPA,使用明文或者靜態(tài)WEP;

  • WPA_PSK: WPA預(yù)共享密鑰(pre-shared key),需要指定 「preShareKey」,連接到網(wǎng)絡(luò)的用戶共享同一個(gè)密鑰,多數(shù)運(yùn)用到家庭和個(gè)人無線網(wǎng)絡(luò);

  • WPA_EAP: WPA使用EAP 身份認(rèn)證,通常與外部認(rèn)證服務(wù)器一起使用;

  • IEEE8021X: 使用EAP身份認(rèn)證和[可選]的動(dòng)態(tài)生成的WEP密鑰;

  • WPA2_PSK: WPA2預(yù)共享密鑰;

  • FT_PSK:具有PSK認(rèn)證的IEEE 802.11r快速BSS轉(zhuǎn)換;

  • FT_EAP:IEEE 802.11r Fast BSS Transition with EAP authentication

  • OSEN: Hotspot 2.0 r2 OSEN

名詞解釋:

  • EAP: Extensible Authentication Protocol (拓展認(rèn)證協(xié)議),是一種在無線網(wǎng)絡(luò)或者點(diǎn)對(duì)點(diǎn)連線中普遍使用的認(rèn)證框架,提供有很多認(rèn)證方法,允許協(xié)商所希望的認(rèn)證機(jī)制,無線網(wǎng)絡(luò)中的認(rèn)證方法通常包括EAP-TLS、EAP-SIM、EAP-AKA、LEAP、EAP-TTLS。

  • PSK: Pre-Shared Key (預(yù)共享密鑰) 管理方案,共享密鑰就是我們家庭WiFi設(shè)置的密碼。

Android FrameWork,WiFiConfiguration中提供的KeyMgmt內(nèi)部類,可以獲取相應(yīng)的安全協(xié)議

WiFi保證密鑰安全和信息完整性的安全協(xié)議 (加密方式)

  • CCMP : Counter CBC-MAC Protocol 計(jì)數(shù)器模式密碼塊鏈消息完成碼協(xié)議, 使用AES加密,使用CBC-MAC用于信息完整性計(jì)算。

  • TKIP : Temporal Key Integrity Protocol 臨時(shí)密鑰完整性協(xié)議,使用密鑰混合功能避免針對(duì)WEP的密鑰恢復(fù)攻擊,使用Michael信息認(rèn)證碼保證數(shù)據(jù)完整性。

  • WEP104 : 帶有104-bit 密鑰的WEP,使用104比特的鑰匙加上24比特的初始量,組成128比特的WEP鑰匙,無法保證數(shù)據(jù)完整性。

  • WEP40:帶有 40-bit 密鑰的WEP (原始802.11),使用40比特的鑰匙加上24比特的初向量,組成64比特的WEP鑰匙使用RC4(Rivest Cipher)串流加密技術(shù)完成加密,無法保證數(shù)據(jù)完整性。

  • GTK_NOT_USED: 熱點(diǎn)2.0 r2 OSEN

Android FrameWork,WiFiConfiguration中提供的GroupCipher內(nèi)部類,可以獲取相應(yīng)的安全協(xié)議。

知識(shí)應(yīng)用場(chǎng)景

根據(jù)當(dāng)前WiFi信息,生成二維碼,比如使用二維碼開源項(xiàng)目zxing,生成格式如下的WiFi配置字符串:

WIFI:T:WPA;S:mynetwork;P:mypass;;

其中T: WPA Authentication type; can be WEP or WPA, or 'nopass' for no password. Or, omit for no password.,意思為T需要設(shè)置當(dāng)前WiFi的認(rèn)證標(biāo)準(zhǔn),可以是WEP或者WPA或者nopass,此時(shí)我們就應(yīng)該知道如何去獲取認(rèn)證標(biāo)準(zhǔn)及對(duì)應(yīng)的含義。

結(jié)論

題初所提到的[WPA-PSK-CCMP+TKIP],翻譯過來的意思是當(dāng)前WiFi的認(rèn)證標(biāo)準(zhǔn)為WPA,密鑰管理方案是PSK,加密方案使用了CCMP和TKIP結(jié)合的方式。

謝謝大家,如何有問題或描述不清楚的地方,歡迎反饋。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容