2010-12-10 36 views
3

我們不得不擴展我們的網站以使用AES和256位密鑰將用戶憑證傳遞給供應商網站(在查詢字符串中),但他們使用的是靜態的靜態四,解密信息時。被建議在AES實施中使用相同的IV

我已經告知,IV不應該是靜態的,它是不是在我們標準,要做到這一點,但如果他們改變他們的最終我們會招致[大]成本,所以我們已經同意接受這是一種安全風險,並使用相同的IV(很讓我非常沮喪)。

我想知道的是,這有多大的安全威脅?我需要能夠有效地與管理層溝通,以便他們確切知道他們同意的內容。

* UPDATE: *我們也在使用相同的KEY。

感謝

+0

你可以使用鹽?如果你可以使用鹽,那麼我不會太擔心。 – Zippit 2010-12-10 12:37:32

+1

你可能想問一下http://security.stackexchange.com – 2010-12-10 12:38:27

+0

哦,我沒有意識到有安全交換,謝謝。 – Mantorok 2010-12-10 12:49:09

回答

2

使用靜態IV總是一個壞主意。使用靜態密鑰總是一個壞主意。我敢打賭,你的供應商已經將靜態密鑰編譯成二進制文件。

不幸的是,我以前見過這個。您的供應商要求他們實施加密,他們試圖以儘可能透明的方式實現加密 - 或者儘可能使用「複選框」。也就是說,他們沒有真正使用加密來提供安全性,他們正在使用它來滿足複選框要求。

我的建議是,你看看供應商是否願意放棄這種家庭釀造的加密方法,而是通過SSL運行他們的系統。然後,您將獲得使用具有已知屬性的質量標準安全協議的優勢。從您的問題中可以清楚地看出,您的供應商和您都不應該嘗試設計安全協議。相反,您應該使用每個平臺上免費且可用的軟件。

+0

你的意思是使用SSL來進行加密/解密嗎? – Mantorok 2010-12-15 10:22:04

+0

是的。顯然,供應商不希望與加密有任何關係。如果這是一個基於網絡的客戶端/服務器程序,那麼您可以將整個東西包裝在SSL中,並且您將獲得所需的安全級別。如果你想在休息時使用加密數據---那麼這是一個更復雜的問題。 – vy32 2010-12-15 15:15:54

+0

那麼,從一個站點到另一個站點的通信總是通過SSL進行,但是因爲數據被重定向到供應商站點,所以它仍然可以被用戶解釋並且隨後被破解。或者我錯過了你的觀點? – Mantorok 2010-12-16 10:08:53

0

據我知道(我希望別人會糾正我,如果我錯了/用戶將驗證這一點),你通過保持靜態密鑰和IV失去安全的顯著量。您應該注意的最重要的影響是,當您加密特定的明文(如usernameA + passwordB)時,每次都會得到相同的密文。

這是偉大的攻擊者模式分析,並且似乎是一個密碼當量,會給攻擊者的鑰匙王國:

  • 格局分析:攻擊者可以看到加密的用戶+密碼在CEO離職前每天晚上都會使用組合「gobbbledygook」。然後,攻擊者可以利用這些信息進入未來,以遠程檢測CEO何時離開。

  • 等效密碼:您​​在URL中傳遞此用戶名和密碼。爲什麼其他人無法傳遞完全相同的價值並得到相同的結果?如果可以的話,加密的數據是一個明文等價物,用於獲取訪問權限,從而破壞加密數據的目的。

+0

我同意。它看起來像是重播攻擊是可能的 – CodesInChaos 2010-12-10 20:46:24

3

使用靜態IV總是一個壞主意,但確切的後果取決於所使用的Mode of Operation。在所有這些文本中,相同的明文將產生相同的密文,但可能存在其他漏洞:例如,在CFB模式下,給定靜態密鑰,攻擊者可以從已知明文中提取密文流,並使用它來解密所有後續字符串!

0

我想知道的是,這有多大的安全威脅?我需要能夠有效地與管理層溝通,以便他們確切知道他們同意的內容。

一個很好的例子是重新使用同一個隨機數是索尼與Geohot(不同的算法,雖然)。你可以看到索尼的結果:)點。使用相同的IV可能會有輕微或災難性的問題,具體取決於您使用的AES加密模式。如果你使用CTR模式,那麼你加密的所有東西都和明文一樣好。在CBC模式下,對於相同的加密數據,第一個明文塊將是相同的。