當前位置:首頁 > 物聯(lián)網(wǎng) > 《物聯(lián)網(wǎng)技術(shù)》雜志
[導讀]摘 要:無線局域網(wǎng)在日常工作、學習、生活中的應(yīng)用越來越廣泛,加密標準WPA/WPA2到目前為止沒有明顯的安全設(shè)計缺陷,有效的破解方法是采用字典攻擊,一般都用事先制作好的密碼字典來破解。文中針對“時間內(nèi)存替換”法和彩虹表在WPA/WPA2字典攻擊中能夠顯著提高破解速度的應(yīng)用進行了分析探討與研究。

DOI:10.16667/j.issn.2095-1302.2016.08.026

引 言

隨著無線上網(wǎng)、移動辦公的普及與流行, 無線局域網(wǎng)的使用已經(jīng)越來越普遍。WLAN 的安全加密標準為WEP、WPA 和 WPA2。WEP 加密由于設(shè)計上的缺陷很容易被快速破解,并不能真正保護數(shù)據(jù)的安全,目前已很少在實際中使用。隨著數(shù)據(jù)安全保護技術(shù)的發(fā)展、計算機硬件計算能力的提升以及云計算的普及,我們會不斷發(fā)現(xiàn)正在使用的計算機設(shè)備軟硬件系統(tǒng)中的安全漏洞 [1]。

本文針對WPA/WPA2 加密標準使用“時間內(nèi)存替換”法來破解密碼的性能展開分析,并對彩虹表的應(yīng)用進行了探討研究。

1 WLAN加密標準——WPA 和 WPA2

WPA 的認證實際上是對MIC 的認證。MIC 由PTK 產(chǎn)生, 計算 PTK 需要ANonce、SNonce、客戶端 STA 的 Mac 地址SA、無線接入點AP 的Mac 地址AA 以及PMK。而 PMK 由SSID 和 WPA 密碼計算得出[2]。假如已經(jīng)知道了密碼,且握手過程是由合法的STA 產(chǎn)生,那么只要獲得第 1 次和第 2 次握手的相關(guān)信息就可以計算出MIC 的值。

由于加密標準設(shè)計原理的不同,破解 WPA/WPA2 和破解 WEP 完全不同,任何一個客戶端AP 連接時必須事先握手認證,攻擊者對已經(jīng)連接到AP 的合法用戶通過攻擊手段使其掉線,合法用戶會再次自動連接AP,這時攻擊者就可以通過監(jiān)聽方式得到握手認證包進行破解[3]。

2 WPA/WPA2的破解方法

加密標準WPA/WPA2 到目前為止還沒有發(fā)現(xiàn)明顯的安全設(shè)計漏洞,唯一有效的破解手段就是字典攻擊,因為目前的軟件還不支持在線暴力破解,所以一般都通過導入制作好的密碼字典來破解。

對WPA/WPA2的破解很大程度上受制于現(xiàn)有的計算機處理能力,已經(jīng)有研究機構(gòu)和公司從提升擴展計算能力的角度來展開研究,利用顯卡中GPU強大的并行計算能力來提高破解密碼的速度。俄羅斯安全公司 Elcomsoft已經(jīng)開發(fā)出一款口令恢復軟件—ElcomsoftDistributedPasswordRecovery, 該軟件不僅具有暴力破解和字典破解功能,還可以借助GPU 硬件加速破解,提升速度達 50倍以上,支持Nvidia和 ATI 部分型號顯卡,更重要的是它還支持分布式計算功能,可以利用互聯(lián)網(wǎng)上的多臺計算機并行計算破解同一個加密系統(tǒng), 成倍提高破解密碼的效率[4]。

除了在硬件上提升計算能力之外,加速密碼破解還可以采用預運算的策略,即事先對特定密碼長度和特定數(shù)字字母組合使用同樣的加密算法進行計算,生成的加密值保存在數(shù)據(jù)文件里,需要破解時直接從文件中讀取進行比對,從而節(jié)省計算密碼所需的大量時間和資源,使攻擊效率大幅度提高[3]。

2003 年 7 月瑞士洛桑聯(lián)邦技術(shù)學院 Philippe Oechslin 公布了一些實驗結(jié)果,他及其所屬的安全密碼學實驗室(LASEC) 采用了時間內(nèi)存替換的方法,將一個常用操作系統(tǒng)的密碼破解速度由1分41 秒提升到13.6 秒。這一方法使用了大型查找表, 對加密的密碼和由人輸入的文本進行匹配,意味著使用大量內(nèi)存能夠減少破解密碼所需要的時間[5]。

在 2006 年舉行的RECON 2006 安全會議上,一位來自O(shè)penciphers 組織的名為David Hulton 的安全人員詳細演示了使用WPA-PSK Hash Tables 破解的技術(shù)細節(jié),即使用普通機器利用“時間內(nèi)存替換”法破解,調(diào)用 WPA Hash Table 字典進行破解的速度可以達到 50 000 key /s,經(jīng)過很多安全組織

改進算法并優(yōu)化程序代碼后,可以將破解速度提升到 200 000 key /s 甚至更多。

3“時間內(nèi)存替換”法和彩虹表

哈希(Hash)算法是將任意長度的二進制值映射為較短的固定長度的二進制值,這個值就是哈希值。如果散列計算一段明文哪怕只更改該段落的一個字母,隨后產(chǎn)生的哈希值都會不同[6]。要找到兩個不同的輸入散列值為同一個數(shù)值的, 在計算上幾乎是不可能的,所以數(shù)據(jù)的哈希值可以檢驗數(shù)據(jù)沒有被修改過的完整性。Hash 算法經(jīng)常被用來保存密碼,這樣既不用泄露密碼,又可以校驗輸入的密碼是否正確。常用的散列函數(shù)有MD5、SHA1 等。

破解用Hash函數(shù)加密,即對于給定的一個 q,反過來計算出一個 p 來滿足 q= H(p)。通常有兩種辦法,一種是暴力破解窮舉法,把每一個可能的 p 都算出 H(p),直到結(jié)果等于 q;另一種辦法是預先運算查表法,把每一個可能的 p和對應(yīng)的 q都記錄下來,按 q做索引,做成數(shù)據(jù)庫文件,查表校對即可。在這兩種辦法中,前一種可能需要海量的時間,后一種需要海量的存儲空間,因此目前無法實現(xiàn)。

舉例來說,對于14 位的大小寫字母和數(shù)字(不算特殊字符)所有可能的組合組成的密碼集合是(26×2+10)14= 6214= 1.24×1025,假如每納秒校驗一個 p,暴力破解法大概需 4 億年;若采用查表法,假定哈希(Hash)算法的計算值是128 位即 16 字節(jié),光存放哈希值也需要 1026 字節(jié)的存儲空間。

彩虹表的根本原理是把暴力法和查表法結(jié)合在一起,時間和內(nèi)存之間相互轉(zhuǎn)換,在空間和時間兩方面相互平衡。它的做法是,對于一個 Q = H(P),建立另一個還原算法 R 使得 P'= R(Q),然后對于一個 p0,這樣進行計算:

H(p0)=q1,R(q1)=p1,H(p1)=q2,R(q2)=p2,H(p2)=q3,R(q3)=p3,……

H(pn-2)=qn-1,R(qn-1)=pn-1,H(pn-1)=qn,R(qn)=pn

簡單來說,把 p 用函數(shù) H、R 依次迭代運算,最后得到pn,n 可能的數(shù)值比較大。最后將 p0和 pn都存儲下來,其他的結(jié)果都不要。并用不同的 p0 代入計算,得到多個這樣的 p 的函數(shù)鏈。

在破解用Hash 函數(shù)加密時,對于給定的一個 q,反過來計算滿足 H(p)=q 的數(shù)值 p。

做運算 R(q)= c1,然后把 c1 和每一個 p 散列函數(shù)鏈的最后一個進行比較,假如和某一個 pn 相等,那么 qn 所對應(yīng)的 pn -1 就有可能是我們尋找的 p,把 qn 對應(yīng)的 pn -1 再做一次鏈 式計算,比對 H(pn -1)是否等于 qn,如果是,則 pn -1 就是 我們在找尋的 p,因為 H(p)=q。

c1 和每一個 p 散列函數(shù)鏈的最后一個做比較,假如和 任何一個 pn 都不相等,我們再算 R(q)= c1,H(c1)=c2,再 比對 c2 是否等于 qn,如果是,那么 pn - 2 就可能是 p ;否則再 算 c3、c4 直到 cn - 1。 如果還找不到 p,就繼續(xù)尋找直到遍歷 所有的 p0pn 函數(shù)鏈。

如上所述,用一個 p0pn 對來存儲一個函數(shù)鏈的數(shù)據(jù),可以大大減小存儲的空間。但是這樣可能要做 n 次比對,時間很長,甚至幾天破解一個密碼也很正常。

4 彩虹表Hash Table的生成

彩虹表Hash Table 的生成效率很慢,加上需要根據(jù)預攻擊AP 的SSID 調(diào)整內(nèi)容,建立針對所有常見接入點,并采用簡單密碼的彩虹表Hash Table,其文件硬盤空間最少需要 1 G~3 G。生成彩虹表的工具有Ophcrack、rcracki_mt、Cain 等, 彩虹表函數(shù)鏈分割得越精確,破解成功率就越高,但是生成文件體積就越龐大,生成時間就越長。經(jīng)測試,4 核 4 GB 內(nèi)存的機器生成 2 GB 彩虹表,總共用了 8 天時間。

建立彩虹表還有其他相關(guān)問題,例如怎樣選擇合適的函數(shù) R,解決Hash 沖突,如何選擇 p0 來實現(xiàn)足夠的覆蓋,如何在有限資源下生成彩虹表等。

最小彩虹表是最基本的字母數(shù)字表,其大小為 388 MB, 這是 Ophcrack 啟動盤默認的表,該表可以在 11 分鐘內(nèi)破解所有長度為 14 位數(shù)字加字母密碼組合中的 99.9%。國內(nèi)有比較流行的傳說中的 120 G 的彩虹表,國外還有幾T 的海量彩虹表。

5 結(jié) 語

綜上所述,彩虹表Hash Table 雖然能夠顯著提高 WPA/ WPA2 的破解速度,但這些彩虹表都有其特定適用的密碼長度和字母組合,不存在能夠破解所有密碼的萬能彩虹表。WPA/WPA2 設(shè)置的密碼太長(如數(shù)十位),或者包含表中沒有的字符,那么用彩虹表就無法破解,這也是字典攻擊在密碼破解中普遍存在的局限性。


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉