第三章 相關研究
3.4 串流加密(S TREAM C IPHER )
Delay (2) 19.6 9.2 5.1 4.7 2.6 1.2 0.7 0.3
Deauth flooding attack 47.7 43.2 39.1 37.7 38.0 37.8 37.7 37.9
Disassoc flooding attack 44.9 44.3 39.4 37.9 38.1 37.9 38.0 37.7
Delay (3) 9.3 4.8 0.7 -0.8 -0.5 -0.7 -0.8 -0.6
(4)SND(Sequence Number Deviation)防禦機制有缺陷
(5)隨機位元串的同步演算法 Duration RBN
3.4.1 虛擬亂數產生器 (Pseudorandom Number Generator)
在密碼學或網路安全中,大部分是使用虛擬亂數產生器來產生亂數。這些虛 擬亂數是經過一個明確的(Deterministic)演算法過程而產生的,所產生的數字 串在統計上並不是隨機且不可預測的。但是只要所使用的演算法夠好,其所產生 的虛擬亂數通過很多數學測試[16](Full Period、統計分佈、效能),就可以用在 密碼學上(至少有一定的安全度)。最被廣泛使用的虛擬亂數產生器是 Lehmer[18]
所提出的線性同餘法(Linear Congruential Method)演算法,此方程式有四個參 數:a、b、m 與 Rk-1,如下方程式所示:
只要適當地選取 a,b 與 m(例如:a 為 16807,b 為 0,m 為 231 - 1),則 可以通過[16][17]中的安全測試。如表 4 所示,表中的 a,b 與 m 為經過測試的適 當選擇,就可以讓 PRNG 產生很大週期。
3.4.2 加密串流的產生
在[20]中提出一個簡單且有效的 SPRiNG 協定,其利用 Lehmer 所提的虛擬 亂數產生器來動態產生金鑰流(Keystream),以改善 WEP 中重覆使用同一把金 鑰產生金鑰流的缺點。
原本 WEP 中是利用固定的金鑰與初始向量結合,之後在輸入到RC4 演算 法中,得出用來加密的金鑰流,如圖 14。但是如前所述,WEP的缺點就是因 為重覆使用金鑰與初始向量,所以[20]利用虛擬亂數產生器(線性同餘)的輸出 與 RC4 演算法結合,以動態地產生金鑰流與資料加密。如此就可改善 WEP 中金 鑰與初始向量重複的缺點,如圖 15。
雖然有很多其它的機制[21][22][23]提出如何改善 WEP,但是因為無線工作 站的能力有限,所以必須要考量到硬體以及電力的問題。SPRiNG 因為簡單,所 以可以在任何的無線裝置上面有效地執行,而且提供比 WEP 強的安全度。
圖 14 仜色框框為 WEP 容易遭受破解主因(重複使用金鑰)
圖 15 仜色框框為[20]所改善 WEP 缺點之處
SPRiNG 的安全性取決於虛擬亂數產生器與 RC4 演算法。我們假設虛擬亂 數產生器中的 a、b 與 m 是公開的,雖然只要其中一個 Rk洩漏出去,整個隨機 序列就會被攻擊者知道了,但是 Rk的資訊隱藏在 RC4 演算法後面,攻擊者很 難分析出來。如果要絕對地評估 SPRiNG 的安全性,唯一的方式就是證明 RC4 是難以逆推的函數[24],所以 SPRiNG 在不僅在安全性上比 WEP 要強的許多(因 為虛擬亂數產生器的輸出序列期間比初始向量長,所以可以動態地產生加密 流),也較有效率。
圖 16 SPRiNG 安全分析圖
在本研究中隨機位元串的產生就是透過 SPRiNG 的想法產生的,如圖 16 所
示,以便動態地產生我們需要的驗證隨機位元串。這樣的方式不僅安全,且效率 亦很理想。不過我們會在第四章做一些變更,讓隨機位元串的產生更安全更適我 們的系統(Lightweight),其餘細節部份我們留在第四章,4.2.3 節驗證隨機位元 串產生器中討論。