客户端 2 客户端文件加密



我需要一些练习方面的帮助。我们被要求为一家处理患者数据的假公司创建一个简单的软件来模拟GDPR合规性。

练习本身要求我们创建:

  1. 安全数据库(已完成,始终加密)
  2. 安全通信(完成,SSL和可靠会话)
  3. 一种在服务器上存储加密数据的方法

不确定如何最好地进行第三部分。一个客户端上传一个文件,它应该加密存储在服务器上。随机的第二个客户端下载该文件,该文件应被解密。

我们的想法是将密钥存储在两组中。客户端软件保存密钥的一部分。该服务拥有第二部分。在客户端通过身份验证后,当它需要使用 SerializableSecureString 对文件进行加密/解加密时,它会发送一个查询来表示 GetKey()。 然后,该字符串将直接读入客户端上的安全字符串。

但我不确定这是否是最好的方法。或者,如果更好的解决方案是加密/解密服务器上的文件,将任何密钥存储在 DPAPI 中。 这样做的缺点是,如果攻击者通过入侵rdp或类似的东西来控制服务器,它会立即获得所有文件。 如果攻击者掌握了客户端计算机,则它只能访问该用户文件以及他/她可以访问的文件。

任何想法将不胜感激。

看看:https://aws.amazon.com/kms 还是 https://azure.microsoft.com/en-us/services/key-vault/

像这两个服务允许您将私钥存储在安全的位置(AWS,Azure)。

最新更新