我的任务是在我们的网络服务器上研究我们收到的客户文件的加密。我们正在运行IIS7环境,当通过HTTPS从我们的客户端传输文件时,我们希望以加密方式将这些文件存储到磁盘。我是一名网络工程师,软件开发人员已经向我推荐了一个操作系统实现。我查看了BitLocker和EFS,但我不知道为什么或如何我需要这个,因为我们不关心从我们的安全数据中心窃取物理驱动器的人。在IIS7中,这在软件端会不会更容易?
答案 0 :(得分:1)
HTTPS将逐点加密数据。一旦它到达服务器(并且你正在存储它),它就是未加密的。
要进一步加密数据,您有几个选项:加密整个驱动器(BitLocker / EFS样式)或加密单个文件,在这种情况下(imho)最简单的解决方案将是简单地将文件存储在数据库中,并使用数据库的内置或您选择的编程语言API加密来加密和解密存储和检索文件。
加密整个驱动器的缺点是你会在生产服务器上失去性能 - 通常是一件坏事。
答案 1 :(得分:0)
.Net有一些很好的API用于加密文件。您可以使用AES-256(在.Net C#中称为Rijndael)来加密所有文件,然后再将它们存储在磁盘上。然后使用机器证书(C#中的X509Certficate2)中的RSA密钥加密AES密钥。将加密的AES密钥(以及初始化向量,如果使用CBC)与加密文件一起存储。
当您需要解密文件时,请使用计算机证书中的私钥解密AES密钥,然后使用该AES密钥解密文件的其余部分。
答案 2 :(得分:0)
选择范围很广: