日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

WPA/WPA2安全认证加密原理详解

發布時間:2025/4/5 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WPA/WPA2安全认证加密原理详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.??WPA加密版本介紹

WPA加密算法的的兩個版本介紹

WPA = 802.1x + EAP + TKIP +MIC

= Pre-shared Key + TKIP + MIC

802.11i(WPA2)

= 802.1x + EAP + AES + CCMP

= Pre-shared Key + AES + CCMP

l??802.1x + EAP,Pre-shared Key是身份校驗算法(WEP沒有設置有身份驗證機制)

l??TKIP和AES是數據傳輸加密算法(類似于WEP加密的RC4 算法)

l??MIC和CCMP數據完整性編碼校驗算法(類似于WEP中CRC32算法)

2.??WPA 認證方式

802.1x + EAP (工業級的,安全要求高的地方用。需要認證服務器)

Pre-shared Key (家庭用的,用在安全要求低的地方。不需要服務器)

EAP 擴展認真協議,是一種架構。而不是定義了算法。常見的有LEAP,MD5,TTLS,

TLS,PEAP,SRP,SIM,AKA 其中的TLS 和TTLS 是雙向認證模式。這個和網絡銀行的

安全方式差不多。這個認證方式是不怕網絡劫持和字典攻擊的。而md5 是單向認證的。不

抗網絡劫持,中間人攻擊。關于企業級的如何破解就不討論了。因為論壇上也很少提到。本

身EAP模式是個協議,不是算法。

3.??WPA-PSK

論壇上破解WPA 也主要是集中在這個模式上的。我們都知道破解WPA-PSK 不是和

WEP一樣抓很多包就能破解的。關鍵是要獲取握手包,這個握手包叫4way-handshake 四次

握手包。那么我們就從這個四次握手包開始。

4.??四次握手

通信過程如下

3.4.1 WPA-PSK 初始化工作

使用 SSID 和passphares使用以下算法產生PSK 在WPA-PSK 中

PSK=PMK=pdkdf2_SHA1(passphrase,SSID,SSID length,4096)

3.4.2 第一次握手

AP廣播SSID,AP_MAC(AA)→STATION

STATION 端

使用接受到的SSID,AP_MAC(AA)和passphares使用同樣算法產生PSK

PSK=PMK=pdkdf2_SHA1(passphrase,SSID,SSID length,4096)

3.4.3 第二次握手

STATION 發送一個隨機數SNonce,STATION_MAC(SA)→AP

AP端

接受到SNonce,STATION_MAC(SA)后產生一個隨機數ANonce

然后用PMK,AP_MAC(AA),STATION_MAC(SA),SNonce,ANonce 用以下算法產生PTK

PTK=SHA1_PRF(PMK, Len(PMK),"Pairwise key expansion",MIN(AA,SA) ||Max(AA,SA) || Min(ANonce,SNonce) || Max(ANonce,SNonce))

MIC Key=PTK前16個字節

提取這個PTK 前16 個字節組成一個MIC KEY

3.4.4 第三次握手

AP發送上面產生的ANonce→STATION

STATION 端

用接收到ANonce 和以前產生PMK,SNonce,AP_MAC(AA),STATION_MAC(SA)用同樣的算法產生PTK。提取這個PTK 前16 個字節組成一個MICKEY使用以下算法產生MIC值用這個MIC KEY 和一個802.1x data 數據幀使用以下算法得到MIC值

MIC = HMAC_MD5(MIC Key,16,802.1x data)

3.4.5 第四次握手

STATION 發送802.1x data ,MIC→AP

STATION 端

用上面那個準備好的802.1x 數據幀在最后填充上MIC值和兩個字節的0(十六進制)讓后發送這個數據幀到AP。

AP端

收到這個數據幀后提取這個MIC。并把這個數據幀的MIC部分都填上0(十六進制)這時用這個802.1xdata 數據幀,和用上面AP產生的MIC KEY 使用同樣的算法得出MIC’。如果MIC’等于STATION發送過來的MIC。那么第四次握手成功。若不等說明則AP 和STATION 的密鑰不相同,或STATION 發過來的數據幀受到過中間人攻擊,原數據被篡改過。握手失敗了。

5.??MIC的派生過程

l??PSK=PMK=pdkdf2_SHA1(passphrase, SSID, SSID length,4096)

l??PTK=SHA1_PRF(PMK, Len(PMK),"Pairwise key expansion",MIN(AA,SA) || Max(AA,SA) || Min(ANonce,SNonce) || Max(ANonce,SNonce))

l??MIC KEY=提取PTK 的前16 個字節

l??MIC = HMAC_MD5(MIC Key,16,802.1x data)

6.??AP和STATION 之間的加密通信

?

(有待補充)

?

7.??WPA安全規則

針對于WEP的安全漏洞WPA 也相應更新了安全規則:

A. 增強至48bit的IV。

B.Sequence Counter,防止IV重復。

C.Dynamic key management,動態key管理機制。

D.Per-Packet Key加密機制,每個包都使用不同的key加密。

E.MIC (Message IntegrityCode )<Michael>,信息編碼完整性機制。

解說:動態key管理機制

在通訊期間:

如果偵測到MIC錯誤,將會執行如下程序。

記錄并登錄MIC錯誤,60 秒內發生兩次MIC錯誤。

反制措施會立即停止所有的TKIP通訊。

然后更新數據加密的用的TEK。

8.???WPA 安全機制作用

a. 加密通信流程圖、Per-PacketKey 加密機制、動態key 管理機制使得使用類似于WEP中分析子密碼攻擊的方案,在WPA 中將變得異常困難,和不可實現。

b. 身份驗證機制杜絕了-1fakeauth count attack mode,建立偽連的攻擊。

c. 增強至48bit 的IV、防止IV 重復、MIC 信息編碼完整性機制。使得要偽造一個合法數據包變得異常的困難。同時也致使-2 Interactive,-4 Chopchop,5 Fragment 此類攻擊對于WPA 無效。

解說:

a. 雖然TKIP使用的是和WEP一樣的加密算法RC4,但是TKIP中使用Per-Packet Key加密機制配合RC4。這樣彌補了RC4 加密算法的不足。抵抗基于RC4 漏洞的攻擊。WPA2 中的AES比TKIP有更高的安全性,對他的破解難度就更高了。

b. 使用非線性的MIC信息編碼完整性算法,取代線性的CRC-32。增加了攻擊者偽造合法數據的難度。

9.??針對WPA的破解攻擊

a)??抓取數據傳輸包進行破解

上面已經明確的指出無論數據傳輸算法是TKIP還是AES。使用類似于WEP中捕獲數據包進行分析破解的方式對于WPA幾乎是不可能的。

b)??抓取WPA-PSK 的四次握手包進行破解

可以說 WPA-PSK 安全體系是十分完善的。但他始終是用一個密碼保護的。對于這種用密碼保護的安全體系。一般情況下我們都可以用一種叫字典攻擊的常規攻擊手段。所以針對WPA-PSK 可以進行的直接攻擊,目前就只有字典攻擊這一種方式。而這種常規的攻擊方式將在字典攻擊里詳細討論。當然我們WPA-PSK 的設計者也很明確這點,所以在WPA-PSK 的安全體系中加入了潛規則加以對抗。這點將在攻擊預算里做詳細的討論。在WPA-PSK 的四次握手包中包含著和密碼有聯系的信息,依靠這個信息進行字典攻擊。

c)??斷線攻擊

由于 WPA-PSK 是單向認證的。所以可以使用-0 Deautenticate攻擊。這樣有助于我們獲取握手包。在獲得握手包時-0 攻擊不要太多,否則適得其反的。有些AP幾次握手不成就會認為有攻擊。禁止客戶端和AP的鏈接30秒。(可能基于WPA EAP TLS 這樣雙向認證的就不怕斷線攻擊了)

10. WPA的竊聽

WP-PSK 沒有密碼幾乎沒法竊聽他的通信。在有了密碼的情況下WPA 的竊聽也不具有WEP 中竊聽的隨意性。在WPA 中SNonce,ANonce 也很好的起到了加密數據防止竊聽的作用,所以作為攻擊者我們必須從握手開始竊聽。而且會同步更替數據加密密鑰。所以WPA-PSK 的安全性都依賴于密碼。

11. 字典攻擊

a)??尋找可以攻擊的信息元素

字典攻擊作為一種常用的攻擊手段要明白的是從那里開始攻擊。要尋找和密碼有有聯系的信息元素。在WPA中和密碼有聯系的信息有數據的傳送包和四次握手包。由于無法知道明文,和WPA的數據加密算法的復雜性。在數據傳輸包上要找到可以攻擊的信息元素基本上很難實現。所以只能在握手包里尋找有密碼有聯系的信息。在上面的四次握手包的圖片中很清楚的表明,在四川握手中主要傳遞的有如下數據:SSID,AP_MAC,STATION_MAC,SNonce,ANonce,802.1xdata,MIC。前面6 個元素很清楚,一般不會和密碼有聯系的。只有最后一個MIC和密碼有所聯系。通過MIC的派生圖我們知道,MIC是通過上面六個信息元素和密碼通過三個主要的算法派生出來的。那么我們是不是只要找到這三個算法的逆反算法就可以根據上面的7 個信息元素把密碼計算出來了呢。的確實這樣。但是這三個算法有一個共同的名字叫HASH 函數。

b)??HASH 函數

HASH 函數是不可能從生產的散列值來唯一的確定輸入值。

l??單向性(one-way)。HASH 函數是沒有反函數的。

l??抗沖突性(collision-resistant)。要尋找兩個hash值相同的原值十分困難。

l??映射分布均勻性和差分分布均勻性。不像普通函數那樣數值分布有一定規律。

c)??HMAC(HASH Message Authentication Code)哈希消息校驗算法

pdkdf2_SHA1,SHA1_PRF,HMAC_MD5是HMAC算法。不是HASH 函數。HMAC算法就是用一個密碼,和一個消息。最后生成一個HASH值。由上面的介紹,我們可以看出,HMAC算法更象是一種加密算法,它引入了密鑰,其安全性已經不完全依賴于所使用的HASH 算法。所以上面對HASH 的攻擊,對于HMAC 是沒有效果的。HMAC 特別是象“挑戰/響應”身份認證應用中,由于攻擊者無法事先獲得HMAC 的計算結果,對系統的攻擊只能使用窮舉或“生日攻擊”的方法,但計算量巨大,基本不可行。所以,在目前的計算能力下,可以認為HMAC算法在“挑戰/響應”身份認證應用中是安全的。

HMAC算法

  定義

  定義HMAC需要一個加密用散列函數(表示為H,可以是MD5或者SHA-1)和一個密鑰K。我們用B來表示數據塊的字節數。(以上所提到的散列函數的分割數據塊字長B=64),用L來表示散列函數的輸出數據字節數(MD5中L=16,SHA-1中L=20)。鑒別密鑰的長度可以是小于等于數據塊字長的任何正整數值。應用程序中使用的密鑰長度若是比B大,則首先用使用散列函數H作用于它,然后用H輸出的L長度字符串作為在HMAC中實際使用的密鑰。一般情況下,推薦的最小密鑰K長度是L個字節。我們將定義兩個固定且不同的字符串ipad,opad:(‘i','o'標志內部與外部)

 ipad = the byte 0x36 重復 B 次

 opad = the byte 0x5C 重復 B 次.

 計算‘text'的HMAC:

 HMAC =???H( K XOR opad, H(K XOR ipad, text))

即為以下步驟:

(1) 在密鑰K后面添加0來創建一個字長為B的字符串。(例如,如果K的字長是20字節,B=64字節,則K后會加入44個零字節0x00)

(2) 將上一步生成的B字長的字符串與ipad做異或運算。

(3) 將數據流text填充至第二步的結果字符串中。

(4) 用H作用于第三步生成的數據流。

(5) 將第一步生成的B字長字符串與opad做異或運算。

(6) 再將第四步的結果填充進第五步的結果中。

(7) 用H作用于第六步生成的數據流,輸出最終結果

d)??四次握手包

有上面的HMAC 的特性我們也不難得出SSID,AP_MAC,STATION_MAC,SNonce,ANonce,802.1x data,這些信息元素都是上面的HMAC算法里的消息。HMAC算法里的密碼在pdkdf2_SHA1 算法里是WPA 的密碼,在SHA1_PRF 算法里是PMK,在HMAC_MD5算法里是PTK。最后才得出MIC值。由于這些消息和這個MIC值都有關聯性。所以四次握手吧的后面三次是缺一不可的。而且是有時效性的。不能把不是同一次的握手包拼起來使用的。當然第一次握手包的SSID 和AP-MAC是可以后獲取的。這里你也明白了四次握手中根本是不是在傳遞一個簡單的HASH 值。而是要傳遞一個HMAC 值。如果是傳遞一個簡單的HASH 值,那么我們只要獲取后重播這個值就可以欺騙AP 獲得認證了。都不要知道這個HASH 值對應的原值。但我的這么好的想法被HMAC給打破了。

e)??面向于四次握手包的字典攻擊。

字典攻擊,就是把密碼的可能性羅列起來組成一個密碼字典。然后把字典里的密碼和SSID,AP_MAC,STATION_MAC,SNonce,ANonce,802.1x data,這些信息元素。通過pdkdf2_SHA1,SHA1_PRF,HMAC_MD5 這些算法最后生成MIC’(具體過程看上面MIC派生圖)。當在字典里找到一個密碼他的MIC’等于握手包中的MIC。這時字典破解成功。這就是我們要的那個密碼。如果把字典里的所有密碼都找遍了還有沒有符合上述條件的。那么破解失敗。

12. ?WPA-PSK 密碼規范和可能的密碼空間

a)??HEX 模式

64 個的十六進制數字。

b)??ASCII模式

密碼至少8位最大不能超過63位。字符要求a~z,A~Z,任意字符包括空格。所以一共可是使用的字符個數為95 個。
————————————————
版權聲明:本文為CSDN博主「B08514」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/B08514/article/details/17553439

總結

以上是生活随笔為你收集整理的WPA/WPA2安全认证加密原理详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。