0
我目前正在開發一個項目,我需要保留用戶的文件加密。我通過使用Java內置的密碼庫輕鬆實現了這一部分。從磁盤加載文件是通過從附件中讀取鹽,讓用戶輸入密碼,然後生成鹽和散列鍵,然後快速處理。但是,當將文件保存到磁盤時,會出現問題,因爲我需要在整個運行時將密鑰保存在內存中,或者每次將文件寫入磁盤時都要讓用戶輸入密碼。你會推薦什麼來保證我的應用程序儘可能安全。將密碼保存在內存中
我目前正在開發一個項目,我需要保留用戶的文件加密。我通過使用Java內置的密碼庫輕鬆實現了這一部分。從磁盤加載文件是通過從附件中讀取鹽,讓用戶輸入密碼,然後生成鹽和散列鍵,然後快速處理。但是,當將文件保存到磁盤時,會出現問題,因爲我需要在整個運行時將密鑰保存在內存中,或者每次將文件寫入磁盤時都要讓用戶輸入密碼。你會推薦什麼來保證我的應用程序儘可能安全。將密碼保存在內存中
爲了儘可能安全,您的用戶應該再次輸入密碼。但是,你真的需要看看用例,並決定你正在防範什麼。
例如,如果他們不得不再次輸入密碼,那麼他們更容易受到某人的肩膀衝浪或關鍵記錄等,但風險增加的風險很小。
保存在內存中的密碼僅容易受軟件運行的機器上已經運行的進程的影響。這又是一個相當小的風險,因爲它們可能更容易讓他們放置一個關鍵記錄器。
所以在這種情況下真正的主要風險因素是人。有人可以欺騙輸入密碼的人揭示它(即釣魚,假登錄提示,鍵盤記錄器,肩上衝浪)。減輕大多數風險是關於培訓,而不是關於技術問題。
太多人認爲技術上的銀彈可以解決所有的安全問題。它確實不行,一個系統只能像最薄弱的環節一樣安全,你需要考慮一個大的圖像和小的圖像。
記住每次加密任何東西時都要生成新的鹽。 – ntoskrnl