介紹
在IEEE 802.11i規範中,TKIP: Temporal Key Integrity Protocol(暫時密鑰集成協定)負責處理無線安全問題的加密部分。TKIP在設計時考慮了當時非常苛刻的限制因素:必須在現有硬體上運行,因此不能使用計算先進的加密算法。
說明
TKIP是包裹在已有WEP密碼外圍的一層“外殼”。TKIP由WEP使用的同樣的加密引擎和RC4算法組成。不過,TKIP中密碼使用的密鑰長度為128位。這解決了WEP的第一個問題:過短的密鑰長度。
TKIP的一個重要特性,是它變化每個數據包所使用的密鑰。這就是它名稱中“動態”的出處。密鑰通過將多種因素混合在一起生成,包括基本密鑰(即TKIP中所謂的成對瞬時密鑰)、發射站的MAC地址以及數據包的序列號。混合操作在設計上將對無線站和接入點的要求減少到最低程度,但仍具有足夠的密碼強度,使它不能被輕易破譯。
利用TKIP傳送的每一個數據包都具有獨有的48位序列號,這個序列號在每次傳送新數據包時遞增,並被用作初始化向量和密鑰的一部分。將序列號加到密鑰中,確保了每個數據包使用不同的密鑰。這解決了WEP的另一個問題,即所謂的“碰撞攻擊”。這種攻擊發生在兩個不同數據包使用同樣的密鑰時。在使用不同的密鑰時,不會出現碰撞。
以數據包序列號作為初始化向量,還解決了另一個WEP問題,即所謂的“重放攻擊(replay attacks)”。由於48位序列號需要數千年時間才會出現重複,因此沒有人可以重放來自無線連線的老數據包:由於序列號不正確,這些數據包將作為失序包被檢測出來。
被混合到TKIP密鑰中的最重要因素是基本密鑰。如果沒有一種生成獨特的基本密鑰的方法,TKIP儘管可以解決許多WEP存在的問題,但卻不能解決最糟糕的問題:所有人都在無線區域網路上不斷重複使用一個眾所周知的密鑰。為了解決這個問題,TKIP生成混合到每個包密鑰中的基本密鑰。無線站每次與接入點建立聯繫時,就生成一個新基本密鑰。這個基本密鑰通過將特定的會話內容與用接入點和無線站生成的一些隨機數以及接入點和無線站的MAC地址進行散列處理來產生。由於採用802.1x認證,這個會話內容是特定的,而且由認證伺服器安全地傳送給無線站。