1.請分析WEP協(xié)議中IV的作用和由于IV引發(fā)的安全缺陷。
首先我們來看WEP協(xié)議中IV的作用。
WEP基于RC4算法,而RC4算法作為流密碼加密算法,用RC4加密的數(shù)據(jù)丟失會導(dǎo)致加解密失步從而導(dǎo)致后面的數(shù)據(jù)丟失,WEP需要在每幀重新初始化密鑰流,所以引入初始向量IⅣ。WEP使用IV和密鑰級聯(lián)作為種子產(chǎn)生密鑰流通過IV的變化產(chǎn)生Per-Package密鑰。為了接收方同步產(chǎn)生密鑰流,IV必須以明文形式傳送。
密鑰和初始化向量一起生成PRNG的種子,PRNG輸出一個密鑰序列,之后作用于明文狀態(tài)的MPDU,生成密文,和IV組合作為WEP的幀傳輸。值得一提的是,IV是作為幀體的前四個字節(jié)明文發(fā)送的。
同時,IV也造成了很大的安全缺陷:
1.弱密鑰問題
RC4算法的密鑰空間存在大量的弱密鑰,在使用這些密鑰作為種子時,RC4輸出的偽隨機序列存在一定的規(guī)律,即種子的前面幾位很大程度上決定了輸出的偽隨機序列前面一部分比特位。WEP只是簡單的級聯(lián)IV和密鑰形成種子,可是它暴露了Per-Package密鑰的前3個字節(jié)。而幀頭為802.2的頭信息,所以可以確定密鑰是否為弱密鑰,收集足夠多的弱密鑰即可恢復(fù)密碼。正常上使用過程中只需要11s的時間。
2.靜態(tài)共享密鑰和IV空間問題
因為IEEE 802.11中沒有密鑰管理的辦法,使用靜態(tài)共享密鑰。這里對于IV的使用沒有任何的規(guī)定,各個節(jié)點之間的IV可能發(fā)生沖突;比較繁忙的網(wǎng)絡(luò)中,因為IV的空間為2的24次方,不長時間內(nèi)會發(fā)生重復(fù)。這種情況下,容易發(fā)生相同IV攻擊和IV重放攻擊,對WEP安全造成威脅。相同IV攻擊是指通過竊聽捕獲需要的密文,如果知道其中一個明文,可以立即知道另一個明文。重放攻擊是指,通過Internet向工作站發(fā)送給定明文,監(jiān)聽密文并組合竊聽和篡改數(shù)據(jù)攻擊,周而復(fù)始得到IV對應(yīng)的密鑰流。
2.請描述EAP-TLS過程(需要查資料)。
- 申請者首先通過客戶端軟件向認(rèn)證方發(fā)送一個EAPoL-Start報文,開始802.1x接入的開始。
- 認(rèn)證方向申請者發(fā)送EAP-Request/Identity請求幀,要求提供身份標(biāo)識。
- 申請者接收到認(rèn)證方的請求后,向其發(fā)送EAP-Response/Identity響應(yīng)幀,提供身份標(biāo)識。
- 認(rèn)證方將EAP-Response/Identity響應(yīng)幀封裝成RADIUS Access-Request幀發(fā)給認(rèn)證服務(wù)器。
- 認(rèn)證服務(wù)器通過用戶身份標(biāo)識檢索認(rèn)證數(shù)據(jù)庫,獲知采用TLS認(rèn)證機制。通過向申請者發(fā)送封裝EAP-Request/EAP-TLS/TLS-Start的Access-Challenge消息,啟動TLS認(rèn)證過程,等待進行TLS認(rèn)證。
- 認(rèn)證方向申請者發(fā)送EAP-Request/EAP-TLS/TLS-Start。
- 申請者收到EAP-Request/EAP-TLS/TLS-Start消息后,通過認(rèn)證方發(fā)送EAP-Response/EAP-TLS/Client-Hello消息給服務(wù)器。這個消息里面包含了自己可實現(xiàn)的算法列表、Client Random Value和其它一些需要的信息。
- 認(rèn)證方將EAP-Response/EAP-TLS/Client-Hello響應(yīng)幀封裝成RADIUS Access-Request幀發(fā)給認(rèn)證服務(wù)器。
- 認(rèn)證服務(wù)器接收到EAP-Response/EAP-TLS/Client-Hello后,確定TLS認(rèn)證已建立,并通過封裝包含多個TLS記錄的EAP-Response/EAP-TLS消息的Access-Challenge消息經(jīng)過認(rèn)證方發(fā)送給申請者。TLS記錄中包含認(rèn)證服務(wù)器的數(shù)字證書Server-Certificate、申請者數(shù)字證書請求Client Certificate-Request、Sever-Hello和Server Key-Exchange消息用于用交換密鑰過程。Server Hello,確定了這次通信所需要的算法和Server Random Value。
- 認(rèn)證方向申請者發(fā)送EAP-Request/EAP-TLS/Sever-Hello,Server-Certificate,Server Key-Exchange,Client Certificate-Request。
- 申請者校驗服務(wù)器的數(shù)字證書Server-Certificate,如果合法,向認(rèn)證服務(wù)器發(fā)送Client-Cert、Client Key-Exchange、Change Cipher-spec和Finished消息。Client-Cert為申請者的數(shù)字證書、Client Key-Exchange為使用認(rèn)證服務(wù)器的公鑰加密的定長隨機串,也叫Pre Master Secert, Change Cipher-spec為申請者能夠支持的加密類型。
- 認(rèn)證方將EAP-Response/EAP-TLS/Client-Cert,Client Key-Exchange,Change Cipher-spec,F(xiàn)inished響應(yīng)幀封裝成RADIUS Access-Request幀發(fā)給認(rèn)證服務(wù)器。
- 認(rèn)證服務(wù)器校驗申請者的證書Client-Certificate,如果合法,然后回復(fù)申請者以Change Cipher-spec和Finished消息,Change Cipher-spec包含了認(rèn)證服務(wù)器指定使用的加密類型。
- 認(rèn)證方向申請者發(fā)送EAP-Request/EAP-TLS/Change Cipher-spec,F(xiàn)inished。
- 申請者受到Finished消息后,給服務(wù)器一個響應(yīng)EAP-Response/EAP-TLS/TLS-ACK,F(xiàn)inished。
- 認(rèn)證方將EAP-Response/EAP-TLS/TLS-ACK,F(xiàn)inished響應(yīng)幀封裝成RADIUS Access-Request幀發(fā)給認(rèn)證服務(wù)器。
- RADlUS服務(wù)器和Client都推導(dǎo)出主密鑰MK(Master Key)。認(rèn)證服務(wù)器收到TLS-ACK包后,發(fā)送Access-Accept給AP發(fā)送,其中包括主密鑰MK并指示成功的認(rèn)證。
- 認(rèn)證方向申請者發(fā)送EAP-Success。此時完成EAP-TLS認(rèn)證流程。
3.請比較CCMP和WRAP協(xié)議。
1.兩者密碼工作模式不同
802.11中配合AES使用的加密模式CCM和OCB,并在這兩種模式的基礎(chǔ)上構(gòu)造了CCMP和WRAP密碼協(xié)議。CCMP 機制基于AES(AdvancedEncryptionStandard)加密算法和CCM(Counter-Mode/CBC-MAC)認(rèn)證方式,使得WLAN安全程度大大提高,是實現(xiàn)RSN的強制性要求。由于AES對硬件要求比較高,CCMP無法通過在現(xiàn)有設(shè)備的基礎(chǔ)上升級實現(xiàn)。WRAP機制則是基于AES加密算法和OCB(OffsetCodebook) 。WRAP是基于128位的AES在OCB(offset CodeBook)模式下使用,OCB模式通過使用同一個密鑰對數(shù)據(jù)的一次處理,同時提供了加密和數(shù)據(jù)完整性檢測。
2.PDU結(jié)構(gòu)差異
WRAP PDU結(jié)構(gòu)
CCMP PDU結(jié)構(gòu)
CCMP-128擴展了原始的MPDU 16個字節(jié),8個是CCMP頭,另外8個是MIC。CCMP頭由PN,ExtIV以及Key ID組成。
3.加密過程差異
CCMP
CCMP加密流程可以描述如下:
a. PN遞增
b. 根據(jù)MPDU的MAC header構(gòu)造AAD。
c. 構(gòu)造Nonce。由PN,A2以及priority構(gòu)造。A2是MPDU Address 2。
d. PN和key id放入CCMP header
e. TK,AAD,nonce,MPDU做CCM算法,得到加密的data和MIC。
f. MAC header,CCMP header以及加密的data、MIC組裝得到CCMP MPDU。
WRAP
a. 構(gòu)造OCB模式Nonce,同時Replay Counter增加 2來防止在同一密鑰下的Nonce重用,b. 從AP到STA 的包使用奇Replay Counter,STA到AP則使用偶 Replay Counter
b. 使用AES密鑰和Nonce,進行OCB模式加密數(shù)據(jù), 將OCB模式的MIC截為64位
c. 把Replay Counter插入頭部和它的加密數(shù)據(jù)之間
4.解密過程差異
CCMP
(1)加密后的MPDU被分解成構(gòu)造AAD(additional authentication data)和Nonce值;
(2)AAD由加密的MPDU中的MPDU Header形成;
(3)Nonce值由MPDU Header中的地址2(A2)、擴展CCMPHeader中的PN值、Priority值(保留值為0)生成;
(4)MIC被抽取出用來做CCM完整性檢查;
(5)使用臨時密鑰(TK)、AAD、Nonce、MIC以及MPDU密文數(shù)據(jù)基于CCM算法恢復(fù)MPDU的原文,同時對AAD和恢復(fù)出的MPDU原文做完整性檢查;
(6)連接接收到的MPDU Header以及恢復(fù)出的MPDU數(shù)據(jù)原文形成完整的MPDU;
(7)整個解密過程通過效驗MPDU中的PN值是否比在維持會話過程中的Replay Counter值大而達到阻止重傳的MPDU
WRAP文章來源:http://www.zghlxwxcb.cn/news/detail-437010.html
(1)根據(jù)發(fā)送、接收的MAC地址和Key ID選擇Key。
(2)數(shù)據(jù)長度至少為15字節(jié),包括3字節(jié)的LLC頭和12字節(jié)的AES頭。否則,丟棄該數(shù)據(jù)單元。
(3)計算該數(shù)據(jù)單元加密的總塊數(shù)。
(4)從接收包中提取Replay Counter,判斷序號是否是重復(fù)的,如果是則丟棄。
(5)構(gòu)造Nonce,用AES密鑰OCB模式解密數(shù)據(jù)單元,然后OCB-tag校驗正確得到明文,否則包被篡改,丟棄。文章來源地址http://www.zghlxwxcb.cn/news/detail-437010.html
到了這里,關(guān)于無線通信安全作業(yè)4的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!