我需要一些锻炼的帮助。我们被要求创建一个简单的软件来模拟一家处理病人数据的假公司遵守GDPR的情况。
这项工作本身要求我们创造:
不知道如何最好地执行第三部分。一个客户端上传一个文件,它应该被加密存储在服务器上。一个随机的第二个客户端下载该文件,它应该被解密。
我们的想法是把钥匙储存在两套。客户端软件持有密钥的一部分。该处设有第二部份。在对客户端进行身份验证之后,当需要使用GetKey()加密文件时,它会发送一个查询,比如SerializableSecureString ()。然后将该字符串直接读入客户机上的SecureString中。
但我不确定这是不是最好的方法。或者,如果更好的解决方案是对服务器上的文件进行加密/解密,将任何密钥存储在DPAPI中。这样做的缺点是,如果攻击者通过侵入rdp或其他类似tha的方式获取服务器,那么它就会立即获得所有文件。如果攻击者掌握了客户端计算机,则只能访问该用户文件和他/她可以访问的文件。
任何想法都将不胜感激。
发布于 2018-03-16 12:05:07
看看:https://aws.amazon.com/kms或https://azure.microsoft.com/en-us/services/key-vault/
这两种服务允许您将私钥存储在安全位置(AWS、Azure)。
https://stackoverflow.com/questions/49030477
复制相似问题