Linux
非對稱加密文件系統
我正在處理一些受特定法規約束並且必須以特定方式處理的數據。
我發現由於系統按預期執行,這些數據最終出現在我的一些日誌文件中。我想找到一種方法在接收該數據的伺服器上記錄消息,但這樣做的方式是數據在寫入磁碟時被加密,並且可能不會被同一台伺服器解密。
我的想法是應該有一個文件系統(寫成 FUSE 系統或其他東西 - 我正在使用 Linux)將目錄結構公開為明文,但根據非對稱密鑰集的一半寫入文件的內容。這將允許我記錄消息並將它們排隊發送到解密密鑰所在的日誌伺服器。
非對稱加密的低效(CPU 方面)性質可能使這不可行,但我懷疑可能有解決方案。我在搜尋中還沒有找到任何東西;是否有可以以所述方式執行的解決方案?感謝您的任何提示!
我建議您在應用程序層中執行此操作。
在這種情況下,然後將執行緒移動到 StackOverflow,但是,我的答案將是大約:
- 對大量數據(即任何地方)使用非對稱加密的正常方法是使用它來加密隨機選擇的密鑰,然後使用對稱密碼來加密其餘數據
- 這是因為對稱密碼要快得多,並且通常可以做更多你想做的事情
我將其設計成日誌文件以塊的形式寫入,其中包含一個包含使用非對稱密碼加密的密鑰的標頭,然後使用對稱密碼加密一定數量的數據。
因此,例如,您可以將 AES / CBC 用於日誌數據本身,這將非常快(而且還有很多實現)。
然後每隔一段時間,您的應用程序就會丟棄密鑰並啟動一個新的“塊” - 一旦密鑰從記憶體中消失,它就無法再解密前一個塊。
因此,您可以使用(例如)RSA 加密(使用公鑰)一個塊的對稱密鑰,該對稱密鑰將安全地隨機選擇該塊。然後,對稱密鑰會在記憶體中保留一段時間,直到塊結束,然後將其清除。
支持這一點的文件系統的用處有限,因為您只能將其掛載為只寫或只讀;作業系統通常不理解只寫文件系統的概念:)