1
A
回答
1
那麼,你沒有太多的選擇。無論您將該密鑰(數據庫,代碼,文件)放在哪裏,只要其他人可以訪問該機器,就可以輕鬆找到該密鑰。
你可以做的是,你使用另一個密鑰加密該密鑰,該密鑰基於某個密碼(該密碼不存儲在任何地方,至少不是本地),並在應用程序啓動時要求密碼。這樣,您可以將加密的AES_ENCRYPT密鑰存儲到您的數據庫中,使用您的密碼登錄並解密,然後開始使用它。
1
如果您的網絡服務器遭到入侵,那麼攻擊者無論存儲在哪裏都可以訪問密鑰 - 因爲代碼必須能夠找到執行加密/解密的密鑰 - 並且代碼解釋了它在哪裏找到密鑰。這增加了真正價值的唯一場景是保護應用程序之外的數據(例如在備份磁帶上)。但是,由於您損害DBM優化查詢和創建更大數據佔用空間的能力,出於備份等目的,加密備份或文件系統更有意義 - 而不是單個數據項。
即使您使用的密鑰不是永久存儲在您的應用程序中(例如,通過SSL提供的HTTP基本身份驗證密碼),仍然存在很多數據會受到危害的風險 - 並且您遇到共享問題不同用戶之間的數據。
爲了提供一個合理的答案,我們需要知道威脅模型是什麼,以及你是否有外部制約因素,如PCI-DSS
相關問題
- 1. 存儲密鑰
- 2. 存儲密鑰
- 3. 解密存儲Java密鑰存儲
- 4. ECDSA密鑰存儲
- 5. 存儲AES密鑰
- 6. RSA加密,密鑰存儲
- 7. 加密密鑰存儲
- 8. 爪哇 - 如何存儲密鑰,密鑰存儲
- 9. Android的密鑰存儲提供商 - 如何存儲密鑰
- 10. Android密鑰存儲區存儲令牌
- 11. 本地存儲多個密鑰存儲
- 12. 對稱密鑰存儲
- 13. Android密鑰存儲文件
- 14. wso2密鑰存儲問題
- 15. 存儲Kerberos會話密鑰
- 16. AWS密鑰對存儲
- 17. 在Android上存儲密鑰
- 18. 何處存儲AES密鑰?
- 19. 存儲API密鑰5
- 20. 安全存儲AES密鑰
- 21. MySql AES_ENCRYPT 256加密
- 22. 上傳私鑰到rundeck密鑰存儲
- 23. AES加密和密鑰存儲?
- 24. 如何存儲加密密鑰.NET
- 25. oracle存儲過程加密密鑰
- 26. 如何使用Android密鑰存儲提供程序存儲密鑰
- 27. 使用存儲在Windows密鑰存儲區中的密鑰作爲OpenSSL中的預共享密鑰
- 28. 如何在Java密鑰庫中存儲Bouncy Castle PGP密鑰?
- 29. 如何設計/創建密鑰/值存儲的密鑰?
- 30. 導入現有的私有密鑰到密鑰存儲BKS
正確的。我傾向於維護一個兩級密鑰,其中一半存儲爲數據庫中的隨機值,另一半存儲在PHP腳本中。如果有人可以同時訪問PHP腳本和數據庫,那麼沒有其他任何事情可以做到。 – Ben
在數據庫中存儲一半數據是沒有意義的,就像有人可以訪問PHP一樣,他也可以訪問數據庫。 – mgutt