題:
XTS vs AES-CBC和ESSIV用於基於文件的文件系統加密
Naftuli Kay
2014-07-28 22:18:20 UTC
view on stackexchange narkive permalink

我最近在一篇博客文章中讀到了“ You Do n't Want XTS”,作者解釋了使用XTS加密文件系統的一些陷阱。特別是,他建議不要在XTS中對基於文件的磁盤進行加密時在Dropbox等服務上共享基於文件的加密文件系統。

由於TrueCrypt提供了一種相當容易的方法來創建基於文件的加密文件系統,因此過去,當我需要在拇指驅動器或Internet上的文件系統中進行傳輸時,可以使用它來確保事物的安全。

看到dm-crypt默認使用帶有ESSIV的AES-CBC而不是XTS,它是否像TrueCrypt在XTS中一樣遭受相同的漏洞?

一 回答:
Tom Leek
2014-07-28 23:23:27 UTC
view on stackexchange narkive permalink

在攻擊者可以觀察到加密磁盤的連續版本的情況下,對XTS的批評是有意義的(即,攻擊者偷了您的筆記本電腦,製作了整個磁盤的映像,然後將筆記本電腦放回包中,一無所獲;他明天,後天再做一次,依此類推...)。使用XTS時,每個16字節的塊都會自己加密,因此攻擊者可能會注意到同一加密塊的兩個連續版本(硬盤的同一扇區內的相同16字節塊)何時包含相同的數據。這可能允許進行流量分析。如果攻擊者處於活動狀態,則他可以放回任何塊的舊版本,並且可以獨立地對所有塊進行恢復。

使用CBC + ESSIV,每個扇區都有其自己的IV,因此我們的重複攻擊者可以注意到新的扇區版本開始時,其塊順序與先前版本相同。 CBC是這樣的:如果一個扇區中的兩個明文塊在某個點不同,則該扇區中的其餘塊將分開。從這個意義上講,與XTS相比,攻擊者進行CBC + ESSIV流量分析的能力有所降低。例如,如果給定扇區的兩個版本對第13個塊使用相同的明文值,則對於XTS而言,這將是顯而易見的,而對於CBC而言,情況並非如此(除非先前12個扇區的版本也保持不變)。

另一方面,活躍的攻擊者通常更喜歡CBC,因為他可以隨意更改一個塊中的位(前提是他不介意用不可控制的隨機垃圾替換前一個塊)。

因此,不,dm-crypt沒有與TrueCrypt完全相同的漏洞。設想的方案(重複竊聽同一磁盤,惡意更改...)不是全磁盤加密的主要目標;實際上,FDE是為“筆記本電腦被盜”的情況而設計的,在這種情況下,您永遠都無法取回它。兩種解決方案都不能很好地抵抗更加勤奮的攻擊者,但是它們不會以完全相同的方式失敗。

謝謝你的回答。但是如果是TL; DR,如果我想將加密的文件系統存儲在一個文件中,然後將其放在Dropbox上,該怎麼用?
如果僅將加密文件系統放置一次,則不會有問題。去做就對了。如果您隨後檢索文件系統,對其進行修改,然後將其放回Dropbox,則_Potential_漏洞開始出現:攻擊者可以看到連續的版本。您可以做的是獲取文件系統映像(不一定用任何東西加密),然後在上傳之前使用GnuPG對其進行加密,並在下載時對其進行解密。無論是針對被動還是主動的攻擊者,這都將更加強大。
希望有一種方法可以使文件系統寫入自動地加密到GPG文件內部的磁盤中。
GnuPG更好的加密來自以下事實:它以全新的隨機IV一次性處理了整個文件。 FDE的所有困難在於,它試圖支持有效的更新,其中僅對更新的數據塊進行重新加密。在“ Dropbox上文件”的情況下,加密應該在上載文件系統映像時真正發生,而不是針對每個寫入的文件。
我試圖考慮是否有一種方法可以將文件系統直接解密到內存中(不會太大),然後一旦完成就可以通過PGP直接對其進行加密...
您會在dm-crypt塊設備頂部使用btrfs或zfs scrub的驅動器上看到這種更改嗎?如果是這樣,那麼我認為這兩種模式都適用於光盤加密。


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...