tim*_*tom 5 java security spring
我有使用 java spring 实现的 Web 应用程序。基本上应用程序中的每个用户都可以存储一些关键信息。一旦用户输入该数据,它应该被持久化。是否有任何标准方法来存储该安全信息。我可以想到以下位置来存储该信息
1) In database
2) On Webserver as different files for each user. We can encrypt data in those files using some key.
Run Code Online (Sandbox Code Playgroud)
我更喜欢将网络服务器作为每个用户的文件。但我有以下问题:
1) Where can we store those files on webserver
2) How can we restrict access to those files?
3) Is there something available in spring to achieve this?
4) What kind of encryption library I can use to achieve this. And where I can store key for each user.
5) How we can sync those files on multiple instances. Is there some standard library for this also?
Run Code Online (Sandbox Code Playgroud)
我不熟悉 Spring,但我最近从事安全文件存储方面的工作,所以我可以说:
将文件存储在数据库中的优点如下:如果攻击者到达您的服务器,那么他将无法获取文件,他将必须找到数据库密码。
对于足够强大的身份验证方法,您必须向您的用户询问以下 3 个问题中的 2 个问题:
不够安全?让我们快速讨论一下文件加密......
对于库,我不知道(抱歉),但对于加密方法,请保持简单:使用众所周知且高效的算法,如 RSA、AES 或 Triple DES。
如何处理加密?
以下是我与朋友就文件加密和密钥存储进行对话的结果:
存储:
客户端必须加密文件。然后,他将密钥和文件名(或文件 ID)发送到服务器 ( server1),并将加密文件发送到另一服务器 ( server2)
下载:
客户端从 中获取加密文件server2,读取文件名(或文件 ID)并从中获取正确的密钥server1,以便他可以解密该文件。
最好的办法是通过双因素身份验证(3 个问题中的 2 个问题)来保护 2 个服务器(1和2),但这可能会破坏用户的体验。
希望它能有所帮助,
| 归档时间: |
|
| 查看次数: |
143 次 |
| 最近记录: |