客户端2客户端文件加密

时间:2018-02-28 13:14:34

标签: c# .net file encryption

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

练习本身要求我们创建:

  1. 安全数据库(已完成,始终加密)
  2. 安全通信(完成,SSL和可靠会话)
  3. 在服务器上存储加密数据的方法
  4. 不确定如何最好地继续第三部分。一个客户端上传文件,应该在服务器上加密存储。一个随机的第二个客户端下载该文件,它应该被解密。

    我们的想法是将密钥存储在两组中。客户端软件包含密钥的一部分。该处负责第二部分。在对客户端进行身份验证后,当需要使用SerializableSecureString对文件进行加密/解密时,它会发送一个查询来说出GetKey()。 然后将该字符串直接读入客户端的SecureString。

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

    非常感谢任何想法。

1 个答案:

答案 0 :(得分:0)

查看:https://aws.amazon.com/kmshttps://azure.microsoft.com/en-us/services/key-vault/

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