Encryption

是否有未加密但已簽名的文件系統?

  • May 16, 2015

我很好奇是否有一個未加密的文件系統,使其任何人都可以讀取,但採用數字簽名方案以要求對寫入進行數字簽名。

我懷疑答案是“不,因為它會很複雜,而且可能比簡單地加密驅動器要慢”,但看起來很有趣。

兩個明顯的候選者是ZFSBtrfs,但據我所知,他們不這樣做。Btrfs 目前根本沒有加密(對於加密,您應該使用 LUKS,它提供加​​密和可選的塊級完整性,但不提供全域完整性)。ZFS 具有完整性模式它使用加密雜湊樹來確保文件系統保持一致。如果根雜湊被簽名,這將保證文件系統的真實性:對手無法注入虛假內容。這幾乎可以保證文件系統的完整性:如果沒有密鑰,攻擊者所能做的就是將文件系統回滾到早期版本。確保文件系統完整性的另一種方法是儲存根雜湊的離線副本;我找不到執行此操作的現有工具的參考。

Verifyfs是一個FUSE文件系統,它單獨驗證文件的簽名。據我快速閱讀(我在今天之前沒有聽說過)可以看出,它不會簽署目錄,嘗試防止回滾或驗證文件系統的一致性,因此攻擊者可以將單個文件降級到早期版本並且可以擦除文件。

為什麼加密如此普遍而完整性驗證如此罕見?我認為有幾個原因:完整性威脅比機密性威脅少一些,它們更難對付,完整性驗證的性能成本更高。

  • 加密可防止磁碟被盜。這幾乎是無處不在的威脅,一旦磁碟被盜,就沒有其他補救措施了。完整性驗證可防止在解除安裝儲存時訪問系統的對手(如果已安裝,完整性驗證密鑰在記憶體中)——邪惡的女僕攻擊。這很少對伺服器構成威脅,篡改通常是可以檢測到的,但它對筆記型電腦構成威脅。
  • 即使您確實設法通過加密手段保護您的磁碟免受惡意女僕攻擊,您的電腦仍然容易受到針對韌體的攻擊。PC 通常有幾個快閃記憶體可以在沒有加密保護的情況下重寫(包括磁碟本身的韌體)。
  • 完整性保護成本高昂,因為它是一項全球性財產。可以逐扇區進行加密,因此除非您的 CPU 非常慢且磁碟非常快,否則成本很小。如果您逐個扇區進行身份驗證,攻擊者仍然可以通過將某些扇區恢復為較早的值來部分破壞系統,儘管這是一種更複雜的攻擊,因為它可能需要在不同時間訪問系統。所以完整的真實性驗證需要將扇區的認證值與參考值進行比較,其真實性和新鮮度本身需要檢查等。

引用自:https://unix.stackexchange.com/questions/203713